diff --git a/Android.mk b/Android.mk
deleted file mode 100644
index 888404c..0000000
--- a/Android.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
-
diff --git a/OWNERS b/OWNERS
index 3818b1d..1859b9e 100644
--- a/OWNERS
+++ b/OWNERS
@@ -5,3 +5,5 @@
 danalbert@google.com
 rprichard@google.com
 yabinc@google.com
+
+per-file docs/mte.md=eugenis@google.com,fmayer@google.com,pcc@google.com
diff --git a/README.md b/README.md
index 8d8e583..953e983 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,11 @@
-# bionic
+# bionic maintainer overview
 
 [bionic](https://en.wikipedia.org/wiki/Bionic_(software)) is Android's
 C library, math library, and dynamic linker.
 
-# Using bionic as an app developer
-
-See the [user documentation](docs/).
-
-# Working on bionic itself
-
-This documentation is about making changes to bionic itself.
+This document is a high-level overview of making changes to bionic itself.
+If you're trying to _use_ bionic, or want more in-depth information about
+some part of the implementation, see [all the bionic documentation](docs/).
 
 ## What are the big pieces of bionic?
 
@@ -48,7 +44,9 @@
 #### tests/ --- unit tests
 
 The `tests/` directory contains unit tests. Roughly arranged as one file per
-publicly-exported header file.
+publicly-exported header file. `tests/headers/` contains compile-only tests
+that just check that things are _in_ the headers, whereas the "real" tests
+check actual _behavior_.
 
 #### benchmarks/ --- benchmarks
 
@@ -83,12 +81,29 @@
     # files written by us and files taken from BSD.
 
   kernel/
-    # The kernel uapi header files. These are scrubbed copies of the originals
-    # in external/kernel-headers/. These files must not be edited directly. The
-    # generate_uapi_headers.sh script should be used to go from a kernel tree to
-    # external/kernel-headers/ --- this takes care of the architecture-specific
-    # details. The update_all.py script should be used to regenerate bionic's
-    # scrubbed headers from external/kernel-headers/.
+    # The kernel uapi header files. The "libc" headers that developers actually
+    # use are a mixture of headers provided by the C library itself (which,
+    # for bionic, are in bionic/libc/include/) and headers provided by the
+    # kernel. This is because ISO C and POSIX will say things like "there is
+    # a constant called PROT_NONE" or "there is a type called struct stat,
+    # and it contains a field called st_size", but they won't necessarily say
+    # what _value_ that constant has, or what _order_ the fields in a type
+    # are in. Those are left to individual kernels' ABIs. In an effort to --
+    # amongst other things, see https://lwn.net/Articles/507794/ for more
+    # background -- reduce copy & paste, the Linux kernel makes all the types
+    # and constants that make up the "userspace API" (uapi) available as
+    # headers separate from their internal-use headers (which contain all kinds
+    # of extra stuff that isn't available to userspace). We import the latest
+    # released kernel's uapi headers in external/kernel-headers/, but we don't
+    # use those headers directly in bionic. The bionic/libc/kernel/ directory
+    # contains scrubbed copies of the originals from external/kernel-headers/.
+    # The generate_uapi_headers.sh script should be used to go from a kernel
+    # tree to external/kernel-headers/ --- this takes care of the
+    # architecture-specific details. The update_all.py script should then be
+    # used to regenerate bionic's copy from external/kernel-headers/.
+    # The files in bionic must not be edited directly because any local changes
+    # will be overwritten by the next update. "Updating kernel header files"
+    # below has more information on this process.
 
   private/
     # These are private header files meant for use within bionic itself.
@@ -99,10 +114,18 @@
   upstream-freebsd/
   upstream-netbsd/
   upstream-openbsd/
-    # These directories contain unmolested upstream source. Any time we can
-    # just use a BSD implementation of something unmodified, we should.
-    # The structure under these directories mimics the upstream tree,
-    # but there's also...
+    # These directories contain upstream source with no local changes.
+    # Any time we can just use a BSD implementation of something unmodified,
+    # we should. Ideally these should probably have been three separate git
+    # projects in external/, but they're here instead mostly by historical
+    # accident (because it wouldn't have been easy to import just the tiny
+    # subset of these operating systems that -- unlike Android -- just have
+    # one huge repository rather than lots of little ones and a mechanism
+    # like our `repo` tool).
+    # The structure under these directories mimics the relevant upstream tree,
+    # but in order to actually be able to compile this code in our tree
+    # _without_ making modifications to the source files directly, we also
+    # have the following subdirectories in each one that aren't upstream:
     android/
       include/
         # This is where we keep the hacks necessary to build BSD source
@@ -132,9 +155,9 @@
   tzcode/
     # A modified superset of the IANA tzcode. Most of the modifications relate
     # to Android's use of a single file (with corresponding index) to contain
-    # time zone data.
+    # timezone data.
   zoneinfo/
-    # Android-format time zone data.
+    # Android-format timezone data.
     # See 'Updating tzdata' later.
 ```
 
@@ -154,7 +177,7 @@
 library that would make more sense as the place to add the wrapper.
 
 In all other cases, you should use
-[syscall(3)](http://man7.org/linux/man-pages/man2/syscall.2.html) instead.
+[syscall(3)](https://man7.org/linux/man-pages/man2/syscall.2.html) instead.
 
 Adding a system call usually involves:
 
@@ -286,14 +309,14 @@
 
 Note that if you're actually just trying to expose device-specific headers to
 build your device drivers, you shouldn't modify bionic. Instead use
-`TARGET_DEVICE_KERNEL_HEADERS` and friends described in [config.mk](https://android.googlesource.com/platform/build/+/master/core/config.mk#186).
+`TARGET_DEVICE_KERNEL_HEADERS` and friends described in [config.mk](https://android.googlesource.com/platform/build/+/main/core/config.mk#186).
 
 
 ## Updating tzdata
 
 This is handled by the libcore team, because they own icu, and that needs to be
 updated in sync with bionic). See
-[system/timezone/README.android](https://android.googlesource.com/platform/system/timezone/+/master/README.android).
+[system/timezone/README.android](https://android.googlesource.com/platform/system/timezone/+/main/README.android).
 
 
 ## Verifying changes
@@ -309,7 +332,9 @@
 
 ## Running the tests
 
-The tests are all built from the tests/ directory.
+The tests are all built from the tests/ directory. There is a separate
+directory `benchmarks/` containing benchmarks, and that has its own
+documentation on [running the benchmarks](benchmarks/README.md).
 
 ### Device tests
 
@@ -372,6 +397,19 @@
 
     $ ./tests/run-on-host.sh glibc
 
+### Against musl
+
+Another way to verify test behavior is to run against musl on the host. glibc
+musl don't always match, so this can be a good way to find the more complicated
+corners of the spec. If they *do* match, bionic probably should too!
+
+    $ OUT_DIR=$(ANDROID_BUILD_TOP)/musl-out ./tests/run-on-host.sh musl
+
+Note: the alternate OUT_DIR is used to avoid causing excessive rebuilding when
+switching between glibc and musl. The first musl test run will be expensive
+because it will not reuse any already built artifacts, but subsequent runs will
+be cheaper than if you hadn't used it.
+
 ## Gathering test coverage
 
 To get test coverage for bionic, use `//bionic/build/coverage.sh`. Before
diff --git a/TEST_MAPPING b/TEST_MAPPING
index f56e16a..e98c2ff 100644
--- a/TEST_MAPPING
+++ b/TEST_MAPPING
@@ -10,6 +10,9 @@
       "name": "linker-unit-tests"
     },
     {
+      "name": "CtsBionicAppTestCases"
+    },
+    {
       "name": "CtsBionicTestCases"
     },
     {
@@ -54,6 +57,9 @@
       "name": "linker-unit-tests"
     },
     {
+      "name": "CtsBionicAppTestCases"
+    },
+    {
       "name": "CtsBionicTestCases"
     },
     {
@@ -82,6 +88,12 @@
     },
     {
       "name": "toybox-tests"
+    },
+    {
+      "name": "hwasan_test"
+    },
+    {
+      "name": "hwasan_test_static"
     }
   ],
   "kernel-presubmit": [
diff --git a/android-changes-for-ndk-developers.md b/android-changes-for-ndk-developers.md
index 8ffd96f..e9cfbac 100644
--- a/android-changes-for-ndk-developers.md
+++ b/android-changes-for-ndk-developers.md
@@ -7,16 +7,13 @@
 behavior changes.
 
 See also the
-[unwinder documentation](https://android.googlesource.com/platform/system/unwinding/+/refs/heads/master/libunwindstack/AndroidVersions.md)
+[unwinder documentation](https://android.googlesource.com/platform/system/unwinding/+/refs/heads/main/libunwindstack/AndroidVersions.md)
 for details about changes in stack unwinding (crash dumps) between
 different releases.
 
-Required tools: the NDK has an _arch_-linux-android-readelf binary
-(e.g. arm-linux-androideabi-readelf or i686-linux-android-readelf)
-for each architecture (under toolchains/), but you can use readelf for
-any architecture, as we will be doing basic inspection only. On Linux
-you need to have the “binutils” package installed for readelf,
-and “pax-utils” for scanelf.
+Required tools: the NDK has an `llvm-readelf` binary that understands all the
+architecture-specific details of all Android's supported architectures. Recent
+versions of Android also have toybox readelf on the device.
 
 
 ## How we manage incompatible changes
@@ -38,42 +35,44 @@
 check logcat for warnings until their app stops functioning, so the
 toasts help bring some visibility to the issues before it's too late.
 
+
 ## Changes to library dependency resolution
 
 Until it was [fixed](https://issuetracker.google.com/36950617) in
-JB-MR2, Android didn't include the application library directory
+API level 18, Android didn't include the application library directory
 on the dynamic linker's search path. This meant that apps
 had to call `dlopen` or `System.loadLibrary` on all transitive
 dependencies before loading their main library. Worse, until it was
-[fixed](https://issuetracker.google.com/36935779) in JB-MR2, the
+[fixed](https://issuetracker.google.com/36935779) in API level 18, the
 dynamic linker's caching code cached failures too, so it was necessary
 to topologically sort your libraries and load them in reverse order.
 
-If you need to support Android devices running OS
-versions older than JB-MR2, you might want to consider
+If you need to support Android devices running OS versions older than
+API level 23, you might want to consider
 [ReLinker](https://github.com/KeepSafe/ReLinker) which claims to solve
-these problems automatically.
+these and other problems automatically.
 
 Alternatively, if you don't have too many dependencies, it can be easiest to
 simply link all of your code into one big library and sidestep the details of
 library and symbol lookup changes on all past (and future) Android versions.
 
+
 ## Changes to library search order
 
 We have made various fixes to library search order when resolving symbols.
 
-With API 22, load order switched from depth-first to breadth-first to
+With API level 22, load order switched from depth-first to breadth-first to
 fix dlsym(3).
 
-Before API 23, the default search order was to try the main executable,
+Before API level 23, the default search order was to try the main executable,
 LD_PRELOAD libraries, the library itself, and its DT_NEEDED libraries
-in that order. For API 23 and later, for any given library, the dynamic
+in that order. For API level 23 and later, for any given library, the dynamic
 linker divides other libraries into the global group and the local
 group. The global group is shared by all libraries and contains the main
 executable, LD_PRELOAD libraries, and any library with the DF_1_GLOBAL
 flag set (by passing “-z global” to ld(1)). The local group is
 the breadth-first transitive closure of the library and its DT_NEEDED
-libraries. The M dynamic linker searches the global group followed by
+libraries. The API level 23 dynamic linker searches the global group followed by
 the local group. This allows ASAN, for example, to ensure that it can
 intercept any symbol.
 
@@ -89,7 +88,7 @@
 ## RTLD_LOCAL (Available in API level >= 23)
 
 The dlopen(3) RTLD_LOCAL flag used to be ignored but is implemented
-correctly in API 23 and later. Note that RTLD_LOCAL is the default,
+correctly in API level 23 and later. Note that RTLD_LOCAL is the default,
 so even calls to dlopen(3) that didn’t explicitly use RTLD_LOCAL will
 be affected (unless they explicitly used RTLD_GLOBAL). With RTLD_LOCAL,
 symbols will not be made available to libraries loaded by later calls
@@ -98,10 +97,12 @@
 
 ## GNU hashes (Availible in API level >= 23)
 
-The GNU hash style available with --hash-style=gnu allows faster
-symbol lookup and is now supported by the dynamic linker in API 23 and
-above. (Use --hash-style=both if you want to build code that uses this
-feature >= Android M but still works on older releases.)
+The GNU hash style available with `--hash-style=gnu` allows faster
+symbol lookup and is supported by Android's dynamic linker in API level 23 and
+above. Use `--hash-style=both` if you want to build code that uses this
+feature in new enough releases but still works on older releases.
+If you're using the NDK, clang chooses the right option
+(automatically)[https://github.com/android/ndk/issues/2005].
 
 
 ## Correct soname/path handling (Available in API level >= 23)
@@ -146,8 +147,8 @@
 (on a 4096-byte boundary) in the zip file and stored uncompressed.
 Current versions of the zipalign tool take care of alignment.
 
-Note that in API level 23 and above dlopen(3) will open a library from
-any zip file, not just your APK. Just give dlopen(3) a path of the form
+Note that in API level 23 and above dlopen(3) can open a library from
+any zip file, not just an APK. Just give dlopen(3) a path of the form
 "my_zip_file.zip!/libs/libstuff.so". As with APKs, the library must be
 page-aligned and stored uncompressed for this to work.
 
@@ -155,34 +156,26 @@
 ## Private API (Enforced for API level >= 24)
 
 Native libraries must use only public API, and must not link against
-non-NDK platform libraries. Starting with API 24 this rule is enforced and
-applications are no longer able to load non-NDK platform libraries. The
-rule is enforced by the dynamic linker, so non-public libraries
+non-NDK platform libraries. On devices running API level 24 or later,
+this rule is enforced and applications are no longer able to load all
+non-NDK platform libraries. This was to prevent future issues similar
+to the disruption caused when Android switched from OpenSSL to BoringSSL
+at API level 23.
+
+The rule is enforced by the dynamic linker, so non-public libraries
 are not accessible regardless of the way code tries to load them:
-System.loadLibrary, DT_NEEDED entries, and direct calls to dlopen(3)
+System.loadLibrary(), DT_NEEDED entries, and direct calls to dlopen(3)
 will all work exactly the same.
 
-Users should have a consistent app experience across updates,
-and developers shouldn't have to make emergency app updates to
-handle platform changes. For that reason, we recommend against using
-private C/C++ symbols. Private symbols aren't tested as part of the
-Compatibility Test Suite (CTS) that all Android devices must pass. They
-may not exist, or they may behave differently. This makes apps that use
-them more likely to fail on specific devices, or on future releases ---
-as many developers found when Android 6.0 Marshmallow switched from
-OpenSSL to BoringSSL.
-
-In order to reduce the user impact of this transition, we've identified
-a set of libraries that see significant use from Google Play's
-most-installed apps, and that are feasible for us to support in the
+In order to reduce the user impact of this transition, we identified
+a set of libraries that saw significant use from Google Play's
+most-installed apps and were feasible for us to support in the
 short term (including libandroid_runtime.so, libcutils.so, libcrypto.so,
-and libssl.so). In order to give you more time to transition, we will
-temporarily support these libraries; so if you see a warning that means
-your code will not work in a future release -- please fix it now!
-
-Between O and R, this compatibility mode could be disabled by setting a
-system property (`debug.ld.greylist_disabled`). This property is ignored
-in S and later.
+and libssl.so). In order to give app developers more time to transition,
+we allowed access to these libraries for apps with a target API level < 24.
+On devices running API level 26 to API level 30, this compatibility mode could be
+disabled by setting a system property (`debug.ld.greylist_disabled`).
+This property is ignored on devices running API level 31 and later.
 
 ```
 $ readelf --dynamic libBroken.so | grep NEEDED
@@ -198,7 +191,7 @@
  0x00000001 (NEEDED)                     Shared library: [libc.so]
 ```
 
-*Potential problems*: starting from API 24 the dynamic linker will not
+*Potential problems*: starting from API level 24 the dynamic linker will not
 load private libraries, preventing the application from loading.
 
 *Resolution*: rewrite your native code to rely only on public API. As a
@@ -227,7 +220,7 @@
 information using widely-available tools.)
 
 ```
-$ readelf --header libBroken.so | grep 'section headers'
+$ readelf --headers libBroken.so | grep 'section headers'
   Start of section headers:          0 (bytes into file)
   Size of section headers:           0 (bytes)
   Number of section headers:         0
@@ -236,15 +229,16 @@
 *Resolution*: remove the extra steps from your build that strip section
 headers.
 
+
 ## Text Relocations (Enforced for API level >= 23)
 
-Starting with API 23, shared objects must not contain text
-relocations. That is, the code must be loaded as is and must not be
-modified. Such an approach reduces load time and improves security.
+Apps with a target API level >= 23 cannot load shared objects that contain text
+relocations. Such an approach reduces load time and improves security. This was
+only a change for 32-bit, because 64-bit never supported text relocations.
 
-The usual reason for text relocations is non-position independent
-hand-written assembler. This is not common. Use the scanelf tool as
-described in our documentation for further diagnostics:
+The usual reason for text relocations was non-position independent
+hand-written assembler. This is not common. You can use the scanelf tool
+from the pax-utils debian package for further diagnostics:
 
 ```
 $ scanelf -qT libTextRel.so
@@ -254,10 +248,10 @@
 ```
 
 If you have no scanelf tool available, it is possible to do a basic
-check with readelf instead, look for either a TEXTREL entry or the
+check with readelf instead. Look for either a TEXTREL entry or the
 TEXTREL flag. Either alone is sufficient. (The value corresponding to the
 TEXTREL entry is irrelevant and typically 0 --- simply the presence of
-the TEXTREL entry declares that the .so contains text relocations). This
+the TEXTREL entry declares that the .so contains text relocations.) This
 example has both indicators present:
 
 ```
@@ -274,9 +268,8 @@
 
 *Potential problems*: Relocations enforce code pages being writable, and
 wastefully increase the number of dirty pages in memory. The dynamic
-linker has issued warnings about text relocations since Android K
-(API 19), but on API 23 and above it refuses to load code with text
-relocations.
+linker issued warnings about text relocations from API level 19, but on API
+level 23 and above refuses to load code with text relocations.
 
 *Resolution*: rewrite assembler to be position independent to ensure
 no text relocations are necessary. The
@@ -294,9 +287,9 @@
 leaving the business of finding the library at runtime to the dynamic
 linker.
 
-Before API 23, Android's dynamic linker ignored the full path, and
+Before API level 23, Android's dynamic linker ignored the full path, and
 used only the basename (the part after the last ‘/') when looking
-up the required libraries. Since API 23 the runtime linker will honor
+up the required libraries. Since API level 23 the runtime linker will honor
 the DT_NEEDED exactly and so it won't be able to load the library if
 it is not present in that exact location on the device.
 
@@ -313,8 +306,8 @@
 [C:\Users\build\Android\ci\jni\libBroken.so]
 ```
 
-*Potential problems*: before API 23 the DT_NEEDED entry's basename was
-used, but starting from API 23 the Android runtime will try to load the
+*Potential problems*: before API level 23 the DT_NEEDED entry's basename was
+used, but starting from API level 23 the Android runtime will try to load the
 library using the path specified, and that path won't exist on the
 device. There are broken third-party toolchains/build systems that use
 a path on a build host instead of the SONAME.
@@ -348,16 +341,18 @@
 configured your build system to generate incorrect SONAME entries (using
 the `-soname` linker option).
 
+
 ## `__register_atfork` (Available in API level >= 23)
 
 To allow `atfork` and `pthread_atfork` handlers to be unregistered on
-`dlclose`, the implementation changed in API level 23. Unfortunately this
-requires a new libc function `__register_atfork`. Code using these functions
-that is built with a target API level >= 23 therefore will not load on earlier
-versions of Android, with an error referencing `__register_atfork`.
+`dlclose`, API level 23 added a new libc function `__register_atfork`.
+This means that code using `atfork` or `pthread_atfork` functions that is
+built with a `minSdkVersion` >= 23 will not load on earlier versions of
+Android, with an error referencing `__register_atfork`.
 
-*Resolution*: build your code with an NDK target API level that matches your
-app's minimum API level, or avoid using `atfork`/`pthread_atfork`.
+*Resolution*: build your code with `minSdkVersion` that matches the minimum
+API level you actually support, or avoid using `atfork`/`pthread_atfork`.
+
 
 ## DT_RUNPATH support (Available in API level >= 24)
 
@@ -387,6 +382,7 @@
 into your app. The middleware vendor is aware of the problem and has a fix
 available.
 
+
 ## Invalid ELF header/section headers (Enforced for API level >= 26)
 
 In API level 26 and above the dynamic linker checks more values in
@@ -401,9 +397,10 @@
 ELF files. Note that using them puts application under high risk of
 being incompatible with future versions of Android.
 
-## Enable logging of dlopen/dlsym and library loading errors for apps (Available in Android O)
 
-Starting with Android O it is possible to enable logging of dynamic
+## Enable logging of dlopen/dlsym and library loading errors for apps (Available for API level >= 26)
+
+On devices running API level 26 or later you can enable logging of dynamic
 linker activity for debuggable apps by setting a property corresponding
 to the fully-qualified name of the specific app:
 ```
@@ -427,12 +424,13 @@
 adb shell setprop debug.ld.all dlerror,dlopen
 ```
 
+
 ## dlclose interacts badly with thread local variables with non-trivial destructors
 
 Android allows `dlclose` to unload a library even if there are still
 thread-local variables with non-trivial destructors. This leads to
 crashes when a thread exits and attempts to call the destructor, the
-code for which has been unloaded (as in [issue 360], fixed in P).
+code for which has been unloaded (as in [issue 360], fixed in API level 28).
 
 [issue 360]: https://github.com/android-ndk/ndk/issues/360
 
@@ -440,18 +438,31 @@
 set (so that calls to `dlclose` don't actually unload the library)
 are possible workarounds.
 
-|                   | Pre-M                      | M+      | P+    |
+|                   | API level < 23             | >= 23   | >= 28 |
 | ----------------- | -------------------------- | ------- | ----- |
 | No workaround     | Works for static STL       | Broken  | Works |
 | `-Wl,-z,nodelete` | Works for static STL       | Works   | Works |
 | No `dlclose`      | Works                      | Works   | Works |
 
-## Use of IFUNC in libc (True for all API levels on devices running Q)
 
-Starting with Android Q (API level 29), libc uses
-[IFUNC](https://sourceware.org/glibc/wiki/GNU_IFUNC) functionality in
-the dynamic linker to choose optimized assembler routines at run time
-rather than at build time. This lets us use the same `libc.so` on all
+## ELF TLS (Available for API level >= 29)
+
+Android supports [ELF TLS](docs/elf-tls.md) starting at API level 29. Since
+NDK r26, clang will automatically enable ELF TLS for `minSdkVersion 29` or
+higher. Otherwise, the existing emutls implementation (which uses
+`pthread_key_create()` behind the scenes) will continue to be used. This
+means that convenient C/C++ thread-local syntax is available at any API level;
+at worst it will perform similarly to "roll your own" thread locals using
+`pthread_key_create()` but at best you'll get the performance benefit of
+ELF TLS, and the NDK will take care of the details.
+
+
+## Use of IFUNC in libc (True for all API levels on devices running Android 10)
+
+On devices running API level 29, libc uses
+[IFUNC](https://sourceware.org/glibc/wiki/GNU_IFUNC)
+functionality in the dynamic linker to choose optimized assembler routines at
+run time rather than at build time. This lets us use the same `libc.so` on all
 devices, and is similar to what other OSes already did. Because the zygote
 uses the C library, this decision is made long before we know what API
 level an app targets, so all code sees the new IFUNC-using C library.
@@ -460,6 +471,7 @@
 with IFUNC relocations. The affected functions are from `<string.h>`, but
 may expand to include more functions (and more libraries) in future.
 
+
 ## Relative relocations (RELR)
 
 Android added experimental support for RELR relative relocations
@@ -476,6 +488,36 @@
 OS private use constants for RELR, nor for ELF files using packed
 relocations.
 
+Prior to API level 35, there was a bug that caused RELR relocations to
+be applied after packed relocations. This meant that ifunc resolvers
+referenced by `R_*_IRELATIVE` relocations in the packed relocation
+section would have been able to read globals with RELR relocations
+before they were relocated. The version of `lld` in the NDK has never
+produced binaries affected by this bug, but third-party toolchains
+should make sure not to store `R_*_IRELATIVE` relocations in packed
+relocation sections in order to maintain compatibility with API levels
+below 35.
+
 You can read more about relative relocations
 and their long and complicated history at
 https://maskray.me/blog/2021-10-31-relative-relocations-and-relr.
+
+
+## No more sentinels in .preinit_array/.init_array/.fini_array sections of executables (in All API levels)
+
+In Android <= API level 34 and NDK <= r26, Android used sentinels in the
+`.preinit_array`/`.init_array`/`.fini_array` sections of executables to locate
+the start and end of these arrays. When building with LTO, the function pointers
+in the arrays can be reordered, making sentinels no longer work. This prevents
+constructors for global C++ variables from being called in static executables
+when using LTO.
+
+To fix this, in Android >= API level 35 and NDK >= r27, we removed sentinels
+and switched to using symbols inserted by LLD (like `__init_array_start`,
+`__init_array_end`) to locate the arrays. This also avoids the need for an
+empty section when there are no corresponding functions.
+
+For dynamic executables, we kept sentinel support in `crtbegin_dynamic.o` and
+`libc.so`. This ensures that executables built with newer `crtbegin_dynamic.o`
+(in NDK >= r27) work with older `libc.so` (in Android <= API level 34), and
+vice versa.
diff --git a/apex/Android.bp b/apex/Android.bp
index 6201ad1..d04907b 100644
--- a/apex/Android.bp
+++ b/apex/Android.bp
@@ -43,7 +43,10 @@
     ],
     arch: {
         arm64: {
-            native_shared_libs: ["libc_hwasan", "libclang_rt.hwasan"],
+            native_shared_libs: [
+                "libc_hwasan",
+                "libclang_rt.hwasan",
+            ],
         },
     },
     binaries: [
@@ -89,6 +92,7 @@
         "crtbegin_so",
         "crtend_android",
         "crtend_so",
+        "crt_pad_segment",
     ],
 }
 
diff --git a/benchmarks/Android.bp b/benchmarks/Android.bp
index 17d2d68..d1cdfec 100644
--- a/benchmarks/Android.bp
+++ b/benchmarks/Android.bp
@@ -15,6 +15,7 @@
 //
 
 package {
+    default_team: "trendy_team_native_tools_libraries",
     default_applicable_licenses: ["bionic_benchmarks_license"],
 }
 
@@ -57,6 +58,7 @@
         "stdio_benchmark.cpp",
         "stdlib_benchmark.cpp",
         "string_benchmark.cpp",
+        "syscall_mm_benchmark.cpp",
         "time_benchmark.cpp",
         "unistd_benchmark.cpp",
         "wctype_benchmark.cpp",
@@ -71,6 +73,7 @@
 
     target: {
         android: {
+            header_libs: ["bionic_libc_platform_headers"],
             static_libs: [
                 "libmeminfo",
                 "libprocinfo",
@@ -154,7 +157,13 @@
         "libbase",
         "libBionicBenchmarksUtils",
     ],
-    data: ["test_suites/*"],
+    data: [
+        "test_suites/*",
+        "suites/*",
+        ":bionic-benchmarks",
+    ],
+    test_suites: ["device-tests"],
+    require_root: true,
 }
 
 cc_binary {
diff --git a/benchmarks/NOTICE b/benchmarks/NOTICE
index e46a624..31a2570 100644
--- a/benchmarks/NOTICE
+++ b/benchmarks/NOTICE
@@ -206,3 +206,19 @@
 
 -------------------------------------------------------------------
 
+Copyright (C) 2023 The Android Open Source Project
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+-------------------------------------------------------------------
+
diff --git a/benchmarks/README.md b/benchmarks/README.md
index 1fd17a1..319db25 100644
--- a/benchmarks/README.md
+++ b/benchmarks/README.md
@@ -19,6 +19,12 @@
 By default, `bionic-benchmarks` runs all of the benchmarks in alphabetical order. Pass
 `--benchmark_filter=getpid` to run just the benchmarks with "getpid" in their name.
 
+Note that we also build _static_ benchmark binaries.
+They're useful for testing on devices running different versions of Android, or running non-Android OSes.
+Those binaries are called `bionic-benchmarks-static` instead.
+Copy from `out/target/product/<device>/symbols/data/benchmarktest64/bionic-benchmarks-static` instead of
+`out/target/product/<device>/data/benchmarktest64/bionic-benchmarks-static` if you want symbols for perf(1).
+
 ### Host benchmarks
 
 See the `benchmarks/run-on-host.sh` script. The host benchmarks can be run with 32-bit or 64-bit
@@ -183,6 +189,5 @@
 
 Some devices have a `perf-setup.sh` script that locks CPU and GPU frequencies. Some TradeFed
 benchmarks appear to be using the script. For more information:
- * run `get_build_var BOARD_PERFSETUP_SCRIPT`
- * run `m perf-setup` to install the script into `${OUT}/data/local/tmp/perf-setup.sh`
- * see: https://android.googlesource.com/platform/platform_testing/+/refs/heads/master/scripts/perf-setup/
+ * run `adb shell perf-setup.sh` to execute the script, it is already by default be installed on device for eng and userdebug build
+ * see: https://android.googlesource.com/platform/platform_testing/+/refs/heads/main/scripts/perf-setup/
diff --git a/benchmarks/ScopedDecayTimeRestorer.h b/benchmarks/ScopedDecayTimeRestorer.h
new file mode 100644
index 0000000..5835b43
--- /dev/null
+++ b/benchmarks/ScopedDecayTimeRestorer.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#pragma once
+
+#include <malloc.h>
+
+#if defined(__BIONIC__)
+
+#include "platform/bionic/malloc.h"
+
+class ScopedDecayTimeRestorer {
+ public:
+  ScopedDecayTimeRestorer() {
+    bool value;
+    if (android_mallopt(M_GET_DECAY_TIME_ENABLED, &value, sizeof(value))) {
+      saved_value_ = value ? 1 : 0;
+    }
+  }
+
+  virtual ~ScopedDecayTimeRestorer() { mallopt(M_DECAY_TIME, saved_value_); }
+
+ private:
+  int saved_value_ = 0;
+};
+
+#endif
diff --git a/benchmarks/TEST_MAPPING b/benchmarks/TEST_MAPPING
new file mode 100644
index 0000000..1864b2b
--- /dev/null
+++ b/benchmarks/TEST_MAPPING
@@ -0,0 +1,7 @@
+{
+  "presubmit": [
+    {
+      "name": "bionic-benchmarks-tests"
+    }
+  ]
+}
diff --git a/benchmarks/atomic_benchmark.cpp b/benchmarks/atomic_benchmark.cpp
index ea008d4..e3a6fb2 100644
--- a/benchmarks/atomic_benchmark.cpp
+++ b/benchmarks/atomic_benchmark.cpp
@@ -37,7 +37,9 @@
 // We assume that the compiler is not smart enough to optimize away fences in a single-threaded
 // program. If that changes, we'll need to add a second thread.
 
+// We increment the counter this way to avoid -Wdeprecated-volatile warnings.
 static volatile unsigned counter;
+#define INC_COUNTER() counter = counter + 1
 
 std::atomic<int> test_loc(0);
 
@@ -47,7 +49,7 @@
 
 void BM_atomic_empty(benchmark::State& state) {
   while (state.KeepRunning()) {
-    ++counter;
+    INC_COUNTER();
   }
 }
 BIONIC_BENCHMARK(BM_atomic_empty);
@@ -56,7 +58,7 @@
   unsigned result = 0;
   while (state.KeepRunning()) {
     result += test_loc.load(std::memory_order_relaxed);
-    ++counter;
+    INC_COUNTER();
   }
   sink = result;
 }
@@ -66,7 +68,7 @@
   unsigned result = 0;
   while (state.KeepRunning()) {
     result += test_loc.load(std::memory_order_acquire);
-    ++counter;
+    INC_COUNTER();
   }
   sink = result;
 }
@@ -76,7 +78,7 @@
   int i = counter;
   while (state.KeepRunning()) {
     test_loc.store(++i, std::memory_order_release);
-    ++counter;
+    INC_COUNTER();
   }
 }
 BIONIC_BENCHMARK(BM_atomic_store_release);
@@ -85,7 +87,7 @@
   int i = counter;
   while (state.KeepRunning()) {
     test_loc.store(++i, std::memory_order_seq_cst);
-    ++counter;
+    INC_COUNTER();
   }
 }
 BIONIC_BENCHMARK(BM_atomic_store_seq_cst);
@@ -94,7 +96,7 @@
   unsigned result = 0;
   while (state.KeepRunning()) {
     result += test_loc.fetch_add(1, std::memory_order_relaxed);
-    ++counter;
+    INC_COUNTER();
   }
   sink = result;
 }
@@ -104,7 +106,7 @@
   unsigned result = 0;
   while (state.KeepRunning()) {
     result += test_loc.fetch_add(1, std::memory_order_seq_cst);
-    ++counter;
+    INC_COUNTER();
   }
   sink = result;
 }
@@ -118,7 +120,7 @@
   while (state.KeepRunning()) {
     result += test_loc.load(std::memory_order_relaxed);
     std::atomic_thread_fence(std::memory_order_acquire);
-    ++counter;
+    INC_COUNTER();
   }
   sink = result;
 }
@@ -129,7 +131,7 @@
   while (state.KeepRunning()) {
     result += test_loc.load(std::memory_order_relaxed);
     std::atomic_thread_fence(std::memory_order_seq_cst);
-    ++counter;
+    INC_COUNTER();
   }
   sink = result;
 }
@@ -142,7 +144,8 @@
   while (state.KeepRunning()) {
     {
       std::lock_guard<std::mutex> _(mtx);
-      result += ++counter;
+      INC_COUNTER();
+      result += counter;
     }
   }
   sink = result;
diff --git a/benchmarks/bionic_benchmarks.cpp b/benchmarks/bionic_benchmarks.cpp
index 187ee76..b88c6e5 100644
--- a/benchmarks/bionic_benchmarks.cpp
+++ b/benchmarks/bionic_benchmarks.cpp
@@ -336,23 +336,43 @@
     return to_populate;
   }
 
-  to_populate->push_back(std::vector<int64_t>());
-  std::stringstream sstream(args);
-  std::string argstr;
-  while (sstream >> argstr) {
-    char* check_null;
-    int converted = static_cast<int>(strtol(argstr.c_str(), &check_null, 10));
-    if (*check_null) {
-      errx(1, "ERROR: Args str %s contains an invalid macro or int.", args.c_str());
+  std::string trimmed_args = android::base::Trim(args);
+  if (!trimmed_args.empty()) {
+    std::stringstream sstream(trimmed_args);
+    std::string argstr;
+    while (sstream >> argstr) {
+      char* check_null;
+      int converted = static_cast<int>(strtol(argstr.c_str(), &check_null, 10));
+      if (*check_null == '\0') {
+        to_populate->emplace_back(std::vector<int64_t>{converted});
+        continue;
+      } else if (*check_null == '/') {
+        // The only supported format with a / is \d+(/\d+)\s*. Example 8/8/8 or 16/23.
+        std::vector<int64_t> test_args{converted};
+        while (true) {
+          converted = static_cast<int>(strtol(check_null + 1, &check_null, 10));
+          test_args.push_back(converted);
+          if (*check_null == '\0') {
+            to_populate->emplace_back(std::move(test_args));
+            break;
+          } else if (*check_null != '/') {
+            errx(1, "ERROR: Args str %s contains an invalid macro or int.", args.c_str());
+          }
+        }
+      } else {
+        errx(1, "ERROR: Args str %s contains an invalid macro or int.", args.c_str());
+      }
     }
-    (*to_populate)[0].push_back(converted);
+  } else {
+    // No arguments, only the base benchmark.
+    to_populate->emplace_back(std::vector<int64_t>{});
   }
   return to_populate;
 }
 
 void RegisterGoogleBenchmarks(bench_opts_t primary_opts, bench_opts_t secondary_opts,
                               const std::string& fn_name, args_vector_t* run_args) {
-  if (g_str_to_func.find(fn_name) == g_str_to_func.end()) {
+  if (!g_str_to_func.contains(fn_name)) {
     errx(1, "ERROR: No benchmark for function %s", fn_name.c_str());
   }
   long iterations_to_use = primary_opts.num_iterations ? primary_opts.num_iterations :
@@ -501,31 +521,41 @@
   all_sizes.insert(all_sizes.end(), kMediumSizes.begin(), kMediumSizes.end());
   all_sizes.insert(all_sizes.end(), kLargeSizes.begin(), kLargeSizes.end());
 
-  std::map<std::string, args_vector_t> args_shorthand {
-    {"AT_COMMON_SIZES", GetArgs(kCommonSizes)},
-    {"AT_SMALL_SIZES", GetArgs(kSmallSizes)},
-    {"AT_MEDIUM_SIZES", GetArgs(kMediumSizes)},
-    {"AT_LARGE_SIZES", GetArgs(kLargeSizes)},
-    {"AT_ALL_SIZES", GetArgs(all_sizes)},
+  int page_sz = getpagesize();
+  std::vector<int> sub_page_sizes = {page_sz / 2, page_sz / 4, page_sz / 8};
+  std::vector<int> multi_page_sizes = {page_sz,      page_sz * 2,  page_sz * 3,  page_sz * 10,
+                                       page_sz * 25, page_sz * 50, page_sz * 75, page_sz * 100};
+  std::vector<int> all_page_sizes(sub_page_sizes);
+  all_page_sizes.insert(all_page_sizes.end(), multi_page_sizes.begin(), multi_page_sizes.end());
 
-    {"AT_ALIGNED_ONEBUF", GetArgs(kCommonSizes, 0)},
-    {"AT_ALIGNED_ONEBUF_SMALL", GetArgs(kSmallSizes, 0)},
-    {"AT_ALIGNED_ONEBUF_MEDIUM", GetArgs(kMediumSizes, 0)},
-    {"AT_ALIGNED_ONEBUF_LARGE", GetArgs(kLargeSizes, 0)},
-    {"AT_ALIGNED_ONEBUF_ALL", GetArgs(all_sizes, 0)},
+  std::map<std::string, args_vector_t> args_shorthand{
+      {"AT_COMMON_SIZES", GetArgs(kCommonSizes)},
+      {"AT_SMALL_SIZES", GetArgs(kSmallSizes)},
+      {"AT_MEDIUM_SIZES", GetArgs(kMediumSizes)},
+      {"AT_LARGE_SIZES", GetArgs(kLargeSizes)},
+      {"AT_ALL_SIZES", GetArgs(all_sizes)},
+      {"AT_SUB_PAGE_SIZES", GetArgs(sub_page_sizes)},
+      {"AT_MULTI_PAGE_SIZES", GetArgs(multi_page_sizes)},
+      {"AT_ALL_PAGE_SIZES", GetArgs(all_page_sizes)},
 
-    {"AT_ALIGNED_TWOBUF", GetArgs(kCommonSizes, 0, 0)},
-    {"AT_ALIGNED_TWOBUF_SMALL", GetArgs(kSmallSizes, 0, 0)},
-    {"AT_ALIGNED_TWOBUF_MEDIUM", GetArgs(kMediumSizes, 0, 0)},
-    {"AT_ALIGNED_TWOBUF_LARGE", GetArgs(kLargeSizes, 0, 0)},
-    {"AT_ALIGNED_TWOBUF_ALL", GetArgs(all_sizes, 0, 0)},
+      {"AT_ALIGNED_ONEBUF", GetArgs(kCommonSizes, 0)},
+      {"AT_ALIGNED_ONEBUF_SMALL", GetArgs(kSmallSizes, 0)},
+      {"AT_ALIGNED_ONEBUF_MEDIUM", GetArgs(kMediumSizes, 0)},
+      {"AT_ALIGNED_ONEBUF_LARGE", GetArgs(kLargeSizes, 0)},
+      {"AT_ALIGNED_ONEBUF_ALL", GetArgs(all_sizes, 0)},
 
-    // Do not exceed 512. that is about the largest number of properties
-    // that can be created with the current property area size.
-    {"NUM_PROPS", args_vector_t{ {1}, {4}, {16}, {64}, {128}, {256}, {512} }},
+      {"AT_ALIGNED_TWOBUF", GetArgs(kCommonSizes, 0, 0)},
+      {"AT_ALIGNED_TWOBUF_SMALL", GetArgs(kSmallSizes, 0, 0)},
+      {"AT_ALIGNED_TWOBUF_MEDIUM", GetArgs(kMediumSizes, 0, 0)},
+      {"AT_ALIGNED_TWOBUF_LARGE", GetArgs(kLargeSizes, 0, 0)},
+      {"AT_ALIGNED_TWOBUF_ALL", GetArgs(all_sizes, 0, 0)},
 
-    {"MATH_COMMON", args_vector_t{ {0}, {1}, {2}, {3} }},
-    {"MATH_SINCOS_COMMON", args_vector_t{ {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7} }},
+      // Do not exceed 512. that is about the largest number of properties
+      // that can be created with the current property area size.
+      {"NUM_PROPS", args_vector_t{{1}, {4}, {16}, {64}, {128}, {256}, {512}}},
+
+      {"MATH_COMMON", args_vector_t{{0}, {1}, {2}, {3}}},
+      {"MATH_SINCOS_COMMON", args_vector_t{{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}}},
   };
 
   args_vector_t args_onebuf;
diff --git a/benchmarks/ctype_benchmark.cpp b/benchmarks/ctype_benchmark.cpp
index eab0133..b162ea7 100644
--- a/benchmarks/ctype_benchmark.cpp
+++ b/benchmarks/ctype_benchmark.cpp
@@ -16,68 +16,47 @@
 
 #include <ctype.h>
 
+#include <array>
+#include <numeric>
+#include <random>
+
 #include <benchmark/benchmark.h>
 #include "util.h"
 
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isalnum_y1, isalnum('A'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isalnum_y2, isalnum('a'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isalnum_y3, isalnum('0'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isalnum_n, isalnum('_'));
+static std::array<int, 128> RandomAscii() {
+  std::array<int, 128> result;
+  std::iota(result.begin(), result.end(), 0);
+  std::shuffle(result.begin(), result.end(), std::mt19937{std::random_device{}()});
+  return result;
+}
 
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isalpha_y1, isalpha('A'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isalpha_y2, isalpha('a'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isalpha_n, isalpha('_'));
+#define CTYPE_BENCHMARK(__benchmark, fn)                        \
+  static void __benchmark##_##fn(benchmark::State& state) {     \
+    auto chars = RandomAscii();                                 \
+    for (auto _ : state) {                                      \
+      for (char ch : chars) {                                   \
+        benchmark::DoNotOptimize(fn(ch));                       \
+      }                                                         \
+    }                                                           \
+    state.SetBytesProcessed(state.iterations() * chars.size()); \
+  }                                                             \
+  BIONIC_BENCHMARK(__benchmark##_##fn)
 
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isascii_y, isascii('x'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isascii_n, isascii(0x88));
+CTYPE_BENCHMARK(BM_ctype, isalpha);
+CTYPE_BENCHMARK(BM_ctype, isalnum);
+CTYPE_BENCHMARK(BM_ctype, isascii);
+CTYPE_BENCHMARK(BM_ctype, isblank);
+CTYPE_BENCHMARK(BM_ctype, iscntrl);
+CTYPE_BENCHMARK(BM_ctype, isgraph);
+CTYPE_BENCHMARK(BM_ctype, islower);
+CTYPE_BENCHMARK(BM_ctype, isprint);
+CTYPE_BENCHMARK(BM_ctype, ispunct);
+CTYPE_BENCHMARK(BM_ctype, isspace);
+CTYPE_BENCHMARK(BM_ctype, isupper);
+CTYPE_BENCHMARK(BM_ctype, isxdigit);
 
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isblank_y1, isblank(' '));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isblank_y2, isblank('\t'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isblank_n, isblank('_'));
-
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_iscntrl_y1, iscntrl('\b'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_iscntrl_y2, iscntrl('\x7f'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_iscntrl_n, iscntrl('_'));
-
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isdigit_y, iscntrl('0'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isdigit_n, iscntrl('_'));
-
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isgraph_y1, isgraph('A'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isgraph_y2, isgraph('a'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isgraph_y3, isgraph('0'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isgraph_y4, isgraph('_'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isgraph_n, isgraph(' '));
-
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_islower_y, islower('x'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_islower_n, islower('X'));
-
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isprint_y1, isprint('A'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isprint_y2, isprint('a'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isprint_y3, isprint('0'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isprint_y4, isprint('_'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isprint_y5, isprint(' '));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isprint_n, isprint('\b'));
-
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_ispunct_y, ispunct('_'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_ispunct_n, ispunct('A'));
-
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isspace_y1, isspace(' '));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isspace_y2, isspace('\t'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isspace_n, isspace('A'));
-
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isupper_y, isupper('X'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isupper_n, isupper('x'));
-
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isxdigit_y1, isxdigit('0'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isxdigit_y2, isxdigit('a'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isxdigit_y3, isxdigit('A'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_isxdigit_n, isxdigit('_'));
-
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_toascii_y, isascii('x'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_toascii_n, isascii(0x88));
-
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_tolower_y, tolower('X'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_tolower_n, tolower('x'));
-
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_toupper_y, toupper('x'));
-BIONIC_TRIVIAL_BENCHMARK(BM_ctype_toupper_n, toupper('X'));
+CTYPE_BENCHMARK(BM_ctype, toascii);
+CTYPE_BENCHMARK(BM_ctype, tolower);
+CTYPE_BENCHMARK(BM_ctype, _tolower);
+CTYPE_BENCHMARK(BM_ctype, toupper);
+CTYPE_BENCHMARK(BM_ctype, _toupper);
diff --git a/benchmarks/linker_relocation/Android.bp b/benchmarks/linker_relocation/Android.bp
index b78eb8e..59a0c1c 100644
--- a/benchmarks/linker_relocation/Android.bp
+++ b/benchmarks/linker_relocation/Android.bp
@@ -25,6 +25,7 @@
 // SUCH DAMAGE.
 
 package {
+    default_team: "trendy_team_native_tools_libraries",
     default_applicable_licenses: ["bionic_benchmarks_license"],
 }
 
@@ -68,8 +69,12 @@
 
     compile_multilib: "both",
     multilib: {
-        lib32: { suffix: "32" },
-        lib64: { suffix: "64" },
+        lib32: {
+            suffix: "32",
+        },
+        lib64: {
+            suffix: "64",
+        },
     },
 }
 
diff --git a/benchmarks/linker_relocation/gen/Android.bp b/benchmarks/linker_relocation/gen/Android.bp
index c8f0b4a..d07ebf7 100644
--- a/benchmarks/linker_relocation/gen/Android.bp
+++ b/benchmarks/linker_relocation/gen/Android.bp
@@ -1,8 +1,5 @@
 // AUTO-GENERATED BY gen_bench.py -- do not edit
-package {
-    default_applicable_licenses: ["bionic_benchmarks_license"],
-}
-
+package { default_applicable_licenses: ["bionic_benchmarks_license"], }
 cc_defaults {
     name: "linker_reloc_bench_all_libs",
     runtime_libs: [
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_000.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_000.S
index c0ad782..af25179 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_000.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_000.S
@@ -13,12 +13,12 @@
 b__MA7naqebvq11WUvqyZrzbelQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz:
 nop
@@ -43,7 +43,7 @@
 b__MA7naqebvq14NaqebvqEhagvzr8pnyyZnvaREXAF_7Fgevat8RC7_wpynffEXAF_6IrpgbeVF1_RR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR8qb_fcyngRCiCXiz:
 nop
@@ -53,7 +53,7 @@
 b__MA7naqebvq20IrybpvglGenpxreFgngr11trgIrybpvglRvCsF1_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVssRRAF_19__znc_inyhr_pbzcnerVsF2_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVssRRAF_19__znc_inyhr_pbzcnerVsF2_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVssRRAF_19__znc_inyhr_pbzcnerVsF2_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVssRRAF_19__znc_inyhr_pbzcnerVsF2_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
@@ -63,7 +63,7 @@
 b__MA16VachgFgevcFbheprQ2Ri:
 nop
 .data
-.globl b__MGI11WninOOvaqre
+.weak b__MGI11WninOOvaqre
 .type b__MGI11WninOOvaqre,%object
 b__MGI11WninOOvaqre:
 .space __SIZEOF_POINTER__
@@ -88,17 +88,17 @@
 b__MA7naqebvq10VachgDhrhr12nggnpuYbbcreRCAF_6YbbcreRvCSvvvCiRF3_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq10hveraqrere23PnainfCebcreglCevzvgvirR
+.weak b__MGIA7naqebvq10hveraqrere23PnainfCebcreglCevzvgvirR
 .type b__MGIA7naqebvq10hveraqrere23PnainfCebcreglCevzvgvirR,%object
 b__MGIA7naqebvq10hveraqrere23PnainfCebcreglCevzvgvirR:
 .space __SIZEOF_POINTER__
@@ -113,12 +113,12 @@
 b__MAX7naqebvq18NffrgFgernzNqncgbe11baQhcyvpngrRi:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR9jevgrQngnRwCAF0_12RaqvnaBhgchgR
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR9jevgrQngnRwCAF0_12RaqvnaBhgchgR
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR9jevgrQngnRwCAF0_12RaqvnaBhgchgR,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR9jevgrQngnRwCAF0_12RaqvnaBhgchgR:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq14PnzrenZrgnqngnRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq14PnzrenZrgnqngnRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq14PnzrenZrgnqngnRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq14PnzrenZrgnqngnRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -143,7 +143,7 @@
 b__MA7naqebvq7Cvpgher12raqErpbeqvatRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF4_WEF4_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF4_WEF4_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF4_WEF4_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF4_WEF4_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_:
 nop
@@ -153,7 +153,7 @@
 b__MA7naqebvq25NffrgZnantreSbeWninBowrpgRC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAFg3__16irpgbeV7FxCbvagAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
+.weak b__MAFg3__16irpgbeV7FxCbvagAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
 .type b__MAFg3__16irpgbeV7FxCbvagAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_,%function
 b__MAFg3__16irpgbeV7FxCbvagAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_:
 nop
@@ -163,7 +163,7 @@
 b__MA21Lhi420FcGbWcrtRapbqreP1RCv:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_8NhqvbZvkRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_8NhqvbZvkRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_8NhqvbZvkRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_8NhqvbZvkRRR:
 .space __SIZEOF_POINTER__
@@ -173,7 +173,7 @@
 b__MA7naqebvq38ertvfgre_naqebvq_ncc_onpxhc_ShyyOnpxhcRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR8qb_fcyngRCiCXiz:
 nop
@@ -193,7 +193,7 @@
 b__MGua16_A7naqebvq18AngvirZrffntrDhrhrQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR8__nccraqRz:
 nop
@@ -203,7 +203,7 @@
 b__MA11TencuvpfWAV16vfUneqjnerPbasvtRC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR7trgGlcrRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR7trgGlcrRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR7trgGlcrRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR7trgGlcrRi:
 nop
@@ -213,7 +213,7 @@
 b__MA7naqebvq39ertvfgre_naqebvq_pbagrag_erf_BooFpnaareRC7_WAVRai:
 nop
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
@@ -238,7 +238,7 @@
 b_ertvfgreSenzrjbexAngvirf:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_19__znc_inyhr_pbzcnerVvF8_AF_4yrffVvRRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_19__znc_inyhr_pbzcnerVvF8_AF_4yrffVvRRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_19__znc_inyhr_pbzcnerVvF8_AF_4yrffVvRRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_19__znc_inyhr_pbzcnerVvF8_AF_4yrffVvRRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR:
 nop
@@ -248,17 +248,17 @@
 b__MA7naqebvq26AngvirQvfcynlRiragErprvireQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR12qb_pbafgehpgRCiz:
 nop
@@ -268,17 +268,17 @@
 b__MA17QverpgFgevcFbhepr13jevgrGbFgernzREA7naqebvq9vzt_hgvyf6BhgchgRw:
 nop
 .text
-.globl b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVqRQ2Ri
+.weak b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVqRQ2Ri
 .type b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVqRQ2Ri,%function
 b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVqRQ2Ri:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RR7__pybarRCAF0_6__onfrVFE_RR
+.weak b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RR7__pybarRCAF0_6__onfrVFE_RR
 .type b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RR7__pybarRCAF0_6__onfrVFE_RR,%function
 b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RR7__pybarRCAF0_6__onfrVFE_RR:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7qrfgeblRi:
 nop
@@ -313,17 +313,17 @@
 b__MA16WAVPnzrenPbagrkg22pyrnePnyyonpxOhssref_yRC7_WAVRaiCA7naqebvq6IrpgbeVC11_wolgrNeenlRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_19__znc_inyhr_pbzcnerVvF8_AF_4yrffVvRRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_19__znc_inyhr_pbzcnerVvF8_AF_4yrffVvRRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_19__znc_inyhr_pbzcnerVvF8_AF_4yrffVvRRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_19__znc_inyhr_pbzcnerVvF8_AF_4yrffVvRRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_:
 nop
@@ -353,12 +353,12 @@
 b__MGIA7naqebvq24AngvirVachgRiragErprvireR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -388,7 +388,7 @@
 b__M56ertvfgre_naqebvq_tencuvpf_qenjnoyr_NavzngrqVzntrQenjnoyrC7_WAVRai:
 nop
 .data
-.globl b__MGIA7naqebvq29CernyybpngrqVachgRiragSnpgbelR
+.weak b__MGIA7naqebvq29CernyybpngrqVachgRiragSnpgbelR
 .type b__MGIA7naqebvq29CernyybpngrqVachgRiragSnpgbelR,%object
 b__MGIA7naqebvq29CernyybpngrqVachgRiragSnpgbelR:
 .space __SIZEOF_POINTER__
@@ -423,7 +423,7 @@
 b__MA7naqebvq9WUjCnepry9VavgPynffRC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -438,7 +438,7 @@
 b__MA17NhgbWninOlgrNeenlQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR12qb_pbafgehpgRCiz:
 nop
@@ -483,7 +483,7 @@
 b__MA7naqebvq38ertvfgre_naqebvq_pbagrag_erf_NcxNffrgfRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR10qb_qrfgeblRCiz:
 nop
@@ -493,22 +493,22 @@
 b__MA7naqebvq15WUjErzbgrOvaqreP2RC7_WAVRaiC8_wbowrpgEXAF_2fcVAF_8uneqjner7VOvaqreRRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .data
-.globl b__MGGA7naqebvq23SvavfuNaqVaibxrYvfgrareR
+.weak b__MGGA7naqebvq23SvavfuNaqVaibxrYvfgrareR
 .type b__MGGA7naqebvq23SvavfuNaqVaibxrYvfgrareR,%object
 b__MGGA7naqebvq23SvavfuNaqVaibxrYvfgrareR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq16WTybonyErsUbyqreR
+.weak b__MGIA7naqebvq16WTybonyErsUbyqreR
 .type b__MGIA7naqebvq16WTybonyErsUbyqreR,%object
 b__MGIA7naqebvq16WTybonyErsUbyqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -518,12 +518,12 @@
 b__MA18WavVachgOlgrOhssreP2RC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvyRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvyRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvyRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvyRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq16WTybonyErsUbyqreRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq16WTybonyErsUbyqreRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq16WTybonyErsUbyqreRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq16WTybonyErsUbyqreRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -548,12 +548,12 @@
 b__MA15AvarCngpuCrrxre5fpnyrRssvv:
 nop
 .text
-.globl b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVgRRvgwCXG_w
+.weak b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVgRRvgwCXG_w
 .type b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVgRRvgwCXG_w,%function
 b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVgRRvgwCXG_w:
 nop
 .text
-.globl b__MAFg3__16irpgbeV11fbpx_svygreAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeV11fbpx_svygreAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeV11fbpx_svygreAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeV11fbpx_svygreAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -563,7 +563,7 @@
 b_nflap_fnsr_sbezng_ohssre:
 nop
 .data
-.globl b__MGI22FpnyrPurpxvatNyybpngbe
+.weak b__MGI22FpnyrPurpxvatNyybpngbe
 .type b__MGI22FpnyrPurpxvatNyybpngbe,%object
 b__MGI22FpnyrPurpxvatNyybpngbe:
 .space __SIZEOF_POINTER__
@@ -593,7 +593,7 @@
 b__MA20WAVNhqvbCbegPnyyonpx22baNhqvbCngpuYvfgHcqngrRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -603,27 +603,27 @@
 b__MAX7naqebvq9WUjCnepry7jnfFragRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVgR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVgR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVgR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVgR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR13trgQngnUrycreRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR13trgQngnUrycreRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR13trgQngnUrycreRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR13trgQngnUrycreRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR10qb_pbzcnerRCXiF6_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR10qb_pbzcnerRCXiF6_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR10qb_pbzcnerRCXiF6_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR10qb_pbzcnerRCXiF6_:
 nop
@@ -638,7 +638,7 @@
 b__MA7naqebvq28AngvirVachgNccyvpngvbaUnaqyrQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -648,7 +648,7 @@
 b__MGPA7naqebvq13AbgvslUnaqyreR0_AF_14ZrffntrUnaqyreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_7Fgevat8RRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_7Fgevat8RRR
 .type b__MGIA7naqebvq6IrpgbeVAF_7Fgevat8RRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_7Fgevat8RRR:
 .space __SIZEOF_POINTER__
@@ -678,7 +678,7 @@
 b__MGI15AvarCngpuCrrxre:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5zrqvn12IbyhzrFuncre13PbasvthengvbaR
+.weak b__MGIA7naqebvq5zrqvn12IbyhzrFuncre13PbasvthengvbaR
 .type b__MGIA7naqebvq5zrqvn12IbyhzrFuncre13PbasvthengvbaR,%object
 b__MGIA7naqebvq5zrqvn12IbyhzrFuncre13PbasvthengvbaR:
 .space __SIZEOF_POINTER__
@@ -708,7 +708,7 @@
 b__MA7naqebvq10VachgDhrhrP2RC8_wbowrpgEXAF_2fcVAF_6YbbcreRRRvv:
 nop
 .data
-.globl b__MGIA7naqebvq31TyShapgbeEryrnfrqPnyyonpxOevqtrR
+.weak b__MGIA7naqebvq31TyShapgbeEryrnfrqPnyyonpxOevqtrR
 .type b__MGIA7naqebvq31TyShapgbeEryrnfrqPnyyonpxOevqtrR,%object
 b__MGIA7naqebvq31TyShapgbeEryrnfrqPnyyonpxOevqtrR:
 .space __SIZEOF_POINTER__
@@ -723,12 +723,12 @@
 b__M36ertvfgre_naqebvq_uneqjner_FrevnyCbegC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6vafregRAF_11__jenc_vgreVCXF6_RRBF6_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6vafregRAF_11__jenc_vgreVCXF6_RRBF6_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6vafregRAF_11__jenc_vgreVCXF6_RRBF6_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6vafregRAF_11__jenc_vgreVCXF6_RRBF6_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVwR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVwR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVwR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVwR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -743,22 +743,22 @@
 b__MA7naqebvq31guebj_fdyvgr3_rkprcgvba_reepbqrRC7_WAVRaivCXp:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR13trgRaqvnaarffRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR13trgRaqvnaarffRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR13trgRaqvnaarffRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR13trgRaqvnaarffRi:
 nop
@@ -793,7 +793,7 @@
 b__MA13AngvirPbagrkgQ2Ri:
 nop
 .data
-.globl b__MGIA7naqebvq8XrlRiragR
+.weak b__MGIA7naqebvq8XrlRiragR
 .type b__MGIA7naqebvq8XrlRiragR,%object
 b__MGIA7naqebvq8XrlRiragR:
 .space __SIZEOF_POINTER__
@@ -828,7 +828,7 @@
 b__MA7naqebvq51ertvfgre_pbz_naqebvq_vagreany_bf_PynffYbnqreSnpgbelRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR7qb_pbclRCiCXiz:
 nop
@@ -843,12 +843,12 @@
 b__MA5Zbivr6urvtugRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR8qb_fcyngRCiCXiz:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RRR
+.weak b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RRR
 .type b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RRR,%object
 b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RRR:
 .space __SIZEOF_POINTER__
@@ -858,7 +858,7 @@
 b__MA7naqebvq37naqebvq_AngvirNpgvivgl_frgJvaqbjSyntfRC15NAngvirNpgvivglvv:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq15ZvavxvaSbagFxvnRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq15ZvavxvaSbagFxvnRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq15ZvavxvaSbagFxvnRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq15ZvavxvaSbagFxvnRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -893,17 +893,17 @@
 b__MA17NhgbWninOlgrNeenlP1RC7_WAVRaiC11_wolgrNeenlv:
 nop
 .data
-.globl b__MGIA7naqebvq24IraqbeGntQrfpevcgbePnpurR
+.weak b__MGIA7naqebvq24IraqbeGntQrfpevcgbePnpurR
 .type b__MGIA7naqebvq24IraqbeGntQrfpevcgbePnpurR,%object
 b__MGIA7naqebvq24IraqbeGntQrfpevcgbePnpurR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_19__znc_inyhr_pbzcnerVvF8_AF_4yrffVvRRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVvWEXAF_4cnveVXvF7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FC_yRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_19__znc_inyhr_pbzcnerVvF8_AF_4yrffVvRRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVvWEXAF_4cnveVXvF7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FC_yRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_19__znc_inyhr_pbzcnerVvF8_AF_4yrffVvRRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVvWEXAF_4cnveVXvF7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FC_yRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_19__znc_inyhr_pbzcnerVvF8_AF_4yrffVvRRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVvWEXAF_4cnveVXvF7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FC_yRREXG_QcBG0_:
 nop
 .data
-.globl b__MGIA7zvavxva7naqebvq16NaqebvqYvarJvqguR
+.weak b__MGIA7zvavxva7naqebvq16NaqebvqYvarJvqguR
 .type b__MGIA7zvavxva7naqebvq16NaqebvqYvarJvqguR,%object
 b__MGIA7zvavxva7naqebvq16NaqebvqYvarJvqguR:
 .space __SIZEOF_POINTER__
@@ -923,12 +923,12 @@
 b__MA7naqebvq47ertvfgre_naqebvq_navzngvba_CebcreglInyhrfUbyqreRC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRRR:
 .space __SIZEOF_POINTER__
@@ -938,17 +938,17 @@
 b__MA18NhgbWninSybngNeenlQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR9jevgrQngnRwCAF0_12RaqvnaBhgchgR
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR9jevgrQngnRwCAF0_12RaqvnaBhgchgR
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR9jevgrQngnRwCAF0_12RaqvnaBhgchgR,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR9jevgrQngnRwCAF0_12RaqvnaBhgchgR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVzAF_10havdhr_cgeV14FpbcrqYbpnyErsVC11_wolgrNeenlRAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVzFN_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVzAF_10havdhr_cgeV14FpbcrqYbpnyErsVC11_wolgrNeenlRAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVzFN_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVzAF_10havdhr_cgeV14FpbcrqYbpnyErsVC11_wolgrNeenlRAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVzFN_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVzAF_10havdhr_cgeV14FpbcrqYbpnyErsVC11_wolgrNeenlRAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVzFN_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR:
 nop
@@ -958,7 +958,7 @@
 b__MA7naqebvq34ertvfgre_naqebvq_bf_UjErzbgrOvaqreRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR12qb_pbafgehpgRCiz:
 nop
@@ -988,12 +988,12 @@
 b_fgngq_jevgre_gelybpx:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_pbzcnerRCXiF4_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_pbzcnerRCXiF4_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_pbzcnerRCXiF4_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_pbzcnerRCXiF4_:
 nop
@@ -1008,12 +1008,12 @@
 b__M37naqebvq_zrqvn_trgVagPbafgnagSebzPynffC7_WAVRaiC7_wpynffCXpF4_Cv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR7trgGlcrRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR7trgGlcrRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR7trgGlcrRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR7trgGlcrRi:
 nop
@@ -1028,7 +1028,7 @@
 b__MA7naqebvq6ovgznc8gbOvgzncRy:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR12qb_pbafgehpgRCiz:
 nop
@@ -1043,12 +1043,12 @@
 b_tBcgvbaf_jvqguSvryqVQ:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq10trgFreivprVAF_8uneqjner14VPnzrenFreivprRRRvEXAF_8Fgevat16RCAF_2fcVG_RR
+.weak b__MA7naqebvq10trgFreivprVAF_8uneqjner14VPnzrenFreivprRRRvEXAF_8Fgevat16RCAF_2fcVG_RR
 .type b__MA7naqebvq10trgFreivprVAF_8uneqjner14VPnzrenFreivprRRRvEXAF_8Fgevat16RCAF_2fcVG_RR,%function
 b__MA7naqebvq10trgFreivprVAF_8uneqjner14VPnzrenFreivprRRRvEXAF_8Fgevat16RCAF_2fcVG_RR:
 nop
@@ -1058,7 +1058,7 @@
 b__MA17QverpgFgevcFbheprP2RC7_WAVRaiCXuwwwwwzww:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVqRR
+.weak b__MGIA7naqebvq6IrpgbeVqRR
 .type b__MGIA7naqebvq6IrpgbeVqRR,%object
 b__MGIA7naqebvq6IrpgbeVqRR:
 .space __SIZEOF_POINTER__
@@ -1068,7 +1068,7 @@
 b__MA7naqebvq14NaqebvqEhagvzr19wninPerngrGuernqRgpRCSvCiRF1_CXpvzCF1_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVyR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVyR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVyR8qb_fcyngRCiCXiz:
 nop
@@ -1083,17 +1083,17 @@
 b_QTvsBcraSvyrUnaqyr:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVwR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVwR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVwR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVwR12qb_pbafgehpgRCiz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7__pybarRCAF0_6__onfrVFG_RR
+.weak b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7__pybarRCAF0_6__onfrVFG_RR
 .type b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7__pybarRCAF0_6__onfrVFG_RR,%function
 b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7__pybarRCAF0_6__onfrVFG_RR:
 nop
@@ -1103,12 +1103,12 @@
 b_nez64_ncc_svygre:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR7qb_pbclRCiCXiz:
 nop
@@ -1128,7 +1128,7 @@
 b__MA7naqebvq7WUjOybo9ArjBowrpgRC7_WAVRaiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1138,7 +1138,7 @@
 b__MA7naqebvq9WUjOvaqreP1RC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR18qrfgebl_qrnyybpngrRi:
 nop
@@ -1178,7 +1178,7 @@
 b__M33ertvfgre_naqebvq_bcraty_wav_RTY15C7_WAVRai:
 nop
 .data
-.globl b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR8_AF_7OOvaqreR
+.weak b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR8_AF_7OOvaqreR
 .type b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR8_AF_7OOvaqreR,%object
 b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
@@ -1193,7 +1193,7 @@
 b__MA7naqebvq49ertvfgre_naqebvq_ivrj_PbzcbfvgvbaFnzcyvatYvfgrareRC7_WAVRai:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVC14FpbcrqHgsPunefRR
+.weak b__MGIA7naqebvq6IrpgbeVC14FpbcrqHgsPunefRR
 .type b__MGIA7naqebvq6IrpgbeVC14FpbcrqHgsPunefRR,%object
 b__MGIA7naqebvq6IrpgbeVC14FpbcrqHgsPunefRR:
 .space __SIZEOF_POINTER__
@@ -1203,7 +1203,7 @@
 b__MGGA7naqebvq22AngvirVachgRiragFraqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq22UjOvaqreQrnguErpvcvragR
+.weak b__MGIA7naqebvq22UjOvaqreQrnguErpvcvragR
 .type b__MGIA7naqebvq22UjOvaqreQrnguErpvcvragR,%object
 b__MGIA7naqebvq22UjOvaqreQrnguErpvcvragR:
 .space __SIZEOF_POINTER__
@@ -1228,7 +1228,7 @@
 b__MAX13AngvirPbagrkg18trgPunenpgrevfgvpfRi:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR9jevgrQngnRwCAF0_12RaqvnaBhgchgR
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR9jevgrQngnRwCAF0_12RaqvnaBhgchgR
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR9jevgrQngnRwCAF0_12RaqvnaBhgchgR,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR9jevgrQngnRwCAF0_12RaqvnaBhgchgR:
 nop
@@ -1243,7 +1243,7 @@
 b_tBcgvbaf_cerzhygvcyvrqSvryqVQ:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7__pybarRi:
 nop
@@ -1283,7 +1283,7 @@
 b__MA18WavVachgOlgrOhssreQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVuR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVuR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVuR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVuR10qb_qrfgeblRCiz:
 nop
@@ -1298,12 +1298,12 @@
 b__MA7naqebvq57ertvfgre_naqebvq_tencuvpf_qenjnoyr_NavzngrqIrpgbeQenjnoyrRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1323,7 +1323,7 @@
 b__MA20WAVNhqvbCbegPnyyonpx13baFreivprQvrqRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_:
 nop
@@ -1338,17 +1338,17 @@
 b__MAX15AvarCngpuCrrxre21perngrAvarCngpuVafrgfRC7_WAVRais:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA15FxSbagNethzragf4NkvfRA7naqebvq10hveraqrere18VayvarFgqNyybpngbeVF2_Yz2RRRR24__rzcynpr_onpx_fybj_cnguVWF2_RRRiQcBG_
+.weak b__MAFg3__16irpgbeVA15FxSbagNethzragf4NkvfRA7naqebvq10hveraqrere18VayvarFgqNyybpngbeVF2_Yz2RRRR24__rzcynpr_onpx_fybj_cnguVWF2_RRRiQcBG_
 .type b__MAFg3__16irpgbeVA15FxSbagNethzragf4NkvfRA7naqebvq10hveraqrere18VayvarFgqNyybpngbeVF2_Yz2RRRR24__rzcynpr_onpx_fybj_cnguVWF2_RRRiQcBG_,%function
 b__MAFg3__16irpgbeVA15FxSbagNethzragf4NkvfRA7naqebvq10hveraqrere18VayvarFgqNyybpngbeVF2_Yz2RRRR24__rzcynpr_onpx_fybj_cnguVWF2_RRRiQcBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10funerq_cgeVA7zvavxva10SbagSnzvylRRRAF_9nyybpngbeVF4_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVAF_10funerq_cgeVA7zvavxva10SbagSnzvylRRRAF_9nyybpngbeVF4_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVAF_10funerq_cgeVA7zvavxva10SbagSnzvylRRRAF_9nyybpngbeVF4_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVAF_10funerq_cgeVA7zvavxva10SbagSnzvylRRRAF_9nyybpngbeVF4_RRR7erfreirRz:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR13trgRaqvnaarffRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR13trgRaqvnaarffRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR13trgRaqvnaarffRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR13trgRaqvnaarffRi:
 nop
@@ -1363,7 +1363,7 @@
 b__MA7naqebvq16ahyyBowrpgErgheaRCXp:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR7qb_pbclRCiCXiz:
 nop
@@ -1373,7 +1373,7 @@
 b__MA18SvyrQrfpevcgbeVasb13TrgFbpxrgAnzrRvCAFg3__112onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVwR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVwR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVwR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVwR7qb_pbclRCiCXiz:
 nop
@@ -1388,7 +1388,7 @@
 b_erfrg_ybt_pbagrkg:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVuRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR
+.weak b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVuRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR
 .type b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVuRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR,%function
 b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVuRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR:
 nop
@@ -1403,12 +1403,12 @@
 b__MA7naqebvq42ertvfgre_naqebvq_tencuvpf_sbagf_SbagSnzvylRC7_WAVRai:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeV12WninIZBcgvbaRR
+.weak b__MGIA7naqebvq6IrpgbeV12WninIZBcgvbaRR
 .type b__MGIA7naqebvq6IrpgbeV12WninIZBcgvbaRR,%object
 b__MGIA7naqebvq6IrpgbeV12WninIZBcgvbaRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_11QvfcynlVasbRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_11QvfcynlVasbRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_11QvfcynlVasbRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_11QvfcynlVasbRRR:
 .space __SIZEOF_POINTER__
@@ -1418,7 +1418,7 @@
 b_tBcgvbaf_whfgObhaqfSvryqVQ:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVsR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVsR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVsR8qb_fcyngRCiCXiz:
 nop
@@ -1433,7 +1433,7 @@
 b__MA7naqebvq30NffrgZnantreSbeAqxNffrgZnantreRC13NNffrgZnantre:
 nop
 .data
-.globl b__MGIAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1473,7 +1473,7 @@
 b__MA7naqebvq23AngvirVachgJvaqbjUnaqyr10hcqngrVasbRi:
 nop
 .data
-.globl b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1488,7 +1488,7 @@
 b__MA7naqebvq15trgOCAngvirQngnRC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_6irpgbeVA7naqebvq15NhqvbNggevohgrfRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVvF8_AF_4yrffVvRRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_6irpgbeVA7naqebvq15NhqvbNggevohgrfRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVvF8_AF_4yrffVvRRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_6irpgbeVA7naqebvq15NhqvbNggevohgrfRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVvF8_AF_4yrffVvRRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_6irpgbeVA7naqebvq15NhqvbNggevohgrfRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVvF8_AF_4yrffVvRRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR:
 nop
@@ -1503,7 +1503,7 @@
 b__MA13AngvirPbagrkgQ1Ri:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RRpyRBFR_
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RRpyRBFR_
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RRpyRBFR_,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RRpyRBFR_:
 nop
@@ -1523,22 +1523,22 @@
 b__MAX7naqebvq10YvfgUrycre3trgRv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVsR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVsR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVsR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR8qb_fcyngRCiCXiz:
 nop
@@ -1593,7 +1593,7 @@
 b__M13perngr_wzbivrC7_WAVRaiC5Zbivr:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6vafregVAF_11__jenc_vgreVCvRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRF7_R4glcrRAF5_VCXvRRF9_F9_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6vafregVAF_11__jenc_vgreVCvRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRF7_R4glcrRAF5_VCXvRRF9_F9_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6vafregVAF_11__jenc_vgreVCvRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRF7_R4glcrRAF5_VCXvRRF9_F9_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6vafregVAF_11__jenc_vgreVCvRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRF7_R4glcrRAF5_VCXvRRF9_F9_:
 nop
@@ -1603,12 +1603,12 @@
 b_nflap_fnsr_sbezng_sq:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva4SbagRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7zvavxva4SbagRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7zvavxva4SbagRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7zvavxva4SbagRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR8qb_fcyngRCiCXiz:
 nop
@@ -1618,12 +1618,12 @@
 b__MA7naqebvq18AngvirZrffntrDhrhr8cbyyBaprRC7_WAVRaiC8_wbowrpgv:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVqRQ0Ri
+.weak b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVqRQ0Ri
 .type b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVqRQ0Ri,%function
 b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVqRQ0Ri:
 nop
@@ -1643,7 +1643,7 @@
 b__MA7naqebvq44naqebvq_ivrj_VachgPunaary_frgQvfcbfrPnyyonpxRC7_WAVRaiC8_wbowrpgCSiF1_F3_EXAF_2fcVAF_12VachgPunaaryRRRCiRF9_:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq16WTybonyErsUbyqreRAF_9nyybpngbeVF2_RRRR
+.weak b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq16WTybonyErsUbyqreRAF_9nyybpngbeVF2_RRRR
 .type b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq16WTybonyErsUbyqreRAF_9nyybpngbeVF2_RRRR,%object
 b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq16WTybonyErsUbyqreRAF_9nyybpngbeVF2_RRRR:
 .space __SIZEOF_POINTER__
@@ -1663,7 +1663,7 @@
 b__MA21Lhi420FcGbWcrtRapbqre21pbasvtFnzcyvatSnpgbefRC20wcrt_pbzcerff_fgehpg:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR18trgPbzcnenoyrInyhrRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR18trgPbzcnenoyrInyhrRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR18trgPbzcnenoyrInyhrRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR18trgPbzcnenoyrInyhrRi:
 nop
@@ -1683,7 +1683,7 @@
 b__MA7naqebvq26FhesnprGrkgher_trgCebqhpreRC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRR:
 nop
@@ -1698,7 +1698,7 @@
 b__MA7naqebvq23fvtanyRkprcgvbaSbeReebeRC7_WAVRaiC8_wbowrpgvov:
 nop
 .text
-.globl b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVqRRvgwCXG_w
+.weak b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVqRRvgwCXG_w
 .type b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVqRRvgwCXG_w,%function
 b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVqRRvgwCXG_w:
 nop
@@ -1708,7 +1708,7 @@
 b__MA7naqebvq10VachgDhrhr17perngrZbgvbaRiragRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR10qb_qrfgeblRCiz:
 nop
@@ -1743,12 +1743,12 @@
 b__MA7naqebvq17WAVQrivprPnyyonpxQ0Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_:
 nop
 .data
-.globl b__MGIA7naqebvq23AngvirYvoenevrfVgrengbeR
+.weak b__MGIA7naqebvq23AngvirYvoenevrfVgrengbeR
 .type b__MGIA7naqebvq23AngvirYvoenevrfVgrengbeR,%object
 b__MGIA7naqebvq23AngvirYvoenevrfVgrengbeR:
 .space __SIZEOF_POINTER__
@@ -1778,7 +1778,7 @@
 b__MA14WavVachgFgernzQ2Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq2fcVAF1_10hveraqrere25CebcreglInyhrfNavzngbeFrgRRRAF_4yrffVF5_RRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
+.weak b__MAFg3__16__gerrVA7naqebvq2fcVAF1_10hveraqrere25CebcreglInyhrfNavzngbeFrgRRRAF_4yrffVF5_RRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
 .type b__MAFg3__16__gerrVA7naqebvq2fcVAF1_10hveraqrere25CebcreglInyhrfNavzngbeFrgRRRAF_4yrffVF5_RRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR,%function
 b__MAFg3__16__gerrVA7naqebvq2fcVAF1_10hveraqrere25CebcreglInyhrfNavzngbeFrgRRRAF_4yrffVF5_RRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR:
 nop
@@ -1808,7 +1808,7 @@
 b__MA7naqebvq24WAVFhesnprGrkgherPbagrkgQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR7trgFvmrRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR7trgFvmrRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR7trgFvmrRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR7trgFvmrRi:
 nop
@@ -1818,7 +1818,7 @@
 b__MA7naqebvq10VachgDhrhr12radhrhrRiragRCAF_10VachgRiragR:
 nop
 .data
-.globl b__MGG11WninOOvaqre
+.weak b__MGG11WninOOvaqre
 .type b__MGG11WninOOvaqre,%object
 b__MGG11WninOOvaqre:
 .space __SIZEOF_POINTER__
@@ -1828,7 +1828,7 @@
 b__MA11TencuvpfWAV16wcbvags_gb_cbvagRC7_WAVRaiC8_wbowrpgC7FxCbvag:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_10NhqvbGenpxRRnFRCF1_
+.weak b__MA7naqebvq2fcVAF_10NhqvbGenpxRRnFRCF1_
 .type b__MA7naqebvq2fcVAF_10NhqvbGenpxRRnFRCF1_,%function
 b__MA7naqebvq2fcVAF_10NhqvbGenpxRRnFRCF1_:
 nop
@@ -1863,7 +1863,7 @@
 b__MA8TVSZbivrP1RC8FxFgernz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCXpAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVCXpAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVCXpAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVCXpAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -1878,17 +1878,17 @@
 b__M34naqebvq_bf_Cebprff_fraqFvtanyDhvrgC7_WAVRaiC8_wbowrpgvv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR6trgGntRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR6trgGntRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR6trgGntRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR6trgGntRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz:
 nop
@@ -1903,7 +1903,7 @@
 b_nflap_fnsr_jevgr_ybt:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR10qb_qrfgeblRCiz:
 nop
@@ -1938,7 +1938,7 @@
 b__MA14WavVachgFgernzP2RC7_WAVRaiC8_wbowrpg:
 nop
 .data
-.globl b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVqRR
+.weak b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVqRR
 .type b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVqRR,%object
 b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVqRR:
 .space __SIZEOF_POINTER__
@@ -1958,12 +1958,12 @@
 b__MGi0_a24_A7naqebvq22AngvirVachgRiragFraqreQ0Ri:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_10VachgRiragRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_10VachgRiragRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_10VachgRiragRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_10VachgRiragRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq23SvavfuNaqVaibxrYvfgrareR
+.weak b__MGIA7naqebvq23SvavfuNaqVaibxrYvfgrareR
 .type b__MGIA7naqebvq23SvavfuNaqVaibxrYvfgrareR,%object
 b__MGIA7naqebvq23SvavfuNaqVaibxrYvfgrareR:
 .space __SIZEOF_POINTER__
@@ -1973,12 +1973,12 @@
 b__MA8TVSZbivr9baFrgGvzrRw:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR8trgPbhagRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR8trgPbhagRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR8trgPbhagRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR8trgPbhagRi:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7__pybarRi:
 nop
@@ -1998,7 +1998,7 @@
 b__M39ertvfgre_naqebvq_tencuvpf_OvgzncSnpgbelC7_WAVRai:
 nop
 .data
-.globl b__MGIA7naqebvq10hveraqrere14SybngRinyhngbeR
+.weak b__MGIA7naqebvq10hveraqrere14SybngRinyhngbeR
 .type b__MGIA7naqebvq10hveraqrere14SybngRinyhngbeR,%object
 b__MGIA7naqebvq10hveraqrere14SybngRinyhngbeR:
 .space __SIZEOF_POINTER__
@@ -2008,7 +2008,7 @@
 b__M29PerngrWninBhgchgFgernzNqncgbeC7_WAVRaiC8_wbowrpgC11_wolgrNeenl:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR13trgRaqvnaarffRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR13trgRaqvnaarffRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR13trgRaqvnaarffRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR13trgRaqvnaarffRi:
 nop
@@ -2018,7 +2018,7 @@
 b_TvsHavbaPbybeZnc:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVyR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVyR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVyR12qb_pbafgehpgRCiz:
 nop
@@ -2028,7 +2028,7 @@
 b__MA11TencuvpfWAV15trgAngvirErtvbaRC7_WAVRaiC8_wbowrpg:
 nop
 .data
-.globl b__MGIA7naqebvq13BofreireCebklR
+.weak b__MGIA7naqebvq13BofreireCebklR
 .type b__MGIA7naqebvq13BofreireCebklR,%object
 b__MGIA7naqebvq13BofreireCebklR:
 .space __SIZEOF_POINTER__
@@ -2043,7 +2043,7 @@
 b_tOvgznc_avarCngpuVafrgfSvryqVQ:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRRR:
 .space __SIZEOF_POINTER__
@@ -2063,7 +2063,7 @@
 b__MA7naqebvq28AngvirVachgNccyvpngvbaUnaqyrQ0Ri:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq15ZvavxvaSbagFxvnRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq15ZvavxvaSbagFxvnRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq15ZvavxvaSbagFxvnRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq15ZvavxvaSbagFxvnRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi:
 nop
@@ -2073,7 +2073,7 @@
 b__MA23SvyrQrfpevcgbeJuvgryvfg3TrgRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR10qb_qrfgeblRCiz:
 nop
@@ -2088,12 +2088,12 @@
 b__MA7naqebvq32ertvfgre_naqebvq_tencuvpf_ErtvbaRC7_WAVRai:
 nop
 .data
-.globl b__MGGA7naqebvq21VaibxrEhaanoyrZrffntrR
+.weak b__MGGA7naqebvq21VaibxrEhaanoyrZrffntrR
 .type b__MGGA7naqebvq21VaibxrEhaanoyrZrffntrR,%object
 b__MGGA7naqebvq21VaibxrEhaanoyrZrffntrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2103,7 +2103,7 @@
 b__MA7naqebvq10VachgDhrhr13unaqyrZrffntrREXAF_7ZrffntrR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR12qb_pbafgehpgRCiz:
 nop
@@ -2163,7 +2163,7 @@
 b__MA7naqebvq26UjOvaqreQrnguErpvcvragYvfgQ2Ri:
 nop
 .data
-.globl b__MGG14VaibxrYvfgrare
+.weak b__MGG14VaibxrYvfgrare
 .type b__MGG14VaibxrYvfgrare,%object
 b__MGG14VaibxrYvfgrare:
 .space __SIZEOF_POINTER__
@@ -2173,7 +2173,7 @@
 b__MA13AngvirPbagrkgQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR18trgPbzcnenoyrInyhrRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR18trgPbzcnenoyrInyhrRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR18trgPbzcnenoyrInyhrRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR18trgPbzcnenoyrInyhrRi:
 nop
@@ -2198,7 +2198,7 @@
 b__MA7naqebvq10VachgDhrhrQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVsR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVsR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVsR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2218,7 +2218,7 @@
 b__MAX13AngvirPbagrkg14trgBevragngvbaRi:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR13trgRaqvnaarffRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR13trgRaqvnaarffRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR13trgRaqvnaarffRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR13trgRaqvnaarffRi:
 nop
@@ -2233,17 +2233,17 @@
 b__MA7naqebvq44ertvfgre_pbz_naqebvq_vagreany_bf_ShfrNccYbbcRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRRQ2Ri
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRRQ2Ri
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRRQ2Ri,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRRQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_:
 nop
@@ -2258,17 +2258,17 @@
 b__MGIA7naqebvq26AngvirQvfcynlRiragErprvireR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq10hveraqrere20QrsreerqYnlreHcqngre17frgFhesnprGrkgherREXAF_2fcVAF_14FhesnprGrkgherRRR
+.weak b__MA7naqebvq10hveraqrere20QrsreerqYnlreHcqngre17frgFhesnprGrkgherREXAF_2fcVAF_14FhesnprGrkgherRRR
 .type b__MA7naqebvq10hveraqrere20QrsreerqYnlreHcqngre17frgFhesnprGrkgherREXAF_2fcVAF_14FhesnprGrkgherRRR,%function
 b__MA7naqebvq10hveraqrere20QrsreerqYnlreHcqngre17frgFhesnprGrkgherREXAF_2fcVAF_14FhesnprGrkgherRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR10qb_qrfgeblRCiz:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RRR
+.weak b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RRR
 .type b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RRR,%object
 b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RRR:
 .space __SIZEOF_POINTER__
@@ -2288,22 +2288,22 @@
 b__MA7naqebvq33ertvfgre_naqebvq_ivrj_VachgQrivprRC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR6nffvtaVCzRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVzAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
+.weak b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR6nffvtaVCzRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVzAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
 .type b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR6nffvtaVCzRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVzAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_,%function
 b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR6nffvtaVCzRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVzAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_:
 nop
 .data
-.globl b__MGIA7naqebvq22NavzngvbaPbagrkgOevqtrR
+.weak b__MGIA7naqebvq22NavzngvbaPbagrkgOevqtrR
 .type b__MGIA7naqebvq22NavzngvbaPbagrkgOevqtrR,%object
 b__MGIA7naqebvq22NavzngvbaPbagrkgOevqtrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -2343,7 +2343,7 @@
 b__MA7naqebvq24WAVFhesnprGrkgherPbagrkg16baSenzrNinvynoyrREXAF_10OhssreVgrzR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_qrfgeblRCiz:
 nop
@@ -2408,17 +2408,17 @@
 b__MA14WavVachgFgernzQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR9jevgrQngnRwCAF0_12RaqvnaBhgchgR
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR9jevgrQngnRwCAF0_12RaqvnaBhgchgR
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR9jevgrQngnRwCAF0_12RaqvnaBhgchgR,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR9jevgrQngnRwCAF0_12RaqvnaBhgchgR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvsRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvsRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvsRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvsRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -2458,7 +2458,7 @@
 b__MA13AngvirPbagrkgP2REXA7naqebvq14PnzrenZrgnqngnRF3_:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVqRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR
+.weak b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVqRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR
 .type b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVqRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR,%function
 b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVqRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR:
 nop
@@ -2468,7 +2468,7 @@
 b_TvsZnxrZncBowrpg:
 nop
 .data
-.globl b__MGIA7naqebvq23NavzngvbaYvfgrareOevqtrR
+.weak b__MGIA7naqebvq23NavzngvbaYvfgrareOevqtrR
 .type b__MGIA7naqebvq23NavzngvbaYvfgrareOevqtrR,%object
 b__MGIA7naqebvq23NavzngvbaYvfgrareOevqtrR:
 .space __SIZEOF_POINTER__
@@ -2478,7 +2478,7 @@
 b__MA7naqebvq42ertvfgre_naqebvq_pbagrag_erf_PbasvthengvbaRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR12qb_pbafgehpgRCiz:
 nop
@@ -2488,7 +2488,7 @@
 b__MA7naqebvq38naqebvq_ivrj_CbvagreVpba_trgFlfgrzVpbaRC7_WAVRaiC8_wbowrpgv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR10qb_pbzcnerRCXiF5_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR10qb_pbzcnerRCXiF5_
 .type b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR10qb_pbzcnerRCXiF5_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR10qb_pbzcnerRCXiF5_:
 nop
@@ -2503,12 +2503,12 @@
 b__MA18NhgbWninSybngNeenlP2RC7_WAVRaiC12_wsybngNeenlv9WAVNpprff:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR18trgPbzcnenoyrInyhrRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR18trgPbzcnenoyrInyhrRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR18trgPbzcnenoyrInyhrRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR18trgPbzcnenoyrInyhrRi:
 nop
@@ -2523,7 +2523,7 @@
 b_tBcgvbaf_cersreDhnyvglBireFcrrqSvryqVQ:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeVA7zvavxva14SbagPbyyrpgvbaRRRRRAF_19__znc_inyhr_pbzcnerVF7_FP_AF_4yrffVF7_RRYo1RRRAF5_VFP_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFA_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeVA7zvavxva14SbagPbyyrpgvbaRRRRRAF_19__znc_inyhr_pbzcnerVF7_FP_AF_4yrffVF7_RRYo1RRRAF5_VFP_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFA_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeVA7zvavxva14SbagPbyyrpgvbaRRRRRAF_19__znc_inyhr_pbzcnerVF7_FP_AF_4yrffVF7_RRYo1RRRAF5_VFP_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFA_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeVA7zvavxva14SbagPbyyrpgvbaRRRRRAF_19__znc_inyhr_pbzcnerVF7_FP_AF_4yrffVF7_RRYo1RRRAF5_VFP_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFA_RREXG_:
 nop
@@ -2533,7 +2533,7 @@
 b__MA16WAVPnzrenPbagrkg12cbfgZrgnqngnRC7_WAVRaivC21pnzren_senzr_zrgnqngn:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR12qb_pbafgehpgRCiz:
 nop
@@ -2543,7 +2543,7 @@
 b__MAX7naqebvq7WUjOybo4ernqRzCiz:
 nop
 .text
-.globl b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_
+.weak b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_
 .type b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_,%function
 b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_:
 nop
@@ -2553,12 +2553,12 @@
 b__MA18WavVachgOlgrOhssre4bcraRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR10qb_qrfgeblRCiz:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -2608,12 +2608,12 @@
 b__MA7naqebvq18sbejneqCqsvhzReebeRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR7trgFvmrRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR7trgFvmrRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR7trgFvmrRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR7trgFvmrRi:
 nop
 .data
-.globl b__MGIA7naqebvq10hveraqrere14IrpgbeQenjnoyr4GerrR
+.weak b__MGIA7naqebvq10hveraqrere14IrpgbeQenjnoyr4GerrR
 .type b__MGIA7naqebvq10hveraqrere14IrpgbeQenjnoyr4GerrR,%object
 b__MGIA7naqebvq10hveraqrere14IrpgbeQenjnoyr4GerrR:
 .space __SIZEOF_POINTER__
@@ -2623,7 +2623,7 @@
 b__MA7naqebvq7Cvpgher4qenjRCAF_6PnainfR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR7qb_pbclRCiCXiz:
 nop
@@ -2648,7 +2648,7 @@
 b__MA7naqebvq15WUjErzbgrOvaqre9ArjBowrpgRC7_WAVRaiEXAF_2fcVAF_8uneqjner7VOvaqreRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR8qb_fcyngRCiCXiz:
 nop
@@ -2698,7 +2698,7 @@
 b__MA7naqebvq39naqebvq_bf_ZrffntrDhrhr_trgZrffntrDhrhrRC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
@@ -2708,7 +2708,7 @@
 b__MA7naqebvq14NaqebvqEhagvzr7fgnegIzRCC7_WninIZCC7_WAVRaioo:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR10qb_qrfgeblRCiz:
 nop
@@ -2718,32 +2718,32 @@
 b__MA11TencuvpfWAV24trgAngvirOvgzncPbybeGlcrRC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVgR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVgR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVgR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVgR12qb_pbafgehpgRCiz:
 nop
 .data
-.globl b__MGI23WavNavzngvbaRaqYvfgrare
+.weak b__MGI23WavNavzngvbaRaqYvfgrare
 .type b__MGI23WavNavzngvbaRaqYvfgrare,%object
 b__MGI23WavNavzngvbaRaqYvfgrare:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR6trgGntRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR6trgGntRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR6trgGntRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR6trgGntRi:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvCXpRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvCXpRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvCXpRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvCXpRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR:
 nop
@@ -2758,7 +2758,7 @@
 b__MA5Zbivr5jvqguRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVuR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVuR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVuR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVuR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -2838,12 +2838,12 @@
 b_tBcgvbaf_qvgureSvryqVQ:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR
+.weak b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR
 .type b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR,%function
 b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR:
 nop
@@ -2863,7 +2863,7 @@
 b__MGGA7naqebvq18AngvirZrffntrDhrhrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR6vafregVCsRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVsAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVF5_RRR4glcrRAFO_VCXsRRF7_F7_
+.weak b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR6vafregVCsRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVsAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVF5_RRR4glcrRAFO_VCXsRRF7_F7_
 .type b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR6vafregVCsRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVsAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVF5_RRR4glcrRAFO_VCXsRRF7_F7_,%function
 b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR6vafregVCsRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVsAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVF5_RRR4glcrRAFO_VCXsRRF7_F7_:
 nop
@@ -2873,12 +2873,12 @@
 b__MA7naqebvq10VachgDhrhr18qrgnpuYbbcreYbpxrqRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVqR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVqR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVqR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVqR12qb_pbafgehpgRCiz:
 nop
@@ -2913,22 +2913,22 @@
 b__MAX7naqebvq18NffrgFgernzNqncgbe9trgYratguRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR10qb_pbzcnerRCXiF5_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR10qb_pbzcnerRCXiF5_
 .type b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR10qb_pbzcnerRCXiF5_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR10qb_pbzcnerRCXiF5_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .data
-.globl b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2953,12 +2953,12 @@
 b__MA7naqebvq7WUjOybo9VavgPynffRC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__16irpgbeVC14FpbcrqHgsPunefAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVC14FpbcrqHgsPunefAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVC14FpbcrqHgsPunefAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVC14FpbcrqHgsPunefAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
 .text
-.globl b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVuRQ2Ri
+.weak b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVuRQ2Ri
 .type b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVuRQ2Ri,%function
 b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVuRQ2Ri:
 nop
@@ -2973,7 +2973,7 @@
 b__MA7naqebvq18AngvirVachgPunaaryQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVyR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVyR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVyR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -2988,7 +2988,7 @@
 b__MA7naqebvq24AngvirVachgRiragErprvire10vavgvnyvmrRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVyR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVyR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVyR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -3018,7 +3018,7 @@
 b__MA16WAVPnzrenPbagrkg7eryrnfrRi:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_8XrlRiragRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_8XrlRiragRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_8XrlRiragRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_8XrlRiragRRR:
 .space __SIZEOF_POINTER__
@@ -3028,12 +3028,12 @@
 b__MA7naqebvq23arjCneprySvyrQrfpevcgbeRC7_WAVRaiC8_wbowrpg:
 nop
 .data
-.globl b__MGIA7naqebvq10hveraqrere18YvarneVagrecbyngbeR
+.weak b__MGIA7naqebvq10hveraqrere18YvarneVagrecbyngbeR
 .type b__MGIA7naqebvq10hveraqrere18YvarneVagrecbyngbeR,%object
 b__MGIA7naqebvq10hveraqrere18YvarneVagrecbyngbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -3068,7 +3068,7 @@
 b__MA11TencuvpfWAV16vcbvag_gb_wcbvagREX8FxVCbvagC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR6nffvtaVCsRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVsAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
+.weak b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR6nffvtaVCsRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVsAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
 .type b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR6nffvtaVCsRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVsAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_,%function
 b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR6nffvtaVCsRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVsAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_:
 nop
@@ -3093,7 +3093,7 @@
 b__MA7naqebvq36naqebvq_bf_Qroht_trgYbpnyBowrpgPbhagRC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR7qb_pbclRCiCXiz:
 nop
@@ -3103,7 +3103,7 @@
 b__MA7naqebvq26UjOvaqreQrnguErpvcvragYvfg4svaqRC8_wbowrpg:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_22UjOvaqreQrnguErpvcvragRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_22UjOvaqreQrnguErpvcvragRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_22UjOvaqreQrnguErpvcvragRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_22UjOvaqreQrnguErpvcvragRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_:
 nop
@@ -3123,7 +3123,7 @@
 b__MA7naqebvq22AngvirVachgRiragFraqre7qvfcbfrRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -3163,12 +3163,12 @@
 b__MA7naqebvq36ertvfgre_naqebvq_zrqvn_ErzbgrQvfcynlRC7_WAVRai:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_23VErtvbaFnzcyvatYvfgrareRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_23VErtvbaFnzcyvatYvfgrareRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_23VErtvbaFnzcyvatYvfgrareRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_23VErtvbaFnzcyvatYvfgrareRR10baNfOvaqreRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjOnfrRAF4_8OaUjOnfrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjOnfrRAF4_8OaUjOnfrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjOnfrRAF4_8OaUjOnfrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjOnfrRAF4_8OaUjOnfrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -3228,7 +3228,7 @@
 b__MA7naqebvq18NffrgFgernzNqncgbe4frrxRz:
 nop
 .text
-.globl b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVuRRvgwCXG_w
+.weak b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVuRRvgwCXG_w
 .type b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVuRRvgwCXG_w,%function
 b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVuRRvgwCXG_w:
 nop
@@ -3253,7 +3253,7 @@
 b__MA7naqebvq14NaqebvqEhagvzr9nqqBcgvbaRCXpCi:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVyRR
+.weak b__MGIA7naqebvq6IrpgbeVyRR
 .type b__MGIA7naqebvq6IrpgbeVyRR,%object
 b__MGIA7naqebvq6IrpgbeVyRR:
 .space __SIZEOF_POINTER__
@@ -3273,7 +3273,7 @@
 b__MA20Lhi422VGbWcrtRapbqreP2RCv:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR6trgGntRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR6trgGntRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR6trgGntRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR6trgGntRi:
 nop
@@ -3293,7 +3293,7 @@
 b__M32naqebvq_bf_Cebprff_frgFjnccvarffC7_WAVRaiC8_wbowrpgvu:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RR7qrfgeblRi:
 nop
@@ -3303,12 +3303,12 @@
 b__MA7naqebvq33ertvfgre_naqebvq_pbagrag_KzyOybpxRC7_WAVRai:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR10qb_qrfgeblRCiz:
 nop
@@ -3318,12 +3318,12 @@
 b__M45ertvfgre_naqebvq_zrqvn_NhqvbCebqhpgFgengrtvrfC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR7qb_pbclRCiCXiz:
 nop
@@ -3333,12 +3333,12 @@
 b__MGi0_a24_A7naqebvq24WAVFhesnprGrkgherPbagrkgQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVgRQ2Ri
+.weak b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVgRQ2Ri
 .type b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVgRQ2Ri,%function
 b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVgRQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR:
 nop
@@ -3358,7 +3358,7 @@
 b_QTvsTrgYvar:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR7qb_pbclRCiCXiz:
 nop
@@ -3368,12 +3368,12 @@
 b__MA7naqebvq23perngrWninTencuvpOhssreRC7_WAVRaiEXAF_2fcVAF_13TencuvpOhssreRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva13SbagInevngvbaRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7zvavxva13SbagInevngvbaRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7zvavxva13SbagInevngvbaRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7zvavxva13SbagInevngvbaRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR8qb_fcyngRCiCXiz:
 nop
@@ -3388,7 +3388,7 @@
 b__MA11TencuvpfWAV14verpg_gb_werpgREX7FxVErpgC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7zvavxva3EhaRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWAF1_VAF2_8FglyrEhaRAF4_VFO_RRRRRRRiQcBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7zvavxva3EhaRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWAF1_VAF2_8FglyrEhaRAF4_VFO_RRRRRRRiQcBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7zvavxva3EhaRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWAF1_VAF2_8FglyrEhaRAF4_VFO_RRRRRRRiQcBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7zvavxva3EhaRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWAF1_VAF2_8FglyrEhaRAF4_VFO_RRRRRRRiQcBG_:
 nop
@@ -3418,7 +3418,7 @@
 b__MA7naqebvq7CvpgherP1RB5fx_fcV9FxCvpgherR:
 nop
 .data
-.globl b__MGIA7naqebvq14PbagrkgSnpgbelR
+.weak b__MGIA7naqebvq14PbagrkgSnpgbelR
 .type b__MGIA7naqebvq14PbagrkgSnpgbelR,%object
 b__MGIA7naqebvq14PbagrkgSnpgbelR:
 .space __SIZEOF_POINTER__
@@ -3433,7 +3433,7 @@
 b__MA7naqebvq26UjOvaqreQrnguErpvcvragYvfgQ0Ri:
 nop
 .data
-.globl b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR0_AF_21OaErzbgrQvfcynlPyvragR
+.weak b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR0_AF_21OaErzbgrQvfcynlPyvragR
 .type b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR0_AF_21OaErzbgrQvfcynlPyvragR,%object
 b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR0_AF_21OaErzbgrQvfcynlPyvragR:
 .space __SIZEOF_POINTER__
@@ -3458,12 +3458,12 @@
 b__MA7naqebvq54naqebvq_uneqjner_UneqjnerOhssre_pbairegSebzCvkrySbezngRw:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR12qb_pbafgehpgRCiz:
 nop
@@ -3483,7 +3483,7 @@
 b__MA7naqebvq38naqebvq_AngvirNpgvivgl_frgJvaqbjSbezngRC15NAngvirNpgvivglv:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR12qb_pbafgehpgRCiz:
 nop
@@ -3523,7 +3523,7 @@
 b__MA7naqebvq32ertvfgre_naqebvq_tencuvpf_ZngevkRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVyR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVyR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVyR10qb_qrfgeblRCiz:
 nop
@@ -3538,12 +3538,12 @@
 b_tPyfNhqvbErpbeqEbhgvatCebkl:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVvRQ2Ri
+.weak b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVvRQ2Ri
 .type b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVvRQ2Ri,%function
 b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVvRQ2Ri:
 nop
@@ -3568,12 +3568,12 @@
 b__MA7naqebvq22AngvirVachgRiragFraqre15fraqZbgvbaRiragRwCXAF_11ZbgvbaRiragR:
 nop
 .data
-.globl b__MGIA7naqebvq10hveraqrere14PbagrkgSnpgbelR
+.weak b__MGIA7naqebvq10hveraqrere14PbagrkgSnpgbelR
 .type b__MGIA7naqebvq10hveraqrere14PbagrkgSnpgbelR,%object
 b__MGIA7naqebvq10hveraqrere14PbagrkgSnpgbelR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR12qb_pbafgehpgRCiz:
 nop
@@ -3588,7 +3588,7 @@
 b__MA7naqebvq18AngvirZrffntrDhrhrQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz:
 nop
@@ -3613,17 +3613,17 @@
 b_jevgr_gb_ybttre:
 nop
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq15ErfGnoyr_pbasvtRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVA7naqebvq15ErfGnoyr_pbasvtRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVA7naqebvq15ErfGnoyr_pbasvtRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVA7naqebvq15ErfGnoyr_pbasvtRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVsR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVsR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVsR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7__pybarRCAF0_6__onfrVFG_RR
+.weak b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7__pybarRCAF0_6__onfrVFG_RR
 .type b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7__pybarRCAF0_6__onfrVFG_RR,%function
 b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7__pybarRCAF0_6__onfrVFG_RR:
 nop
@@ -3633,7 +3633,7 @@
 b__MA7naqebvq28AngvirVachgNccyvpngvbaUnaqyr36trgVachgNccyvpngvbaUnaqyrBowYbpnyErsRC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6vafregVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVF5_RRR4glcrRAFO_VCXvRRF7_F7_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6vafregVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVF5_RRR4glcrRAFO_VCXvRRF7_F7_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6vafregVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVF5_RRR4glcrRAFO_VCXvRRF7_F7_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6vafregVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVF5_RRR4glcrRAFO_VCXvRRF7_F7_:
 nop
@@ -3658,7 +3658,7 @@
 b__MA8TVSZbivrQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR13trgQngnUrycreRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR13trgQngnUrycreRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR13trgQngnUrycreRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR13trgQngnUrycreRi:
 nop
@@ -3673,7 +3673,7 @@
 b__M28PerngrWninVachgFgernzNqncgbeC7_WAVRaiC8_wbowrpgC11_wolgrNeenlo:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVwR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVwR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVwR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVwR8qb_fcyngRCiCXiz:
 nop
@@ -3683,7 +3683,7 @@
 b_tBcgvbaf_zPnapryVQ:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EF6_EF8_EXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR18qrfgebl_qrnyybpngrRi:
 nop
@@ -3713,7 +3713,7 @@
 b__MA18QrnguErpvcvragYvfgQ1Ri:
 nop
 .data
-.globl b__MGP11WninOOvaqre0_A7naqebvq7OOvaqreR
+.weak b__MGP11WninOOvaqre0_A7naqebvq7OOvaqreR
 .type b__MGP11WninOOvaqre0_A7naqebvq7OOvaqreR,%object
 b__MGP11WninOOvaqre0_A7naqebvq7OOvaqreR:
 .space __SIZEOF_POINTER__
@@ -3723,12 +3723,12 @@
 b__MA7naqebvq44ertvfgre_naqebvq_onpxhc_SvyrOnpxhcUrycreOnfrRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRR:
 nop
@@ -3748,7 +3748,7 @@
 b__M10qbGuebjVBRC7_WAVRaiCXp:
 nop
 .data
-.globl b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR8_AF_7VOvaqreR
+.weak b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR8_AF_7VOvaqreR
 .type b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR8_AF_7VOvaqreR,%object
 b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
@@ -3763,7 +3763,7 @@
 b__MA7naqebvq18AngvirVachgPunaary30vaibxrNaqErzbirQvfcbfrPnyyonpxRC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -3773,7 +3773,7 @@
 b__MA7naqebvq35naqebvq_tencuvpf_Zngevk_trgFxZngevkRC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR8trgPbhagRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR8trgPbhagRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR8trgPbhagRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR8trgPbhagRi:
 nop
@@ -3813,7 +3813,7 @@
 b__MA7naqebvq27WAVNhqvbIbyhzrTebhcPnyyonpx25baNhqvbIbyhzrTebhcPunatrqRAF_14ibyhzr_tebhc_gRv:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR7trgGlcrRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR7trgGlcrRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR7trgGlcrRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR7trgGlcrRi:
 nop
@@ -3823,7 +3823,7 @@
 b__MA18QrnguErpvcvragYvfg3nqqREXA7naqebvq2fcV18WninQrnguErpvcvragRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -3838,12 +3838,12 @@
 b__MA7naqebvq10VachgDhrhr14perngrXrlRiragRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVsR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVsR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVsR10qb_qrfgeblRCiz:
 nop
@@ -3853,7 +3853,7 @@
 b__M34naqebvq_bf_Cebprff_frgCebprffTebhcC7_WAVRaiC8_wbowrpgvv:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR7qb_pbclRCiCXiz:
 nop
@@ -3908,12 +3908,12 @@
 b__MAX7naqebvq7WUjOybo9trgFgevatRzCCXAF_8uneqjner11uvqy_fgevatR:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7zvavxva10SbagSnzvylRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7zvavxva10SbagSnzvylRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7zvavxva10SbagSnzvylRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7zvavxva10SbagSnzvylRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVgR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVgR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVgR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVgR8qb_fcyngRCiCXiz:
 nop
@@ -3928,7 +3928,7 @@
 b__MA21Lhi420FcGbWcrtRapbqre12qrvagreyrnirRCuF0_F0_vvv:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVC11_wolgrNeenlRR
+.weak b__MGIA7naqebvq6IrpgbeVC11_wolgrNeenlRR
 .type b__MGIA7naqebvq6IrpgbeVC11_wolgrNeenlRR,%object
 b__MGIA7naqebvq6IrpgbeVC11_wolgrNeenlRR:
 .space __SIZEOF_POINTER__
@@ -3968,12 +3968,12 @@
 b__MA16WAVPnzrenPbagrkg8cbfgQngnRvEXA7naqebvq2fcVAF0_7VZrzbelRRRC21pnzren_senzr_zrgnqngn:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVqR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVqR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVqR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVqR8qb_fcyngRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR:
 .space __SIZEOF_POINTER__
@@ -3983,7 +3983,7 @@
 b__M10trgPbagrkgy:
 nop
 .text
-.globl b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVwRRvgwCXG_w
+.weak b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVwRRvgwCXG_w
 .type b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVwRRvgwCXG_w,%function
 b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVwRRvgwCXG_w:
 nop
@@ -4008,7 +4008,7 @@
 b__MA7naqebvq15WUjErzbgrOvaqre9frgOvaqreREXAF_2fcVAF_8uneqjner7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RR18qrfgebl_qrnyybpngrRi:
 nop
@@ -4018,7 +4018,7 @@
 b__MA7naqebvq38ertvfgre_naqebvq_ivrj_GuernqrqEraqrereRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR10qb_qrfgeblRCiz:
 nop
@@ -4028,7 +4028,7 @@
 b__MA20Lhi422VGbWcrtRapbqre21pbasvtFnzcyvatSnpgbefRC20wcrt_pbzcerff_fgehpg:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR10qb_qrfgeblRCiz:
 nop
@@ -4048,7 +4048,7 @@
 b__MA7naqebvq30ertvfgre_naqebvq_bf_UvqyZrzbelRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR8qb_fcyngRCiCXiz:
 nop
@@ -4093,7 +4093,7 @@
 b__MGPA7naqebvq26AngvirQvfcynlRiragErprvireR0_AF_22QvfcynlRiragQvfcngpureR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR8qb_fcyngRCiCXiz:
 nop
@@ -4133,12 +4133,12 @@
 b__M35ertvfgre_naqebvq_uneqjner_HfoQrivprC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCXA7naqebvq9NcxNffrgfRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
+.weak b__MAFg3__16irpgbeVCXA7naqebvq9NcxNffrgfRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
 .type b__MAFg3__16irpgbeVCXA7naqebvq9NcxNffrgfRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_,%function
 b__MAFg3__16irpgbeVCXA7naqebvq9NcxNffrgfRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_:
 nop
@@ -4173,7 +4173,7 @@
 b__MGPA7naqebvq24WAVFhesnprGrkgherPbagrkgR0_AF_12PbafhzreOnfr22SenzrNinvynoyrYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR10qb_qrfgeblRCiz:
 nop
@@ -4183,7 +4183,7 @@
 b_nez64_flfgrz_svygre:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVyR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVyR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVyR7qb_pbclRCiCXiz:
 nop
@@ -4193,12 +4193,12 @@
 b__MA14WavVachgFgernz4bcraRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVqR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVqR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVqR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVqR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR13trgQngnUrycreRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR13trgQngnUrycreRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR13trgQngnUrycreRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR13trgQngnUrycreRi:
 nop
@@ -4213,12 +4213,12 @@
 b__MA7naqebvq24AngvirVachgRiragErprvireP1RC7_WAVRaiC8_wbowrpgEXAF_2fcVAF_12VachgPunaaryRRREXAF5_VAF_12ZrffntrDhrhrRRR:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq16WTybonyErsUbyqreRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq16WTybonyErsUbyqreRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq16WTybonyErsUbyqreRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq16WTybonyErsUbyqreRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -4228,12 +4228,12 @@
 b__MA7naqebvq6ovgznc12haybpxCvkryfRC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVuRQ0Ri
+.weak b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVuRQ0Ri
 .type b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVuRQ0Ri,%function
 b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVuRQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVwRQ2Ri
+.weak b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVwRQ2Ri
 .type b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVwRQ2Ri,%function
 b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVwRQ2Ri:
 nop
@@ -4258,7 +4258,7 @@
 b__MGIA7naqebvq26UjOvaqreQrnguErpvcvragYvfgR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR:
 nop
@@ -4268,7 +4268,7 @@
 b__MA7naqebvq30naqebvq_ivrj_XrlRirag_gbAngvirRC7_WAVRaiC8_wbowrpgCAF_8XrlRiragR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -4278,7 +4278,7 @@
 b__MA7naqebvq31naqebvq_ivrj_Fhesnpr_trgFhesnprRC7_WAVRaiC8_wbowrpg:
 nop
 .data
-.globl b__MGI18WninQrnguErpvcvrag
+.weak b__MGI18WninQrnguErpvcvrag
 .type b__MGI18WninQrnguErpvcvrag,%object
 b__MGI18WninQrnguErpvcvrag:
 .space __SIZEOF_POINTER__
@@ -4293,12 +4293,12 @@
 b__MA7naqebvq31ertvfgre_naqebvq_bf_FlfgrzPybpxRC7_WAVRai:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8XrlRiragRR10qb_qrfgeblRCiz:
 nop
@@ -4313,7 +4313,7 @@
 b__M25naqebvq_bf_Cebprff_frgTvqC7_WAVRaiC8_wbowrpgv:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR6trgGntRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR6trgGntRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR6trgGntRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR6trgGntRi:
 nop
@@ -4328,7 +4328,7 @@
 b__MGIA7naqebvq13AbgvslUnaqyreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_FQ_RRyRRECAF_15__gerr_raq_abqrVFS_RRFT_EXG_
+.weak b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_FQ_RRyRRECAF_15__gerr_raq_abqrVFS_RRFT_EXG_
 .type b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_FQ_RRyRRECAF_15__gerr_raq_abqrVFS_RRFT_EXG_,%function
 b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_FQ_RRyRRECAF_15__gerr_raq_abqrVFS_RRFT_EXG_:
 nop
@@ -4358,12 +4358,12 @@
 b__MGP16WAVPnzrenPbagrkg0_A7naqebvq14PnzrenYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVuR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVuR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVuR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVuR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
@@ -4378,7 +4378,7 @@
 b__MA7naqebvq28ertvfgre_naqebvq_bf_UjCnepryRC7_WAVRai:
 nop
 .data
-.globl b__MGIA7naqebvq14EbbgEraqreAbqrR
+.weak b__MGIA7naqebvq14EbbgEraqreAbqrR
 .type b__MGIA7naqebvq14EbbgEraqreAbqrR,%object
 b__MGIA7naqebvq14EbbgEraqreAbqrR:
 .space __SIZEOF_POINTER__
@@ -4388,12 +4388,12 @@
 b__MA7naqebvq15WUjErzbgrOvaqreP1RC7_WAVRaiC8_wbowrpgEXAF_2fcVAF_8uneqjner7VOvaqreRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVuR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVuR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVuR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVuR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -4423,7 +4423,7 @@
 b__MA7naqebvq40ertvfgre_naqebvq_ivrj_EraqreAbqrNavzngbeRC7_WAVRai:
 nop
 .data
-.globl b__MGIA7naqebvq33NavzngvbaYvfgrareYvsrplpyrPurpxreR
+.weak b__MGIA7naqebvq33NavzngvbaYvfgrareYvsrplpyrPurpxreR
 .type b__MGIA7naqebvq33NavzngvbaYvfgrareYvsrplpyrPurpxreR,%object
 b__MGIA7naqebvq33NavzngvbaYvfgrareYvsrplpyrPurpxreR:
 .space __SIZEOF_POINTER__
@@ -4438,7 +4438,7 @@
 b__MA7naqebvq22angvirFpnyrSbeCevagvatRC7_WAVRaiC7_wpynffy:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15NhqvbNggevohgrfRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq15NhqvbNggevohgrfRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq15NhqvbNggevohgrfRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq15NhqvbNggevohgrfRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -4453,7 +4453,7 @@
 b__MA7naqebvq17tEhaanoyrZrgubqVqR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR12qb_pbafgehpgRCiz:
 nop
@@ -4463,7 +4463,7 @@
 b__MA11TencuvpfWAV25perngrOvgzncErtvbaQrpbqreRC7_WAVRaiC21FxOvgzncErtvbaQrpbqre:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_20VErzbgrQvfcynlPyvragRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_20VErzbgrQvfcynlPyvragRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_20VErzbgrQvfcynlPyvragRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_20VErzbgrQvfcynlPyvragRR10baNfOvaqreRi:
 nop
@@ -4478,17 +4478,17 @@
 b_fgngf_jevgr_yvfg:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_10hveraqrere10EraqreAbqrRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_10hveraqrere10EraqreAbqrRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_10hveraqrere10EraqreAbqrRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_10hveraqrere10EraqreAbqrRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -4548,12 +4548,12 @@
 b__MA20WAVNhqvbCbegPnyyonpxQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RR7__pybarRi:
 nop
@@ -4568,7 +4568,7 @@
 b__MA7naqebvq43ertvfgre_naqebvq_tencuvpf_grkg_ZrnfherqGrkgRC7_WAVRai:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRRR:
 .space __SIZEOF_POINTER__
@@ -4648,7 +4648,7 @@
 b__MA7naqebvq37ertvfgre_naqebvq_qngnonfr_FDYvgrQrohtRC7_WAVRai:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVwRR
+.weak b__MGIA7naqebvq6IrpgbeVwRR
 .type b__MGIA7naqebvq6IrpgbeVwRR,%object
 b__MGIA7naqebvq6IrpgbeVwRR:
 .space __SIZEOF_POINTER__
@@ -4663,12 +4663,12 @@
 b__MGI13AngvirPbagrkg:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR12qb_pbafgehpgRCiz:
 nop
@@ -4683,7 +4683,7 @@
 b_tBcgvbaf_fperraQrafvglSvryqVQ:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR8qb_fcyngRCiCXiz:
 nop
@@ -4703,7 +4703,7 @@
 b__MA7naqebvq37ertvfgre_naqebvq_ivrj_XrlPunenpgreZncRC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz:
 nop
@@ -4718,7 +4718,7 @@
 b__MA16WAVPnzrenPbagrkg22pyrnePnyyonpxOhssref_yRC7_WAVRai:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_6FrafbeRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_6FrafbeRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_6FrafbeRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_6FrafbeRRR:
 .space __SIZEOF_POINTER__
@@ -4733,12 +4733,12 @@
 b__MGI20Lhi422VGbWcrtRapbqre:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva4SbagRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7zvavxva4SbagRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7zvavxva4SbagRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7zvavxva4SbagRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
 .text
-.globl b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVgRQ0Ri
+.weak b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVgRQ0Ri
 .type b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVgRQ0Ri,%function
 b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVgRQ0Ri:
 nop
@@ -4748,7 +4748,7 @@
 b__MA23WAVFbhaqGevttrePnyyonpx20baFreivprFgngrPunatrR29fbhaq_gevttre_freivpr_fgngr_g:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR12qb_pbafgehpgRCiz:
 nop
@@ -4803,7 +4803,7 @@
 b__MA7naqebvq33ertvfgre_naqebvq_ivrj_GrkgherIvrjRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR7qb_pbclRCiCXiz:
 nop
@@ -4818,7 +4818,7 @@
 b__MA7naqebvq36naqebvq_bf_Qroht_trgCebklBowrpgPbhagRC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR13trgQngnUrycreRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR13trgQngnUrycreRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR13trgQngnUrycreRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR13trgQngnUrycreRi:
 nop
@@ -4828,12 +4828,12 @@
 b__MA7naqebvq36ertvfgre_naqebvq_ivrj_FhesnprPbagebyRC7_WAVRai:
 nop
 .data
-.globl b__MGIA7naqebvq21VaibxrEhaanoyrZrffntrR
+.weak b__MGIA7naqebvq21VaibxrEhaanoyrZrffntrR
 .type b__MGIA7naqebvq21VaibxrEhaanoyrZrffntrR,%object
 b__MGIA7naqebvq21VaibxrEhaanoyrZrffntrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_
+.weak b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_
 .type b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_,%function
 b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_:
 nop
@@ -4848,7 +4848,7 @@
 b__MA7naqebvq17NhgbOhssreCbvagreP1RC7_WAVRaiC8_wbowrpgu:
 nop
 .data
-.globl b__MGI5Zbivr
+.weak b__MGI5Zbivr
 .type b__MGI5Zbivr,%object
 b__MGI5Zbivr:
 .space __SIZEOF_POINTER__
@@ -4898,7 +4898,7 @@
 b__MA7naqebvq38pbairegNhqvbRssrpgQrfpevcgbeSebzAngvirRC7_WAVRaiCC8_wbowrpgCX19rssrpg_qrfpevcgbe_f:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -4913,7 +4913,7 @@
 b__MA7naqebvq7WUjOyboQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVsRRiBG_
+.weak b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVsRRiBG_
 .type b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVsRRiBG_,%function
 b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVsRRiBG_:
 nop
@@ -4928,7 +4928,7 @@
 b__M34WUjOvaqre_angvir_wbvaEcpGuernqcbbyi:
 nop
 .text
-.globl b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
+.weak b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
 .type b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR,%function
 b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR:
 nop
@@ -4973,12 +4973,12 @@
 b__MA11TencuvpfWAV13trgPbybeFcnprRC7_WAVRaiC12FxPbybeFcnpr11FxPbybeGlcr:
 nop
 .text
-.globl b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVvRQ0Ri
+.weak b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVvRQ0Ri
 .type b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVvRQ0Ri,%function
 b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVvRQ0Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_:
 nop
@@ -4988,7 +4988,7 @@
 b_tOvgzncPbasvt_pynff:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_4cnveVXvF3_RRRRRAFU_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_4cnveVXvF3_RRRRRAFU_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_4cnveVXvF3_RRRRRAFU_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_4cnveVXvF3_RRRRRAFU_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_:
 nop
@@ -5008,32 +5008,32 @@
 b__MA7naqebvq22AngvirVachgRiragFraqreQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR7qb_pbclRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq4YvfgVAF_2fcV18WninQrnguErpvcvragRRRR
+.weak b__MGIA7naqebvq4YvfgVAF_2fcV18WninQrnguErpvcvragRRRR
 .type b__MGIA7naqebvq4YvfgVAF_2fcV18WninQrnguErpvcvragRRRR,%object
 b__MGIA7naqebvq4YvfgVAF_2fcV18WninQrnguErpvcvragRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_13TencuvpOhssreRRR
+.weak b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_13TencuvpOhssreRRR
 .type b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_13TencuvpOhssreRRR,%object
 b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_13TencuvpOhssreRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_:
 nop
@@ -5048,7 +5048,7 @@
 b__MA7naqebvq36ertvfgre_naqebvq_arg_YbpnyFbpxrgVzcyRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_16xrl_inyhr_cnve_gVCAF_10VachgRiragRoRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -5058,7 +5058,7 @@
 b__MA7naqebvq38naqebvq_FhesnprGrkgher_trgAngvirJvaqbjRC7_WAVRaiC8_wbowrpg:
 nop
 .data
-.globl b__MGI14VaibxrYvfgrare
+.weak b__MGI14VaibxrYvfgrare
 .type b__MGI14VaibxrYvfgrare,%object
 b__MGI14VaibxrYvfgrare:
 .space __SIZEOF_POINTER__
@@ -5073,7 +5073,7 @@
 b__MA8TVSZbivrQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq12ZvavxvaHgvyf10sbeSbagEhaVAF_9CnvagTyhr14TrgGrkgShapgbeRRRiEXA7zvavxva6YnlbhgRCAF_5CnvagREG_
+.weak b__MA7naqebvq12ZvavxvaHgvyf10sbeSbagEhaVAF_9CnvagTyhr14TrgGrkgShapgbeRRRiEXA7zvavxva6YnlbhgRCAF_5CnvagREG_
 .type b__MA7naqebvq12ZvavxvaHgvyf10sbeSbagEhaVAF_9CnvagTyhr14TrgGrkgShapgbeRRRiEXA7zvavxva6YnlbhgRCAF_5CnvagREG_,%function
 b__MA7naqebvq12ZvavxvaHgvyf10sbeSbagEhaVAF_9CnvagTyhr14TrgGrkgShapgbeRRRiEXA7zvavxva6YnlbhgRCAF_5CnvagREG_:
 nop
@@ -5088,7 +5088,7 @@
 b__M34ertvfgre_naqebvq_bcraty_wav_RTYRkgC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR8qb_fcyngRCiCXiz:
 nop
@@ -5098,7 +5098,7 @@
 b__MAX7naqebvq7WUjOybo4fvmrRi:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -5108,17 +5108,17 @@
 b__MA18QrnguErpvcvragYvfg4ybpxRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVs7FxCbvagRRAF_19__znc_inyhr_pbzcnerVsF3_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF3_RRR7qrfgeblRCAF_11__gerr_abqrVF3_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVs7FxCbvagRRAF_19__znc_inyhr_pbzcnerVsF3_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF3_RRR7qrfgeblRCAF_11__gerr_abqrVF3_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVs7FxCbvagRRAF_19__znc_inyhr_pbzcnerVsF3_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF3_RRR7qrfgeblRCAF_11__gerr_abqrVF3_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVs7FxCbvagRRAF_19__znc_inyhr_pbzcnerVsF3_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF3_RRR7qrfgeblRCAF_11__gerr_abqrVF3_CiRR:
 nop
@@ -5133,7 +5133,7 @@
 b__MA7naqebvq60ertvfgre_pbz_naqebvq_vagreany_bf_MltbgrVavg_angvirMltbgrVavgRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR12qb_pbafgehpgRCiz:
 nop
@@ -5178,12 +5178,12 @@
 b__MA16WAVPnzrenPbagrkg33cbfgErpbeqvatSenzrUnaqyrGvzrfgnzcRyC13angvir_unaqyr:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR13trgQngnUrycreRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR13trgQngnUrycreRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR13trgQngnUrycreRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR13trgQngnUrycreRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR12qb_pbafgehpgRCiz:
 nop
@@ -5198,7 +5198,7 @@
 b__MA13AngvirPbagrkg14frgBevragngvbaRg:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR10qb_qrfgeblRCiz:
 nop
@@ -5213,12 +5213,12 @@
 b__MGI21Lhi420FcGbWcrtRapbqre:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR6trgGntRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR6trgGntRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR6trgGntRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR6trgGntRi:
 nop
@@ -5228,7 +5228,7 @@
 b__MA7naqebvq9WUjCnepry16FrgAngvirPbagrkgRC7_WAVRaiC8_wbowrpgEXAF_2fcVF0_RR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR12qb_pbafgehpgRCiz:
 nop
@@ -5268,22 +5268,22 @@
 b__MA7naqebvq35naqebvq_tencuvpf_Ertvba_trgFxErtvbaRC7_WAVRaiC8_wbowrpg:
 nop
 .data
-.globl b__MGI23ErplpyvatCvkryNyybpngbe
+.weak b__MGI23ErplpyvatCvkryNyybpngbe
 .type b__MGI23ErplpyvatCvkryNyybpngbe,%object
 b__MGI23ErplpyvatCvkryNyybpngbe:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq10hveraqrere19PnainfCebcreglCnvagR
+.weak b__MGIA7naqebvq10hveraqrere19PnainfCebcreglCnvagR
 .type b__MGIA7naqebvq10hveraqrere19PnainfCebcreglCnvagR,%object
 b__MGIA7naqebvq10hveraqrere19PnainfCebcreglCnvagR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR8trgPbhagRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR8trgPbhagRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR8trgPbhagRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR8trgPbhagRi:
 nop
@@ -5298,7 +5298,7 @@
 b__MA20WAVNhqvbCbegPnyyonpxQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_9vzt_hgvyf11FgevcFbheprRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -5308,7 +5308,7 @@
 b__M44ertvfgre_naqebvq_uneqjner_pnzren2_QatPerngbeC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR18trgPbzcnenoyrInyhrRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR18trgPbzcnenoyrInyhrRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR18trgPbzcnenoyrInyhrRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR18trgPbzcnenoyrInyhrRi:
 nop
@@ -5353,12 +5353,12 @@
 b__MA5Zbivr10QrpbqrSvyrRCXp:
 nop
 .data
-.globl b__MGIA7zvavxva14ErcynprzragEhaR
+.weak b__MGIA7zvavxva14ErcynprzragEhaR
 .type b__MGIA7zvavxva14ErcynprzragEhaR,%object
 b__MGIA7zvavxva14ErcynprzragEhaR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGP14VaibxrYvfgrare0_A7naqebvq14ZrffntrUnaqyreR
+.weak b__MGP14VaibxrYvfgrare0_A7naqebvq14ZrffntrUnaqyreR
 .type b__MGP14VaibxrYvfgrare0_A7naqebvq14ZrffntrUnaqyreR,%object
 b__MGP14VaibxrYvfgrare0_A7naqebvq14ZrffntrUnaqyreR:
 .space __SIZEOF_POINTER__
@@ -5368,22 +5368,22 @@
 b__MA11TencuvpfWAV14erpg_gb_werpgsREX6FxErpgC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAFg3__16irpgbeV7FxCbvagAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeV7FxCbvagAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeV7FxCbvagAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeV7FxCbvagAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVAF0_13XrearyIrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVAF0_13XrearyIrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVAF0_13XrearyIrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVAF0_13XrearyIrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVvRR
+.weak b__MGIA7naqebvq6IrpgbeVvRR
 .type b__MGIA7naqebvq6IrpgbeVvRR,%object
 b__MGIA7naqebvq6IrpgbeVvRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq16CnvagSyntfSvygreR
+.weak b__MGIA7naqebvq16CnvagSyntfSvygreR
 .type b__MGIA7naqebvq16CnvagSyntfSvygreR,%object
 b__MGIA7naqebvq16CnvagSyntfSvygreR:
 .space __SIZEOF_POINTER__
@@ -5398,12 +5398,12 @@
 b__MA7naqebvq23guebj_fdyvgr3_rkprcgvbaRC7_WAVRaiC7fdyvgr3:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR7qb_pbclRCiCXiz:
 nop
@@ -5423,7 +5423,7 @@
 b__MA7naqebvq36naqebvq_hgvy_Ybt_vfIreobfrYbtRanoyrqRCXp:
 nop
 .data
-.globl b__MGI15OlgrNeenlFgernz
+.weak b__MGI15OlgrNeenlFgernz
 .type b__MGI15OlgrNeenlFgernz,%object
 b__MGI15OlgrNeenlFgernz:
 .space __SIZEOF_POINTER__
@@ -5448,17 +5448,17 @@
 b__MA7naqebvq37ertvfgre_naqebvq_tencuvpf_PbybeSvygreRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq14PnzrenZrgnqngnRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq14PnzrenZrgnqngnRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq14PnzrenZrgnqngnRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq14PnzrenZrgnqngnRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -5468,7 +5468,7 @@
 b__MA7naqebvq12ZrffntrDhrhrQ1Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
@@ -5478,7 +5478,7 @@
 b__MA11TencuvpfWAV26uneqjnerYrtnplOvgzncPbasvtRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz:
 nop
@@ -5488,7 +5488,7 @@
 b__MA7naqebvq9WUjCnepryQ2Ri:
 nop
 .data
-.globl b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVwRR
+.weak b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVwRR
 .type b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVwRR,%object
 b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVwRR:
 .space __SIZEOF_POINTER__
@@ -5503,7 +5503,7 @@
 b__MA7naqebvq17WAVQrivprPnyyonpx19baNhqvbQrivprHcqngrRvv:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR7trgFvmrRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR7trgFvmrRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR7trgFvmrRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR7trgFvmrRi:
 nop
@@ -5523,12 +5523,12 @@
 b__MA7naqebvq10VachgDhrhr11svavfuRiragRCAF_10VachgRiragRo:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .data
-.globl b__MGGA7naqebvq25AngvirErzbgrQvfcynlPyvragR
+.weak b__MGGA7naqebvq25AngvirErzbgrQvfcynlPyvragR
 .type b__MGGA7naqebvq25AngvirErzbgrQvfcynlPyvragR,%object
 b__MGGA7naqebvq25AngvirErzbgrQvfcynlPyvragR:
 .space __SIZEOF_POINTER__
@@ -5543,7 +5543,7 @@
 b__MAX7naqebvq15WUjErzbgrOvaqre21trgQrnguErpvcvragYvfgRi:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR9jevgrQngnRwCAF0_12RaqvnaBhgchgR
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR9jevgrQngnRwCAF0_12RaqvnaBhgchgR
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR9jevgrQngnRwCAF0_12RaqvnaBhgchgR,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR9jevgrQngnRwCAF0_12RaqvnaBhgchgR:
 nop
@@ -5558,7 +5558,7 @@
 b__MA7naqebvq39ertvfgre_naqebvq_hgvy_wne_FgevpgWneSvyrRC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFS_RREXG_
+.weak b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFS_RREXG_
 .type b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFS_RREXG_,%function
 b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFS_RREXG_:
 nop
@@ -5568,7 +5568,7 @@
 b__M41naqebvq_bf_Cebprff_erzbirNyyCebprffTebhcfC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR10qb_qrfgeblRCiz:
 nop
@@ -5588,7 +5588,7 @@
 b__MA7naqebvq24AngvirVachgRiragErprvire16svavfuVachgRiragRwo:
 nop
 .data
-.globl b__MGIA7naqebvq11ZbgvbaRiragR
+.weak b__MGIA7naqebvq11ZbgvbaRiragR
 .type b__MGIA7naqebvq11ZbgvbaRiragR,%object
 b__MGIA7naqebvq11ZbgvbaRiragR:
 .space __SIZEOF_POINTER__
@@ -5598,47 +5598,47 @@
 b__MA7naqebvq16QryrgrFperrafubgRCiF0_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_6YbbcreRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_6YbbcreRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_6YbbcreRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_6YbbcreRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVwRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR
+.weak b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVwRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR
 .type b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVwRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR,%function
 b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVwRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR7trgGlcrRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR7trgGlcrRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR7trgGlcrRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR7trgGlcrRi:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVgRR
+.weak b__MGIA7naqebvq6IrpgbeVgRR
 .type b__MGIA7naqebvq6IrpgbeVgRR,%object
 b__MGIA7naqebvq6IrpgbeVgRR:
 .space __SIZEOF_POINTER__
@@ -5648,7 +5648,7 @@
 b__MA7naqebvq44ertvfgre_naqebvq_ivrj_VachgNccyvpngvbaUnaqyrRC7_WAVRai:
 nop
 .data
-.globl b__MGIA7naqebvq18PbagrkgSnpgbelVzcyR
+.weak b__MGIA7naqebvq18PbagrkgSnpgbelVzcyR
 .type b__MGIA7naqebvq18PbagrkgSnpgbelVzcyR,%object
 b__MGIA7naqebvq18PbagrkgSnpgbelVzcyR:
 .space __SIZEOF_POINTER__
@@ -5658,7 +5658,7 @@
 b__MA7naqebvq16RcurzrenyFgbentr25nyybpGrzcbenelVag64IrpgbeRC7_WAVRaiC11_wybatNeenl:
 nop
 .data
-.globl b__MGI22WninVachgFgernzNqncgbe
+.weak b__MGI22WninVachgFgernzNqncgbe
 .type b__MGI22WninVachgFgernzNqncgbe,%object
 b__MGI22WninVachgFgernzNqncgbe:
 .space __SIZEOF_POINTER__
@@ -5688,12 +5688,12 @@
 b__MA7naqebvq30ertvfgre_naqebvq_tencuvpf_CnguRC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR6nffvtaVCpRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVpAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
+.weak b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR6nffvtaVCpRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVpAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
 .type b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR6nffvtaVCpRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVpAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_,%function
 b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR6nffvtaVCpRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVpAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_:
 nop
 .data
-.globl b__MGIA7naqebvq10hveraqrere24CebcreglInyhrfUbyqreVzcyVAF0_14IrpgbeQenjnoyr4Cngu4QngnRRR
+.weak b__MGIA7naqebvq10hveraqrere24CebcreglInyhrfUbyqreVzcyVAF0_14IrpgbeQenjnoyr4Cngu4QngnRRR
 .type b__MGIA7naqebvq10hveraqrere24CebcreglInyhrfUbyqreVzcyVAF0_14IrpgbeQenjnoyr4Cngu4QngnRRR,%object
 b__MGIA7naqebvq10hveraqrere24CebcreglInyhrfUbyqreVzcyVAF0_14IrpgbeQenjnoyr4Cngu4QngnRRR:
 .space __SIZEOF_POINTER__
@@ -5708,7 +5708,7 @@
 b__MA7naqebvq4zvqv18tSvqZvqvQrivprVasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVwRQ0Ri
+.weak b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVwRQ0Ri
 .type b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVwRQ0Ri,%function
 b__MA7naqebvq9vzt_hgvyf13GvssRagelVzcyVwRQ0Ri:
 nop
@@ -5723,12 +5723,12 @@
 b__MA20NfuzrzCvkryNyybpngbeP1RC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV14FpbcrqHgsPunefAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV14FpbcrqHgsPunefAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV14FpbcrqHgsPunefAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV14FpbcrqHgsPunefAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeV11fbpx_svygreAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
+.weak b__MAFg3__16irpgbeV11fbpx_svygreAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
 .type b__MAFg3__16irpgbeV11fbpx_svygreAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_,%function
 b__MAFg3__16irpgbeV11fbpx_svygreAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_:
 nop
@@ -5763,12 +5763,12 @@
 b__MAX7naqebvq7WUjOybo21jevgrFhoOybofGbCnepryRCAF_8uneqjner6CnepryRz:
 nop
 .data
-.globl b__MGI18FxWninBhgchgFgernz
+.weak b__MGI18FxWninBhgchgFgernz
 .type b__MGI18FxWninBhgchgFgernz,%object
 b__MGI18FxWninBhgchgFgernz:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR7qb_pbclRCiCXiz:
 nop
@@ -5803,7 +5803,7 @@
 b__MA7naqebvq27WAVNhqvbIbyhzrTebhcPnyyonpxQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR18trgPbzcnenoyrInyhrRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR18trgPbzcnenoyrInyhrRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR18trgPbzcnenoyrInyhrRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVqR18trgPbzcnenoyrInyhrRi:
 nop
@@ -5818,12 +5818,12 @@
 b__MAX7naqebvq7Cvpgher9frevnyvmrRC9FxJFgernz:
 nop
 .data
-.globl b__MGIA7naqebvq15WUjOvaqreUbyqreR
+.weak b__MGIA7naqebvq15WUjOvaqreUbyqreR
 .type b__MGIA7naqebvq15WUjOvaqreUbyqreR,%object
 b__MGIA7naqebvq15WUjOvaqreUbyqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR12qb_pbafgehpgRCiz:
 nop
@@ -5833,7 +5833,7 @@
 b__MA15WavBhgchgFgernz5jevgrRCXuzz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVwWEwFS_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVwWEwFS_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVwWEwFS_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVwWEwFS_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_:
 nop
@@ -5843,7 +5843,7 @@
 b_QTvsTrgRkgrafvbaArkg:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRRR:
 .space __SIZEOF_POINTER__
@@ -5853,7 +5853,7 @@
 b__MA7naqebvq9WUjCnepry9ArjBowrpgRC7_WAVRai:
 nop
 .data
-.globl b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -5863,12 +5863,12 @@
 b__MA13AngvirPbagrkg10frgTcfQngnREX7TcfQngn:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR7trgGlcrRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR7trgGlcrRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR7trgGlcrRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR7trgGlcrRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvC18SvyrQrfpevcgbeVasbRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz:
 nop
@@ -5878,7 +5878,7 @@
 b__MA7naqebvq32ertvfgre_naqebvq_bf_FunerqZrzbelRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR8qb_fcyngRCiCXiz:
 nop
@@ -5888,7 +5888,7 @@
 b__MA7naqebvq16RcurzrenyFgbentrQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7zvavxva3EhaRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWAF1_VAF2_14ErcynprzragEhaRAF4_VFO_RRRRRRRiQcBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7zvavxva3EhaRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWAF1_VAF2_14ErcynprzragEhaRAF4_VFO_RRRRRRRiQcBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7zvavxva3EhaRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWAF1_VAF2_14ErcynprzragEhaRAF4_VFO_RRRRRRRiQcBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7zvavxva3EhaRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWAF1_VAF2_14ErcynprzragEhaRAF4_VFO_RRRRRRRiQcBG_:
 nop
@@ -5918,7 +5918,7 @@
 b__MA7naqebvq23AngvirVachgJvaqbjUnaqyr31trgVachgJvaqbjUnaqyrBowYbpnyErsRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVwR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVwR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVwR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVwR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -5933,7 +5933,7 @@
 b__M21cbfgCebprffNaqEryrnfrC7_WAVRaiC8_wbowrpgAFg3__110havdhr_cgeVA7naqebvq6PnainfRAF3_14qrsnhyg_qryrgrVF6_RRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVqR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVqR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVqR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVqR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -5953,7 +5953,7 @@
 b__MA15WavBhgchgFgernzQ2Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVzAF_10havdhr_cgeV14FpbcrqYbpnyErsVC11_wolgrNeenlRAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVzFN_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVFN_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFN_CAF_11__gerr_abqrVFN_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVzAF_10havdhr_cgeV14FpbcrqYbpnyErsVC11_wolgrNeenlRAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVzFN_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVFN_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFN_CAF_11__gerr_abqrVFN_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVzAF_10havdhr_cgeV14FpbcrqYbpnyErsVC11_wolgrNeenlRAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVzFN_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVFN_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFN_CAF_11__gerr_abqrVFN_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVzAF_10havdhr_cgeV14FpbcrqYbpnyErsVC11_wolgrNeenlRAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVzFN_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVFN_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFN_CAF_11__gerr_abqrVFN_CiRRyRR:
 nop
@@ -5988,7 +5988,7 @@
 b__MA7naqebvq26AngvirQvfcynlRiragErprvire7qvfcbfrRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR7qb_pbclRCiCXiz:
 nop
@@ -6018,7 +6018,7 @@
 b__MA20WAVNhqvbCbegPnyyonpxQ0Ri:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RRpyRBFR_
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RRpyRBFR_
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RRpyRBFR_,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RRpyRBFR_:
 nop
@@ -6043,7 +6043,7 @@
 b__MA11TencuvpfWAV9frg_werpgRC7_WAVRaiC8_wbowrpgvvvv:
 nop
 .data
-.globl b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR0_AF_20VErzbgrQvfcynlPyvragR
+.weak b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR0_AF_20VErzbgrQvfcynlPyvragR
 .type b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR0_AF_20VErzbgrQvfcynlPyvragR,%object
 b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR0_AF_20VErzbgrQvfcynlPyvragR:
 .space __SIZEOF_POINTER__
@@ -6053,7 +6053,7 @@
 b__MA16WAVPnzrenPbagrkg17trgPnyyonpxOhssreRC7_WAVRaiCA7naqebvq6IrpgbeVC11_wolgrNeenlRRz:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR:
 nop
@@ -6073,12 +6073,12 @@
 b__MGi0_a24_A7naqebvq18AngvirZrffntrDhrhrQ1Ri:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVgRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR
+.weak b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVgRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR
 .type b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVgRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR,%function
 b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVgRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR:
 nop
@@ -6108,12 +6108,12 @@
 b__MGG16WAVPnzrenPbagrkg:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVuRR
+.weak b__MGIA7naqebvq6IrpgbeVuRR
 .type b__MGIA7naqebvq6IrpgbeVuRR,%object
 b__MGIA7naqebvq6IrpgbeVuRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -6123,12 +6123,12 @@
 b__M32ertvfgre_naqebvq_tencuvpf_OvgzncC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVgR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVgR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVgR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVgR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -6143,7 +6143,7 @@
 b__MA5Zbivr12QrpbqrFgernzRC18FxFgernzErjvaqnoyr:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -6173,12 +6173,12 @@
 b__MA7naqebvq9WUjCnepryQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVvRR
+.weak b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVvRR
 .type b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVvRR,%object
 b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVvRR:
 .space __SIZEOF_POINTER__
@@ -6188,7 +6188,7 @@
 b__MA7naqebvq26ertvfgre_naqebvq_bf_UjOyboRC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVEXsRRiBG_
+.weak b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVEXsRRiBG_
 .type b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVEXsRRiBG_,%function
 b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVEXsRRiBG_:
 nop
@@ -6203,7 +6203,7 @@
 b__MGI31ErplpyvatPyvccvatCvkryNyybpngbe:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR10qb_qrfgeblRCiz:
 nop
@@ -6218,12 +6218,12 @@
 b__MA7naqebvq22AngvirVachgRiragFraqre10vavgvnyvmrRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR6erunfuRz:
 nop
@@ -6238,7 +6238,7 @@
 b__M17trg_angvir_pnzrenC7_WAVRaiC8_wbowrpgCC16WAVPnzrenPbagrkg:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVuR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVuR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVuR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVuR12qb_pbafgehpgRCiz:
 nop
@@ -6258,17 +6258,17 @@
 b__MGGA7naqebvq24AngvirVachgRiragErprvireR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_11NhqvbErpbeqRRnFRCF1_
+.weak b__MA7naqebvq2fcVAF_11NhqvbErpbeqRRnFRCF1_
 .type b__MA7naqebvq2fcVAF_11NhqvbErpbeqRRnFRCF1_,%function
 b__MA7naqebvq2fcVAF_11NhqvbErpbeqRRnFRCF1_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVqR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVqR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVqR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVqR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVwR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVwR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVwR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVwR10qb_qrfgeblRCiz:
 nop
@@ -6283,7 +6283,7 @@
 b__MA7naqebvq24WAVFhesnprGrkgherPbagrkgP2RC7_WAVRaiC8_wbowrpgC7_wpynff:
 nop
 .data
-.globl b__MGIA7naqebvq25AngvirErzbgrQvfcynlPyvragR
+.weak b__MGIA7naqebvq25AngvirErzbgrQvfcynlPyvragR
 .type b__MGIA7naqebvq25AngvirErzbgrQvfcynlPyvragR,%object
 b__MGIA7naqebvq25AngvirErzbgrQvfcynlPyvragR:
 .space __SIZEOF_POINTER__
@@ -6293,7 +6293,7 @@
 b__MA7naqebvq36ertvfgre_naqebvq_ivrj_FhesnprFrffvbaRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_24AngvirVachgRiragErprvire6SvavfuRR7qb_pbclRCiCXiz:
 nop
@@ -6303,7 +6303,7 @@
 b__M10qbGuebjVFRC7_WAVRaiCXp:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVC27nhqvberpbeq_pnyyonpx_pbbxvrRR:
 .space __SIZEOF_POINTER__
@@ -6318,7 +6318,7 @@
 b__M34ertvfgre_naqebvq_tencuvpf_GlcrsnprC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR7qb_pbclRCiCXiz:
 nop
@@ -6328,12 +6328,12 @@
 b__MA7naqebvq20IrybpvglGenpxreFgngrP2RCXp:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF6_RRR9chfu_onpxRBF6_
+.weak b__MAFg3__114__fcyvg_ohssreVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF6_RRR9chfu_onpxRBF6_
 .type b__MAFg3__114__fcyvg_ohssreVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF6_RRR9chfu_onpxRBF6_,%function
 b__MAFg3__114__fcyvg_ohssreVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF6_RRR9chfu_onpxRBF6_:
 nop
 .data
-.globl b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVgRR
+.weak b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVgRR
 .type b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVgRR,%object
 b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVgRR:
 .space __SIZEOF_POINTER__
@@ -6348,7 +6348,7 @@
 b__MA7naqebvq22AngvirVachgRiragFraqreQ0Ri:
 nop
 .data
-.globl b__MGP11WninOOvaqre0_A7naqebvq7VOvaqreR
+.weak b__MGP11WninOOvaqre0_A7naqebvq7VOvaqreR
 .type b__MGP11WninOOvaqre0_A7naqebvq7VOvaqreR,%object
 b__MGP11WninOOvaqre0_A7naqebvq7VOvaqreR:
 .space __SIZEOF_POINTER__
@@ -6373,7 +6373,7 @@
 b__M36naqebvq_bf_Cebprff_trgRkpyhfvirPberfC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCA7naqebvq10CntrErpbeqRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
+.weak b__MAFg3__16irpgbeVCA7naqebvq10CntrErpbeqRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
 .type b__MAFg3__16irpgbeVCA7naqebvq10CntrErpbeqRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_,%function
 b__MAFg3__16irpgbeVCA7naqebvq10CntrErpbeqRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_:
 nop
@@ -6403,7 +6403,7 @@
 b_tBcgvbaf_pbybeFcnprSvryqVQ:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVuR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVuR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVuR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVuR8qb_fcyngRCiCXiz:
 nop
@@ -6428,7 +6428,7 @@
 b__M13qbGuebjNVBBORC7_WAVRai:
 nop
 .data
-.globl b__MGIA7naqebvq21FhesnprPbzcbfrePyvrag11GenafnpgvbaR
+.weak b__MGIA7naqebvq21FhesnprPbzcbfrePyvrag11GenafnpgvbaR
 .type b__MGIA7naqebvq21FhesnprPbzcbfrePyvrag11GenafnpgvbaR,%object
 b__MGIA7naqebvq21FhesnprPbzcbfrePyvrag11GenafnpgvbaR:
 .space __SIZEOF_POINTER__
@@ -6468,7 +6468,7 @@
 b__MA14WavVachgFgernzP1RC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVvRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR
+.weak b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVvRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR
 .type b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVvRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR,%function
 b__MAX7naqebvq9vzt_hgvyf10GvssJevgre10ohvyqRagelVvRRvgwCXG_CAF_2fcVAF0_9GvssRagelRRR:
 nop
@@ -6478,12 +6478,12 @@
 b__MA7naqebvq10VachgDhrhr12qrgnpuYbbcreRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR8qb_fcyngRCiCXiz:
 nop
@@ -6498,7 +6498,7 @@
 b_tBcgvbaf_bhgPbybeFcnprSvryqVQ:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -6513,7 +6513,7 @@
 b__M42naqebvq_bf_Cebprff_frgGuernqTebhcNaqPchfrgC7_WAVRaiC8_wbowrpgvv:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR8qb_fcyngRCiCXiz:
 nop
@@ -6543,7 +6543,7 @@
 b__MA15WavBhgchgFgernzQ1Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq2fcVAF1_10hveraqrere25CebcreglInyhrfNavzngbeFrgRRRAF_4yrffVF5_RRAF_9nyybpngbeVF5_RRR12__svaq_rdhnyVF5_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_FQ_RRyRRECAF_15__gerr_raq_abqrVFS_RRFT_EXG_
+.weak b__MAFg3__16__gerrVA7naqebvq2fcVAF1_10hveraqrere25CebcreglInyhrfNavzngbeFrgRRRAF_4yrffVF5_RRAF_9nyybpngbeVF5_RRR12__svaq_rdhnyVF5_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_FQ_RRyRRECAF_15__gerr_raq_abqrVFS_RRFT_EXG_
 .type b__MAFg3__16__gerrVA7naqebvq2fcVAF1_10hveraqrere25CebcreglInyhrfNavzngbeFrgRRRAF_4yrffVF5_RRAF_9nyybpngbeVF5_RRR12__svaq_rdhnyVF5_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_FQ_RRyRRECAF_15__gerr_raq_abqrVFS_RRFT_EXG_,%function
 b__MAFg3__16__gerrVA7naqebvq2fcVAF1_10hveraqrere25CebcreglInyhrfNavzngbeFrgRRRAF_4yrffVF5_RRAF_9nyybpngbeVF5_RRR12__svaq_rdhnyVF5_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_FQ_RRyRRECAF_15__gerr_raq_abqrVFS_RRFT_EXG_:
 nop
@@ -6558,7 +6558,7 @@
 b__MA7naqebvq23WAVNhqvbNggevohgrUrycre12trgWninNeenlRC7_WAVRaiCC13_wbowrpgNeenlv:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVgR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVgR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVgR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVgR10qb_qrfgeblRCiz:
 nop
@@ -6573,7 +6573,7 @@
 b_TvsZnxrFnirqVzntr:
 nop
 .data
-.globl b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -6583,17 +6583,17 @@
 b__M32naqebvq_bf_Cebprff_trgTvqSbeAnzrC7_WAVRaiC8_wbowrpgC8_wfgevat:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_10VachgRiragRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVqR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVqR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVqR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVqR10qb_qrfgeblRCiz:
 nop
@@ -6603,7 +6603,7 @@
 b__M33naqebvq_bf_Cebprff_frgGuernqTebhcC7_WAVRaiC8_wbowrpgvv:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_rzcynprVA7zvavxva10SbagSnzvylRAF_9nyybpngbeVF2_RRRR
+.weak b__MGIAFg3__120__funerq_cge_rzcynprVA7zvavxva10SbagSnzvylRAF_9nyybpngbeVF2_RRRR
 .type b__MGIAFg3__120__funerq_cge_rzcynprVA7zvavxva10SbagSnzvylRAF_9nyybpngbeVF2_RRRR,%object
 b__MGIAFg3__120__funerq_cge_rzcynprVA7zvavxva10SbagSnzvylRAF_9nyybpngbeVF2_RRRR:
 .space __SIZEOF_POINTER__
@@ -6613,7 +6613,7 @@
 b_QTvsBcraSvyrAnzr:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7WUjOybo8OyboVasbRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -6633,17 +6633,17 @@
 b__MGi0_a24_A7naqebvq18AngvirZrffntrDhrhrQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVvRRvgwCXG_w
+.weak b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVvRRvgwCXG_w
 .type b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVvRRvgwCXG_w,%function
 b__MA7naqebvq9vzt_hgvyf10GvssJevgre8nqqRagelVvRRvgwCXG_w:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq14PnzrenZrgnqngnRAF_9nyybpngbeVF2_RRRR
+.weak b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq14PnzrenZrgnqngnRAF_9nyybpngbeVF2_RRRR
 .type b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq14PnzrenZrgnqngnRAF_9nyybpngbeVF2_RRRR,%object
 b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq14PnzrenZrgnqngnRAF_9nyybpngbeVF2_RRRR:
 .space __SIZEOF_POINTER__
@@ -6653,12 +6653,12 @@
 b__MA7naqebvq10VachgDhrhr17erplpyrVachgRiragRCAF_10VachgRiragR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVC26nhqvbgenpx_pnyyonpx_pbbxvrR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_16RcurzrenyFgbentr4VgrzRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -6673,7 +6673,7 @@
 b__MGi0_a24_A7naqebvq26AngvirQvfcynlRiragErprvireQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR10qb_qrfgeblRCiz:
 nop
@@ -6698,7 +6698,7 @@
 b__M37ertvfgre_naqebvq_bcraty_wav_TYRF11RkgC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz:
 nop
@@ -6708,12 +6708,12 @@
 b__MA7naqebvq24AngvirVachgRiragErprvire7qvfcbfrRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR10qb_qrfgeblRCiz:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRRR:
 .space __SIZEOF_POINTER__
@@ -6733,7 +6733,7 @@
 b__MA7naqebvq9WUjOvaqre15TrgAngvirOvaqreRC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR8trgPbhagRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR8trgPbhagRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR8trgPbhagRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR8trgPbhagRi:
 nop
@@ -6753,7 +6753,7 @@
 b__MA7naqebvq24AngvirVachgRiragErprvire11unaqyrRiragRvvCi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR8qb_fcyngRCiCXiz:
 nop
@@ -6768,7 +6768,7 @@
 b__M10reebe_rkvgC18wcrt_pbzzba_fgehpg:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR12jevgrGntVasbRwCAF0_12RaqvnaBhgchgR:
 nop
@@ -6788,7 +6788,7 @@
 b__MA7naqebvq9WUjCnepryQ0Ri:
 nop
 .data
-.globl b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVuRR
+.weak b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVuRR
 .type b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVuRR,%object
 b__MGIA7naqebvq9vzt_hgvyf13GvssRagelVzcyVuRR:
 .space __SIZEOF_POINTER__
@@ -6798,7 +6798,7 @@
 b__M26ertvfgre_naqebvq_bf_OvaqreC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR12qb_pbafgehpgRCiz:
 nop
@@ -6818,7 +6818,7 @@
 b__MGI20WAVNhqvbCbegPnyyonpx:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRzRRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRzRRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRzRRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRzRRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR:
 nop
@@ -6828,7 +6828,7 @@
 b__MGIA7naqebvq7WUjOyboR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
@@ -6843,12 +6843,12 @@
 b_QTvsFyhec:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR8trgPbhagRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR8trgPbhagRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR8trgPbhagRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVvR8trgPbhagRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR12qb_pbafgehpgRCiz:
 nop
@@ -6858,7 +6858,7 @@
 b__MA7naqebvq34ertvfgre_naqebvq_bf_HRiragBofreireRC7_WAVRai:
 nop
 .data
-.globl b__MGIA7naqebvq10VachgRiragR
+.weak b__MGIA7naqebvq10VachgRiragR
 .type b__MGIA7naqebvq10VachgRiragR,%object
 b__MGIA7naqebvq10VachgRiragR:
 .space __SIZEOF_POINTER__
@@ -6913,12 +6913,12 @@
 b__MA7naqebvq23guebj_fdyvgr3_rkprcgvbaRC7_WAVRaiC7fdyvgr3CXp:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7zvavxva10SbagSnzvylRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7zvavxva10SbagSnzvylRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7zvavxva10SbagSnzvylRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7zvavxva10SbagSnzvylRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz:
 nop
@@ -6943,12 +6943,12 @@
 b__MA13AngvirPbagrkg9trgJevgreRi:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR13trgRaqvnaarffRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR13trgRaqvnaarffRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR13trgRaqvnaarffRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVwR13trgRaqvnaarffRi:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -6988,12 +6988,12 @@
 b__MA7naqebvq41ertvfgre_naqebvq_tencuvpf_cqs_CqsEraqrereRC7_WAVRai:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq15ZvavxvaSbagFxvnRAF_9nyybpngbeVF2_RRRR
+.weak b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq15ZvavxvaSbagFxvnRAF_9nyybpngbeVF2_RRRR
 .type b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq15ZvavxvaSbagFxvnRAF_9nyybpngbeVF2_RRRR,%object
 b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq15ZvavxvaSbagFxvnRAF_9nyybpngbeVF2_RRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RR7qrfgeblRi:
 nop
@@ -7013,7 +7013,7 @@
 b__M25frg_flfgrz_frppbzc_svygrei:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR8qb_fcyngRCiCXiz:
 nop
@@ -7023,7 +7023,7 @@
 b__MA16NhgbWninVagNeenlQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_6YbbcreRR7qb_pbclRCiCXiz:
 nop
@@ -7033,7 +7033,7 @@
 b__MA7naqebvq13AbgvslUnaqyre13unaqyrZrffntrREXAF_7ZrffntrR:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR7trgFvmrRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR7trgFvmrRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR7trgFvmrRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVgR7trgFvmrRi:
 nop
@@ -7053,7 +7053,7 @@
 b__MA7naqebvq32ertvfgre_naqebvq_hgvy_CnguCnefreRC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeV12WninIZBcgvbaR12qb_pbafgehpgRCiz:
 nop
@@ -7068,12 +7068,12 @@
 b__MA7naqebvq11WUvqyZrzbel6gbWninRC7_WAVRaiEXAF_8uneqjner11uvqy_zrzbelR:
 nop
 .data
-.globl b__MGI16OlgrOhssreFgernz
+.weak b__MGI16OlgrOhssreFgernz
 .type b__MGI16OlgrOhssreFgernz,%object
 b__MGI16OlgrOhssreFgernz:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeV18nhqvb_nggevohgrf_gAF_9nyybpngbeVF1_RRRP2REXF4_
+.weak b__MAFg3__16irpgbeV18nhqvb_nggevohgrf_gAF_9nyybpngbeVF1_RRRP2REXF4_
 .type b__MAFg3__16irpgbeV18nhqvb_nggevohgrf_gAF_9nyybpngbeVF1_RRRP2REXF4_,%function
 b__MAFg3__16irpgbeV18nhqvb_nggevohgrf_gAF_9nyybpngbeVF1_RRRP2REXF4_:
 nop
@@ -7083,12 +7083,12 @@
 b__MA7naqebvq16bgureFgngf_svryqR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGI16LhiGbWcrtRapbqre
+.weak b__MGI16LhiGbWcrtRapbqre
 .type b__MGI16LhiGbWcrtRapbqre,%object
 b__MGI16LhiGbWcrtRapbqre:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq19IraqbeGntQrfpevcgbeR
+.weak b__MGIA7naqebvq19IraqbeGntQrfpevcgbeR
 .type b__MGIA7naqebvq19IraqbeGntQrfpevcgbeR,%object
 b__MGIA7naqebvq19IraqbeGntQrfpevcgbeR:
 .space __SIZEOF_POINTER__
@@ -7098,12 +7098,12 @@
 b__MA7naqebvq38ertvfgre_naqebvq_qngnonfr_FDYvgrTybonyRC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__16irpgbeV8FxOvgzncAF_9nyybpngbeVF1_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeV8FxOvgzncAF_9nyybpngbeVF1_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeV8FxOvgzncAF_9nyybpngbeVF1_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeV8FxOvgzncAF_9nyybpngbeVF1_RRR8__nccraqRz:
 nop
 .data
-.globl b__MGPA7naqebvq23SvavfuNaqVaibxrYvfgrareR0_AF_14ZrffntrUnaqyreR
+.weak b__MGPA7naqebvq23SvavfuNaqVaibxrYvfgrareR0_AF_14ZrffntrUnaqyreR
 .type b__MGPA7naqebvq23SvavfuNaqVaibxrYvfgrareR0_AF_14ZrffntrUnaqyreR,%object
 b__MGPA7naqebvq23SvavfuNaqVaibxrYvfgrareR0_AF_14ZrffntrUnaqyreR:
 .space __SIZEOF_POINTER__
@@ -7168,7 +7168,7 @@
 b_tBcgvbaf_zvzrSvryqVQ:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12ZvavxvaCnvagRwRRAF_22__habeqrerq_znc_unfureVF3_F4_AF2_12YnlbhgCvrprf11CnvagUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF3_F4_AF_8rdhny_gbVF3_RRYo1RRRAF_9nyybpngbeVF4_RRRQ2Ri
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12ZvavxvaCnvagRwRRAF_22__habeqrerq_znc_unfureVF3_F4_AF2_12YnlbhgCvrprf11CnvagUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF3_F4_AF_8rdhny_gbVF3_RRYo1RRRAF_9nyybpngbeVF4_RRRQ2Ri
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12ZvavxvaCnvagRwRRAF_22__habeqrerq_znc_unfureVF3_F4_AF2_12YnlbhgCvrprf11CnvagUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF3_F4_AF_8rdhny_gbVF3_RRYo1RRRAF_9nyybpngbeVF4_RRRQ2Ri,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12ZvavxvaCnvagRwRRAF_22__habeqrerq_znc_unfureVF3_F4_AF2_12YnlbhgCvrprf11CnvagUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF3_F4_AF_8rdhny_gbVF3_RRYo1RRRAF_9nyybpngbeVF4_RRRQ2Ri:
 nop
@@ -7183,12 +7183,12 @@
 b__MA7naqebvq43ertvfgre_pbz_naqebvq_vagreany_bf_MltbgrVavgRC7_WAVRai:
 nop
 .data
-.globl b__MGPA7naqebvq21VaibxrEhaanoyrZrffntrR0_AF_14ZrffntrUnaqyreR
+.weak b__MGPA7naqebvq21VaibxrEhaanoyrZrffntrR0_AF_14ZrffntrUnaqyreR
 .type b__MGPA7naqebvq21VaibxrEhaanoyrZrffntrR0_AF_14ZrffntrUnaqyreR,%object
 b__MGPA7naqebvq21VaibxrEhaanoyrZrffntrR0_AF_14ZrffntrUnaqyreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR10qb_qrfgeblRCiz:
 nop
@@ -7223,12 +7223,12 @@
 b__MA7naqebvq44pbairegNhqvbRssrpgQrfpevcgbeIrpgbeSebzAngvirRC7_WAVRaiCC13_wbowrpgNeenlEXAFg3__16irpgbeV19rssrpg_qrfpevcgbe_fAF5_9nyybpngbeVF7_RRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVC11_wolgrNeenlR10qb_qrfgeblRCiz:
 nop
@@ -7238,27 +7238,27 @@
 b__MA15WavBhgchgFgernzP1RC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR7trgFvmrRi
+.weak b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR7trgFvmrRi
 .type b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR7trgFvmrRi,%function
 b__MAX7naqebvq9vzt_hgvyf13GvssRagelVzcyVuR7trgFvmrRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVsR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVsR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVsR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RRR
+.weak b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RRR
 .type b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RRR,%object
 b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_F6_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFC_RRSiFR_RRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVsRR
+.weak b__MGIA7naqebvq6IrpgbeVsRR
 .type b__MGIA7naqebvq6IrpgbeVsRR,%object
 b__MGIA7naqebvq6IrpgbeVsRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RRpyRBFR_
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RRpyRBFR_
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RRpyRBFR_,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESiC7_WAVRaiCXpC8_wfgevatEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRWEF4_EN5_F5_QaEXAF_12cynprubyqref4__cuVYv1RRRRRRAFP_VFE_RRSiFR_RRpyRBFR_:
 nop
@@ -7273,12 +7273,12 @@
 b__MGGA7naqebvq26AngvirQvfcynlRiragErprvireR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva13SbagInevngvbaRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWwEsRRRiQcBG_
+.weak b__MAFg3__16irpgbeVA7zvavxva13SbagInevngvbaRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWwEsRRRiQcBG_
 .type b__MAFg3__16irpgbeVA7zvavxva13SbagInevngvbaRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWwEsRRRiQcBG_,%function
 b__MAFg3__16irpgbeVA7zvavxva13SbagInevngvbaRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWwEsRRRiQcBG_:
 nop
@@ -7298,7 +7298,7 @@
 b__MA7naqebvq31naqebvq_ivrj_VachgQrivpr_perngrRC7_WAVRaiEXAF_15VachgQrivprVasbR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR:
 nop
@@ -7323,7 +7323,7 @@
 b__M10qbGuebjVNRC7_WAVRaiCXp:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR8__erunfuRz:
 nop
@@ -7343,7 +7343,7 @@
 b__MA7naqebvq38ertvfgre_naqebvq_qngnonfr_PhefbeJvaqbjRC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
@@ -7368,12 +7368,12 @@
 b__MA7naqebvq16RcurzrenyFgbentr21nyybpGrzcbenelFgbentrRz:
 nop
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVAF0_7IrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVAF0_7IrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVAF0_7IrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVAF0_7IrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_:
 nop
@@ -7388,12 +7388,12 @@
 b_tOvgzncPbasvt_angvirGbPbasvtZrgubqVQ:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5zrqvn12IbyhzrFuncre9BcrengvbaR
+.weak b__MGIA7naqebvq5zrqvn12IbyhzrFuncre9BcrengvbaR
 .type b__MGIA7naqebvq5zrqvn12IbyhzrFuncre9BcrengvbaR,%object
 b__MGIA7naqebvq5zrqvn12IbyhzrFuncre9BcrengvbaR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -7413,7 +7413,7 @@
 b__MA7naqebvq22AngvirVachgRiragFraqre11unaqyrRiragRvvCi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10funerq_cgeVA7zvavxva10SbagSnzvylRRRAF_9nyybpngbeVF4_RRR24__rzcynpr_onpx_fybj_cnguVWEF4_RRRiQcBG_
+.weak b__MAFg3__16irpgbeVAF_10funerq_cgeVA7zvavxva10SbagSnzvylRRRAF_9nyybpngbeVF4_RRR24__rzcynpr_onpx_fybj_cnguVWEF4_RRRiQcBG_
 .type b__MAFg3__16irpgbeVAF_10funerq_cgeVA7zvavxva10SbagSnzvylRRRAF_9nyybpngbeVF4_RRR24__rzcynpr_onpx_fybj_cnguVWEF4_RRRiQcBG_,%function
 b__MAFg3__16irpgbeVAF_10funerq_cgeVA7zvavxva10SbagSnzvylRRRAF_9nyybpngbeVF4_RRR24__rzcynpr_onpx_fybj_cnguVWEF4_RRRiQcBG_:
 nop
@@ -7448,7 +7448,7 @@
 b__M22trg_qrivpr_sebz_bowrpgC7_WAVRaiC8_wbowrpg:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVC14FpbcrqHgsPunefR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -7468,17 +7468,17 @@
 b__MA7naqebvq16RcurzrenyFgbentr26nyybpGrzcbenelAngvirUnaqyrRvv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRzEXp
+.weak b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRzEXp
 .type b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRzEXp,%function
 b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRzEXp:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVs7FxCbvagRRAF_19__znc_inyhr_pbzcnerVsF3_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF3_RRR12__svaq_rdhnyVsRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_FQ_RRyRRECAF_15__gerr_raq_abqrVFS_RRFT_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVs7FxCbvagRRAF_19__znc_inyhr_pbzcnerVsF3_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF3_RRR12__svaq_rdhnyVsRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_FQ_RRyRRECAF_15__gerr_raq_abqrVFS_RRFT_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVs7FxCbvagRRAF_19__znc_inyhr_pbzcnerVsF3_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF3_RRR12__svaq_rdhnyVsRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_FQ_RRyRRECAF_15__gerr_raq_abqrVFS_RRFT_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVs7FxCbvagRRAF_19__znc_inyhr_pbzcnerVsF3_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF3_RRR12__svaq_rdhnyVsRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_FQ_RRyRRECAF_15__gerr_raq_abqrVFS_RRFT_EXG_:
 nop
 .data
-.globl b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR0_AF_11OaVagresnprVAF_20VErzbgrQvfcynlPyvragRRR
+.weak b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR0_AF_11OaVagresnprVAF_20VErzbgrQvfcynlPyvragRRR
 .type b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR0_AF_11OaVagresnprVAF_20VErzbgrQvfcynlPyvragRRR,%object
 b__MGPA7naqebvq25AngvirErzbgrQvfcynlPyvragR0_AF_11OaVagresnprVAF_20VErzbgrQvfcynlPyvragRRR:
 .space __SIZEOF_POINTER__
@@ -7488,7 +7488,7 @@
 b__MA18WavVachgOlgrOhssreQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVgR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVgR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVgR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVgR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -7572,7 +7572,6 @@
 CALL(b_wavGuebjRkprcgvbaSzg)
 CALL(b__MAX7naqebvq9MvcSvyrEB12trgRagelVasbRCiCgCwF3_CyF3_F3_)
 CALL(mktime)
-CALL(lstat64)
 CALL(b_pep32)
 CALL(read)
 CALL(close)
@@ -9757,7 +9756,6 @@
 .weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeVA7zvavxva14SbagPbyyrpgvbaRRRRRAF_19__znc_inyhr_pbzcnerVF7_FP_AF_4yrffVF7_RRYo1RRRAF5_VFP_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFA_RREXG_
 CALL(b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeVA7zvavxva14SbagPbyyrpgvbaRRRRRAF_19__znc_inyhr_pbzcnerVF7_FP_AF_4yrffVF7_RRYo1RRRAF5_VFP_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFA_RREXG_)
 CALL(b__MA6FxQngn17ZnxrHavavgvnyvmrqRz)
-CALL(lseek64)
 CALL(longjmp)
 CALL(b__MA22fxwcrt_qrfgvangvba_zteP1RC9FxJFgernz)
 CALL(b_wcrt_fgq_reebe)
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_001.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_001.S
index c2d5ef2..1ffbeda 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_001.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_001.S
@@ -13,12 +13,12 @@
 b__MA7naqebvq10ErfKZYGerr6havavgRi:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -53,7 +53,7 @@
 b__MA7naqebvq10_SvyrNffrgP1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeVXA7naqebvq13YbnqrqCnpxntrRAF_14qrsnhyg_qryrgrVF4_RRRRAF_9nyybpngbeVF7_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeVXA7naqebvq13YbnqrqCnpxntrRAF_14qrsnhyg_qryrgrVF4_RRRRAF_9nyybpngbeVF7_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeVXA7naqebvq13YbnqrqCnpxntrRAF_14qrsnhyg_qryrgrVF4_RRRRAF_9nyybpngbeVF7_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeVXA7naqebvq13YbnqrqCnpxntrRAF_14qrsnhyg_qryrgrVF4_RRRRAF_9nyybpngbeVF7_RRR7erfreirRz:
 nop
@@ -63,7 +63,7 @@
 b__MAX7naqebvq15ErfGnoyr_pbasvt15nccraqQveYbpnyrREAF_7Fgevat8R:
 nop
 .data
-.globl b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -73,12 +73,12 @@
 b__MA7naqebvq15ErfGnoyr_pbasvt10cnpxErtvbaRCXp:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRR7qrfgeblRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR7qb_pbclRCiCXiz:
 nop
@@ -108,7 +108,7 @@
 b__MA7naqebvq15QlanzvpErsGnoyrP1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -168,7 +168,7 @@
 b__MAX7naqebvq15QlanzvpErsGnoyr19ybbxhcErfbheprInyhrRCAF_9Erf_inyhrR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR10qb_pbzcnerRCXiF9_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR10qb_pbzcnerRCXiF9_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR10qb_pbzcnerRCXiF9_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR10qb_pbzcnerRCXiF9_:
 nop
@@ -183,7 +183,7 @@
 b__MAX7naqebvq8ErfGnoyr17vfErfbheprQlanzvpRw:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwuRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwuRRRRRAFS_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwuRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwuRRRRRAFS_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwuRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwuRRRRRAFS_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwuRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwuRRRRRAFS_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_:
 nop
@@ -193,7 +193,7 @@
 b__MA7naqebvq8ErfGnoyr5GurzrP1REXF0_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR10qb_pbzcnerRCXiF6_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR10qb_pbzcnerRCXiF6_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR10qb_pbzcnerRCXiF6_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR10qb_pbzcnerRCXiF6_:
 nop
@@ -218,7 +218,7 @@
 b__MA7naqebvq10YbnqrqNefp4YbnqREXAF_16OnfvpFgevatCvrprVpRRCXAF_11YbnqrqVqzncRoo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCXA7naqebvq13ErfGnoyr_glcrRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
+.weak b__MAFg3__16irpgbeVCXA7naqebvq13ErfGnoyr_glcrRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
 .type b__MAFg3__16irpgbeVCXA7naqebvq13ErfGnoyr_glcrRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_,%function
 b__MAFg3__16irpgbeVCXA7naqebvq13ErfGnoyr_glcrRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_:
 nop
@@ -298,12 +298,12 @@
 b__MA7naqebvq16OnpxhcQngnJevgreP1Rv:
 nop
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvvRRRRRRRRAF_19__znc_inyhr_pbzcnerVvFO_F4_Yo1RRRAF5_VFO_RRR21__rzcynpr_havdhr_vzcyVWAF6_VzFN_RRRRRAF6_VAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRoRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvvRRRRRRRRAF_19__znc_inyhr_pbzcnerVvFO_F4_Yo1RRRAF5_VFO_RRR21__rzcynpr_havdhr_vzcyVWAF6_VzFN_RRRRRAF6_VAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRoRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvvRRRRRRRRAF_19__znc_inyhr_pbzcnerVvFO_F4_Yo1RRRAF5_VFO_RRR21__rzcynpr_havdhr_vzcyVWAF6_VzFN_RRRRRAF6_VAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRoRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvvRRRRRRRRAF_19__znc_inyhr_pbzcnerVvFO_F4_Yo1RRRAF5_VFO_RRR21__rzcynpr_havdhr_vzcyVWAF6_VzFN_RRRRRAF6_VAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRoRRQcBG_:
 nop
@@ -323,12 +323,12 @@
 b__MA7naqebvq13YbnqrqCnpxntr8vgrengbeP2RCXF0_zz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVXAF_4cnveVA7naqebvq15BireynlnoyrVasbRAF_13habeqrerq_frgVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRRRRRAF9_VFQ_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVFQ_EFR_RR
+.weak b__MAFg3__16irpgbeVXAF_4cnveVA7naqebvq15BireynlnoyrVasbRAF_13habeqrerq_frgVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRRRRRAF9_VFQ_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVFQ_EFR_RR
 .type b__MAFg3__16irpgbeVXAF_4cnveVA7naqebvq15BireynlnoyrVasbRAF_13habeqrerq_frgVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRRRRRAF9_VFQ_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVFQ_EFR_RR,%function
 b__MAFg3__16irpgbeVXAF_4cnveVA7naqebvq15BireynlnoyrVasbRAF_13habeqrerq_frgVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRRRRRAF9_VFQ_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVFQ_EFR_RR:
 nop
 .data
-.globl b__MGI12OhssreErnqre
+.weak b__MGI12OhssreErnqre
 .type b__MGI12OhssreErnqre,%object
 b__MGI12OhssreErnqre:
 .space __SIZEOF_POINTER__
@@ -338,12 +338,12 @@
 b__MA7naqebvq8ErfGnoyrP1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR10qb_qrfgeblRCiz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRRR
+.weak b__MGIA7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRRR
 .type b__MGIA7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRRR,%object
 b__MGIA7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRRR:
 .space __SIZEOF_POINTER__
@@ -353,7 +353,7 @@
 b__MA7naqebvq16OnpxhcQngnJevgreQ2Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvvRRRRRRRRAF_19__znc_inyhr_pbzcnerVvFO_F4_Yo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvvRRRRRRRRAF_19__znc_inyhr_pbzcnerVvFO_F4_Yo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvvRRRRRRRRAF_19__znc_inyhr_pbzcnerVvFO_F4_Yo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvvRRRRRRRRAF_19__znc_inyhr_pbzcnerVvFO_F4_Yo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR:
 nop
@@ -363,12 +363,12 @@
 b__MA7naqebvq8ErfGnoyr17rkcnaqErfbheprErsRCXQfzCAF_8Fgevat16RF4_F4_CXF3_F6_CCXpCo:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRRpyRBp
+.weak b__MAFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRRpyRBp
 .type b__MAFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRRpyRBp,%function
 b__MAFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRRpyRBp:
 nop
 .data
-.globl b__MGI12OhssreJevgre
+.weak b__MGI12OhssreJevgre
 .type b__MGI12OhssreJevgre,%object
 b__MGI12OhssreJevgre:
 .space __SIZEOF_POINTER__
@@ -383,7 +383,7 @@
 b__MAX7naqebvq12NffrgZnantre13arkgNffrgCnguRv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR10qb_pbzcnerRCXiF5_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR10qb_pbzcnerRCXiF5_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR10qb_pbzcnerRCXiF5_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR10qb_pbzcnerRCXiF5_:
 nop
@@ -408,12 +408,12 @@
 b__MA7naqebvq13NffrgZnantre220TrgNffvtarqCnpxntrVqRCXAF_13YbnqrqCnpxntrR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR10qb_qrfgeblRCiz:
 nop
@@ -448,7 +448,7 @@
 b__MAX7naqebvq17PbasvtQrfpevcgvba13PbasyvpgfJvguREXF0_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR7qb_pbclRCiCXiz:
 nop
@@ -458,12 +458,12 @@
 b__MA7naqebvq18fraq_gnesvyr_puhaxRCAF_16OnpxhcQngnJevgreRCXpz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6nffvtaVCwRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6nffvtaVCwRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6nffvtaVCwRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6nffvtaVCwRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR7qb_pbclRCiCXiz:
 nop
@@ -473,7 +473,7 @@
 b__MAX7naqebvq15ErfGnoyr_pbasvt14hacnpxYnathntrRCp:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRRR:
 .space __SIZEOF_POINTER__
@@ -528,7 +528,7 @@
 b__MAX7naqebvq12NffrgZnantre10trgYbpnyrfRCAF_6IrpgbeVAF_7Fgevat8RRRo:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -538,12 +538,12 @@
 b__MAX7naqebvq13NffrgZnantre227TrgBireynlnoyrZncSbeCnpxntrRw:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwuRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwuRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwuRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwuRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz:
 nop
@@ -593,7 +593,7 @@
 b__MAX7naqebvq12ErfKZYCnefre20trgNggevohgrQngnGlcrRz:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRRR:
 .space __SIZEOF_POINTER__
@@ -613,17 +613,17 @@
 b__MA7naqebvq12NffrgZnantre15bcraAbaNffrgQveRvCXp:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR10qb_qrfgeblRCiz:
 nop
@@ -658,7 +658,7 @@
 b__MAX7naqebvq13ErfFgevatCbby8vfFbegrqRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR12qb_pbafgehpgRCiz:
 nop
@@ -673,22 +673,22 @@
 b__MA7naqebvq12NffrgZnantre9FunerqMvcP1RvEXAF_7Fgevat8R:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq13NffrgZnantre210Erfbyhgvba4FgrcRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
+.weak b__MAFg3__16irpgbeVA7naqebvq13NffrgZnantre210Erfbyhgvba4FgrcRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
 .type b__MAFg3__16irpgbeVA7naqebvq13NffrgZnantre210Erfbyhgvba4FgrcRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_,%function
 b__MAFg3__16irpgbeVA7naqebvq13NffrgZnantre210Erfbyhgvba4FgrcRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRR18qrfgebl_qrnyybpngrRi:
 nop
@@ -758,7 +758,7 @@
 b__MA7naqebvq10NccylFglyrRCAF_5GurzrRCAF_12ErfKZYCnefreRwwCXwzCwF6_:
 nop
 .text
-.globl b__MA7naqebvq27OnpxGenpxvatNggevohgrSvaqreVAF_18OntNggevohgrSvaqreRCXAF_11ErfbyirqOnt5RagelRR4SvaqRw
+.weak b__MA7naqebvq27OnpxGenpxvatNggevohgrSvaqreVAF_18OntNggevohgrSvaqreRCXAF_11ErfbyirqOnt5RagelRR4SvaqRw
 .type b__MA7naqebvq27OnpxGenpxvatNggevohgrSvaqreVAF_18OntNggevohgrSvaqreRCXAF_11ErfbyirqOnt5RagelRR4SvaqRw,%function
 b__MA7naqebvq27OnpxGenpxvatNggevohgrSvaqreVAF_18OntNggevohgrSvaqreRCXAF_11ErfbyirqOnt5RagelRR4SvaqRw:
 nop
@@ -793,7 +793,7 @@
 b__MAX7naqebvq12NffrgZnantre12trgNffrgCnguRv:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR12qb_pbafgehpgRCiz:
 nop
@@ -823,7 +823,7 @@
 b__MAX7naqebvq12NffrgZnantre11trgErfGnoyrRo:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVuCXA7naqebvq17VqzncRagel_urnqreRRRAF_22__habeqrerq_znc_unfureVuF6_AF_4unfuVuRRYo1RRRAF_21__habeqrerq_znc_rdhnyVuF6_AF_8rdhny_gbVuRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVuCXA7naqebvq17VqzncRagel_urnqreRRRAF_22__habeqrerq_znc_unfureVuF6_AF_4unfuVuRRYo1RRRAF_21__habeqrerq_znc_rdhnyVuF6_AF_8rdhny_gbVuRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVuCXA7naqebvq17VqzncRagel_urnqreRRRAF_22__habeqrerq_znc_unfureVuF6_AF_4unfuVuRRYo1RRRAF_21__habeqrerq_znc_rdhnyVuF6_AF_8rdhny_gbVuRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVuCXA7naqebvq17VqzncRagel_urnqreRRRAF_22__habeqrerq_znc_unfureVuF6_AF_4unfuVuRRYo1RRRAF_21__habeqrerq_znc_rdhnyVuF6_AF_8rdhny_gbVuRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz:
 nop
@@ -843,7 +843,7 @@
 b__MAX7naqebvq10ErfKZYGerr8trgReebeRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVuzRRAF_19__znc_inyhr_pbzcnerVuF2_AF_4yrffVuRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVuzRRAF_19__znc_inyhr_pbzcnerVuF2_AF_4yrffVuRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVuzRRAF_19__znc_inyhr_pbzcnerVuF2_AF_4yrffVuRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVuzRRAF_19__znc_inyhr_pbzcnerVuF2_AF_4yrffVuRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
@@ -878,12 +878,12 @@
 b__MA7naqebvq22QvfcynlRiragQvfcngpure10vavgvnyvmrRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15ErfGnoyr_pbasvtRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq15ErfGnoyr_pbasvtRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq15ErfGnoyr_pbasvtRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq15ErfGnoyr_pbasvtRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -893,7 +893,7 @@
 b__MAX7naqebvq12ErfKZYCnefre17trgNggevohgrPbhagRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -908,7 +908,7 @@
 b__MAX7naqebvq15ErfGnoyr_pbasvt24vfYbpnyrZberFcrpvsvpGunaREXF0_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -918,12 +918,12 @@
 b__MAX7naqebvq13NffrgZnantre213TrgErfbheprVqREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRF9_F9_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR8__erunfuRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVXAF_4cnveVA7naqebvq15BireynlnoyrVasbRAF_13habeqrerq_frgVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRRRRRAF9_VFQ_RRR21__chfu_onpx_fybj_cnguVFQ_RRiBG_
+.weak b__MAFg3__16irpgbeVXAF_4cnveVA7naqebvq15BireynlnoyrVasbRAF_13habeqrerq_frgVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRRRRRAF9_VFQ_RRR21__chfu_onpx_fybj_cnguVFQ_RRiBG_
 .type b__MAFg3__16irpgbeVXAF_4cnveVA7naqebvq15BireynlnoyrVasbRAF_13habeqrerq_frgVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRRRRRAF9_VFQ_RRR21__chfu_onpx_fybj_cnguVFQ_RRiBG_,%function
 b__MAFg3__16irpgbeVXAF_4cnveVA7naqebvq15BireynlnoyrVasbRAF_13habeqrerq_frgVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRRRRRAF9_VFQ_RRR21__chfu_onpx_fybj_cnguVFQ_RRiBG_:
 nop
@@ -933,7 +933,7 @@
 b__MAX7naqebvq12ErfKZYCnefre9trgGrkgVQRi:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_7Fgevat8RRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_7Fgevat8RRR
 .type b__MGIA7naqebvq6IrpgbeVAF_7Fgevat8RRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_7Fgevat8RRR:
 .space __SIZEOF_POINTER__
@@ -968,7 +968,7 @@
 b__MAX7naqebvq13NffrgZnantre225TrgYnfgErfbheprErfbyhgvbaRi:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -988,7 +988,7 @@
 b__MA7naqebvq5GurzrP1RCAF_13NffrgZnantre2R:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
@@ -1013,7 +1013,7 @@
 b__MA7naqebvq20FgernzvatMvcVasyngreP1Rvyzz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz:
 nop
@@ -1043,12 +1043,12 @@
 b__MA7naqebvq13NffrgZnantre217ErohvyqSvygreYvfgRo:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA7naqebvq4hgvy11havdhr_pcgeVAF2_11ErfbyirqOntRRRRRAF_22__habeqrerq_znc_unfureVwF7_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF7_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF7_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA7naqebvq4hgvy11havdhr_pcgeVAF2_11ErfbyirqOntRRRRRAF_22__habeqrerq_znc_unfureVwF7_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF7_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF7_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA7naqebvq4hgvy11havdhr_pcgeVAF2_11ErfbyirqOntRRRRRAF_22__habeqrerq_znc_unfureVwF7_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF7_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF7_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA7naqebvq4hgvy11havdhr_pcgeVAF2_11ErfbyirqOntRRRRRAF_22__habeqrerq_znc_unfureVwF7_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF7_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF7_RRR6erunfuRz:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq6IrpgbeVCXAF1_13ErfGnoyr_glcrRRRAF_9nyybpngbeVF6_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq6IrpgbeVCXAF1_13ErfGnoyr_glcrRRRAF_9nyybpngbeVF6_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq6IrpgbeVCXAF1_13ErfGnoyr_glcrRRRAF_9nyybpngbeVF6_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq6IrpgbeVCXAF1_13ErfGnoyr_glcrRRRAF_9nyybpngbeVF6_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -1073,7 +1073,7 @@
 b__MAX7naqebvq17PbasvtQrfpevcgvba23UnfUvtureCerprqraprGunaREXF0_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1088,7 +1088,7 @@
 b__MA7naqebvq13ErfFgevatCbbyP2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1108,12 +1108,12 @@
 b__MA7naqebvq12NffrgZnantre9FunerqMvcQ0Ri:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR12qb_pbafgehpgRCiz:
 nop
@@ -1133,7 +1133,7 @@
 b__MAX7naqebvq8ErfGnoyr13inyhrGbFgevatRCXAF_9Erf_inyhrRzCQfCz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR12qb_pbafgehpgRCiz:
 nop
@@ -1153,12 +1153,12 @@
 b__MA7naqebvq12PhefbeJvaqbj10trgEbjFybgRw:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVQfAF_11pune_genvgfVQfRRAF_9nyybpngbeVQfRRR9__tebj_olRzzzzzz
+.weak b__MAFg3__112onfvp_fgevatVQfAF_11pune_genvgfVQfRRAF_9nyybpngbeVQfRRR9__tebj_olRzzzzzz
 .type b__MAFg3__112onfvp_fgevatVQfAF_11pune_genvgfVQfRRAF_9nyybpngbeVQfRRR9__tebj_olRzzzzzz,%function
 b__MAFg3__112onfvp_fgevatVQfAF_11pune_genvgfVQfRRAF_9nyybpngbeVQfRRR9__tebj_olRzzzzzz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVuCXA7naqebvq17VqzncRagel_urnqreRRRAF_22__habeqrerq_znc_unfureVuF6_AF_4unfuVuRRYo1RRRAF_21__habeqrerq_znc_rdhnyVuF6_AF_8rdhny_gbVuRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVuCXA7naqebvq17VqzncRagel_urnqreRRRAF_22__habeqrerq_znc_unfureVuF6_AF_4unfuVuRRYo1RRRAF_21__habeqrerq_znc_rdhnyVuF6_AF_8rdhny_gbVuRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVuCXA7naqebvq17VqzncRagel_urnqreRRRAF_22__habeqrerq_znc_unfureVuF6_AF_4unfuVuRRYo1RRRAF_21__habeqrerq_znc_rdhnyVuF6_AF_8rdhny_gbVuRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVuCXA7naqebvq17VqzncRagel_urnqreRRRAF_22__habeqrerq_znc_unfureVuF6_AF_4unfuVuRRYo1RRRAF_21__habeqrerq_znc_rdhnyVuF6_AF_8rdhny_gbVuRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz:
 nop
@@ -1188,7 +1188,7 @@
 b__MAX7naqebvq12ErfKZYCnefre16vaqrkBsNggevohgrRCXpF2_:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -1198,12 +1198,12 @@
 b__MAX7naqebvq13NffrgZnantre211TrgErfbheprRwogCAF_9Erf_inyhrRCAF_15ErfGnoyr_pbasvtRCw:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwuRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwuRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwuRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwuRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRRR
+.weak b__MGIA7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRRR
 .type b__MGIA7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRRR,%object
 b__MGIA7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRRR:
 .space __SIZEOF_POINTER__
@@ -1213,7 +1213,7 @@
 b__MA7naqebvq12NffrgZnantre6MvcFrgQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR12qb_pbafgehpgRCiz:
 nop
@@ -1233,12 +1233,12 @@
 b__MA7naqebvq5GurzrQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq13NffrgZnantre210Erfbyhgvba4FgrcRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq13NffrgZnantre210Erfbyhgvba4FgrcRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq13NffrgZnantre210Erfbyhgvba4FgrcRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq13NffrgZnantre210Erfbyhgvba4FgrcRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_:
 nop
@@ -1263,7 +1263,7 @@
 b__MAX7naqebvq13ErfFgevatCbby14fgevatQrpbqrNgRzCXuzCz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVwzRRAF_19__znc_inyhr_pbzcnerVwF2_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVwzRRAF_19__znc_inyhr_pbzcnerVwF2_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVwzRRAF_19__znc_inyhr_pbzcnerVwF2_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVwzRRAF_19__znc_inyhr_pbzcnerVwF2_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
@@ -1288,7 +1288,7 @@
 b__MAX7naqebvq15ErfGnoyr_pbasvt14trgOpc47YbpnyrRCpo:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1298,7 +1298,7 @@
 b__MAX7naqebvq13NffrgZnantre225TrgErfbheprPbasvthengvbafRoo:
 nop
 .data
-.globl b__MGIA7naqebvq5NffrgR
+.weak b__MGIA7naqebvq5NffrgR
 .type b__MGIA7naqebvq5NffrgR,%object
 b__MGIA7naqebvq5NffrgR:
 .space __SIZEOF_POINTER__
@@ -1308,7 +1308,7 @@
 b__MA7naqebvq12NffrgZnantre6MvcFrg19frgMvcErfbheprGnoyrREXAF_7Fgevat8RCAF_8ErfGnoyrR:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRRR:
 .space __SIZEOF_POINTER__
@@ -1328,12 +1328,12 @@
 b__MA7naqebvq12NffrgZnantre9FunerqMvc6perngrRvEXAF_7Fgevat8R:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVwAF_9nyybpngbeVwRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXwRRRAFY_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVwAF_9nyybpngbeVwRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXwRRRAFY_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVwAF_9nyybpngbeVwRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXwRRRAFY_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVwAF_9nyybpngbeVwRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXwRRRAFY_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_:
 nop
@@ -1343,7 +1343,7 @@
 b__MA7naqebvq10ErfKZYGerrP1RCXAF_15QlanzvpErsGnoyrR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1353,7 +1353,7 @@
 b__MAX7naqebvq12NffrgZnantre15bcraVqzncYbpxrqREXAF0_10nffrg_cnguR:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRRR:
 .space __SIZEOF_POINTER__
@@ -1388,7 +1388,7 @@
 b__MA7naqebvq17PbasvtQrfpevcgvba13QrsnhygPbasvtRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1428,12 +1428,12 @@
 b__MAX7naqebvq13ErfFgevatCbby5olgrfRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR10qb_qrfgeblRCiz:
 nop
@@ -1448,7 +1448,7 @@
 b__MA7naqebvq20FgernzvatMvcVasyngre12frrxNofbyhgrRy:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR10qb_pbzcnerRCXiF5_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR10qb_pbzcnerRCXiF5_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR10qb_pbzcnerRCXiF5_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR10qb_pbzcnerRCXiF5_:
 nop
@@ -1458,7 +1458,7 @@
 b__MA7naqebvq8ErfGnoyr5GurzrQ2Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFS_RREXG_
+.weak b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFS_RREXG_
 .type b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFS_RREXG_,%function
 b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFS_RREXG_:
 nop
@@ -1468,7 +1468,7 @@
 b__MAX7naqebvq13ErfFgevatCbby4fvmrRi:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
@@ -1478,7 +1478,7 @@
 b__MA7naqebvq12NffrgZnantre15zretrVasbYbpxrqRCAF_12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRRRCXF4_:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
@@ -1488,12 +1488,12 @@
 b__MA7naqebvq11YbpnyrInyhr10frg_ertvbaRCXp:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR10qb_pbzcnerRCXiF6_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR10qb_pbzcnerRCXiF6_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR10qb_pbzcnerRCXiF6_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR10qb_pbzcnerRCXiF6_:
 nop
@@ -1518,7 +1518,7 @@
 b__MA7naqebvq14GbErfbheprAnzrREXAF_13FgevatCbbyErsRF2_EXAF_16OnfvpFgevatCvrprVpRRCAF_13NffrgZnantre212ErfbheprAnzrR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVwAF_9nyybpngbeVwRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVwAF_9nyybpngbeVwRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVwAF_9nyybpngbeVwRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVwAF_9nyybpngbeVwRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR8__erunfuRz:
 nop
@@ -1543,12 +1543,12 @@
 b__MA7naqebvq12NffrgZnantre6MvcFrg11trgCnguAnzrRCXp:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FP_RRyRRECAF_15__gerr_raq_abqrVFR_RRFS_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FP_RRyRRECAF_15__gerr_raq_abqrVFR_RRFS_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FP_RRyRRECAF_15__gerr_raq_abqrVFR_RRFS_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FP_RRyRRECAF_15__gerr_raq_abqrVFR_RRFS_EXG_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR8qb_fcyngRCiCXiz:
 nop
@@ -1568,7 +1568,7 @@
 b__MA7naqebvq17ErfgberUrycreOnfr9JevgrSvyrREXAF_7Fgevat8RCAF_16OnpxhcQngnErnqreR:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRRR:
 .space __SIZEOF_POINTER__
@@ -1578,12 +1578,12 @@
 b__MA7naqebvq13ErfFgevatCbbyQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1593,7 +1593,7 @@
 b__MAX7naqebvq8ErfGnoyr13trgCnenzrgrefRCAF_15ErfGnoyr_pbasvtR:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRR7__pybarRi:
 nop
@@ -1618,7 +1618,7 @@
 b__MAX7naqebvq12ErfKZYCnefre21trgNggevohgrAnzrfcnprRzCz:
 nop
 .data
-.globl b__MGIA7naqebvq8NffrgQveR
+.weak b__MGIA7naqebvq8NffrgQveR
 .type b__MGIA7naqebvq8NffrgQveR,%object
 b__MGIA7naqebvq8NffrgQveR:
 .space __SIZEOF_POINTER__
@@ -1658,27 +1658,27 @@
 b__MA7naqebvq12NffrgZnantre6MvcFrg19trgMvcErfbheprGnoyrREXAF_7Fgevat8R:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA7naqebvq4hgvy11havdhr_pcgeVAF2_11ErfbyirqOntRRRRRAF_22__habeqrerq_znc_unfureVwF7_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF7_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF7_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA7naqebvq4hgvy11havdhr_pcgeVAF2_11ErfbyirqOntRRRRRAF_22__habeqrerq_znc_unfureVwF7_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF7_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF7_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA7naqebvq4hgvy11havdhr_pcgeVAF2_11ErfbyirqOntRRRRRAF_22__habeqrerq_znc_unfureVwF7_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF7_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF7_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA7naqebvq4hgvy11havdhr_pcgeVAF2_11ErfbyirqOntRRRRRAF_22__habeqrerq_znc_unfureVwF7_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF7_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF7_RRR8__erunfuRz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR25__rzcynpr_havdhr_xrl_netfVzWEXzRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVzCiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR25__rzcynpr_havdhr_xrl_netfVzWEXzRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVzCiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR25__rzcynpr_havdhr_xrl_netfVzWEXzRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVzCiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR25__rzcynpr_havdhr_xrl_netfVzWEXzRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVzCiRRRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR8qb_fcyngRCiCXiz:
 nop
@@ -1693,7 +1693,7 @@
 b__MA7naqebvq13NffrgZnantre216TrgOntErfVqFgnpxRw:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq6IrpgbeVCXAF1_13ErfGnoyr_glcrRRRAF_9nyybpngbeVF6_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq6IrpgbeVCXAF1_13ErfGnoyr_glcrRRRAF_9nyybpngbeVF6_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq6IrpgbeVCXAF1_13ErfGnoyr_glcrRRRAF_9nyybpngbeVF6_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq6IrpgbeVCXAF1_13ErfGnoyr_glcrRRRAF_9nyybpngbeVF6_RRR16__ba_mreb_funerqRi:
 nop
@@ -1713,7 +1713,7 @@
 b__MA7naqebvq8ErfGnoyr18abeznyvmrSbeBhgchgRCXp:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1733,7 +1733,7 @@
 b__MAX7naqebvq12NffrgZnantre20nccraqCnguGbErfGnoyrREAF0_10nffrg_cnguRo:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1748,7 +1748,7 @@
 b__MA7naqebvq12PhefbeJvaqbj5pyrneRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR7qb_pbclRCiCXiz:
 nop
@@ -1758,12 +1758,12 @@
 b__MA7naqebvq11GlcrInevnagP1RCXAF_13ErfGnoyr_glcrR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR24__rzcynpr_onpx_fybj_cnguVWF6_RRRiQcBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR24__rzcynpr_onpx_fybj_cnguVWF6_RRRiQcBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR24__rzcynpr_onpx_fybj_cnguVWF6_RRRiQcBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR24__rzcynpr_onpx_fybj_cnguVWF6_RRRiQcBG_:
 nop
@@ -1808,12 +1808,12 @@
 b__MA7naqebvq12NffrgZnantre22FLFGRZ_RKG_BIREYNL_QVER:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq13NffrgZnantre217PbasvtherqCnpxntrRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq13NffrgZnantre217PbasvtherqCnpxntrRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq13NffrgZnantre217PbasvtherqCnpxntrRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq13NffrgZnantre217PbasvtherqCnpxntrRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1828,17 +1828,17 @@
 b__MA7naqebvq16OnpxhcQngnErnqre12fxvc_cnqqvatRi:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR7qb_pbclRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRRR:
 .space __SIZEOF_POINTER__
@@ -1848,12 +1848,12 @@
 b__MAX7naqebvq17PbasvtQrfpevcgvba9gb_fgevatRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR8qb_fcyngRCiCXiz:
 nop
@@ -1868,7 +1868,7 @@
 b__MA7naqebvq12NffrgZnantre9FunerqMvc21frgErfbheprGnoyrNffrgRCAF_5NffrgR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR7qb_pbclRCiCXiz:
 nop
@@ -1883,7 +1883,7 @@
 b__MA7naqebvq8ErfGnoyr3nqqRCAF_5NffrgRF2_vooo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCXA7naqebvq9NcxNffrgfRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
+.weak b__MAFg3__16irpgbeVCXA7naqebvq9NcxNffrgfRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
 .type b__MAFg3__16irpgbeVCXA7naqebvq9NcxNffrgfRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_,%function
 b__MAFg3__16irpgbeVCXA7naqebvq9NcxNffrgfRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_:
 nop
@@ -1943,7 +1943,7 @@
 b__MA7naqebvq12ErfKZYCnefre19frgFbheprErfbheprVqRw:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR12qb_pbafgehpgRCiz:
 nop
@@ -1973,7 +1973,7 @@
 b__MA7naqebvq8ErfGnoyr5GurzrP2REXF0_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVuAF_3frgVAF_4cnveVwwRRAF_4yrffVF4_RRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVuFN_AF5_VuRRYo1RRRAF7_VFN_RRR25__rzcynpr_havdhr_xrl_netfVuWEuF9_RRRAF3_VAF_15__gerr_vgrengbeVFN_CAF_11__gerr_abqrVFN_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVuAF_3frgVAF_4cnveVwwRRAF_4yrffVF4_RRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVuFN_AF5_VuRRYo1RRRAF7_VFN_RRR25__rzcynpr_havdhr_xrl_netfVuWEuF9_RRRAF3_VAF_15__gerr_vgrengbeVFN_CAF_11__gerr_abqrVFN_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVuAF_3frgVAF_4cnveVwwRRAF_4yrffVF4_RRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVuFN_AF5_VuRRYo1RRRAF7_VFN_RRR25__rzcynpr_havdhr_xrl_netfVuWEuF9_RRRAF3_VAF_15__gerr_vgrengbeVFN_CAF_11__gerr_abqrVFN_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVuAF_3frgVAF_4cnveVwwRRAF_4yrffVF4_RRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVuFN_AF5_VuRRYo1RRRAF7_VFN_RRR25__rzcynpr_havdhr_xrl_netfVuWEuF9_RRRAF3_VAF_15__gerr_vgrengbeVFN_CAF_11__gerr_abqrVFN_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -1998,7 +1998,7 @@
 b__MAX7naqebvq9MvcSvyrEB12eryrnfrRagelRCi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz:
 nop
@@ -2013,7 +2013,7 @@
 b__MAX7naqebvq13ErfFgevatCbby13vaqrkBsFgevatRCXQfz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR10qb_qrfgeblRCiz:
 nop
@@ -2038,12 +2038,12 @@
 b__MA7naqebvq5GurzrP2RCAF_13NffrgZnantre2R:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR8qb_fcyngRCiCXiz:
 nop
 .data
-.globl b__MGI10SvyrErnqre
+.weak b__MGI10SvyrErnqre
 .type b__MGI10SvyrErnqre,%object
 b__MGI10SvyrErnqre:
 .space __SIZEOF_POINTER__
@@ -2083,12 +2083,12 @@
 b__MA7naqebvq12NffrgZnantreQ1Ri:
 nop
 .data
-.globl b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR7qb_pbclRCiCXiz:
 nop
@@ -2118,7 +2118,7 @@
 b__MAX7naqebvq8ErfGnoyr17vqragvsvreSbeAnzrRCXQfzF2_zF2_zCw:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR7qb_pbclRCiCXiz:
 nop
@@ -2193,7 +2193,7 @@
 b__MA7naqebvq17ErfgberUrycreOnfrQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR10qb_pbzcnerRCXiF7_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR10qb_pbzcnerRCXiF7_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR10qb_pbzcnerRCXiF7_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR10qb_pbzcnerRCXiF7_:
 nop
@@ -2203,12 +2203,12 @@
 b__MA7naqebvq10svaqCneragRwCXp:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR7qb_pbclRCiCXiz:
 nop
@@ -2218,12 +2218,12 @@
 b__MA7naqebvq12PhefbeJvaqbj5nyybpRzo:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR12qb_pbafgehpgRCiz:
 nop
@@ -2243,12 +2243,12 @@
 b__MA7naqebvq20FgernzvatMvcVasyngre13ernqArkgPuhaxRi:
 nop
 .text
-.globl b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
+.weak b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
 .type b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR,%function
 b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -2313,12 +2313,12 @@
 b__MA7naqebvq13ErfFgevatCbbyQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq13NffrgZnantre212CnpxntrTebhcRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq13NffrgZnantre212CnpxntrTebhcRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq13NffrgZnantre212CnpxntrTebhcRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq13NffrgZnantre212CnpxntrTebhcRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -2328,7 +2328,7 @@
 b__MA7naqebvq15QlanzvpErsGnoyr10nqqZnccvatRuu:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq6IrpgbeVCXAF1_13ErfGnoyr_glcrRRRAF_9nyybpngbeVF6_RRRR
+.weak b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq6IrpgbeVCXAF1_13ErfGnoyr_glcrRRRAF_9nyybpngbeVF6_RRRR
 .type b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq6IrpgbeVCXAF1_13ErfGnoyr_glcrRRRAF_9nyybpngbeVF6_RRRR,%object
 b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq6IrpgbeVCXAF1_13ErfGnoyr_glcrRRRAF_9nyybpngbeVF6_RRRR:
 .space __SIZEOF_POINTER__
@@ -2358,12 +2358,12 @@
 b__MGGA7naqebvq22QvfcynlRiragQvfcngpureR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR7qb_pbclRCiCXiz:
 nop
@@ -2403,12 +2403,12 @@
 b__MA7naqebvq12NffrgZnantre9FunerqMvc10vfHcGbQngrRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR8__erunfuRz:
 nop
@@ -2423,7 +2423,7 @@
 b__MA7naqebvq13jevgr_gnesvyrREXAF_7Fgevat8RF2_F2_F2_CyCAF_16OnpxhcQngnJevgreR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2453,7 +2453,7 @@
 b__MA7naqebvq5Nffrg24perngrSebzPbzcerffrqSvyrRCXpAF0_10NpprffZbqrR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA7naqebvq4hgvy11havdhr_pcgeVAF2_11ErfbyirqOntRRRRRAF_22__habeqrerq_znc_unfureVwF7_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF7_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXwRRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA7naqebvq4hgvy11havdhr_pcgeVAF2_11ErfbyirqOntRRRRRAF_22__habeqrerq_znc_unfureVwF7_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF7_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXwRRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA7naqebvq4hgvy11havdhr_pcgeVAF2_11ErfbyirqOntRRRRRAF_22__habeqrerq_znc_unfureVwF7_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF7_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXwRRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA7naqebvq4hgvy11havdhr_pcgeVAF2_11ErfbyirqOntRRRRRAF_22__habeqrerq_znc_unfureVwF7_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF7_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXwRRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRRoRREXG_QcBG0_:
 nop
@@ -2473,7 +2473,7 @@
 b__MAX7naqebvq13YbnqrqCnpxntr21PbyyrpgPbasvthengvbafRoCAFg3__13frgVAF_15ErfGnoyr_pbasvtRAF1_4yrffVF3_RRAF1_9nyybpngbeVF3_RRRR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEF7_FX_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEF7_FX_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEF7_FX_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEF7_FX_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_:
 nop
@@ -2493,7 +2493,7 @@
 b__MA7naqebvq7BooSvyrP2Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR6erunfuRz:
 nop
@@ -2518,7 +2518,7 @@
 b__MAX7naqebvq12ErfKZYCnefre25trgNggevohgrInyhrFgevatVQRz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR10qb_qrfgeblRCiz:
 nop
@@ -2533,17 +2533,17 @@
 b__MA7naqebvq12NffrgZnantre21fpnaNaqZretrQveYbpxrqRCAF_12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRRREXAF0_10nffrg_cnguRCXpFN_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz:
 nop
@@ -2553,17 +2553,17 @@
 b__MAX7naqebvq8ErfGnoyr15trgErfbheprAnzrRwoCAF0_13erfbhepr_anzrR:
 nop
 .text
-.globl b__MA7naqebvq27OnpxGenpxvatNggevohgrSvaqreVAF_18KzyNggevohgrSvaqreRzR4SvaqRw
+.weak b__MA7naqebvq27OnpxGenpxvatNggevohgrSvaqreVAF_18KzyNggevohgrSvaqreRzR4SvaqRw
 .type b__MA7naqebvq27OnpxGenpxvatNggevohgrSvaqreVAF_18KzyNggevohgrSvaqreRzR4SvaqRw,%function
 b__MA7naqebvq27OnpxGenpxvatNggevohgrSvaqreVAF_18KzyNggevohgrSvaqreRzR4SvaqRw:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR8qb_fcyngRCiCXiz:
 nop
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -2578,7 +2578,7 @@
 b__MAX7naqebvq15ErfGnoyr_pbasvt18vfYbpnyrOrggreGunaREXF0_CF1_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVuAF_3frgVAF_4cnveVwwRRAF_4yrffVF4_RRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVuFN_AF5_VuRRYo1RRRAF7_VFN_RRR30__rzcynpr_uvag_havdhr_xrl_netfVuWEXAF3_VXuF9_RRRRRAF_15__gerr_vgrengbeVFN_CAF_11__gerr_abqrVFN_CiRRyRRAF_21__gerr_pbafg_vgrengbeVFN_FC_yRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVuAF_3frgVAF_4cnveVwwRRAF_4yrffVF4_RRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVuFN_AF5_VuRRYo1RRRAF7_VFN_RRR30__rzcynpr_uvag_havdhr_xrl_netfVuWEXAF3_VXuF9_RRRRRAF_15__gerr_vgrengbeVFN_CAF_11__gerr_abqrVFN_CiRRyRRAF_21__gerr_pbafg_vgrengbeVFN_FC_yRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVuAF_3frgVAF_4cnveVwwRRAF_4yrffVF4_RRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVuFN_AF5_VuRRYo1RRRAF7_VFN_RRR30__rzcynpr_uvag_havdhr_xrl_netfVuWEXAF3_VXuF9_RRRRRAF_15__gerr_vgrengbeVFN_CAF_11__gerr_abqrVFN_CiRRyRRAF_21__gerr_pbafg_vgrengbeVFN_FC_yRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVuAF_3frgVAF_4cnveVwwRRAF_4yrffVF4_RRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVuFN_AF5_VuRRYo1RRRAF7_VFN_RRR30__rzcynpr_uvag_havdhr_xrl_netfVuWEXAF3_VXuF9_RRRRRAF_15__gerr_vgrengbeVFN_CAF_11__gerr_abqrVFN_CiRRyRRAF_21__gerr_pbafg_vgrengbeVFN_FC_yRREXG_QcBG0_:
 nop
@@ -2608,7 +2608,7 @@
 b__MAX7naqebvq15ErfGnoyr_pbasvt5zngpuREXF0_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -2623,7 +2623,7 @@
 b__MA7naqebvq10_SvyrNffrg9bcraPuhaxRCAF_7SvyrZncR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR10qb_qrfgeblRCiz:
 nop
@@ -2638,12 +2638,12 @@
 b__MA7naqebvq15QlanzvpErsGnoyrP1Ruo:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR7qb_pbclRCiCXiz:
 nop
@@ -2653,7 +2653,7 @@
 b__MAX7naqebvq15QlanzvpErsGnoyr16ybbxhcErfbheprVqRCw:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwCXAF_11ErfbyirqOnt5RagelRRRR12qb_pbafgehpgRCiz:
 nop
@@ -2693,7 +2693,7 @@
 b__MAX7naqebvq15ErfGnoyr_pbasvt12hacnpxErtvbaRCp:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR7qb_pbclRCiCXiz:
 nop
@@ -2708,7 +2708,7 @@
 b__MA7naqebvq13YbnqrqCnpxntr8vgrengbeccRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2723,12 +2723,12 @@
 b__MAX7naqebvq5Gurzr12TrgNggevohgrRwCAF_9Erf_inyhrRCw:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeVXA7naqebvq13YbnqrqCnpxntrRAF_14qrsnhyg_qryrgrVF4_RRRRAF_9nyybpngbeVF7_RRR21__chfu_onpx_fybj_cnguVF7_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeVXA7naqebvq13YbnqrqCnpxntrRAF_14qrsnhyg_qryrgrVF4_RRRRAF_9nyybpngbeVF7_RRR21__chfu_onpx_fybj_cnguVF7_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeVXA7naqebvq13YbnqrqCnpxntrRAF_14qrsnhyg_qryrgrVF4_RRRRAF_9nyybpngbeVF7_RRR21__chfu_onpx_fybj_cnguVF7_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeVXA7naqebvq13YbnqrqCnpxntrRAF_14qrsnhyg_qryrgrVF4_RRRRAF_9nyybpngbeVF7_RRR21__chfu_onpx_fybj_cnguVF7_RRiBG_:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRRR:
 .space __SIZEOF_POINTER__
@@ -2738,17 +2738,17 @@
 b__MA7naqebvq16OnpxhcQngnErnqreQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq15ErfGnoyr_pbasvtRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVA7naqebvq15ErfGnoyr_pbasvtRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVA7naqebvq15ErfGnoyr_pbasvtRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVA7naqebvq15ErfGnoyr_pbasvtRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -2763,7 +2763,7 @@
 b__MAX7naqebvq12ErfKZYCnefre12trgGrkgInyhrRCAF_9Erf_inyhrR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR10qb_qrfgeblRCiz:
 nop
@@ -2773,7 +2773,7 @@
 b__MA7naqebvq13FgevatCbbyErsP2RCXAF_13ErfFgevatCbbyRw:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_4cnveVwwRRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVF2_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FN_RRyRRECAF_15__gerr_raq_abqrVFP_RRFQ_EXG_
+.weak b__MAFg3__16__gerrVAF_4cnveVwwRRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVF2_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FN_RRyRRECAF_15__gerr_raq_abqrVFP_RRFQ_EXG_
 .type b__MAFg3__16__gerrVAF_4cnveVwwRRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVF2_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FN_RRyRRECAF_15__gerr_raq_abqrVFP_RRFQ_EXG_,%function
 b__MAFg3__16__gerrVAF_4cnveVwwRRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVF2_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FN_RRyRRECAF_15__gerr_raq_abqrVFP_RRFQ_EXG_:
 nop
@@ -2783,7 +2783,7 @@
 b__MA7naqebvq10_SvyrNffrg5pybfrRi:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRRR:
 .space __SIZEOF_POINTER__
@@ -2798,7 +2798,7 @@
 b__MA7naqebvq12NffrgZnantre6MvcFrg24frgMvcErfbheprGnoyrNffrgREXAF_7Fgevat8RCAF_5NffrgR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR8qb_fcyngRCiCXiz:
 nop
@@ -2808,7 +2808,7 @@
 b__MA7naqebvq5Gurzr5PyrneRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRR12qb_pbafgehpgRCiz:
 nop
@@ -2823,7 +2823,7 @@
 b__MA7naqebvq11YbpnyrInyhr12frg_ynathntrRCXp:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_9SvyrFgngrRRRR10qb_qrfgeblRCiz:
 nop
@@ -2838,7 +2838,7 @@
 b__MA7naqebvq12NffrgZnantreQ0Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA7naqebvq4hgvy11havdhr_pcgeVAF2_11ErfbyirqOntRRRRRAF_22__habeqrerq_znc_unfureVwF7_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF7_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF7_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA7naqebvq4hgvy11havdhr_pcgeVAF2_11ErfbyirqOntRRRRRAF_22__habeqrerq_znc_unfureVwF7_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF7_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF7_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA7naqebvq4hgvy11havdhr_pcgeVAF2_11ErfbyirqOntRRRRRAF_22__habeqrerq_znc_unfureVwF7_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF7_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF7_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA7naqebvq4hgvy11havdhr_pcgeVAF2_11ErfbyirqOntRRRRRAF_22__habeqrerq_znc_unfureVwF7_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF7_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF7_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRR:
 nop
@@ -2848,7 +2848,7 @@
 b__MAX7naqebvq8ErfGnoyr12trgOntYbpxrqRwCCXAF0_9ont_ragelRCw:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_8ErfGnoyr12CnpxntrTebhcRRR:
 .space __SIZEOF_POINTER__
@@ -2873,7 +2873,7 @@
 b__MAX7naqebvq8ErfGnoyr7ybpxOntRwCCXAF0_9ont_ragelR:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRRR:
 .space __SIZEOF_POINTER__
@@ -2893,12 +2893,12 @@
 b__MAX7naqebvq13NffrgZnantre215TrgErfbheprAnzrRwCAF0_12ErfbheprAnzrR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR10qb_qrfgeblRCiz:
 nop
@@ -2938,7 +2938,7 @@
 b__MA7naqebvq14Erf_cat_9cngpu11qrfrevnyvmrRCi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR8qb_fcyngRCiCXiz:
 nop
@@ -2953,7 +2953,7 @@
 b__MA7naqebvq9MvcSvyrEB14fgnegVgrengvbaRCCiCXpF4_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -3033,7 +3033,7 @@
 b__MA7naqebvq9NcxNffrgf19PerngrNffrgSebzSvyrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq19QlanzvpCnpxntrRagelRAF_9nyybpngbeVF2_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVA7naqebvq19QlanzvpCnpxntrRagelRAF_9nyybpngbeVF2_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVA7naqebvq19QlanzvpCnpxntrRagelRAF_9nyybpngbeVF2_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVA7naqebvq19QlanzvpCnpxntrRagelRAF_9nyybpngbeVF2_RRR7erfreirRz:
 nop
@@ -3068,7 +3068,7 @@
 b__MA7naqebvq12NffrgZnantre9FunerqMvcP2REXAF_7Fgevat8Ry:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR8qb_fcyngRCiCXiz:
 nop
@@ -3078,7 +3078,7 @@
 b__MA7naqebvq13YbnqrqCnpxntr8vgrengbeP1RCXF0_zz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR6erunfuRz:
 nop
@@ -3093,7 +3093,7 @@
 b__MA7naqebvq15QlanzvpErsGnoyr4ybnqRCXAF_19ErfGnoyr_yvo_urnqreR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -3108,7 +3108,7 @@
 b__MA7naqebvq15QlanzvpErsGnoyrP2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr4GlcrRR7qb_pbclRCiCXiz:
 nop
@@ -3133,7 +3133,7 @@
 b__MA7naqebvq5Nffrg25perngrSebzHapbzcerffrqZncRAFg3__110havdhr_cgeVAF_7SvyrZncRAF1_14qrsnhyg_qryrgrVF3_RRRRAF0_10NpprffZbqrR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVuAF_3frgVAF_4cnveVwwRRAF_4yrffVF4_RRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVuFN_AF5_VuRRYo1RRRAF7_VFN_RRR12__svaq_rdhnyVuRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVFN_CAF_11__gerr_abqrVFN_FV_RRyRRECAF_15__gerr_raq_abqrVFX_RRFY_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVuAF_3frgVAF_4cnveVwwRRAF_4yrffVF4_RRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVuFN_AF5_VuRRYo1RRRAF7_VFN_RRR12__svaq_rdhnyVuRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVFN_CAF_11__gerr_abqrVFN_FV_RRyRRECAF_15__gerr_raq_abqrVFX_RRFY_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVuAF_3frgVAF_4cnveVwwRRAF_4yrffVF4_RRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVuFN_AF5_VuRRYo1RRRAF7_VFN_RRR12__svaq_rdhnyVuRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVFN_CAF_11__gerr_abqrVFN_FV_RRyRRECAF_15__gerr_raq_abqrVFX_RRFY_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVuAF_3frgVAF_4cnveVwwRRAF_4yrffVF4_RRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVuFN_AF5_VuRRYo1RRRAF7_VFN_RRR12__svaq_rdhnyVuRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVFN_CAF_11__gerr_abqrVFN_FV_RRyRRECAF_15__gerr_raq_abqrVFX_RRFY_EXG_:
 nop
@@ -3158,7 +3158,7 @@
 b__MA7naqebvq19RkgenpgErfbheprAnzrREXAF_16OnfvpFgevatCvrprVpRRCF1_F4_F4_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RuRRR8qb_fcyngRCiCXiz:
 nop
@@ -3178,7 +3178,7 @@
 b__MA7naqebvq20FgernzvatMvcVasyngreQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR12qb_pbafgehpgRCiz:
 nop
@@ -3203,7 +3203,7 @@
 b__MA7naqebvq12NffrgZnantre12nqqNffrgCnguREXAF_7Fgevat8RCvoo:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVwAF_9nyybpngbeVwRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVwAF_9nyybpngbeVwRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVwAF_9nyybpngbeVwRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVwAF_9nyybpngbeVwRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR6erunfuRz:
 nop
@@ -3213,7 +3213,7 @@
 b__MA7naqebvq10cnefrVqzncRCXizCuCAF_11XrlrqIrpgbeVuAF_12VqzncRagevrfRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR10qb_qrfgeblRCiz:
 nop
@@ -3238,7 +3238,7 @@
 b__MA7naqebvq12NffrgZnantre9FunerqMvcQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR12qb_pbafgehpgRCiz:
 nop
@@ -3248,7 +3248,7 @@
 b__MAX7naqebvq13ErfFgevatCbby6vfHGS8Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR10qb_qrfgeblRCiz:
 nop
@@ -3258,12 +3258,12 @@
 b__MA7naqebvq8ErfGnoyr5Gurzr5frgGbREXF1_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCXAF_13ErfGnoyr_glcrRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR8qb_fcyngRCiCXiz:
 nop
@@ -3283,12 +3283,12 @@
 b__MA7naqebvq12NffrgZnantre9FunerqMvc5tBcraR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwzRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -3308,7 +3308,7 @@
 b__MA7naqebvq15QlanzvpErsGnoyrP2Ruo:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRRR:
 .space __SIZEOF_POINTER__
@@ -3318,7 +3318,7 @@
 b__MA7naqebvq12NffrgZnantre21fpnaNaqZretrMvcYbpxrqRCAF_12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRRREXAF0_10nffrg_cnguRCXpFN_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12NffrgZnantre10nffrg_cnguRR8qb_fcyngRCiCXiz:
 nop
@@ -3348,7 +3348,7 @@
 b__MAX7naqebvq12ErfKZYCnefre19trgRyrzragAnzrfcnprRCz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR12qb_pbafgehpgRCiz:
 nop
@@ -3368,7 +3368,7 @@
 b__MAX7naqebvq12NffrgZnantre6MvcFrg8trgVaqrkREXAF_7Fgevat8R:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR10qb_qrfgeblRCiz:
 nop
@@ -3378,7 +3378,7 @@
 b__MA7naqebvq13YbnqrqCnpxntr14TrgRagelBssfrgRCXAF_13ErfGnoyr_glcrRg:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVuAF_12VqzncRagevrfRRRR7qb_pbclRCiCXiz:
 nop
@@ -3403,7 +3403,7 @@
 b__MA7naqebvq22hacnpxYnathntrBeErtvbaRCXppCp:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR8qb_fcyngRCiCXiz:
 nop
@@ -3413,7 +3413,7 @@
 b__MAX7naqebvq13ErfFgevatCbby15fgevat8BowrpgNgRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_4cnveVwwRRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVAF_4cnveVwwRRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVAF_4cnveVwwRRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVAF_4cnveVwwRRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
@@ -3423,7 +3423,7 @@
 b__MA7naqebvq12PhefbeJvaqbj13frgAhzPbyhzafRw:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAFg3__110funerq_cgeVAF0_VCXAF_13ErfGnoyr_glcrRRRRRR8qb_fcyngRCiCXiz:
 nop
@@ -3448,7 +3448,7 @@
 b__MAX7naqebvq12ErfKZYCnefre20trgAnzrfcnprCersvkVQRi:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRRR
+.weak b__MGIAFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRRR
 .type b__MGIAFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRRR,%object
 b__MGIAFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRRR:
 .space __SIZEOF_POINTER__
@@ -3463,12 +3463,12 @@
 b__MA7naqebvq16OnpxhcQngnJevgre12FrgXrlCersvkREXAF_7Fgevat8R:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR10qb_pbzcnerRCXiF7_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR10qb_pbzcnerRCXiF7_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR10qb_pbzcnerRCXiF7_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR10qb_pbzcnerRCXiF7_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR25__rzcynpr_havdhr_xrl_netfVwWEXwRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVwCiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR25__rzcynpr_havdhr_xrl_netfVwWEXwRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVwCiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR25__rzcynpr_havdhr_xrl_netfVwWEXwRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVwCiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR25__rzcynpr_havdhr_xrl_netfVwWEXwRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVwCiRRRRoRREXG_QcBG0_:
 nop
@@ -3478,7 +3478,7 @@
 b__MAX7naqebvq13FgevatCbbyErs8fgevat16RCz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR4svaqVF7_RRAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRREXG_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR4svaqVF7_RRAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRREXG_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR4svaqVF7_RRAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRREXG_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR4svaqVF7_RRAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRREXG_:
 nop
@@ -3508,7 +3508,7 @@
 b__MAX7naqebvq8ErfGnoyr8trgRagelRCXAF0_12CnpxntrTebhcRvvCXAF_15ErfGnoyr_pbasvtRCAF0_5RagelR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVuAF_3frgVAF_4cnveVwwRRAF_4yrffVF4_RRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVuFN_AF5_VuRRYo1RRRAF7_VFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVuAF_3frgVAF_4cnveVwwRRAF_4yrffVF4_RRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVuFN_AF5_VuRRYo1RRRAF7_VFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVuAF_3frgVAF_4cnveVwwRRAF_4yrffVF4_RRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVuFN_AF5_VuRRYo1RRRAF7_VFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVuAF_3frgVAF_4cnveVwwRRAF_4yrffVF4_RRAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVuFN_AF5_VuRRYo1RRRAF7_VFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR:
 nop
@@ -3523,7 +3523,7 @@
 b__MAX7naqebvq12ErfKZYCnefre7trgGrkgRCz:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRR7__pybarRCAF0_6__onfrVF6_RR
+.weak b__MAXFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRR7__pybarRCAF0_6__onfrVF6_RR
 .type b__MAXFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRR7__pybarRCAF0_6__onfrVF6_RR,%function
 b__MAXFg3__110__shapgvba6__shapVCSvvRAF_9nyybpngbeVF3_RRSppRR7__pybarRCAF0_6__onfrVF6_RR:
 nop
@@ -3533,7 +3533,7 @@
 b__MA7naqebvq16_PbzcerffrqNffrg9trgOhssreRo:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_12NffrgZnantre9FunerqMvcRRRR7qb_pbclRCiCXiz:
 nop
@@ -3543,7 +3543,7 @@
 b__MGIA7naqebvq12NffrgZnantreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -3568,17 +3568,17 @@
 b__MA7naqebvq16OnpxhcQngnErnqreQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_7SvyrErpRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVuCXA7naqebvq17VqzncRagel_urnqreRRRAF_22__habeqrerq_znc_unfureVuF6_AF_4unfuVuRRYo1RRRAF_21__habeqrerq_znc_rdhnyVuF6_AF_8rdhny_gbVuRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVuWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBuRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVuCXA7naqebvq17VqzncRagel_urnqreRRRAF_22__habeqrerq_znc_unfureVuF6_AF_4unfuVuRRYo1RRRAF_21__habeqrerq_znc_rdhnyVuF6_AF_8rdhny_gbVuRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVuWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBuRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVuCXA7naqebvq17VqzncRagel_urnqreRRRAF_22__habeqrerq_znc_unfureVuF6_AF_4unfuVuRRYo1RRRAF_21__habeqrerq_znc_rdhnyVuF6_AF_8rdhny_gbVuRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVuWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBuRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVuCXA7naqebvq17VqzncRagel_urnqreRRRAF_22__habeqrerq_znc_unfureVuF6_AF_4unfuVuRRYo1RRRAF_21__habeqrerq_znc_rdhnyVuF6_AF_8rdhny_gbVuRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVuWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBuRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq19QlanzvpCnpxntrRagelRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF3_VpRRRREXwRRRiQcBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq19QlanzvpCnpxntrRagelRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF3_VpRRRREXwRRRiQcBG_
 .type b__MAFg3__16irpgbeVA7naqebvq19QlanzvpCnpxntrRagelRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF3_VpRRRREXwRRRiQcBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq19QlanzvpCnpxntrRagelRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF3_VpRRRREXwRRRiQcBG_:
 nop
@@ -3613,7 +3613,7 @@
 b__MAX7naqebvq12ErfKZYCnefre11trgCbfvgvbaRCAF0_14ErfKZYCbfvgvbaR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr7CnpxntrRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -3628,7 +3628,7 @@
 b__MA7naqebvq12NffrgZnantre6MvcFrg12trgFunerqMvcREXAF_7Fgevat8R:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR10qb_qrfgeblRCiz:
 nop
@@ -3648,7 +3648,7 @@
 b__MAX7naqebvq8ErfGnoyr11cevag_inyhrRCXAF0_7CnpxntrREXAF_9Erf_inyhrR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR10qb_qrfgeblRCiz:
 nop
@@ -3673,7 +3673,7 @@
 b__MAX7naqebvq12NffrgZnantre17nqqFlfgrzBireynlfRCXpEXAF_7Fgevat8RCAF_8ErfGnoyrRz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_8NffrgQve8SvyrVasbRR8qb_fcyngRCiCXiz:
 nop
@@ -3703,12 +3703,12 @@
 b__MA7naqebvq13NffrgZnantre26TrgOntRw:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8ErfGnoyr6UrnqreRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -3723,7 +3723,7 @@
 b__MA7naqebvq12NffrgZnantre6MvcFrg10vfHcGbQngrRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR10qb_pbzcnerRCXiFN_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR10qb_pbzcnerRCXiFN_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR10qb_pbzcnerRCXiFN_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RAF_2jcVAF_12NffrgZnantre9FunerqMvcRRRRRR10qb_pbzcnerRCXiFN_:
 nop
@@ -3733,7 +3733,7 @@
 b__MA7naqebvq10YbnqrqNefp9YbnqGnoyrREXAF_5PuhaxRCXAF_11YbnqrqVqzncRo:
 nop
 .data
-.globl b__MGI8SqErnqre
+.weak b__MGI8SqErnqre
 .type b__MGI8SqErnqre,%object
 b__MGI8SqErnqre:
 .space __SIZEOF_POINTER__
@@ -3743,7 +3743,7 @@
 b__MAX7naqebvq5Gurzr25ErfbyirNggevohgrErsreraprRvCAF_9Erf_inyhrRCAF_15ErfGnoyr_pbasvtRCwF5_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwwRRRRRAFS_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwwRRRRRAFS_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwwRRRRRAFS_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwwRRAF_22__habeqrerq_znc_unfureVwF2_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF2_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwwRRRRRAFS_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_:
 nop
@@ -3798,7 +3798,6 @@
 CALL(b__MA7naqebvq4onfr10YbtZrffntrQ1Ri)
 CALL(b__MA7naqebvq9NcxNffrgf19PerngrNffrgSebzSvyrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR)
 CALL(b__MA7naqebvq11YbnqrqVqznc4YbnqREXAF_16OnfvpFgevatCvrprVpRR)
-CALL(lseek64)
 CALL(b__MA7naqebvq7SvyrZncP1Ri)
 CALL(b__MA7naqebvq7SvyrZnc6perngrRCXpvyzo)
 CALL(b__MA7naqebvq5Nffrg25perngrSebzHapbzcerffrqZncRAFg3__110havdhr_cgeVAF_7SvyrZncRAF1_14qrsnhyg_qryrgrVF3_RRRRAF0_10NpprffZbqrR)
@@ -4301,7 +4300,6 @@
 CALL(b_pep32)
 CALL(b__MA7naqebvq16OnpxhcQngnJevgre17JevgrRagvglUrnqreREXAF_7Fgevat8Rz)
 CALL(b__MA7naqebvq16OnpxhcQngnJevgre15JevgrRagvglQngnRCXiz)
-CALL(lstat64)
 CALL(b__MA7naqebvq16OnpxhcQngnErnqre16ErnqRagvglUrnqreRCAF_7Fgevat8RCz)
 CALL(b__MA7naqebvq16OnpxhcQngnErnqre14ErnqRagvglQngnRCiz)
 CALL(open)
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_002.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_002.S
index 6eae0a1..6d43235 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_002.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_002.S
@@ -3,12 +3,12 @@
 .data
 .p2align 4
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_5zrqvn7VCynlreRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_5zrqvn7VCynlreRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_5zrqvn7VCynlreRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_5zrqvn7VCynlreRR10baNfOvaqreRi:
 nop
@@ -28,7 +28,7 @@
 b__MGua8_A7naqebvq8OaRssrpg10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .data
-.globl b__MGIA7naqebvq11NhqvbRssrpg12RssrpgPyvragR
+.weak b__MGIA7naqebvq11NhqvbRssrpg12RssrpgPyvragR
 .type b__MGIA7naqebvq11NhqvbRssrpg12RssrpgPyvragR,%object
 b__MGIA7naqebvq11NhqvbRssrpg12RssrpgPyvragR:
 .space __SIZEOF_POINTER__
@@ -53,7 +53,7 @@
 b__MA7naqebvq21NhqvbGenpxPyvragCebkl5syhfuRi:
 nop
 .data
-.globl b__MGPA7naqebvq14OcNhqvbSyvatreR0_AF_13VNhqvbSyvatreR
+.weak b__MGPA7naqebvq14OcNhqvbSyvatreR0_AF_13VNhqvbSyvatreR
 .type b__MGPA7naqebvq14OcNhqvbSyvatreR0_AF_13VNhqvbSyvatreR,%object
 b__MGPA7naqebvq14OcNhqvbSyvatreR0_AF_13VNhqvbSyvatreR:
 .space __SIZEOF_POINTER__
@@ -78,7 +78,7 @@
 b__MGIA7naqebvq21NhqvbGenpxPyvragCebklR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8OcRssrpgR
+.weak b__MGIA7naqebvq8OcRssrpgR
 .type b__MGIA7naqebvq8OcRssrpgR,%object
 b__MGIA7naqebvq8OcRssrpgR:
 .space __SIZEOF_POINTER__
@@ -98,7 +98,7 @@
 b__MGIA7naqebvq14OaNhqvbSyvatreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz:
 nop
@@ -138,7 +138,7 @@
 b__MAX7naqebvq19VNhqvbSyvatrePyvrag22trgVagresnprQrfpevcgbeRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz:
 nop
@@ -148,7 +148,7 @@
 b__MA7naqebvq27FgngvpNhqvbGenpxFreireCebkl11senzrfErnqlRi:
 nop
 .data
-.globl b__MGIA7naqebvq26OcNhqvbCbyvplFreivprPyvragR
+.weak b__MGIA7naqebvq26OcNhqvbCbyvplFreivprPyvragR
 .type b__MGIA7naqebvq26OcNhqvbCbyvplFreivprPyvragR,%object
 b__MGIA7naqebvq26OcNhqvbCbyvplFreivprPyvragR:
 .space __SIZEOF_POINTER__
@@ -203,12 +203,12 @@
 b__MGPA7naqebvq11NhqvbFlfgrz24NhqvbCbyvplFreivprPyvragR8_AF_11OaVagresnprVAF_25VNhqvbCbyvplFreivprPyvragRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_5zrqvn12VNhqvbErpbeqRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_5zrqvn12VNhqvbErpbeqRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_5zrqvn12VNhqvbErpbeqRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_5zrqvn12VNhqvbErpbeqRR10baNfOvaqreRi:
 nop
@@ -228,7 +228,7 @@
 b__MA7naqebvq26OaNhqvbCbyvplFreivprPyvrag10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .text
-.globl b__MAFg3__14yvfgVA7naqebvq5zrqvn12IbyhzrFuncreRAF_9nyybpngbeVF3_RRR5renfrRAF_21__yvfg_pbafg_vgrengbeVF3_CiRR
+.weak b__MAFg3__14yvfgVA7naqebvq5zrqvn12IbyhzrFuncreRAF_9nyybpngbeVF3_RRR5renfrRAF_21__yvfg_pbafg_vgrengbeVF3_CiRR
 .type b__MAFg3__14yvfgVA7naqebvq5zrqvn12IbyhzrFuncreRAF_9nyybpngbeVF3_RRR5renfrRAF_21__yvfg_pbafg_vgrengbeVF3_CiRR,%function
 b__MAFg3__14yvfgVA7naqebvq5zrqvn12IbyhzrFuncreRAF_9nyybpngbeVF3_RRR5renfrRAF_21__yvfg_pbafg_vgrengbeVF3_CiRR:
 nop
@@ -243,7 +243,7 @@
 b__MA7naqebvq5zrqvn8OcCynlre4fgbcRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR7qb_pbclRCiCXiz:
 nop
@@ -253,7 +253,7 @@
 b__MA7naqebvq13VNhqvbSyvatre12qrsnhyg_vzcyR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRRR:
 .space __SIZEOF_POINTER__
@@ -273,7 +273,7 @@
 b__MA7naqebvq11PyvragCebkl8xSberireR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq14OcNhqvbSyvatreR
+.weak b__MGGA7naqebvq14OcNhqvbSyvatreR
 .type b__MGGA7naqebvq14OcNhqvbSyvatreR,%object
 b__MGGA7naqebvq14OcNhqvbSyvatreR:
 .space __SIZEOF_POINTER__
@@ -313,12 +313,12 @@
 b__MA7naqebvq5zrqvn12VNhqvbErpbeqQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR32_AF_7VOvaqre14QrnguErpvcvragR
+.weak b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR32_AF_7VOvaqre14QrnguErpvcvragR
 .type b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR32_AF_7VOvaqre14QrnguErpvcvragR,%object
 b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR32_AF_7VOvaqre14QrnguErpvcvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_21NhqvbGenpxPyvragCebklRRnFVAF_27FgngvpNhqvbGenpxPyvragCebklRRREF2_EXAF0_VG_RR
+.weak b__MA7naqebvq2fcVAF_21NhqvbGenpxPyvragCebklRRnFVAF_27FgngvpNhqvbGenpxPyvragCebklRRREF2_EXAF0_VG_RR
 .type b__MA7naqebvq2fcVAF_21NhqvbGenpxPyvragCebklRRnFVAF_27FgngvpNhqvbGenpxPyvragCebklRRREF2_EXAF0_VG_RR,%function
 b__MA7naqebvq2fcVAF_21NhqvbGenpxPyvragCebklRRnFVAF_27FgngvpNhqvbGenpxPyvragCebklRRREF2_EXAF0_VG_RR:
 nop
@@ -338,7 +338,7 @@
 b__MA7naqebvq11NhqvbFlfgrz13trgCubarFgngrRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVsR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVsR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVsR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -353,7 +353,7 @@
 b__MA7naqebvq21NhqvbGenpxFreireCebkl11senzrfErnqlRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR7qb_pbclRCiCXiz:
 nop
@@ -363,7 +363,7 @@
 b__MA7naqebvq5zrqvn13OaNhqvbErpbeqP2Ri:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVvRR
+.weak b__MGIA7naqebvq6IrpgbeVvRR
 .type b__MGIA7naqebvq6IrpgbeVvRR,%object
 b__MGIA7naqebvq6IrpgbeVvRR:
 .space __SIZEOF_POINTER__
@@ -383,7 +383,7 @@
 b__MAX7naqebvq21NhqvbGenpxFreireCebkl7trgErneRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF0_VsRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF0_VsRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF0_VsRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF0_VsRRR7qb_pbclRCiCXiz:
 nop
@@ -408,7 +408,7 @@
 b__MA7naqebvq15GenpxCynlreOnfr4vavgRCAF_10NhqvbGenpxRAF_13cynlre_glcr_gR13nhqvb_hfntr_g:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_13VRssrpgPyvragRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_13VRssrpgPyvragRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_13VRssrpgPyvragRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_13VRssrpgPyvragRR10baNfOvaqreRi:
 nop
@@ -423,7 +423,7 @@
 b__MA7naqebvq11NhqvbErpbeq12ZrqvnZrgevpf6tngureRCXF0_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR8qb_fcyngRCiCXiz:
 nop
@@ -453,7 +453,7 @@
 b__MGPA7naqebvq14OaNhqvbSyvatreR0_AF_11OaVagresnprVAF_13VNhqvbSyvatreRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR0_AF_13VRssrpgPyvragR
+.weak b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR0_AF_13VRssrpgPyvragR
 .type b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR0_AF_13VRssrpgPyvragR,%object
 b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR0_AF_13VRssrpgPyvragR:
 .space __SIZEOF_POINTER__
@@ -463,7 +463,7 @@
 b__MA7naqebvq11NhqvbFlfgrz22nqqNhqvbQrivprPnyyonpxREXAF_2jcVAF0_19NhqvbQrivprPnyyonpxRRRvv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_:
 nop
@@ -483,7 +483,7 @@
 b__MGi0_a24_A7naqebvq10NhqvbGenpx16NhqvbGenpxGuernqQ0Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq16NhqvbIbyhzrTebhcRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq16NhqvbIbyhzrTebhcRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq16NhqvbIbyhzrTebhcRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq16NhqvbIbyhzrTebhcRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -518,7 +518,7 @@
 b__MA7naqebvq11NhqvbErpbeq13QrnguAbgvsvre10ovaqreQvrqREXAF_2jcVAF_7VOvaqreRRR:
 nop
 .data
-.globl b__MGIA7naqebvq22NhqvbErpbeqPyvragCebklR
+.weak b__MGIA7naqebvq22NhqvbErpbeqPyvragCebklR
 .type b__MGIA7naqebvq22NhqvbErpbeqPyvragCebklR,%object
 b__MGIA7naqebvq22NhqvbErpbeqPyvragCebklR:
 .space __SIZEOF_POINTER__
@@ -538,7 +538,7 @@
 b__MA7naqebvq11NhqvbFlfgrz19trgQrivprfSbeFgernzR19nhqvb_fgernz_glcr_g:
 nop
 .data
-.globl b__MGIA7naqebvq20OcNhqvbCbyvplFreivprR
+.weak b__MGIA7naqebvq20OcNhqvbCbyvplFreivprR
 .type b__MGIA7naqebvq20OcNhqvbCbyvplFreivprR,%object
 b__MGIA7naqebvq20OcNhqvbCbyvplFreivprR:
 .space __SIZEOF_POINTER__
@@ -588,12 +588,12 @@
 b__MA7naqebvq10NhqvbGenpx22hcqngrEbhgrqQrivprVq_yRi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_27FgngvpNhqvbGenpxPyvragCebklRRnFRCF1_
+.weak b__MA7naqebvq2fcVAF_27FgngvpNhqvbGenpxPyvragCebklRRnFRCF1_
 .type b__MA7naqebvq2fcVAF_27FgngvpNhqvbGenpxPyvragCebklRRnFRCF1_,%function
 b__MA7naqebvq2fcVAF_27FgngvpNhqvbGenpxPyvragCebklRRnFRCF1_:
 nop
 .text
-.globl b__MAFg3__113__irpgbe_onfrVA7naqebvq5zrqvn14ZvpebcubarVasbRAF_9nyybpngbeVF3_RRRQ2Ri
+.weak b__MAFg3__113__irpgbe_onfrVA7naqebvq5zrqvn14ZvpebcubarVasbRAF_9nyybpngbeVF3_RRRQ2Ri
 .type b__MAFg3__113__irpgbe_onfrVA7naqebvq5zrqvn14ZvpebcubarVasbRAF_9nyybpngbeVF3_RRRQ2Ri,%function
 b__MAFg3__113__irpgbe_onfrVA7naqebvq5zrqvn14ZvpebcubarVasbRAF_9nyybpngbeVF3_RRRQ2Ri:
 nop
@@ -643,22 +643,22 @@
 b__MGi0_a24_A7naqebvq11NhqvbErpbeq17NhqvbErpbeqGuernqQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq5zrqvn12IbyhzrFuncre9BcrengvbaR
+.weak b__MGIA7naqebvq5zrqvn12IbyhzrFuncre9BcrengvbaR
 .type b__MGIA7naqebvq5zrqvn12IbyhzrFuncre9BcrengvbaR,%object
 b__MGIA7naqebvq5zrqvn12IbyhzrFuncre9BcrengvbaR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq26OcNhqvbCbyvplFreivprPyvragR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq26OcNhqvbCbyvplFreivprPyvragR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq26OcNhqvbCbyvplFreivprPyvragR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq26OcNhqvbCbyvplFreivprPyvragR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq14OcRssrpgPyvragR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq14OcRssrpgPyvragR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq14OcRssrpgPyvragR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq14OcRssrpgPyvragR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -693,7 +693,7 @@
 b__MA7naqebvq11NhqvbFlfgrz24NhqvbCbyvplFreivprPyvrag29baQlanzvpCbyvplZvkFgngrHcqngrRAF_7Fgevat8Rv:
 nop
 .data
-.globl b__MGGA7naqebvq8OcRssrpgR
+.weak b__MGGA7naqebvq8OcRssrpgR
 .type b__MGGA7naqebvq8OcRssrpgR,%object
 b__MGGA7naqebvq8OcRssrpgR:
 .space __SIZEOF_POINTER__
@@ -703,7 +703,7 @@
 b__MA7naqebvq11NhqvbRssrpgP1RCXpEXAF_8Fgevat16RF2_vCSivCiF6_RF6_15nhqvb_frffvba_gv:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -728,7 +728,7 @@
 b__MGIA7naqebvq19VNhqvbCbyvplFreivprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVsRR
+.weak b__MGIA7naqebvq6IrpgbeVsRR
 .type b__MGIA7naqebvq6IrpgbeVsRR,%object
 b__MGIA7naqebvq6IrpgbeVsRR:
 .space __SIZEOF_POINTER__
@@ -753,7 +753,7 @@
 b__MA7naqebvq10NhqvbGenpx21trgOhssreQhengvbaVaHfRCy:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_:
 nop
@@ -793,12 +793,12 @@
 b__MA7naqebvq15GenpxCynlreOnfr9qbQrfgeblRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
@@ -848,7 +848,7 @@
 b__MA7naqebvq11NhqvbFlfgrz29trgCersreerqQrivprSbeFgengrtlRAF_18cebqhpg_fgengrtl_gREAF_19NhqvbQrivprGlcrNqqeR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR10qb_qrfgeblRCiz:
 nop
@@ -878,7 +878,7 @@
 b__MA7naqebvq10NhqvbGenpx22nqqNhqvbQrivprPnyyonpxREXAF_2fcVAF_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRR:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRRR:
 .space __SIZEOF_POINTER__
@@ -938,7 +938,7 @@
 b__MGGA7naqebvq5zrqvn8OaCynlreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR12qb_pbafgehpgRCiz:
 nop
@@ -958,7 +958,7 @@
 b__MA7naqebvq11NhqvbFlfgrz13tNhqvbSyvatreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_:
 nop
@@ -1003,7 +1003,7 @@
 b__MA7naqebvq19VNhqvbCbyvplFreivprQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR8qb_fcyngRCiCXiz:
 nop
@@ -1023,7 +1023,7 @@
 b__MA7naqebvq19VNhqvbCbyvplFreivpr11nfVagresnprREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1063,7 +1063,7 @@
 b__MA7naqebvq24ErpbeqvatNpgvivglGenpxre16erpbeqvatFgbccrqRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVsR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVsR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVsR8qb_fcyngRCiCXiz:
 nop
@@ -1073,7 +1073,7 @@
 b__MA7naqebvq11NhqvbFlfgrz24NhqvbCbyvplFreivprPyvrag23erzbirNhqvbCbegPnyyonpxREXAF_2fcVAF0_17NhqvbCbegPnyyonpxRRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR8qb_fcyngRCiCXiz:
 nop
@@ -1093,7 +1093,7 @@
 b__MGua8_A7naqebvq14OaNhqvbSyvatre10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
@@ -1143,7 +1143,7 @@
 b__MA7naqebvq7VRssrpgQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF0_VsRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF0_VsRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF0_VsRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF0_VsRRR8qb_fcyngRCiCXiz:
 nop
@@ -1163,7 +1163,7 @@
 b__MA7naqebvq24ErpbeqvatNpgvivglGenpxre16erpbeqvatFgnegrqRi:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -1188,7 +1188,7 @@
 b__MGGA7naqebvq11VNhqvbGenpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8OcRssrpgR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq8OcRssrpgR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq8OcRssrpgR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq8OcRssrpgR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -1203,7 +1203,7 @@
 b__MA7naqebvq5zrqvn19VNhqvbErpbeqQrsnhyg5fgnegRvv:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVvWEvEF6_RRRAF_4cnveVAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVvWEvEF6_RRRAF_4cnveVAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVvWEvEF6_RRRAF_4cnveVAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVvWEvEF6_RRRAF_4cnveVAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -1218,7 +1218,7 @@
 b__MA7naqebvq10NhqvbGenpx15frgCynlonpxEngrREXAF_17NhqvbCynlonpxEngrR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1308,7 +1308,7 @@
 b__MA7naqebvq5zrqvn19VNhqvbErpbeqQrsnhyg31frgCersreerqZvpebcubarQverpgvbaRv:
 nop
 .data
-.globl b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR0_AF_11OaVagresnprVAF_13VRssrpgPyvragRRR
+.weak b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR0_AF_11OaVagresnprVAF_13VRssrpgPyvragRRR
 .type b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR0_AF_11OaVagresnprVAF_13VRssrpgPyvragRRR,%object
 b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR0_AF_11OaVagresnprVAF_13VRssrpgPyvragRRR:
 .space __SIZEOF_POINTER__
@@ -1318,7 +1318,7 @@
 b__MA7naqebvq27FgngvpNhqvbGenpxPyvragCebklP1RCAF_18nhqvb_genpx_poyx_gRCizz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq20NhqvbCebqhpgFgengrtlRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq20NhqvbCebqhpgFgengrtlRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq20NhqvbCebqhpgFgengrtlRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq20NhqvbCebqhpgFgengrtlRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -1353,7 +1353,7 @@
 b__MAX7naqebvq10NhqvbGenpx13trgFnzcyrEngrRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR12qb_pbafgehpgRCiz:
 nop
@@ -1388,7 +1388,7 @@
 b__MA7naqebvq13GbarTrarengbeQ2Ri:
 nop
 .data
-.globl b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR8_AF_7OOvaqreR
+.weak b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR8_AF_7OOvaqreR
 .type b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR8_AF_7OOvaqreR,%object
 b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
@@ -1398,7 +1398,7 @@
 b__MA7naqebvq11PyvragCebkl9vagreehcgRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeV19rssrpg_qrfpevcgbe_fAF_9nyybpngbeVF1_RRRP2REXF4_
+.weak b__MAFg3__16irpgbeV19rssrpg_qrfpevcgbe_fAF_9nyybpngbeVF1_RRRP2REXF4_
 .type b__MAFg3__16irpgbeV19rssrpg_qrfpevcgbe_fAF_9nyybpngbeVF1_RRRP2REXF4_,%function
 b__MAFg3__16irpgbeV19rssrpg_qrfpevcgbe_fAF_9nyybpngbeVF1_RRRP2REXF4_:
 nop
@@ -1418,7 +1418,7 @@
 b__MGIA7naqebvq11NhqvbErpbeq13QrnguAbgvsvreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1473,7 +1473,7 @@
 b__MA7naqebvq10CynlreOnfr6frgCnaRs:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_5zrqvn14ZvpebcubarVasbRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR
+.weak b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_5zrqvn14ZvpebcubarVasbRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR
 .type b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_5zrqvn14ZvpebcubarVasbRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR,%function
 b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_5zrqvn14ZvpebcubarVasbRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR:
 nop
@@ -1493,7 +1493,7 @@
 b__MGIA7naqebvq22NhqvbErpbeqFreireCebklR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz:
 nop
@@ -1508,7 +1508,7 @@
 b__MA7naqebvq10NhqvbGenpx19baNhqvbQrivprHcqngrRvv:
 nop
 .data
-.globl b__MGPA7naqebvq20OcNhqvbSyvatrePyvragR0_AF_19VNhqvbSyvatrePyvragR
+.weak b__MGPA7naqebvq20OcNhqvbSyvatrePyvragR0_AF_19VNhqvbSyvatrePyvragR
 .type b__MGPA7naqebvq20OcNhqvbSyvatrePyvragR0_AF_19VNhqvbSyvatrePyvragR,%object
 b__MGPA7naqebvq20OcNhqvbSyvatrePyvragR0_AF_19VNhqvbSyvatrePyvragR:
 .space __SIZEOF_POINTER__
@@ -1548,7 +1548,7 @@
 b__MA7naqebvq13VNhqvbSyvatre14trgQrsnhygVzcyRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
@@ -1603,7 +1603,7 @@
 b__MAX7naqebvq10NhqvbGenpx17trgZnexreCbfvgvbaRCw:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVsR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVsR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVsR10qb_qrfgeblRCiz:
 nop
@@ -1618,7 +1618,7 @@
 b__MGua8_A7naqebvq5zrqvn8OaCynlre10baGenafnpgRwEXAF_6CnepryRCF2_w:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -1658,7 +1658,7 @@
 b__MA7naqebvq10NhqvbGenpx13frgFnzcyrEngrRw:
 nop
 .data
-.globl b__MGIA7naqebvq5zrqvn12IbyhzrFuncre5FgngrR
+.weak b__MGIA7naqebvq5zrqvn12IbyhzrFuncre5FgngrR
 .type b__MGIA7naqebvq5zrqvn12IbyhzrFuncre5FgngrR,%object
 b__MGIA7naqebvq5zrqvn12IbyhzrFuncre5FgngrR:
 .space __SIZEOF_POINTER__
@@ -1673,7 +1673,7 @@
 b__MA7naqebvq27FgngvpNhqvbGenpxFreireCebkl12bognvaOhssreRCAF_5Cebkl6OhssreRo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6erfvmrRz
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6erfvmrRz
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6erfvmrRz,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6erfvmrRz:
 nop
@@ -1698,7 +1698,7 @@
 b__MA7naqebvq11NhqvbFlfgrz13trgFgernzZhgrR19nhqvb_fgernz_glcr_gCo:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1728,7 +1728,7 @@
 b__MA7naqebvq13VNhqvbSyvatre10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR7qb_pbclRCiCXiz:
 nop
@@ -1748,12 +1748,12 @@
 b__MA7naqebvq10NhqvbGenpx16NhqvbGenpxGuernqP2REF0_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .data
-.globl b__MGPA7naqebvq20OcNhqvbSyvatrePyvragR0_AF_11OcVagresnprVAF_19VNhqvbSyvatrePyvragRRR
+.weak b__MGPA7naqebvq20OcNhqvbSyvatrePyvragR0_AF_11OcVagresnprVAF_19VNhqvbSyvatrePyvragRRR
 .type b__MGPA7naqebvq20OcNhqvbSyvatrePyvragR0_AF_11OcVagresnprVAF_19VNhqvbSyvatrePyvragRRR,%object
 b__MGPA7naqebvq20OcNhqvbSyvatrePyvragR0_AF_11OcVagresnprVAF_19VNhqvbSyvatrePyvragRRR:
 .space __SIZEOF_POINTER__
@@ -1773,7 +1773,7 @@
 b__MGi0_a24_A7naqebvq15GenpxCynlreOnfrQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR8_AF_7VOvaqreR
+.weak b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR8_AF_7VOvaqreR
 .type b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR8_AF_7VOvaqreR,%object
 b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
@@ -1813,7 +1813,7 @@
 b__MA7naqebvq5zrqvn19VNhqvbErpbeqQrsnhyg36frgCersreerqZvpebcubarSvryqQvzrafvbaRs:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF0_VsRRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF0_VsRRRR
 .type b__MGIA7naqebvq6IrpgbeVAF0_VsRRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF0_VsRRRR:
 .space __SIZEOF_POINTER__
@@ -1838,7 +1838,7 @@
 b__MA7naqebvq10NhqvbGenpx21pbairegGenafsreGbGrkgRAF0_13genafsre_glcrR:
 nop
 .text
-.globl b__MAFg3__16irpgbeV14nhqvb_sbezng_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeV14nhqvb_sbezng_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeV14nhqvb_sbezng_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeV14nhqvb_sbezng_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -1943,7 +1943,7 @@
 b__MA7naqebvq11NhqvbRssrpg19ranoyrFgnghfPunatrqRo:
 nop
 .data
-.globl b__MGIA7naqebvq13VNhqvbSyvatre18PerngrErpbeqBhgchgR
+.weak b__MGIA7naqebvq13VNhqvbSyvatre18PerngrErpbeqBhgchgR
 .type b__MGIA7naqebvq13VNhqvbSyvatre18PerngrErpbeqBhgchgR,%object
 b__MGIA7naqebvq13VNhqvbSyvatre18PerngrErpbeqBhgchgR:
 .space __SIZEOF_POINTER__
@@ -1973,7 +1973,7 @@
 b__MGIA7naqebvq13VRssrpgPyvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR10qb_qrfgeblRCiz:
 nop
@@ -2033,7 +2033,7 @@
 b__MA7naqebvq11NhqvbErpbeq12trgGvzrfgnzcRCAF_17RkgraqrqGvzrfgnzcR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR12qb_pbafgehpgRCiz:
 nop
@@ -2048,7 +2048,7 @@
 b__MGi0_a24_A7naqebvq10NhqvbGenpx16NhqvbGenpxGuernqQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq20OcNhqvbCbyvplFreivprR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq20OcNhqvbCbyvplFreivprR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq20OcNhqvbCbyvplFreivprR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq20OcNhqvbCbyvplFreivprR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -2063,7 +2063,7 @@
 b__MAX7naqebvq22NhqvbErpbeqFreireCebkl15senzrfErnqlFnsrRi:
 nop
 .data
-.globl b__MGPA7naqebvq20OcNhqvbSyvatrePyvragR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq20OcNhqvbSyvatrePyvragR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq20OcNhqvbSyvatrePyvragR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq20OcNhqvbSyvatrePyvragR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -2093,22 +2093,22 @@
 b__MA7naqebvq10NhqvbGenpx26vfFnzcyrEngrFcrrqNyybjrq_yRws:
 nop
 .text
-.globl b__MAFg3__16irpgbeV19rssrpg_qrfpevcgbe_fAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
+.weak b__MAFg3__16irpgbeV19rssrpg_qrfpevcgbe_fAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
 .type b__MAFg3__16irpgbeV19rssrpg_qrfpevcgbe_fAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_,%function
 b__MAFg3__16irpgbeV19rssrpg_qrfpevcgbe_fAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_:
 nop
 .data
-.globl b__MGPA7naqebvq14OcRssrpgPyvragR0_AF_13VRssrpgPyvragR
+.weak b__MGPA7naqebvq14OcRssrpgPyvragR0_AF_13VRssrpgPyvragR
 .type b__MGPA7naqebvq14OcRssrpgPyvragR0_AF_13VRssrpgPyvragR,%object
 b__MGPA7naqebvq14OcRssrpgPyvragR0_AF_13VRssrpgPyvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz:
 nop
 .data
-.globl b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -2118,7 +2118,7 @@
 b__MA7naqebvq11NhqvbFlfgrz18trgFheebhaqSbezngfRCwC14nhqvb_sbezng_gCoo:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRRR:
 .space __SIZEOF_POINTER__
@@ -2148,7 +2148,7 @@
 b__MA7naqebvq15GenpxCynlreOnfr15frgCynlreIbyhzrRss:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_11NhqvbFlfgrz18NhqvbSyvatrePyvragRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_11NhqvbFlfgrz18NhqvbSyvatrePyvragRRQ2Ri
 .type b__MA7naqebvq2fcVAF_11NhqvbFlfgrz18NhqvbSyvatrePyvragRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_11NhqvbFlfgrz18NhqvbSyvatrePyvragRRQ2Ri:
 nop
@@ -2163,7 +2163,7 @@
 b__MA7naqebvq10NhqvbGenpx5syhfuRi:
 nop
 .text
-.globl b__MAFg3__113__irpgbe_onfrVA7naqebvq20NhqvbCebqhpgFgengrtlRAF_9nyybpngbeVF2_RRRQ2Ri
+.weak b__MAFg3__113__irpgbe_onfrVA7naqebvq20NhqvbCebqhpgFgengrtlRAF_9nyybpngbeVF2_RRRQ2Ri
 .type b__MAFg3__113__irpgbe_onfrVA7naqebvq20NhqvbCebqhpgFgengrtlRAF_9nyybpngbeVF2_RRRQ2Ri,%function
 b__MAFg3__113__irpgbe_onfrVA7naqebvq20NhqvbCebqhpgFgengrtlRAF_9nyybpngbeVF2_RRRQ2Ri:
 nop
@@ -2188,7 +2188,7 @@
 b__MA7naqebvq11NhqvbErpbeq15erfgberErpbeq_yRCXp:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz:
 nop
@@ -2248,7 +2248,7 @@
 b__MGPA7naqebvq10CynlreOnfrR0_AF_5zrqvn8OaCynlreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
@@ -2263,7 +2263,7 @@
 b__MA7naqebvq10NhqvbGenpx15frgBhgchgQrivprRv:
 nop
 .data
-.globl b__MGPA7naqebvq8OcRssrpgR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq8OcRssrpgR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq8OcRssrpgR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq8OcRssrpgR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -2273,7 +2273,7 @@
 b__MA7naqebvq11NhqvbRssrpg11dhrelRssrpgRwC19rssrpg_qrfpevcgbe_f:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_19VNhqvbCbyvplFreivprRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_19VNhqvbCbyvplFreivprRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_19VNhqvbCbyvplFreivprRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_19VNhqvbCbyvplFreivprRR10baNfOvaqreRi:
 nop
@@ -2298,12 +2298,12 @@
 b__MA7naqebvq11NhqvbFlfgrz37trgCebqhpgFgengrtlSebzNhqvbNggevohgrfREXAF_15NhqvbNggevohgrfREAF_18cebqhpg_fgengrtl_gR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvA7naqebvq2jcVAF3_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvF7_RRRRRRRRAF_19__znc_inyhr_pbzcnerVvFT_F9_Yo1RRRAFN_VFT_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFT_CAF_11__gerr_abqrVFT_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvA7naqebvq2jcVAF3_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvF7_RRRRRRRRAF_19__znc_inyhr_pbzcnerVvFT_F9_Yo1RRRAFN_VFT_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFT_CAF_11__gerr_abqrVFT_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvA7naqebvq2jcVAF3_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvF7_RRRRRRRRAF_19__znc_inyhr_pbzcnerVvFT_F9_Yo1RRRAFN_VFT_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFT_CAF_11__gerr_abqrVFT_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvA7naqebvq2jcVAF3_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvF7_RRRRRRRRAF_19__znc_inyhr_pbzcnerVvFT_F9_Yo1RRRAFN_VFT_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFT_CAF_11__gerr_abqrVFT_CiRRyRR:
 nop
@@ -2323,7 +2323,7 @@
 b__MGGA7naqebvq11NhqvbErpbeq13QrnguAbgvsvreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFW_VWEXF6_RRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFW_VWEXF6_RRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFW_VWEXF6_RRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFW_VWEXF6_RRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -2338,17 +2338,17 @@
 b__MA7naqebvq11NhqvbFlfgrz24trgNhqvbUjFlapSbeFrffvbaR15nhqvb_frffvba_g:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_10NhqvbGenpx16NhqvbGenpxGuernqRR5pyrneRi
+.weak b__MA7naqebvq2fcVAF_10NhqvbGenpx16NhqvbGenpxGuernqRR5pyrneRi
 .type b__MA7naqebvq2fcVAF_10NhqvbGenpx16NhqvbGenpxGuernqRR5pyrneRi,%function
 b__MA7naqebvq2fcVAF_10NhqvbGenpx16NhqvbGenpxGuernqRR5pyrneRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR8qb_fcyngRCiCXiz:
 nop
 .data
-.globl b__MGPA7naqebvq20OcNhqvbCbyvplFreivprR0_AF_11OcVagresnprVAF_19VNhqvbCbyvplFreivprRRR
+.weak b__MGPA7naqebvq20OcNhqvbCbyvplFreivprR0_AF_11OcVagresnprVAF_19VNhqvbCbyvplFreivprRRR
 .type b__MGPA7naqebvq20OcNhqvbCbyvplFreivprR0_AF_11OcVagresnprVAF_19VNhqvbCbyvplFreivprRRR,%object
 b__MGPA7naqebvq20OcNhqvbCbyvplFreivprR0_AF_11OcVagresnprVAF_19VNhqvbCbyvplFreivprRRR:
 .space __SIZEOF_POINTER__
@@ -2408,7 +2408,7 @@
 b__MA7naqebvq5zrqvn7VCynlre12qrsnhyg_vzcyR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5zrqvn12IbyhzrFuncre13PbasvthengvbaR
+.weak b__MGIA7naqebvq5zrqvn12IbyhzrFuncre13PbasvthengvbaR
 .type b__MGIA7naqebvq5zrqvn12IbyhzrFuncre13PbasvthengvbaR,%object
 b__MGIA7naqebvq5zrqvn12IbyhzrFuncre13PbasvthengvbaR:
 .space __SIZEOF_POINTER__
@@ -2448,7 +2448,7 @@
 b__MGPA7naqebvq11NhqvbFlfgrz18NhqvbSyvatrePyvragR8_AF_20OaNhqvbSyvatrePyvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR8qb_fcyngRCiCXiz:
 nop
@@ -2483,7 +2483,7 @@
 b__MA7naqebvq11FreireCebkl13eryrnfrOhssreRCAF_5Cebkl6OhssreR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_11NhqvbFlfgrz24NhqvbCbyvplFreivprPyvragRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_11NhqvbFlfgrz24NhqvbCbyvplFreivprPyvragRRQ2Ri
 .type b__MA7naqebvq2fcVAF_11NhqvbFlfgrz24NhqvbCbyvplFreivprPyvragRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_11NhqvbFlfgrz24NhqvbCbyvplFreivprPyvragRRQ2Ri:
 nop
@@ -2498,7 +2498,7 @@
 b__MAX7naqebvq10NhqvbGenpx18trgHaqreehaPbhag_yRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVsAF_5ghcyrVWsssRRRRRAF_22__habeqrerq_znc_unfureVsF4_AF_4unfuVsRRYo1RRRAF_21__habeqrerq_znc_rdhnyVsF4_AF_8rdhny_gbVsRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVsAF_5ghcyrVWsssRRRRRAF_22__habeqrerq_znc_unfureVsF4_AF_4unfuVsRRYo1RRRAF_21__habeqrerq_znc_rdhnyVsF4_AF_8rdhny_gbVsRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVsAF_5ghcyrVWsssRRRRRAF_22__habeqrerq_znc_unfureVsF4_AF_4unfuVsRRYo1RRRAF_21__habeqrerq_znc_rdhnyVsF4_AF_8rdhny_gbVsRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVsAF_5ghcyrVWsssRRRRRAF_22__habeqrerq_znc_unfureVsF4_AF_4unfuVsRRYo1RRRAF_21__habeqrerq_znc_rdhnyVsF4_AF_8rdhny_gbVsRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz:
 nop
@@ -2523,7 +2523,7 @@
 b__MGua8_A7naqebvq11NhqvbFlfgrz24NhqvbCbyvplFreivprPyvrag21baNhqvbCbegYvfgHcqngrRi:
 nop
 .data
-.globl b__MGPA7naqebvq14OcNhqvbSyvatreR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq14OcNhqvbSyvatreR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq14OcNhqvbSyvatreR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq14OcNhqvbSyvatreR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -2543,7 +2543,7 @@
 b__MA7naqebvq11NhqvbFlfgrz9fgbcVachgRv:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2568,17 +2568,17 @@
 b__MA7naqebvq10NhqvbGenpx5cnhfrRi:
 nop
 .data
-.globl b__MGGA7naqebvq26OcNhqvbCbyvplFreivprPyvragR
+.weak b__MGGA7naqebvq26OcNhqvbCbyvplFreivprPyvragR
 .type b__MGGA7naqebvq26OcNhqvbCbyvplFreivprPyvragR,%object
 b__MGGA7naqebvq26OcNhqvbCbyvplFreivprPyvragR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq14OcRssrpgPyvragR
+.weak b__MGGA7naqebvq14OcRssrpgPyvragR
 .type b__MGGA7naqebvq14OcRssrpgPyvragR,%object
 b__MGGA7naqebvq14OcRssrpgPyvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz:
 nop
@@ -2598,7 +2598,7 @@
 b__MA7naqebvq11NhqvbFlfgrz21trgNhqvbSyvatrePyvragRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2683,7 +2683,7 @@
 b__MA7naqebvq11NhqvbErpbeq5fgnegRAF_11NhqvbFlfgrz12flap_rirag_gR15nhqvb_frffvba_g:
 nop
 .data
-.globl b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -2693,12 +2693,12 @@
 b__MA7naqebvq11NhqvbFlfgrz18NhqvbSyvatrePyvrag15trgVbQrfpevcgbeRv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5zrqvn14ZvpebcubarVasbRAF_9nyybpngbeVF3_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq5zrqvn14ZvpebcubarVasbRAF_9nyybpngbeVF3_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq5zrqvn14ZvpebcubarVasbRAF_9nyybpngbeVF3_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq5zrqvn14ZvpebcubarVasbRAF_9nyybpngbeVF3_RRR8__nccraqRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVEXsRRiBG_
+.weak b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVEXsRRiBG_
 .type b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVEXsRRiBG_,%function
 b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVEXsRRiBG_:
 nop
@@ -2708,12 +2708,12 @@
 b__MGIA7naqebvq5zrqvn19VNhqvbErpbeqQrsnhygR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -2753,7 +2753,7 @@
 b__MA7naqebvq11NhqvbFlfgrz32erzbirCersreerqQrivprSbeFgengrtlRAF_18cebqhpg_fgengrtl_gR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_10NhqvbGenpx16NhqvbGenpxGuernqRRnFRCF2_
+.weak b__MA7naqebvq2fcVAF_10NhqvbGenpx16NhqvbGenpxGuernqRRnFRCF2_
 .type b__MA7naqebvq2fcVAF_10NhqvbGenpx16NhqvbGenpxGuernqRRnFRCF2_,%function
 b__MA7naqebvq2fcVAF_10NhqvbGenpx16NhqvbGenpxGuernqRRnFRCF2_:
 nop
@@ -2783,7 +2783,7 @@
 b__MA7naqebvq18nhqvb_genpx_poyx_gP2Ri:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_20QrivprQrfpevcgbeOnfrRRP2RCF1_
+.weak b__MA7naqebvq2fcVAF_20QrivprQrfpevcgbeOnfrRRP2RCF1_
 .type b__MA7naqebvq2fcVAF_20QrivprQrfpevcgbeOnfrRRP2RCF1_,%function
 b__MA7naqebvq2fcVAF_20QrivprQrfpevcgbeOnfrRRP2RCF1_:
 nop
@@ -2838,7 +2838,7 @@
 b__MA7naqebvq11NhqvbFlfgrz10fgnegVachgRv:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_13VNhqvbSyvatreRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_13VNhqvbSyvatreRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_13VNhqvbSyvatreRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_13VNhqvbSyvatreRR10baNfOvaqreRi:
 nop
@@ -2858,12 +2858,12 @@
 b__MA7naqebvq11NhqvbFlfgrz33trgIbyhzrTebhcSebzNhqvbNggevohgrfREXAF_15NhqvbNggevohgrfREAF_14ibyhzr_tebhc_gR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR12qb_pbafgehpgRCiz:
 nop
@@ -2893,7 +2893,7 @@
 b__MGua8_A7naqebvq20OaNhqvbCbyvplFreivpr10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_:
 nop
@@ -2913,7 +2913,7 @@
 b__MA7naqebvq11NhqvbErpbeq12bognvaOhssreRCAF0_6OhssreRCX8gvzrfcrpCF3_Cz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2923,7 +2923,7 @@
 b__MA7naqebvq27FgngvpNhqvbGenpxPyvragCebkl29trgOhssreCbfvgvbaNaqYbbcPbhagRCzCv:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVsAF_5ghcyrVWsssRRRRRAF_22__habeqrerq_znc_unfureVsF4_AF_4unfuVsRRYo1RRRAF_21__habeqrerq_znc_rdhnyVsF4_AF_8rdhny_gbVsRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVsWEXAF_21cvrprjvfr_pbafgehpg_gRAF2_VWEXsRRRAF2_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVsAF_5ghcyrVWsssRRRRRAF_22__habeqrerq_znc_unfureVsF4_AF_4unfuVsRRYo1RRRAF_21__habeqrerq_znc_rdhnyVsF4_AF_8rdhny_gbVsRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVsWEXAF_21cvrprjvfr_pbafgehpg_gRAF2_VWEXsRRRAF2_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVsAF_5ghcyrVWsssRRRRRAF_22__habeqrerq_znc_unfureVsF4_AF_4unfuVsRRYo1RRRAF_21__habeqrerq_znc_rdhnyVsF4_AF_8rdhny_gbVsRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVsWEXAF_21cvrprjvfr_pbafgehpg_gRAF2_VWEXsRRRAF2_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVsAF_5ghcyrVWsssRRRRRAF_22__habeqrerq_znc_unfureVsF4_AF_4unfuVsRRYo1RRRAF_21__habeqrerq_znc_rdhnyVsF4_AF_8rdhny_gbVsRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVsWEXAF_21cvrprjvfr_pbafgehpg_gRAF2_VWEXsRRRAF2_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_:
 nop
@@ -2943,12 +2943,12 @@
 b__MA7naqebvq11NhqvbRssrpgP2REXAF_8Fgevat16R:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeV19nhqvb_fgernz_glcr_gAF_9nyybpngbeVF1_RRRP2REXF4_
+.weak b__MAFg3__16irpgbeV19nhqvb_fgernz_glcr_gAF_9nyybpngbeVF1_RRRP2REXF4_
 .type b__MAFg3__16irpgbeV19nhqvb_fgernz_glcr_gAF_9nyybpngbeVF1_RRRP2REXF4_,%function
 b__MAFg3__16irpgbeV19nhqvb_fgernz_glcr_gAF_9nyybpngbeVF1_RRRP2REXF4_:
 nop
@@ -2993,12 +2993,12 @@
 b__MA7naqebvq10NhqvbGenpx12trgGvzrfgnzcRCAF_17RkgraqrqGvzrfgnzcR:
 nop
 .data
-.globl b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVsR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVsR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVsR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -3013,7 +3013,7 @@
 b__MA7naqebvq11NhqvbFlfgrz14vfFbheprNpgvirR14nhqvb_fbhepr_gCo:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_19VNhqvbSyvatrePyvragRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_19VNhqvbSyvatrePyvragRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_19VNhqvbSyvatrePyvragRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_19VNhqvbSyvatrePyvragRR10baNfOvaqreRi:
 nop
@@ -3128,7 +3128,7 @@
 b__MA7naqebvq13GbarTrarengbe17fGbarZnccvatGnoyrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR7qb_pbclRCiCXiz:
 nop
@@ -3148,7 +3148,7 @@
 b__MA7naqebvq27FgngvpNhqvbGenpxPyvragCebkl5syhfuRi:
 nop
 .data
-.globl b__MGPA7naqebvq14OcRssrpgPyvragR0_AF_11OcVagresnprVAF_13VRssrpgPyvragRRR
+.weak b__MGPA7naqebvq14OcRssrpgPyvragR0_AF_11OcVagresnprVAF_13VRssrpgPyvragRRR
 .type b__MGPA7naqebvq14OcRssrpgPyvragR0_AF_11OcVagresnprVAF_13VRssrpgPyvragRRR,%object
 b__MGPA7naqebvq14OcRssrpgPyvragR0_AF_11OcVagresnprVAF_13VRssrpgPyvragRRR:
 .space __SIZEOF_POINTER__
@@ -3163,7 +3163,7 @@
 b__MA7naqebvq21NhqvbGenpxPyvragCebkl22fraqFgernzvatSyhfuFgbcRo:
 nop
 .data
-.globl b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR0_AF_14OaRssrpgPyvragR
+.weak b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR0_AF_14OaRssrpgPyvragR
 .type b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR0_AF_14OaRssrpgPyvragR,%object
 b__MGPA7naqebvq11NhqvbRssrpg12RssrpgPyvragR0_AF_14OaRssrpgPyvragR:
 .space __SIZEOF_POINTER__
@@ -3188,7 +3188,7 @@
 b__MA7naqebvq5zrqvn13OcNhqvbErpbeq5fgnegRvv:
 nop
 .data
-.globl b__MGGA7naqebvq11NhqvbRssrpg12RssrpgPyvragR
+.weak b__MGGA7naqebvq11NhqvbRssrpg12RssrpgPyvragR
 .type b__MGGA7naqebvq11NhqvbRssrpg12RssrpgPyvragR,%object
 b__MGGA7naqebvq11NhqvbRssrpg12RssrpgPyvragR:
 .space __SIZEOF_POINTER__
@@ -3203,7 +3203,7 @@
 b__MA7naqebvq8OaRssrpg10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -3223,7 +3223,7 @@
 b__MA7naqebvq11NhqvbFlfgrz22fgernzGlcrGbNggevohgrfR19nhqvb_fgernz_glcr_g:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR10qb_qrfgeblRCiz:
 nop
@@ -3288,17 +3288,17 @@
 b__MA7naqebvq11NhqvbFlfgrz11flfgrzErnqlRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXvF6_RRRRRAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXvF6_RRRRRAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXvF6_RRRRRAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXvF6_RRRRRAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRQcBG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvA7naqebvq2jcVAF3_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvF7_RRRRRRRRAF_19__znc_inyhr_pbzcnerVvFT_F9_Yo1RRRAFN_VFT_RRR7qrfgeblRCAF_11__gerr_abqrVFT_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvA7naqebvq2jcVAF3_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvF7_RRRRRRRRAF_19__znc_inyhr_pbzcnerVvFT_F9_Yo1RRRAFN_VFT_RRR7qrfgeblRCAF_11__gerr_abqrVFT_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvA7naqebvq2jcVAF3_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvF7_RRRRRRRRAF_19__znc_inyhr_pbzcnerVvFT_F9_Yo1RRRAFN_VFT_RRR7qrfgeblRCAF_11__gerr_abqrVFT_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvA7naqebvq2jcVAF3_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvF7_RRRRRRRRAF_19__znc_inyhr_pbzcnerVvFT_F9_Yo1RRRAFN_VFT_RRR7qrfgeblRCAF_11__gerr_abqrVFT_CiRR:
 nop
@@ -3328,7 +3328,7 @@
 b__MA7naqebvq7VRssrpg12qrsnhyg_vzcyR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR10qb_qrfgeblRCiz:
 nop
@@ -3358,7 +3358,7 @@
 b__MA7naqebvq11NhqvbFlfgrz20trgFgengrtlSbeFgernzR19nhqvb_fgernz_glcr_g:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR8qb_fcyngRCiCXiz:
 nop
@@ -3418,12 +3418,12 @@
 b__MAX7naqebvq13VNhqvbSyvatre22trgVagresnprQrfpevcgbeRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF0_VsRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF0_VsRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF0_VsRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF0_VsRRR10qb_qrfgeblRCiz:
 nop
@@ -3448,17 +3448,17 @@
 b__MGPA7naqebvq8OaRssrpgR0_AF_11OaVagresnprVAF_7VRssrpgRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq20OcNhqvbCbyvplFreivprR0_AF_19VNhqvbCbyvplFreivprR
+.weak b__MGPA7naqebvq20OcNhqvbCbyvplFreivprR0_AF_19VNhqvbCbyvplFreivprR
 .type b__MGPA7naqebvq20OcNhqvbCbyvplFreivprR0_AF_19VNhqvbCbyvplFreivprR,%object
 b__MGPA7naqebvq20OcNhqvbCbyvplFreivprR0_AF_19VNhqvbCbyvplFreivprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVsR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVsR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVsR7qb_pbclRCiCXiz:
 nop
@@ -3508,7 +3508,7 @@
 b__MGPA7naqebvq10NhqvbGenpx13QrnguAbgvsvreR0_AF_7VOvaqre14QrnguErpvcvragR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq20OcNhqvbCbyvplFreivprR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq20OcNhqvbCbyvplFreivprR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq20OcNhqvbCbyvplFreivprR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq20OcNhqvbCbyvplFreivprR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -3563,12 +3563,12 @@
 b__MA7naqebvq11NhqvbFlfgrz21eryrnfrNhqvbFrffvbaVqR15nhqvb_frffvba_gv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz:
 nop
 .data
-.globl b__MGPA7naqebvq26OcNhqvbCbyvplFreivprPyvragR0_AF_25VNhqvbCbyvplFreivprPyvragR
+.weak b__MGPA7naqebvq26OcNhqvbCbyvplFreivprPyvragR0_AF_25VNhqvbCbyvplFreivprPyvragR
 .type b__MGPA7naqebvq26OcNhqvbCbyvplFreivprPyvragR0_AF_25VNhqvbCbyvplFreivprPyvragR,%object
 b__MGPA7naqebvq26OcNhqvbCbyvplFreivprPyvragR0_AF_25VNhqvbCbyvplFreivprPyvragR:
 .space __SIZEOF_POINTER__
@@ -3583,17 +3583,17 @@
 b__MA7naqebvq11NhqvbFlfgrz26trgCevznelBhgchgSenzrPbhagRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_:
 nop
 .data
-.globl b__MGPA7naqebvq12OcNhqvbGenpxR0_AF_11VNhqvbGenpxR
+.weak b__MGPA7naqebvq12OcNhqvbGenpxR0_AF_11VNhqvbGenpxR
 .type b__MGPA7naqebvq12OcNhqvbGenpxR0_AF_11VNhqvbGenpxR,%object
 b__MGPA7naqebvq12OcNhqvbGenpxR0_AF_11VNhqvbGenpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVsR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVsR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVsR12qb_pbafgehpgRCiz:
 nop
@@ -3613,12 +3613,12 @@
 b__MGPA7naqebvq26OaNhqvbCbyvplFreivprPyvragR0_AF_11OaVagresnprVAF_25VNhqvbCbyvplFreivprPyvragRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq12OcNhqvbGenpxR
+.weak b__MGIA7naqebvq12OcNhqvbGenpxR
 .type b__MGIA7naqebvq12OcNhqvbGenpxR,%object
 b__MGIA7naqebvq12OcNhqvbGenpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR10qb_pbzcnerRCXiF8_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR10qb_pbzcnerRCXiF8_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR10qb_pbzcnerRCXiF8_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR10qb_pbzcnerRCXiF8_:
 nop
@@ -3663,12 +3663,12 @@
 b__MGIA7naqebvq11NhqvbFlfgrz24NhqvbCbyvplFreivprPyvragR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq20OcNhqvbSyvatrePyvragR
+.weak b__MGGA7naqebvq20OcNhqvbSyvatrePyvragR
 .type b__MGGA7naqebvq20OcNhqvbSyvatrePyvragR,%object
 b__MGGA7naqebvq20OcNhqvbSyvatrePyvragR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq12OcNhqvbGenpxR0_AF_11OcVagresnprVAF_11VNhqvbGenpxRRR
+.weak b__MGPA7naqebvq12OcNhqvbGenpxR0_AF_11OcVagresnprVAF_11VNhqvbGenpxRRR
 .type b__MGPA7naqebvq12OcNhqvbGenpxR0_AF_11OcVagresnprVAF_11VNhqvbGenpxRRR,%object
 b__MGPA7naqebvq12OcNhqvbGenpxR0_AF_11OcVagresnprVAF_11VNhqvbGenpxRRR:
 .space __SIZEOF_POINTER__
@@ -3693,12 +3693,12 @@
 b__MGIA7naqebvq11NhqvbErpbeq17NhqvbErpbeqGuernqR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -3713,7 +3713,7 @@
 b__MGIA7naqebvq11VNhqvbGenpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF0_VsRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF0_VsRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF0_VsRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF0_VsRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -3728,17 +3728,17 @@
 b__MA7naqebvq11NhqvbFlfgrz17trgEraqreCbfvgvbaRvCwF1_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRRRiG_FZ_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRRRiG_FZ_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRRRiG_FZ_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRRRiG_FZ_:
 nop
 .data
-.globl b__MGPA7naqebvq8OcRssrpgR0_AF_11OcVagresnprVAF_7VRssrpgRRR
+.weak b__MGPA7naqebvq8OcRssrpgR0_AF_11OcVagresnprVAF_7VRssrpgRRR
 .type b__MGPA7naqebvq8OcRssrpgR0_AF_11OcVagresnprVAF_7VRssrpgRRR,%object
 b__MGPA7naqebvq8OcRssrpgR0_AF_11OcVagresnprVAF_7VRssrpgRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVsAF_5ghcyrVWsssRRRRRAF_22__habeqrerq_znc_unfureVsF4_AF_4unfuVsRRYo1RRRAF_21__habeqrerq_znc_rdhnyVsF4_AF_8rdhny_gbVsRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVsWEXAF_4cnveVXsF3_RRRRRAFU_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVsAF_5ghcyrVWsssRRRRRAF_22__habeqrerq_znc_unfureVsF4_AF_4unfuVsRRYo1RRRAF_21__habeqrerq_znc_rdhnyVsF4_AF_8rdhny_gbVsRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVsWEXAF_4cnveVXsF3_RRRRRAFU_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVsAF_5ghcyrVWsssRRRRRAF_22__habeqrerq_znc_unfureVsF4_AF_4unfuVsRRYo1RRRAF_21__habeqrerq_znc_rdhnyVsF4_AF_8rdhny_gbVsRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVsWEXAF_4cnveVXsF3_RRRRRAFU_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVsAF_5ghcyrVWsssRRRRRAF_22__habeqrerq_znc_unfureVsF4_AF_4unfuVsRRYo1RRRAF_21__habeqrerq_znc_rdhnyVsF4_AF_8rdhny_gbVsRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVsWEXAF_4cnveVXsF3_RRRRRAFU_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_:
 nop
@@ -3778,7 +3778,7 @@
 b__MAX7naqebvq11NhqvbErpbeq18trgVachgSenzrfYbfgRi:
 nop
 .data
-.globl b__MGIA7naqebvq13VNhqvbSyvatre17PerngrErpbeqVachgR
+.weak b__MGIA7naqebvq13VNhqvbSyvatre17PerngrErpbeqVachgR
 .type b__MGIA7naqebvq13VNhqvbSyvatre17PerngrErpbeqVachgR,%object
 b__MGIA7naqebvq13VNhqvbSyvatre17PerngrErpbeqVachgR:
 .space __SIZEOF_POINTER__
@@ -3793,7 +3793,7 @@
 b__MA7naqebvq11NhqvbFlfgrz30erzbirNhqvbIbyhzrTebhcPnyyonpxREXAF_2fcVAF0_24NhqvbIbyhzrTebhcPnyyonpxRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_19NhqvbQrivprGlcrNqqeRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -3813,12 +3813,12 @@
 b__MAX7naqebvq11NhqvbErpbeq23trgCbfvgvbaHcqngrCrevbqRCw:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR30__rzcynpr_uvag_havdhr_xrl_netfVvWEXAF_4cnveVXvF6_RRRRRAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF7_FC_yRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR30__rzcynpr_uvag_havdhr_xrl_netfVvWEXAF_4cnveVXvF6_RRRRRAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF7_FC_yRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR30__rzcynpr_uvag_havdhr_xrl_netfVvWEXAF_4cnveVXvF6_RRRRRAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF7_FC_yRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR30__rzcynpr_uvag_havdhr_xrl_netfVvWEXAF_4cnveVXvF6_RRRRRAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF7_FC_yRREXG_QcBG0_:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz17NhqvbCbegPnyyonpxRRRRR:
 .space __SIZEOF_POINTER__
@@ -3853,12 +3853,12 @@
 b__MGGA7naqebvq13VRssrpgPyvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -3878,7 +3878,7 @@
 b__MA7naqebvq10NhqvbGenpx9frgIbyhzrRss:
 nop
 .data
-.globl b__MGIA7naqebvq13VNhqvbSyvatre17PerngrGenpxBhgchgR
+.weak b__MGIA7naqebvq13VNhqvbSyvatre17PerngrGenpxBhgchgR
 .type b__MGIA7naqebvq13VNhqvbSyvatre17PerngrGenpxBhgchgR,%object
 b__MGIA7naqebvq13VNhqvbSyvatre17PerngrGenpxBhgchgR:
 .space __SIZEOF_POINTER__
@@ -3893,7 +3893,7 @@
 b__MGPA7naqebvq14OaNhqvbSyvatreR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq12OcNhqvbGenpxR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq12OcNhqvbGenpxR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq12OcNhqvbGenpxR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq12OcNhqvbGenpxR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -3943,7 +3943,7 @@
 b__MA7naqebvq11NhqvbRssrpg20frgCnenzrgreQrsreerqRC14rssrpg_cnenz_f:
 nop
 .data
-.globl b__MGPA7naqebvq26OcNhqvbCbyvplFreivprPyvragR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq26OcNhqvbCbyvplFreivprPyvragR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq26OcNhqvbCbyvplFreivprPyvragR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq26OcNhqvbCbyvplFreivprPyvragR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -3963,7 +3963,7 @@
 b__MGi0_a24_A7naqebvq5zrqvn7VCynlreQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR7qb_pbclRCiCXiz:
 nop
@@ -4008,7 +4008,7 @@
 b__MA7naqebvq11NhqvbFlfgrz22vfFgernzNpgvirErzbgrylR19nhqvb_fgernz_glcr_gCow:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_19VNhqvbCbyvplFreivprRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_19VNhqvbCbyvplFreivprRRQ2Ri
 .type b__MA7naqebvq2fcVAF_19VNhqvbCbyvplFreivprRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_19VNhqvbCbyvplFreivprRRQ2Ri:
 nop
@@ -4018,12 +4018,12 @@
 b__MA7naqebvq10NhqvbGenpx17frgZnexreCbfvgvbaRw:
 nop
 .data
-.globl b__MGIA7naqebvq14OcNhqvbSyvatreR
+.weak b__MGIA7naqebvq14OcNhqvbSyvatreR
 .type b__MGIA7naqebvq14OcNhqvbSyvatreR,%object
 b__MGIA7naqebvq14OcNhqvbSyvatreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq20OcNhqvbSyvatrePyvragR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq20OcNhqvbSyvatrePyvragR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq20OcNhqvbSyvatrePyvragR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq20OcNhqvbSyvatrePyvragR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -4033,12 +4033,12 @@
 b__MAX7naqebvq11NhqvbRssrpg10trgRanoyrqRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR10qb_pbzcnerRCXiF8_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR10qb_pbzcnerRCXiF8_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR10qb_pbzcnerRCXiF8_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR10qb_pbzcnerRCXiF8_:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRRR:
 .space __SIZEOF_POINTER__
@@ -4083,7 +4083,7 @@
 b__MGPA7naqebvq5zrqvn19VNhqvbErpbeqQrsnhygR0_AF0_12VNhqvbErpbeqR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq14OcRssrpgPyvragR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq14OcRssrpgPyvragR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq14OcRssrpgPyvragR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq14OcRssrpgPyvragR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -4098,12 +4098,12 @@
 b__MA7naqebvq11NhqvbFlfgrz18NhqvbSyvatrePyvrag17trgVbQrfpevcgbe_yRv:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_13VNhqvbSyvatreRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_13VNhqvbSyvatreRRQ2Ri
 .type b__MA7naqebvq2fcVAF_13VNhqvbSyvatreRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_13VNhqvbSyvatreRRQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_11NhqvbFlfgrz24NhqvbIbyhzrTebhcPnyyonpxRRRR12qb_pbafgehpgRCiz:
 nop
@@ -4123,12 +4123,12 @@
 b__MA7naqebvq11NhqvbFlfgrz26eryrnfrFbhaqGevttreFrffvbaR15nhqvb_frffvba_g:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_25VNhqvbCbyvplFreivprPyvragRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_25VNhqvbCbyvplFreivprPyvragRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_25VNhqvbCbyvplFreivprPyvragRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_25VNhqvbCbyvplFreivprPyvragRR10baNfOvaqreRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -4138,7 +4138,7 @@
 b__MA7naqebvq15GenpxCynlreOnfrQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF0_VsRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF0_VsRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF0_VsRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF0_VsRRR12qb_pbafgehpgRCiz:
 nop
@@ -4153,7 +4153,7 @@
 b__MA7naqebvq5zrqvn7VCynlreP2Ri:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_11NhqvbErpbeq17NhqvbErpbeqGuernqRR5pyrneRi
+.weak b__MA7naqebvq2fcVAF_11NhqvbErpbeq17NhqvbErpbeqGuernqRR5pyrneRi
 .type b__MA7naqebvq2fcVAF_11NhqvbErpbeq17NhqvbErpbeqGuernqRR5pyrneRi,%function
 b__MA7naqebvq2fcVAF_11NhqvbErpbeq17NhqvbErpbeqGuernqRR5pyrneRi:
 nop
@@ -4163,7 +4163,7 @@
 b__MA7naqebvq11NhqvbFlfgrz23frgErpbeqPbasvtPnyyonpxRCSivCXAF_18erpbeq_pyvrag_vasbRCX17nhqvb_pbasvt_onfrAFg3__16irpgbeV19rssrpg_qrfpevcgbe_fAF7_9nyybpngbeVF9_RRRRF6_FP_v14nhqvb_fbhepr_gR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_10NhqvbGenpx13QrnguAbgvsvreRR5pyrneRi
+.weak b__MA7naqebvq2fcVAF_10NhqvbGenpx13QrnguAbgvsvreRR5pyrneRi
 .type b__MA7naqebvq2fcVAF_10NhqvbGenpx13QrnguAbgvsvreRR5pyrneRi,%function
 b__MA7naqebvq2fcVAF_10NhqvbGenpx13QrnguAbgvsvreRR5pyrneRi:
 nop
@@ -4198,7 +4198,7 @@
 b__MA7naqebvq11NhqvbFlfgrz15frgFgernzIbyhzrR19nhqvb_fgernz_glcr_gsv:
 nop
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
@@ -4213,12 +4213,12 @@
 b__MGi0_a24_A7naqebvq19VNhqvbSyvatrePyvragQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_5zrqvn13IbyhzrUnaqyreRRnFRCF2_
+.weak b__MA7naqebvq2fcVAF_5zrqvn13IbyhzrUnaqyreRRnFRCF2_
 .type b__MA7naqebvq2fcVAF_5zrqvn13IbyhzrUnaqyreRRnFRCF2_,%function
 b__MA7naqebvq2fcVAF_5zrqvn13IbyhzrUnaqyreRRnFRCF2_:
 nop
 .data
-.globl b__MGIA7naqebvq5CebklR
+.weak b__MGIA7naqebvq5CebklR
 .type b__MGIA7naqebvq5CebklR,%object
 b__MGIA7naqebvq5CebklR:
 .space __SIZEOF_POINTER__
@@ -4238,7 +4238,7 @@
 b__MGPA7naqebvq15GenpxCynlreOnfrR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5zrqvn14ZvpebcubarVasbR
+.weak b__MGIA7naqebvq5zrqvn14ZvpebcubarVasbR
 .type b__MGIA7naqebvq5zrqvn14ZvpebcubarVasbR,%object
 b__MGIA7naqebvq5zrqvn14ZvpebcubarVasbR:
 .space __SIZEOF_POINTER__
@@ -4288,12 +4288,12 @@
 b__MA7naqebvq10NhqvbGenpxP1R19nhqvb_fgernz_glcr_gw14nhqvb_sbezng_gwz20nhqvb_bhgchg_syntf_gCSivCiF4_RF4_v15nhqvb_frffvba_gAF0_13genafsre_glcrRCX20nhqvb_bssybnq_vasb_gwvCX18nhqvb_nggevohgrf_gosv:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_11VNhqvbGenpxRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_11VNhqvbGenpxRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_11VNhqvbGenpxRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_11VNhqvbGenpxRR10baNfOvaqreRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVssRRAF_19__znc_inyhr_pbzcnerVsF2_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVsRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FP_RRyRRECAF_15__gerr_raq_abqrVFR_RRFS_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVssRRAF_19__znc_inyhr_pbzcnerVsF2_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVsRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FP_RRyRRECAF_15__gerr_raq_abqrVFR_RRFS_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVssRRAF_19__znc_inyhr_pbzcnerVsF2_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVsRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FP_RRyRRECAF_15__gerr_raq_abqrVFR_RRFS_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVssRRAF_19__znc_inyhr_pbzcnerVsF2_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVsRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FP_RRyRRECAF_15__gerr_raq_abqrVFR_RRFS_EXG_:
 nop
@@ -4348,7 +4348,7 @@
 b__MGPA7naqebvq14OaNhqvbSyvatreR0_AF_13VNhqvbSyvatreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF0_VsRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF0_VsRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF0_VsRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF0_VsRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -4363,7 +4363,7 @@
 b__MA7naqebvq10CynlreOnfr11ercbegRiragRAF_14cynlre_fgngr_gR:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_17NhqvbVbQrfpevcgbeRRRRRRR:
 .space __SIZEOF_POINTER__
@@ -4383,7 +4383,7 @@
 b__MGIA7naqebvq11NhqvbFlfgrz18NhqvbSyvatrePyvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVsAF_5ghcyrVWsssRRRRRAF_22__habeqrerq_znc_unfureVsF4_AF_4unfuVsRRYo1RRRAF_21__habeqrerq_znc_rdhnyVsF4_AF_8rdhny_gbVsRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVsAF_5ghcyrVWsssRRRRRAF_22__habeqrerq_znc_unfureVsF4_AF_4unfuVsRRYo1RRRAF_21__habeqrerq_znc_rdhnyVsF4_AF_8rdhny_gbVsRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVsAF_5ghcyrVWsssRRRRRAF_22__habeqrerq_znc_unfureVsF4_AF_4unfuVsRRYo1RRRAF_21__habeqrerq_znc_rdhnyVsF4_AF_8rdhny_gbVsRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVsAF_5ghcyrVWsssRRRRRAF_22__habeqrerq_znc_unfureVsF4_AF_4unfuVsRRYo1RRRAF_21__habeqrerq_znc_rdhnyVsF4_AF_8rdhny_gbVsRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz:
 nop
@@ -4403,7 +4403,7 @@
 b__MA7naqebvq13VRssrpgPyvragQ2Ri:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
@@ -4418,7 +4418,7 @@
 b__MGua8_A7naqebvq11NhqvbFlfgrz24NhqvbCbyvplFreivprPyvrag25baNhqvbIbyhzrTebhcPunatrqRAF_14ibyhzr_tebhc_gRv:
 nop
 .text
-.globl b__MAFg3__16irpgbeV18nhqvb_nggevohgrf_gAF_9nyybpngbeVF1_RRRP2REXF4_
+.weak b__MAFg3__16irpgbeV18nhqvb_nggevohgrf_gAF_9nyybpngbeVF1_RRRP2REXF4_
 .type b__MAFg3__16irpgbeV18nhqvb_nggevohgrf_gAF_9nyybpngbeVF1_RRRP2REXF4_,%function
 b__MAFg3__16irpgbeV18nhqvb_nggevohgrf_gAF_9nyybpngbeVF1_RRRP2REXF4_:
 nop
@@ -4438,7 +4438,7 @@
 b__MA7naqebvq11NhqvbErpbeqP1R14nhqvb_fbhepr_gw14nhqvb_sbezng_gwEXAF_8Fgevat16RzCSivCiF6_RF6_w15nhqvb_frffvba_gAF0_13genafsre_glcrR19nhqvb_vachg_syntf_gwvCX18nhqvb_nggevohgrf_gv28nhqvb_zvpebcubar_qverpgvba_gs:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvA7naqebvq2jcVAF3_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvF7_RRRRRRRRAF_19__znc_inyhr_pbzcnerVvFT_F9_Yo1RRRAFN_VFT_RRR25__rzcynpr_havdhr_xrl_netfVvWEvFS_RRRAFO_VAF_15__gerr_vgrengbeVFT_CAF_11__gerr_abqrVFT_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvA7naqebvq2jcVAF3_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvF7_RRRRRRRRAF_19__znc_inyhr_pbzcnerVvFT_F9_Yo1RRRAFN_VFT_RRR25__rzcynpr_havdhr_xrl_netfVvWEvFS_RRRAFO_VAF_15__gerr_vgrengbeVFT_CAF_11__gerr_abqrVFT_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvA7naqebvq2jcVAF3_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvF7_RRRRRRRRAF_19__znc_inyhr_pbzcnerVvFT_F9_Yo1RRRAFN_VFT_RRR25__rzcynpr_havdhr_xrl_netfVvWEvFS_RRRAFO_VAF_15__gerr_vgrengbeVFT_CAF_11__gerr_abqrVFT_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVvA7naqebvq2jcVAF3_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRAF_4yrffVvRRAF_9nyybpngbeVAF_4cnveVXvF7_RRRRRRRRAF_19__znc_inyhr_pbzcnerVvFT_F9_Yo1RRRAFN_VFT_RRR25__rzcynpr_havdhr_xrl_netfVvWEvFS_RRRAFO_VAF_15__gerr_vgrengbeVFT_CAF_11__gerr_abqrVFT_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -4448,7 +4448,7 @@
 b__MA7naqebvq10NhqvbGenpx15nggnpuNhkRssrpgRv:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -4473,12 +4473,12 @@
 b__MGPA7naqebvq11NhqvbFlfgrz18NhqvbSyvatrePyvragR16_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_21NhqvbGenpxPyvragCebklRRnFRCF1_
+.weak b__MA7naqebvq2fcVAF_21NhqvbGenpxPyvragCebklRRnFRCF1_
 .type b__MA7naqebvq2fcVAF_21NhqvbGenpxPyvragCebklRRnFRCF1_,%function
 b__MA7naqebvq2fcVAF_21NhqvbGenpxPyvragCebklRRnFRCF1_:
 nop
 .data
-.globl b__MGPA7naqebvq8OcRssrpgR0_AF_7VRssrpgR
+.weak b__MGPA7naqebvq8OcRssrpgR0_AF_7VRssrpgR
 .type b__MGPA7naqebvq8OcRssrpgR0_AF_7VRssrpgR,%object
 b__MGPA7naqebvq8OcRssrpgR0_AF_7VRssrpgR:
 .space __SIZEOF_POINTER__
@@ -4498,12 +4498,12 @@
 b__MA7naqebvq11NhqvbErpbeq22nqqNhqvbQrivprPnyyonpxREXAF_2fcVAF_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRR:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113__irpgbe_onfrVA7naqebvq16NhqvbIbyhzrTebhcRAF_9nyybpngbeVF2_RRRQ2Ri
+.weak b__MAFg3__113__irpgbe_onfrVA7naqebvq16NhqvbIbyhzrTebhcRAF_9nyybpngbeVF2_RRRQ2Ri
 .type b__MAFg3__113__irpgbe_onfrVA7naqebvq16NhqvbIbyhzrTebhcRAF_9nyybpngbeVF2_RRRQ2Ri,%function
 b__MAFg3__113__irpgbe_onfrVA7naqebvq16NhqvbIbyhzrTebhcRAF_9nyybpngbeVF2_RRRQ2Ri:
 nop
@@ -4513,17 +4513,17 @@
 b__MA7naqebvq11NhqvbFlfgrz14ertvfgreRssrpgRCX19rssrpg_qrfpevcgbe_fvw15nhqvb_frffvba_gv:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq13VNhqvbSyvatre16PerngrGenpxVachgR
+.weak b__MGIA7naqebvq13VNhqvbSyvatre16PerngrGenpxVachgR
 .type b__MGIA7naqebvq13VNhqvbSyvatre16PerngrGenpxVachgR,%object
 b__MGIA7naqebvq13VNhqvbSyvatre16PerngrGenpxVachgR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq26OcNhqvbCbyvplFreivprPyvragR0_AF_11OcVagresnprVAF_25VNhqvbCbyvplFreivprPyvragRRR
+.weak b__MGPA7naqebvq26OcNhqvbCbyvplFreivprPyvragR0_AF_11OcVagresnprVAF_25VNhqvbCbyvplFreivprPyvragRRR
 .type b__MGPA7naqebvq26OcNhqvbCbyvplFreivprPyvragR0_AF_11OcVagresnprVAF_25VNhqvbCbyvplFreivprPyvragRRR,%object
 b__MGPA7naqebvq26OcNhqvbCbyvplFreivprPyvragR0_AF_11OcVagresnprVAF_25VNhqvbCbyvplFreivprPyvragRRR:
 .space __SIZEOF_POINTER__
@@ -4558,7 +4558,7 @@
 b__MAX7naqebvq10NhqvbGenpx21trgBevtvanyFnzcyrEngrRi:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_7VRssrpgRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_7VRssrpgRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_7VRssrpgRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_7VRssrpgRR10baNfOvaqreRi:
 nop
@@ -4593,7 +4593,7 @@
 b__MGPA7naqebvq14OaNhqvbSyvatreR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq14OcNhqvbSyvatreR0_AF_11OcVagresnprVAF_13VNhqvbSyvatreRRR
+.weak b__MGPA7naqebvq14OcNhqvbSyvatreR0_AF_11OcVagresnprVAF_13VNhqvbSyvatreRRR
 .type b__MGPA7naqebvq14OcNhqvbSyvatreR0_AF_11OcVagresnprVAF_13VNhqvbSyvatreRRR,%object
 b__MGPA7naqebvq14OcNhqvbSyvatreR0_AF_11OcVagresnprVAF_13VNhqvbSyvatreRRR:
 .space __SIZEOF_POINTER__
@@ -4613,22 +4613,22 @@
 b__MA7naqebvq11NhqvbFlfgrz24frgQrivprPbaarpgvbaFgngrRw24nhqvb_cbyvpl_qri_fgngr_gCXpF3_14nhqvb_sbezng_g:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRR:
 nop
 .data
-.globl b__MGIA7naqebvq17NhqvbVbQrfpevcgbeR
+.weak b__MGIA7naqebvq17NhqvbVbQrfpevcgbeR
 .type b__MGIA7naqebvq17NhqvbVbQrfpevcgbeR,%object
 b__MGIA7naqebvq17NhqvbVbQrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_22NhqvbZvkZngpuPevgrevbaRR7qb_pbclRCiCXiz:
 nop
 .data
-.globl b__MGPA7naqebvq12OcNhqvbGenpxR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq12OcNhqvbGenpxR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq12OcNhqvbGenpxR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq12OcNhqvbGenpxR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -4713,12 +4713,12 @@
 b__MA7naqebvq19VNhqvbCbyvplFreivpr12qrsnhyg_vzcyR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq14OcRssrpgPyvragR
+.weak b__MGIA7naqebvq14OcRssrpgPyvragR
 .type b__MGIA7naqebvq14OcRssrpgPyvragR,%object
 b__MGIA7naqebvq14OcRssrpgPyvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVssRRAF_19__znc_inyhr_pbzcnerVsF2_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVssRRAF_19__znc_inyhr_pbzcnerVsF2_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVssRRAF_19__znc_inyhr_pbzcnerVsF2_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVssRRAF_19__znc_inyhr_pbzcnerVsF2_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
@@ -4728,12 +4728,12 @@
 b__MA7naqebvq11NhqvbRssrpgP1REXAF_8Fgevat16R:
 nop
 .data
-.globl b__MGIA7naqebvq20OcNhqvbSyvatrePyvragR
+.weak b__MGIA7naqebvq20OcNhqvbSyvatrePyvragR
 .type b__MGIA7naqebvq20OcNhqvbSyvatrePyvragR,%object
 b__MGIA7naqebvq20OcNhqvbSyvatrePyvragR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq20OcNhqvbCbyvplFreivprR
+.weak b__MGGA7naqebvq20OcNhqvbCbyvplFreivprR
 .type b__MGGA7naqebvq20OcNhqvbCbyvplFreivprR,%object
 b__MGGA7naqebvq20OcNhqvbCbyvplFreivprR:
 .space __SIZEOF_POINTER__
@@ -4743,17 +4743,17 @@
 b__MA7naqebvq11NhqvbFlfgrz18NhqvbSyvatrePyvrag18trgVachgOhssreFvmrRw14nhqvb_sbezng_gwCz:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_27FgngvpNhqvbGenpxPyvragCebklRR5pyrneRi
+.weak b__MA7naqebvq2fcVAF_27FgngvpNhqvbGenpxPyvragCebklRR5pyrneRi
 .type b__MA7naqebvq2fcVAF_27FgngvpNhqvbGenpxPyvragCebklRR5pyrneRi,%function
 b__MA7naqebvq2fcVAF_27FgngvpNhqvbGenpxPyvragCebklRR5pyrneRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq5zrqvn13IbyhzrUnaqyreR
+.weak b__MGIA7naqebvq5zrqvn13IbyhzrUnaqyreR
 .type b__MGIA7naqebvq5zrqvn13IbyhzrUnaqyreR,%object
 b__MGIA7naqebvq5zrqvn13IbyhzrUnaqyreR:
 .space __SIZEOF_POINTER__
@@ -4798,7 +4798,7 @@
 b__MGIA7naqebvq13VNhqvbSyvatreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_5zrqvn14ZvpebcubarVasbRRRvEXAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR
+.weak b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_5zrqvn14ZvpebcubarVasbRRRvEXAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR
 .type b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_5zrqvn14ZvpebcubarVasbRRRvEXAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR,%function
 b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_5zrqvn14ZvpebcubarVasbRRRvEXAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR:
 nop
@@ -4808,7 +4808,7 @@
 b__MA7naqebvq11NhqvbErpbeq20trgNpgvirZvpebcubarfRCAFg3__16irpgbeVAF_5zrqvn14ZvpebcubarVasbRAF1_9nyybpngbeVF4_RRRR:
 nop
 .data
-.globl b__MGIA7naqebvq11NhqvbPyvragR
+.weak b__MGIA7naqebvq11NhqvbPyvragR
 .type b__MGIA7naqebvq11NhqvbPyvragR,%object
 b__MGIA7naqebvq11NhqvbPyvragR:
 .space __SIZEOF_POINTER__
@@ -4818,7 +4818,7 @@
 b__MAX7naqebvq10NhqvbGenpx23trgCbfvgvbaHcqngrCrevbqRCw:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8NhqvbZvkRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -4833,7 +4833,7 @@
 b__MA7naqebvq11NhqvbFlfgrz16trgBhgchgYngraplRCw19nhqvb_fgernz_glcr_g:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq2jcVAF2_11NhqvbFlfgrz19NhqvbQrivprPnyyonpxRRRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR:
 nop
@@ -4868,7 +4868,7 @@
 b__MGPA7naqebvq11NhqvbFlfgrz24NhqvbCbyvplFreivprPyvragR16_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_8NhqvbZvkRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_8NhqvbZvkRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_8NhqvbZvkRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_8NhqvbZvkRRR:
 .space __SIZEOF_POINTER__
@@ -4933,7 +4933,7 @@
 b__MA7naqebvq10NhqvbGenpxQ1Ri:
 nop
 .data
-.globl b__MGGA7naqebvq12OcNhqvbGenpxR
+.weak b__MGGA7naqebvq12OcNhqvbGenpxR
 .type b__MGGA7naqebvq12OcNhqvbGenpxR,%object
 b__MGGA7naqebvq12OcNhqvbGenpxR:
 .space __SIZEOF_POINTER__
@@ -4973,12 +4973,12 @@
 b__MA7naqebvq11NhqvbFlfgrz17eryrnfrNhqvbCngpuRv:
 nop
 .data
-.globl b__MGPA7naqebvq14OcNhqvbSyvatreR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq14OcNhqvbSyvatreR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq14OcNhqvbSyvatreR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq14OcNhqvbSyvatreR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVgCAF_13GbarTrarengbe13JnirTrarengbeRRRR8qb_fcyngRCiCXiz:
 nop
@@ -5003,7 +5003,7 @@
 b__MGPA7naqebvq5zrqvn13OcNhqvbErpbeqR0_AF0_12VNhqvbErpbeqR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_003.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_003.S
index 9a4c31c..6b095b4 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_003.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_003.S
@@ -8,12 +8,12 @@
 b__MA7naqebvq4onfr10YbtZrffntrP1RCXpwAF0_5YbtVqRAF0_11YbtFrirevglRF3_v:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
 .text
-.globl b__MA3szg2i68vagreany12sbezng_sybngVqRRvG_vAF1_11sybng_fcrpfREAF1_6ohssreVpRR
+.weak b__MA3szg2i68vagreany12sbezng_sybngVqRRvG_vAF1_11sybng_fcrpfREAF1_6ohssreVpRR
 .type b__MA3szg2i68vagreany12sbezng_sybngVqRRvG_vAF1_11sybng_fcrpfREAF1_6ohssreVpRR,%function
 b__MA3szg2i68vagreany12sbezng_sybngVqRRvG_vAF1_11sybng_fcrpfREAF1_6ohssreVpRR:
 nop
@@ -33,17 +33,17 @@
 b__MA7naqebvq4onfr23JnvgSbeCebcreglPerngvbaREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRAF1_6puebab8qhengvbaVkAF1_5engvbVYy1RYy1000RRRRR:
 nop
 .text
-.globl b__MA3szg2i68vagreany14facevags_sybngVrRRvG_vAF1_11sybng_fcrpfREAF1_6ohssreVpRR
+.weak b__MA3szg2i68vagreany14facevags_sybngVrRRvG_vAF1_11sybng_fcrpfREAF1_6ohssreVpRR
 .type b__MA3szg2i68vagreany14facevags_sybngVrRRvG_vAF1_11sybng_fcrpfREAF1_6ohssreVpRR,%function
 b__MA3szg2i68vagreany14facevags_sybngVrRRvG_vAF1_11sybng_fcrpfREAF1_6ohssreVpRR:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_R7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_R7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_R7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_R7__pybarRi:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RR7qrfgeblRi:
 nop
@@ -58,7 +58,7 @@
 b__MA7naqebvq4onfr15TrgObbyCebcreglREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRo:
 nop
 .data
-.globl b__MGIA3szg2i619onfvp_zrzbel_ohssreVpYz500RAFg3__19nyybpngbeVpRRRR
+.weak b__MGIA3szg2i619onfvp_zrzbel_ohssreVpYz500RAFg3__19nyybpngbeVpRRRR
 .type b__MGIA3szg2i619onfvp_zrzbel_ohssreVpYz500RAFg3__19nyybpngbeVpRRRR,%object
 b__MGIA3szg2i619onfvp_zrzbel_ohssreVpYz500RAFg3__19nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -73,12 +73,12 @@
 b__MA7naqebvq4onfr17FpbcrqYbtFrirevglQ1Ri:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_R7__pybarRCAF0_6__onfrVF4_RR
+.weak b__MAXFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_R7__pybarRCAF0_6__onfrVF4_RR
 .type b__MAXFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_R7__pybarRCAF0_6__onfrVF4_RR,%function
 b__MAXFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_R7__pybarRCAF0_6__onfrVF4_RR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
@@ -88,7 +88,7 @@
 b__MA7naqebvq4onfr20FgnegfJvguVtaberPnfrRAFg3__117onfvp_fgevat_ivrjVpAF1_11pune_genvgfVpRRRRF5_:
 nop
 .text
-.globl b__MA3szg2i68vagreany7net_zncVAF0_20onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF1_6ohssreVjRRRRjRRR4vavgREXAF0_17onfvp_sbezng_netfVF9_RR
+.weak b__MA3szg2i68vagreany7net_zncVAF0_20onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF1_6ohssreVjRRRRjRRR4vavgREXAF0_17onfvp_sbezng_netfVF9_RR
 .type b__MA3szg2i68vagreany7net_zncVAF0_20onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF1_6ohssreVjRRRRjRRR4vavgREXAF0_17onfvp_sbezng_netfVF9_RR,%function
 b__MA3szg2i68vagreany7net_zncVAF0_20onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF1_6ohssreVjRRRRjRRR4vavgREXAF0_17onfvp_sbezng_netfVF9_RR:
 nop
@@ -108,7 +108,7 @@
 b__MA7naqebvq4onfr8ErnycnguREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCF7_:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_RpyRBF3_
+.weak b__MAFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_RpyRBF3_
 .type b__MAFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_RpyRBF3_,%function
 b__MAFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_RpyRBF3_:
 nop
@@ -138,7 +138,7 @@
 b__MA3szg2i68vagreany12sjevgr_shyylRCXizzC7__fSVYR:
 nop
 .text
-.globl b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRREXF9_RRF9_EXG_G0_
+.weak b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRREXF9_RRF9_EXG_G0_
 .type b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRREXF9_RRF9_EXG_G0_,%function
 b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRREXF9_RRF9_EXG_G0_:
 nop
@@ -163,7 +163,7 @@
 b__MA7naqebvq4onfr10YbtqYbttreP1RAF0_5YbtVqR:
 nop
 .text
-.globl b__MA7naqebvq4onfr14TrgVagCebcreglVvRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_F2_
+.weak b__MA7naqebvq4onfr14TrgVagCebcreglVvRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_F2_
 .type b__MA7naqebvq4onfr14TrgVagCebcreglVvRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_F2_,%function
 b__MA7naqebvq4onfr14TrgVagCebcreglVvRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_F2_:
 nop
@@ -193,7 +193,7 @@
 b__MA7naqebvq4onfr12FgevatCevagsRCXpm:
 nop
 .data
-.globl b__MA3szg2i68vagreany10onfvp_qngnViR23mreb_be_cbjref_bs_10_64R
+.weak b__MA3szg2i68vagreany10onfvp_qngnViR23mreb_be_cbjref_bs_10_64R
 .type b__MA3szg2i68vagreany10onfvp_qngnViR23mreb_be_cbjref_bs_10_64R,%object
 b__MA3szg2i68vagreany10onfvp_qngnViR23mreb_be_cbjref_bs_10_64R:
 .space __SIZEOF_POINTER__
@@ -223,7 +223,7 @@
 b__MA3szg2i619sbezng_flfgrz_reebeREAF0_8vagreany6ohssreVpRRvAF0_17onfvp_fgevat_ivrjVpRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR
+.weak b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR
 .type b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR,%function
 b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR:
 nop
@@ -238,12 +238,12 @@
 b__MA7naqebvq4onfr15JnvgSbeCebcreglREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRF9_AF1_6puebab8qhengvbaVkAF1_5engvbVYy1RYy1000RRRRR:
 nop
 .text
-.globl b__MA7naqebvq4onfr9CnefrHvagVwRRoCXpCG_F4_o
+.weak b__MA7naqebvq4onfr9CnefrHvagVwRRoCXpCG_F4_o
 .type b__MA7naqebvq4onfr9CnefrHvagVwRRoCXpCG_F4_o,%function
 b__MA7naqebvq4onfr9CnefrHvagVwRRoCXpCG_F4_o:
 nop
 .text
-.globl b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVCXpAF2_9nyybpngbeVF5_RRRREXAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF6_VpRRRRRRFQ_EXG_G0_
+.weak b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVCXpAF2_9nyybpngbeVF5_RRRREXAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF6_VpRRRRRRFQ_EXG_G0_
 .type b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVCXpAF2_9nyybpngbeVF5_RRRREXAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF6_VpRRRRRRFQ_EXG_G0_,%function
 b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVCXpAF2_9nyybpngbeVF5_RRRREXAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF6_VpRRRRRRFQ_EXG_G0_:
 nop
@@ -253,7 +253,7 @@
 b__MA13PncgherqFgqSqQ2Ri:
 nop
 .text
-.globl b__MA3szg2i619onfvp_zrzbel_ohssreVpYz500RAFg3__19nyybpngbeVpRRR4tebjRz
+.weak b__MA3szg2i619onfvp_zrzbel_ohssreVpYz500RAFg3__19nyybpngbeVpRRR4tebjRz
 .type b__MA3szg2i619onfvp_zrzbel_ohssreVpYz500RAFg3__19nyybpngbeVpRRR4tebjRz,%function
 b__MA3szg2i619onfvp_zrzbel_ohssreVpYz500RAFg3__19nyybpngbeVpRRR4tebjRz:
 nop
@@ -278,12 +278,12 @@
 b__MA7naqebvq4onfr15CnefrArgNqqerffREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCF7_CvFN_FN_:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RRpyRBF7_BF8_BFN_FS_BwFS_
+.weak b__MAFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RRpyRBF7_BF8_BFN_FS_BwFS_
 .type b__MAFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RRpyRBF7_BF8_BFN_FS_BwFS_,%function
 b__MAFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RRpyRBF7_BF8_BFN_FS_BwFS_:
 nop
 .data
-.globl b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -293,7 +293,7 @@
 b__MA7naqebvq4onfr10ZnccrqSvyrQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq4onfr9CnefrHvagVgRRoCXpCG_F4_o
+.weak b__MA7naqebvq4onfr9CnefrHvagVgRRoCXpCG_F4_o
 .type b__MA7naqebvq4onfr9CnefrHvagVgRRoCXpCG_F4_o,%function
 b__MA7naqebvq4onfr9CnefrHvagVgRRoCXpCG_F4_o:
 nop
@@ -313,7 +313,7 @@
 b__MA7naqebvq4onfr17TrgRkrphgnoyrCnguRi:
 nop
 .text
-.globl b__MA7naqebvq4onfr14TrgVagCebcreglVnRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_F2_
+.weak b__MA7naqebvq4onfr14TrgVagCebcreglVnRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_F2_
 .type b__MA7naqebvq4onfr14TrgVagCebcreglVnRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_F2_,%function
 b__MA7naqebvq4onfr14TrgVagCebcreglVnRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_F2_:
 nop
@@ -328,7 +328,7 @@
 b__MA3szg2i68vagreany12pbhag_qvtvgfVYw4RAF1_16snyyonpx_hvagcgeRRRvG0_:
 nop
 .text
-.globl b__MA3szg2i68vagreany12sbezng_sybngVrRRvG_vAF1_11sybng_fcrpfREAF1_6ohssreVpRR
+.weak b__MA3szg2i68vagreany12sbezng_sybngVrRRvG_vAF1_11sybng_fcrpfREAF1_6ohssreVpRR
 .type b__MA3szg2i68vagreany12sbezng_sybngVrRRvG_vAF1_11sybng_fcrpfREAF1_6ohssreVpRR,%function
 b__MA3szg2i68vagreany12sbezng_sybngVrRRvG_vAF1_11sybng_fcrpfREAF1_6ohssreVpRR:
 nop
@@ -348,17 +348,17 @@
 b__MA7naqebvq4onfr17JevgrFgevatGbSvyrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRF9_wwwo:
 nop
 .data
-.globl b__MA3szg2i68vagreany10onfvp_qngnViR18cbj10_fvtavsvpnaqfR
+.weak b__MA3szg2i68vagreany10onfvp_qngnViR18cbj10_fvtavsvpnaqfR
 .type b__MA3szg2i68vagreany10onfvp_qngnViR18cbj10_fvtavsvpnaqfR,%object
 b__MA3szg2i68vagreany10onfvp_qngnViR18cbj10_fvtavsvpnaqfR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MA3szg2i68vagreany10onfvp_qngnViR23mreb_be_cbjref_bs_10_32R
+.weak b__MA3szg2i68vagreany10onfvp_qngnViR23mreb_be_cbjref_bs_10_32R
 .type b__MA3szg2i68vagreany10onfvp_qngnViR23mreb_be_cbjref_bs_10_32R,%object
 b__MA3szg2i68vagreany10onfvp_qngnViR23mreb_be_cbjref_bs_10_32R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA3szg2i68vagreany6ohssreVpR6nccraqVpRRiCXG_F7_
+.weak b__MA3szg2i68vagreany6ohssreVpR6nccraqVpRRiCXG_F7_
 .type b__MA3szg2i68vagreany6ohssreVpR6nccraqVpRRiCXG_F7_,%function
 b__MA3szg2i68vagreany6ohssreVpR6nccraqVpRRiCXG_F7_:
 nop
@@ -368,7 +368,7 @@
 b__MA13GrzcbenelSvyrP2Ri:
 nop
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
@@ -378,17 +378,17 @@
 b__MA7naqebvq4onfr11FrgCebcreglREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRF9_:
 nop
 .text
-.globl b__MA3szg2i68vagreany14jevgr_rkcbaragVjAF1_17pbhagvat_vgrengbeRRRG0_vF4_
+.weak b__MA3szg2i68vagreany14jevgr_rkcbaragVjAF1_17pbhagvat_vgrengbeRRRG0_vF4_
 .type b__MA3szg2i68vagreany14jevgr_rkcbaragVjAF1_17pbhagvat_vgrengbeRRRG0_vF4_,%function
 b__MA3szg2i68vagreany14jevgr_rkcbaragVjAF1_17pbhagvat_vgrengbeRRRG0_vF4_:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
 .data
-.globl b__MA3szg2i68vagreany10onfvp_qngnViR16sbertebhaq_pbybeR
+.weak b__MA3szg2i68vagreany10onfvp_qngnViR16sbertebhaq_pbybeR
 .type b__MA3szg2i68vagreany10onfvp_qngnViR16sbertebhaq_pbybeR,%object
 b__MA3szg2i68vagreany10onfvp_qngnViR16sbertebhaq_pbybeR:
 .space __SIZEOF_POINTER__
@@ -398,12 +398,12 @@
 b__MA7naqebvq4onfr10YbtZrffntr7YbtYvarRCXpwAF0_5YbtVqRAF0_11YbtFrirevglRF3_F3_:
 nop
 .text
-.globl b__MA7naqebvq4onfr9CnefrHvagVzRRoCXpCG_F4_o
+.weak b__MA7naqebvq4onfr9CnefrHvagVzRRoCXpCG_F4_o
 .type b__MA7naqebvq4onfr9CnefrHvagVzRRoCXpCG_F4_o,%function
 b__MA7naqebvq4onfr9CnefrHvagVzRRoCXpCG_F4_o:
 nop
 .text
-.globl b__MA3szg2i68vagreany14jevgr_rkcbaragVjCjRRG0_vF4_
+.weak b__MA3szg2i68vagreany14jevgr_rkcbaragVjCjRRG0_vF4_
 .type b__MA3szg2i68vagreany14jevgr_rkcbaragVjCjRRG0_vF4_,%function
 b__MA3szg2i68vagreany14jevgr_rkcbaragVjCjRRG0_vF4_:
 nop
@@ -413,12 +413,12 @@
 b__MA13GrzcbenelSvyrQ2Ri:
 nop
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq4onfr14TrgVagCebcreglVyRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_F2_
+.weak b__MA7naqebvq4onfr14TrgVagCebcreglVyRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_F2_
 .type b__MA7naqebvq4onfr14TrgVagCebcreglVyRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_F2_,%function
 b__MA7naqebvq4onfr14TrgVagCebcreglVyRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_F2_:
 nop
@@ -443,7 +443,7 @@
 b__MA7naqebvq4onfr9ErnqShyylRvCiz:
 nop
 .text
-.globl b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVCXpAF2_9nyybpngbeVF5_RRRRpRRAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF6_VpRRRREXG_G0_
+.weak b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVCXpAF2_9nyybpngbeVF5_RRRRpRRAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF6_VpRRRREXG_G0_
 .type b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVCXpAF2_9nyybpngbeVF5_RRRRpRRAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF6_VpRRRREXG_G0_,%function
 b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVCXpAF2_9nyybpngbeVF5_RRRRpRRAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF6_VpRRRREXG_G0_:
 nop
@@ -463,7 +463,7 @@
 b__MA7naqebvq4onfr10ZnccrqSvyrP1RBF1_:
 nop
 .text
-.globl b__MA7naqebvq4onfr15TrgHvagCebcreglVuRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_
+.weak b__MA7naqebvq4onfr15TrgHvagCebcreglVuRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_
 .type b__MA7naqebvq4onfr15TrgHvagCebcreglVuRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_,%function
 b__MA7naqebvq4onfr15TrgHvagCebcreglVuRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_:
 nop
@@ -473,7 +473,7 @@
 b__MA7naqebvq4onfr13FgevatErcynprRAFg3__117onfvp_fgevat_ivrjVpAF1_11pune_genvgfVpRRRRF5_F5_o:
 nop
 .text
-.globl b__MA3szg2i619onfvp_zrzbel_ohssreVjYz500RAFg3__19nyybpngbeVjRRR4tebjRz
+.weak b__MA3szg2i619onfvp_zrzbel_ohssreVjYz500RAFg3__19nyybpngbeVjRRR4tebjRz
 .type b__MA3szg2i619onfvp_zrzbel_ohssreVjYz500RAFg3__19nyybpngbeVjRRR4tebjRz,%function
 b__MA3szg2i619onfvp_zrzbel_ohssreVjYz500RAFg3__19nyybpngbeVjRRR4tebjRz:
 nop
@@ -483,7 +483,7 @@
 b__MA7naqebvq4onfr14ErnqSqGbFgevatRvCAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
@@ -503,12 +503,12 @@
 b__MA7naqebvq4onfr7QveanzrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA3szg2i68vagreany7net_zncVAF0_20onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF1_6ohssreVpRRRRpRRR4vavgREXAF0_17onfvp_sbezng_netfVF9_RR
+.weak b__MA3szg2i68vagreany7net_zncVAF0_20onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF1_6ohssreVpRRRRpRRR4vavgREXAF0_17onfvp_sbezng_netfVF9_RR
 .type b__MA3szg2i68vagreany7net_zncVAF0_20onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF1_6ohssreVpRRRRpRRR4vavgREXAF0_17onfvp_sbezng_netfVF9_RR,%function
 b__MA3szg2i68vagreany7net_zncVAF0_20onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF1_6ohssreVpRRRRpRRR4vavgREXAF0_17onfvp_sbezng_netfVF9_RR:
 nop
 .text
-.globl b__MA3szg2i68vagreany7isbezngVjRRAFg3__112onfvp_fgevatVG_AF3_11pune_genvgfVF5_RRAF3_9nyybpngbeVF5_RRRRAF0_17onfvp_fgevat_ivrjVF5_RRAF0_17onfvp_sbezng_netfVAF0_20onfvp_sbezng_pbagrkgVAF3_20onpx_vafreg_vgrengbeVAF1_6ohssreVF5_RRRRF5_RRRR
+.weak b__MA3szg2i68vagreany7isbezngVjRRAFg3__112onfvp_fgevatVG_AF3_11pune_genvgfVF5_RRAF3_9nyybpngbeVF5_RRRRAF0_17onfvp_fgevat_ivrjVF5_RRAF0_17onfvp_sbezng_netfVAF0_20onfvp_sbezng_pbagrkgVAF3_20onpx_vafreg_vgrengbeVAF1_6ohssreVF5_RRRRF5_RRRR
 .type b__MA3szg2i68vagreany7isbezngVjRRAFg3__112onfvp_fgevatVG_AF3_11pune_genvgfVF5_RRAF3_9nyybpngbeVF5_RRRRAF0_17onfvp_fgevat_ivrjVF5_RRAF0_17onfvp_sbezng_netfVAF0_20onfvp_sbezng_pbagrkgVAF3_20onpx_vafreg_vgrengbeVAF1_6ohssreVF5_RRRRF5_RRRR,%function
 b__MA3szg2i68vagreany7isbezngVjRRAFg3__112onfvp_fgevatVG_AF3_11pune_genvgfVF5_RRAF3_9nyybpngbeVF5_RRRRAF0_17onfvp_fgevat_ivrjVF5_RRAF0_17onfvp_sbezng_netfVAF0_20onfvp_sbezng_pbagrkgVAF3_20onpx_vafreg_vgrengbeVAF1_6ohssreVF5_RRRRF5_RRRR:
 nop
@@ -518,12 +518,12 @@
 b__MA7naqebvq4onfr15JevgrFgevatGbSqREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRv:
 nop
 .text
-.globl b__MA3szg2i68vagreany10ybpnyr_ersP2VAFg3__16ybpnyrRRREXG_
+.weak b__MA3szg2i68vagreany10ybpnyr_ersP2VAFg3__16ybpnyrRRREXG_
 .type b__MA3szg2i68vagreany10ybpnyr_ersP2VAFg3__16ybpnyrRRREXG_,%function
 b__MA3szg2i68vagreany10ybpnyr_ersP2VAFg3__16ybpnyrRRREXG_:
 nop
 .text
-.globl b__MA3szg2i68vagreany18qrpvzny_cbvag_vzcyVjRRG_AF1_10ybpnyr_ersR
+.weak b__MA3szg2i68vagreany18qrpvzny_cbvag_vzcyVjRRG_AF1_10ybpnyr_ersR
 .type b__MA3szg2i68vagreany18qrpvzny_cbvag_vzcyVjRRG_AF1_10ybpnyr_ersR,%function
 b__MA3szg2i68vagreany18qrpvzny_cbvag_vzcyVjRRG_AF1_10ybpnyr_ersR:
 nop
@@ -533,7 +533,7 @@
 b__MA7naqebvq4onfr10FrgNobegreRBAFg3__18shapgvbaVSiCXpRRR:
 nop
 .text
-.globl b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRpRRF9_EXG_G0_
+.weak b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRpRRF9_EXG_G0_
 .type b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRpRRF9_EXG_G0_,%function
 b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRpRRF9_EXG_G0_:
 nop
@@ -553,27 +553,27 @@
 b__MA3szg2i612flfgrz_reebe4vavgRvAF0_17onfvp_fgevat_ivrjVpRRAF0_11sbezng_netfR:
 nop
 .text
-.globl b__MA3szg2i620onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF0_8vagreany6ohssreVjRRRRjR3netRAF0_17onfvp_fgevat_ivrjVjRR
+.weak b__MA3szg2i620onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF0_8vagreany6ohssreVjRRRRjR3netRAF0_17onfvp_fgevat_ivrjVjRR
 .type b__MA3szg2i620onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF0_8vagreany6ohssreVjRRRRjR3netRAF0_17onfvp_fgevat_ivrjVjRR,%function
 b__MA3szg2i620onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF0_8vagreany6ohssreVjRRRRjR3netRAF0_17onfvp_fgevat_ivrjVjRR:
 nop
 .data
-.globl b__MA3szg2i68vagreany10onfvp_qngnViR16onpxtebhaq_pbybeR
+.weak b__MA3szg2i68vagreany10onfvp_qngnViR16onpxtebhaq_pbybeR
 .type b__MA3szg2i68vagreany10onfvp_qngnViR16onpxtebhaq_pbybeR,%object
 b__MA3szg2i68vagreany10onfvp_qngnViR16onpxtebhaq_pbybeR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MA3szg2i68vagreany10onfvp_qngnViR6qvtvgfR
+.weak b__MA3szg2i68vagreany10onfvp_qngnViR6qvtvgfR
 .type b__MA3szg2i68vagreany10onfvp_qngnViR6qvtvgfR,%object
 b__MA3szg2i68vagreany10onfvp_qngnViR6qvtvgfR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_R18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_R18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_R18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_R18qrfgebl_qrnyybpngrRi:
 nop
 .text
-.globl b__MA7naqebvq4onfr14TrgVagCebcreglVfRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_F2_
+.weak b__MA7naqebvq4onfr14TrgVagCebcreglVfRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_F2_
 .type b__MA7naqebvq4onfr14TrgVagCebcreglVfRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_F2_,%function
 b__MA7naqebvq4onfr14TrgVagCebcreglVfRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_F2_:
 nop
@@ -608,17 +608,17 @@
 b__MA3szg2i612flfgrz_reebeQ0Ri:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RR7__pybarRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
 .text
-.globl b__MA3szg2i68vagreany18qrpvzny_cbvag_vzcyVpRRG_AF1_10ybpnyr_ersR
+.weak b__MA3szg2i68vagreany18qrpvzny_cbvag_vzcyVpRRG_AF1_10ybpnyr_ersR
 .type b__MA3szg2i68vagreany18qrpvzny_cbvag_vzcyVpRRG_AF1_10ybpnyr_ersR,%function
 b__MA3szg2i68vagreany18qrpvzny_cbvag_vzcyVpRRG_AF1_10ybpnyr_ersR:
 nop
@@ -628,12 +628,12 @@
 b__MA7naqebvq4onfr10ZnccrqSvyr12SebzBfUnaqyrRvyzv:
 nop
 .text
-.globl b__MA3szg2i68vagreany13tebhcvat_vzcyVpRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRAF1_10ybpnyr_ersR
+.weak b__MA3szg2i68vagreany13tebhcvat_vzcyVpRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRAF1_10ybpnyr_ersR
 .type b__MA3szg2i68vagreany13tebhcvat_vzcyVpRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRAF1_10ybpnyr_ersR,%function
 b__MA3szg2i68vagreany13tebhcvat_vzcyVpRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRAF1_10ybpnyr_ersR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR24__rzcynpr_onpx_fybj_cnguVWEvRRRiQcBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR24__rzcynpr_onpx_fybj_cnguVWEvRRRiQcBG_
 .type b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR24__rzcynpr_onpx_fybj_cnguVWEvRRRiQcBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR24__rzcynpr_onpx_fybj_cnguVWEvRRRiQcBG_:
 nop
@@ -643,7 +643,7 @@
 b__MA13PncgherqFgqSq3fgeRi:
 nop
 .text
-.globl b__MA3szg2i68vagreany10ybpnyr_ersP1VAFg3__16ybpnyrRRREXG_
+.weak b__MA3szg2i68vagreany10ybpnyr_ersP1VAFg3__16ybpnyrRRREXG_
 .type b__MA3szg2i68vagreany10ybpnyr_ersP1VAFg3__16ybpnyrRRREXG_,%function
 b__MA3szg2i68vagreany10ybpnyr_ersP1VAFg3__16ybpnyrRRREXG_:
 nop
@@ -673,7 +673,7 @@
 b__MA3szg2i612sbezng_reebeQ0Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRz:
 nop
@@ -693,7 +693,7 @@
 b__MA7naqebvq4onfr16ErnqSvyrGbFgevatREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCF7_o:
 nop
 .text
-.globl b__MA7naqebvq4onfr15TrgHvagCebcreglVwRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_
+.weak b__MA7naqebvq4onfr15TrgHvagCebcreglVwRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_
 .type b__MA7naqebvq4onfr15TrgHvagCebcreglVwRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_,%function
 b__MA7naqebvq4onfr15TrgHvagCebcreglVwRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_:
 nop
@@ -708,12 +708,12 @@
 b__MA3szg2i68vagreany13reebe_unaqyre8ba_reebeRCXp:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RRR
+.weak b__MGIAFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RRR
 .type b__MGIAFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RRR,%object
 b__MGIAFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_RR
+.weak b__MGIAFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_RR
 .type b__MGIAFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_RR,%object
 b__MGIAFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_RR:
 .space __SIZEOF_POINTER__
@@ -728,7 +728,7 @@
 b__MA7naqebvq4onfr7NyyCvqf11CvqVgrengbe9VaperzragRi:
 nop
 .text
-.globl b__MA7naqebvq4onfr15TrgHvagCebcreglVgRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_
+.weak b__MA7naqebvq4onfr15TrgHvagCebcreglVgRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_
 .type b__MA7naqebvq4onfr15TrgHvagCebcreglVgRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_,%function
 b__MA7naqebvq4onfr15TrgHvagCebcreglVgRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_:
 nop
@@ -743,7 +743,7 @@
 b__MA7naqebvq4onfr9ErnqShyylRAF0_11obeebjrq_sqRCiz:
 nop
 .data
-.globl b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -753,7 +753,7 @@
 b__MA7naqebvq4onfr23FlfgrzReebePbqrGbFgevatRv:
 nop
 .text
-.globl b__MA3szg2i68vagreany15snyyonpx_sbezngVqRRiG_EAF1_6ohssreVpRREv
+.weak b__MA3szg2i68vagreany15snyyonpx_sbezngVqRRiG_EAF1_6ohssreVpRREv
 .type b__MA3szg2i68vagreany15snyyonpx_sbezngVqRRiG_EAF1_6ohssreVpRREv,%function
 b__MA3szg2i68vagreany15snyyonpx_sbezngVqRRiG_EAF1_6ohssreVpRREv:
 nop
@@ -763,7 +763,7 @@
 b__MA3szg2i68vagreany16trg_pnpurq_cbjreRvEv:
 nop
 .text
-.globl b__MA3szg2i68vagreany18gubhfnaqf_frc_vzcyVjRRG_AF1_10ybpnyr_ersR
+.weak b__MA3szg2i68vagreany18gubhfnaqf_frc_vzcyVjRRG_AF1_10ybpnyr_ersR
 .type b__MA3szg2i68vagreany18gubhfnaqf_frc_vzcyVjRRG_AF1_10ybpnyr_ersR,%function
 b__MA3szg2i68vagreany18gubhfnaqf_frc_vzcyVjRRG_AF1_10ybpnyr_ersR:
 nop
@@ -778,7 +778,7 @@
 b__MA3szg2i612sbezng_reebeQ2Ri:
 nop
 .text
-.globl b__MA3szg2i620onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF0_8vagreany6ohssreVpRRRRpR3netRAF0_17onfvp_fgevat_ivrjVpRR
+.weak b__MA3szg2i620onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF0_8vagreany6ohssreVpRRRRpR3netRAF0_17onfvp_fgevat_ivrjVpRR
 .type b__MA3szg2i620onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF0_8vagreany6ohssreVpRRRRpR3netRAF0_17onfvp_fgevat_ivrjVpRR,%function
 b__MA3szg2i620onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF0_8vagreany6ohssreVpRRRRpR3netRAF0_17onfvp_fgevat_ivrjVpRR:
 nop
@@ -788,7 +788,7 @@
 b__MA7naqebvq4onfr17FpbcrqYbtFrirevglP2RAF0_11YbtFrirevglR:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -798,7 +798,7 @@
 b__MA7naqebvq4onfr10YbtZrffntrQ2Ri:
 nop
 .text
-.globl b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
+.weak b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
 .type b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR,%function
 b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR:
 nop
@@ -833,27 +833,27 @@
 b__MA13PncgherqFgqSq5FgnegRi:
 nop
 .data
-.globl b__MA3szg2i68vagreany10onfvp_qngnViR11erfrg_pbybeR
+.weak b__MA3szg2i68vagreany10onfvp_qngnViR11erfrg_pbybeR
 .type b__MA3szg2i68vagreany10onfvp_qngnViR11erfrg_pbybeR,%object
 b__MA3szg2i68vagreany10onfvp_qngnViR11erfrg_pbybeR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MA3szg2i68vagreany10onfvp_qngnViR15cbj10_rkcbaragfR
+.weak b__MA3szg2i68vagreany10onfvp_qngnViR15cbj10_rkcbaragfR
 .type b__MA3szg2i68vagreany10onfvp_qngnViR15cbj10_rkcbaragfR,%object
 b__MA3szg2i68vagreany10onfvp_qngnViR15cbj10_rkcbaragfR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA3szg2i68vagreany10isbezng_gbVpRRAF0_20onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF1_6ohssreVG_RRRRF7_R8vgrengbeREF8_AF0_17onfvp_fgevat_ivrjVF7_RRAF0_17onfvp_sbezng_netfVFN_RR
+.weak b__MA3szg2i68vagreany10isbezng_gbVpRRAF0_20onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF1_6ohssreVG_RRRRF7_R8vgrengbeREF8_AF0_17onfvp_fgevat_ivrjVF7_RRAF0_17onfvp_sbezng_netfVFN_RR
 .type b__MA3szg2i68vagreany10isbezng_gbVpRRAF0_20onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF1_6ohssreVG_RRRRF7_R8vgrengbeREF8_AF0_17onfvp_fgevat_ivrjVF7_RRAF0_17onfvp_sbezng_netfVFN_RR,%function
 b__MA3szg2i68vagreany10isbezng_gbVpRRAF0_20onfvp_sbezng_pbagrkgVAFg3__120onpx_vafreg_vgrengbeVAF1_6ohssreVG_RRRRF7_R8vgrengbeREF8_AF0_17onfvp_fgevat_ivrjVF7_RRAF0_17onfvp_sbezng_netfVFN_RR:
 nop
 .text
-.globl b__MA3szg2i68vagreany14facevags_sybngVqRRvG_vAF1_11sybng_fcrpfREAF1_6ohssreVpRR
+.weak b__MA3szg2i68vagreany14facevags_sybngVqRRvG_vAF1_11sybng_fcrpfREAF1_6ohssreVpRR
 .type b__MA3szg2i68vagreany14facevags_sybngVqRRvG_vAF1_11sybng_fcrpfREAF1_6ohssreVpRR,%function
 b__MA3szg2i68vagreany14facevags_sybngVqRRvG_vAF1_11sybng_fcrpfREAF1_6ohssreVpRR:
 nop
 .data
-.globl b__MGIA3szg2i619onfvp_zrzbel_ohssreVjYz500RAFg3__19nyybpngbeVjRRRR
+.weak b__MGIA3szg2i619onfvp_zrzbel_ohssreVjYz500RAFg3__19nyybpngbeVjRRRR
 .type b__MGIA3szg2i619onfvp_zrzbel_ohssreVjYz500RAFg3__19nyybpngbeVjRRRR,%object
 b__MGIA3szg2i619onfvp_zrzbel_ohssreVjYz500RAFg3__19nyybpngbeVjRRRR:
 .space __SIZEOF_POINTER__
@@ -873,7 +873,7 @@
 b__MA7naqebvq4onfr10YbtqYbttrepyRAF0_5YbtVqRAF0_11YbtFrirevglRCXpF5_wF5_:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_R7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_R7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_R7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVCSiCXpRAF_9nyybpngbeVF5_RRF4_R7qrfgeblRi:
 nop
@@ -883,12 +883,12 @@
 b__MA7naqebvq4onfr8RaqfJvguRAFg3__117onfvp_fgevat_ivrjVpAF1_11pune_genvgfVpRRRRF5_:
 nop
 .text
-.globl b__MA3szg2i68vagreany18gubhfnaqf_frc_vzcyVpRRG_AF1_10ybpnyr_ersR
+.weak b__MA3szg2i68vagreany18gubhfnaqf_frc_vzcyVpRRG_AF1_10ybpnyr_ersR
 .type b__MA3szg2i68vagreany18gubhfnaqf_frc_vzcyVpRRG_AF1_10ybpnyr_ersR,%function
 b__MA3szg2i68vagreany18gubhfnaqf_frc_vzcyVpRRG_AF1_10ybpnyr_ersR:
 nop
 .data
-.globl b__MGIA3szg2i619onfvp_zrzbel_ohssreVwYz32RAFg3__19nyybpngbeVwRRRR
+.weak b__MGIA3szg2i619onfvp_zrzbel_ohssreVwYz32RAFg3__19nyybpngbeVwRRRR
 .type b__MGIA3szg2i619onfvp_zrzbel_ohssreVwYz32RAFg3__19nyybpngbeVwRRRR,%object
 b__MGIA3szg2i619onfvp_zrzbel_ohssreVwYz32RAFg3__19nyybpngbeVwRRRR:
 .space __SIZEOF_POINTER__
@@ -913,7 +913,7 @@
 b__MA3szg2i68vagreany17sbezng_reebe_pbqrREAF1_6ohssreVpRRvAF0_17onfvp_fgevat_ivrjVpRR:
 nop
 .text
-.globl b__MAX3szg2i68vagreany10ybpnyr_ers3trgVAFg3__16ybpnyrRRRG_i
+.weak b__MAX3szg2i68vagreany10ybpnyr_ers3trgVAFg3__16ybpnyrRRRG_i
 .type b__MAX3szg2i68vagreany10ybpnyr_ers3trgVAFg3__16ybpnyrRRRG_i,%function
 b__MAX3szg2i68vagreany10ybpnyr_ers3trgVAFg3__16ybpnyrRRRG_i:
 nop
@@ -923,7 +923,7 @@
 b__MA7naqebvq4onfr17ErnqShyylNgBssfrgRAF0_11obeebjrq_sqRCizy:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR13__iqrnyybpngrRi
+.weak b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR13__iqrnyybpngrRi
 .type b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR13__iqrnyybpngrRi,%function
 b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR13__iqrnyybpngrRi:
 nop
@@ -933,7 +933,7 @@
 b__MA13GrzcbenelSvyrQ1Ri:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RR18qrfgebl_qrnyybpngrRi:
 nop
@@ -963,17 +963,17 @@
 b__MA13GrzcbenelSvyrP1REXAFg3__112onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA3szg2i619onfvp_zrzbel_ohssreVwYz32RAFg3__19nyybpngbeVwRRR4tebjRz
+.weak b__MA3szg2i619onfvp_zrzbel_ohssreVwYz32RAFg3__19nyybpngbeVwRRR4tebjRz
 .type b__MA3szg2i619onfvp_zrzbel_ohssreVwYz32RAFg3__19nyybpngbeVwRRR4tebjRz,%function
 b__MA3szg2i619onfvp_zrzbel_ohssreVwYz32RAFg3__19nyybpngbeVwRRR4tebjRz:
 nop
 .text
-.globl b__MA3szg2i68vagreany13tebhcvat_vzcyVjRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRAF1_10ybpnyr_ersR
+.weak b__MA3szg2i68vagreany13tebhcvat_vzcyVjRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRAF1_10ybpnyr_ersR
 .type b__MA3szg2i68vagreany13tebhcvat_vzcyVjRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRAF1_10ybpnyr_ersR,%function
 b__MA3szg2i68vagreany13tebhcvat_vzcyVjRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRAF1_10ybpnyr_ersR:
 nop
 .text
-.globl b__MA3szg2i69gb_fgevatVpYz500RRRAFg3__112onfvp_fgevatVG_AF2_11pune_genvgfVF4_RRAF2_9nyybpngbeVF4_RRRREXAF0_19onfvp_zrzbel_ohssreVF4_KG0_RF8_RR
+.weak b__MA3szg2i69gb_fgevatVpYz500RRRAFg3__112onfvp_fgevatVG_AF2_11pune_genvgfVF4_RRAF2_9nyybpngbeVF4_RRRREXAF0_19onfvp_zrzbel_ohssreVF4_KG0_RF8_RR
 .type b__MA3szg2i69gb_fgevatVpYz500RRRAFg3__112onfvp_fgevatVG_AF2_11pune_genvgfVF4_RRAF2_9nyybpngbeVF4_RRRREXAF0_19onfvp_zrzbel_ohssreVF4_KG0_RF8_RR,%function
 b__MA3szg2i69gb_fgevatVpYz500RRRAFg3__112onfvp_fgevatVG_AF2_11pune_genvgfVF4_RRAF2_9nyybpngbeVF4_RRRREXAF0_19onfvp_zrzbel_ohssreVF4_KG0_RF8_RR:
 nop
@@ -998,27 +998,27 @@
 b__MA7naqebvq4onfr11TrgCebcreglREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRF9_:
 nop
 .data
-.globl b__MA3szg2i68vagreany10onfvp_qngnViR10urk_qvtvgfR
+.weak b__MA3szg2i68vagreany10onfvp_qngnViR10urk_qvtvgfR
 .type b__MA3szg2i68vagreany10onfvp_qngnViR10urk_qvtvgfR,%object
 b__MA3szg2i68vagreany10onfvp_qngnViR10urk_qvtvgfR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA3szg2i68vagreany14jevgr_rkcbaragVpAF1_17pbhagvat_vgrengbeRRRG0_vF4_
+.weak b__MA3szg2i68vagreany14jevgr_rkcbaragVpAF1_17pbhagvat_vgrengbeRRRG0_vF4_
 .type b__MA3szg2i68vagreany14jevgr_rkcbaragVpAF1_17pbhagvat_vgrengbeRRRG0_vF4_,%function
 b__MA3szg2i68vagreany14jevgr_rkcbaragVpAF1_17pbhagvat_vgrengbeRRRG0_vF4_:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RR7__pybarRCAF0_6__onfrVFO_RR
+.weak b__MAXFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RR7__pybarRCAF0_6__onfrVFO_RR
 .type b__MAXFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RR7__pybarRCAF0_6__onfrVFO_RR,%function
 b__MAXFg3__110__shapgvba6__shapVA7naqebvq4onfr10YbtqYbttreRAF_9nyybpngbeVF4_RRSiAF3_5YbtVqRAF3_11YbtFrirevglRCXpFN_wFN_RR7__pybarRCAF0_6__onfrVFO_RR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_:
 nop
 .data
-.globl b__MA3szg2i68vagreany10onfvp_qngnViR5fvtafR
+.weak b__MA3szg2i68vagreany10onfvp_qngnViR5fvtafR
 .type b__MA3szg2i68vagreany10onfvp_qngnViR5fvtafR,%object
 b__MA3szg2i68vagreany10onfvp_qngnViR5fvtafR:
 .space __SIZEOF_POINTER__
@@ -1028,7 +1028,7 @@
 b__MA7naqebvq4onfr10FgnegfJvguRAFg3__117onfvp_fgevat_ivrjVpAF1_11pune_genvgfVpRRRRF5_:
 nop
 .text
-.globl b__MA7naqebvq4onfr15TrgHvagCebcreglVzRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_
+.weak b__MA7naqebvq4onfr15TrgHvagCebcreglVzRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_
 .type b__MA7naqebvq4onfr15TrgHvagCebcreglVzRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_,%function
 b__MA7naqebvq4onfr15TrgHvagCebcreglVzRRG_EXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRF2_F2_:
 nop
@@ -1038,17 +1038,17 @@
 b__MA13PncgherqFgqSqP2Rv:
 nop
 .text
-.globl b__MA7naqebvq4onfr9CnefrHvagVuRRoCXpCG_F4_o
+.weak b__MA7naqebvq4onfr9CnefrHvagVuRRoCXpCG_F4_o
 .type b__MA7naqebvq4onfr9CnefrHvagVuRRoCXpCG_F4_o,%function
 b__MA7naqebvq4onfr9CnefrHvagVuRRoCXpCG_F4_o:
 nop
 .text
-.globl b__MA3szg2i68vagreany6ohssreVjR6nccraqVjRRiCXG_F7_
+.weak b__MA3szg2i68vagreany6ohssreVjR6nccraqVjRRiCXG_F7_
 .type b__MA3szg2i68vagreany6ohssreVjR6nccraqVjRRiCXG_F7_,%function
 b__MA3szg2i68vagreany6ohssreVjR6nccraqVjRRiCXG_F7_:
 nop
 .text
-.globl b__MA3szg2i68vagreany7isbezngVpRRAFg3__112onfvp_fgevatVG_AF3_11pune_genvgfVF5_RRAF3_9nyybpngbeVF5_RRRRAF0_17onfvp_fgevat_ivrjVF5_RRAF0_17onfvp_sbezng_netfVAF0_20onfvp_sbezng_pbagrkgVAF3_20onpx_vafreg_vgrengbeVAF1_6ohssreVF5_RRRRF5_RRRR
+.weak b__MA3szg2i68vagreany7isbezngVpRRAFg3__112onfvp_fgevatVG_AF3_11pune_genvgfVF5_RRAF3_9nyybpngbeVF5_RRRRAF0_17onfvp_fgevat_ivrjVF5_RRAF0_17onfvp_sbezng_netfVAF0_20onfvp_sbezng_pbagrkgVAF3_20onpx_vafreg_vgrengbeVAF1_6ohssreVF5_RRRRF5_RRRR
 .type b__MA3szg2i68vagreany7isbezngVpRRAFg3__112onfvp_fgevatVG_AF3_11pune_genvgfVF5_RRAF3_9nyybpngbeVF5_RRRRAF0_17onfvp_fgevat_ivrjVF5_RRAF0_17onfvp_sbezng_netfVAF0_20onfvp_sbezng_pbagrkgVAF3_20onpx_vafreg_vgrengbeVAF1_6ohssreVF5_RRRRF5_RRRR,%function
 b__MA3szg2i68vagreany7isbezngVpRRAFg3__112onfvp_fgevatVG_AF3_11pune_genvgfVF5_RRAF3_9nyybpngbeVF5_RRRRAF0_17onfvp_fgevat_ivrjVF5_RRAF0_17onfvp_sbezng_netfVAF0_20onfvp_sbezng_pbagrkgVAF3_20onpx_vafreg_vgrengbeVAF1_6ohssreVF5_RRRRF5_RRRR:
 nop
@@ -1068,12 +1068,12 @@
 b__MA3szg2i66icevagRAF0_17onfvp_fgevat_ivrjVpRRAF0_11sbezng_netfR:
 nop
 .data
-.globl b__MA3szg2i68vagreany10onfvp_qngnViR12jerfrg_pbybeR
+.weak b__MA3szg2i68vagreany10onfvp_qngnViR12jerfrg_pbybeR
 .type b__MA3szg2i68vagreany10onfvp_qngnViR12jerfrg_pbybeR,%object
 b__MA3szg2i68vagreany10onfvp_qngnViR12jerfrg_pbybeR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MA3szg2i68vagreany10onfvp_qngnViR15cbjref_bs_10_64R
+.weak b__MA3szg2i68vagreany10onfvp_qngnViR15cbjref_bs_10_64R
 .type b__MA3szg2i68vagreany10onfvp_qngnViR15cbjref_bs_10_64R,%object
 b__MA3szg2i68vagreany10onfvp_qngnViR15cbjref_bs_10_64R:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_004.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_004.S
index 04fb5e0..8097483 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_004.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_004.S
@@ -13,12 +13,12 @@
 b__MA7naqebvq4shfr19ShfrNccYbbcPnyyonpxQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR12JevgrBeNtnvaRv
+.weak b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR12JevgrBeNtnvaRv
 .type b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR12JevgrBeNtnvaRv,%function
 b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR12JevgrBeNtnvaRv:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVCA7naqebvq4shfr15ShfrOevqtrRagelRAF_4unfuVF4_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF4_WEXF4_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVCA7naqebvq4shfr15ShfrOevqtrRagelRAF_4unfuVF4_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF4_WEXF4_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVCA7naqebvq4shfr15ShfrOevqtrRagelRAF_4unfuVF4_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF4_WEXF4_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVCA7naqebvq4shfr15ShfrOevqtrRagelRAF_4unfuVF4_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF4_WEXF4_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_:
 nop
@@ -33,12 +33,12 @@
 b__MA7naqebvq4shfr19ShfrNccYbbcPnyyonpxQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR5JevgrRv
+.weak b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR5JevgrRv
 .type b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR5JevgrRv,%function
 b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR5JevgrRv:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_10havdhr_cgeVA7naqebvq4shfr15ShfrOevqtrRagelRAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVvF9_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF9_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_10havdhr_cgeVA7naqebvq4shfr15ShfrOevqtrRagelRAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVvF9_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF9_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_10havdhr_cgeVA7naqebvq4shfr15ShfrOevqtrRagelRAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVvF9_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF9_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_10havdhr_cgeVA7naqebvq4shfr15ShfrOevqtrRagelRAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVvF9_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF9_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRR:
 nop
@@ -58,12 +58,12 @@
 b__MA7naqebvq4shfr11ShfrNccYbbcP1RBAF_4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRR:
 nop
 .text
-.globl b__MA7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR11ErnqBeNtnvaRv
+.weak b__MA7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR11ErnqBeNtnvaRv
 .type b__MA7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR11ErnqBeNtnvaRv,%function
 b__MA7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR11ErnqBeNtnvaRv:
 nop
 .text
-.globl b__MA7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR11ErnqBeNtnvaRv
+.weak b__MA7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR11ErnqBeNtnvaRv
 .type b__MA7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR11ErnqBeNtnvaRv,%function
 b__MA7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR11ErnqBeNtnvaRv:
 nop
@@ -73,7 +73,7 @@
 b__MAX7naqebvq4shfr15RcbyyPbagebyyre13VaibxrPbagebyRvvvCi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_10havdhr_cgeVA7naqebvq4shfr15ShfrOevqtrRagelRAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVvF9_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_10havdhr_cgeVA7naqebvq4shfr15ShfrOevqtrRagelRAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVvF9_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_10havdhr_cgeVA7naqebvq4shfr15ShfrOevqtrRagelRAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVvF9_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_10havdhr_cgeVA7naqebvq4shfr15ShfrOevqtrRagelRAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVvF9_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR:
 nop
@@ -88,17 +88,17 @@
 b__MA7naqebvq4shfr11ShfrNccYbbcP2RBAF_4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRR:
 nop
 .text
-.globl b__MA7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR4ErnqRv
+.weak b__MA7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR4ErnqRv
 .type b__MA7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR4ErnqRv,%function
 b__MA7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR4ErnqRv:
 nop
 .text
-.globl b__MA7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR4ErnqRv
+.weak b__MA7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR4ErnqRv
 .type b__MA7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR4ErnqRv,%function
 b__MA7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR4ErnqRv:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -108,7 +108,7 @@
 b__MA7naqebvq4shfr10ShfrOhssre10UnaqyrVavgRi:
 nop
 .text
-.globl b__MA7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR11ErnqBeNtnvaRv
+.weak b__MA7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR11ErnqBeNtnvaRv
 .type b__MA7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR11ErnqBeNtnvaRv,%function
 b__MA7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR11ErnqBeNtnvaRv:
 nop
@@ -118,27 +118,27 @@
 b__MA7naqebvq4shfr15RcbyyPbagebyyre5NqqSqRvvCi:
 nop
 .text
-.globl b__MA7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR4ErnqRv
+.weak b__MA7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR4ErnqRv
 .type b__MA7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR4ErnqRv,%function
 b__MA7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR4ErnqRv:
 nop
 .text
-.globl b__MA7naqebvq4shfr16ShfrErfcbafrOnfrVYz131072RR5ErfrgRwvz
+.weak b__MA7naqebvq4shfr16ShfrErfcbafrOnfrVYz131072RR5ErfrgRwvz
 .type b__MA7naqebvq4shfr16ShfrErfcbafrOnfrVYz131072RR5ErfrgRwvz,%function
 b__MA7naqebvq4shfr16ShfrErfcbafrOnfrVYz131072RR5ErfrgRwvz:
 nop
 .text
-.globl b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR13JevgrJvguObqlRvzCXi
+.weak b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR13JevgrJvguObqlRvzCXi
 .type b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR13JevgrJvguObqlRvzCXi,%function
 b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR13JevgrJvguObqlRvzCXi:
 nop
 .text
-.globl b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR13JevgrJvguObqlRvzCXi
+.weak b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR13JevgrJvguObqlRvzCXi
 .type b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR13JevgrJvguObqlRvzCXi,%function
 b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR13JevgrJvguObqlRvzCXi:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -153,12 +153,12 @@
 b__MA7naqebvq4shfr11ShfrErdhrfg5ErfrgRwwz:
 nop
 .text
-.globl b__MA7naqebvq4shfr16ShfrErfcbafrOnfrVYz0RR5ErfrgRwvz
+.weak b__MA7naqebvq4shfr16ShfrErfcbafrOnfrVYz0RR5ErfrgRwvz
 .type b__MA7naqebvq4shfr16ShfrErfcbafrOnfrVYz0RR5ErfrgRwvz,%function
 b__MA7naqebvq4shfr16ShfrErfcbafrOnfrVYz0RR5ErfrgRwvz:
 nop
 .text
-.globl b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR13JevgrJvguObqlRvzCXi
+.weak b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR13JevgrJvguObqlRvzCXi
 .type b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR13JevgrJvguObqlRvzCXi,%function
 b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz0RRRR13JevgrJvguObqlRvzCXi:
 nop
@@ -183,12 +183,12 @@
 b__MA7naqebvq4shfr14ShfrOevqtrYbbcP1Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVzWEzEXwRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVzWEzEXwRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVzWEzEXwRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVzWEzEXwRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
@@ -213,17 +213,17 @@
 b__MA7naqebvq4shfr14ShfrOevqtrYbbcQ2Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVCA7naqebvq4shfr15ShfrOevqtrRagelRAF_4unfuVF4_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVCA7naqebvq4shfr15ShfrOevqtrRagelRAF_4unfuVF4_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVCA7naqebvq4shfr15ShfrOevqtrRagelRAF_4unfuVF4_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVCA7naqebvq4shfr15ShfrOevqtrRagelRAF_4unfuVF4_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR6erunfuRz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVCA7naqebvq4shfr15ShfrOevqtrRagelRAF_4unfuVF4_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVCA7naqebvq4shfr15ShfrOevqtrRagelRAF_4unfuVF4_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVCA7naqebvq4shfr15ShfrOevqtrRagelRAF_4unfuVF4_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVCA7naqebvq4shfr15ShfrOevqtrRagelRAF_4unfuVF4_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR8__erunfuRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeV11rcbyy_riragAF_9nyybpngbeVF1_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeV11rcbyy_riragAF_9nyybpngbeVF1_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeV11rcbyy_riragAF_9nyybpngbeVF1_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeV11rcbyy_riragAF_9nyybpngbeVF1_RRR8__nccraqRz:
 nop
@@ -233,22 +233,22 @@
 b__MA7naqebvq4shfr15RcbyyPbagebyyre4JnvgRz:
 nop
 .text
-.globl b__MA7naqebvq4shfr16ShfrErfcbafrOnfrVYz131072RR11ErfrgUrnqreRwvz
+.weak b__MA7naqebvq4shfr16ShfrErfcbafrOnfrVYz131072RR11ErfrgUrnqreRwvz
 .type b__MA7naqebvq4shfr16ShfrErfcbafrOnfrVYz131072RR11ErfrgUrnqreRwvz,%function
 b__MA7naqebvq4shfr16ShfrErfcbafrOnfrVYz131072RR11ErfrgUrnqreRwvz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz:
 nop
 .text
-.globl b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
+.weak b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
 .type b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR,%function
 b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR:
 nop
@@ -273,17 +273,17 @@
 b__MA7naqebvq4shfr11ShfrNccYbbc11ErcylFvzcyrRzv:
 nop
 .text
-.globl b__MA7naqebvq4shfr16ShfrErfcbafrOnfrVYz0RR11ErfrgUrnqreRwvz
+.weak b__MA7naqebvq4shfr16ShfrErfcbafrOnfrVYz0RR11ErfrgUrnqreRwvz
 .type b__MA7naqebvq4shfr16ShfrErfcbafrOnfrVYz0RR11ErfrgUrnqreRwvz,%function
 b__MA7naqebvq4shfr16ShfrErfcbafrOnfrVYz0RR11ErfrgUrnqreRwvz:
 nop
 .text
-.globl b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR12JevgrBeNtnvaRv
+.weak b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR12JevgrBeNtnvaRv
 .type b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR12JevgrBeNtnvaRv,%function
 b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR12JevgrBeNtnvaRv:
 nop
 .text
-.globl b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR12JevgrBeNtnvaRv
+.weak b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR12JevgrBeNtnvaRv
 .type b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR12JevgrBeNtnvaRv,%function
 b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR12JevgrBeNtnvaRv:
 nop
@@ -308,7 +308,7 @@
 b__MA7naqebvq4shfr19ShfrNccYbbcPnyyonpxQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR5JevgrRv
+.weak b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR5JevgrRv
 .type b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR5JevgrRv,%function
 b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_16ShfrErfcbafrOnfrVYz131072RRRR5JevgrRv:
 nop
@@ -318,12 +318,12 @@
 b__MGIA7naqebvq4shfr19ShfrNccYbbcPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR5JevgrRv
+.weak b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR5JevgrRv
 .type b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR5JevgrRv,%function
 b__MAX7naqebvq4shfr11ShfrZrffntrVAF0_11ShfrErdhrfgRR5JevgrRv:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_005.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_005.S
index 72fdfed..b93f5b0 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_005.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_005.S
@@ -43,7 +43,7 @@
 b__MAX7naqebvq12ZrzbelQrnyre4urncRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_yRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_yRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_yRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_yRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_:
 nop
@@ -63,7 +63,7 @@
 b__MA7naqebvq9UrncPnpur8trg_urncREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR7qb_pbclRCiCXiz:
 nop
@@ -73,7 +73,7 @@
 b__MGIA7naqebvq11VZrzbelUrncR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR8qb_fcyngRCiCXiz:
 nop
@@ -83,7 +83,7 @@
 b__MA7naqebvq14VNccBcfFreivprQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR7qb_pbclRCiCXiz:
 nop
@@ -98,7 +98,7 @@
 b__MAX7naqebvq2bf17CrefvfgnoyrOhaqyr15trgFgevatIrpgbeREXAF_8Fgevat16RCAFg3__16irpgbeVF2_AF5_9nyybpngbeVF2_RRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR:
 nop
@@ -118,7 +118,7 @@
 b__MGPA7naqebvq2bf17OcFreivprPnyyonpxR0_AF_11OcVagresnprVAF0_16VFreivprPnyyonpxRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq20OcCebprffVasbFreivprR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq20OcCebprffVasbFreivprR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq20OcCebprffVasbFreivprR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq20OcCebprffVasbFreivprR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -138,17 +138,17 @@
 b__MGi0_a24_A7naqebvq2bf16VFreivprPnyyonpxQ0Ri:
 nop
 .text
-.globl b__MA7naqebvqyfVCiRREAF_10GrkgBhgchgRF3_EXG_
+.weak b__MA7naqebvqyfVCiRREAF_10GrkgBhgchgRF3_EXG_
 .type b__MA7naqebvqyfVCiRREAF_10GrkgBhgchgRF3_EXG_,%function
 b__MA7naqebvqyfVCiRREAF_10GrkgBhgchgRF3_EXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__renfr_havdhrVF3_RRzEXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__renfr_havdhrVF3_RRzEXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__renfr_havdhrVF3_RRzEXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__renfr_havdhrVF3_RRzEXG_:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_12CebprffFgngrRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_12CebprffFgngrRRQ2Ri
 .type b__MA7naqebvq2fcVAF_12CebprffFgngrRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_12CebprffFgngrRRQ2Ri:
 nop
@@ -158,7 +158,7 @@
 b__MAX7naqebvq14ZrzbelUrncOnfr7trgOnfrRi:
 nop
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_:
 nop
@@ -218,7 +218,7 @@
 b__MGi0_a24_A7naqebvq9OcErsOnfrQ1Ri:
 nop
 .text
-.globl b__MA7naqebvqyfVN2_pRREAF_10GrkgBhgchgRF3_EXG_
+.weak b__MA7naqebvqyfVN2_pRREAF_10GrkgBhgchgRF3_EXG_
 .type b__MA7naqebvqyfVN2_pRREAF_10GrkgBhgchgRF3_EXG_,%function
 b__MA7naqebvqyfVN2_pRREAF_10GrkgBhgchgRF3_EXG_:
 nop
@@ -293,7 +293,7 @@
 b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreRCAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq8Fgevat16RAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVA7naqebvq8Fgevat16RAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVA7naqebvq8Fgevat16RAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVA7naqebvq8Fgevat16RAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
@@ -318,12 +318,12 @@
 b__MA7naqebvq8OcOvaqre4qhzcRvEXAF_6IrpgbeVAF_8Fgevat16RRR:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVvRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R
+.weak b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVvRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R
 .type b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVvRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R,%function
 b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVvRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R:
 nop
 .text
-.globl b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR6erfvmrRzo
+.weak b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR6erfvmrRzo
 .type b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR6erfvmrRzo,%function
 b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR6erfvmrRzo:
 nop
@@ -338,7 +338,7 @@
 b__MGGA7naqebvq2bf23VFreivprPnyyonpxQrsnhygR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR8qb_fcyngRCiCXiz:
 nop
@@ -348,12 +348,12 @@
 b__MAX7naqebvq22FvzcyrOrfgSvgNyybpngbe4qhzcREAF_7Fgevat8RCXp:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -363,7 +363,7 @@
 b__MA7naqebvq7pbagrag2cz28VCnpxntrZnantreAngvirQrsnhyg29trgGnetrgFqxIrefvbaSbeCnpxntrREXAF_8Fgevat16RCv:
 nop
 .data
-.globl b__MGPA7naqebvq16OcNccBcfPnyyonpxR0_AF_15VNccBcfPnyyonpxR
+.weak b__MGPA7naqebvq16OcNccBcfPnyyonpxR0_AF_15VNccBcfPnyyonpxR
 .type b__MGPA7naqebvq16OcNccBcfPnyyonpxR0_AF_15VNccBcfPnyyonpxR,%object
 b__MGPA7naqebvq16OcNccBcfPnyyonpxR0_AF_15VNccBcfPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -393,12 +393,12 @@
 b__MGua8_A7naqebvq10ZrzbelOnfrQ0Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRRP2REXF3_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRRP2REXF3_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRRP2REXF3_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRRP2REXF3_:
 nop
@@ -423,7 +423,7 @@
 b__MA7naqebvq14VCPGuernqFgngr24pyrneCebcntngrJbexFbheprRi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_15VFreivprZnantreRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_15VFreivprZnantreRRQ2Ri
 .type b__MA7naqebvq2fcVAF_15VFreivprZnantreRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_15VFreivprZnantreRRQ2Ri:
 nop
@@ -443,7 +443,7 @@
 b__MGPA7naqebvq2bf16OaFreivprZnantreR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR8qb_fcyngRCiCXiz:
 nop
@@ -458,12 +458,12 @@
 b__MAX7naqebvq6Cnepry17trgOyboNfuzrzFvmrRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRRnFREXF3_
+.weak b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRRnFREXF3_
 .type b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRRnFREXF3_,%function
 b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRRnFREXF3_:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RRR:
 .space __SIZEOF_POINTER__
@@ -513,7 +513,7 @@
 b__MA7naqebvq6Cnepry7frgQngnRCXuz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR18__pbafgehpg_ng_raqVAF_14__ovg_vgrengbeVF3_Yo1RYz0RRRRRAF_9ranoyr_vsVKfe21__vf_sbejneq_vgrengbeVG_RR5inyhrRiR4glcrRF8_F8_
+.weak b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR18__pbafgehpg_ng_raqVAF_14__ovg_vgrengbeVF3_Yo1RYz0RRRRRAF_9ranoyr_vsVKfe21__vf_sbejneq_vgrengbeVG_RR5inyhrRiR4glcrRF8_F8_
 .type b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR18__pbafgehpg_ng_raqVAF_14__ovg_vgrengbeVF3_Yo1RYz0RRRRRAF_9ranoyr_vsVKfe21__vf_sbejneq_vgrengbeVG_RR5inyhrRiR4glcrRF8_F8_,%function
 b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR18__pbafgehpg_ng_raqVAF_14__ovg_vgrengbeVF3_Yo1RYz0RRRRRAF_9ranoyr_vsVKfe21__vf_sbejneq_vgrengbeVG_RR5inyhrRiR4glcrRF8_F8_:
 nop
@@ -523,12 +523,12 @@
 b__MA7naqebvq19VCebprffVasbFreivprQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR12qb_pbafgehpgRCiz:
 nop
@@ -563,7 +563,7 @@
 b__MA7naqebvq7OOvaqre12trgRkgrafvbaRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -578,7 +578,7 @@
 b__MA7naqebvq2bf17CrefvfgnoyrOhaqyr15chgFgevatIrpgbeREXAF_8Fgevat16REXAFg3__16irpgbeVF2_AF5_9nyybpngbeVF2_RRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -588,12 +588,12 @@
 b__MA7naqebvq11VZrzbelUrnc12qrsnhyg_vzcyR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR6nffvtaVCyRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVyAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
+.weak b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR6nffvtaVCyRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVyAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
 .type b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR6nffvtaVCyRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVyAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_,%function
 b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR6nffvtaVCyRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVyAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_:
 nop
 .data
-.globl b__MGIA7naqebvq12SqGrkgBhgchgR
+.weak b__MGIA7naqebvq12SqGrkgBhgchgR
 .type b__MGIA7naqebvq12SqGrkgBhgchgR,%object
 b__MGIA7naqebvq12SqGrkgBhgchgR:
 .space __SIZEOF_POINTER__
@@ -633,7 +633,7 @@
 b__MA7naqebvq2bf16VFreivprPnyyonpxQ1Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__renfr_havdhrVF3_RRzEXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__renfr_havdhrVF3_RRzEXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__renfr_havdhrVF3_RRzEXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__renfr_havdhrVF3_RRzEXG_:
 nop
@@ -718,7 +718,7 @@
 b__MA7naqebvq6Cnepry15jevgrPuneIrpgbeREXAFg3__16irpgbeVQfAF1_9nyybpngbeVQfRRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz:
 nop
@@ -773,7 +773,7 @@
 b__MGPA7naqebvq14OaOnggrelFgngfR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRR11trgVafgnaprRi
+.weak b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRR11trgVafgnaprRi
 .type b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRR11trgVafgnaprRi,%function
 b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRR11trgVafgnaprRi:
 nop
@@ -788,7 +788,7 @@
 b__MAX7naqebvq6Cnepry37hcqngrJbexFbheprErdhrfgUrnqreCbfvgvbaRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq8Fgevat16RAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq8Fgevat16RAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq8Fgevat16RAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq8Fgevat16RAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR8__nccraqRz:
 nop
@@ -808,7 +808,7 @@
 b__MAX7naqebvq7OOvaqre22trgVagresnprQrfpevcgbeRi:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_15VErfhygErprvireRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_15VErfhygErprvireRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_15VErfhygErprvireRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_15VErfhygErprvireRR10baNfOvaqreRi:
 nop
@@ -833,12 +833,12 @@
 b__MAX7naqebvq2bf17CrefvfgnoyrOhaqyr9trgFgevatREXAF_8Fgevat16RCF2_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FC_yRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FC_yRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FC_yRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FC_yRREXG_QcBG0_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRR:
 nop
@@ -883,7 +883,7 @@
 b__MAX7naqebvq14VCPGuernqFgngr25fubhyqCebcntngrJbexFbheprRi:
 nop
 .data
-.globl b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -933,12 +933,12 @@
 b__MA7naqebvq22FvzcyrOrfgSvgNyybpngbeP2Rz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_:
 nop
@@ -948,12 +948,12 @@
 b__MAX7naqebvq6Cnepry4ernqRCiz:
 nop
 .text
-.globl b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVooRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R
+.weak b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVooRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R
 .type b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVooRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R,%function
 b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVooRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_:
 nop
@@ -993,7 +993,7 @@
 b__MAX7naqebvq6Cnepry14ernqOlgrIrpgbeRCAFg3__110havdhr_cgeVAF1_6irpgbeVuAF1_9nyybpngbeVuRRRRAF1_14qrsnhyg_qryrgrVF6_RRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_:
 nop
@@ -1023,27 +1023,27 @@
 b__MA7naqebvq6ovaqre6Fgnghf14ernqSebzCnepryREXAF_6CnepryR:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVQfQfRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R
+.weak b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVQfQfRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R
 .type b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVQfQfRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R,%function
 b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVQfQfRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVqRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R
+.weak b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVqRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R
 .type b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVqRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R,%function
 b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVqRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__renfr_havdhrVF3_RRzEXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__renfr_havdhrVF3_RRzEXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__renfr_havdhrVF3_RRzEXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__renfr_havdhrVF3_RRzEXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_:
 nop
 .data
-.globl b__MGPA7naqebvq15OcNccBcfFreivprR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq15OcNccBcfFreivprR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq15OcNccBcfFreivprR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq15OcNccBcfFreivprR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -1068,7 +1068,7 @@
 b__MGi0_a24_A7naqebvq14VNccBcfFreivprQ0Ri:
 nop
 .text
-.globl b__MA7naqebvqyfVzRREAF_10GrkgBhgchgRF2_EXG_
+.weak b__MA7naqebvqyfVzRREAF_10GrkgBhgchgRF2_EXG_
 .type b__MA7naqebvqyfVzRREAF_10GrkgBhgchgRF2_EXG_,%function
 b__MA7naqebvqyfVzRREAF_10GrkgBhgchgRF2_EXG_:
 nop
@@ -1093,12 +1093,12 @@
 b__MGi0_a24_A7naqebvq15VFreivprZnantreQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR8qb_fcyngRCiCXiz:
 nop
 .data
-.globl b__MGGA7naqebvq16OcNccBcfPnyyonpxR
+.weak b__MGGA7naqebvq16OcNccBcfPnyyonpxR
 .type b__MGGA7naqebvq16OcNccBcfPnyyonpxR,%object
 b__MGGA7naqebvq16OcNccBcfPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -1108,7 +1108,7 @@
 b__MGGA7naqebvq21VCrezvffvbaPbagebyyreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq22OcCrezvffvbaPbagebyyreR
+.weak b__MGIA7naqebvq22OcCrezvffvbaPbagebyyreR
 .type b__MGIA7naqebvq22OcCrezvffvbaPbagebyyreR,%object
 b__MGIA7naqebvq22OcCrezvffvbaPbagebyyreR:
 .space __SIZEOF_POINTER__
@@ -1118,17 +1118,17 @@
 b__MGi0_a24_A7naqebvq10VVagresnprQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_:
 nop
 .data
-.globl b__MGPA7naqebvq16OcNccBcfPnyyonpxR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq16OcNccBcfPnyyonpxR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq16OcNccBcfPnyyonpxR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq16OcNccBcfPnyyonpxR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -1143,7 +1143,7 @@
 b__MA7naqebvq2bf17CrefvfgnoyrOhaqyr10chgObbyrnaREXAF_8Fgevat16Ro:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1158,12 +1158,12 @@
 b__MA7naqebvq16VNpgvivglZnantre14trgQrsnhygVzcyRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR:
 nop
@@ -1178,7 +1178,7 @@
 b__MGPA7naqebvq2bf22VFreivprZnantreQrsnhygR0_AF0_15VFreivprZnantreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR10qb_qrfgeblRCiz:
 nop
@@ -1243,17 +1243,17 @@
 b__MA7naqebvq12VHvqBofreire10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR:
 nop
@@ -1293,7 +1293,7 @@
 b__MA7naqebvq6Cnepry17jevgrQbhoyrIrpgbeREXAFg3__16irpgbeVqAF1_9nyybpngbeVqRRRR:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
@@ -1303,7 +1303,7 @@
 b__MGIA7naqebvq21VZrqvnErfbheprZbavgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRRQ2Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRRQ2Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRRQ2Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRRQ2Ri:
 nop
@@ -1328,7 +1328,7 @@
 b__MGi0_a24_A7naqebvq9UrncPnpurQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1343,7 +1343,7 @@
 b__MA7naqebvq14VFuryyPnyyonpx10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq22OcCrezvffvbaPbagebyyreR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq22OcCrezvffvbaPbagebyyreR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq22OcCrezvffvbaPbagebyyreR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq22OcCrezvffvbaPbagebyyreR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -1388,12 +1388,12 @@
 b__MAX7naqebvq6Cnepry16ernqQbhoyrIrpgbeRCAFg3__16irpgbeVqAF1_9nyybpngbeVqRRRR:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry16erfreirBhgIrpgbeVuRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRCz
+.weak b__MAX7naqebvq6Cnepry16erfreirBhgIrpgbeVuRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRCz
 .type b__MAX7naqebvq6Cnepry16erfreirBhgIrpgbeVuRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRCz,%function
 b__MAX7naqebvq6Cnepry16erfreirBhgIrpgbeVuRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRCz:
 nop
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_:
 nop
@@ -1443,7 +1443,7 @@
 b__MAX7naqebvq12OcZrzbelUrnc12nffregZnccrqRi:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVAFg3__110havdhr_cgeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_14qrsnhyg_qryrgrVF9_RRRRRRvCAF3_VAF2_6irpgbeVG_AF7_VFR_RRRRAFN_VFT_RRRRZF0_XSvCFR_R
+.weak b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVAFg3__110havdhr_cgeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_14qrsnhyg_qryrgrVF9_RRRRRRvCAF3_VAF2_6irpgbeVG_AF7_VFR_RRRRAFN_VFT_RRRRZF0_XSvCFR_R
 .type b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVAFg3__110havdhr_cgeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_14qrsnhyg_qryrgrVF9_RRRRRRvCAF3_VAF2_6irpgbeVG_AF7_VFR_RRRRAFN_VFT_RRRRZF0_XSvCFR_R,%function
 b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVAFg3__110havdhr_cgeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_14qrsnhyg_qryrgrVF9_RRRRRRvCAF3_VAF2_6irpgbeVG_AF7_VFR_RRRRAFN_VFT_RRRRZF0_XSvCFR_R:
 nop
@@ -1473,7 +1473,7 @@
 b__MAX7naqebvq2bf17CrefvfgnoyrOhaqyr12trgVagIrpgbeREXAF_8Fgevat16RCAFg3__16irpgbeVvAF5_9nyybpngbeVvRRRR:
 nop
 .text
-.globl b__MAFg3__116__pbcl_hanyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo1RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_
+.weak b__MAFg3__116__pbcl_hanyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo1RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_
 .type b__MAFg3__116__pbcl_hanyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo1RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_,%function
 b__MAFg3__116__pbcl_hanyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo1RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_:
 nop
@@ -1508,7 +1508,7 @@
 b__MGi0_a32_A7naqebvq14ZrzbelUrncOnfrQ0Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVnAF_9nyybpngbeVnRRR6vafregVCXnRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVnAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCnRRR4glcrRAFP_VF6_RRF8_F8_
+.weak b__MAFg3__16irpgbeVnAF_9nyybpngbeVnRRR6vafregVCXnRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVnAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCnRRR4glcrRAFP_VF6_RRF8_F8_
 .type b__MAFg3__16irpgbeVnAF_9nyybpngbeVnRRR6vafregVCXnRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVnAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCnRRR4glcrRAFP_VF6_RRF8_F8_,%function
 b__MAFg3__16irpgbeVnAF_9nyybpngbeVnRRR6vafregVCXnRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVnAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCnRRR4glcrRAFP_VF6_RRF8_F8_:
 nop
@@ -1538,7 +1538,7 @@
 b__MA7naqebvq21qrsnhygFreivprZnantreRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_:
 nop
@@ -1548,7 +1548,7 @@
 b__MAX7naqebvq6Cnepry9ernqVag64Ri:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_7OOvaqreRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_7OOvaqreRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_7OOvaqreRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_7OOvaqreRRR:
 .space __SIZEOF_POINTER__
@@ -1588,7 +1588,7 @@
 b__MGGA7naqebvq9UrncPnpurR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvqyfVN9_pRREAF_10GrkgBhgchgRF3_EXG_
+.weak b__MA7naqebvqyfVN9_pRREAF_10GrkgBhgchgRF3_EXG_
 .type b__MA7naqebvqyfVN9_pRREAF_10GrkgBhgchgRF3_EXG_,%function
 b__MA7naqebvqyfVN9_pRREAF_10GrkgBhgchgRF3_EXG_:
 nop
@@ -1628,7 +1628,7 @@
 b__MGPA7naqebvq15OaFuryyPnyyonpxR0_AF_11OaVagresnprVAF_14VFuryyPnyyonpxRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXF3_F7_RRRRRAF_10havdhr_cgeVAF_11__gerr_abqrVF8_CiRRAF_22__gerr_abqr_qrfgehpgbeVAF5_VFB_RRRRRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXF3_F7_RRRRRAF_10havdhr_cgeVAF_11__gerr_abqrVF8_CiRRAF_22__gerr_abqr_qrfgehpgbeVAF5_VFB_RRRRRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXF3_F7_RRRRRAF_10havdhr_cgeVAF_11__gerr_abqrVF8_CiRRAF_22__gerr_abqr_qrfgehpgbeVAF5_VFB_RRRRRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXF3_F7_RRRRRAF_10havdhr_cgeVAF_11__gerr_abqrVF8_CiRRAF_22__gerr_abqr_qrfgehpgbeVAF5_VFB_RRRRRRQcBG_:
 nop
@@ -1643,7 +1643,7 @@
 b__MAX7naqebvq6Cnepry17trgBcraNfuzrzFvmrRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_:
 nop
@@ -1668,7 +1668,7 @@
 b__MAX7naqebvq6Cnepry8ernqOlgrRCn:
 nop
 .text
-.globl b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVQfQfRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R
+.weak b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVQfQfRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R
 .type b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVQfQfRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R,%function
 b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVQfQfRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R:
 nop
@@ -1738,7 +1738,7 @@
 b__MA7naqebvq21VCrezvffvbaPbagebyyreQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR16qb_zbir_onpxjneqRCiF3_z
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR16qb_zbir_onpxjneqRCiF3_z
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR16qb_zbir_onpxjneqRCiF3_z,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR16qb_zbir_onpxjneqRCiF3_z:
 nop
@@ -1768,7 +1768,7 @@
 b__MGPA7naqebvq14ZrzbelUrncOnfrR72_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq15OcNccBcfFreivprR
+.weak b__MGIA7naqebvq15OcNccBcfFreivprR
 .type b__MGIA7naqebvq15OcNccBcfFreivprR,%object
 b__MGIA7naqebvq15OcNccBcfFreivprR:
 .space __SIZEOF_POINTER__
@@ -1863,12 +1863,12 @@
 b__MGi0_a80_AX7naqebvq14ZrzbelUrncOnfr8trgSyntfRi:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAFg3__110havdhr_cgeVAF_8Fgevat16RAF2_14qrsnhyg_qryrgrVF4_RRRRF7_RRvCAF2_6irpgbeVG_AF2_9nyybpngbeVF9_RRRRZF0_XSvCG0_R
+.weak b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAFg3__110havdhr_cgeVAF_8Fgevat16RAF2_14qrsnhyg_qryrgrVF4_RRRRF7_RRvCAF2_6irpgbeVG_AF2_9nyybpngbeVF9_RRRRZF0_XSvCG0_R
 .type b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAFg3__110havdhr_cgeVAF_8Fgevat16RAF2_14qrsnhyg_qryrgrVF4_RRRRF7_RRvCAF2_6irpgbeVG_AF2_9nyybpngbeVF9_RRRRZF0_XSvCG0_R,%function
 b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAFg3__110havdhr_cgeVAF_8Fgevat16RAF2_14qrsnhyg_qryrgrVF4_RRRRF7_RRvCAF2_6irpgbeVG_AF2_9nyybpngbeVF9_RRRRZF0_XSvCG0_R:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8Fgevat16RAF_9nyybpngbeVF2_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq8Fgevat16RAF_9nyybpngbeVF2_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq8Fgevat16RAF_9nyybpngbeVF2_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq8Fgevat16RAF_9nyybpngbeVF2_RRR8__nccraqRz:
 nop
@@ -1883,7 +1883,7 @@
 b__MA7naqebvq13NccBcfZnantre6abgrBcRvvEXAF_8Fgevat16R:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR12qb_pbafgehpgRCiz:
 nop
@@ -1898,12 +1898,12 @@
 b__MA7naqebvq10ZrzbelOnfrQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq17OcNpgvivglZnantreR0_AF_11OcVagresnprVAF_16VNpgvivglZnantreRRR
+.weak b__MGPA7naqebvq17OcNpgvivglZnantreR0_AF_11OcVagresnprVAF_16VNpgvivglZnantreRRR
 .type b__MGPA7naqebvq17OcNpgvivglZnantreR0_AF_11OcVagresnprVAF_16VNpgvivglZnantreRRR,%object
 b__MGPA7naqebvq17OcNpgvivglZnantreR0_AF_11OcVagresnprVAF_16VNpgvivglZnantreRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRRP1Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRRP1Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRRP1Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRRP1Ri:
 nop
@@ -1923,7 +1923,7 @@
 b__MGIA7naqebvq12CebprffFgngrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVvRR
+.weak b__MGIA7naqebvq6IrpgbeVvRR
 .type b__MGIA7naqebvq6IrpgbeVvRR,%object
 b__MGIA7naqebvq6IrpgbeVvRR:
 .space __SIZEOF_POINTER__
@@ -1963,7 +1963,7 @@
 b__MA7naqebvq13NccBcfZnantre8svavfuBcRvvEXAF_8Fgevat16R:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_2bf16VFreivprPnyyonpxRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_2bf16VFreivprPnyyonpxRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_2bf16VFreivprPnyyonpxRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_2bf16VFreivprPnyyonpxRR10baNfOvaqreRi:
 nop
@@ -2003,7 +2003,7 @@
 b__MA7naqebvq6Cnepry12jevgrPFgevatRCXp:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR8__nccraqRz:
 nop
@@ -2023,12 +2023,12 @@
 b__MA7naqebvq14ZrzbelUrncOnfrP1RCXpzw:
 nop
 .text
-.globl b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR8__nccraqRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FC_yRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FC_yRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FC_yRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FC_yRREXG_QcBG0_:
 nop
@@ -2043,7 +2043,7 @@
 b__MA7naqebvq8vagreany9Fgnovyvgl22gelZnexPbzcvyngvbaHavgRCAF_7VOvaqreR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFV_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFV_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFV_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFV_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -2053,7 +2053,7 @@
 b__MA7naqebvq7pbagrag2cz22OaCnpxntrZnantreAngvirP2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2063,7 +2063,7 @@
 b__MA7naqebvq14VCPGuernqFgngrQ1Ri:
 nop
 .text
-.globl b__MAFg3__114__pbcl_nyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo1RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_
+.weak b__MAFg3__114__pbcl_nyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo1RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_
 .type b__MAFg3__114__pbcl_nyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo1RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_,%function
 b__MAFg3__114__pbcl_nyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo1RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_:
 nop
@@ -2103,7 +2103,7 @@
 b__MAX7naqebvq2bf17CrefvfgnoyrOhaqyr6trgVagREXAF_8Fgevat16RCv:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR:
 nop
@@ -2113,7 +2113,7 @@
 b__MGPA7naqebvq2bf17OaFreivprPnyyonpxR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_:
 nop
@@ -2123,12 +2123,12 @@
 b__MAX7naqebvq6Cnepry10ernqHvag64Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR8qb_fcyngRCiCXiz:
 nop
@@ -2158,7 +2158,7 @@
 b__MA7naqebvq7OOvaqre10cvatOvaqreRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR10qb_pbzcnerRCXiFN_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR10qb_pbzcnerRCXiFN_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR10qb_pbzcnerRCXiFN_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR10qb_pbzcnerRCXiFN_:
 nop
@@ -2193,7 +2193,7 @@
 b__MAX7naqebvq3arg8VcCersvk19trgNqqerffNfVa6NqqeRC8va6_nqqe:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_7VOvaqreRRRAF_9nyybpngbeVF4_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_7VOvaqreRRRAF_9nyybpngbeVF4_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_7VOvaqreRRRAF_9nyybpngbeVF4_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_7VOvaqreRRRAF_9nyybpngbeVF4_RRR8__nccraqRz:
 nop
@@ -2243,17 +2243,17 @@
 b__MA7naqebvq2bf17CrefvfgnoyrOhaqyr6chgVagREXAF_8Fgevat16Rv:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVqAF_9nyybpngbeVqRRR6nffvtaVCqRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVqAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
+.weak b__MAFg3__16irpgbeVqAF_9nyybpngbeVqRRR6nffvtaVCqRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVqAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
 .type b__MAFg3__16irpgbeVqAF_9nyybpngbeVqRRR6nffvtaVCqRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVqAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_,%function
 b__MAFg3__16irpgbeVqAF_9nyybpngbeVqRRR6nffvtaVCqRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVqAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR7qb_pbclRCiF3_z
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR7qb_pbclRCiF3_z
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR7qb_pbclRCiF3_z,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR7qb_pbclRCiF3_z:
 nop
@@ -2303,7 +2303,7 @@
 b__MGua8_A7naqebvq15OaNccBcfFreivpr10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR10qb_pbzcnerRCXiF4_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR10qb_pbzcnerRCXiF4_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR10qb_pbzcnerRCXiF4_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR10qb_pbzcnerRCXiF4_:
 nop
@@ -2323,7 +2323,7 @@
 b__MA7naqebvq14VCPGuernqFgngr41frgPnyyvatJbexFbheprHvqJvgubhgCebcntngvbaRw:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVQfRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R
+.weak b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVQfRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R
 .type b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVQfRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R,%function
 b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVQfRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R:
 nop
@@ -2358,12 +2358,12 @@
 b__MAX7naqebvq6Cnepry11ernqCbvagreRi:
 nop
 .text
-.globl b__MAFg3__113__svyy_a_gehrVAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRiAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF6_9fvmr_glcrR
+.weak b__MAFg3__113__svyy_a_gehrVAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRiAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF6_9fvmr_glcrR
 .type b__MAFg3__113__svyy_a_gehrVAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRiAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF6_9fvmr_glcrR,%function
 b__MAFg3__113__svyy_a_gehrVAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRiAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF6_9fvmr_glcrR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_vRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_vRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_vRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_vRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_:
 nop
@@ -2373,7 +2373,7 @@
 b__MA7naqebvq8vagreany9Fgnovyvgl5purpxRvAF1_5YriryR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz:
 nop
@@ -2383,7 +2383,7 @@
 b__MA7naqebvq6ovaqre6FgnghfP1RvvEXAF_7Fgevat8R:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR8qb_fcyngRCiCXiz:
 nop
@@ -2393,7 +2393,7 @@
 b__MGi0_a24_A7naqebvq7VZrzbelQ1Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRRRiG_FY_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRRRiG_FY_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRRRiG_FY_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRRRiG_FY_:
 nop
@@ -2403,17 +2403,17 @@
 b__MA7naqebvq21VZrqvnErfbheprZbavgbeQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRRR:
 .space __SIZEOF_POINTER__
@@ -2453,7 +2453,7 @@
 b__MGPA7naqebvq7pbagrag2cz22OcCnpxntrZnantreAngvirR0_AF_11OcVagresnprVAF1_21VCnpxntrZnantreAngvirRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRRR:
 .space __SIZEOF_POINTER__
@@ -2498,12 +2498,12 @@
 b__MA7naqebvq15NpgvivglZnantreP2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR10qb_qrfgeblRCiz:
 nop
@@ -2513,12 +2513,12 @@
 b__MA7naqebvq6Cnepry4Oybo7eryrnfrRi:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_14VNccBcfFreivprRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_14VNccBcfFreivprRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_14VNccBcfFreivprRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_14VNccBcfFreivprRR10baNfOvaqreRi:
 nop
 .data
-.globl b__MGPA7naqebvq13OcHvqBofreireR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq13OcHvqBofreireR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq13OcHvqBofreireR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq13OcHvqBofreireR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -2528,7 +2528,7 @@
 b__MA7naqebvq7OOvaqreP2Ri:
 nop
 .data
-.globl b__MGPA7naqebvq16OcErfhygErprvireR0_AF_11OcVagresnprVAF_15VErfhygErprvireRRR
+.weak b__MGPA7naqebvq16OcErfhygErprvireR0_AF_11OcVagresnprVAF_15VErfhygErprvireRRR
 .type b__MGPA7naqebvq16OcErfhygErprvireR0_AF_11OcVagresnprVAF_15VErfhygErprvireRRR,%object
 b__MGPA7naqebvq16OcErfhygErprvireR0_AF_11OcVagresnprVAF_15VErfhygErprvireRRR:
 .space __SIZEOF_POINTER__
@@ -2558,17 +2558,17 @@
 b__MA7naqebvq14ZrzbelUrncOnfrP1Rvzwy:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRR11unfVafgnaprRi
+.weak b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRR11unfVafgnaprRi
 .type b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRR11unfVafgnaprRi,%function
 b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRR11unfVafgnaprRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR7qb_pbclRCiCXiz:
 nop
@@ -2598,7 +2598,7 @@
 b__MAX7naqebvq6Cnepry8ernqPuneRi:
 nop
 .text
-.globl b__MAFg3__114__svyy_a_snyfrVAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRiAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF6_9fvmr_glcrR
+.weak b__MAFg3__114__svyy_a_snyfrVAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRiAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF6_9fvmr_glcrR
 .type b__MAFg3__114__svyy_a_snyfrVAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRiAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF6_9fvmr_glcrR,%function
 b__MAFg3__114__svyy_a_snyfrVAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRiAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF6_9fvmr_glcrR:
 nop
@@ -2623,12 +2623,12 @@
 b__MA7naqebvq6Cnepry15jevgrPuneIrpgbeREXAFg3__110havdhr_cgeVAF1_6irpgbeVQfAF1_9nyybpngbeVQfRRRRAF1_14qrsnhyg_qryrgrVF6_RRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_:
 nop
 .data
-.globl b__MGPA7naqebvq14OcOnggrelFgngfR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq14OcOnggrelFgngfR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq14OcOnggrelFgngfR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq14OcOnggrelFgngfR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -2638,7 +2638,7 @@
 b__MA7naqebvq12OaZrzbelUrncQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR10qb_qrfgeblRCiz:
 nop
@@ -2653,12 +2653,12 @@
 b__MA7naqebvq6Cnepry19trgTybonyNyybpPbhagRi:
 nop
 .text
-.globl b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVAFg3__110havdhr_cgeVAF_8Fgevat16RAF2_14qrsnhyg_qryrgrVF4_RRRREXF7_RRvEXAF2_6irpgbeVG_AF2_9nyybpngbeVFO_RRRRZF0_SvG0_R
+.weak b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVAFg3__110havdhr_cgeVAF_8Fgevat16RAF2_14qrsnhyg_qryrgrVF4_RRRREXF7_RRvEXAF2_6irpgbeVG_AF2_9nyybpngbeVFO_RRRRZF0_SvG0_R
 .type b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVAFg3__110havdhr_cgeVAF_8Fgevat16RAF2_14qrsnhyg_qryrgrVF4_RRRREXF7_RRvEXAF2_6irpgbeVG_AF2_9nyybpngbeVFO_RRRRZF0_SvG0_R,%function
 b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVAFg3__110havdhr_cgeVAF_8Fgevat16RAF2_14qrsnhyg_qryrgrVF4_RRRREXF7_RRvEXAF2_6irpgbeVG_AF2_9nyybpngbeVFO_RRRRZF0_SvG0_R:
 nop
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_:
 nop
@@ -2673,7 +2673,7 @@
 b__MAX7naqebvq21VZrqvnErfbheprZbavgbe22trgVagresnprQrfpevcgbeRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR7qb_pbclRCiCXiz:
 nop
@@ -2688,7 +2688,7 @@
 b__MGPA7naqebvq12OcZrzbelUrncR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq15OcFuryyPnyyonpxR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq15OcFuryyPnyyonpxR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq15OcFuryyPnyyonpxR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq15OcFuryyPnyyonpxR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -2698,7 +2698,7 @@
 b__MA7naqebvq6Cnepry4OyboQ1Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_:
 nop
@@ -2738,7 +2738,7 @@
 b__MGGA7naqebvq21VZrqvnErfbheprZbavgbeR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq22OcZrqvnErfbheprZbavgbeR
+.weak b__MGIA7naqebvq22OcZrqvnErfbheprZbavgbeR
 .type b__MGIA7naqebvq22OcZrqvnErfbheprZbavgbeR,%object
 b__MGIA7naqebvq22OcZrqvnErfbheprZbavgbeR:
 .space __SIZEOF_POINTER__
@@ -2763,12 +2763,12 @@
 b__MA7naqebvq2bf23VFreivprPnyyonpxQrsnhyg14baErtvfgengvbaREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVvvRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R
+.weak b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVvvRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R
 .type b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVvvRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R,%function
 b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVvvRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR
+.weak b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR
 .type b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR,%function
 b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR:
 nop
@@ -2803,7 +2803,7 @@
 b__MA7naqebvq12CebprffFgngr32trgFgebatErsPbhagSbeAbqrOlUnaqyrRv:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR12qb_pbafgehpgRCiz:
 nop
@@ -2873,7 +2873,7 @@
 b__MGIA7naqebvq21VCrezvffvbaPbagebyyreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8Fgevat16RAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_
+.weak b__MAFg3__16irpgbeVA7naqebvq8Fgevat16RAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_
 .type b__MAFg3__16irpgbeVA7naqebvq8Fgevat16RAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_,%function
 b__MAFg3__16irpgbeVA7naqebvq8Fgevat16RAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_:
 nop
@@ -2898,12 +2898,12 @@
 b__MA7naqebvq12ZrzbelQrnyre10qrnyybpngrRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F3_RRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F3_RRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F3_RRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F3_RRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_:
 nop
 .data
-.globl b__MGPA7naqebvq17OcNpgvivglZnantreR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq17OcNpgvivglZnantreR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq17OcNpgvivglZnantreR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq17OcNpgvivglZnantreR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -2953,17 +2953,17 @@
 b__MA7naqebvq6Cnepry28jevgrHgs8IrpgbeNfHgs16IrpgbeREXAFg3__16irpgbeVAF1_12onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRAF6_VF8_RRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_:
 nop
 .data
-.globl b__MGGA7naqebvq17OcNpgvivglZnantreR
+.weak b__MGGA7naqebvq17OcNpgvivglZnantreR
 .type b__MGGA7naqebvq17OcNpgvivglZnantreR,%object
 b__MGGA7naqebvq17OcNpgvivglZnantreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVqAF_9nyybpngbeVqRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVqAF_9nyybpngbeVqRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVqAF_9nyybpngbeVqRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVqAF_9nyybpngbeVqRRR8__nccraqRz:
 nop
@@ -2973,7 +2973,7 @@
 b__MA7naqebvq7pbagrag2cz21VCnpxntrZnantreAngvir14frgQrsnhygVzcyRAFg3__110havdhr_cgeVF2_AF3_14qrsnhyg_qryrgrVF2_RRRR:
 nop
 .text
-.globl b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVzzRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R
+.weak b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVzzRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R
 .type b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVzzRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R,%function
 b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVzzRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R:
 nop
@@ -3018,12 +3018,12 @@
 b__MA7naqebvq12CebprffFgngr20orpbzrPbagrkgZnantreRCSoEXAF_8Fgevat16REXAF_2fcVAF_7VOvaqreRRRCiRF9_:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_2bf15VFreivprZnantreRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_2bf15VFreivprZnantreRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_2bf15VFreivprZnantreRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_2bf15VFreivprZnantreRR10baNfOvaqreRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -3033,7 +3033,7 @@
 b__MAX7naqebvq14VCPGuernqFgngr23trgPnyyvatJbexFbheprHvqRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz:
 nop
@@ -3043,7 +3043,7 @@
 b__MA7naqebvq6ovaqre6Fgnghf14frgSebzFgnghfGRv:
 nop
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_:
 nop
@@ -3058,12 +3058,12 @@
 b__MGIA7naqebvq10NyybpngvbaR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -3083,7 +3083,7 @@
 b__MAX7naqebvq8OcOvaqre18vfQrfpevcgbePnpurqRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR10qb_qrfgeblRCiz:
 nop
@@ -3108,17 +3108,17 @@
 b__MA7naqebvq6Cnepry25jevgrHavdhrSvyrQrfpevcgbeREXAF_4onfr14havdhr_sq_vzcyVAF1_13QrsnhygPybfreRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_14qrsnhyg_qryrgrVF7_RRRRAF5_VFN_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_14qrsnhyg_qryrgrVF7_RRRRAF5_VFN_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_14qrsnhyg_qryrgrVF7_RRRRAF5_VFN_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_14qrsnhyg_qryrgrVF7_RRRRAF5_VFN_RRR8__nccraqRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR:
 nop
 .data
-.globl b__MGPA7naqebvq15OcNccBcfFreivprR0_AF_11OcVagresnprVAF_14VNccBcfFreivprRRR
+.weak b__MGPA7naqebvq15OcNccBcfFreivprR0_AF_11OcVagresnprVAF_14VNccBcfFreivprRRR
 .type b__MGPA7naqebvq15OcNccBcfFreivprR0_AF_11OcVagresnprVAF_14VNccBcfFreivprRRR,%object
 b__MGPA7naqebvq15OcNccBcfFreivprR0_AF_11OcVagresnprVAF_14VNccBcfFreivprRRR:
 .space __SIZEOF_POINTER__
@@ -3128,12 +3128,12 @@
 b__MAX7naqebvq6Cnepry14purpxVagresnprRCAF_7VOvaqreR:
 nop
 .text
-.globl b__MAFg3__116__pbcl_hanyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo0RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_
+.weak b__MAFg3__116__pbcl_hanyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo0RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_
 .type b__MAFg3__116__pbcl_hanyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo0RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_,%function
 b__MAFg3__116__pbcl_hanyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo0RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_:
 nop
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq8Fgevat16RAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVA7naqebvq8Fgevat16RAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVA7naqebvq8Fgevat16RAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVA7naqebvq8Fgevat16RAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -3148,12 +3148,12 @@
 b__MGua8_A7naqebvq13OaHvqBofreire10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .data
-.globl b__MGIA7naqebvq16OcErfhygErprvireR
+.weak b__MGIA7naqebvq16OcErfhygErprvireR
 .type b__MGIA7naqebvq16OcErfhygErprvireR,%object
 b__MGIA7naqebvq16OcErfhygErprvireR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_:
 nop
@@ -3168,7 +3168,7 @@
 b__MGGA7naqebvq22OaCrezvffvbaPbagebyyreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR8qb_fcyngRCiCXiz:
 nop
@@ -3183,7 +3183,7 @@
 b__MA7naqebvq2bf23VFreivprPnyyonpxQrsnhyg10baNfOvaqreRi:
 nop
 .data
-.globl b__MGGA7naqebvq15OcFuryyPnyyonpxR
+.weak b__MGGA7naqebvq15OcFuryyPnyyonpxR
 .type b__MGGA7naqebvq15OcFuryyPnyyonpxR,%object
 b__MGGA7naqebvq15OcFuryyPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -3193,7 +3193,7 @@
 b__MA7naqebvq12CebprffFgngr18frgPnyyErfgevpgvbaRAF0_15PnyyErfgevpgvbaR:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_7pbagrag2cz21VCnpxntrZnantreAngvirRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_7pbagrag2cz21VCnpxntrZnantreAngvirRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_7pbagrag2cz21VCnpxntrZnantreAngvirRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_7pbagrag2cz21VCnpxntrZnantreAngvirRR10baNfOvaqreRi:
 nop
@@ -3203,12 +3203,12 @@
 b__MA7naqebvq12VHvqBofreire11nfVagresnprREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRRQ1Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRRQ1Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRRQ1Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRRQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR12qb_pbafgehpgRCiz:
 nop
@@ -3223,12 +3223,12 @@
 b__MAX7naqebvq6Cnepry30ernqHavdhrSvyrQrfpevcgbeIrpgbeRCAFg3__16irpgbeVAF_4onfr14havdhr_sq_vzcyVAF3_13QrsnhygPybfreRRRAF1_9nyybpngbeVF6_RRRR:
 nop
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz:
 nop
@@ -3238,12 +3238,12 @@
 b__MA7naqebvq8OcOvaqre8genafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .text
-.globl b__MA7naqebvqyfVN3_pRREAF_10GrkgBhgchgRF3_EXG_
+.weak b__MA7naqebvqyfVN3_pRREAF_10GrkgBhgchgRF3_EXG_
 .type b__MA7naqebvqyfVN3_pRREAF_10GrkgBhgchgRF3_EXG_,%function
 b__MA7naqebvqyfVN3_pRREAF_10GrkgBhgchgRF3_EXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -3268,7 +3268,7 @@
 b__MA7naqebvq6Cnepry15jevgrVag32NeenlRzCXv:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FC_yRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FC_yRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FC_yRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FC_yRREXG_QcBG0_:
 nop
@@ -3318,7 +3318,7 @@
 b__MGIA7naqebvq15OaFuryyPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_:
 nop
@@ -3353,7 +3353,7 @@
 b__MA7naqebvq6Cnepry15erfgberNyybjSqfRo:
 nop
 .data
-.globl b__MGGA7naqebvq14OcOnggrelFgngfR
+.weak b__MGGA7naqebvq14OcOnggrelFgngfR
 .type b__MGGA7naqebvq14OcOnggrelFgngfR,%object
 b__MGGA7naqebvq14OcOnggrelFgngfR:
 .space __SIZEOF_POINTER__
@@ -3388,7 +3388,7 @@
 b__MAX7naqebvq2bf17CrefvfgnoyrOhaqyr4fvmrRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFV_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFV_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFV_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFV_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_:
 nop
@@ -3403,12 +3403,12 @@
 b__MAX7naqebvq6Cnepry12qngnPncnpvglRi:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry16erfreirBhgIrpgbeVnRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRCz
+.weak b__MAX7naqebvq6Cnepry16erfreirBhgIrpgbeVnRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRCz
 .type b__MAX7naqebvq6Cnepry16erfreirBhgIrpgbeVnRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRCz,%function
 b__MAX7naqebvq6Cnepry16erfreirBhgIrpgbeVnRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRCz:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVzzRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R
+.weak b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVzzRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R
 .type b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVzzRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R,%function
 b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVzzRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R:
 nop
@@ -3433,12 +3433,12 @@
 b__MA7naqebvq22FvzcyrOrfgSvgNyybpngbe8nyybpngrRzw:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAF_4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRF5_RRvCAFg3__16irpgbeVG_AF6_9nyybpngbeVF8_RRRRZF0_XSvCG0_R
+.weak b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAF_4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRF5_RRvCAFg3__16irpgbeVG_AF6_9nyybpngbeVF8_RRRRZF0_XSvCG0_R
 .type b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAF_4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRF5_RRvCAFg3__16irpgbeVG_AF6_9nyybpngbeVF8_RRRRZF0_XSvCG0_R,%function
 b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAF_4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRF5_RRvCAFg3__16irpgbeVG_AF6_9nyybpngbeVF8_RRRRZF0_XSvCG0_R:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR:
 nop
@@ -3463,7 +3463,7 @@
 b__MGPA7naqebvq16OaErfhygErprvireR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_qRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_qRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_qRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_qRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_:
 nop
@@ -3483,7 +3483,7 @@
 b__MGIA7naqebvq2bf20CneprySvyrQrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR12qb_pbafgehpgRCiz:
 nop
@@ -3508,7 +3508,7 @@
 b__MAX7naqebvq2bf17CrefvfgnoyrOhaqyr13trgQbhoyrXrlfRi:
 nop
 .data
-.globl b__MGPA7naqebvq20OcCebprffVasbFreivprR0_AF_19VCebprffVasbFreivprR
+.weak b__MGPA7naqebvq20OcCebprffVasbFreivprR0_AF_19VCebprffVasbFreivprR
 .type b__MGPA7naqebvq20OcCebprffVasbFreivprR0_AF_19VCebprffVasbFreivprR,%object
 b__MGPA7naqebvq20OcCebprffVasbFreivprR0_AF_19VCebprffVasbFreivprR:
 .space __SIZEOF_POINTER__
@@ -3533,7 +3533,7 @@
 b__MA7naqebvq13tCebprffZhgrkR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR7qb_pbclRCiCXiz:
 nop
@@ -3553,7 +3553,7 @@
 b__MA7naqebvq14VCPGuernqFgngr13syhfuPbzznaqfRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR7qb_pbclRCiCXiz:
 nop
@@ -3578,7 +3578,7 @@
 b__MGi0_a24_A7naqebvq13VOnggrelFgngfQ0Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR8__nccraqRz:
 nop
@@ -3598,7 +3598,7 @@
 b__MA7naqebvq6Cnepry13jevgrFgevat16REXAFg3__110havdhr_cgeVAF_8Fgevat16RAF1_14qrsnhyg_qryrgrVF3_RRRR:
 nop
 .text
-.globl b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVAFg3__110havdhr_cgeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_14qrsnhyg_qryrgrVF9_RRRREXFP_RRvEXAF2_6irpgbeVG_AF7_VFT_RRRRZF0_SvG0_R
+.weak b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVAFg3__110havdhr_cgeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_14qrsnhyg_qryrgrVF9_RRRREXFP_RRvEXAF2_6irpgbeVG_AF7_VFT_RRRRZF0_SvG0_R
 .type b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVAFg3__110havdhr_cgeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_14qrsnhyg_qryrgrVF9_RRRREXFP_RRvEXAF2_6irpgbeVG_AF7_VFT_RRRRZF0_SvG0_R,%function
 b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVAFg3__110havdhr_cgeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_14qrsnhyg_qryrgrVF9_RRRREXFP_RRvEXAF2_6irpgbeVG_AF7_VFT_RRRRZF0_SvG0_R:
 nop
@@ -3613,17 +3613,17 @@
 b__MGPA7naqebvq13VOnggrelFgngfR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVsRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R
+.weak b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVsRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R
 .type b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVsRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R,%function
 b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVsRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R:
 nop
 .data
-.globl b__MGPA7naqebvq15OcFuryyPnyyonpxR0_AF_14VFuryyPnyyonpxR
+.weak b__MGPA7naqebvq15OcFuryyPnyyonpxR0_AF_14VFuryyPnyyonpxR
 .type b__MGPA7naqebvq15OcFuryyPnyyonpxR0_AF_14VFuryyPnyyonpxR,%object
 b__MGPA7naqebvq15OcFuryyPnyyonpxR0_AF_14VFuryyPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -3653,7 +3653,7 @@
 b__MA7naqebvq11VZrzbelUrncQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -3673,12 +3673,12 @@
 b__MA7naqebvq8OcOvaqre15fAhzGenpxrqHvqfR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq10CbbyGuernqR
+.weak b__MGGA7naqebvq10CbbyGuernqR
 .type b__MGGA7naqebvq10CbbyGuernqR,%object
 b__MGGA7naqebvq10CbbyGuernqR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRRR:
 .space __SIZEOF_POINTER__
@@ -3693,7 +3693,7 @@
 b__MA7naqebvq18FreivprZnantreFuvzP1REXAF_2fcVAF_2bf15VFreivprZnantreRRR:
 nop
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_:
 nop
@@ -3758,7 +3758,7 @@
 b__MGPA7naqebvq14OaOnggrelFgngfR0_AF_11OaVagresnprVAF_13VOnggrelFgngfRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq13OcHvqBofreireR
+.weak b__MGGA7naqebvq13OcHvqBofreireR
 .type b__MGGA7naqebvq13OcHvqBofreireR,%object
 b__MGGA7naqebvq13OcHvqBofreireR:
 .space __SIZEOF_POINTER__
@@ -3778,7 +3778,7 @@
 b__MA7naqebvq14VCPGuernqFgngrP2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR12qb_pbafgehpgRCiz:
 nop
@@ -3793,7 +3793,7 @@
 b__MA7naqebvq2bf15VFreivprZnantre11nfVagresnprREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__114__pbcl_nyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo0RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_
+.weak b__MAFg3__114__pbcl_nyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo0RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_
 .type b__MAFg3__114__pbcl_nyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo0RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_,%function
 b__MAFg3__114__pbcl_nyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo0RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_:
 nop
@@ -3818,7 +3818,7 @@
 b__MGGA7naqebvq15VNccBcfPnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq20OcCebprffVasbFreivprR0_AF_11OcVagresnprVAF_19VCebprffVasbFreivprRRR
+.weak b__MGPA7naqebvq20OcCebprffVasbFreivprR0_AF_11OcVagresnprVAF_19VCebprffVasbFreivprRRR
 .type b__MGPA7naqebvq20OcCebprffVasbFreivprR0_AF_11OcVagresnprVAF_19VCebprffVasbFreivprRRR,%object
 b__MGPA7naqebvq20OcCebprffVasbFreivprR0_AF_11OcVagresnprVAF_19VCebprffVasbFreivprRRR:
 .space __SIZEOF_POINTER__
@@ -3828,7 +3828,7 @@
 b__MA7naqebvq18CebprffVasbFreivpr18hcqngrOvaqreYbpxrqRi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_21VCrezvffvbaPbagebyyreRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_21VCrezvffvbaPbagebyyreRRQ2Ri
 .type b__MA7naqebvq2fcVAF_21VCrezvffvbaPbagebyyreRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_21VCrezvffvbaPbagebyyreRRQ2Ri:
 nop
@@ -3848,7 +3848,7 @@
 b__MA7naqebvq14VCPGuernqFgngr24erfgberPnyyvatJbexFbheprRy:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
@@ -3873,7 +3873,7 @@
 b__MA7naqebvq6Cnepry26jevgrEnjAhyynoyrCneprynoyrRCXAF_10CneprynoyrR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -3893,12 +3893,12 @@
 b__MA7naqebvq6Cnepry18trgTybonyNyybpFvmrRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12CebprffFgngr12unaqyr_ragelRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -3928,22 +3928,22 @@
 b__MA7naqebvq10ZrzbelOnfrQ0Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_oRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_oRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_oRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_oRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR12qb_pbafgehpgRCiz:
 nop
 .data
-.globl b__MGPA7naqebvq16OcErfhygErprvireR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq16OcErfhygErprvireR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq16OcErfhygErprvireR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq16OcErfhygErprvireR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVqqRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R
+.weak b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVqqRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R
 .type b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVqqRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R,%function
 b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVqqRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R:
 nop
@@ -3953,7 +3953,7 @@
 b__MAX7naqebvq6Cnepry18ernqSvyrQrfpevcgbeRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -3973,12 +3973,12 @@
 b__MA7naqebvq14VCPGuernqFgngr19frgFgevpgZbqrCbyvplRv:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRRP2REXF3_
+.weak b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRRP2REXF3_
 .type b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRRP2REXF3_,%function
 b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRRP2REXF3_:
 nop
@@ -3993,7 +3993,7 @@
 b__MGGA7naqebvq2bf22VFreivprZnantreQrsnhygR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRRQ2Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRRQ2Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRRQ2Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRRQ2Ri:
 nop
@@ -4023,7 +4023,7 @@
 b__MAX7naqebvq6Cnepry12ernqFgevat16Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR12qb_pbafgehpgRCiz:
 nop
@@ -4048,22 +4048,22 @@
 b__MAX7naqebvq6Cnepry10ernqVagCgeRCy:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRF8_RRvCAF2_6irpgbeVG_AF6_VFN_RRRRZF0_XSvCG0_R
+.weak b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRF8_RRvCAF2_6irpgbeVG_AF6_VFN_RRRRZF0_XSvCG0_R
 .type b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRF8_RRvCAF2_6irpgbeVG_AF6_VFN_RRRRZF0_XSvCG0_R,%function
 b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRF8_RRvCAF2_6irpgbeVG_AF6_VFN_RRRRZF0_XSvCG0_R:
 nop
 .text
-.globl b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR8__nccraqRz:
 nop
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq22OcZrqvnErfbheprZbavgbeR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq22OcZrqvnErfbheprZbavgbeR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq22OcZrqvnErfbheprZbavgbeR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq22OcZrqvnErfbheprZbavgbeR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -4093,17 +4093,17 @@
 b__MAX7naqebvq12OcZrzbelUrnc8trgSyntfRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR12qb_pbafgehpgRCiz:
 nop
 .data
-.globl b__MGPA7naqebvq16OcErfhygErprvireR0_AF_15VErfhygErprvireR
+.weak b__MGPA7naqebvq16OcErfhygErprvireR0_AF_15VErfhygErprvireR
 .type b__MGPA7naqebvq16OcErfhygErprvireR0_AF_15VErfhygErprvireR,%object
 b__MGPA7naqebvq16OcErfhygErprvireR0_AF_15VErfhygErprvireR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq14OcOnggrelFgngfR0_AF_13VOnggrelFgngfR
+.weak b__MGPA7naqebvq14OcOnggrelFgngfR0_AF_13VOnggrelFgngfR
 .type b__MGPA7naqebvq14OcOnggrelFgngfR0_AF_13VOnggrelFgngfR,%object
 b__MGPA7naqebvq14OcOnggrelFgngfR0_AF_13VOnggrelFgngfR:
 .space __SIZEOF_POINTER__
@@ -4128,7 +4128,7 @@
 b__MAX7naqebvq15VNccBcfPnyyonpx22trgVagresnprQrfpevcgbeRi:
 nop
 .data
-.globl b__MGPA7naqebvq16OcErfhygErprvireR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq16OcErfhygErprvireR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq16OcErfhygErprvireR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq16OcErfhygErprvireR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -4168,7 +4168,7 @@
 b__MAX7naqebvq2bf17CrefvfgnoyrOhaqyr13trgFgevatXrlfRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR:
 nop
@@ -4178,7 +4178,7 @@
 b__MA7naqebvq6ovaqre6FgnghfP2Rvv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR8qb_fcyngRCiF3_z
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR8qb_fcyngRCiF3_z
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR8qb_fcyngRCiF3_z,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR8qb_fcyngRCiF3_z:
 nop
@@ -4188,7 +4188,7 @@
 b__MA7naqebvq12OcZrzbelUrncQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR7qb_pbclRCiCXiz:
 nop
@@ -4198,7 +4198,7 @@
 b__MAX7naqebvq6Cnepry12ernqFgevat16RCAFg3__110havdhr_cgeVAF_8Fgevat16RAF1_14qrsnhyg_qryrgrVF3_RRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F3_RRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F3_RRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F3_RRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F3_RRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_:
 nop
@@ -4238,7 +4238,7 @@
 b__MAX7naqebvq6Cnepry11ernqFgevat8Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRREXG_:
 nop
@@ -4318,12 +4318,12 @@
 b__MGPA7naqebvq12OaZrzbelUrncR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_yRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_yRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_yRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_yRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_:
 nop
@@ -4333,7 +4333,7 @@
 b__MAX7naqebvq8OcOvaqre10svaqBowrpgRCXi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR7qb_pbclRCiCXiz:
 nop
@@ -4343,7 +4343,7 @@
 b__MGi0_a24_A7naqebvq8OaZrzbelQ1Ri:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_7ErsOnfrRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_7ErsOnfrRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_7ErsOnfrRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_7ErsOnfrRRR:
 .space __SIZEOF_POINTER__
@@ -4363,7 +4363,7 @@
 b__MA7naqebvq7pbagrag2cz22OaCnpxntrZnantreAngvir10baGenafnpgRwEXAF_6CnepryRCF3_w:
 nop
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq8Fgevat16RAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVF2_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFP_RREXG_
+.weak b__MAFg3__16__gerrVA7naqebvq8Fgevat16RAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVF2_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFP_RREXG_
 .type b__MAFg3__16__gerrVA7naqebvq8Fgevat16RAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVF2_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFP_RREXG_,%function
 b__MAFg3__16__gerrVA7naqebvq8Fgevat16RAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVF2_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFP_RREXG_:
 nop
@@ -4378,7 +4378,7 @@
 b__MGi0_a24_A7naqebvq2bf15VFreivprZnantreQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq17OcNpgvivglZnantreR0_AF_16VNpgvivglZnantreR
+.weak b__MGPA7naqebvq17OcNpgvivglZnantreR0_AF_16VNpgvivglZnantreR
 .type b__MGPA7naqebvq17OcNpgvivglZnantreR0_AF_16VNpgvivglZnantreR,%object
 b__MGPA7naqebvq17OcNpgvivglZnantreR0_AF_16VNpgvivglZnantreR:
 .space __SIZEOF_POINTER__
@@ -4393,12 +4393,12 @@
 b__MAX7naqebvq12ZrzbelQrnyre4qhzcRCXp:
 nop
 .text
-.globl b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR18__pbafgehpg_ng_raqVAF_14__ovg_vgrengbeVF3_Yo0RYz0RRRRRAF_9ranoyr_vsVKfe21__vf_sbejneq_vgrengbeVG_RR5inyhrRiR4glcrRF8_F8_
+.weak b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR18__pbafgehpg_ng_raqVAF_14__ovg_vgrengbeVF3_Yo0RYz0RRRRRAF_9ranoyr_vsVKfe21__vf_sbejneq_vgrengbeVG_RR5inyhrRiR4glcrRF8_F8_
 .type b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR18__pbafgehpg_ng_raqVAF_14__ovg_vgrengbeVF3_Yo0RYz0RRRRRAF_9ranoyr_vsVKfe21__vf_sbejneq_vgrengbeVG_RR5inyhrRiR4glcrRF8_F8_,%function
 b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR18__pbafgehpg_ng_raqVAF_14__ovg_vgrengbeVF3_Yo0RYz0RRRRRAF_9ranoyr_vsVKfe21__vf_sbejneq_vgrengbeVG_RR5inyhrRiR4glcrRF8_F8_:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -4438,7 +4438,7 @@
 b__MA7naqebvq15CrezvffvbaPnpur5pnpurREXAF_8Fgevat16Rwo:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR7qb_pbclRCiCXiz:
 nop
@@ -4458,12 +4458,12 @@
 b__MA7naqebvq18FreivprZnantreFuvz14jnvgSbeFreivprREXAF_8Fgevat16R:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_FT_RRyRRECAF_15__gerr_raq_abqrVFV_RRFW_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_FT_RRyRRECAF_15__gerr_raq_abqrVFV_RRFW_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_FT_RRyRRECAF_15__gerr_raq_abqrVFV_RRFW_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_FT_RRyRRECAF_15__gerr_raq_abqrVFV_RRFW_EXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR:
 nop
@@ -4498,7 +4498,7 @@
 b__MA7naqebvq10VVagresnprQ1Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_:
 nop
@@ -4518,12 +4518,12 @@
 b__MGi0_a24_A7naqebvq10ZrzbelOnfrQ1Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RyRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_:
 nop
@@ -4553,7 +4553,7 @@
 b__MGi0_a24_A7naqebvq7VZrzbelQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVssRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R
+.weak b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVssRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R
 .type b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVssRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R,%function
 b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVssRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R:
 nop
@@ -4563,7 +4563,7 @@
 b__MA7naqebvq7VOvaqre12furyyPbzznaqREXAF_2fcVF0_RRvvvEAF_6IrpgbeVAF_8Fgevat16RRREXAF1_VAF_14VFuryyPnyyonpxRRREXAF1_VAF_15VErfhygErprvireRRR:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_7VZrzbelRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_7VZrzbelRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_7VZrzbelRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_7VZrzbelRR10baNfOvaqreRi:
 nop
@@ -4603,7 +4603,7 @@
 b__MA7naqebvq6Cnepry11frgQngnFvmrRz:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVAF_2fcVAF_7VOvaqreRRRRRvCAFg3__110havdhr_cgeVAF5_6irpgbeVG_AF5_9nyybpngbeVF8_RRRRAF5_14qrsnhyg_qryrgrVFO_RRRRZF0_XSvCF8_R
+.weak b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVAF_2fcVAF_7VOvaqreRRRRRvCAFg3__110havdhr_cgeVAF5_6irpgbeVG_AF5_9nyybpngbeVF8_RRRRAF5_14qrsnhyg_qryrgrVFO_RRRRZF0_XSvCF8_R
 .type b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVAF_2fcVAF_7VOvaqreRRRRRvCAFg3__110havdhr_cgeVAF5_6irpgbeVG_AF5_9nyybpngbeVF8_RRRRAF5_14qrsnhyg_qryrgrVFO_RRRRZF0_XSvCF8_R,%function
 b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVAF_2fcVAF_7VOvaqreRRRRRvCAFg3__110havdhr_cgeVAF5_6irpgbeVG_AF5_9nyybpngbeVF8_RRRRAF5_14qrsnhyg_qryrgrVFO_RRRRZF0_XSvCF8_R:
 nop
@@ -4613,7 +4613,7 @@
 b__MA7naqebvq7pbagrag2cz28VCnpxntrZnantreAngvirQrsnhyg24trgIrefvbaPbqrSbeCnpxntrREXAF_8Fgevat16RCy:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_8Fgevat16RRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_8Fgevat16RRR
 .type b__MGIA7naqebvq6IrpgbeVAF_8Fgevat16RRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_8Fgevat16RRR:
 .space __SIZEOF_POINTER__
@@ -4638,7 +4638,7 @@
 b__MA7naqebvq6Cnepry12erfgnegJevgrRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_:
 nop
@@ -4698,7 +4698,7 @@
 b__MGPA7naqebvq16OaErfhygErprvireR0_AF_15VErfhygErprvireR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXF3_F7_RRRRRAF_10havdhr_cgeVAF_11__gerr_abqrVF8_CiRRAF_22__gerr_abqr_qrfgehpgbeVAF5_VFB_RRRRRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXF3_F7_RRRRRAF_10havdhr_cgeVAF_11__gerr_abqrVF8_CiRRAF_22__gerr_abqr_qrfgehpgbeVAF5_VFB_RRRRRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXF3_F7_RRRRRAF_10havdhr_cgeVAF_11__gerr_abqrVF8_CiRRAF_22__gerr_abqr_qrfgehpgbeVAF5_VFB_RRRRRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXF3_F7_RRRRRAF_10havdhr_cgeVAF_11__gerr_abqrVF8_CiRRAF_22__gerr_abqr_qrfgehpgbeVAF5_VFB_RRRRRRQcBG_:
 nop
@@ -4708,7 +4708,7 @@
 b__MA7naqebvq8vagreany9Fgnovyvgl24erdhverfIvagsQrpynengvbaREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -4718,12 +4718,12 @@
 b__MA7naqebvq6Cnepry9jevgrObbyRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR:
 nop
 .data
-.globl b__MGGA7naqebvq22OcZrqvnErfbheprZbavgbeR
+.weak b__MGGA7naqebvq22OcZrqvnErfbheprZbavgbeR
 .type b__MGGA7naqebvq22OcZrqvnErfbheprZbavgbeR,%object
 b__MGGA7naqebvq22OcZrqvnErfbheprZbavgbeR:
 .space __SIZEOF_POINTER__
@@ -4743,7 +4743,7 @@
 b__MA7naqebvq15VNccBcfPnyyonpxP2Ri:
 nop
 .data
-.globl b__MGIA7naqebvq18OhssrerqGrkgBhgchg11OhssreFgngrR
+.weak b__MGIA7naqebvq18OhssrerqGrkgBhgchg11OhssreFgngrR
 .type b__MGIA7naqebvq18OhssrerqGrkgBhgchg11OhssreFgngrR,%object
 b__MGIA7naqebvq18OhssrerqGrkgBhgchg11OhssreFgngrR:
 .space __SIZEOF_POINTER__
@@ -4753,17 +4753,17 @@
 b__MA7naqebvq12OaZrzbelUrncQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVAFg3__110havdhr_cgeVAF_8Fgevat16RAF2_14qrsnhyg_qryrgrVF4_RRRRRRvCAF3_VAF2_6irpgbeVG_AF2_9nyybpngbeVF9_RRRRAF5_VFP_RRRRZF0_XSvCF9_R
+.weak b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVAFg3__110havdhr_cgeVAF_8Fgevat16RAF2_14qrsnhyg_qryrgrVF4_RRRRRRvCAF3_VAF2_6irpgbeVG_AF2_9nyybpngbeVF9_RRRRAF5_VFP_RRRRZF0_XSvCF9_R
 .type b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVAFg3__110havdhr_cgeVAF_8Fgevat16RAF2_14qrsnhyg_qryrgrVF4_RRRRRRvCAF3_VAF2_6irpgbeVG_AF2_9nyybpngbeVF9_RRRRAF5_VFP_RRRRZF0_XSvCF9_R,%function
 b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVAFg3__110havdhr_cgeVAF_8Fgevat16RAF2_14qrsnhyg_qryrgrVF4_RRRRRRvCAF3_VAF2_6irpgbeVG_AF2_9nyybpngbeVF9_RRRRAF5_VFP_RRRRZF0_XSvCF9_R:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_:
 nop
@@ -4788,12 +4788,12 @@
 b__MA7naqebvq6Cnepry9jevgrPuneRQf:
 nop
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
 .data
-.globl b__MGIA7naqebvq13YbtGrkgBhgchgR
+.weak b__MGIA7naqebvq13YbtGrkgBhgchgR
 .type b__MGIA7naqebvq13YbtGrkgBhgchgR,%object
 b__MGIA7naqebvq13YbtGrkgBhgchgR:
 .space __SIZEOF_POINTER__
@@ -4823,7 +4823,7 @@
 b__MAX7naqebvq2bf17CrefvfgnoyrOhaqyr19trgFgevatIrpgbeXrlfRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFV_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFV_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFV_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFV_RREXG_:
 nop
@@ -4833,7 +4833,7 @@
 b__MAX7naqebvq6Cnepry16rasbeprVagresnprREXAF_8Fgevat16RCAF_14VCPGuernqFgngrR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6vafregVCXuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCuRRR4glcrRAFP_VF6_RRF8_F8_
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6vafregVCXuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCuRRR4glcrRAFP_VF6_RRF8_F8_
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6vafregVCXuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCuRRR4glcrRAFP_VF6_RRF8_F8_,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6vafregVCXuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCuRRR4glcrRAFP_VF6_RRF8_F8_:
 nop
@@ -4873,7 +4873,7 @@
 b__MGi0_a24_A7naqebvq8OcOvaqreQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq13OcHvqBofreireR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq13OcHvqBofreireR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq13OcHvqBofreireR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq13OcHvqBofreireR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -4883,7 +4883,7 @@
 b__MA7naqebvq6Cnepry4Oybo5pyrneRi:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVyyRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R
+.weak b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVyyRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R
 .type b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVyyRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R,%function
 b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVyyRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R:
 nop
@@ -4908,7 +4908,7 @@
 b__MGia8_a32_A7naqebvq14ZrzbelUrncOnfrQ1Ri:
 nop
 .data
-.globl b__MGIA7naqebvq10CbbyGuernqR
+.weak b__MGIA7naqebvq10CbbyGuernqR
 .type b__MGIA7naqebvq10CbbyGuernqR,%object
 b__MGIA7naqebvq10CbbyGuernqR:
 .space __SIZEOF_POINTER__
@@ -4918,7 +4918,7 @@
 b__MA7naqebvq6Cnepry15jevgrObbyIrpgbeREXAFg3__110havdhr_cgeVAF1_6irpgbeVoAF1_9nyybpngbeVoRRRRAF1_14qrsnhyg_qryrgrVF6_RRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_FR_RRyRRECAF_15__gerr_raq_abqrVFT_RRFU_EXG_:
 nop
@@ -4928,17 +4928,17 @@
 b__MGPA7naqebvq14OaOnggrelFgngfR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAF_8Fgevat16RF2_RRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRRZF0_XSvCG0_R
+.weak b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAF_8Fgevat16RF2_RRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRRZF0_XSvCG0_R
 .type b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAF_8Fgevat16RF2_RRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRRZF0_XSvCG0_R,%function
 b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAF_8Fgevat16RF2_RRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRRZF0_XSvCG0_R:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR:
 nop
 .data
-.globl b__MGPA7naqebvq14OcOnggrelFgngfR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq14OcOnggrelFgngfR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq14OcOnggrelFgngfR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq14OcOnggrelFgngfR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -4948,7 +4948,7 @@
 b__MA7naqebvq6Cnepry10jevgrVag64Ry:
 nop
 .data
-.globl b__MGGA7naqebvq16OcErfhygErprvireR
+.weak b__MGGA7naqebvq16OcErfhygErprvireR
 .type b__MGGA7naqebvq16OcErfhygErprvireR,%object
 b__MGGA7naqebvq16OcErfhygErprvireR:
 .space __SIZEOF_POINTER__
@@ -4973,7 +4973,7 @@
 b__MA7naqebvq6Cnepry17jevgrHvag64IrpgbeREXAFg3__110havdhr_cgeVAF1_6irpgbeVzAF1_9nyybpngbeVzRRRRAF1_14qrsnhyg_qryrgrVF6_RRRR:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVyRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R
+.weak b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVyRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R
 .type b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVyRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R,%function
 b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVyRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R:
 nop
@@ -4988,17 +4988,17 @@
 b__MA7naqebvq14VCPGuernqFgngr11fgbcCebprffRo:
 nop
 .text
-.globl b__MA7naqebvqyfVN5_pRREAF_10GrkgBhgchgRF3_EXG_
+.weak b__MA7naqebvqyfVN5_pRREAF_10GrkgBhgchgRF3_EXG_
 .type b__MA7naqebvqyfVN5_pRREAF_10GrkgBhgchgRF3_EXG_,%function
 b__MA7naqebvqyfVN5_pRREAF_10GrkgBhgchgRF3_EXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -5018,7 +5018,7 @@
 b__MA7naqebvq15VNccBcfPnyyonpxQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR15qb_zbir_sbejneqRCiF3_z
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR15qb_zbir_sbejneqRCiF3_z
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR15qb_zbir_sbejneqRCiF3_z,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR15qb_zbir_sbejneqRCiF3_z:
 nop
@@ -5033,7 +5033,7 @@
 b__MA7naqebvq2bf17OaFreivprPnyyonpx10baGenafnpgRwEXAF_6CnepryRCF2_w:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -5058,17 +5058,17 @@
 b__MA7naqebvq6Cnepry11jevgrHvag32Rw:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_:
 nop
 .data
-.globl b__MGPA7naqebvq22OcZrqvnErfbheprZbavgbeR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq22OcZrqvnErfbheprZbavgbeR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq22OcZrqvnErfbheprZbavgbeR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq22OcZrqvnErfbheprZbavgbeR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRRP2Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRRP2Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRRP2Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRRP2Ri:
 nop
@@ -5083,7 +5083,7 @@
 b__MGua8_A7naqebvq8OaZrzbelQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR8qb_fcyngRCiCXiz:
 nop
@@ -5093,22 +5093,22 @@
 b__MAX7naqebvq6Cnepry15ernqVag64IrpgbeRCAFg3__16irpgbeVyAF1_9nyybpngbeVyRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_12VHvqBofreireRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_12VHvqBofreireRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_12VHvqBofreireRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_12VHvqBofreireRR10baNfOvaqreRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR10qb_pbzcnerRCXiF5_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR10qb_pbzcnerRCXiF5_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR10qb_pbzcnerRCXiF5_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR10qb_pbzcnerRCXiF5_:
 nop
@@ -5148,12 +5148,12 @@
 b__MA7naqebvq21VZrqvnErfbheprZbavgbe10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MA7naqebvqyfVCpRREAF_10GrkgBhgchgRF3_EXG_
+.weak b__MA7naqebvqyfVCpRREAF_10GrkgBhgchgRF3_EXG_
 .type b__MA7naqebvqyfVCpRREAF_10GrkgBhgchgRF3_EXG_,%function
 b__MA7naqebvqyfVCpRREAF_10GrkgBhgchgRF3_EXG_:
 nop
@@ -5178,7 +5178,7 @@
 b__MA7naqebvq8OcOvaqre16ranoyrPbhagOlHvqRi:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_14VFuryyPnyyonpxRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_14VFuryyPnyyonpxRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_14VFuryyPnyyonpxRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_14VFuryyPnyyonpxRR10baNfOvaqreRi:
 nop
@@ -5198,7 +5198,7 @@
 b__MAX7naqebvq6Cnepry5cevagREAF_10GrkgBhgchgRw:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -5208,7 +5208,7 @@
 b__MA7naqebvq15VErfhygErprvire10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6nffvtaVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6nffvtaVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6nffvtaVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6nffvtaVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_:
 nop
@@ -5223,7 +5223,7 @@
 b__MA7naqebvq7OOvaqre12nggnpuBowrpgRCXiCiF3_CSiF2_F3_F3_R:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR10qb_pbzcnerRF3_F3_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR10qb_pbzcnerRF3_F3_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR10qb_pbzcnerRF3_F3_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR10qb_pbzcnerRF3_F3_:
 nop
@@ -5288,7 +5288,7 @@
 b__MA7naqebvq8OcOvaqre15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRR10qb_qrfgeblRCiz:
 nop
@@ -5298,12 +5298,12 @@
 b__MA7naqebvq14VFuryyPnyyonpx14trgQrsnhygVzcyRi:
 nop
 .data
-.globl b__MGPA7naqebvq17OcNpgvivglZnantreR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq17OcNpgvivglZnantreR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq17OcNpgvivglZnantreR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq17OcNpgvivglZnantreR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq15OcFuryyPnyyonpxR0_AF_11OcVagresnprVAF_14VFuryyPnyyonpxRRR
+.weak b__MGPA7naqebvq15OcFuryyPnyyonpxR0_AF_11OcVagresnprVAF_14VFuryyPnyyonpxRRR
 .type b__MGPA7naqebvq15OcFuryyPnyyonpxR0_AF_11OcVagresnprVAF_14VFuryyPnyyonpxRRR,%object
 b__MGPA7naqebvq15OcFuryyPnyyonpxR0_AF_11OcVagresnprVAF_14VFuryyPnyyonpxRRR:
 .space __SIZEOF_POINTER__
@@ -5313,12 +5313,12 @@
 b__MA7naqebvq6ovaqreyfREAFg3__118onfvp_fgevatfgernzVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRREXAF0_6FgnghfR:
 nop
 .data
-.globl b__MGPA7naqebvq13OcHvqBofreireR0_AF_12VHvqBofreireR
+.weak b__MGPA7naqebvq13OcHvqBofreireR0_AF_12VHvqBofreireR
 .type b__MGPA7naqebvq13OcHvqBofreireR0_AF_12VHvqBofreireR,%object
 b__MGPA7naqebvq13OcHvqBofreireR0_AF_12VHvqBofreireR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz:
 nop
@@ -5333,12 +5333,12 @@
 b__MA7naqebvq14VNccBcfFreivpr10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_21VZrqvnErfbheprZbavgbeRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_21VZrqvnErfbheprZbavgbeRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_21VZrqvnErfbheprZbavgbeRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_21VZrqvnErfbheprZbavgbeRR10baNfOvaqreRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
@@ -5383,17 +5383,17 @@
 b__MAX7naqebvq2bf17CrefvfgnoyrOhaqyr16trgVagIrpgbeXrlfRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVF3_RRzEXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVF3_RRzEXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVF3_RRzEXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVF3_RRzEXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVqAF_9nyybpngbeVqRRRP2REXF3_
+.weak b__MAFg3__16irpgbeVqAF_9nyybpngbeVqRRRP2REXF3_
 .type b__MAFg3__16irpgbeVqAF_9nyybpngbeVqRRRP2REXF3_,%function
 b__MAFg3__16irpgbeVqAF_9nyybpngbeVqRRRP2REXF3_:
 nop
 .data
-.globl b__MGPA7naqebvq10CbbyGuernqR0_AF_6GuernqR
+.weak b__MGPA7naqebvq10CbbyGuernqR0_AF_6GuernqR
 .type b__MGPA7naqebvq10CbbyGuernqR0_AF_6GuernqR,%object
 b__MGPA7naqebvq10CbbyGuernqR0_AF_6GuernqR:
 .space __SIZEOF_POINTER__
@@ -5428,7 +5428,7 @@
 b__MGua8_A7naqebvq12OcZrzbelUrncQ0Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz:
 nop
@@ -5478,7 +5478,7 @@
 b__MGPA7naqebvq7pbagrag2cz22OcCnpxntrZnantreAngvirR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq15OcNccBcfFreivprR
+.weak b__MGGA7naqebvq15OcNccBcfFreivprR
 .type b__MGGA7naqebvq15OcNccBcfFreivprR,%object
 b__MGGA7naqebvq15OcNccBcfFreivprR:
 .space __SIZEOF_POINTER__
@@ -5498,7 +5498,7 @@
 b__MA7naqebvq7pbagrag2cz28VCnpxntrZnantreAngvirQrsnhyg29vfNhqvbCynlonpxPncgherNyybjrqREXAFg3__16irpgbeVAF3_12onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRAF8_VFN_RRRRCAF4_VoAF8_VoRRRR:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRR11trgVafgnaprRi
+.weak b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRR11trgVafgnaprRi
 .type b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRR11trgVafgnaprRi,%function
 b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRR11trgVafgnaprRi:
 nop
@@ -5533,7 +5533,7 @@
 b__MGPA7naqebvq16OaErfhygErprvireR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq22OcZrqvnErfbheprZbavgbeR0_AF_11OcVagresnprVAF_21VZrqvnErfbheprZbavgbeRRR
+.weak b__MGPA7naqebvq22OcZrqvnErfbheprZbavgbeR0_AF_11OcVagresnprVAF_21VZrqvnErfbheprZbavgbeRRR
 .type b__MGPA7naqebvq22OcZrqvnErfbheprZbavgbeR0_AF_11OcVagresnprVAF_21VZrqvnErfbheprZbavgbeRRR,%object
 b__MGPA7naqebvq22OcZrqvnErfbheprZbavgbeR0_AF_11OcVagresnprVAF_21VZrqvnErfbheprZbavgbeRRR:
 .space __SIZEOF_POINTER__
@@ -5588,7 +5588,7 @@
 b__MAX7naqebvq6Cnepry16inyvqngrErnqQngnRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVF3_AF_9nyybpngbeVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_:
 nop
@@ -5643,7 +5643,7 @@
 b__MA7naqebvq21VCrezvffvbaPbagebyyre10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRR11unfVafgnaprRi
+.weak b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRR11unfVafgnaprRi
 .type b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRR11unfVafgnaprRi,%function
 b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRR11unfVafgnaprRi:
 nop
@@ -5663,7 +5663,7 @@
 b__MA7naqebvq7OOvaqre16frgErdhrfgvatFvqRo:
 nop
 .text
-.globl b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVssRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R
+.weak b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVssRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R
 .type b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVssRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R,%function
 b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVssRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R:
 nop
@@ -5693,7 +5693,7 @@
 b__MAX7naqebvq6Cnepry16ernqHvag64IrpgbeRCAFg3__16irpgbeVzAF1_9nyybpngbeVzRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_:
 nop
@@ -5728,7 +5728,7 @@
 b__MGGA7naqebvq16OaErfhygErprvireR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvqyfVlRREAF_10GrkgBhgchgRF2_EXG_
+.weak b__MA7naqebvqyfVlRREAF_10GrkgBhgchgRF2_EXG_
 .type b__MA7naqebvqyfVlRREAF_10GrkgBhgchgRF2_EXG_,%function
 b__MA7naqebvqyfVlRREAF_10GrkgBhgchgRF2_EXG_:
 nop
@@ -5763,7 +5763,7 @@
 b__MA7naqebvq14VCPGuernqFgngrP1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq20OcCebprffVasbFreivprR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq20OcCebprffVasbFreivprR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq20OcCebprffVasbFreivprR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq20OcCebprffVasbFreivprR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -5783,7 +5783,7 @@
 b__MGua8_A7naqebvq10NyybpngvbaQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAFg3__110havdhr_cgeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_14qrsnhyg_qryrgrVF9_RRRRFP_RRvCAF2_6irpgbeVG_AF7_VFR_RRRRZF0_XSvCG0_R
+.weak b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAFg3__110havdhr_cgeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_14qrsnhyg_qryrgrVF9_RRRRFP_RRvCAF2_6irpgbeVG_AF7_VFR_RRRRZF0_XSvCG0_R
 .type b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAFg3__110havdhr_cgeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_14qrsnhyg_qryrgrVF9_RRRRFP_RRvCAF2_6irpgbeVG_AF7_VFR_RRRRZF0_XSvCG0_R,%function
 b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAFg3__110havdhr_cgeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_14qrsnhyg_qryrgrVF9_RRRRFP_RRvCAF2_6irpgbeVG_AF7_VFR_RRRRZF0_XSvCG0_R:
 nop
@@ -5808,7 +5808,7 @@
 b__MGPA7naqebvq15OaFuryyPnyyonpxR0_AF_14VFuryyPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR:
 nop
@@ -5858,7 +5858,7 @@
 b__MA7naqebvq2bf17CrefvfgnoyrOhaqyr16chgObbyrnaIrpgbeREXAF_8Fgevat16REXAFg3__16irpgbeVoAF5_9nyybpngbeVoRRRR:
 nop
 .data
-.globl b__MGPA7naqebvq15OcNccBcfFreivprR0_AF_14VNccBcfFreivprR
+.weak b__MGPA7naqebvq15OcNccBcfFreivprR0_AF_14VNccBcfFreivprR
 .type b__MGPA7naqebvq15OcNccBcfFreivprR0_AF_14VNccBcfFreivprR,%object
 b__MGPA7naqebvq15OcNccBcfFreivprR0_AF_14VNccBcfFreivprR:
 .space __SIZEOF_POINTER__
@@ -5888,7 +5888,7 @@
 b__MA7naqebvq12CebprffFgngr13rkchatrUnaqyrRvCAF_7VOvaqreR:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_13VOnggrelFgngfRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_13VOnggrelFgngfRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_13VOnggrelFgngfRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_13VOnggrelFgngfRR10baNfOvaqreRi:
 nop
@@ -5908,7 +5908,7 @@
 b__MAX7naqebvq6Cnepry12bowrpgfPbhagRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_:
 nop
@@ -5933,7 +5933,7 @@
 b__MA7naqebvq13VOnggrelFgngf14trgQrsnhygVzcyRi:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRRQ1Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRRQ1Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRRQ1Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRRQ1Ri:
 nop
@@ -5943,12 +5943,12 @@
 b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_:
 nop
@@ -5973,7 +5973,7 @@
 b__MA7naqebvq9UrncPnpur10ovaqreQvrqREXAF_2jcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -5988,7 +5988,7 @@
 b__MGPA7naqebvq2bf16OcFreivprZnantreR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -5998,7 +5998,7 @@
 b__MA7naqebvq14ZrzbelUrncOnfr5zncsqRvzy:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAF_2fcVAF_7VOvaqreRRRF4_RRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRRZF0_XSvCG0_R
+.weak b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAF_2fcVAF_7VOvaqreRRRF4_RRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRRZF0_XSvCG0_R
 .type b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAF_2fcVAF_7VOvaqreRRRF4_RRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRRZF0_XSvCG0_R,%function
 b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVAF_2fcVAF_7VOvaqreRRRF4_RRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRRZF0_XSvCG0_R:
 nop
@@ -6048,12 +6048,12 @@
 b__MA7naqebvq6Cnepry17jevgrQbhoyrIrpgbeREXAFg3__110havdhr_cgeVAF1_6irpgbeVqAF1_9nyybpngbeVqRRRRAF1_14qrsnhyg_qryrgrVF6_RRRR:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVAF_4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRRRvCAFg3__110havdhr_cgeVAF6_6irpgbeVG_AF6_9nyybpngbeVF9_RRRRAF6_14qrsnhyg_qryrgrVFP_RRRRZF0_XSvCF9_R
+.weak b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVAF_4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRRRvCAFg3__110havdhr_cgeVAF6_6irpgbeVG_AF6_9nyybpngbeVF9_RRRRAF6_14qrsnhyg_qryrgrVFP_RRRRZF0_XSvCF9_R
 .type b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVAF_4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRRRvCAFg3__110havdhr_cgeVAF6_6irpgbeVG_AF6_9nyybpngbeVF9_RRRRAF6_14qrsnhyg_qryrgrVFP_RRRRZF0_XSvCF9_R,%function
 b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVAF_4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRRRvCAFg3__110havdhr_cgeVAF6_6irpgbeVG_AF6_9nyybpngbeVF9_RRRRAF6_14qrsnhyg_qryrgrVFP_RRRRZF0_XSvCF9_R:
 nop
 .data
-.globl b__MGGA7naqebvq20OcCebprffVasbFreivprR
+.weak b__MGGA7naqebvq20OcCebprffVasbFreivprR
 .type b__MGGA7naqebvq20OcCebprffVasbFreivprR,%object
 b__MGGA7naqebvq20OcCebprffVasbFreivprR:
 .space __SIZEOF_POINTER__
@@ -6118,7 +6118,7 @@
 b__MAX7naqebvq2bf17CrefvfgnoyrOhaqyr14trgObbyrnaXrlfRi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_9UrncPnpurRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_9UrncPnpurRRQ2Ri
 .type b__MA7naqebvq2fcVAF_9UrncPnpurRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_9UrncPnpurRRQ2Ri:
 nop
@@ -6158,7 +6158,7 @@
 b__MGPA7naqebvq10ZrzbelOnfrR0_AF_7VZrzbelR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_:
 nop
@@ -6183,7 +6183,7 @@
 b__MGua8_A7naqebvq10ZrzbelOnfrQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR7erfreirRz
+.weak b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR7erfreirRz
 .type b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR7erfreirRz,%function
 b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR7erfreirRz:
 nop
@@ -6198,12 +6198,12 @@
 b__MA7naqebvq21VZrqvnErfbheprZbavgbeQ2Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_qRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_qRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_qRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_qRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_:
 nop
 .data
-.globl b__MGGA7naqebvq22OcCrezvffvbaPbagebyyreR
+.weak b__MGGA7naqebvq22OcCrezvffvbaPbagebyyreR
 .type b__MGGA7naqebvq22OcCrezvffvbaPbagebyyreR,%object
 b__MGGA7naqebvq22OcCrezvffvbaPbagebyyreR:
 .space __SIZEOF_POINTER__
@@ -6248,7 +6248,7 @@
 b__MAX7naqebvq6Cnepry8ernqObbyRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR:
 nop
@@ -6273,17 +6273,17 @@
 b__MGGA7naqebvq12OaZrzbelUrncR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvqyfVN8_pRREAF_10GrkgBhgchgRF3_EXG_
+.weak b__MA7naqebvqyfVN8_pRREAF_10GrkgBhgchgRF3_EXG_
 .type b__MA7naqebvqyfVN8_pRREAF_10GrkgBhgchgRF3_EXG_,%function
 b__MA7naqebvqyfVN8_pRREAF_10GrkgBhgchgRF3_EXG_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -6318,7 +6318,7 @@
 b__MA7naqebvq19VCebprffVasbFreivprQ1Ri:
 nop
 .data
-.globl b__MGIA7naqebvq20OcCebprffVasbFreivprR
+.weak b__MGIA7naqebvq20OcCebprffVasbFreivprR
 .type b__MGIA7naqebvq20OcCebprffVasbFreivprR,%object
 b__MGIA7naqebvq20OcCebprffVasbFreivprR:
 .space __SIZEOF_POINTER__
@@ -6328,17 +6328,17 @@
 b__MA7naqebvq7VOvaqre11trgQrohtCvqRCv:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_oRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_oRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_oRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_oRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF4_FZ_yRREXG_QcBG0_:
 nop
@@ -6358,12 +6358,12 @@
 b__MGPA7naqebvq10NyybpngvbaR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvqyfVN4_pRREAF_10GrkgBhgchgRF3_EXG_
+.weak b__MA7naqebvqyfVN4_pRREAF_10GrkgBhgchgRF3_EXG_
 .type b__MA7naqebvqyfVN4_pRREAF_10GrkgBhgchgRF3_EXG_,%function
 b__MA7naqebvqyfVN4_pRREAF_10GrkgBhgchgRF3_EXG_:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
@@ -6393,7 +6393,7 @@
 b__MA7naqebvq12ZrzbelQrnyreP2RzCXpw:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_:
 nop
@@ -6418,7 +6418,7 @@
 b__MGi0_a24_A7naqebvq10ZrzbelOnfrQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVAF_4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRREXF5_RRvEXAFg3__16irpgbeVG_AF8_9nyybpngbeVFN_RRRRZF0_SvG0_R
+.weak b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVAF_4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRREXF5_RRvEXAFg3__16irpgbeVG_AF8_9nyybpngbeVFN_RRRRZF0_SvG0_R
 .type b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVAF_4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRREXF5_RRvEXAFg3__16irpgbeVG_AF8_9nyybpngbeVFN_RRRRZF0_SvG0_R,%function
 b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVAF_4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRREXF5_RRvEXAFg3__16irpgbeVG_AF8_9nyybpngbeVFN_RRRRZF0_SvG0_R:
 nop
@@ -6428,7 +6428,7 @@
 b__MAX7naqebvq2bf17CrefvfgnoyrOhaqyr13trgYbatIrpgbeREXAF_8Fgevat16RCAFg3__16irpgbeVyAF5_9nyybpngbeVyRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_:
 nop
@@ -6438,7 +6438,7 @@
 b__MA7naqebvq3arg8VcCersvk10frgNqqerffREX8va6_nqqe:
 nop
 .text
-.globl b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXF8_RRvEXAF2_6irpgbeVG_AF6_VFP_RRRRZF0_SvG0_R
+.weak b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXF8_RRvEXAF2_6irpgbeVG_AF6_VFP_RRRRZF0_SvG0_R
 .type b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXF8_RRvEXAF2_6irpgbeVG_AF6_VFP_RRRRZF0_SvG0_R,%function
 b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXF8_RRvEXAF2_6irpgbeVG_AF6_VFP_RRRRZF0_SvG0_R:
 nop
@@ -6493,7 +6493,7 @@
 b__MGi0_a24_A7naqebvq15VErfhygErprvireQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq15OcFuryyPnyyonpxR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq15OcFuryyPnyyonpxR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq15OcFuryyPnyyonpxR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq15OcFuryyPnyyonpxR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -6523,7 +6523,7 @@
 b__MA7naqebvq8vagreany9Fgnovyvgl17qrohtYbtFgnovyvglREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR7qb_pbclRCiCXiz:
 nop
@@ -6548,7 +6548,7 @@
 b__MAX7naqebvq6Cnepry15ernqSybngIrpgbeRCAFg3__110havdhr_cgeVAF1_6irpgbeVsAF1_9nyybpngbeVsRRRRAF1_14qrsnhyg_qryrgrVF6_RRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_:
 nop
@@ -6558,22 +6558,22 @@
 b__MGi0_a24_A7naqebvq16VNpgvivglZnantreQ1Ri:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_vRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_vRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_vRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_vRRRRRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRQcBG_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -6663,7 +6663,7 @@
 b__MA7naqebvq6Cnepry8serrQngnRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVQfAF_9nyybpngbeVQfRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVQfAF_9nyybpngbeVQfRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVQfAF_9nyybpngbeVQfRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVQfAF_9nyybpngbeVQfRRR8__nccraqRz:
 nop
@@ -6678,12 +6678,12 @@
 b__MA7naqebvq6Cnepry11pbzcnerQngnREXF0_:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_:
 nop
@@ -6708,7 +6708,7 @@
 b__MGIA7naqebvq2bf16OaFreivprZnantreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq13OcHvqBofreireR
+.weak b__MGIA7naqebvq13OcHvqBofreireR
 .type b__MGIA7naqebvq13OcHvqBofreireR,%object
 b__MGIA7naqebvq13OcHvqBofreireR:
 .space __SIZEOF_POINTER__
@@ -6718,12 +6718,12 @@
 b__MGPA7naqebvq7pbagrag2cz22OcCnpxntrZnantreAngvirR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRR:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry16erfreirBhgIrpgbeVuRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRCz
+.weak b__MAX7naqebvq6Cnepry16erfreirBhgIrpgbeVuRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRCz
 .type b__MAX7naqebvq6Cnepry16erfreirBhgIrpgbeVuRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRCz,%function
 b__MAX7naqebvq6Cnepry16erfreirBhgIrpgbeVuRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRCz:
 nop
@@ -6763,7 +6763,7 @@
 b__MAX7naqebvq6Cnepry4qngnRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR12qb_pbafgehpgRCiz:
 nop
@@ -6778,12 +6778,12 @@
 b__MA7naqebvq2bf17OaFreivprPnyyonpxP2Ri:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_21VCrezvffvbaPbagebyyreRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_21VCrezvffvbaPbagebyyreRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_21VCrezvffvbaPbagebyyreRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_21VCrezvffvbaPbagebyyreRR10baNfOvaqreRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_8Fgevat16RR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -6808,17 +6808,17 @@
 b__MGia8_a32_A7naqebvq14ZrzbelUrncOnfrQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVzRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R
+.weak b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVzRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R
 .type b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVzRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R,%function
 b__MAX7naqebvq6Cnepry23ernqAhyynoyrGlcrqIrpgbeVzRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRZF0_XSvCF5_R:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_:
 nop
 .data
-.globl b__MGPA7naqebvq13OcHvqBofreireR0_AF_11OcVagresnprVAF_12VHvqBofreireRRR
+.weak b__MGPA7naqebvq13OcHvqBofreireR0_AF_11OcVagresnprVAF_12VHvqBofreireRRR
 .type b__MGPA7naqebvq13OcHvqBofreireR0_AF_11OcVagresnprVAF_12VHvqBofreireRRR,%object
 b__MGPA7naqebvq13OcHvqBofreireR0_AF_11OcVagresnprVAF_12VHvqBofreireRRR:
 .space __SIZEOF_POINTER__
@@ -6838,17 +6838,17 @@
 b__MGi0_a24_A7naqebvq14VNccBcfFreivprQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq22OcCrezvffvbaPbagebyyreR0_AF_11OcVagresnprVAF_21VCrezvffvbaPbagebyyreRRR
+.weak b__MGPA7naqebvq22OcCrezvffvbaPbagebyyreR0_AF_11OcVagresnprVAF_21VCrezvffvbaPbagebyyreRRR
 .type b__MGPA7naqebvq22OcCrezvffvbaPbagebyyreR0_AF_11OcVagresnprVAF_21VCrezvffvbaPbagebyyreRRR,%object
 b__MGPA7naqebvq22OcCrezvffvbaPbagebyyreR0_AF_11OcVagresnprVAF_21VCrezvffvbaPbagebyyreRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_2bf16VFreivprPnyyonpxRRRvCAF_2fcVG_RR
+.weak b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_2bf16VFreivprPnyyonpxRRRvCAF_2fcVG_RR
 .type b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_2bf16VFreivprPnyyonpxRRRvCAF_2fcVG_RR,%function
 b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_2bf16VFreivprPnyyonpxRRRvCAF_2fcVG_RR:
 nop
@@ -6863,7 +6863,7 @@
 b__MGi0_a24_A7naqebvq15VFreivprZnantreQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVvvRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R
+.weak b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVvvRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R
 .type b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVvvRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R,%function
 b__MAX7naqebvq6Cnepry21hafnsrErnqGlcrqIrpgbeVvvRRvCAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_XSvCG0_R:
 nop
@@ -6873,7 +6873,7 @@
 b__MA7naqebvq2bf17CrefvfgnoyrOhaqyr9chgFgevatREXAF_8Fgevat16RF4_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRRRiG_FW_:
 nop
@@ -6913,7 +6913,7 @@
 b__MAX7naqebvq6Cnepry16ernqAngvirUnaqyrRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR8__nccraqRz:
 nop
@@ -6948,7 +6948,7 @@
 b__MA7naqebvq2bf22VFreivprZnantreQrsnhyg10baNfOvaqreRi:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_2jcVAF_7VOvaqreRRRAF_9UrncPnpur11urnc_vasb_gRRRRR:
 .space __SIZEOF_POINTER__
@@ -6973,7 +6973,7 @@
 b__MA7naqebvq14VCPGuernqFgngr22pyrnePnyyvatJbexFbheprRi:
 nop
 .data
-.globl b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -6983,7 +6983,7 @@
 b__MA7naqebvq7OOvaqre11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRRP1Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRRP1Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRRP1Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_18CebprffVasbFreivprRRP1Ri:
 nop
@@ -7043,7 +7043,7 @@
 b__MAX7naqebvq6Cnepry10ernqBowrpgRo:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR10qb_qrfgeblRCiz:
 nop
@@ -7058,7 +7058,7 @@
 b__MGGA7naqebvq15OaFuryyPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -7118,7 +7118,7 @@
 b__MA7naqebvq19VCebprffVasbFreivpr12qrsnhyg_vzcyR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -7133,7 +7133,7 @@
 b__MA7naqebvq14VCPGuernqFgngr22cebprffCbfgJevgrQrersfRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__renfr_havdhrVF3_RRzEXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__renfr_havdhrVF3_RRzEXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__renfr_havdhrVF3_RRzEXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__renfr_havdhrVF3_RRzEXG_:
 nop
@@ -7153,7 +7153,7 @@
 b_trgOvaqreXrearyErsreraprf:
 nop
 .text
-.globl b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVqqRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R
+.weak b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVqqRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R
 .type b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVqqRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R,%function
 b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVqqRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R:
 nop
@@ -7163,7 +7163,7 @@
 b__MGua8_A7naqebvq8OcZrzbelQ0Ri:
 nop
 .data
-.globl b__MGIA7naqebvq16OcNccBcfPnyyonpxR
+.weak b__MGIA7naqebvq16OcNccBcfPnyyonpxR
 .type b__MGIA7naqebvq16OcNccBcfPnyyonpxR,%object
 b__MGIA7naqebvq16OcNccBcfPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -7173,7 +7173,7 @@
 b__MGPA7naqebvq22OaZrqvnErfbheprZbavgbeR0_AF_11OaVagresnprVAF_21VZrqvnErfbheprZbavgbeRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq22OcCrezvffvbaPbagebyyreR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq22OcCrezvffvbaPbagebyyreR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq22OcCrezvffvbaPbagebyyreR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq22OcCrezvffvbaPbagebyyreR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -7198,7 +7198,7 @@
 b__MA7naqebvq14VCPGuernqFgngr15vapFgebatUnaqyrRvCAF_8OcOvaqreR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR14__renfr_havdhrVvRRzEXG_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR14__renfr_havdhrVvRRzEXG_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR14__renfr_havdhrVvRRzEXG_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR14__renfr_havdhrVvRRzEXG_:
 nop
@@ -7228,12 +7228,12 @@
 b__MAX7naqebvq7VZrzbel22trgVagresnprQrfpevcgbeRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RqRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_:
 nop
@@ -7253,17 +7253,17 @@
 b__MGi0_a32_A7naqebvq14ZrzbelUrncOnfrQ1Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RvRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_7VOvaqreRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_7VOvaqreRRQ2Ri
 .type b__MA7naqebvq2fcVAF_7VOvaqreRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_7VOvaqreRRQ2Ri:
 nop
 .data
-.globl b__MGPA7naqebvq14OcOnggrelFgngfR0_AF_11OcVagresnprVAF_13VOnggrelFgngfRRR
+.weak b__MGPA7naqebvq14OcOnggrelFgngfR0_AF_11OcVagresnprVAF_13VOnggrelFgngfRRR
 .type b__MGPA7naqebvq14OcOnggrelFgngfR0_AF_11OcVagresnprVAF_13VOnggrelFgngfRRR,%object
 b__MGPA7naqebvq14OcOnggrelFgngfR0_AF_11OcVagresnprVAF_13VOnggrelFgngfRRR:
 .space __SIZEOF_POINTER__
@@ -7278,7 +7278,7 @@
 b__MGPA7naqebvq14ZrzbelUrncOnfrR64_AF_11VZrzbelUrncR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_:
 nop
@@ -7288,7 +7288,7 @@
 b__MGIA7naqebvq2bf17OcFreivprPnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq14OcOnggrelFgngfR
+.weak b__MGIA7naqebvq14OcOnggrelFgngfR
 .type b__MGIA7naqebvq14OcOnggrelFgngfR,%object
 b__MGIA7naqebvq14OcOnggrelFgngfR:
 .space __SIZEOF_POINTER__
@@ -7308,7 +7308,7 @@
 b__MA7naqebvq9OcErsOnfrQ2Ri:
 nop
 .data
-.globl b__MGIA7naqebvq15OcFuryyPnyyonpxR
+.weak b__MGIA7naqebvq15OcFuryyPnyyonpxR
 .type b__MGIA7naqebvq15OcFuryyPnyyonpxR,%object
 b__MGIA7naqebvq15OcFuryyPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -7318,7 +7318,7 @@
 b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreRCAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F5_RRRRRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F5_RRRRRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F5_RRRRRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF3_F5_RRRRRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRQcBG_:
 nop
@@ -7328,7 +7328,7 @@
 b__MGIA7naqebvq2bf17OaFreivprPnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq16OcNccBcfPnyyonpxR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq16OcNccBcfPnyyonpxR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq16OcNccBcfPnyyonpxR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq16OcNccBcfPnyyonpxR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -7353,7 +7353,7 @@
 b__MA7naqebvq12CebprffFgngr10frysBeAhyyRi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_7OOvaqreRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_7OOvaqreRRQ2Ri
 .type b__MA7naqebvq2fcVAF_7OOvaqreRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_7OOvaqreRRQ2Ri:
 nop
@@ -7373,7 +7373,7 @@
 b__MAX7naqebvq6ovaqre6Fgnghf13jevgrGbCnepryRCAF_6CnepryR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_:
 nop
@@ -7403,7 +7403,7 @@
 b__MA7naqebvq16VNpgvivglZnantre14frgQrsnhygVzcyRAFg3__110havdhr_cgeVF0_AF1_14qrsnhyg_qryrgrVF0_RRRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_15CrezvffvbaPnpur5RagelRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -7423,7 +7423,7 @@
 b__MA7naqebvq11VZrzbelUrncP2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7OOvaqreRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -7443,7 +7443,7 @@
 b__MAX7naqebvq6Cnepry18ernqFgevat16IrpgbeRCAFg3__16irpgbeVAF_8Fgevat16RAF1_9nyybpngbeVF3_RRRR:
 nop
 .data
-.globl b__MGIA7naqebvq17OcNpgvivglZnantreR
+.weak b__MGIA7naqebvq17OcNpgvivglZnantreR
 .type b__MGIA7naqebvq17OcNpgvivglZnantreR,%object
 b__MGIA7naqebvq17OcNpgvivglZnantreR:
 .space __SIZEOF_POINTER__
@@ -7453,7 +7453,7 @@
 b__MA7naqebvq21VCrezvffvbaPbagebyyre14frgQrsnhygVzcyRAFg3__110havdhr_cgeVF0_AF1_14qrsnhyg_qryrgrVF0_RRRR:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_8OcOvaqre8BovghnelRRR:
 .space __SIZEOF_POINTER__
@@ -7468,7 +7468,7 @@
 b__MA7naqebvq16VNpgvivglZnantreQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_15VNccBcfPnyyonpxRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_15VNccBcfPnyyonpxRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_15VNccBcfPnyyonpxRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_15VNccBcfPnyyonpxRR10baNfOvaqreRi:
 nop
@@ -7503,7 +7503,7 @@
 b__MA7naqebvq6Cnepry13synggraOvaqreREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RoRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFT_RREXG_:
 nop
@@ -7538,7 +7538,7 @@
 b__MA7naqebvq7pbagrag2cz22OcCnpxntrZnantreAngvir29trgGnetrgFqxIrefvbaSbeCnpxntrREXAF_8Fgevat16RCv:
 nop
 .data
-.globl b__MGPA7naqebvq16OcNccBcfPnyyonpxR0_AF_11OcVagresnprVAF_15VNccBcfPnyyonpxRRR
+.weak b__MGPA7naqebvq16OcNccBcfPnyyonpxR0_AF_11OcVagresnprVAF_15VNccBcfPnyyonpxRRR
 .type b__MGPA7naqebvq16OcNccBcfPnyyonpxR0_AF_11OcVagresnprVAF_15VNccBcfPnyyonpxRRR,%object
 b__MGPA7naqebvq16OcNccBcfPnyyonpxR0_AF_11OcVagresnprVAF_15VNccBcfPnyyonpxRRR:
 .space __SIZEOF_POINTER__
@@ -7563,7 +7563,7 @@
 b__MA7naqebvq14ZrzbelUrncOnfrQ0Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_:
 nop
@@ -7573,7 +7573,7 @@
 b__MA7naqebvq13NccBcfZnantreP2Ri:
 nop
 .data
-.globl b__MGPA7naqebvq15OcNccBcfFreivprR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq15OcNccBcfFreivprR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq15OcNccBcfFreivprR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq15OcNccBcfFreivprR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -7593,7 +7593,7 @@
 b__MAX7naqebvq2bf17CrefvfgnoyrOhaqyr10trgObbyrnaREXAF_8Fgevat16RCo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVyAF_9nyybpngbeVyRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR:
 nop
@@ -7613,7 +7613,7 @@
 b__MGPA7naqebvq14ZrzbelUrncOnfrR64_AF_11OaVagresnprVAF_11VZrzbelUrncRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8OcOvaqre13BowrpgZnantre7ragel_gRRRR10qb_qrfgeblRCiz:
 nop
@@ -7698,12 +7698,12 @@
 b__MGi0_a24_A7naqebvq15VNccBcfPnyyonpxQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq22OcZrqvnErfbheprZbavgbeR0_AF_21VZrqvnErfbheprZbavgbeR
+.weak b__MGPA7naqebvq22OcZrqvnErfbheprZbavgbeR0_AF_21VZrqvnErfbheprZbavgbeR
 .type b__MGPA7naqebvq22OcZrqvnErfbheprZbavgbeR0_AF_21VZrqvnErfbheprZbavgbeR,%object
 b__MGPA7naqebvq22OcZrqvnErfbheprZbavgbeR0_AF_21VZrqvnErfbheprZbavgbeR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq22OcCrezvffvbaPbagebyyreR0_AF_21VCrezvffvbaPbagebyyreR
+.weak b__MGPA7naqebvq22OcCrezvffvbaPbagebyyreR0_AF_21VCrezvffvbaPbagebyyreR
 .type b__MGPA7naqebvq22OcCrezvffvbaPbagebyyreR0_AF_21VCrezvffvbaPbagebyyreR,%object
 b__MGPA7naqebvq22OcCrezvffvbaPbagebyyreR0_AF_21VCrezvffvbaPbagebyyreR:
 .space __SIZEOF_POINTER__
@@ -7768,7 +7768,7 @@
 b__MA7naqebvq10ZrzbelOnfrQ2Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F5_RRRRRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF6_FB_yRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F5_RRRRRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF6_FB_yRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F5_RRRRRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF6_FB_yRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF2_2bf17CrefvfgnoyrOhaqyrRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF3_WEXAF_4cnveVXF3_F5_RRRRRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF6_FB_yRREXG_QcBG0_:
 nop
@@ -7778,7 +7778,7 @@
 b__MAX7naqebvq12VHvqBofreire22trgVagresnprQrfpevcgbeRi:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRRP2Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRRP2Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRRP2Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_15CrezvffvbaPnpurRRP2Ri:
 nop
@@ -7788,7 +7788,7 @@
 b__MGIA7naqebvq8OcZrzbelR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVyyRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R
+.weak b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVyyRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R
 .type b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVyyRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R,%function
 b__MA7naqebvq6Cnepry22hafnsrJevgrGlcrqIrpgbeVyyRRvEXAFg3__16irpgbeVG_AF2_9nyybpngbeVF4_RRRRZF0_SvG0_R:
 nop
@@ -7798,7 +7798,7 @@
 b__MAX7naqebvq2bf20CneprySvyrQrfpevcgbe13jevgrGbCnepryRCAF_6CnepryR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVoAF_9nyybpngbeVoRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_:
 nop
@@ -7838,7 +7838,7 @@
 b__MGi0_a24_A7naqebvq14ZrzbelUrncOnfrQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry16erfreirBhgIrpgbeVnRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRCz
+.weak b__MAX7naqebvq6Cnepry16erfreirBhgIrpgbeVnRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRCz
 .type b__MAX7naqebvq6Cnepry16erfreirBhgIrpgbeVnRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRCz,%function
 b__MAX7naqebvq6Cnepry16erfreirBhgIrpgbeVnRRvCAFg3__110havdhr_cgeVAF2_6irpgbeVG_AF2_9nyybpngbeVF5_RRRRAF2_14qrsnhyg_qryrgrVF8_RRRRCz:
 nop
@@ -7868,12 +7868,12 @@
 b__MAX7naqebvq14VCPGuernqFgngr13trgPnyyvatHvqRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_18OhssrerqGrkgBhgchg11OhssreFgngrRRRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_11VZrzbelUrncRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_11VZrzbelUrncRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_11VZrzbelUrncRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_11VZrzbelUrncRR10baNfOvaqreRi:
 nop
@@ -7893,12 +7893,12 @@
 b__MGi0_a24_A7naqebvq11VZrzbelUrncQ1Ri:
 nop
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RF3_RRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR4svaqVF3_RRAF_21__gerr_pbafg_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RAF_6irpgbeVqAF_9nyybpngbeVqRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_:
 nop
@@ -7943,7 +7943,7 @@
 b__MGGA7naqebvq9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvwRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_010.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_010.S
index e8143a1..ada674d 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_010.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_010.S
@@ -8,7 +8,7 @@
 b__MA7naqebvq8jnxrybpx8JnxrYbpxQ2Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq2fcVAF8_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRRRRAF_22__habeqrerq_znc_unfureVF7_FS_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FS_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFS_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq2fcVAF8_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRRRRAF_22__habeqrerq_znc_unfureVF7_FS_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FS_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFS_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq2fcVAF8_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRRRRAF_22__habeqrerq_znc_unfureVF7_FS_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FS_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFS_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq2fcVAF8_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRRRRAF_22__habeqrerq_znc_unfureVF7_FS_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FS_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFS_RRR6erunfuRz:
 nop
@@ -48,17 +48,17 @@
 b__MA7naqebvq8jnxrybpx8JnxrYbpx12JnxrYbpxVzcyQ2Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq2fcVAF8_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRRRRAF_22__habeqrerq_znc_unfureVF7_FS_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FS_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFS_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq2fcVAF8_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRRRRAF_22__habeqrerq_znc_unfureVF7_FS_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FS_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFS_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq2fcVAF8_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRRRRAF_22__habeqrerq_znc_unfureVF7_FS_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FS_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFS_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq2fcVAF8_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRRRRAF_22__habeqrerq_znc_unfureVF7_FS_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FS_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFS_RRR8__erunfuRz:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
 .text
-.globl b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
+.weak b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
 .type b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR,%function
 b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR:
 nop
@@ -78,7 +78,7 @@
 b__MA7naqebvq8jnxrybpx8JnxrYbpx12JnxrYbpxVzcyQ1Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq2fcVAF8_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRRRRAF_22__habeqrerq_znc_unfureVF7_FS_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FS_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFS_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF7_RRRAFH_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFS_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq2fcVAF8_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRRRRAF_22__habeqrerq_znc_unfureVF7_FS_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FS_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFS_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF7_RRRAFH_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFS_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq2fcVAF8_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRRRRAF_22__habeqrerq_znc_unfureVF7_FS_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FS_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFS_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF7_RRRAFH_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFS_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq2fcVAF8_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRRRRAF_22__habeqrerq_znc_unfureVF7_FS_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FS_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFS_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF7_RRRAFH_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFS_CiRRRRoRREXG_QcBG0_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_011.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_011.S
index f0044dc..dd50c6a 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_011.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_011.S
@@ -63,7 +63,7 @@
 b__MGIA8xrlfgber13RapelcgrqQngnR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RREXF9_FO_
+.weak b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RREXF9_FO_
 .type b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RREXF9_FO_,%function
 b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RREXF9_FO_:
 nop
@@ -73,7 +73,7 @@
 b__MA8xrlfgber18XrlfgberPyvragVzcy8yvfgXrlfREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCAF1_6irpgbeVF7_AF5_VF7_RRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -103,7 +103,7 @@
 b__MA8xrlfgber18XrlfgberPyvragVzcy12qbrfXrlRkvfgREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF1_29VagreanyZrgnqngnJvguNeranOnfrVAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRAF1_29VagreanyZrgnqngnJvguNeranYvgrRR9PbagnvareRRRiCi
+.weak b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF1_29VagreanyZrgnqngnJvguNeranOnfrVAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRAF1_29VagreanyZrgnqngnJvguNeranYvgrRR9PbagnvareRRRiCi
 .type b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF1_29VagreanyZrgnqngnJvguNeranOnfrVAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRAF1_29VagreanyZrgnqngnJvguNeranYvgrRR9PbagnvareRRRiCi,%function
 b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF1_29VagreanyZrgnqngnJvguNeranOnfrVAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRAF1_29VagreanyZrgnqngnJvguNeranYvgrRR9PbagnvareRRRiCi:
 nop
@@ -168,17 +168,17 @@
 b__MA8xrlfgber18XrlfgberPyvragVzcy6trgXrlREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR8__nccraqRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -278,7 +278,7 @@
 b__MA8xrlfgber18XrlfgberPyvragVzcy9rkcbegXrlRA7naqebvq8uneqjner9xrlznfgre4I4_09XrlSbezngREXAFg3__112onfvp_fgevatVpAF6_11pune_genvgfVpRRAF6_9nyybpngbeVpRRRRCFP_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_:
 nop
@@ -288,7 +288,7 @@
 b__MAX8xrlfgber13RapelcgrqQngn13FrgPnpurqFvmrRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVA8xrlfgber13RapelcgrqQngnRRRiCi
+.weak b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVA8xrlfgber13RapelcgrqQngnRRRiCi
 .type b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVA8xrlfgber13RapelcgrqQngnRRRiCi,%function
 b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVA8xrlfgber13RapelcgrqQngnRRRiCi:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_012.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_012.S
index 96e9351..d3b6e6b 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_012.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_012.S
@@ -158,7 +158,7 @@
 b__MA7naqebvq18ZgcSsfPbzcngUnaqyr11erprvirSvyrR14zgc_svyr_enatro:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
@@ -288,7 +288,7 @@
 b__MA7naqebvq12ZgcSsfUnaqyr4ernqRCiz:
 nop
 .data
-.globl b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -368,7 +368,7 @@
 b__MA7naqebvq9ZgcFreireQ1Ri:
 nop
 .text
-.globl b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
+.weak b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
 .type b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR,%function
 b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR:
 nop
@@ -818,7 +818,7 @@
 b__MA7naqebvq11ZgcCebcregl10jevgrInyhrREAF_13ZgcQngnCnpxrgREAF_16ZgcCebcreglInyhrR:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
@@ -963,7 +963,7 @@
 b__MA7naqebvq9ZgcQrivprP1RC10hfo_qrivprvCX23hfo_raqcbvag_qrfpevcgbeF5_F5_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRz:
 nop
@@ -1093,7 +1093,7 @@
 b__MA7naqebvq14ZgcRiragCnpxrg11fraqErdhrfgRC11hfo_erdhrfg:
 nop
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1358,7 +1358,7 @@
 b__MA7naqebvq18ZgcSsfPbzcngUnaqyr11jevgrUnaqyrRvCXiz:
 nop
 .data
-.globl b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1668,7 +1668,7 @@
 b__M9nvb_reebeCX5nvbpo:
 nop
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
@@ -1703,7 +1703,7 @@
 b__MAX7naqebvq9ZgcCnpxrg16trgPbagnvarePbqrRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
@@ -1753,7 +1753,7 @@
 b__MA7naqebvq9ZgcQrivprP2RC10hfo_qrivprvCX23hfo_raqcbvag_qrfpevcgbeF5_F5_:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
@@ -1763,7 +1763,7 @@
 b__MAX7naqebvq10ZgcFgbentr14trgQrfpevcgvbaRi:
 nop
 .text
-.globl b__MAFg3__114__guernq_cebklVAF_5ghcyrVWAF_10havdhr_cgeVAF_15__guernq_fgehpgRAF_14qrsnhyg_qryrgrVF3_RRRRCSiCiRQaRRRRRF7_F7_
+.weak b__MAFg3__114__guernq_cebklVAF_5ghcyrVWAF_10havdhr_cgeVAF_15__guernq_fgehpgRAF_14qrsnhyg_qryrgrVF3_RRRRCSiCiRQaRRRRRF7_F7_
 .type b__MAFg3__114__guernq_cebklVAF_5ghcyrVWAF_10havdhr_cgeVAF_15__guernq_fgehpgRAF_14qrsnhyg_qryrgrVF3_RRRRCSiCiRQaRRRRRF7_F7_,%function
 b__MAFg3__114__guernq_cebklVAF_5ghcyrVWAF_10havdhr_cgeVAF_15__guernq_fgehpgRAF_14qrsnhyg_qryrgrVF3_RRRRCSiCiRQaRRRRRF7_F7_:
 nop
@@ -1773,7 +1773,7 @@
 b__MA7naqebvq13ZgcQngnCnpxrg5jevgrRCAF_10VZgcUnaqyrR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
@@ -1823,7 +1823,7 @@
 b__MA7naqebvq14ZgcRiragCnpxrg12ernqErfcbafrRC10hfo_qrivpr:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_014.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_014.S
index edeff65..e35ddd2 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_014.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_014.S
@@ -8,12 +8,12 @@
 b__MA7naqebvq5SraprP1Rv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF5_RRR10chfu_sebagRBF5_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF5_RRR10chfu_sebagRBF5_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF5_RRR10chfu_sebagRBF5_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF5_RRR10chfu_sebagRBF5_:
 nop
@@ -113,7 +113,7 @@
 b__MAX7naqebvq14Tenyybp3Znccre28inyvqngrOhssreQrfpevcgbeVasbRCAF_8uneqjner8tencuvpf6znccre4I3_07VZnccre20OhssreQrfpevcgbeVasbR:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_4ErpgRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_4ErpgRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_4ErpgRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_4ErpgRRR:
 .space __SIZEOF_POINTER__
@@ -123,7 +123,7 @@
 b__MAX7naqebvq2hv9Genafsbez2flRi:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRR18qrfgebl_qrnyybpngrRi:
 nop
@@ -158,12 +158,12 @@
 b__MA7naqebvq2hv9GenafsbezQ2Ri:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRR7qrfgeblRi:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRRR
+.weak b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRRR
 .type b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRRR,%object
 b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRRR:
 .space __SIZEOF_POINTER__
@@ -203,7 +203,7 @@
 b__MAX7naqebvq4ErpgygREXF0_:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRRpyRBs
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRRpyRBs
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRRpyRBs,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRRpyRBs:
 nop
@@ -243,7 +243,7 @@
 b__MAX7naqebvq6Ertvba8fhogenpgREXF0_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_4ErpgRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_4ErpgRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_4ErpgRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_4ErpgRR12qb_pbafgehpgRCiz:
 nop
@@ -263,7 +263,7 @@
 b__MAX7naqebvq9SraprGvzr11trgFancfubgRi:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -298,7 +298,7 @@
 b__MA7naqebvq4Erpg12VAINYVQ_ERPGR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRR7__pybarRi:
 nop
@@ -323,7 +323,7 @@
 b__MAX7naqebvq5Srapr7synggraRECiEzECvF3_:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq9SraprGvzrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq9SraprGvzrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq9SraprGvzrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq9SraprGvzrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -348,12 +348,12 @@
 b__MA7naqebvq10PbybeFcnpr10yvarneFETORi:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRR7__pybarRCAF0_6__onfrVF6_RR
+.weak b__MAXFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRR7__pybarRCAF0_6__onfrVF6_RR
 .type b__MAXFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRR7__pybarRCAF0_6__onfrVF6_RR,%function
 b__MAXFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRR7__pybarRCAF0_6__onfrVF6_RR:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRR18qrfgebl_qrnyybpngrRi:
 nop
@@ -368,7 +368,7 @@
 b__MA7naqebvq14Tenyybp3ZnccreP2Ri:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRRP1Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRRP1Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRRP1Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRRP1Ri:
 nop
@@ -388,7 +388,7 @@
 b__MA7naqebvq2hv9GenafsbeznFREXF1_:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRRR
+.weak b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRRR
 .type b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRRR,%object
 b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRRR:
 .space __SIZEOF_POINTER__
@@ -453,7 +453,7 @@
 b__MA7naqebvq35zncUnySbezngQngnfcnprGbChoyvpSbezngRv19naqebvq_qngnfcnpr_g:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRR7qrfgeblRi:
 nop
@@ -518,7 +518,7 @@
 b__MA7naqebvq6Ertvba9fpnyrFrysRss:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRR7__pybarRi:
 nop
@@ -583,7 +583,7 @@
 b__MA7naqebvq6Ertvba10enfgrevmrepyREXAF_4ErpgR:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRCAF0_6__onfrVFQ_RR
+.weak b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRCAF0_6__onfrVFQ_RR
 .type b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRCAF0_6__onfrVFQ_RR,%function
 b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRCAF0_6__onfrVFQ_RR:
 nop
@@ -618,12 +618,12 @@
 b__MAX7naqebvq2hv9Genafsbez9genafsbezREXAF_7qrgnvyf5GIrp3VsRR:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR25__rzcynpr_havdhr_xrl_netfVF4_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF4_RRRAFE_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFP_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR25__rzcynpr_havdhr_xrl_netfVF4_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF4_RRRAFE_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFP_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR25__rzcynpr_havdhr_xrl_netfVF4_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF4_RRRAFE_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFP_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR25__rzcynpr_havdhr_xrl_netfVF4_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF4_RRRAFE_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFP_CiRRRRoRREXG_QcBG0_:
 nop
@@ -633,7 +633,7 @@
 b__MA7naqebvq13TenyybpZnccreQ2Ri:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRR11unfVafgnaprRi
+.weak b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRR11unfVafgnaprRi
 .type b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRR11unfVafgnaprRi,%function
 b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRR11unfVafgnaprRi:
 nop
@@ -673,7 +673,7 @@
 b__MA7naqebvq19TencuvpOhssreZnccre11vfFhccbegrqRwwvwzCo:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRRQ1Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRRQ1Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRRQ1Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRRQ1Ri:
 nop
@@ -698,7 +698,7 @@
 b__MAX7naqebvq2hv9Genafsbez7trgGlcrRi:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRR7__pybarRCAF0_6__onfrVFR_RR
+.weak b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRR7__pybarRCAF0_6__onfrVFR_RR
 .type b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRR7__pybarRCAF0_6__onfrVFR_RR,%function
 b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRR7__pybarRCAF0_6__onfrVFR_RR:
 nop
@@ -728,7 +728,7 @@
 b_naqebvq_pbairegTenyybp0Gb1Hfntr:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR5renfrRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVFP_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR5renfrRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVFP_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR5renfrRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVFP_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR5renfrRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVFP_CiRRRR:
 nop
@@ -738,7 +738,7 @@
 b__MA7naqebvq13TencuvpOhssre9ybpxLPoPeRwEXAF_4ErpgRC13naqebvq_lpope:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRR7qrfgeblRi:
 nop
@@ -748,7 +748,7 @@
 b__MA7naqebvq13SraprGvzryvar17hcqngrFvtanyGvzrfRi:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi:
 nop
@@ -773,7 +773,7 @@
 b__MA7naqebvq22TencuvpOhssreNyybpngbe15qhzcGbFlfgrzYbtRi:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRi:
 nop
@@ -788,7 +788,7 @@
 b__MA7naqebvq6Ertvba5pyrneRi:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRRR
+.weak b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRRR
 .type b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRRR,%object
 b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRRR:
 .space __SIZEOF_POINTER__
@@ -808,7 +808,7 @@
 b__MA7naqebvq13TencuvpOhssre26qhzcNyybpngvbafGbFlfgrzYbtRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -818,7 +818,7 @@
 b__MA7naqebvq20nccraqHvPbasvtFgevatREAFg3__112onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_R7__pybarRCAF0_6__onfrVF2_RR
+.weak b__MAXFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_R7__pybarRCAF0_6__onfrVF2_RR
 .type b__MAXFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_R7__pybarRCAF0_6__onfrVF2_RR,%function
 b__MAXFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_R7__pybarRCAF0_6__onfrVF2_RR:
 nop
@@ -873,7 +873,7 @@
 b__MA7naqebvq13TencuvpOhssre19sebzNUneqjnerOhssreRC15NUneqjnerOhssre:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -898,12 +898,12 @@
 b__MA7naqebvq15OhssreUhoOhssre9qhcyvpngrRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRRP2Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRRP2Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRRP2Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRRP2Ri:
 nop
@@ -918,7 +918,7 @@
 b__MAX7naqebvq6Ertvba3raqRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_4ErpgRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_4ErpgRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_4ErpgRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_4ErpgRR7qb_pbclRCiCXiz:
 nop
@@ -958,12 +958,12 @@
 b__MA7naqebvq10PbybeFcnpr18yvarneRkgraqrqFETORi:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRR7__pybarRi:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRRR
+.weak b__MGIAFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRRR
 .type b__MGIAFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRRR,%object
 b__MGIAFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRRR:
 .space __SIZEOF_POINTER__
@@ -1043,7 +1043,7 @@
 b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRR5fYbpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_4ErpgRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_4ErpgRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_4ErpgRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_4ErpgRR8qb_fcyngRCiCXiz:
 nop
@@ -1058,7 +1058,7 @@
 b__MA7naqebvq17OhssreUhoZrgnqngnP2RzAF_4onfr14havdhr_sq_vzcyVAF1_13QrsnhygPybfreRRRCAF_13OhssreUhoQrsf14ZrgnqngnUrnqreR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR6erunfuRz:
 nop
@@ -1103,7 +1103,7 @@
 b__MA7naqebvq10PbybeFcnpr9QvfcynlC3Ri:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_:
 nop
@@ -1133,7 +1133,7 @@
 b__MAX7naqebvq6Ertvba14zretrRkpyhfvirREXF0_:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRREAF_9nyybpngbeVF5_RRR10chfu_sebagREXF5_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRREAF_9nyybpngbeVF5_RRR10chfu_sebagREXF5_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRREAF_9nyybpngbeVF5_RRR10chfu_sebagREXF5_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRREAF_9nyybpngbeVF5_RRR10chfu_sebagREXF5_:
 nop
@@ -1148,17 +1148,17 @@
 b__MAX7naqebvq6Ertvba5zretrREXAF_4ErpgR:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRCAF0_6__onfrVFQ_RR
+.weak b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRCAF0_6__onfrVFQ_RR
 .type b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRCAF0_6__onfrVFQ_RR,%function
 b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRCAF0_6__onfrVFQ_RR:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRRR
+.weak b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRRR
 .type b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRRR,%object
 b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq9SraprGvzrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
+.weak b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq9SraprGvzrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
 .type b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq9SraprGvzrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR,%object
 b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq9SraprGvzrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR:
 .space __SIZEOF_POINTER__
@@ -1213,7 +1213,7 @@
 b__M20qrpbqrPbybeGenafsbez25naqebvq_pbybe_genafsbez_g:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVFP_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVFP_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVFP_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVFP_CiRRRR:
 nop
@@ -1233,7 +1233,7 @@
 b__MA7naqebvq6Ertvba9hasynggraRCXiz:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRR7qrfgeblRi:
 nop
@@ -1243,7 +1243,7 @@
 b__MA7naqebvq17OhssreUhoZrgnqngnP1RzAF_4onfr14havdhr_sq_vzcyVAF1_13QrsnhygPybfreRRRCAF_13OhssreUhoQrsf14ZrgnqngnUrnqreR:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRR11trgVafgnaprRi
+.weak b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRR11trgVafgnaprRi
 .type b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRR11trgVafgnaprRi,%function
 b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRR11trgVafgnaprRi:
 nop
@@ -1268,12 +1268,12 @@
 b__MGIA7naqebvq17Tenyybp2NyybpngbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRRQ2Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRRQ2Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRRQ2Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRRQ2Ri:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRRR:
 .space __SIZEOF_POINTER__
@@ -1283,12 +1283,12 @@
 b__MAX7naqebvq6Ertvba8fhogenpgREXF0_vv:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRR18qrfgebl_qrnyybpngrRi:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRR18qrfgebl_qrnyybpngrRi:
 nop
@@ -1328,7 +1328,7 @@
 b__MA7naqebvq13TencuvpOhssre4ybpxRwEXAF_4ErpgRCCiCvF6_:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRRR
+.weak b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRRR
 .type b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRRR,%object
 b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRRR:
 .space __SIZEOF_POINTER__
@@ -1363,7 +1363,7 @@
 b__MGIA7naqebvq17Tenyybp3NyybpngbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner8tencuvpf6pbzzba4I1_23UqeRAF_9nyybpngbeVF6_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner8tencuvpf6pbzzba4I1_23UqeRAF_9nyybpngbeVF6_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner8tencuvpf6pbzzba4I1_23UqeRAF_9nyybpngbeVF6_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner8tencuvpf6pbzzba4I1_23UqeRAF_9nyybpngbeVF6_RRR8__nccraqRz:
 nop
@@ -1388,7 +1388,7 @@
 b__MA7naqebvq15OhssreUhoOhssre4tnvaRi:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq9SraprGvzrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq9SraprGvzrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq9SraprGvzrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq9SraprGvzrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi:
 nop
@@ -1398,7 +1398,7 @@
 b__MA7naqebvq13TencuvpOhssreP2RwwvwwwC13angvir_unaqyro:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRR7__pybarRCAF0_6__onfrVFV_RR
+.weak b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRR7__pybarRCAF0_6__onfrVFV_RR
 .type b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRR7__pybarRCAF0_6__onfrVFV_RR,%function
 b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRR7__pybarRCAF0_6__onfrVFV_RR:
 nop
@@ -1433,7 +1433,7 @@
 b__MA7naqebvq6Ertvba9genafyngrREF0_EXF0_vv:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_RR
+.weak b__MGIAFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_RR
 .type b__MGIAFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_RR,%object
 b__MGIAFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_RR:
 .space __SIZEOF_POINTER__
@@ -1468,7 +1468,7 @@
 b__MA7naqebvq10PbybeFcnprP2REXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRREXAF_7qrgnvyf6GZng33VsRRAF1_8shapgvbaVSssRRRFU_FU_:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRRpyRBs
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRRpyRBs
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRRpyRBs,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRRpyRBs:
 nop
@@ -1498,12 +1498,12 @@
 b__MAX7naqebvq2hv9GenafsbezzyREXF1_:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCA7naqebvq5SraprRAF_6irpgbeVAF_8jrnx_cgeVAF2_9SraprGvzrRRRAF_9nyybpngbeVF8_RRRRRRAF_22__habeqrerq_znc_unfureVF4_FP_AF_4unfuVF4_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_FP_AF_8rdhny_gbVF4_RRYo1RRRAF9_VFP_RRR8__erunfuRz:
 nop
@@ -1533,7 +1533,7 @@
 b__MA7naqebvq22TencuvpOhssreNyybpngbeQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR10qb_qrfgeblRCiz:
 nop
@@ -1543,7 +1543,7 @@
 b__MAX7naqebvq2hv9Genafsbez9genafsbezREXAF_6ErtvbaR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR12qb_pbafgehpgRCiz:
 nop
@@ -1583,12 +1583,12 @@
 b__MAX7naqebvq2hv9Genafsbez9genafsbezREXAF_4ErpgRo:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRR18qrfgebl_qrnyybpngrRi:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssssssRWEXAF_12cynprubyqref4__cuVYv1RRRsssssRRRAF_9nyybpngbeVFN_RRSssRR7qrfgeblRi:
 nop
@@ -1643,7 +1643,7 @@
 b__MA7naqebvq13TencuvpOhssre10ernyybpngrRwwvwz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_4ErpgRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_4ErpgRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_4ErpgRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_4ErpgRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1678,7 +1678,7 @@
 b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRR9fVafgnaprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRRQ1Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRRQ1Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRRQ1Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRRQ1Ri:
 nop
@@ -1698,12 +1698,12 @@
 b__MA7naqebvq10PbybeFcnprP1REXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRREXAF1_5neenlVAF_7qrgnvyf5GIrp2VsRRYz3RRREXFQ_sAF1_8shapgvbaVSssRRR:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRRpyRBs
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRRpyRBs
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRRpyRBs,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEQbSssssRWEXAF_12cynprubyqref4__cuVYv1RRRssRRRAF_9nyybpngbeVFN_RRSssRRpyRBs:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRRR
+.weak b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRRR
 .type b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRRR,%object
 b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRREsRRRAF_9nyybpngbeVFO_RRSssRRR:
 .space __SIZEOF_POINTER__
@@ -1733,7 +1733,7 @@
 b__MAX7naqebvq2hv9Genafsbez10znxrObhaqfRvv:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRR18qrfgebl_qrnyybpngrRi:
 nop
@@ -1773,7 +1773,7 @@
 b__MA7naqebvq10PbybeFcnpr5QPVC3Ri:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_R7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_R7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_R7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_R7__pybarRi:
 nop
@@ -1823,12 +1823,12 @@
 b__MAX7naqebvq6Ertvba5ortvaRi:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_R7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_R7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_R7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_R7qrfgeblRi:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRRP1Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRRP1Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRRP1Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRRP1Ri:
 nop
@@ -1873,17 +1873,17 @@
 b__MA7naqebvq22TencuvpOhssreNyybpngbe10fNyybpYvfgR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_4ErpgRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_4ErpgRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_4ErpgRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_4ErpgRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_R18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_R18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_R18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_R18qrfgebl_qrnyybpngrRi:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_RpyRBs
+.weak b__MAFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_RpyRBs
 .type b__MAFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_RpyRBs,%function
 b__MAFg3__110__shapgvba6__shapVCSssRAF_9nyybpngbeVF3_RRF2_RpyRBs:
 nop
@@ -1893,7 +1893,7 @@
 b__MA7naqebvq16OhssreUhoRiragSqP2Ri:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRR11unfVafgnaprRi
+.weak b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRR11unfVafgnaprRi
 .type b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRR11unfVafgnaprRi,%function
 b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRR11unfVafgnaprRi:
 nop
@@ -1913,7 +1913,7 @@
 b__MAX7naqebvq6Ertvba9genafyngrRvv:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
+.weak b__MAFg3__15qrdhrVAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
 .type b__MAFg3__15qrdhrVAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_,%function
 b__MAFg3__15qrdhrVAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_:
 nop
@@ -1933,7 +1933,7 @@
 b__MA7naqebvq13olgrfCreCvkryRv:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRR7qrfgeblRi:
 nop
@@ -1953,7 +1953,7 @@
 b__MAX7naqebvq2hv9Genafsbez4qhzcRCXp:
 nop
 .text
-.globl b__MAFg3__110funerq_cgeVA7naqebvq9SraprGvzrRRQ2Ri
+.weak b__MAFg3__110funerq_cgeVA7naqebvq9SraprGvzrRRQ2Ri
 .type b__MAFg3__110funerq_cgeVA7naqebvq9SraprGvzrRRQ2Ri,%function
 b__MAFg3__110funerq_cgeVA7naqebvq9SraprGvzrRRQ2Ri:
 nop
@@ -2018,7 +2018,7 @@
 b__MA7naqebvq2hv9Genafsbez8nofVfBarRs:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_5SraprRR5pyrneRi
+.weak b__MA7naqebvq2fcVAF_5SraprRR5pyrneRi
 .type b__MA7naqebvq2fcVAF_5SraprRR5pyrneRi,%function
 b__MA7naqebvq2fcVAF_5SraprRR5pyrneRi:
 nop
@@ -2048,7 +2048,7 @@
 b__MA7naqebvq10PbybeFcnprP1REXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRREXAF_7qrgnvyf6GZng33VsRRAF1_8shapgvbaVSssRRRFU_FU_:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRRpyRBs
+.weak b__MAFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRRpyRBs
 .type b__MAFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRRpyRBs,%function
 b__MAFg3__110__shapgvba6__shapVCQbSssRAF_9nyybpngbeVF3_RRSssRRpyRBs:
 nop
@@ -2058,7 +2058,7 @@
 b__MAX7naqebvq9SraprGvzr19trgPnpurqFvtanyGvzrRi:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF4_RRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrVAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF4_RRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrVAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF4_RRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrVAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF4_RRR19__nqq_onpx_pncnpvglRi:
 nop
@@ -2078,12 +2078,12 @@
 b__MA7naqebvq6Ertvba3frgRvv:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVAF_8shapgvbaVSiCizRRRF3_RRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWEF5_EF3_RRRiQcBG_
+.weak b__MAFg3__16irpgbeVAF_4cnveVAF_8shapgvbaVSiCizRRRF3_RRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWEF5_EF3_RRRiQcBG_
 .type b__MAFg3__16irpgbeVAF_4cnveVAF_8shapgvbaVSiCizRRRF3_RRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWEF5_EF3_RRRiQcBG_,%function
 b__MAFg3__16irpgbeVAF_4cnveVAF_8shapgvbaVSiCizRRRF3_RRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWEF5_EF3_RRRiQcBG_:
 nop
@@ -2208,7 +2208,7 @@
 b__MAX7naqebvq2hv9Genafsbez4glcrRi:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRRpyRBs
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRRpyRBs
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRRpyRBs,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRRpyRBs:
 nop
@@ -2233,7 +2233,7 @@
 b__MA7naqebvq10PbybeFcnpr4fETORi:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRCAF0_6__onfrVFQ_RR
+.weak b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRCAF0_6__onfrVFQ_RR
 .type b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRCAF0_6__onfrVFQ_RR,%function
 b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVESsssRWEXAF_12cynprubyqref4__cuVYv1RRRsRRRAF_9nyybpngbeVFN_RRSssRR7__pybarRCAF0_6__onfrVFQ_RR:
 nop
@@ -2243,12 +2243,12 @@
 b__MGIA7naqebvq13TencuvpOhssreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRRQ2Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRRQ2Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRRQ2Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRRQ2Ri:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRRpyRBs
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRRpyRBs
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRRpyRBs,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVESssEXA7naqebvq10PbybeFcnpr18GenafsreCnenzrgrefRRWEXAF_12cynprubyqref4__cuVYv1RRRF7_RRRAF_9nyybpngbeVFS_RRSssRRpyRBs:
 nop
@@ -2263,12 +2263,12 @@
 b__MA7naqebvq9SraprGvzrP1RBAF_2fcVAF_5SraprRRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR10qb_pbzcnerRCXiFN_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR10qb_pbzcnerRCXiFN_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR10qb_pbzcnerRCXiFN_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCX13angvir_unaqyrAF_22TencuvpOhssreNyybpngbe11nyybp_erp_gRRRR10qb_pbzcnerRCXiFN_:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRR11trgVafgnaprRi
+.weak b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRR11trgVafgnaprRi
 .type b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRR11trgVafgnaprRi,%function
 b__MA7naqebvq9FvatyrgbaVAF_19TencuvpOhssreZnccreRR11trgVafgnaprRi:
 nop
@@ -2283,7 +2283,7 @@
 b__MA7naqebvq15OhssreUhoOhssre20vavgJvguOhssreGenvgfREXAF_10senzrjbexf9ohssreuho4I1_012OhssreGenvgfR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_5SraprRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_5SraprRRQ2Ri
 .type b__MA7naqebvq2fcVAF_5SraprRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_5SraprRRQ2Ri:
 nop
@@ -2308,12 +2308,12 @@
 b__MA7naqebvq6ErtvbanFREXF0_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
 .type b__MAFg3__16irpgbeVAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRRP2Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRRP2Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRRP2Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_22TencuvpOhssreNyybpngbeRRP2Ri:
 nop
@@ -2323,7 +2323,7 @@
 b__MA7naqebvq6Ertvba7kbeFrysREXF0_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_4ErpgRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_4ErpgRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_4ErpgRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_4ErpgRR10qb_qrfgeblRCiz:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_015.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_015.S
index fccb45d..3bb8a66 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_015.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_015.S
@@ -3,7 +3,7 @@
 .data
 .p2align 4
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -18,12 +18,12 @@
 b__MA7naqebvq12VachgPunaary11fraqZrffntrRCXAF_12VachgZrffntrR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -43,12 +43,12 @@
 b__MA7naqebvq6XrlZncP2Ri:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRRR:
 .space __SIZEOF_POINTER__
@@ -58,7 +58,7 @@
 b__MA7naqebvq30VzchyfrIrybpvglGenpxreFgengrtlQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR10qb_qrfgeblRCiz:
 nop
@@ -73,7 +73,7 @@
 b__MA7naqebvq12XrlYnlbhgZnc6CnefreQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR10qb_pbzcnerRCXiF7_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR10qb_pbzcnerRCXiF7_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR10qb_pbzcnerRCXiF7_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR10qb_pbzcnerRCXiF7_:
 nop
@@ -83,7 +83,7 @@
 b__MGPA7naqebvq14OaVachgSyvatreR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR0_AF_24VFrgVachgJvaqbjfYvfgrareR
+.weak b__MGPA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR0_AF_24VFrgVachgJvaqbjfYvfgrareR
 .type b__MGPA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR0_AF_24VFrgVachgJvaqbjfYvfgrareR,%object
 b__MGPA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR0_AF_24VFrgVachgJvaqbjfYvfgrareR:
 .space __SIZEOF_POINTER__
@@ -113,7 +113,7 @@
 b__MA7naqebvq13VachgPbafhzre16hcqngrGbhpuFgngrREAF_12VachgZrffntrR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -138,17 +138,17 @@
 b__MA7naqebvq15VachgQrivprVasbQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR0_AF_11OcVagresnprVAF_24VFrgVachgJvaqbjfYvfgrareRRR
+.weak b__MGPA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR0_AF_11OcVagresnprVAF_24VFrgVachgJvaqbjfYvfgrareRRR
 .type b__MGPA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR0_AF_11OcVagresnprVAF_24VFrgVachgJvaqbjfYvfgrareRRR,%object
 b__MGPA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR0_AF_11OcVagresnprVAF_24VFrgVachgJvaqbjfYvfgrareRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR12qb_pbafgehpgRCiz:
 nop
@@ -178,7 +178,7 @@
 b__MA7naqebvq13CbvagrePbbeqf14ernqSebzCnepryRCAF_6CnepryR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR12qb_pbafgehpgRCiz:
 nop
@@ -188,12 +188,12 @@
 b__MA7naqebvq15XrlPunenpgreZnc4ybnqREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRAF0_6SbezngRCAF_2fcVF0_RR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .data
-.globl b__MGPA7naqebvq14OcVachgSyvatreR0_AF_13VVachgSyvatreR
+.weak b__MGPA7naqebvq14OcVachgSyvatreR0_AF_13VVachgSyvatreR
 .type b__MGPA7naqebvq14OcVachgSyvatreR0_AF_13VVachgSyvatreR,%object
 b__MGPA7naqebvq14OcVachgSyvatreR0_AF_13VVachgSyvatreR:
 .space __SIZEOF_POINTER__
@@ -223,7 +223,7 @@
 b__MA7naqebvq15XrlPunenpgreZnc25nqqFvatyrRcurzrenyZrgnXrlREAF_6IrpgbeVAF_8XrlRiragRRRvvoyvvCv:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRRR:
 .space __SIZEOF_POINTER__
@@ -253,7 +253,7 @@
 b__MA7naqebvq23CbbyrqVachgRiragSnpgbelQ1Ri:
 nop
 .data
-.globl b__MGIA7naqebvq8XrlRiragR
+.weak b__MGIA7naqebvq8XrlRiragR
 .type b__MGIA7naqebvq8XrlRiragR,%object
 b__MGIA7naqebvq8XrlRiragR:
 .space __SIZEOF_POINTER__
@@ -283,7 +283,7 @@
 b__MAX7naqebvq29YrtnplIrybpvglGenpxreFgengrtl12trgRfgvzngbeRwCAF_15IrybpvglGenpxre9RfgvzngbeR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR7qb_pbclRCiCXiz:
 nop
@@ -293,7 +293,7 @@
 b__MA7naqebvq25vfXrlobneqFcrpvnyShapgvbaRCXAF_11CebcreglZncR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR10qb_pbzcnerRCXiF8_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR10qb_pbzcnerRCXiF8_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR10qb_pbzcnerRCXiF8_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR10qb_pbzcnerRCXiF8_:
 nop
@@ -308,7 +308,7 @@
 b__MA7naqebvq12XrlYnlbhgZnc6CnefreQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR7qb_pbclRCiCXiz:
 nop
@@ -333,12 +333,12 @@
 b__MA7naqebvq11ZbgvbaRirag5fpnyrRs:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR8qb_fcyngRCiCXiz:
 nop
@@ -353,17 +353,17 @@
 b__MA7naqebvq34VagrtengvatIrybpvglGenpxreFgengrtlQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_:
 nop
@@ -373,7 +373,7 @@
 b__MA7naqebvq15XrlPunenpgreZnc6Cnefre8cnefrXrlRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_pbzcnerRCXiF5_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_pbzcnerRCXiF5_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_pbzcnerRCXiF5_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_pbzcnerRCXiF5_:
 nop
@@ -413,7 +413,7 @@
 b__MA7naqebvq20VachgNccyvpngvbaVasb4ernqREXAF_6CnepryR:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRRR:
 .space __SIZEOF_POINTER__
@@ -428,12 +428,12 @@
 b__MA7naqebvq23CbbyrqVachgRiragSnpgbelQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR12qb_pbafgehpgRCiz:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRRR:
 .space __SIZEOF_POINTER__
@@ -443,7 +443,7 @@
 b__MA7naqebvq14VachgChoyvfureQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -468,7 +468,7 @@
 b__MA7naqebvq15VachgJvaqbjVasbP1REXAF_6CnepryR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR8qb_fcyngRCiCXiz:
 nop
@@ -478,7 +478,7 @@
 b__MAX7naqebvq15GbhpuIvqrbSenzr9trgUrvtugRi:
 nop
 .data
-.globl b__MGGA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR
+.weak b__MGGA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR
 .type b__MGGA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR,%object
 b__MGGA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR:
 .space __SIZEOF_POINTER__
@@ -523,32 +523,32 @@
 b__MAX7naqebvq15XrlPunenpgreZnc6zncXrlRvvCv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR10qb_pbzcnerRCXiF6_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR10qb_pbzcnerRCXiF6_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR10qb_pbzcnerRCXiF6_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR10qb_pbzcnerRCXiF6_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_15XrlPunenpgreZncRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_15XrlPunenpgreZncRRQ2Ri
 .type b__MA7naqebvq2fcVAF_15XrlPunenpgreZncRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_15XrlPunenpgreZncRRQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR7qb_pbclRCiCXiz:
 nop
@@ -558,7 +558,7 @@
 b__MGPA7naqebvq25OaFrgVachgJvaqbjfYvfgrareR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVyRR
+.weak b__MGIA7naqebvq6IrpgbeVyRR
 .type b__MGIA7naqebvq6IrpgbeVyRR,%object
 b__MGIA7naqebvq6IrpgbeVyRR:
 .space __SIZEOF_POINTER__
@@ -613,7 +613,7 @@
 b__MA7naqebvq35YrnfgFdhnerfIrybpvglGenpxreFgengrtlQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR12qb_pbafgehpgRCiz:
 nop
@@ -633,7 +633,7 @@
 b__MAX7naqebvq13VachgPbafhzre16unfQrsreerqRiragRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR10qb_qrfgeblRCiz:
 nop
@@ -678,7 +678,7 @@
 b__MA7naqebvq15IrybpvglPbageby13frgCnenzrgrefREXAF_25IrybpvglPbagebyCnenzrgrefR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR10qb_qrfgeblRCiz:
 nop
@@ -703,22 +703,22 @@
 b__MA7naqebvq15GbhpuIvqrbSenzrP2RwwAFg3__16irpgbeVfAF1_9nyybpngbeVfRRRREX7gvzriny:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVyR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVyR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVyR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVyR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVyR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVyR8qb_fcyngRCiCXiz:
 nop
@@ -728,12 +728,12 @@
 b__MGPA7naqebvq13VVachgSyvatreR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq14OcVachgSyvatreR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq14OcVachgSyvatreR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq14OcVachgSyvatreR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq14OcVachgSyvatreR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_8XrlRiragRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_8XrlRiragRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_8XrlRiragRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_8XrlRiragRRR:
 .space __SIZEOF_POINTER__
@@ -758,12 +758,12 @@
 b__MA7naqebvq35YrnfgFdhnerfIrybpvglGenpxreFgengrtlQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq14OcVachgSyvatreR
+.weak b__MGIA7naqebvq14OcVachgSyvatreR
 .type b__MGIA7naqebvq14OcVachgSyvatreR,%object
 b__MGIA7naqebvq14OcVachgSyvatreR:
 .space __SIZEOF_POINTER__
@@ -798,7 +798,7 @@
 b__MA7naqebvq14VachgChoyvfure18choyvfuZbgvbaRiragRwvvvvvvvvvAF_20ZbgvbaPynffvsvpngvbaRssssyywCXAF_17CbvagreCebcregvrfRCXAF_13CbvagrePbbeqfR:
 nop
 .data
-.globl b__MGPA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -808,7 +808,7 @@
 b__MAX7naqebvq13CbvagrePbbeqf13jevgrGbCnepryRCAF_6CnepryR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR8qb_fcyngRCiCXiz:
 nop
@@ -838,7 +838,7 @@
 b__MA7naqebvq24VFrgVachgJvaqbjfYvfgrareQ2Ri:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRRR:
 .space __SIZEOF_POINTER__
@@ -878,7 +878,7 @@
 b__MAX7naqebvq12XrlYnlbhgZnc7zncNkvfRvCAF_8NkvfVasbR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -893,7 +893,7 @@
 b__MAX7naqebvq11ZbgvbaRirag15trgEnjNkvfInyhrRvz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR10qb_qrfgeblRCiz:
 nop
@@ -923,7 +923,7 @@
 b__MAX7naqebvq11ZbgvbaRirag22trgUvfgbevpnyNkvfInyhrRvzz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR12qb_pbafgehpgRCiz:
 nop
@@ -938,7 +938,7 @@
 b__MA7naqebvq8XrlRirag19trgXrlPbqrSebzYnoryRCXp:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR10qb_qrfgeblRCiz:
 nop
@@ -988,7 +988,7 @@
 b__MGPA7naqebvq14OaVachgSyvatreR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR
+.weak b__MGIA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR
 .type b__MGIA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR,%object
 b__MGIA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR:
 .space __SIZEOF_POINTER__
@@ -1073,12 +1073,12 @@
 b__MA7naqebvq23CbbyrqVachgRiragSnpgbelP1Rz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVyR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVyR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVyR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_qrfgeblRCiz:
 nop
@@ -1113,12 +1113,12 @@
 b__MA7naqebvq13CbvagrePbbeqf11gbbZnalNkrfRv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR7qb_pbclRCiCXiz:
 nop
@@ -1128,7 +1128,7 @@
 b__MA7naqebvq13VachgPbafhzreP1REXAF_2fcVAF_12VachgPunaaryRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR12qb_pbafgehpgRCiz:
 nop
@@ -1163,7 +1163,7 @@
 b__MA7naqebvq17CbvagreCebcregvrf8pbclSebzREXF0_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVyR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVyR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVyR7qb_pbclRCiCXiz:
 nop
@@ -1173,7 +1173,7 @@
 b__MA7naqebvq13VVachgSyvatreQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR8qb_fcyngRCiCXiz:
 nop
@@ -1218,12 +1218,12 @@
 b__MA7naqebvq12VachgPunaaryQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_24VFrgVachgJvaqbjfYvfgrareRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_24VFrgVachgJvaqbjfYvfgrareRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_24VFrgVachgJvaqbjfYvfgrareRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_24VFrgVachgJvaqbjfYvfgrareRR10baNfOvaqreRi:
 nop
@@ -1233,22 +1233,22 @@
 b__MA7naqebvq24VFrgVachgJvaqbjfYvfgrareQ0Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15VachgQrivprVasb11ZbgvbaEnatrRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq15VachgQrivprVasb11ZbgvbaEnatrRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq15VachgQrivprVasb11ZbgvbaEnatrRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq15VachgQrivprVasb11ZbgvbaEnatrRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR12qb_pbafgehpgRCiz:
 nop
@@ -1288,22 +1288,22 @@
 b__MA7naqebvq13CbvagrePbbeqf8pbclSebzREXF0_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR10qb_qrfgeblRCiz:
 nop
@@ -1333,7 +1333,7 @@
 b__MGIA7naqebvq23CbbyrqVachgRiragSnpgbelR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRRR:
 .space __SIZEOF_POINTER__
@@ -1348,12 +1348,12 @@
 b__MA7naqebvq15XrlPunenpgreZnc3XrlQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRRR:
 .space __SIZEOF_POINTER__
@@ -1378,7 +1378,7 @@
 b__MAX7naqebvq12VachgPunaary8trgGbxraRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR7qb_pbclRCiCXiz:
 nop
@@ -1398,7 +1398,7 @@
 b__MA7naqebvq13VachgPbafhzre14erjevgrZrffntrREAF0_10GbhpuFgngrREAF_12VachgZrffntrR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR10qb_qrfgeblRCiz:
 nop
@@ -1413,7 +1413,7 @@
 b__MA7naqebvq12VachgPunaaryQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR12qb_pbafgehpgRCiz:
 nop
@@ -1423,7 +1423,7 @@
 b__MA7naqebvq13IveghnyXrlZncP1Ri:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_13VVachgSyvatreRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_13VVachgSyvatreRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_13VVachgSyvatreRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_13VVachgSyvatreRR10baNfOvaqreRi:
 nop
@@ -1508,7 +1508,7 @@
 b__MA7naqebvq6XrlZnc13ybnqXrlYnlbhgREXAF_21VachgQrivprVqragvsvreREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR10qb_qrfgeblRCiz:
 nop
@@ -1528,7 +1528,7 @@
 b__MAX7naqebvq35YrnfgFdhnerfIrybpvglGenpxreFgengrtl12trgRfgvzngbeRwCAF_15IrybpvglGenpxre9RfgvzngbeR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR12qb_pbafgehpgRCiz:
 nop
@@ -1593,12 +1593,12 @@
 b__MA7naqebvq6XrlZncQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_12VachgZrffntrRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_12VachgZrffntrRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_12VachgZrffntrRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_12VachgZrffntrRRR:
 .space __SIZEOF_POINTER__
@@ -1608,12 +1608,12 @@
 b__MA7naqebvq12XrlYnlbhgZnc6Cnefre8cnefrYrqRi:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRRR:
 .space __SIZEOF_POINTER__
@@ -1633,12 +1633,12 @@
 b__MA7naqebvq15XrlPunenpgreZnc8OrunivbeP2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15VachgJvaqbjVasbRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq15VachgJvaqbjVasbRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq15VachgJvaqbjVasbRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq15VachgJvaqbjVasbRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -1658,7 +1658,7 @@
 b__MA7naqebvq34VagrtengvatIrybpvglGenpxreFgengrtl5pyrneRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR12qb_pbafgehpgRCiz:
 nop
@@ -1673,7 +1673,7 @@
 b__MA7naqebvq15IrybpvglGenpxreP1RCXp:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8XrlRiragRR10qb_qrfgeblRCiz:
 nop
@@ -1688,12 +1688,12 @@
 b__MGIA7naqebvq22VachgNccyvpngvbaUnaqyrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR8qb_fcyngRCiCXiz:
 nop
@@ -1743,7 +1743,7 @@
 b__MAX7naqebvq12XrlYnlbhgZnc6trgXrlRvv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR12qb_pbafgehpgRCiz:
 nop
@@ -1768,12 +1768,12 @@
 b__MA7naqebvq15XrlPunenpgreZnc8OrunivbeP1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1783,7 +1783,7 @@
 b__MA7naqebvq29YrtnplIrybpvglGenpxreFgengrtlQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR7qb_pbclRCiCXiz:
 nop
@@ -1798,7 +1798,7 @@
 b__MAX7naqebvq13VVachgSyvatre22trgVagresnprQrfpevcgbeRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR7qb_pbclRCiCXiz:
 nop
@@ -1808,7 +1808,7 @@
 b__MAX7naqebvq34VagrtengvatIrybpvglGenpxreFgengrtl9vavgFgngrREAF0_5FgngrRyss:
 nop
 .data
-.globl b__MGPA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq25OcFrgVachgJvaqbjfYvfgrareR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -1833,12 +1833,12 @@
 b__MA7naqebvq24VFrgVachgJvaqbjfYvfgrareP2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_15XrlPunenpgreZnc6Cnefre8CebcreglRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRRR:
 .space __SIZEOF_POINTER__
@@ -1908,12 +1908,12 @@
 b__MAX7naqebvq20VachgNccyvpngvbaVasb5jevgrREAF_6CnepryR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVyR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVyR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVyR10qb_qrfgeblRCiz:
 nop
@@ -1943,7 +1943,7 @@
 b__MAX7naqebvq15VachgJvaqbjVasb8bireyncfRCXF0_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR10qb_qrfgeblRCiz:
 nop
@@ -1983,7 +1983,7 @@
 b__MA7naqebvq11ZbgvbaRirag8trgYnoryRv:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_11ZbgvbaRiragRR8qb_fcyngRCiCXiz:
 nop
@@ -2003,17 +2003,17 @@
 b__MA7naqebvq15IrybpvglGenpxre14perngrFgengrtlRCXp:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq11ZbgvbaRiragR
+.weak b__MGIA7naqebvq11ZbgvbaRiragR
 .type b__MGIA7naqebvq11ZbgvbaRiragR,%object
 b__MGIA7naqebvq11ZbgvbaRiragR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq14OcVachgSyvatreR
+.weak b__MGGA7naqebvq14OcVachgSyvatreR
 .type b__MGGA7naqebvq14OcVachgSyvatreR,%object
 b__MGGA7naqebvq14OcVachgSyvatreR:
 .space __SIZEOF_POINTER__
@@ -2023,12 +2023,12 @@
 b__MA7naqebvq13VachgPbafhzre27fraqHapunvarqSvavfurqFvtanyRwo:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR10qb_pbzcnerRCXiF7_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR10qb_pbzcnerRCXiF7_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR10qb_pbzcnerRCXiF7_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR10qb_pbzcnerRCXiF7_:
 nop
@@ -2043,7 +2043,7 @@
 b__MA7naqebvq13IveghnyXrlZnc6CnefreQ2Ri:
 nop
 .data
-.globl b__MGPA7naqebvq14OcVachgSyvatreR0_AF_11OcVagresnprVAF_13VVachgSyvatreRRR
+.weak b__MGPA7naqebvq14OcVachgSyvatreR0_AF_11OcVagresnprVAF_13VVachgSyvatreRRR
 .type b__MGPA7naqebvq14OcVachgSyvatreR0_AF_11OcVagresnprVAF_13VVachgSyvatreRRR,%object
 b__MGPA7naqebvq14OcVachgSyvatreR0_AF_11OcVagresnprVAF_13VVachgSyvatreRRR:
 .space __SIZEOF_POINTER__
@@ -2088,12 +2088,12 @@
 b__MA7naqebvq15XrlPunenpgreZnc8OrunivbeP2REXF1_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3XrlRRRR7qb_pbclRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_8NkvfVasbRRRRR:
 .space __SIZEOF_POINTER__
@@ -2113,7 +2113,7 @@
 b__MA7naqebvq15XrlPunenpgreZnc6fRzcglR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR7qb_pbclRCiCXiz:
 nop
@@ -2128,17 +2128,17 @@
 b__MAX7naqebvq13CbvagrePbbeqfrdREXF0_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq20IveghnyXrlQrsvavgvbaRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq20IveghnyXrlQrsvavgvbaRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq20IveghnyXrlQrsvavgvbaRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq20IveghnyXrlQrsvavgvbaRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -2178,7 +2178,7 @@
 b__MAX7naqebvq11ZbgvbaRirag25trgUvfgbevpnyEnjNkvfInyhrRvzz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVyR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVyR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVyR12qb_pbafgehpgRCiz:
 nop
@@ -2198,7 +2198,7 @@
 b__MA7naqebvq22VachgNccyvpngvbaUnaqyrQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -2218,7 +2218,7 @@
 b__MA7naqebvq6XrlZnc7trgCnguREXAF_21VachgQrivprVqragvsvreREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRAF_32VachgQrivprPbasvthengvbaSvyrGlcrR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2233,7 +2233,7 @@
 b__MA7naqebvq13VachgPbafhzreQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR8qb_fcyngRCiCXiz:
 nop
@@ -2248,7 +2248,7 @@
 b__MA7naqebvq13IveghnyXrlZnc6Cnefre17cnefrArkgVagSvryqRCv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15VachgQrivprVasb11ZbgvbaEnatrRAF_9nyybpngbeVF3_RRRP2REXF6_
+.weak b__MAFg3__16irpgbeVA7naqebvq15VachgQrivprVasb11ZbgvbaEnatrRAF_9nyybpngbeVF3_RRRP2REXF6_
 .type b__MAFg3__16irpgbeVA7naqebvq15VachgQrivprVasb11ZbgvbaEnatrRAF_9nyybpngbeVF3_RRRP2REXF6_,%function
 b__MAFg3__16irpgbeVA7naqebvq15VachgQrivprVasb11ZbgvbaEnatrRAF_9nyybpngbeVF3_RRRP2REXF6_:
 nop
@@ -2298,7 +2298,7 @@
 b__MAX7naqebvq13VachgPbafhzre15unfCraqvatOngpuRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR12qb_pbafgehpgRCiz:
 nop
@@ -2313,12 +2313,12 @@
 b__MA7naqebvq15XrlPunenpgreZnc3XrlP2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_12XrlYnlbhgZnc3YrqRRRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2333,12 +2333,12 @@
 b__MAX7naqebvq11ZbgvbaRirag13jevgrGbCnepryRCAF_6CnepryR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre10GbhpuFgngrRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre5OngpuRR10qb_qrfgeblRCiz:
 nop
@@ -2418,7 +2418,7 @@
 b__MGIA7naqebvq25OaFrgVachgJvaqbjfYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_15XrlPunenpgreZnc3XrlRRRR7qb_pbclRCiCXiz:
 nop
@@ -2433,17 +2433,17 @@
 b__MA7naqebvq13VachgPbafhzreQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12VachgZrffntrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13VachgPbafhzre8FrdPunvaRR8qb_fcyngRCiCXiz:
 nop
 .data
-.globl b__MGPA7naqebvq14OcVachgSyvatreR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq14OcVachgSyvatreR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq14OcVachgSyvatreR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq14OcVachgSyvatreR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_016.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_016.S
index eda1a37..2c1ac1b 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_016.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_016.S
@@ -23,7 +23,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure23qvfcngpuBaprVaareYbpxrqRCy:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -38,12 +38,12 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure4qhzcREAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR7qb_pbclRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRRR:
 .space __SIZEOF_POINTER__
@@ -58,7 +58,7 @@
 b__MAX7naqebvq15vachgqvfcngpure10VachgFgngr9vfArhgenyRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner5vachg6pbzzba4I1_013CbvagrePbbeqfRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner5vachg6pbzzba4I1_013CbvagrePbbeqfRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner5vachg6pbzzba4I1_013CbvagrePbbeqfRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner5vachg6pbzzba4I1_013CbvagrePbbeqfRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_:
 nop
@@ -78,7 +78,7 @@
 b__MAX7naqebvq15vachgqvfcngpure15VachgQvfcngpure21trgJvaqbjUnaqyrYbpxrqREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .data
-.globl b__MGIA7naqebvq11ZbgvbaRiragR
+.weak b__MGIA7naqebvq11ZbgvbaRiragR
 .type b__MGIA7naqebvq11ZbgvbaRiragR,%object
 b__MGIA7naqebvq11ZbgvbaRiragR:
 .space __SIZEOF_POINTER__
@@ -108,12 +108,12 @@
 b__MGIA7naqebvq15vachgqvfcngpure16QrivprErfrgRagelR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure14GbhpurqZbavgbeRAF_9nyybpngbeVF3_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure14GbhpurqZbavgbeRAF_9nyybpngbeVF3_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure14GbhpurqZbavgbeRAF_9nyybpngbeVF3_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure14GbhpurqZbavgbeRAF_9nyybpngbeVF3_RRR7erfreirRz:
 nop
@@ -128,7 +128,7 @@
 b__MA7naqebvq15vachgqvfcngpure10VachgFgngr15fubhyqPnapryXrlREXAF1_10XrlZrzragbREXAF0_18PnapryngvbaBcgvbafR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR8qb_fcyngRCiCXiz:
 nop
@@ -153,7 +153,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure20baSbphfPunatrqYbpxrqREXAF_2fcVAF_17VachgJvaqbjUnaqyrRRRF6_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVvRRzEXG_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVvRRzEXG_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVvRRzEXG_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVvRRzEXG_:
 nop
@@ -168,7 +168,7 @@
 b__MGPA7naqebvq15VachgPynffvsvreR0_AF_22VachgYvfgrareVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRR:
 nop
@@ -178,12 +178,12 @@
 b__MA7naqebvq15vachgqvfcngpure10GbhpuFgngr15nqqCbegnyJvaqbjREXAF_2fcVAF_17VachgJvaqbjUnaqyrRRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR6erunfuRz:
 nop
@@ -228,7 +228,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure18qenvaQvfcngpuDhrhrRCAF0_5DhrhrVAF0_13QvfcngpuRagelRRR:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRRR:
 .space __SIZEOF_POINTER__
@@ -248,17 +248,17 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure20ertvfgreVachgPunaaryREXAF_2fcVAF_12VachgPunaaryRRRv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure13GbhpurqJvaqbjRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_
+.weak b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure13GbhpurqJvaqbjRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_
 .type b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure13GbhpurqJvaqbjRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_,%function
 b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure13GbhpurqJvaqbjRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_:
 nop
@@ -283,12 +283,12 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure25nqqZbavgbevatGnetrgYbpxrqREXAF0_7ZbavgbeRssEAFg3__16irpgbeVAF0_11VachgGnetrgRAF5_9nyybpngbeVF7_RRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRRQ2Ri
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRRQ2Ri
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRRQ2Ri,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRRQ2Ri:
 nop
@@ -348,7 +348,7 @@
 b__MA7naqebvq16ZbgvbaPynffvsvreQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR10qb_qrfgeblRCiz:
 nop
@@ -363,12 +363,12 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure30qbAbgvslNAEYbpxrqVagreehcgvoyrRCAF0_12PbzznaqRagelR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR:
 nop
@@ -378,7 +378,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure47qbAbgvslPbasvthengvbaPunatrqYbpxrqVagreehcgvoyrRCAF0_12PbzznaqRagelR:
 nop
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -398,12 +398,12 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpureQ1Ri:
 nop
 .data
-.globl b__MGGAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner5vachg6pbzzba4I1_017CbvagreCebcregvrfRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner5vachg6pbzzba4I1_017CbvagreCebcregvrfRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner5vachg6pbzzba4I1_017CbvagreCebcregvrfRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner5vachg6pbzzba4I1_017CbvagreCebcregvrfRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_:
 nop
@@ -418,12 +418,12 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure19vfNccFjvgpuXrlRiragRCAF0_8XrlRagelR:
 nop
 .text
-.globl b__MAFg3__113__irpgbe_onfrVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRRQ2Ri
+.weak b__MAFg3__113__irpgbe_onfrVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRRQ2Ri
 .type b__MAFg3__113__irpgbe_onfrVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRRQ2Ri,%function
 b__MAFg3__113__irpgbe_onfrVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRRQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15PynffvsvreRiragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq15PynffvsvreRiragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq15PynffvsvreRiragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq15PynffvsvreRiragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -448,12 +448,12 @@
 b__MA7naqebvq15vachgqvfcngpure14VawrpgvbaFgngr7eryrnfrRi:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz:
 nop
@@ -473,7 +473,7 @@
 b__MGGA7naqebvq21VachgQvfcngpureGuernqR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvyRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFV_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvyRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFV_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvyRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFV_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvyRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFV_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_:
 nop
@@ -488,7 +488,7 @@
 b__MA7naqebvq12VachgZnantreQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF1_2fcVAF1_12VachgPunaaryRRRRRRiQcBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF1_2fcVAF1_12VachgPunaaryRRRRRRiQcBG_
 .type b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF1_2fcVAF1_12VachgPunaaryRRRRRRiQcBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF1_2fcVAF1_12VachgPunaaryRRRRRRiQcBG_:
 nop
@@ -528,12 +528,12 @@
 b__MA7naqebvq15vachgqvfcngpure10PbaarpgvbaP1REXAF_2fcVAF_12VachgPunaaryRRRo:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRR:
 nop
@@ -548,7 +548,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure12qhzcZbavgbefREAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF2_6irpgbeVAF0_7ZbavgbeRAF6_VFO_RRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVyR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVyR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVyR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -568,17 +568,17 @@
 b__MAX7naqebvq15vachgqvfcngpure15VachgQvfcngpure29vfJvaqbjBofpherqNgCbvagYbpxrqREXAF_2fcVAF_17VachgJvaqbjUnaqyrRRRvv:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_12VachgPunaaryRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFC_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_12VachgPunaaryRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFC_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_12VachgPunaaryRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFC_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_12VachgPunaaryRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFC_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR:
 nop
@@ -603,12 +603,12 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure25trgNccyvpngvbaJvaqbjYnoryREXAF_2fcVAF_22VachgNccyvpngvbaUnaqyrRRREXAF2_VAF_17VachgJvaqbjUnaqyrRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure11VachgGnetrgRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure11VachgGnetrgRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure11VachgGnetrgRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure11VachgGnetrgRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_:
 nop
 .data
-.globl b__MGIA7naqebvq8XrlRiragR
+.weak b__MGIA7naqebvq8XrlRiragR
 .type b__MGIA7naqebvq8XrlRiragR,%object
 b__MGIA7naqebvq8XrlRiragR:
 .space __SIZEOF_POINTER__
@@ -618,17 +618,17 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure25eryrnfrCraqvatRiragYbpxrqRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_12VachgPunaaryRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_12VachgPunaaryRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_12VachgPunaaryRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_12VachgPunaaryRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure13GbhpurqJvaqbjRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure13GbhpurqJvaqbjRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure13GbhpurqJvaqbjRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure13GbhpurqJvaqbjRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_:
 nop
@@ -663,7 +663,7 @@
 b__MAX7naqebvq15vachgqvfcngpure10VachgFgngr10vfUbirevatRvwv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure14GbhpurqZbavgbeRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_
+.weak b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure14GbhpurqZbavgbeRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_
 .type b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure14GbhpurqZbavgbeRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_,%function
 b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure14GbhpurqZbavgbeRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_:
 nop
@@ -673,12 +673,12 @@
 b__MA7naqebvq16ZbgvbaPynffvsvre5erfrgRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_12VachgPunaaryRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_12VachgPunaaryRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_12VachgPunaaryRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_12VachgPunaaryRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz:
 nop
@@ -693,7 +693,7 @@
 b__MA7naqebvq21VachgQvfcngpureGuernqP1REXAF_2fcVAF_24VachgQvfcngpureVagresnprRRR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR25__rzcynpr_havdhr_xrl_netfVvWEXvF9_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR25__rzcynpr_havdhr_xrl_netfVvWEXvF9_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR25__rzcynpr_havdhr_xrl_netfVvWEXvF9_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR25__rzcynpr_havdhr_xrl_netfVvWEXvF9_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRRoRREXG_QcBG0_:
 nop
@@ -703,17 +703,17 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure44flagurfvmrPnapryngvbaRiragfSbeZbavgbefYbpxrqREXAF0_18PnapryngvbaBcgvbafREAFg3__113habeqrerq_zncVvAF5_6irpgbeVAF0_7ZbavgbeRAF5_9nyybpngbeVF8_RRRRAF5_4unfuVvRRAF5_8rdhny_gbVvRRAF9_VAF5_4cnveVXvFO_RRRRRR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_12VachgPunaaryRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_12VachgPunaaryRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_12VachgPunaaryRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_12VachgPunaaryRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz:
 nop
 .text
-.globl b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_
+.weak b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_
 .type b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_,%function
 b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_:
 nop
 .data
-.globl b__MGIAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -733,12 +733,12 @@
 b__MA7naqebvq15vachgqvfcngpure10VachgFgngr13nqqXrlZrzragbRCXAF0_8XrlRagelRv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner5vachg6pbzzba4I1_010IvqrbSenzrRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner5vachg6pbzzba4I1_010IvqrbSenzrRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner5vachg6pbzzba4I1_010IvqrbSenzrRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner5vachg6pbzzba4I1_010IvqrbSenzrRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR8__erunfuRz:
 nop
@@ -763,22 +763,22 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure29genprVaobhaqDhrhrYratguYbpxrqRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure14GbhpurqZbavgbeRAF_9nyybpngbeVF3_RRR6vafregVAF_11__jenc_vgreVCXF3_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFQ_R9ersreraprRRR5inyhrRAF8_VCF3_RRR4glcrRFO_FQ_FQ_
+.weak b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure14GbhpurqZbavgbeRAF_9nyybpngbeVF3_RRR6vafregVAF_11__jenc_vgreVCXF3_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFQ_R9ersreraprRRR5inyhrRAF8_VCF3_RRR4glcrRFO_FQ_FQ_
 .type b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure14GbhpurqZbavgbeRAF_9nyybpngbeVF3_RRR6vafregVAF_11__jenc_vgreVCXF3_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFQ_R9ersreraprRRR5inyhrRAF8_VCF3_RRR4glcrRFO_FQ_FQ_,%function
 b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure14GbhpurqZbavgbeRAF_9nyybpngbeVF3_RRR6vafregVAF_11__jenc_vgreVCXF3_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFQ_R9ersreraprRRR5inyhrRAF8_VCF3_RRR4glcrRFO_FQ_FQ_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq20ZbgvbaPynffvsvpngvbaRRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq20ZbgvbaPynffvsvpngvbaRRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq20ZbgvbaPynffvsvpngvbaRRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq20ZbgvbaPynffvsvpngvbaRRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz:
 nop
@@ -813,7 +813,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure14cvysreCbvagrefREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR12qb_pbafgehpgRCiz:
 nop
@@ -838,7 +838,7 @@
 b__MA7naqebvq16ZbgvbaPynffvsvreP2RAF_2fcVAF_8uneqjner20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_13VVachgSyvatreRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_13VVachgSyvatreRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_13VVachgSyvatreRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_13VVachgSyvatreRR10baNfOvaqreRi:
 nop
@@ -868,12 +868,12 @@
 b__MA7naqebvq15vachgqvfcngpure25PbasvthengvbaPunatrqRagelQ0Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq20ZbgvbaPynffvsvpngvbaRRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq20ZbgvbaPynffvsvpngvbaRRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq20ZbgvbaPynffvsvpngvbaRRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq20ZbgvbaPynffvsvpngvbaRRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_:
 nop
@@ -883,7 +883,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure23qenvaVaobhaqDhrhrYbpxrqRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -898,7 +898,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure22cbxrHfreNpgvivglYbpxrqRCXAF0_10RiragRagelR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVyR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVyR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVyR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -908,7 +908,7 @@
 b__MAX7naqebvq15vachgqvfcngpure10VachgFgngr18pbclCbvagreFgngrGbREF1_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR12qb_pbafgehpgRCiz:
 nop
@@ -923,12 +923,12 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure24trgPbaarpgvbaVaqrkYbpxrqREXAF_2fcVAF_12VachgPunaaryRRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_pbzcnerRCXiF5_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_pbzcnerRCXiF5_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_pbzcnerRCXiF5_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_pbzcnerRCXiF5_:
 nop
@@ -983,12 +983,12 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure25svaqGbhpurqJvaqbjNgYbpxrqRvvvoo:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1018,7 +1018,7 @@
 b__MA7naqebvq15vachgqvfcngpure10RiragRagelP2Rwvyw:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure14GbhpurqZbavgbeRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF2_7ZbavgbeREsFO_RRRiQcBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure14GbhpurqZbavgbeRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF2_7ZbavgbeREsFO_RRRiQcBG_
 .type b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure14GbhpurqZbavgbeRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF2_7ZbavgbeREsFO_RRRiQcBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure14GbhpurqZbavgbeRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF2_7ZbavgbeREsFO_RRRiQcBG_:
 nop
@@ -1048,12 +1048,12 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure34purpxJvaqbjErnqlSbeZberVachgYbpxrqRyEXAF_2fcVAF_17VachgJvaqbjUnaqyrRRRCXAF0_10RiragRagelRCXp:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCA7naqebvq15vachgqvfcngpure10RiragRagelRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
+.weak b__MAFg3__16irpgbeVCA7naqebvq15vachgqvfcngpure10RiragRagelRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
 .type b__MAFg3__16irpgbeVCA7naqebvq15vachgqvfcngpure10RiragRagelRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_,%function
 b__MAFg3__16irpgbeVCA7naqebvq15vachgqvfcngpure10RiragRagelRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_:
 nop
@@ -1083,7 +1083,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure9abgvslXrlRCXAF_13AbgvslXrlNetfR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVyR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVyR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVyR10qb_qrfgeblRCiz:
 nop
@@ -1098,17 +1098,17 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure20qvfcngpuZbgvbaYbpxrqRyCAF0_11ZbgvbaRagelRCAF1_10QebcErnfbaRCy:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR5renfrRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR5renfrRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR5renfrRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR5renfrRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRR:
 nop
@@ -1128,7 +1128,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure12vfFgnyrRiragRyCAF0_10RiragRagelR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR7qb_pbclRCiCXiz:
 nop
@@ -1153,7 +1153,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure27unaqyrGnetrgfAbgErnqlYbpxrqRyCXAF0_10RiragRagelREXAF_2fcVAF_22VachgNccyvpngvbaUnaqyrRRREXAF5_VAF_17VachgJvaqbjUnaqyrRRRCyCXp:
 nop
 .text
-.globl b__MAFg3__114__guernq_cebklVAF_5ghcyrVWAF_10havdhr_cgeVAF_15__guernq_fgehpgRAF_14qrsnhyg_qryrgrVF3_RRRRZA7naqebvq16ZbgvbaPynffvsvreRSiiRCF8_RRRRRCiFQ_
+.weak b__MAFg3__114__guernq_cebklVAF_5ghcyrVWAF_10havdhr_cgeVAF_15__guernq_fgehpgRAF_14qrsnhyg_qryrgrVF3_RRRRZA7naqebvq16ZbgvbaPynffvsvreRSiiRCF8_RRRRRCiFQ_
 .type b__MAFg3__114__guernq_cebklVAF_5ghcyrVWAF_10havdhr_cgeVAF_15__guernq_fgehpgRAF_14qrsnhyg_qryrgrVF3_RRRRZA7naqebvq16ZbgvbaPynffvsvreRSiiRCF8_RRRRRCiFQ_,%function
 b__MAFg3__114__guernq_cebklVAF_5ghcyrVWAF_10havdhr_cgeVAF_15__guernq_fgehpgRAF_14qrsnhyg_qryrgrVF3_RRRRZA7naqebvq16ZbgvbaPynffvsvreRSiiRCF8_RRRRRCiFQ_:
 nop
@@ -1163,7 +1163,7 @@
 b__MA7naqebvq15vachgqvfcngpure10PbaarpgvbaP2REXAF_2fcVAF_12VachgPunaaryRRRo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner5vachg6pbzzba4I1_013CbvagrePbbeqfRAF_9nyybpngbeVF6_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner5vachg6pbzzba4I1_013CbvagrePbbeqfRAF_9nyybpngbeVF6_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner5vachg6pbzzba4I1_013CbvagrePbbeqfRAF_9nyybpngbeVF6_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner5vachg6pbzzba4I1_013CbvagrePbbeqfRAF_9nyybpngbeVF6_RRR7erfreirRz:
 nop
@@ -1213,7 +1213,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure24genprBhgobhaqDhrhrYratguREXAF_2fcVAF0_10PbaarpgvbaRRR:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRRR:
 .space __SIZEOF_POINTER__
@@ -1228,7 +1228,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpureQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVyR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVyR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVyR12qb_pbafgehpgRCiz:
 nop
@@ -1263,7 +1263,7 @@
 b__MA7naqebvq16ZbgvbaPynffvsvre17trgPynffvsvpngvbaRv:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVvAF_4unfuVvRRAF_8rdhny_gbVvRRAF_9nyybpngbeVvRRR25__rzcynpr_havdhr_xrl_netfVvWEXvRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVvCiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVvAF_4unfuVvRRAF_8rdhny_gbVvRRAF_9nyybpngbeVvRRR25__rzcynpr_havdhr_xrl_netfVvWEXvRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVvCiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVvAF_4unfuVvRRAF_8rdhny_gbVvRRAF_9nyybpngbeVvRRR25__rzcynpr_havdhr_xrl_netfVvWEXvRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVvCiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVvAF_4unfuVvRRAF_8rdhny_gbVvRRAF_9nyybpngbeVvRRR25__rzcynpr_havdhr_xrl_netfVvWEXvRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVvCiRRRRoRREXG_QcBG0_:
 nop
@@ -1278,12 +1278,12 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure36qrperzragCraqvatSbertebhaqQvfcngpurfRCAF0_10RiragRagelR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVvRRzEXG_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVvRRzEXG_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVvRRzEXG_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVvRRzEXG_:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
@@ -1293,7 +1293,7 @@
 b__MA7naqebvq15PynffvsvreRiragP2RAFg3__110havdhr_cgeVAF_21AbgvslQrivprErfrgNetfRAF1_14qrsnhyg_qryrgrVF3_RRRR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFC_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFC_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFC_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFC_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRRoRREXG_QcBG0_:
 nop
@@ -1308,17 +1308,17 @@
 b__MGIA7naqebvq21VachgQvfcngpureGuernqR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVvAF_4unfuVvRRAF_8rdhny_gbVvRRAF_9nyybpngbeVvRRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVvAF_4unfuVvRRAF_8rdhny_gbVvRRAF_9nyybpngbeVvRRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVvAF_4unfuVvRRAF_8rdhny_gbVvRRAF_9nyybpngbeVvRRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVvAF_4unfuVvRRAF_8rdhny_gbVvRRAF_9nyybpngbeVvRRR6erunfuRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15PynffvsvreRiragRAF_9nyybpngbeVF2_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVA7naqebvq15PynffvsvreRiragRAF_9nyybpngbeVF2_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVA7naqebvq15PynffvsvreRiragRAF_9nyybpngbeVF2_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVA7naqebvq15PynffvsvreRiragRAF_9nyybpngbeVF2_RRR7erfreirRz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR8qb_fcyngRCiCXiz:
 nop
@@ -1348,7 +1348,7 @@
 b__MA7naqebvq21VachgQvfcngpureGuernqQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure10VachgFgngr10XrlZrzragbRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure10VachgFgngr10XrlZrzragbRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure10VachgFgngr10XrlZrzragbRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure10VachgFgngr10XrlZrzragbRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_:
 nop
@@ -1363,12 +1363,12 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure30nobegOebxraQvfcngpuPlpyrYbpxrqRyEXAF_2fcVAF0_10PbaarpgvbaRRRo:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR7qb_pbclRCiCXiz:
 nop
@@ -1378,7 +1378,7 @@
 b__MA7naqebvq16ZbgvbaPynffvsvre17frgPynffvsvpngvbaRvAF_20ZbgvbaPynffvsvpngvbaR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR:
 nop
@@ -1393,7 +1393,7 @@
 b__MAX7naqebvq15vachgqvfcngpure10VachgFgngr14svaqXrlZrzragbRCXAF0_8XrlRagelR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq20ZbgvbaPynffvsvpngvbaRRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq20ZbgvbaPynffvsvpngvbaRRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq20ZbgvbaPynffvsvpngvbaRRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq20ZbgvbaPynffvsvpngvbaRRRAF_22__habeqrerq_znc_unfureVvF4_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF4_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz:
 nop
@@ -1408,7 +1408,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure26abgvslPbasvthengvbaPunatrqRCXAF_30AbgvslPbasvthengvbaPunatrqNetfR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz:
 nop
@@ -1428,7 +1428,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure46qbBaCbvagreQbjaBhgfvqrSbphfYbpxrqVagreehcgvoyrRCAF0_12PbzznaqRagelR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1458,7 +1458,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure20eryrnfrQvfcngpuRagelRCAF0_13QvfcngpuRagelR:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVyRR
+.weak b__MGIA7naqebvq6IrpgbeVyRR
 .type b__MGIA7naqebvq6IrpgbeVyRR,%object
 b__MGIA7naqebvq6IrpgbeVyRR:
 .space __SIZEOF_POINTER__
@@ -1478,12 +1478,12 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure28radhrhrQvfcngpuRagevrfYbpxrqRyEXAF_2fcVAF0_10PbaarpgvbaRRRCAF0_10RiragRagelRCXAF0_11VachgGnetrgR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR7qb_pbclRCiCXiz:
 nop
@@ -1513,7 +1513,7 @@
 b__MGi0_a24_A7naqebvq21VachgQvfcngpureGuernqQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure10VachgFgngr13ZbgvbaZrzragbRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure10VachgFgngr13ZbgvbaZrzragbRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure10VachgFgngr13ZbgvbaZrzragbRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq15vachgqvfcngpure10VachgFgngr13ZbgvbaZrzragbRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_:
 nop
@@ -1528,12 +1528,12 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure34qvfcngpuPbasvthengvbaPunatrqYbpxrqRyCAF0_25PbasvthengvbaPunatrqRagelR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR5renfrRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR5renfrRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR5renfrRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR5renfrRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRR:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -1543,7 +1543,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure22erfrgNAEGvzrbhgfYbpxrqRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
@@ -1558,7 +1558,7 @@
 b__MA7naqebvq15VachgPynffvsvreP2REXAF_2fcVAF_22VachgYvfgrareVagresnprRRR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvyRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvyRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvyRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvyRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz:
 nop
@@ -1583,7 +1583,7 @@
 b__MA7naqebvq15vachgqvfcngpure10GbhpuFgngrP1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR7qb_pbclRCiCXiz:
 nop
@@ -1603,7 +1603,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure12abgvslFjvgpuRCXAF_16AbgvslFjvgpuNetfR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_qrfgeblRCiz:
 nop
@@ -1623,7 +1623,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure39erfhzrNsgreGnetrgfAbgErnqlGvzrbhgYbpxrqRyEXAF_2fcVAF_12VachgPunaaryRRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1673,7 +1673,7 @@
 b__MAX7naqebvq15vachgqvfcngpure10GbhpuFgngr10vfFyvccrelRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvyRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvyRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvyRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvyRRAF_22__habeqrerq_znc_unfureVvF2_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF2_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz:
 nop
@@ -1683,7 +1683,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpureP1REXAF_2fcVAF_30VachgQvfcngpureCbyvplVagresnprRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVyR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVyR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVyR7qb_pbclRCiCXiz:
 nop
@@ -1723,7 +1723,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure20ertvfgreVachgZbavgbeREXAF_2fcVAF_12VachgPunaaryRRRvo:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR10qb_pbzcnerRCXiF9_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR10qb_pbzcnerRCXiF9_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR10qb_pbzcnerRCXiF9_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_2fcVAF_15vachgqvfcngpure10PbaarpgvbaRRRRRR10qb_pbzcnerRCXiF9_:
 nop
@@ -1748,12 +1748,12 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure20nqqErpragRiragYbpxrqRCAF0_10RiragRagelR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR10qb_pbzcnerRCXiF7_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR10qb_pbzcnerRCXiF7_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR10qb_pbzcnerRCXiF7_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_15vachgqvfcngpure10GbhpuFgngrRRRR10qb_pbzcnerRCXiF7_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFB_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFB_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFB_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFB_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRRoRREXG_QcBG0_:
 nop
@@ -1788,12 +1788,12 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure42qbQvfcngpuPlpyrSvavfurqYbpxrqVagreehcgvoyrRCAF0_12PbzznaqRagelR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVyR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVyR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVyR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFC_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFC_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFC_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_15vachgqvfcngpure15VachgQvfcngpure11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFC_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_:
 nop
@@ -1813,7 +1813,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure30ehaPbzznaqfYbpxrqVagreehcgvoyrRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR8qb_fcyngRCiCXiz:
 nop
@@ -1873,7 +1873,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure32nqqTybonyZbavgbevatGnetrgfYbpxrqREAFg3__16irpgbeVAF0_11VachgGnetrgRAF2_9nyybpngbeVF4_RRRRvss:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR10qb_pbzcnerRCXiF8_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR10qb_pbzcnerRCXiF8_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR10qb_pbzcnerRCXiF8_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR10qb_pbzcnerRCXiF8_:
 nop
@@ -1923,7 +1923,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure25eryrnfrVaobhaqRiragYbpxrqRCAF0_10RiragRagelR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRRQ2Ri
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRRQ2Ri
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRRQ2Ri,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq2fcVAF3_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF6_RRRRRRAF_22__habeqrerq_znc_unfureVvFN_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvFN_AF_8rdhny_gbVvRRYo1RRRAF7_VFN_RRRQ2Ri:
 nop
@@ -1933,7 +1933,7 @@
 b__MA7naqebvq15vachgqvfcngpure8XrlRagelP2Rwyvwvwvvvvvvy:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1968,7 +1968,7 @@
 b__MGPA7naqebvq15VachgPynffvsvreR8_AF_8uneqjner20uvqy_qrngu_erpvcvragR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_13CbvagrePbbeqfRRR:
 .space __SIZEOF_POINTER__
@@ -2003,12 +2003,12 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure22unfVawrpgvbaCrezvffvbaRvv:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR6erunfuRz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17CbvagreCebcregvrfRR12qb_pbafgehpgRCiz:
 nop
@@ -2018,12 +2018,12 @@
 b__MA7naqebvq16ZbgvbaPynffvsvre15rafherUnyGuernqRCXp:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVvAF_4unfuVvRRAF_8rdhny_gbVvRRAF_9nyybpngbeVvRRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVvAF_4unfuVvRRAF_8rdhny_gbVvRRAF_9nyybpngbeVvRRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVvAF_4unfuVvRRAF_8rdhny_gbVvRRAF_9nyybpngbeVvRRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVvAF_4unfuVvRRAF_8rdhny_gbVvRRAF_9nyybpngbeVvRRR8__erunfuRz:
 nop
 .data
-.globl b__MGIA7naqebvq18OvaqreJvaqbjUnaqyrR
+.weak b__MGIA7naqebvq18OvaqreJvaqbjUnaqyrR
 .type b__MGIA7naqebvq18OvaqreJvaqbjUnaqyrR,%object
 b__MGIA7naqebvq18OvaqreJvaqbjUnaqyrR:
 .space __SIZEOF_POINTER__
@@ -2063,17 +2063,17 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure23qhzcQvfcngpuFgngrYbpxrqREAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_15vachgqvfcngpure15VachgQvfcngpure14XrlErcynprzragRvRRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_6irpgbeVA7naqebvq15vachgqvfcngpure7ZbavgbeRAF_9nyybpngbeVF5_RRRRRRAF_22__habeqrerq_znc_unfureVvF9_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF9_AF_8rdhny_gbVvRRYo1RRRAF6_VF9_RRR8__erunfuRz:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
@@ -2113,7 +2113,7 @@
 b__MA7naqebvq15vachgqvfcngpure10VachgFgngr11genpxZbgvbaRCXAF0_11ZbgvbaRagelRvv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -2128,12 +2128,12 @@
 b__MA7naqebvq15vachgqvfcngpure14VawrpgvbaFgngrP1Rvv:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VachgNccyvpngvbaUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
@@ -2143,7 +2143,7 @@
 b__MA7naqebvq12VachgZnantre15frgVachgJvaqbjfREXAFg3__16irpgbeVAF_15VachgJvaqbjVasbRAF1_9nyybpngbeVF3_RRRREXAF_2fcVAF_24VFrgVachgJvaqbjfYvfgrareRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_:
 nop
@@ -2203,7 +2203,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure18trgGnetrgQvfcynlVqRCXAF0_10RiragRagelR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_17VachgJvaqbjUnaqyrRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_:
 nop
@@ -2258,7 +2258,7 @@
 b__MA7naqebvq15vachgqvfcngpure15VachgQvfcngpure29baQvfcngpuPlpyrSvavfurqYbpxrqRyEXAF_2fcVAF0_10PbaarpgvbaRRRwo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_:
 nop
@@ -2268,7 +2268,7 @@
 b__MA7naqebvq15vachgqvfcngpure10VachgFgngrQ2Ri:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRRR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_017.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_017.S
index 20cfde6..49ea74b 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_017.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_017.S
@@ -28,7 +28,7 @@
 b__MAX7naqebvq16AbgvslZbgvbaNetfrdREXF0_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCA7naqebvq10AbgvslNetfRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
+.weak b__MAFg3__16irpgbeVCA7naqebvq10AbgvslNetfRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
 .type b__MAFg3__16irpgbeVCA7naqebvq10AbgvslNetfRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_,%function
 b__MAFg3__16irpgbeVCA7naqebvq10AbgvslNetfRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_:
 nop
@@ -253,7 +253,7 @@
 b__MGIA7naqebvq21AbgvslQrivprErfrgNetfR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15QvfcynlIvrjcbegRAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_
+.weak b__MAFg3__16irpgbeVA7naqebvq15QvfcynlIvrjcbegRAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_
 .type b__MAFg3__16irpgbeVA7naqebvq15QvfcynlIvrjcbegRAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_,%function
 b__MAFg3__16irpgbeVA7naqebvq15QvfcynlIvrjcbegRAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_018.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_018.S
index 37aa178..822dca5 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_018.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_018.S
@@ -43,7 +43,7 @@
 b__MA7naqebvq17CbvagrePbagebyyre8frgFcbgfRCXAF_13CbvagrePbbeqfRCXwAF_8OvgFrg32Rv:
 nop
 .data
-.globl b__MGGA7naqebvq18JrnxYbbcrePnyyonpxR
+.weak b__MGGA7naqebvq18JrnxYbbcrePnyyonpxR
 .type b__MGGA7naqebvq18JrnxYbbcrePnyyonpxR,%object
 b__MGGA7naqebvq18JrnxYbbcrePnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -73,7 +73,7 @@
 b__MA7naqebvq16FcevgrPbagebyyre15qbHcqngrFcevgrfRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR8qb_fcyngRCiCXiz:
 nop
@@ -98,12 +98,12 @@
 b__MA7naqebvq16FcevgrPbagebyyreQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -143,12 +143,12 @@
 b__MA7naqebvq17CbvagrePbagebyyreQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -158,12 +158,12 @@
 b__MA7naqebvq16FcevgrPbagebyyre15bcraGenafnpgvbaRi:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_6irpgbeVCA7naqebvq17CbvagrePbagebyyre4FcbgRAF_9nyybpngbeVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVvFN_AF_4yrffVvRRYo1RRRAF7_VFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_6irpgbeVCA7naqebvq17CbvagrePbagebyyre4FcbgRAF_9nyybpngbeVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVvFN_AF_4yrffVvRRYo1RRRAF7_VFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_6irpgbeVCA7naqebvq17CbvagrePbagebyyre4FcbgRAF_9nyybpngbeVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVvFN_AF_4yrffVvRRYo1RRRAF7_VFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_6irpgbeVCA7naqebvq17CbvagrePbagebyyre4FcbgRAF_9nyybpngbeVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVvFN_AF_4yrffVvRRYo1RRRAF7_VFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR:
 nop
@@ -173,7 +173,7 @@
 b__MA7naqebvq16FcevgrPbagebyyreP1REXAF_2fcVAF_6YbbcreRRRv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_pbzcnerRCXiF4_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_pbzcnerRCXiF4_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_pbzcnerRCXiF4_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_pbzcnerRCXiF4_:
 nop
@@ -188,7 +188,7 @@
 b__MGIA7naqebvq16FcevgrPbagebyyreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq18JrnxYbbcrePnyyonpxR
+.weak b__MGIA7naqebvq18JrnxYbbcrePnyyonpxR
 .type b__MGIA7naqebvq18JrnxYbbcrePnyyonpxR,%object
 b__MGIA7naqebvq18JrnxYbbcrePnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -198,17 +198,17 @@
 b__MA7naqebvq16FcevgrPbagebyyre10FcevgrVzcyP2RAF_2fcVF0_RR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR8qb_fcyngRCiCXiz:
 nop
@@ -238,7 +238,7 @@
 b__MA7naqebvq17CbvagrePbagebyyre17hcqngrCbvagreVpbaRv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCA7naqebvq17CbvagrePbagebyyre4FcbgRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
+.weak b__MAFg3__16irpgbeVCA7naqebvq17CbvagrePbagebyyre4FcbgRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
 .type b__MAFg3__16irpgbeVCA7naqebvq17CbvagrePbagebyyre4FcbgRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_,%function
 b__MAFg3__16irpgbeVCA7naqebvq17CbvagrePbagebyyre4FcbgRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_:
 nop
@@ -248,17 +248,17 @@
 b__MGGA7naqebvq17CbvagrePbagebyyreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRRQ2Ri
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRRQ2Ri
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRRQ2Ri,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRRQ2Ri:
 nop
@@ -278,12 +278,12 @@
 b__MA7naqebvq17CbvagrePbagebyyre19ybnqErfbheprfYbpxrqRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq16CbvagreNavzngvbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq16CbvagreNavzngvbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq16CbvagreNavzngvbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq16CbvagreNavzngvbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR:
 nop
 .data
-.globl b__MGPA7naqebvq18JrnxYbbcrePnyyonpxR0_AF_14YbbcrePnyyonpxR
+.weak b__MGPA7naqebvq18JrnxYbbcrePnyyonpxR0_AF_14YbbcrePnyyonpxR
 .type b__MGPA7naqebvq18JrnxYbbcrePnyyonpxR0_AF_14YbbcrePnyyonpxR,%object
 b__MGPA7naqebvq18JrnxYbbcrePnyyonpxR0_AF_14YbbcrePnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -308,12 +308,12 @@
 b__MA7naqebvq17CbvagrePbagebyyre4Fcbg12hcqngrFcevgrRCXAF_10FcevgrVpbaRssv:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq10FcevgrVpbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq10FcevgrVpbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq10FcevgrVpbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq10FcevgrVpbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRRR:
 .space __SIZEOF_POINTER__
@@ -328,7 +328,7 @@
 b__MA7naqebvq16FcevgrPbagebyyre10FcevgrVzcyP1RAF_2fcVF0_RR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR7qb_pbclRCiCXiz:
 nop
@@ -348,7 +348,7 @@
 b__MA7naqebvq17CbvagrePbagebyyreP2REXAF_2fcVAF_32CbvagrePbagebyyreCbyvplVagresnprRRREXAF1_VAF_6YbbcreRRREXAF1_VAF_16FcevgrPbagebyyreRRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR12qb_pbafgehpgRCiz:
 nop
@@ -368,17 +368,17 @@
 b__MA7naqebvq16FcevgrPbagebyyre10FcevgrVzcy12frgQvfcynlVqRv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR12qb_pbafgehpgRCiz:
 nop
@@ -408,7 +408,7 @@
 b__MGua8_A7naqebvq17CbvagrePbagebyyre13unaqyrZrffntrREXAF_7ZrffntrR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -458,7 +458,7 @@
 b__MGPA7naqebvq17CbvagrePbagebyyreR8_AF_14ZrffntrUnaqyreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -478,12 +478,12 @@
 b__MA7naqebvq16FcevgrPbagebyyre10FcevgrVzcy8frgNycunRs:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_16FcevgrPbagebyyre12FcevgrHcqngrRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR10qb_qrfgeblRCiz:
 nop
@@ -513,7 +513,7 @@
 b__MA7naqebvq16FcevgrPbagebyyre17qbQvfcbfrFhesnprfRi:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRRR:
 .space __SIZEOF_POINTER__
@@ -523,7 +523,7 @@
 b__MA7naqebvq17CbvagrePbagebyyre4snqrRAF_26CbvagrePbagebyyreVagresnpr10GenafvgvbaR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_6FcevgrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_6FcevgrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_6FcevgrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_6FcevgrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_:
 nop
@@ -548,17 +548,17 @@
 b__MGua8_A7naqebvq17CbvagrePbagebyyreQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq10FcevgrVpbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq10FcevgrVpbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq10FcevgrVpbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq10FcevgrVpbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR:
 nop
@@ -578,7 +578,7 @@
 b__MA7naqebvq17CbvagrePbagebyyre27erzbirSvefgSnqvatFcbgYbpxrqREAFg3__16irpgbeVCAF0_4FcbgRAF1_9nyybpngbeVF4_RRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCA7naqebvq17CbvagrePbagebyyre4FcbgRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
+.weak b__MAFg3__16irpgbeVCA7naqebvq17CbvagrePbagebyyre4FcbgRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
 .type b__MAFg3__16irpgbeVCA7naqebvq17CbvagrePbagebyyre4FcbgRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_,%function
 b__MAFg3__16irpgbeVCA7naqebvq17CbvagrePbagebyyre4FcbgRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_:
 nop
@@ -588,7 +588,7 @@
 b__MA7naqebvq16FcevgrPbagebyyre10FcevgrVzcy11frgCbfvgvbaRss:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRRR:
 .space __SIZEOF_POINTER__
@@ -598,7 +598,7 @@
 b__MA7naqebvq16FcevgrPbagebyyre10FcevgrVzcy23frgGenafsbezngvbaZngevkREXAF_26FcevgrGenafsbezngvbaZngevkR:
 nop
 .data
-.globl b__MGIA7naqebvq21FhesnprPbzcbfrePyvrag11GenafnpgvbaR
+.weak b__MGIA7naqebvq21FhesnprPbzcbfrePyvrag11GenafnpgvbaR
 .type b__MGIA7naqebvq21FhesnprPbzcbfrePyvrag11GenafnpgvbaR,%object
 b__MGIA7naqebvq21FhesnprPbzcbfrePyvrag11GenafnpgvbaR:
 .space __SIZEOF_POINTER__
@@ -633,12 +633,12 @@
 b__MA7naqebvq16FcevgrPbagebyyreP2REXAF_2fcVAF_6YbbcreRRRv:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_14FhesnprPbagebyRRRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -648,17 +648,17 @@
 b__MA7naqebvq17CbvagrePbagebyyre9qbNavzngrRy:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRR12qb_pbafgehpgRCiz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_16FcevgrPbagebyyre10FcevgrVzcyRRRRR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_020.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_020.S
index 7f374f1..307b5f7 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_020.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_020.S
@@ -18,7 +18,7 @@
 b__MA7naqebvq13FrafbeFreivprP2Ri:
 nop
 .data
-.globl b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -38,17 +38,17 @@
 b__MA7naqebvq8uneqjner7frafbef4I1_014vzcyrzragngvba22pbairegSebzFrafbeRiragREX15frafbef_rirag_gCAF2_5RiragR:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_021.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_021.S
index d395e75..5999a4d 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_021.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_021.S
@@ -33,12 +33,12 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_014vzcyrzragngvba13pbairegErfhygRv:
 nop
 .data
-.globl b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_014vzcyrzragngvba24RiragDhrhrYbbcrePnyyonpxR0_AF_14YbbcrePnyyonpxR
+.weak b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_014vzcyrzragngvba24RiragDhrhrYbbcrePnyyonpxR0_AF_14YbbcrePnyyonpxR
 .type b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_014vzcyrzragngvba24RiragDhrhrYbbcrePnyyonpxR0_AF_14YbbcrePnyyonpxR,%object
 b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_014vzcyrzragngvba24RiragDhrhrYbbcrePnyyonpxR0_AF_14YbbcrePnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_014vzcyrzragngvba24RiragDhrhrYbbcrePnyyonpxR
+.weak b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_014vzcyrzragngvba24RiragDhrhrYbbcrePnyyonpxR
 .type b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_014vzcyrzragngvba24RiragDhrhrYbbcrePnyyonpxR,%object
 b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_014vzcyrzragngvba24RiragDhrhrYbbcrePnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -163,7 +163,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_014vzcyrzragngvba13FrafbeZnantreP1RC7_WninIZ:
 nop
 .text
-.globl b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_014vzcyrzragngvba19perngrQverpgPunaaryVAFg3__18shapgvbaVSiEXAF_2fcVAF2_20VQverpgErcbegPunaaryRRRAF2_6ErfhygRRRRRRiEAF_13FrafbeZnantreRzvCX13angvir_unaqyrEXG_
+.weak b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_014vzcyrzragngvba19perngrQverpgPunaaryVAFg3__18shapgvbaVSiEXAF_2fcVAF2_20VQverpgErcbegPunaaryRRRAF2_6ErfhygRRRRRRiEAF_13FrafbeZnantreRzvCX13angvir_unaqyrEXG_
 .type b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_014vzcyrzragngvba19perngrQverpgPunaaryVAFg3__18shapgvbaVSiEXAF_2fcVAF2_20VQverpgErcbegPunaaryRRRAF2_6ErfhygRRRRRRiEAF_13FrafbeZnantreRzvCX13angvir_unaqyrEXG_,%function
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_014vzcyrzragngvba19perngrQverpgPunaaryVAFg3__18shapgvbaVSiEXAF_2fcVAF2_20VQverpgErcbegPunaaryRRRAF2_6ErfhygRRRRRRiEAF_13FrafbeZnantreRzvCX13angvir_unaqyrEXG_:
 nop
@@ -258,12 +258,12 @@
 b__MGGA7naqebvq10senzrjbexf13frafbefreivpr4I1_014vzcyrzragngvba10RiragDhrhrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq10senzrjbexf13frafbefreivpr4I1_014vzcyrzragngvba24RiragDhrhrYbbcrePnyyonpxR
+.weak b__MGGA7naqebvq10senzrjbexf13frafbefreivpr4I1_014vzcyrzragngvba24RiragDhrhrYbbcrePnyyonpxR
 .type b__MGGA7naqebvq10senzrjbexf13frafbefreivpr4I1_014vzcyrzragngvba24RiragDhrhrYbbcrePnyyonpxR,%object
 b__MGGA7naqebvq10senzrjbexf13frafbefreivpr4I1_014vzcyrzragngvba24RiragDhrhrYbbcrePnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_022.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_022.S
index 80c3436..9cbebdf 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_022.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_022.S
@@ -18,7 +18,7 @@
 b__MA7naqebvq12PbafhzreOnfr25frgQrsnhygOhssreQngnFcnprR19naqebvq_qngnfcnpr_g:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR10qb_qrfgeblRCiz:
 nop
@@ -68,7 +68,7 @@
 b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_05hgvyf19U2OCebqhpreYvfgrareR16_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MMA7naqebvq17OhssreUhoCebqhpre11traHavdhrVqRiR2vq
+.weak b__MMA7naqebvq17OhssreUhoCebqhpre11traHavdhrVqRiR2vq
 .type b__MMA7naqebvq17OhssreUhoCebqhpre11traHavdhrVqRiR2vq,%object
 b__MMA7naqebvq17OhssreUhoCebqhpre11traHavdhrVqRiR2vq:
 .space __SIZEOF_POINTER__
@@ -78,7 +78,7 @@
 b__MGPA7naqebvq24OaQvfcynlRiragPbaarpgvbaR0_AF_23VQvfcynlRiragPbaarpgvbaR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_4cnveVXF5_F7_RRRRRAFY_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_4cnveVXF5_F7_RRRRRAFY_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_4cnveVXF5_F7_RRRRRAFY_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_4cnveVXF5_F7_RRRRRAFY_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_:
 nop
@@ -148,7 +148,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_05hgvyf3o2uRvCAF3_6FgnghfRCoF7_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq14YnlreQrohtVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq14YnlreQrohtVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq14YnlreQrohtVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq14YnlreQrohtVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz:
 nop
@@ -208,12 +208,12 @@
 b__MGi0_a24_A7naqebvq22VTencuvpOhssrePbafhzreQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__112__qrdhr_onfrVAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF4_RRR5pyrneRi
+.weak b__MAFg3__112__qrdhr_onfrVAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF4_RRR5pyrneRi
 .type b__MAFg3__112__qrdhr_onfrVAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF4_RRR5pyrneRi,%function
 b__MAFg3__112__qrdhr_onfrVAF_8jrnx_cgeVA7naqebvq9SraprGvzrRRRAF_9nyybpngbeVF4_RRR5pyrneRi:
 nop
@@ -253,7 +253,7 @@
 b__MA7naqebvq19OhssreDhrhrCebqhpreP1REXAF_2fcVAF_15OhssreDhrhrPberRRRo:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13PbafhzreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13PbafhzreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13PbafhzreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13PbafhzreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi:
 nop
@@ -288,7 +288,7 @@
 b__MGIA7naqebvq24OcErtvbaFnzcyvatYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR12qb_pbafgehpgRCiz:
 nop
@@ -308,7 +308,7 @@
 b__MA7naqebvq7Fhesnpr18qvfcngpuFrgHfntr64RFg9__in_yvfg:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_RR
+.weak b__MGIAFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_RR
 .type b__MGIAFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_RR,%object
 b__MGIAFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_RR:
 .space __SIZEOF_POINTER__
@@ -323,7 +323,7 @@
 b__MGPA7naqebvq23OcTencuvpOhssrePbafhzreR0_AF_22VTencuvpOhssrePbafhzreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzyRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzyRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzyRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzyRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz:
 nop
@@ -333,7 +333,7 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag11Genafnpgvba18frgVachgJvaqbjVasbREXAF_2fcVAF_14FhesnprPbagebyRRREXAF_15VachgJvaqbjVasbR:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RR7__pybarRi:
 nop
@@ -353,7 +353,7 @@
 b__MA7naqebvq18OaCebqhpreYvfgrare18arrqfEryrnfrAbgvslRi:
 nop
 .data
-.globl b__MGGA7naqebvq18UcCebqhpreYvfgrareR
+.weak b__MGGA7naqebvq18UcCebqhpreYvfgrareR
 .type b__MGGA7naqebvq18UcCebqhpreYvfgrareR,%object
 b__MGGA7naqebvq18UcCebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
@@ -403,7 +403,7 @@
 b__MGua40_A7naqebvq14FgernzFcyvggre14BhgchgYvfgrare10ovaqreQvrqREXAF_2jcVAF_7VOvaqreRRR:
 nop
 .data
-.globl b__MA7naqebvq22VTencuvpOhssreCebqhpre27fTrgUnyGbxraGenafnpgvbaPbqrR
+.weak b__MA7naqebvq22VTencuvpOhssreCebqhpre27fTrgUnyGbxraGenafnpgvbaPbqrR
 .type b__MA7naqebvq22VTencuvpOhssreCebqhpre27fTrgUnyGbxraGenafnpgvbaPbqrR,%object
 b__MA7naqebvq22VTencuvpOhssreCebqhpre27fTrgUnyGbxraGenafnpgvbaPbqrR:
 .space __SIZEOF_POINTER__
@@ -413,7 +413,7 @@
 b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_05hgvyf24U2OTencuvpOhssreCebqhpreR0_AF_22VTencuvpOhssreCebqhpreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MMA7naqebvq17OhssreUhoCebqhpre11traHavdhrVqRiR7pbhagre
+.weak b__MMA7naqebvq17OhssreUhoCebqhpre11traHavdhrVqRiR7pbhagre
 .type b__MMA7naqebvq17OhssreUhoCebqhpre11traHavdhrVqRiR7pbhagre,%object
 b__MMA7naqebvq17OhssreUhoCebqhpre11traHavdhrVqRiR7pbhagre:
 .space __SIZEOF_POINTER__
@@ -443,7 +443,7 @@
 b__MGi0_a24_A7naqebvq11OhssreDhrhr21CebklPbafhzreYvfgrareQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq23UcTencuvpOhssreCebqhpreR0_AF_11UcVagresnprVAF_23OcTencuvpOhssreCebqhpreRAF_8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf24U2OTencuvpOhssreCebqhpreRWAF4_4I2_05hgvyf24U2OTencuvpOhssreCebqhpreRRRR
+.weak b__MGPA7naqebvq23UcTencuvpOhssreCebqhpreR0_AF_11UcVagresnprVAF_23OcTencuvpOhssreCebqhpreRAF_8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf24U2OTencuvpOhssreCebqhpreRWAF4_4I2_05hgvyf24U2OTencuvpOhssreCebqhpreRRRR
 .type b__MGPA7naqebvq23UcTencuvpOhssreCebqhpreR0_AF_11UcVagresnprVAF_23OcTencuvpOhssreCebqhpreRAF_8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf24U2OTencuvpOhssreCebqhpreRWAF4_4I2_05hgvyf24U2OTencuvpOhssreCebqhpreRRRR,%object
 b__MGPA7naqebvq23UcTencuvpOhssreCebqhpreR0_AF_11UcVagresnprVAF_23OcTencuvpOhssreCebqhpreRAF_8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf24U2OTencuvpOhssreCebqhpreRWAF4_4I2_05hgvyf24U2OTencuvpOhssreCebqhpreRRRR:
 .space __SIZEOF_POINTER__
@@ -483,12 +483,12 @@
 b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_05hgvyf24U2OTencuvpOhssreCebqhpreR0_AF_11OaVagresnprVAF_22VTencuvpOhssreCebqhpreRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_23VErtvbaFnzcyvatYvfgrareRRRvCAF_2fcVG_RR
+.weak b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_23VErtvbaFnzcyvatYvfgrareRRRvCAF_2fcVG_RR
 .type b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_23VErtvbaFnzcyvatYvfgrareRRRvCAF_2fcVG_RR,%function
 b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_23VErtvbaFnzcyvatYvfgrareRRRvCAF_2fcVG_RR:
 nop
@@ -528,7 +528,7 @@
 b__MGi0_a24_A7naqebvq17OcFhesnprPbzcbfreQ0Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_14FhesnprPbagebyRRRAF1_21FhesnprPbzcbfrePyvrag6FPUnfuRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF4_WEXF4_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_14FhesnprPbagebyRRRAF1_21FhesnprPbzcbfrePyvrag6FPUnfuRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF4_WEXF4_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_14FhesnprPbagebyRRRAF1_21FhesnprPbzcbfrePyvrag6FPUnfuRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF4_WEXF4_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_14FhesnprPbagebyRRRAF1_21FhesnprPbzcbfrePyvrag6FPUnfuRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF4_WEXF4_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_:
 nop
@@ -563,7 +563,7 @@
 b__MA7naqebvq11OhssreDhrhr21CebklPbafhzreYvfgrare24nqqNaqTrgSenzrGvzrfgnzcfRCXAF_19ArjSenzrRiragfRagelRCAF_22SenzrRiragUvfgbelQrygnR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -613,7 +613,7 @@
 b__MGua40_A7naqebvq14FgernzFcyvggre14BhgchgYvfgrareQ0Ri:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RR7qrfgeblRi:
 nop
@@ -623,7 +623,7 @@
 b__MGIA7naqebvq18OcCebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
+.weak b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
 .type b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_,%function
 b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_:
 nop
@@ -663,7 +663,7 @@
 b__MA7naqebvq10pbairefvba6jencNfRCAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpre17DhrhrOhssreBhgchgRCAFg3__16irpgbeVAF9_VC13angvir_unaqyrAF8_9nyybpngbeVFO_RRRRAFP_VFR_RRRREXAF_22VTencuvpOhssreCebqhpre17DhrhrOhssreBhgchgR:
 nop
 .text
-.globl b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
+.weak b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
 .type b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw,%function
 b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw:
 nop
@@ -703,7 +703,7 @@
 b__MA7naqebvq10TYPbafhzre14hcqngrGrkVzntrRi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_13TencuvpOhssreRR5pyrneRi
+.weak b__MA7naqebvq2fcVAF_13TencuvpOhssreRR5pyrneRi
 .type b__MA7naqebvq2fcVAF_13TencuvpOhssreRR5pyrneRi,%function
 b__MA7naqebvq2fcVAF_13TencuvpOhssreRR5pyrneRi:
 nop
@@ -713,7 +713,7 @@
 b__MA7naqebvq14FgernzFcyvggre13OhssreGenpxre10zretrSraprREXAF_2fcVAF_5SraprRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_13TencuvpOhssreRRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_13TencuvpOhssreRRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_13TencuvpOhssreRRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_13TencuvpOhssreRRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_:
 nop
@@ -723,7 +723,7 @@
 b__MAX7naqebvq22VTencuvpOhssrePbafhzre22trgVagresnprQrfpevcgbeRi:
 nop
 .text
-.globl b__MAFg3__14yvfgVvAF_9nyybpngbeVvRRR9chfu_onpxREXv
+.weak b__MAFg3__14yvfgVvAF_9nyybpngbeVvRRR9chfu_onpxREXv
 .type b__MAFg3__14yvfgVvAF_9nyybpngbeVvRRR9chfu_onpxREXv,%function
 b__MAFg3__14yvfgVvAF_9nyybpngbeVvRRR9chfu_onpxREXv:
 nop
@@ -793,7 +793,7 @@
 b__MGIA7naqebvq16PbafhzreYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR10baGenafnpgRwEXAF_6CnepryRCF8_w
+.weak b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR10baGenafnpgRwEXAF_6CnepryRCF8_w
 .type b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR10baGenafnpgRwEXAF_6CnepryRCF8_w,%function
 b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR10baGenafnpgRwEXAF_6CnepryRCF8_w:
 nop
@@ -803,7 +803,7 @@
 b__MA7naqebvq20QvfcynlRiragErprvireQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR10qb_pbzcnerRCXiF9_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR10qb_pbzcnerRCXiF9_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR10qb_pbzcnerRCXiF9_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR10qb_pbzcnerRCXiF9_:
 nop
@@ -848,7 +848,7 @@
 b__MA7naqebvq20QvfcynlRiragErprvireP2RAF_16VFhesnprPbzcbfre11IflapFbheprRAF1_13PbasvtPunatrqR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_13TencuvpOhssreRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_13TencuvpOhssreRRQ2Ri
 .type b__MA7naqebvq2fcVAF_13TencuvpOhssreRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_13TencuvpOhssreRRQ2Ri:
 nop
@@ -863,7 +863,7 @@
 b__MGPA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrareR0_AF_30OaGenafnpgvbaPbzcyrgrqYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__14yvfgVvAF_9nyybpngbeVvRRR6erzbirREXv
+.weak b__MAFg3__14yvfgVvAF_9nyybpngbeVvRRR6erzbirREXv
 .type b__MAFg3__14yvfgVvAF_9nyybpngbeVvRRR6erzbirREXv,%function
 b__MAFg3__14yvfgVvAF_9nyybpngbeVvRRR6erzbirREXv:
 nop
@@ -898,12 +898,12 @@
 b__MGGA7naqebvq17OhssreUhoCebqhpreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_14YnlreQrohtVasbRRRvEXAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR
+.weak b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_14YnlreQrohtVasbRRRvEXAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR
 .type b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_14YnlreQrohtVasbRRRvEXAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR,%function
 b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_14YnlreQrohtVasbRRRvEXAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -958,7 +958,7 @@
 b__MA7naqebvq7Fhesnpr27qvfcngpuFrgFunerqOhssreZbqrRFg9__in_yvfg:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq19VachgJvaqbjPbzznaqf25GenafsreGbhpuSbphfPbzznaqRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_
+.weak b__MAFg3__16irpgbeVA7naqebvq19VachgJvaqbjPbzznaqf25GenafsreGbhpuSbphfPbzznaqRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_
 .type b__MAFg3__16irpgbeVA7naqebvq19VachgJvaqbjPbzznaqf25GenafsreGbhpuSbphfPbzznaqRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_,%function
 b__MAFg3__16irpgbeVA7naqebvq19VachgJvaqbjPbzznaqf25GenafsreGbhpuSbphfPbzznaqRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_:
 nop
@@ -1038,7 +1038,7 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag11Genafnpgvba14qrgnpuPuvyqeraREXAF_2fcVAF_14FhesnprPbagebyRRR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF_9nyybpngbeVyRRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF_9nyybpngbeVyRRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF_9nyybpngbeVyRRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF_9nyybpngbeVyRRR6erunfuRz:
 nop
@@ -1058,7 +1058,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_05hgvyf24U2OTencuvpOhssreCebqhpre12nggnpuOhssreRCvEXAF_2fcVAF_13TencuvpOhssreRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq17YvfgrarePnyyonpxfRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEAF1_2fcVAF1_29VGenafnpgvbaPbzcyrgrqYvfgrareRRREAF0_VyAF3_VyRRRRRRRiQcBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq17YvfgrarePnyyonpxfRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEAF1_2fcVAF1_29VGenafnpgvbaPbzcyrgrqYvfgrareRRREAF0_VyAF3_VyRRRRRRRiQcBG_
 .type b__MAFg3__16irpgbeVA7naqebvq17YvfgrarePnyyonpxfRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEAF1_2fcVAF1_29VGenafnpgvbaPbzcyrgrqYvfgrareRRREAF0_VyAF3_VyRRRRRRRiQcBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq17YvfgrarePnyyonpxfRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEAF1_2fcVAF1_29VGenafnpgvbaPbzcyrgrqYvfgrareRRREAF0_VyAF3_VyRRRRRRRiQcBG_:
 nop
@@ -1093,7 +1093,7 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag11Genafnpgvba17frgFvqronaqFgernzREXAF_2fcVAF_14FhesnprPbagebyRRREXAF2_VAF_12AngvirUnaqyrRRR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzyRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFV_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzyRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFV_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzyRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFV_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzyRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFV_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_:
 nop
@@ -1153,12 +1153,12 @@
 b__MGGA7naqebvq18GJCebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6Cnepry4ernqVAF_4ErpgRRRvEAF_16YvtugSynggranoyrVG_RR
+.weak b__MAX7naqebvq6Cnepry4ernqVAF_4ErpgRRRvEAF_16YvtugSynggranoyrVG_RR
 .type b__MAX7naqebvq6Cnepry4ernqVAF_4ErpgRRRvEAF_16YvtugSynggranoyrVG_RR,%function
 b__MAX7naqebvq6Cnepry4ernqVAF_4ErpgRRRvEAF_16YvtugSynggranoyrVG_RR:
 nop
 .text
-.globl b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
+.weak b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
 .type b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw,%function
 b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw:
 nop
@@ -1168,12 +1168,12 @@
 b__MAX7naqebvq3thv7OvgGhor5trgSqRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_pbzcnerRCXiF4_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_pbzcnerRCXiF4_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_pbzcnerRCXiF4_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_pbzcnerRCXiF4_:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_RpyRBF2_Bz
+.weak b__MAFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_RpyRBF2_Bz
 .type b__MAFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_RpyRBF2_Bz,%function
 b__MAFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_RpyRBF2_Bz:
 nop
@@ -1203,22 +1203,22 @@
 b__MGua8_A7naqebvq23OaFhesnprPbzcbfrePyvrag10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RRR
+.weak b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RRR
 .type b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RRR,%object
 b__MGIAFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXwF5_RRRRRAF_10havdhr_cgeVAF_11__unfu_abqrVF6_CiRRAF_22__unfu_abqr_qrfgehpgbeVAF3_VFD_RRRRRRQcBG_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXwF5_RRRRRAF_10havdhr_cgeVAF_11__unfu_abqrVF6_CiRRAF_22__unfu_abqr_qrfgehpgbeVAF3_VFD_RRRRRRQcBG_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXwF5_RRRRRAF_10havdhr_cgeVAF_11__unfu_abqrVF6_CiRRAF_22__unfu_abqr_qrfgehpgbeVAF3_VFD_RRRRRRQcBG_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXwF5_RRRRRAF_10havdhr_cgeVAF_11__unfu_abqrVF6_CiRRAF_22__unfu_abqr_qrfgehpgbeVAF3_VFD_RRRRRRQcBG_:
 nop
@@ -1273,7 +1273,7 @@
 b__MGi0_a24_A7naqebvq18OhssreVgrzPbafhzreQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq10SenzrRiragRAF_9nyybpngbeVF2_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVA7naqebvq10SenzrRiragRAF_9nyybpngbeVF2_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVA7naqebvq10SenzrRiragRAF_9nyybpngbeVF2_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVA7naqebvq10SenzrRiragRAF_9nyybpngbeVF2_RRR7erfreirRz:
 nop
@@ -1283,7 +1283,7 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag11Genafnpgvba11frgCbfvgvbaREXAF_2fcVAF_14FhesnprPbagebyRRRss:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRR11unfVafgnaprRi
+.weak b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRR11unfVafgnaprRi
 .type b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRR11unfVafgnaprRi,%function
 b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRR11unfVafgnaprRi:
 nop
@@ -1293,7 +1293,7 @@
 b__MA7naqebvq10pbairefvba14gbEnjQngnfcnprREXAF_8uneqjner8tencuvpf6pbzzba4I1_09QngnfcnprR:
 nop
 .text
-.globl b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
+.weak b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
 .type b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw,%function
 b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw:
 nop
@@ -1333,7 +1333,7 @@
 b__MA7naqebvq10TYPbafhzre12trgGvzrfgnzcRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR:
 nop
@@ -1368,7 +1368,7 @@
 b__MGPA7naqebvq24OaQvfcynlRiragPbaarpgvbaR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq16GenafnpgvbaFgngfRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF_13habeqrerq_frgVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF3_VyRRRRRRRiQcBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq16GenafnpgvbaFgngfRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF_13habeqrerq_frgVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF3_VyRRRRRRRiQcBG_
 .type b__MAFg3__16irpgbeVA7naqebvq16GenafnpgvbaFgngfRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF_13habeqrerq_frgVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF3_VyRRRRRRRiQcBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq16GenafnpgvbaFgngfRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF_13habeqrerq_frgVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF3_VyRRRRRRRiQcBG_:
 nop
@@ -1398,7 +1398,7 @@
 b__MA7naqebvq7Fhesnpr21ybpxOhssre_QRCERPNGRQRC19NAngvirJvaqbjOhssre:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_23VErtvbaFnzcyvatYvfgrareRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_23VErtvbaFnzcyvatYvfgrareRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_23VErtvbaFnzcyvatYvfgrareRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_23VErtvbaFnzcyvatYvfgrareRR10baNfOvaqreRi:
 nop
@@ -1418,7 +1418,7 @@
 b__MA7naqebvq17OhssreUhoCebqhpre15nyybpngrOhssrefRwwvz:
 nop
 .data
-.globl b__MGPA7naqebvq11PchPbafhzreR0_AF_16PbafhzreYvfgrareR
+.weak b__MGPA7naqebvq11PchPbafhzreR0_AF_16PbafhzreYvfgrareR
 .type b__MGPA7naqebvq11PchPbafhzreR0_AF_16PbafhzreYvfgrareR,%object
 b__MGPA7naqebvq11PchPbafhzreR0_AF_16PbafhzreYvfgrareR:
 .space __SIZEOF_POINTER__
@@ -1443,7 +1443,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf24U2OTencuvpOhssreCebqhpre17frgQrdhrhrGvzrbhgRy:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF1_23OaTencuvpOhssreCebqhpreRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF1_23OaTencuvpOhssreCebqhpreRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF1_23OaTencuvpOhssreCebqhpreRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF1_23OaTencuvpOhssreCebqhpreRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_:
 nop
@@ -1458,17 +1458,17 @@
 b__MA7naqebvq19OhssreDhrhrPbafhzre16frgGenafsbezUvagRw:
 nop
 .data
-.globl b__MGIA7naqebvq18UcCebqhpreYvfgrareR
+.weak b__MGIA7naqebvq18UcCebqhpreYvfgrareR
 .type b__MGIA7naqebvq18UcCebqhpreYvfgrareR,%object
 b__MGIA7naqebvq18UcCebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRRP2Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRRP2Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRRP2Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRRP2Ri:
 nop
 .data
-.globl b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR8BovghnelR
+.weak b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR8BovghnelR
 .type b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR8BovghnelR,%object
 b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR8BovghnelR:
 .space __SIZEOF_POINTER__
@@ -1548,12 +1548,12 @@
 b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf19U2OCebqhpreYvfgrareR0_AF_17VCebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
+.weak b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
 .type b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_,%function
 b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_:
 nop
 .text
-.globl b__MAFg3__112__qrdhr_onfrVA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF3_RRR5pyrneRi
+.weak b__MAFg3__112__qrdhr_onfrVA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF3_RRR5pyrneRi
 .type b__MAFg3__112__qrdhr_onfrVA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF3_RRR5pyrneRi,%function
 b__MAFg3__112__qrdhr_onfrVA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF3_RRR5pyrneRi:
 nop
@@ -1563,7 +1563,7 @@
 b__MAX7naqebvq11SenzrRiragf19unfQrdhrhrErnqlVasbRi:
 nop
 .data
-.globl b__MGIA7naqebvq23UcTencuvpOhssreCebqhpreR
+.weak b__MGIA7naqebvq23UcTencuvpOhssreCebqhpreR
 .type b__MGIA7naqebvq23UcTencuvpOhssreCebqhpreR,%object
 b__MGIA7naqebvq23UcTencuvpOhssreCebqhpreR:
 .space __SIZEOF_POINTER__
@@ -1578,7 +1578,7 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag11Genafnpgvba14frgPebc_yrtnplREXAF_2fcVAF_14FhesnprPbagebyRRREXAF_4ErpgR:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_R7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_R7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_R7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_R7__pybarRi:
 nop
@@ -1618,7 +1618,7 @@
 b__MA7naqebvq14FgernzFcyvggre13OhssreGenpxreP2REXAF_2fcVAF_13TencuvpOhssreRRR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF5_RRR10chfu_sebagRBF5_
+.weak b__MAFg3__114__fcyvg_ohssreVCA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF5_RRR10chfu_sebagRBF5_
 .type b__MAFg3__114__fcyvg_ohssreVCA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF5_RRR10chfu_sebagRBF5_,%function
 b__MAFg3__114__fcyvg_ohssreVCA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF5_RRR10chfu_sebagRBF5_:
 nop
@@ -1633,7 +1633,7 @@
 b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_05hgvyf24O2UTencuvpOhssreCebqhpreR0_AF3_22VTencuvpOhssreCebqhpreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF5_RRRAFB_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF5_RRRAFB_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF5_RRRAFB_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF5_RRRAFB_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_:
 nop
@@ -1653,7 +1653,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_05hgvyf19O2UCebqhpreYvfgrareP1REXAF_2fcVAF_17VCebqhpreYvfgrareRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR12qb_pbafgehpgRCiz:
 nop
@@ -1683,7 +1683,7 @@
 b__MGIA7naqebvq14YnlreQrohtVasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR12qb_pbafgehpgRCiz:
 nop
@@ -1708,7 +1708,7 @@
 b__MGPA7naqebvq24OcQvfcynlRiragPbaarpgvbaR0_AF_11OcVagresnprVAF_23VQvfcynlRiragPbaarpgvbaRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1798,7 +1798,7 @@
 b__MGPA7naqebvq18OcPbafhzreYvfgrareR0_AF_16PbafhzreYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR14__nffvta_zhygvVAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRRRiG_FB_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR14__nffvta_zhygvVAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRRRiG_FB_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR14__nffvta_zhygvVAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRRRiG_FB_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR14__nffvta_zhygvVAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRRRiG_FB_:
 nop
@@ -1808,7 +1808,7 @@
 b__MA7naqebvq7Fhesnpr19frgOhssrefGenafsbezRw:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -1828,7 +1828,7 @@
 b__MA7naqebvq14FgernzFcyvggre7frgAnzrREXAF_7Fgevat8R:
 nop
 .text
-.globl b__MAFg3__15qrdhrVA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF4_RRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrVA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF4_RRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrVA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF4_RRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrVA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF4_RRR19__nqq_onpx_pncnpvglRi:
 nop
@@ -1858,7 +1858,7 @@
 b__MA7naqebvq18OcPbafhzreYvfgrareQ0Ri:
 nop
 .data
-.globl b__MGPA7naqebvq23UcTencuvpOhssreCebqhpreR0_AF_22VTencuvpOhssreCebqhpreR
+.weak b__MGPA7naqebvq23UcTencuvpOhssreCebqhpreR0_AF_22VTencuvpOhssreCebqhpreR
 .type b__MGPA7naqebvq23UcTencuvpOhssreCebqhpreR0_AF_22VTencuvpOhssreCebqhpreR,%object
 b__MGPA7naqebvq23UcTencuvpOhssreCebqhpreR0_AF_22VTencuvpOhssreCebqhpreR:
 .space __SIZEOF_POINTER__
@@ -1918,17 +1918,17 @@
 b__MA7naqebvq18OhssreVgrzPbafhzreQ0Ri:
 nop
 .data
-.globl b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_5SraprRRR
+.weak b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_5SraprRRR
 .type b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_5SraprRRR,%object
 b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_5SraprRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF1_18OaCebqhpreYvfgrareRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF1_18OaCebqhpreYvfgrareRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF1_18OaCebqhpreYvfgrareRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF1_18OaCebqhpreYvfgrareRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVyR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVyR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVyR12qb_pbafgehpgRCiz:
 nop
@@ -1973,7 +1973,7 @@
 b__MA7naqebvq13YnlreZrgnqngn5zretrREXF0_o:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVyWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXyRRRAFY_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF5_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVyWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXyRRRAFY_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF5_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVyWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXyRRRAFY_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF5_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVyWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXyRRRAFY_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF5_CiRRRRoRREXG_QcBG0_:
 nop
@@ -1993,12 +1993,12 @@
 b__MGIA7naqebvq18OhssreVgrzPbafhzreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq11PchPbafhzreR0_AF_12PbafhzreOnfrR
+.weak b__MGPA7naqebvq11PchPbafhzreR0_AF_12PbafhzreOnfrR
 .type b__MGPA7naqebvq11PchPbafhzreR0_AF_12PbafhzreOnfrR,%object
 b__MGPA7naqebvq11PchPbafhzreR0_AF_12PbafhzreOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2028,7 +2028,7 @@
 b__MA7naqebvq17OhssreUhoCebqhpre19frgTrarengvbaAhzoreRw:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR8qb_fcyngRCiCXiz:
 nop
@@ -2058,7 +2058,7 @@
 b__MA7naqebvq7FhesnprQ2Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRRQ2Ri
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRRQ2Ri
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRRQ2Ri,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRRQ2Ri:
 nop
@@ -2078,7 +2078,7 @@
 b__MAX7naqebvq23VQvfcynlRiragPbaarpgvba22trgVagresnprQrfpevcgbeRi:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_11QvfcynlVasbRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_11QvfcynlVasbRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_11QvfcynlVasbRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_11QvfcynlVasbRRR:
 .space __SIZEOF_POINTER__
@@ -2118,7 +2118,7 @@
 b__MA7naqebvq10TYPbafhzreP2REXAF_2fcVAF_22VTencuvpOhssrePbafhzreRRRwwoo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq19VachgJvaqbjPbzznaqf25GenafsreGbhpuSbphfPbzznaqRAF_9nyybpngbeVF3_RRR6vafregVAF_13zbir_vgrengbeVAF_11__jenc_vgreVCXF3_RRRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFS_R9ersreraprRRR5inyhrRAF9_VCF3_RRR4glcrRFP_FS_FS_
+.weak b__MAFg3__16irpgbeVA7naqebvq19VachgJvaqbjPbzznaqf25GenafsreGbhpuSbphfPbzznaqRAF_9nyybpngbeVF3_RRR6vafregVAF_13zbir_vgrengbeVAF_11__jenc_vgreVCXF3_RRRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFS_R9ersreraprRRR5inyhrRAF9_VCF3_RRR4glcrRFP_FS_FS_
 .type b__MAFg3__16irpgbeVA7naqebvq19VachgJvaqbjPbzznaqf25GenafsreGbhpuSbphfPbzznaqRAF_9nyybpngbeVF3_RRR6vafregVAF_13zbir_vgrengbeVAF_11__jenc_vgreVCXF3_RRRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFS_R9ersreraprRRR5inyhrRAF9_VCF3_RRR4glcrRFP_FS_FS_,%function
 b__MAFg3__16irpgbeVA7naqebvq19VachgJvaqbjPbzznaqf25GenafsreGbhpuSbphfPbzznaqRAF_9nyybpngbeVF3_RRR6vafregVAF_13zbir_vgrengbeVAF_11__jenc_vgreVCXF3_RRRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFS_R9ersreraprRRR5inyhrRAF9_VCF3_RRR4glcrRFP_FS_FS_:
 nop
@@ -2128,7 +2128,7 @@
 b__MA7naqebvq7Fhesnpr18trgSenzrGvzrfgnzcfRzCyF1_F1_F1_F1_F1_F1_F1_F1_:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRRP2Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRRP2Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRRP2Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRRP2Ri:
 nop
@@ -2173,7 +2173,7 @@
 b__MA7naqebvq29VGenafnpgvbaPbzcyrgrqYvfgrare14frgQrsnhygVzcyRAFg3__110havdhr_cgeVF0_AF1_14qrsnhyg_qryrgrVF0_RRRR:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRRP2Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRRP2Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRRP2Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRRP2Ri:
 nop
@@ -2193,7 +2193,7 @@
 b__MA7naqebvq10TYPbafhzre14trgSenzrAhzoreRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR10qb_qrfgeblRCiz:
 nop
@@ -2208,7 +2208,7 @@
 b__MA7naqebvq17OhssreUhoPbafhzre13npdhverOhssreRCAF_10OhssreVgrzRyz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF_9nyybpngbeVyRRR25__rzcynpr_havdhr_xrl_netfVyWEyRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVyCiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF_9nyybpngbeVyRRR25__rzcynpr_havdhr_xrl_netfVyWEyRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVyCiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF_9nyybpngbeVyRRR25__rzcynpr_havdhr_xrl_netfVyWEyRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVyCiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF_9nyybpngbeVyRRR25__rzcynpr_havdhr_xrl_netfVyWEyRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVyCiRRRRoRREXG_QcBG0_:
 nop
@@ -2218,7 +2218,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_05hgvyf19U2OCebqhpreYvfgrareP2REXAF_2fcVAF3_17VCebqhpreYvfgrareRRR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_14FhesnprPbagebyRRRAF1_21FhesnprPbzcbfrePyvrag6FPUnfuRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_14FhesnprPbagebyRRRAF1_21FhesnprPbzcbfrePyvrag6FPUnfuRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_14FhesnprPbagebyRRRAF1_21FhesnprPbzcbfrePyvrag6FPUnfuRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_14FhesnprPbagebyRRRAF1_21FhesnprPbzcbfrePyvrag6FPUnfuRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR8__erunfuRz:
 nop
@@ -2283,12 +2283,12 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag18trgNpgvirPbybeZbqrREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR8__erunfuRz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRAF2_21FhesnprPbzcbfrePyvrag12PnyyonpxVasbRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF6_7GPYUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF5_RRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRAF2_21FhesnprPbzcbfrePyvrag12PnyyonpxVasbRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF6_7GPYUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF5_RRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRAF2_21FhesnprPbzcbfrePyvrag12PnyyonpxVasbRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF6_7GPYUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF5_RRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRAF2_21FhesnprPbzcbfrePyvrag12PnyyonpxVasbRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF6_7GPYUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF5_RRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_:
 nop
@@ -2343,7 +2343,7 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag15abgvslCbjreUvagRv:
 nop
 .text
-.globl b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR10baGenafnpgRwEXAF_6CnepryRCF8_w
+.weak b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR10baGenafnpgRwEXAF_6CnepryRCF8_w
 .type b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR10baGenafnpgRwEXAF_6CnepryRCF8_w,%function
 b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR10baGenafnpgRwEXAF_6CnepryRCF8_w:
 nop
@@ -2373,7 +2373,7 @@
 b__MGPA7naqebvq18OaPbafhzreYvfgrareR0_AF_11OaVagresnprVAF_17VPbafhzreYvfgrareRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_17VPbafhzreYvfgrareRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_17VPbafhzreYvfgrareRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_17VPbafhzreYvfgrareRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_17VPbafhzreYvfgrareRR10baNfOvaqreRi:
 nop
@@ -2393,7 +2393,7 @@
 b__MA7naqebvq16VFhesnprPbzcbfreQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR7qb_pbclRCiCXiz:
 nop
@@ -2438,7 +2438,7 @@
 b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf24U2OTencuvpOhssreCebqhpreR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRyRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRyRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRyRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRyRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz:
 nop
@@ -2458,7 +2458,7 @@
 b__MA7naqebvq19OhssreDhrhrPbafhzre7pbaarpgREXAF_2fcVAF_17VPbafhzreYvfgrareRRRo:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_
 .type b__MAFg3__114__fcyvg_ohssreVCA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_:
 nop
@@ -2468,7 +2468,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_05hgvyf24O2UTencuvpOhssreCebqhpre16qrgnpuArkgOhssreRAFg3__18shapgvbaVSiAF3_6FgnghfREXAF1_6pbzzba4I1_214UneqjnerOhssreREXAF0_11uvqy_unaqyrRRRR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_17VCebqhpreYvfgrareRRnFRBF2_
+.weak b__MA7naqebvq2fcVAF_17VCebqhpreYvfgrareRRnFRBF2_
 .type b__MA7naqebvq2fcVAF_17VCebqhpreYvfgrareRRnFRBF2_,%function
 b__MA7naqebvq2fcVAF_17VCebqhpreYvfgrareRRnFRBF2_:
 nop
@@ -2478,12 +2478,12 @@
 b__MA7naqebvq10pbairefvba16trgSynggrarqFvmrREXAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpre22SenzrRiragUvfgbelQrygnR:
 nop
 .text
-.globl b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
+.weak b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
 .type b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_,%function
 b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRRP2REXF3_
+.weak b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRRP2REXF3_
 .type b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRRP2REXF3_,%function
 b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRRP2REXF3_:
 nop
@@ -2493,7 +2493,7 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag26qbHapnpurOhssreGenafnpgvbaRz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRAF2_21FhesnprPbzcbfrePyvrag12PnyyonpxVasbRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF6_7GPYUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRAF2_21FhesnprPbzcbfrePyvrag12PnyyonpxVasbRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF6_7GPYUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRAF2_21FhesnprPbzcbfrePyvrag12PnyyonpxVasbRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF6_7GPYUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRAF2_21FhesnprPbzcbfrePyvrag12PnyyonpxVasbRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF6_7GPYUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_:
 nop
@@ -2513,17 +2513,17 @@
 b__MA7naqebvq10TYPbafhzre19npdhverOhssreYbpxrqRCAF_10OhssreVgrzRyz:
 nop
 .text
-.globl b__MAFg3__114__guernq_cebklVAF_5ghcyrVWAF_10havdhr_cgeVAF_15__guernq_fgehpgRAF_14qrsnhyg_qryrgrVF3_RRRRZA7naqebvq12SraprZbavgbeRSiiRCF8_RRRRRCiFQ_
+.weak b__MAFg3__114__guernq_cebklVAF_5ghcyrVWAF_10havdhr_cgeVAF_15__guernq_fgehpgRAF_14qrsnhyg_qryrgrVF3_RRRRZA7naqebvq12SraprZbavgbeRSiiRCF8_RRRRRCiFQ_
 .type b__MAFg3__114__guernq_cebklVAF_5ghcyrVWAF_10havdhr_cgeVAF_15__guernq_fgehpgRAF_14qrsnhyg_qryrgrVF3_RRRRZA7naqebvq12SraprZbavgbeRSiiRCF8_RRRRRCiFQ_,%function
 b__MAFg3__114__guernq_cebklVAF_5ghcyrVWAF_10havdhr_cgeVAF_15__guernq_fgehpgRAF_14qrsnhyg_qryrgrVF3_RRRRZA7naqebvq12SraprZbavgbeRSiiRCF8_RRRRRCiFQ_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRyRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRyRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRyRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRyRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_23VQvfcynlRiragPbaarpgvbaRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_23VQvfcynlRiragPbaarpgvbaRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_23VQvfcynlRiragPbaarpgvbaRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_23VQvfcynlRiragPbaarpgvbaRR10baNfOvaqreRi:
 nop
@@ -2548,7 +2548,7 @@
 b__MAX7naqebvq19VachgJvaqbjPbzznaqf5jevgrREAF_6CnepryR:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRRP1Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRRP1Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRRP1Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRRP1Ri:
 nop
@@ -2568,7 +2568,7 @@
 b__MAX7naqebvq16SenzrRiragfQrygn7synggraRECiEzECvF3_:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_5SraprRRnFRCF1_
+.weak b__MA7naqebvq2fcVAF_5SraprRRnFRCF1_
 .type b__MA7naqebvq2fcVAF_5SraprRRnFRCF1_,%function
 b__MA7naqebvq2fcVAF_5SraprRRnFRCF1_:
 nop
@@ -2583,7 +2583,7 @@
 b__MA7naqebvq13YnlreZrgnqngnP1REXF0_:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRRQ2Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRRQ2Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRRQ2Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRRQ2Ri:
 nop
@@ -2618,7 +2618,7 @@
 b__MAX7naqebvq22VTencuvpOhssreCebqhpre16DhrhrOhssreVachg10trgSqPbhagRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR12qb_pbafgehpgRCiz:
 nop
@@ -2698,7 +2698,7 @@
 b__MA7naqebvq12QvfcynlFgngr5zretrREXF0_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -2728,7 +2728,7 @@
 b__MA7naqebvq7Fhesnpr17frgQrdhrhrGvzrbhgRy:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13CebqhpreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR
+.weak b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13CebqhpreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR
 .type b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13CebqhpreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR,%object
 b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13CebqhpreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR:
 .space __SIZEOF_POINTER__
@@ -2753,7 +2753,7 @@
 b__MAX7naqebvq17OhssreUhoPbafhzre9qhzcFgngrREXAF_7Fgevat8RCF1_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwF5_RRRRRAFV_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwF5_RRRRRAFV_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwF5_RRRRRAFV_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwF5_RRRRRAFV_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_:
 nop
@@ -2798,7 +2798,7 @@
 b__MAX7naqebvq7Fhesnpr25trgVTencuvpOhssreCebqhpreRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR8qb_fcyngRCiCXiz:
 nop
@@ -2828,7 +2828,7 @@
 b__MA7naqebvq7Fhesnpr24qvfcngpuFrgOhssrefSbezngRFg9__in_yvfg:
 nop
 .data
-.globl b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_13TencuvpOhssreRRR
+.weak b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_13TencuvpOhssreRRR
 .type b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_13TencuvpOhssreRRR,%object
 b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_13TencuvpOhssreRRR:
 .space __SIZEOF_POINTER__
@@ -2883,7 +2883,7 @@
 b__MGi0_a24_A7naqebvq19OhssreDhrhrCebqhpreQ1Ri:
 nop
 .text
-.globl b__MGua8_A7naqebvq11OaVagresnprVAF_17VCebqhpreYvfgrareRR10baNfOvaqreRi
+.weak b__MGua8_A7naqebvq11OaVagresnprVAF_17VCebqhpreYvfgrareRR10baNfOvaqreRi
 .type b__MGua8_A7naqebvq11OaVagresnprVAF_17VCebqhpreYvfgrareRR10baNfOvaqreRi,%function
 b__MGua8_A7naqebvq11OaVagresnprVAF_17VCebqhpreYvfgrareRR10baNfOvaqreRi:
 nop
@@ -2908,7 +2908,7 @@
 b__MGPA7naqebvq11OhssreDhrhr21CebklPbafhzreYvfgrareR0_AF_16PbafhzreYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_
 .type b__MAFg3__114__fcyvg_ohssreVCA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_:
 nop
@@ -2918,12 +2918,12 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag11Genafnpgvba4fubjREXAF_2fcVAF_14FhesnprPbagebyRRR:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRR11trgVafgnaprRi
+.weak b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRR11trgVafgnaprRi
 .type b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRR11trgVafgnaprRi,%function
 b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRR11trgVafgnaprRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq12FhesnprFgngfRAF_9nyybpngbeVF2_RRRP2REXF5_
+.weak b__MAFg3__16irpgbeVA7naqebvq12FhesnprFgngfRAF_9nyybpngbeVF2_RRRP2REXF5_
 .type b__MAFg3__16irpgbeVA7naqebvq12FhesnprFgngfRAF_9nyybpngbeVF2_RRRP2REXF5_,%function
 b__MAFg3__16irpgbeVA7naqebvq12FhesnprFgngfRAF_9nyybpngbeVF2_RRRP2REXF5_:
 nop
@@ -2963,7 +2963,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf24U2OTencuvpOhssreCebqhpre7pbaarpgREXAF_2fcVAF_17VCebqhpreYvfgrareRRRvoCAF_22VTencuvpOhssreCebqhpre17DhrhrOhssreBhgchgR:
 nop
 .data
-.globl b__MTIMA7naqebvq17OhssreUhoCebqhpre11traHavdhrVqRiR2vq
+.weak b__MTIMA7naqebvq17OhssreUhoCebqhpre11traHavdhrVqRiR2vq
 .type b__MTIMA7naqebvq17OhssreUhoCebqhpre11traHavdhrVqRiR2vq,%object
 b__MTIMA7naqebvq17OhssreUhoCebqhpre11traHavdhrVqRiR2vq:
 .space __SIZEOF_POINTER__
@@ -3023,7 +3023,7 @@
 b__MGGA7naqebvq17VCebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVAF0_VC13angvir_unaqyrAF_9nyybpngbeVF2_RRRRAF3_VF5_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF0_VC13angvir_unaqyrAF_9nyybpngbeVF2_RRRRAF3_VF5_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF0_VC13angvir_unaqyrAF_9nyybpngbeVF2_RRRRAF3_VF5_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF0_VC13angvir_unaqyrAF_9nyybpngbeVF2_RRRRAF3_VF5_RRR8__nccraqRz:
 nop
@@ -3043,7 +3043,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_05hgvyf24O2UTencuvpOhssreCebqhpre12frgNflapZbqrRo:
 nop
 .data
-.globl b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR8BovghnelR
+.weak b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR8BovghnelR
 .type b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR8BovghnelR,%object
 b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR8BovghnelR:
 .space __SIZEOF_POINTER__
@@ -3083,7 +3083,7 @@
 b__MA7naqebvq19VachgJvaqbjPbzznaqf5pyrneRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR7qb_pbclRCiCXiz:
 nop
@@ -3133,7 +3133,7 @@
 b__MAX7naqebvq19OhssreDhrhrCebqhpre16trgPbafhzreHfntrRCz:
 nop
 .data
-.globl b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR8BovghnelR
+.weak b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR8BovghnelR
 .type b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR8BovghnelR,%object
 b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR8BovghnelR:
 .space __SIZEOF_POINTER__
@@ -3153,7 +3153,7 @@
 b__MA7naqebvq15OhssreDhrhrPber26nqwhfgNinvynoyrFybgfYbpxrqRv:
 nop
 .data
-.globl b__MA7naqebvq17VCebqhpreYvfgrare27fTrgUnyGbxraGenafnpgvbaPbqrR
+.weak b__MA7naqebvq17VCebqhpreYvfgrare27fTrgUnyGbxraGenafnpgvbaPbqrR
 .type b__MA7naqebvq17VCebqhpreYvfgrare27fTrgUnyGbxraGenafnpgvbaPbqrR,%object
 b__MA7naqebvq17VCebqhpreYvfgrare27fTrgUnyGbxraGenafnpgvbaPbqrR:
 .space __SIZEOF_POINTER__
@@ -3183,22 +3183,22 @@
 b__MA7naqebvq10TYPbafhzre19trgPheeragQngnFcnprRi:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_12QvfcynlFgngrRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_12QvfcynlFgngrRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_12QvfcynlFgngrRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_12QvfcynlFgngrRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRRQ2Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRRQ2Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRRQ2Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRRQ2Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz:
 nop
@@ -3218,7 +3218,7 @@
 b__MA7naqebvq7Fhesnpr19frgOhssrefGvzrfgnzcRy:
 nop
 .text
-.globl b__MAFg3__15qrdhrVA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF4_RRR9cbc_sebagRi
+.weak b__MAFg3__15qrdhrVA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF4_RRR9cbc_sebagRi
 .type b__MAFg3__15qrdhrVA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF4_RRR9cbc_sebagRi,%function
 b__MAFg3__15qrdhrVA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF4_RRR9cbc_sebagRi:
 nop
@@ -3228,17 +3228,17 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag22trgNavzngvbaSenzrFgngfRCAF_10SenzrFgngfR:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRRQ2Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRRQ2Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRRQ2Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRRQ2Ri:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_R7__pybarRCAF0_6__onfrVF3_RR
+.weak b__MAXFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_R7__pybarRCAF0_6__onfrVF3_RR
 .type b__MAXFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_R7__pybarRCAF0_6__onfrVF3_RR,%function
 b__MAXFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_R7__pybarRCAF0_6__onfrVF3_RR:
 nop
 .text
-.globl b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR5renfrRAF_21__gerr_pbafg_vgrengbeVvCAF_11__gerr_abqrVvCiRRyRR
+.weak b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR5renfrRAF_21__gerr_pbafg_vgrengbeVvCAF_11__gerr_abqrVvCiRRyRR
 .type b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR5renfrRAF_21__gerr_pbafg_vgrengbeVvCAF_11__gerr_abqrVvCiRRyRR,%function
 b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR5renfrRAF_21__gerr_pbafg_vgrengbeVvCAF_11__gerr_abqrVvCiRRyRR:
 nop
@@ -3268,7 +3268,7 @@
 b__MA7naqebvq7Fhesnpr20frgOhssrefQvzrafvbafRww:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz:
 nop
@@ -3338,7 +3338,7 @@
 b__MA7naqebvq11OhssreDhrhr21CebklPbafhzreYvfgrare17baOhssrefEryrnfrqRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR8qb_fcyngRCiCXiz:
 nop
@@ -3353,7 +3353,7 @@
 b__MA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare20fgnegYvfgravatYbpxrqRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_14FhesnprPbagebyRRRAF1_21FhesnprPbzcbfrePyvrag6FPUnfuRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_14FhesnprPbagebyRRRAF1_21FhesnprPbzcbfrePyvrag6FPUnfuRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_14FhesnprPbagebyRRRAF1_21FhesnprPbzcbfrePyvrag6FPUnfuRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_14FhesnprPbagebyRRRAF1_21FhesnprPbzcbfrePyvrag6FPUnfuRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR6erunfuRz:
 nop
@@ -3388,7 +3388,7 @@
 b__MGua8_A7naqebvq23OcTencuvpOhssrePbafhzreQ1Ri:
 nop
 .data
-.globl b__MGGA7naqebvq23UcTencuvpOhssreCebqhpreR
+.weak b__MGGA7naqebvq23UcTencuvpOhssreCebqhpreR
 .type b__MGGA7naqebvq23UcTencuvpOhssreCebqhpreR,%object
 b__MGGA7naqebvq23UcTencuvpOhssreCebqhpreR:
 .space __SIZEOF_POINTER__
@@ -3443,7 +3443,7 @@
 b__MA7naqebvq7Fhesnpr28qvfcngpuFrgOhssrefQvzrafvbafRFg9__in_yvfg:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13CebqhpreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13CebqhpreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13CebqhpreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13CebqhpreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi:
 nop
@@ -3463,7 +3463,7 @@
 b__MA7naqebvq10TYPbafhzre18trgGenafsbezZngevkRCs:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF1_18OaCebqhpreYvfgrareRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF1_18OaCebqhpreYvfgrareRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF1_18OaCebqhpreYvfgrareRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF1_18OaCebqhpreYvfgrareRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_:
 nop
@@ -3478,7 +3478,7 @@
 b__MA7naqebvq25PbafhzreSenzrRiragUvfgbel8nqqDhrhrREXAF_19ArjSenzrRiragfRagelR:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRR11trgVafgnaprRi
+.weak b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRR11trgVafgnaprRi
 .type b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRR11trgVafgnaprRi,%function
 b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRR11trgVafgnaprRi:
 nop
@@ -3498,7 +3498,7 @@
 b__MGPA7naqebvq30OaGenafnpgvbaPbzcyrgrqYvfgrareR0_AF_11OaVagresnprVAF_29VGenafnpgvbaPbzcyrgrqYvfgrareRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRRQ1Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRRQ1Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRRQ1Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRRQ1Ri:
 nop
@@ -3563,7 +3563,7 @@
 b__MAX7naqebvq15OhssreDhrhrPber33trgZvaHaqrdhrhrqOhssrePbhagYbpxrqRi:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
@@ -3618,7 +3618,7 @@
 b__MA7naqebvq19OhssreDhrhrPbafhzre22frgPbafhzreVfCebgrpgrqRo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq16SenzrRiragfQrygnRAF_9nyybpngbeVF2_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVA7naqebvq16SenzrRiragfQrygnRAF_9nyybpngbeVF2_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVA7naqebvq16SenzrRiragfQrygnRAF_9nyybpngbeVF2_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVA7naqebvq16SenzrRiragfQrygnRAF_9nyybpngbeVF2_RRR7erfreirRz:
 nop
@@ -3683,7 +3683,7 @@
 b__MAX7naqebvq10TYPbafhzre19trgPheeragSraprGvzrRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq16GenafnpgvbaFgngfRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq16GenafnpgvbaFgngfRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq16GenafnpgvbaFgngfRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq16GenafnpgvbaFgngfRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -3698,7 +3698,7 @@
 b__MA7naqebvq10TYPbafhzre19frgSvygrevatRanoyrqRo:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR10qb_qrfgeblRCiz:
 nop
@@ -3748,12 +3748,12 @@
 b__MA7naqebvq25PbafhzreSenzrRiragUvfgbelQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_17VCebqhpreYvfgrareRRP2VAF_21QhzzlCebqhpreYvfgrareRRRCG_
+.weak b__MA7naqebvq2fcVAF_17VCebqhpreYvfgrareRRP2VAF_21QhzzlCebqhpreYvfgrareRRRCG_
 .type b__MA7naqebvq2fcVAF_17VCebqhpreYvfgrareRRP2VAF_21QhzzlCebqhpreYvfgrareRRRCG_,%function
 b__MA7naqebvq2fcVAF_17VCebqhpreYvfgrareRRP2VAF_21QhzzlCebqhpreYvfgrareRRRCG_:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13PbafhzreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR
+.weak b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13PbafhzreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR
 .type b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13PbafhzreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR,%object
 b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13PbafhzreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR:
 .space __SIZEOF_POINTER__
@@ -3768,7 +3768,7 @@
 b__MGi0_a24_A7naqebvq19OhssreDhrhrPbafhzreQ0Ri:
 nop
 .data
-.globl b__MGIA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRR
+.weak b__MGIA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRR
 .type b__MGIA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRR,%object
 b__MGIA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRR:
 .space __SIZEOF_POINTER__
@@ -3793,7 +3793,7 @@
 b__MA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare28nqqFhesnprPbagebyGbPnyyonpxfREXAF_2fcVAF_14FhesnprPbagebyRRREXAFg3__113habeqrerq_frgVyAF6_4unfuVyRRAF6_8rdhny_gbVyRRAF6_9nyybpngbeVyRRRR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRAF2_21FhesnprPbzcbfrePyvrag12PnyyonpxVasbRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF6_7GPYUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRAF2_21FhesnprPbzcbfrePyvrag12PnyyonpxVasbRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF6_7GPYUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRAF2_21FhesnprPbzcbfrePyvrag12PnyyonpxVasbRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF6_7GPYUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRAF2_21FhesnprPbzcbfrePyvrag12PnyyonpxVasbRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF6_7GPYUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz:
 nop
@@ -3853,7 +3853,7 @@
 b__MA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrareP1Ri:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_5SraprRRnFREXF2_
+.weak b__MA7naqebvq2fcVAF_5SraprRRnFREXF2_
 .type b__MA7naqebvq2fcVAF_5SraprRRnFREXF2_,%function
 b__MA7naqebvq2fcVAF_5SraprRRnFREXF2_:
 nop
@@ -3868,12 +3868,12 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag18vfJvqrPbybeQvfcynlREXAF_2fcVAF_7VOvaqreRRRCo:
 nop
 .text
-.globl b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR
+.weak b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR
 .type b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR,%function
 b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR:
 nop
 .data
-.globl b__MGPA7naqebvq18UcCebqhpreYvfgrareR0_AF_16CebqhpreYvfgrareR
+.weak b__MGPA7naqebvq18UcCebqhpreYvfgrareR0_AF_16CebqhpreYvfgrareR
 .type b__MGPA7naqebvq18UcCebqhpreYvfgrareR0_AF_16CebqhpreYvfgrareR,%object
 b__MGPA7naqebvq18UcCebqhpreYvfgrareR0_AF_16CebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
@@ -3933,7 +3933,7 @@
 b__MA7naqebvq17OhssreUhoCebqhpre6PerngrREXAFg3__110funerq_cgeVAF_3qie13CebqhpreDhrhrRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -3978,7 +3978,7 @@
 b__MGIA7naqebvq30OaGenafnpgvbaPbzcyrgrqYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR8qb_fcyngRCiCXiz:
 nop
@@ -4113,7 +4113,7 @@
 b__MA7naqebvq17OhssreUhoPbafhzre20frgQrsnhygOhssreFvmrRww:
 nop
 .text
-.globl b__MA7naqebvq6Cnepry5jevgrVAF_10SenzrFgngfRRRvEXAF_16YvtugSynggranoyrVG_RR
+.weak b__MA7naqebvq6Cnepry5jevgrVAF_10SenzrFgngfRRRvEXAF_16YvtugSynggranoyrVG_RR
 .type b__MA7naqebvq6Cnepry5jevgrVAF_10SenzrFgngfRRRvEXAF_16YvtugSynggranoyrVG_RR,%function
 b__MA7naqebvq6Cnepry5jevgrVAF_10SenzrFgngfRRRvEXAF_16YvtugSynggranoyrVG_RR:
 nop
@@ -4228,7 +4228,7 @@
 b__MGPA7naqebvq24OaErtvbaFnzcyvatYvfgrareR0_AF_15FnsrOaVagresnprVAF_23VErtvbaFnzcyvatYvfgrareRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_16VFhesnprPbzcbfreRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_16VFhesnprPbzcbfreRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_16VFhesnprPbzcbfreRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_16VFhesnprPbzcbfreRR10baNfOvaqreRi:
 nop
@@ -4263,7 +4263,7 @@
 b__MA7naqebvq14YnlreQrohtVasb14ernqSebzCnepryRCXAF_6CnepryR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR21__rzcynpr_havdhr_vzcyVWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFB_VWEXF7_RRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRRQcBG_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR21__rzcynpr_havdhr_vzcyVWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFB_VWEXF7_RRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRRQcBG_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR21__rzcynpr_havdhr_vzcyVWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFB_VWEXF7_RRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRRQcBG_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR21__rzcynpr_havdhr_vzcyVWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFB_VWEXF7_RRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRRQcBG_:
 nop
@@ -4283,7 +4283,7 @@
 b__MGGA7naqebvq12PbafhzreOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -4313,7 +4313,7 @@
 b__MGi0_a24_A7naqebvq22VTencuvpOhssrePbafhzreQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -4328,7 +4328,7 @@
 b__MGPA7naqebvq30OcGenafnpgvbaPbzcyrgrqYvfgrareR0_AF_15FnsrOcVagresnprVAF_29VGenafnpgvbaPbzcyrgrqYvfgrareRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -4368,7 +4368,7 @@
 b__MA7naqebvq10TYPbafhzre15eryrnfrGrkVzntrRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -4378,7 +4378,7 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag11Genafnpgvba14frgUqeZrgnqngnREXAF_2fcVAF_14FhesnprPbagebyRRREXAF_11UqeZrgnqngnR:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRRR:
 .space __SIZEOF_POINTER__
@@ -4393,12 +4393,12 @@
 b__MA7naqebvq17OhssreUhoPbafhzre16frgGenafsbezUvagRw:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_5SraprRR5pyrneRi
+.weak b__MA7naqebvq2fcVAF_5SraprRR5pyrneRi
 .type b__MA7naqebvq2fcVAF_5SraprRR5pyrneRi,%function
 b__MA7naqebvq2fcVAF_5SraprRR5pyrneRi:
 nop
 .text
-.globl b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR10baGenafnpgRwEXAF_6CnepryRCF8_w
+.weak b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR10baGenafnpgRwEXAF_6CnepryRCF8_w
 .type b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR10baGenafnpgRwEXAF_6CnepryRCF8_w,%function
 b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR10baGenafnpgRwEXAF_6CnepryRCF8_w:
 nop
@@ -4428,7 +4428,7 @@
 b__MAX7naqebvq19OhssreDhrhrCebqhpre11trgHavdhrVqRCz:
 nop
 .data
-.globl b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_10OhssreVgrzRRR
+.weak b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_10OhssreVgrzRRR
 .type b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_10OhssreVgrzRRR,%object
 b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_10OhssreVgrzRRR:
 .space __SIZEOF_POINTER__
@@ -4448,7 +4448,7 @@
 b__MA7naqebvq7Fhesnpr35qvfcngpuFrgOhssrefFzcgr2086ZrgnqngnRFg9__in_yvfg:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_R7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_R7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_R7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_R7qrfgeblRi:
 nop
@@ -4458,12 +4458,12 @@
 b__MA7naqebvq7Fhesnpr27qvfcngpuTrgPbzcbfvgbeGvzvatRFg9__in_yvfg:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR6erunfuRz:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA7naqebvq16BpphcnaplGenpxre7FrtzragREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCA7naqebvq16BpphcnaplGenpxre7FrtzragREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
 .type b__MAFg3__114__fcyvg_ohssreVCA7naqebvq16BpphcnaplGenpxre7FrtzragREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCA7naqebvq16BpphcnaplGenpxre7FrtzragREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_:
 nop
@@ -4528,7 +4528,7 @@
 b__MA7naqebvq7Fhesnpr7pbaarpgRvEXAF_2fcVAF_17VCebqhpreYvfgrareRRR:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13CebqhpreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13CebqhpreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13CebqhpreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13CebqhpreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -4538,7 +4538,7 @@
 b__MA7naqebvq15PbzcbfreFreivpr18trgPbzcbfreFreivprRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR12qb_pbafgehpgRCiz:
 nop
@@ -4578,7 +4578,7 @@
 b__MA7naqebvq25PbafhzreSenzrRiragUvfgbel17nqqCerPbzcbfvgvbaRzy:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR10qb_qrfgeblRCiz:
 nop
@@ -4588,7 +4588,7 @@
 b__MA7naqebvq14FgernzFcyvggreQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -4613,7 +4613,7 @@
 b__MA7naqebvq12PbafhzreOnfr16baSenzrNinvynoyrREXAF_10OhssreVgrzR:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RR18qrfgebl_qrnyybpngrRi:
 nop
@@ -4633,7 +4633,7 @@
 b__MA7naqebvq23VQvfcynlRiragPbaarpgvbaQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVyR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVyR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVyR8qb_fcyngRCiCXiz:
 nop
@@ -4743,7 +4743,7 @@
 b__MGPA7naqebvq24OcErtvbaFnzcyvatYvfgrareR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVyR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVyR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVyR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -4788,12 +4788,12 @@
 b__MGPA7naqebvq18OcPbafhzreYvfgrareR8_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVC13angvir_unaqyrAF_9nyybpngbeVF2_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVC13angvir_unaqyrAF_9nyybpngbeVF2_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVC13angvir_unaqyrAF_9nyybpngbeVF2_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVC13angvir_unaqyrAF_9nyybpngbeVF2_RRR8__nccraqRz:
 nop
 .text
-.globl b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR10baGenafnpgRwEXAF_6CnepryRCF8_w
+.weak b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR10baGenafnpgRwEXAF_6CnepryRCF8_w
 .type b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR10baGenafnpgRwEXAF_6CnepryRCF8_w,%function
 b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR10baGenafnpgRwEXAF_6CnepryRCF8_w:
 nop
@@ -4808,7 +4808,7 @@
 b__MA7naqebvq13YnlreZrgnqngn8frgVag32Rwv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF3_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF3_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF3_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF3_RRR8__nccraqRz:
 nop
@@ -4828,7 +4828,7 @@
 b__MA7naqebvq14FhesnprPbagebyP1REXAF_2fcVAF_21FhesnprPbzcbfrePyvragRRREXAF1_VAF_7VOvaqreRRREXAF1_VAF_22VTencuvpOhssreCebqhpreRRRo:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR12qb_pbafgehpgRCiz:
 nop
@@ -4843,7 +4843,7 @@
 b__MA7naqebvq20QvfcynlRiragErprvireP1RAF_16VFhesnprPbzcbfre11IflapFbheprRAF1_13PbasvtPunatrqR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR7qb_pbclRCiCXiz:
 nop
@@ -4903,7 +4903,7 @@
 b__MGPA7naqebvq19OhssreDhrhrPbafhzreR0_AF_23OaTencuvpOhssrePbafhzreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz:
 nop
@@ -5023,7 +5023,7 @@
 b__MA7naqebvq13YnlreZrgnqngnnFREXF0_:
 nop
 .data
-.globl b__MGPA7naqebvq18UcCebqhpreYvfgrareR0_AF_11UcVagresnprVAF_18OcCebqhpreYvfgrareRAF_8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf19U2OCebqhpreYvfgrareRWAF4_4I2_05hgvyf19U2OCebqhpreYvfgrareRRRR
+.weak b__MGPA7naqebvq18UcCebqhpreYvfgrareR0_AF_11UcVagresnprVAF_18OcCebqhpreYvfgrareRAF_8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf19U2OCebqhpreYvfgrareRWAF4_4I2_05hgvyf19U2OCebqhpreYvfgrareRRRR
 .type b__MGPA7naqebvq18UcCebqhpreYvfgrareR0_AF_11UcVagresnprVAF_18OcCebqhpreYvfgrareRAF_8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf19U2OCebqhpreYvfgrareRWAF4_4I2_05hgvyf19U2OCebqhpreYvfgrareRRRR,%object
 b__MGPA7naqebvq18UcCebqhpreYvfgrareR0_AF_11UcVagresnprVAF_18OcCebqhpreYvfgrareRAF_8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf19U2OCebqhpreYvfgrareRWAF4_4I2_05hgvyf19U2OCebqhpreYvfgrareRRRR:
 .space __SIZEOF_POINTER__
@@ -5063,7 +5063,7 @@
 b__MGPA7naqebvq18OaCebqhpreYvfgrareR16_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR10baGenafnpgRwEXAF_6CnepryRCF8_w
+.weak b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR10baGenafnpgRwEXAF_6CnepryRCF8_w
 .type b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR10baGenafnpgRwEXAF_6CnepryRCF8_w,%function
 b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR10baGenafnpgRwEXAF_6CnepryRCF8_w:
 nop
@@ -5093,7 +5093,7 @@
 b__MGua16_A7naqebvq18OcPbafhzreYvfgrareQ1Ri:
 nop
 .data
-.globl b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_22SenzrRiragUvfgbelQrygnRRR
+.weak b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_22SenzrRiragUvfgbelQrygnRRR
 .type b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_22SenzrRiragUvfgbelQrygnRRR,%object
 b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_22SenzrRiragUvfgbelQrygnRRR:
 .space __SIZEOF_POINTER__
@@ -5103,12 +5103,12 @@
 b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf19U2OCebqhpreYvfgrareR0_AF_16CebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113__irpgbe_onfrVA7naqebvq17YvfgrarePnyyonpxfRAF_9nyybpngbeVF2_RRRQ2Ri
+.weak b__MAFg3__113__irpgbe_onfrVA7naqebvq17YvfgrarePnyyonpxfRAF_9nyybpngbeVF2_RRRQ2Ri
 .type b__MAFg3__113__irpgbe_onfrVA7naqebvq17YvfgrarePnyyonpxfRAF_9nyybpngbeVF2_RRRQ2Ri,%function
 b__MAFg3__113__irpgbe_onfrVA7naqebvq17YvfgrarePnyyonpxfRAF_9nyybpngbeVF2_RRRQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR7erfreirRz
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR7erfreirRz
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR7erfreirRz,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR7erfreirRz:
 nop
@@ -5118,7 +5118,7 @@
 b__MA7naqebvq29VGenafnpgvbaPbzcyrgrqYvfgrare12qrsnhyg_vzcyR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_17VPbafhzreYvfgrareRRnFREXF2_
+.weak b__MA7naqebvq2fcVAF_17VPbafhzreYvfgrareRRnFREXF2_
 .type b__MA7naqebvq2fcVAF_17VPbafhzreYvfgrareRRnFREXF2_,%function
 b__MA7naqebvq2fcVAF_17VPbafhzreYvfgrareRRnFREXF2_:
 nop
@@ -5128,7 +5128,7 @@
 b__MGua8_A7naqebvq23OcTencuvpOhssreCebqhpreQ0Ri:
 nop
 .text
-.globl b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
+.weak b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
 .type b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw,%function
 b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw:
 nop
@@ -5173,7 +5173,7 @@
 b__MAX7naqebvq17SenzrRiragUvfgbel4qhzcREAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRRR
+.weak b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRRR
 .type b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRRR,%object
 b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRRR:
 .space __SIZEOF_POINTER__
@@ -5228,7 +5228,7 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag11Genafnpgvba28qrsreGenafnpgvbaHagvy_yrtnplREXAF_2fcVAF_14FhesnprPbagebyRRREXAF2_VAF_7FhesnprRRRz:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RRpyRByFN_FU_
+.weak b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RRpyRByFN_FU_
 .type b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RRpyRByFN_FU_,%function
 b__MAFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RRpyRByFN_FU_:
 nop
@@ -5238,7 +5238,7 @@
 b__MGIA7naqebvq25PbafhzreSenzrRiragUvfgbelR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVyRR
+.weak b__MGIA7naqebvq6IrpgbeVyRR
 .type b__MGIA7naqebvq6IrpgbeVyRR,%object
 b__MGIA7naqebvq6IrpgbeVyRR:
 .space __SIZEOF_POINTER__
@@ -5293,7 +5293,7 @@
 b__MGPA7naqebvq11OhssreDhrhr21CebklPbafhzreYvfgrareR0_AF_17VPbafhzreYvfgrareR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_22VTencuvpOhssreCebqhpre17DhrhrOhssreBhgchgRRR
+.weak b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_22VTencuvpOhssreCebqhpre17DhrhrOhssreBhgchgRRR
 .type b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_22VTencuvpOhssreCebqhpre17DhrhrOhssreBhgchgRRR,%object
 b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_22VTencuvpOhssreCebqhpre17DhrhrOhssreBhgchgRRR:
 .space __SIZEOF_POINTER__
@@ -5303,7 +5303,7 @@
 b__MGua8_A7naqebvq17VCebqhpreYvfgrareQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR10qb_qrfgeblRCiz:
 nop
@@ -5318,17 +5318,17 @@
 b__MAX7naqebvq7Fhesnpr5dhrelRvCv:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RR7__pybarRCAF0_6__onfrVFM_RR
+.weak b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RR7__pybarRCAF0_6__onfrVFM_RR
 .type b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RR7__pybarRCAF0_6__onfrVFM_RR,%function
 b__MAXFg3__110__shapgvba6__shapVAF_6__ovaqVEAF_8shapgvbaVSiCiyEXA7naqebvq2fcVAF5_5SraprRRREXAF_6irpgbeVAF5_19FhesnprPbagebyFgngfRAF_9nyybpngbeVFP_RRRRRRRWEF4_EXAF_12cynprubyqref4__cuVYv1RRREXAFA_VYv2RRREXAFA_VYv3RRRRRRAFQ_VFK_RRSiyFN_FU_RR7__pybarRCAF0_6__onfrVFM_RR:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi:
 nop
 .data
-.globl b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_22VTencuvpOhssreCebqhpre16DhrhrOhssreVachgRRR
+.weak b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_22VTencuvpOhssreCebqhpre16DhrhrOhssreVachgRRR
 .type b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_22VTencuvpOhssreCebqhpre16DhrhrOhssreVachgRRR,%object
 b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_22VTencuvpOhssreCebqhpre16DhrhrOhssreVachgRRR:
 .space __SIZEOF_POINTER__
@@ -5353,7 +5353,7 @@
 b__MGPA7naqebvq18OcPbafhzreYvfgrareR0_AF_15FnsrOcVagresnprVAF_17VPbafhzreYvfgrareRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR10baGenafnpgRwEXAF_6CnepryRCF8_w
+.weak b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR10baGenafnpgRwEXAF_6CnepryRCF8_w
 .type b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR10baGenafnpgRwEXAF_6CnepryRCF8_w,%function
 b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR10baGenafnpgRwEXAF_6CnepryRCF8_w:
 nop
@@ -5373,7 +5373,7 @@
 b__MGua8_A7naqebvq24OcErtvbaFnzcyvatYvfgrareQ1Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR14__renfr_havdhrVvRRzEXG_
+.weak b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR14__renfr_havdhrVvRRzEXG_
 .type b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR14__renfr_havdhrVvRRzEXG_,%function
 b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR14__renfr_havdhrVvRRzEXG_:
 nop
@@ -5393,7 +5393,7 @@
 b__MA7naqebvq19OhssreDhrhrPbafhzre25frgZnkNpdhverqOhssrePbhagRv:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_16BpphcnaplGenpxre7FrtzragRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR
+.weak b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_16BpphcnaplGenpxre7FrtzragRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR
 .type b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_16BpphcnaplGenpxre7FrtzragRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR,%function
 b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_16BpphcnaplGenpxre7FrtzragRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR:
 nop
@@ -5408,7 +5408,7 @@
 b__MA7naqebvq14FgernzFcyvggre14BhgchgYvfgrareQ0Ri:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRRR:
 .space __SIZEOF_POINTER__
@@ -5438,7 +5438,7 @@
 b__MA7naqebvq20QvfcynlRiragErprvireQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_22VFhesnprPbzcbfrePyvragRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_22VFhesnprPbzcbfrePyvragRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_22VFhesnprPbzcbfrePyvragRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_22VFhesnprPbzcbfrePyvragRR10baNfOvaqreRi:
 nop
@@ -5458,12 +5458,12 @@
 b__MGGA7naqebvq21QhzzlCebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzyRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzyRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzyRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzyRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR8__erunfuRz:
 nop
@@ -5513,12 +5513,12 @@
 b__MA7naqebvq10pbairefvba9pbairegGbRCAF_22SenzrRiragUvfgbelQrygnREXAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpre22SenzrRiragUvfgbelQrygnR:
 nop
 .text
-.globl b__MA7naqebvq6Cnepry5jevgrVAF_4ErpgRRRvEXAF_16YvtugSynggranoyrVG_RR
+.weak b__MA7naqebvq6Cnepry5jevgrVAF_4ErpgRRRvEXAF_16YvtugSynggranoyrVG_RR
 .type b__MA7naqebvq6Cnepry5jevgrVAF_4ErpgRRRvEXAF_16YvtugSynggranoyrVG_RR,%function
 b__MA7naqebvq6Cnepry5jevgrVAF_4ErpgRRRvEXAF_16YvtugSynggranoyrVG_RR:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_R18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_R18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_R18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVCSiCizRAF_9nyybpngbeVF4_RRF3_R18qrfgebl_qrnyybpngrRi:
 nop
@@ -5543,7 +5543,7 @@
 b__MA7naqebvq10TYPbafhzre15frgEryrnfrSraprREXAF_2fcVAF_5SraprRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR12qb_pbafgehpgRCiz:
 nop
@@ -5553,7 +5553,7 @@
 b__MGGA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf19U2OCebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRR11trgVafgnaprRi
+.weak b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRR11trgVafgnaprRi
 .type b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRR11trgVafgnaprRi,%function
 b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRR11trgVafgnaprRi:
 nop
@@ -5598,7 +5598,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf19U2OCebqhpreYvfgrareP2REXAF_2fcVAF3_17VCebqhpreYvfgrareRRR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR6erunfuRz:
 nop
@@ -5613,7 +5613,7 @@
 b__MA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare15trgArkgVqYbpxrqRi:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq9SraprGvzrRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -5678,7 +5678,7 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag24trgPbzcbfvgvbaCersreraprRCAF_8uneqjner8tencuvpf6pbzzba4I1_29QngnfcnprRCAF4_11CvkrySbezngRF6_F8_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR12qb_pbafgehpgRCiz:
 nop
@@ -5713,7 +5713,7 @@
 b__MA7naqebvq10pbairefvba9pbairegGbRCAF_22VTencuvpOhssreCebqhpre17DhrhrOhssreBhgchgREXAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpre17DhrhrOhssreBhgchgR:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_29VGenafnpgvbaPbzcyrgrqYvfgrareRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_29VGenafnpgvbaPbzcyrgrqYvfgrareRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_29VGenafnpgvbaPbzcyrgrqYvfgrareRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_29VGenafnpgvbaPbzcyrgrqYvfgrareRR10baNfOvaqreRi:
 nop
@@ -5733,7 +5733,7 @@
 b__MA7naqebvq18OcPbafhzreYvfgrareQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq12FhesnprFgngfRAF_9nyybpngbeVF2_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq12FhesnprFgngfRAF_9nyybpngbeVF2_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq12FhesnprFgngfRAF_9nyybpngbeVF2_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq12FhesnprFgngfRAF_9nyybpngbeVF2_RRR8__nccraqRz:
 nop
@@ -5753,7 +5753,7 @@
 b__MA7naqebvq7Fhesnpr10qvfpbaarpgRvAF_22VTencuvpOhssreCebqhpre14QvfpbaarpgZbqrR:
 nop
 .data
-.globl b__MGPA7naqebvq23UcTencuvpOhssreCebqhpreR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq23UcTencuvpOhssreCebqhpreR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq23UcTencuvpOhssreCebqhpreR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq23UcTencuvpOhssreCebqhpreR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -5783,7 +5783,7 @@
 b__MGi0_a24_A7naqebvq18OcPbafhzreYvfgrareQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRR11unfVafgnaprRi
+.weak b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRR11unfVafgnaprRi
 .type b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRR11unfVafgnaprRi,%function
 b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRR11unfVafgnaprRi:
 nop
@@ -5798,7 +5798,7 @@
 b__MA7naqebvq22VTencuvpOhssreCebqhpreQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR10qb_qrfgeblRCiz:
 nop
@@ -5818,12 +5818,12 @@
 b__MGPA7naqebvq23OaFhesnprPbzcbfrePyvragR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq19VachgJvaqbjPbzznaqf25GenafsreGbhpuSbphfPbzznaqRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEF3_RRRiQcBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq19VachgJvaqbjPbzznaqf25GenafsreGbhpuSbphfPbzznaqRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEF3_RRRiQcBG_
 .type b__MAFg3__16irpgbeVA7naqebvq19VachgJvaqbjPbzznaqf25GenafsreGbhpuSbphfPbzznaqRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEF3_RRRiQcBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq19VachgJvaqbjPbzznaqf25GenafsreGbhpuSbphfPbzznaqRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEF3_RRRiQcBG_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFB_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFB_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFB_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_7VOvaqreRRRAF3_VAF2_14FhesnprPbagebyRRRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF2_28GenafnpgvbaPbzcyrgrqYvfgrare11VOvaqreUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF5_RRRAFB_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_:
 nop
@@ -5843,7 +5843,7 @@
 b__MA7naqebvq17VPbafhzreYvfgrare12qrsnhyg_vzcyR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq18UcCebqhpreYvfgrareR8_AF_10VVagresnprR
+.weak b__MGPA7naqebvq18UcCebqhpreYvfgrareR8_AF_10VVagresnprR
 .type b__MGPA7naqebvq18UcCebqhpreYvfgrareR8_AF_10VVagresnprR,%object
 b__MGPA7naqebvq18UcCebqhpreYvfgrareR8_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -5858,7 +5858,7 @@
 b__MAX7naqebvq10TYPbafhzre15trgPheeragSraprRi:
 nop
 .text
-.globl b__MA7naqebvq2jcVAF_7VOvaqreRRnFREXAF_2fcVF1_RR
+.weak b__MA7naqebvq2jcVAF_7VOvaqreRRnFREXAF_2fcVF1_RR
 .type b__MA7naqebvq2jcVAF_7VOvaqreRRnFREXAF_2fcVF1_RR,%function
 b__MA7naqebvq2jcVAF_7VOvaqreRRnFREXAF_2fcVF1_RR:
 nop
@@ -5908,7 +5908,7 @@
 b__MGPA7naqebvq18OaCebqhpreYvfgrareR0_AF_11OaVagresnprVAF_17VCebqhpreYvfgrareRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRRR:
 .space __SIZEOF_POINTER__
@@ -5933,12 +5933,12 @@
 b__MA7naqebvq22VFhesnprPbzcbfrePyvrag11nfVagresnprREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_13TencuvpOhssreRRP2RCF1_
+.weak b__MA7naqebvq2fcVAF_13TencuvpOhssreRRP2RCF1_
 .type b__MA7naqebvq2fcVAF_13TencuvpOhssreRRP2RCF1_,%function
 b__MA7naqebvq2fcVAF_13TencuvpOhssreRRP2RCF1_:
 nop
@@ -5948,12 +5948,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf24U2OTencuvpOhssreCebqhpre12nggnpuOhssreRCvEXAF_2fcVAF_13TencuvpOhssreRRR:
 nop
 .text
-.globl b__MA7naqebvq6Cnepry5jevgrVAF_15UqePncnovyvgvrfRRRvEXAF_16YvtugSynggranoyrVG_RR
+.weak b__MA7naqebvq6Cnepry5jevgrVAF_15UqePncnovyvgvrfRRRvEXAF_16YvtugSynggranoyrVG_RR
 .type b__MA7naqebvq6Cnepry5jevgrVAF_15UqePncnovyvgvrfRRRvEXAF_16YvtugSynggranoyrVG_RR,%function
 b__MA7naqebvq6Cnepry5jevgrVAF_15UqePncnovyvgvrfRRRvEXAF_16YvtugSynggranoyrVG_RR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF_9nyybpngbeVyRRR25__rzcynpr_havdhr_xrl_netfVyWEXyRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVyCiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF_9nyybpngbeVyRRR25__rzcynpr_havdhr_xrl_netfVyWEXyRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVyCiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF_9nyybpngbeVyRRR25__rzcynpr_havdhr_xrl_netfVyWEXyRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVyCiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF_9nyybpngbeVyRRR25__rzcynpr_havdhr_xrl_netfVyWEXyRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVyCiRRRRoRREXG_QcBG0_:
 nop
@@ -5983,7 +5983,7 @@
 b__MGPA7naqebvq17OcFhesnprPbzcbfreR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -6008,12 +6008,12 @@
 b__MA7naqebvq7Fhesnpr25frgOhssrefFgvpxlGenafsbezRw:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_28GenafnpgvbaPbzcyrgrqYvfgrareRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_28GenafnpgvbaPbzcyrgrqYvfgrareRRQ2Ri
 .type b__MA7naqebvq2fcVAF_28GenafnpgvbaPbzcyrgrqYvfgrareRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_28GenafnpgvbaPbzcyrgrqYvfgrareRRQ2Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR8__erunfuRz:
 nop
@@ -6023,7 +6023,7 @@
 b__MA7naqebvq20QvfcynlRiragErprvire10fraqRiragfRCAF_3thv7OvgGhorRCXAF0_5RiragRz:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRRP1Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRRP1Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRRP1Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRRP1Ri:
 nop
@@ -6098,17 +6098,17 @@
 b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRR9fVafgnaprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR8__erunfuRz:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_
+.weak b__MAFg3__114__fcyvg_ohssreVCA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_
 .type b__MAFg3__114__fcyvg_ohssreVCA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_,%function
 b__MAFg3__114__fcyvg_ohssreVCA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_:
 nop
@@ -6123,12 +6123,12 @@
 b__MGi0_a24_A7naqebvq21QhzzlCebqhpreYvfgrareQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF1_23OaTencuvpOhssreCebqhpreRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF1_23OaTencuvpOhssreCebqhpreRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF1_23OaTencuvpOhssreCebqhpreRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF1_23OaTencuvpOhssreCebqhpreRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq10SenzrRiragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq10SenzrRiragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq10SenzrRiragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq10SenzrRiragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -6178,7 +6178,7 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag11Genafnpgvba15frgNpdhverSraprREXAF_2fcVAF_14FhesnprPbagebyRRREXAF2_VAF_5SraprRRR:
 nop
 .text
-.globl b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
+.weak b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
 .type b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw,%function
 b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw:
 nop
@@ -6228,17 +6228,17 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_05hgvyf24U2OTencuvpOhssreCebqhpre5dhrelRvCv:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR6erunfuRz:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_17VCebqhpreYvfgrareRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_17VCebqhpreYvfgrareRRQ2Ri
 .type b__MA7naqebvq2fcVAF_17VCebqhpreYvfgrareRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_17VCebqhpreYvfgrareRRQ2Ri:
 nop
 .text
-.globl b__MAFg3__112__qrdhr_onfrVA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF4_RRR5pyrneRi
+.weak b__MAFg3__112__qrdhr_onfrVA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF4_RRR5pyrneRi
 .type b__MAFg3__112__qrdhr_onfrVA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF4_RRR5pyrneRi,%function
 b__MAFg3__112__qrdhr_onfrVA7naqebvq2fcVAF1_5SraprRRRAF_9nyybpngbeVF4_RRR5pyrneRi:
 nop
@@ -6273,7 +6273,7 @@
 b__MAX7naqebvq7Fhesnpr30dhrelFhccbegrqGvzrfgnzcfYbpxrqRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq16SenzrRiragfQrygnRAF_9nyybpngbeVF2_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq16SenzrRiragfQrygnRAF_9nyybpngbeVF2_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq16SenzrRiragfQrygnRAF_9nyybpngbeVF2_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq16SenzrRiragfQrygnRAF_9nyybpngbeVF2_RRR8__nccraqRz:
 nop
@@ -6288,7 +6288,7 @@
 b__MA7naqebvq15PbzcbfreFreivprP1Ri:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_7VOvaqre14QrnguErpvcvragRRP2RCF2_
+.weak b__MA7naqebvq2fcVAF_7VOvaqre14QrnguErpvcvragRRP2RCF2_
 .type b__MA7naqebvq2fcVAF_7VOvaqre14QrnguErpvcvragRRP2RCF2_,%function
 b__MA7naqebvq2fcVAF_7VOvaqre14QrnguErpvcvragRRP2RCF2_:
 nop
@@ -6328,7 +6328,7 @@
 b__MA7naqebvq14FhesnprPbageby7eryrnfrRi:
 nop
 .text
-.globl b__MAFg3__15qrdhrVA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF3_RRR20__nqq_sebag_pncnpvglRi
+.weak b__MAFg3__15qrdhrVA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF3_RRR20__nqq_sebag_pncnpvglRi
 .type b__MAFg3__15qrdhrVA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF3_RRR20__nqq_sebag_pncnpvglRi,%function
 b__MAFg3__15qrdhrVA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF3_RRR20__nqq_sebag_pncnpvglRi:
 nop
@@ -6358,7 +6358,7 @@
 b__MAX7naqebvq14FhesnprPbageby20pyrneYnlreSenzrFgngfRi:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRRP2Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRRP2Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRRP2Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRRP2Ri:
 nop
@@ -6383,12 +6383,12 @@
 b__MA7naqebvq7Fhesnpr10ubbx_dhrelRCX13NAngvirJvaqbjvCv:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_28GenafnpgvbaPbzcyrgrqYvfgrareRRP2RCF1_
+.weak b__MA7naqebvq2fcVAF_28GenafnpgvbaPbzcyrgrqYvfgrareRRP2RCF1_
 .type b__MA7naqebvq2fcVAF_28GenafnpgvbaPbzcyrgrqYvfgrareRRP2RCF1_,%function
 b__MA7naqebvq2fcVAF_28GenafnpgvbaPbzcyrgrqYvfgrareRRP2RCF1_:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRR11unfVafgnaprRi
+.weak b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRR11unfVafgnaprRi
 .type b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRR11unfVafgnaprRi,%function
 b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRR11unfVafgnaprRi:
 nop
@@ -6418,7 +6418,7 @@
 b__MA7naqebvq16SenzrRiragfQrygnP1RzEXAF_11SenzrRiragfREXAF_21SenzrRiragQveglSvryqfR:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_17VPbafhzreYvfgrareRRRvCAF_2fcVG_RR
+.weak b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_17VPbafhzreYvfgrareRRRvCAF_2fcVG_RR
 .type b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_17VPbafhzreYvfgrareRRRvCAF_2fcVG_RR,%function
 b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_17VPbafhzreYvfgrareRRRvCAF_2fcVG_RR:
 nop
@@ -6443,7 +6443,7 @@
 b__MGGA7naqebvq24OcQvfcynlRiragPbaarpgvbaR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF4_WF4_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF4_WF4_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF4_WF4_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF4_WF4_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_:
 nop
@@ -6453,7 +6453,7 @@
 b__MGIA7naqebvq23OaFhesnprPbzcbfrePyvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR13__zbir_nffvtaREFT_AF_17vagrteny_pbafgnagVoYo1RRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR13__zbir_nffvtaREFT_AF_17vagrteny_pbafgnagVoYo1RRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR13__zbir_nffvtaREFT_AF_17vagrteny_pbafgnagVoYo1RRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR13__zbir_nffvtaREFT_AF_17vagrteny_pbafgnagVoYo1RRR:
 nop
@@ -6523,7 +6523,7 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag11Genafnpgvba8frgPbybeREXAF_2fcVAF_14FhesnprPbagebyRRREXAF_7qrgnvyf5GIrp3VAF_4unysRRR:
 nop
 .data
-.globl b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR8BovghnelR
+.weak b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR8BovghnelR
 .type b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR8BovghnelR,%object
 b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR8BovghnelR:
 .space __SIZEOF_POINTER__
@@ -6558,7 +6558,7 @@
 b__MGPA7naqebvq18OaPbafhzreYvfgrareR8_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -6578,12 +6578,12 @@
 b__MAX7naqebvq29VGenafnpgvbaPbzcyrgrqYvfgrare22trgVagresnprQrfpevcgbeRi:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_12FhesnprFgngfRRRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR
+.weak b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_12FhesnprFgngfRRRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR
 .type b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_12FhesnprFgngfRRRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR,%function
 b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_12FhesnprFgngfRRRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR10qb_qrfgeblRCiz:
 nop
@@ -6628,7 +6628,7 @@
 b__MAX7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_05hgvyf13USraprJenccre9trgUnaqyrRi:
 nop
 .text
-.globl b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
+.weak b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
 .type b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_,%function
 b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_:
 nop
@@ -6668,7 +6668,7 @@
 b__MGIA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_05hgvyf19O2UCebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
+.weak b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
 .type b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_,%function
 b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_:
 nop
@@ -6718,7 +6718,7 @@
 b__MGi0_a24_A7naqebvq23OcTencuvpOhssreCebqhpreQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
+.weak b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
 .type b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw,%function
 b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw:
 nop
@@ -6783,7 +6783,7 @@
 b__MA7naqebvq19OhssreDhrhrPbafhzre15frgPbafhzreAnzrREXAF_7Fgevat8R:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_17VCebqhpreYvfgrareRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_17VCebqhpreYvfgrareRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_17VCebqhpreYvfgrareRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_17VCebqhpreYvfgrareRR10baNfOvaqreRi:
 nop
@@ -6793,7 +6793,7 @@
 b__MA7naqebvq14FgernzFcyvggre14BhgchgYvfgrare10ovaqreQvrqREXAF_2jcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRRP1Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRRP1Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRRP1Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRRP1Ri:
 nop
@@ -6803,7 +6803,7 @@
 b__MAX7naqebvq11SenzrRiragf12unfYngpuVasbRi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_12AngvirUnaqyrRRnFRBF2_
+.weak b__MA7naqebvq2fcVAF_12AngvirUnaqyrRRnFRBF2_
 .type b__MA7naqebvq2fcVAF_12AngvirUnaqyrRRnFRBF2_,%function
 b__MA7naqebvq2fcVAF_12AngvirUnaqyrRRnFRBF2_:
 nop
@@ -6813,7 +6813,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf24U2OTencuvpOhssreCebqhpre15nyybpngrOhssrefRwwvz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRyRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF7_RRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRyRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF7_RRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRyRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF7_RRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRyRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF7_RRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_:
 nop
@@ -6828,7 +6828,7 @@
 b__MGua8_A7naqebvq24OcQvfcynlRiragPbaarpgvbaQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRRP1Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRRP1Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRRP1Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRRP1Ri:
 nop
@@ -6883,7 +6883,7 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag11Genafnpgvba8frgSyntfREXAF_2fcVAF_14FhesnprPbagebyRRRww:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_17VCebqhpreYvfgrareRRnFREXF2_
+.weak b__MA7naqebvq2fcVAF_17VCebqhpreYvfgrareRRnFREXF2_
 .type b__MA7naqebvq2fcVAF_17VCebqhpreYvfgrareRRnFREXF2_,%function
 b__MA7naqebvq2fcVAF_17VCebqhpreYvfgrareRRnFREXF2_:
 nop
@@ -6928,7 +6928,7 @@
 b__MGPA7naqebvq18OcCebqhpreYvfgrareR0_AF_16CebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
 .type b__MAFg3__114__fcyvg_ohssreVCA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCA7naqebvq16BpphcnaplGenpxre7FrtzragRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_:
 nop
@@ -6938,12 +6938,12 @@
 b__MGPA7naqebvq30OcGenafnpgvbaPbzcyrgrqYvfgrareR0_AF_29VGenafnpgvbaPbzcyrgrqYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA7naqebvq2fcVAF1_5SraprRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_
+.weak b__MAFg3__114__fcyvg_ohssreVCA7naqebvq2fcVAF1_5SraprRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_
 .type b__MAFg3__114__fcyvg_ohssreVCA7naqebvq2fcVAF1_5SraprRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_,%function
 b__MAFg3__114__fcyvg_ohssreVCA7naqebvq2fcVAF1_5SraprRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_13TencuvpOhssreRRnFREXF2_
+.weak b__MA7naqebvq2fcVAF_13TencuvpOhssreRRnFREXF2_
 .type b__MA7naqebvq2fcVAF_13TencuvpOhssreRRnFREXF2_,%function
 b__MA7naqebvq2fcVAF_13TencuvpOhssreRRnFREXF2_:
 nop
@@ -6983,12 +6983,12 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag11Genafnpgvba8frgYnlreREXAF_2fcVAF_14FhesnprPbagebyRRRv:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR5pyrneRi
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR5pyrneRi
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR5pyrneRi,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR5pyrneRi:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRR11trgVafgnaprRi
+.weak b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRR11trgVafgnaprRi
 .type b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRR11trgVafgnaprRi,%function
 b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRR11trgVafgnaprRi:
 nop
@@ -6998,7 +6998,7 @@
 b__MA7naqebvq7Fhesnpr24frgOhssrefHfreQvzrafvbafRww:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_12QvfcynlFgngrRR12qb_pbafgehpgRCiz:
 nop
@@ -7048,7 +7048,7 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag11Genafnpgvba14frgRneylJnxrhcRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR7qb_pbclRCiCXiz:
 nop
@@ -7093,7 +7093,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_05hgvyf24O2UTencuvpOhssreCebqhpre15trgPbafhzreAnzrRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MGua8_A7naqebvq11OaVagresnprVAF_17VPbafhzreYvfgrareRR10baNfOvaqreRi
+.weak b__MGua8_A7naqebvq11OaVagresnprVAF_17VPbafhzreYvfgrareRR10baNfOvaqreRi
 .type b__MGua8_A7naqebvq11OaVagresnprVAF_17VPbafhzreYvfgrareRR10baNfOvaqreRi,%function
 b__MGua8_A7naqebvq11OaVagresnprVAF_17VPbafhzreYvfgrareRR10baNfOvaqreRi:
 nop
@@ -7113,12 +7113,12 @@
 b__MA7naqebvq11OhssreDhrhr21CebklPbafhzreYvfgrareQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR10baGenafnpgRwEXAF_6CnepryRCF8_w
+.weak b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR10baGenafnpgRwEXAF_6CnepryRCF8_w
 .type b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR10baGenafnpgRwEXAF_6CnepryRCF8_w,%function
 b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR10baGenafnpgRwEXAF_6CnepryRCF8_w:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRRR:
 .space __SIZEOF_POINTER__
@@ -7138,7 +7138,7 @@
 b__MGua16_A7naqebvq21QhzzlCebqhpreYvfgrareQ1Ri:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA7naqebvq2fcVAF1_5SraprRRREAF_9nyybpngbeVF5_RRR10chfu_sebagREXF5_
+.weak b__MAFg3__114__fcyvg_ohssreVCA7naqebvq2fcVAF1_5SraprRRREAF_9nyybpngbeVF5_RRR10chfu_sebagREXF5_
 .type b__MAFg3__114__fcyvg_ohssreVCA7naqebvq2fcVAF1_5SraprRRREAF_9nyybpngbeVF5_RRR10chfu_sebagREXF5_,%function
 b__MAFg3__114__fcyvg_ohssreVCA7naqebvq2fcVAF1_5SraprRRREAF_9nyybpngbeVF5_RRR10chfu_sebagREXF5_:
 nop
@@ -7168,7 +7168,7 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag32frgQvfcynlPbagragFnzcyvatRanoyrqREXAF_2fcVAF_7VOvaqreRRRouz:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_22VTencuvpOhssrePbafhzreRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_22VTencuvpOhssrePbafhzreRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_22VTencuvpOhssrePbafhzreRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_22VTencuvpOhssrePbafhzreRR10baNfOvaqreRi:
 nop
@@ -7228,22 +7228,22 @@
 b__MGPA7naqebvq24OaQvfcynlRiragPbaarpgvbaR0_AF_11OaVagresnprVAF_23VQvfcynlRiragPbaarpgvbaRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVyR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVyR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVyR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq19FhesnprPbagebyFgngfRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEAF1_2fcVAF1_14FhesnprPbagebyRRREXyEXAF7_VAF1_5SraprRRRRRRiQcBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq19FhesnprPbagebyFgngfRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEAF1_2fcVAF1_14FhesnprPbagebyRRREXyEXAF7_VAF1_5SraprRRRRRRiQcBG_
 .type b__MAFg3__16irpgbeVA7naqebvq19FhesnprPbagebyFgngfRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEAF1_2fcVAF1_14FhesnprPbagebyRRREXyEXAF7_VAF1_5SraprRRRRRRiQcBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq19FhesnprPbagebyFgngfRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEAF1_2fcVAF1_14FhesnprPbagebyRRREXyEXAF7_VAF1_5SraprRRRRRRiQcBG_:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRRQ1Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRRQ1Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRRQ1Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_12FlapSrngherfRRQ1Ri:
 nop
@@ -7288,7 +7288,7 @@
 b__MA7naqebvq18OhssreVgrzPbafhzre16serrOhssreYbpxrqRv:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_22VTencuvpOhssreCebqhpreRRRvCAF_2fcVG_RR
+.weak b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_22VTencuvpOhssreCebqhpreRRRvCAF_2fcVG_RR
 .type b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_22VTencuvpOhssreCebqhpreRRRvCAF_2fcVG_RR,%function
 b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_22VTencuvpOhssreCebqhpreRRRvCAF_2fcVG_RR:
 nop
@@ -7333,12 +7333,12 @@
 b__MAX7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf24U2OTencuvpOhssreCebqhpre15trgPbafhzreAnzrRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR8qb_fcyngRCiCXiz:
 nop
@@ -7358,7 +7358,7 @@
 b__MA7naqebvq15OhssreDhrhrPberQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR7qb_pbclRCiCXiz:
 nop
@@ -7418,7 +7418,7 @@
 b__MGGA7naqebvq16CebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR10baGenafnpgRwEXAF_6CnepryRCF8_w
+.weak b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR10baGenafnpgRwEXAF_6CnepryRCF8_w
 .type b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR10baGenafnpgRwEXAF_6CnepryRCF8_w,%function
 b__MGua16_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR10baGenafnpgRwEXAF_6CnepryRCF8_w:
 nop
@@ -7578,12 +7578,12 @@
 b__MA7naqebvq22VFhesnprPbzcbfrePyvrag10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRRQ2Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRRQ2Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRRQ2Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRRQ2Ri:
 nop
@@ -7603,12 +7603,12 @@
 b__MGPA7naqebvq14FgernzFcyvggre14BhgchgYvfgrareR0_AF_16CebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
+.weak b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
 .type b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_,%function
 b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_:
 nop
 .data
-.globl b__MGI24QrohtRTYVzntrGenpxreAbBc
+.weak b__MGI24QrohtRTYVzntrGenpxreAbBc
 .type b__MGI24QrohtRTYVzntrGenpxreAbBc,%object
 b__MGI24QrohtRTYVzntrGenpxreAbBc:
 .space __SIZEOF_POINTER__
@@ -7643,7 +7643,7 @@
 b__MA7naqebvq11PchPbafhzreP1REXAF_2fcVAF_22VTencuvpOhssrePbafhzreRRRzo:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_14YnlreQrohtVasbRRRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR
+.weak b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_14YnlreQrohtVasbRRRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR
 .type b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_14YnlreQrohtVasbRRRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR,%function
 b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_14YnlreQrohtVasbRRRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR:
 nop
@@ -7658,7 +7658,7 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag11Genafnpgvba15trgQvfcynlFgngrREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .data
-.globl b__MMA7naqebvq11OhssrePnpur10trgPbhagreRiR7pbhagre
+.weak b__MMA7naqebvq11OhssrePnpur10trgPbhagreRiR7pbhagre
 .type b__MMA7naqebvq11OhssrePnpur10trgPbhagreRiR7pbhagre,%object
 b__MMA7naqebvq11OhssrePnpur10trgPbhagreRiR7pbhagre:
 .space __SIZEOF_POINTER__
@@ -7708,12 +7708,12 @@
 b__MGIA7naqebvq7FhesnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRAF2_21FhesnprPbzcbfrePyvrag12PnyyonpxVasbRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF6_7GPYUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRAF2_21FhesnprPbzcbfrePyvrag12PnyyonpxVasbRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF6_7GPYUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRAF2_21FhesnprPbzcbfrePyvrag12PnyyonpxVasbRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF6_7GPYUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRAF2_21FhesnprPbzcbfrePyvrag12PnyyonpxVasbRRRAF_22__habeqrerq_znc_unfureVF5_F8_AF6_7GPYUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F8_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_22VTencuvpOhssreCebqhpreRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_22VTencuvpOhssreCebqhpreRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_22VTencuvpOhssreCebqhpreRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_22VTencuvpOhssreCebqhpreRR10baNfOvaqreRi:
 nop
@@ -7738,7 +7738,7 @@
 b__MGua8_A7naqebvq14FgernzFcyvggreQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6nffvtaVCXuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRiR4glcrRF8_F8_
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6nffvtaVCXuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRiR4glcrRF8_F8_
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6nffvtaVCXuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRiR4glcrRF8_F8_,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6nffvtaVCXuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRiR4glcrRF8_F8_:
 nop
@@ -7788,7 +7788,7 @@
 b__MAX7naqebvq12FhesnprFgngf13jevgrGbCnepryRCAF_6CnepryR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF_9nyybpngbeVyRRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF_9nyybpngbeVyRRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF_9nyybpngbeVyRRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF_9nyybpngbeVyRRR8__erunfuRz:
 nop
@@ -7828,7 +7828,7 @@
 b__MA7naqebvq7Fhesnpr25qvfcngpuFrgFvqronaqFgernzRFg9__in_yvfg:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF5_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF5_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF5_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF5_CiRRRR:
 nop
@@ -7848,7 +7848,7 @@
 b__MA7naqebvq25PbafhzreSenzrRiragUvfgbel26vavgvnyvmrPbzcbfvgbeGvzvatREXAF_16PbzcbfvgbeGvzvatR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq16SenzrRiragfQrygnRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEzEAF1_11SenzrRiragfREAF1_21SenzrRiragQveglSvryqfRRRRiQcBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq16SenzrRiragfQrygnRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEzEAF1_11SenzrRiragfREAF1_21SenzrRiragQveglSvryqfRRRRiQcBG_
 .type b__MAFg3__16irpgbeVA7naqebvq16SenzrRiragfQrygnRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEzEAF1_11SenzrRiragfREAF1_21SenzrRiragQveglSvryqfRRRRiQcBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq16SenzrRiragfQrygnRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEzEAF1_11SenzrRiragfREAF1_21SenzrRiragQveglSvryqfRRRRiQcBG_:
 nop
@@ -7868,12 +7868,12 @@
 b__MGPA7naqebvq11OhssreDhrhr21CebklPbafhzreYvfgrareR16_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq10trgFreivprVAF_16VFhesnprPbzcbfreRRRvEXAF_8Fgevat16RCAF_2fcVG_RR
+.weak b__MA7naqebvq10trgFreivprVAF_16VFhesnprPbzcbfreRRRvEXAF_8Fgevat16RCAF_2fcVG_RR
 .type b__MA7naqebvq10trgFreivprVAF_16VFhesnprPbzcbfreRRRvEXAF_8Fgevat16RCAF_2fcVG_RR,%function
 b__MA7naqebvq10trgFreivprVAF_16VFhesnprPbzcbfreRRRvEXAF_8Fgevat16RCAF_2fcVG_RR:
 nop
@@ -7898,7 +7898,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_05hgvyf24O2UTencuvpOhssreCebqhpre13qrdhrhrOhssreREXAF3_22VTencuvpOhssreCebqhpre18QrdhrhrOhssreVachgRAFg3__18shapgvbaVSiAF3_6FgnghfRvEXAF6_19QrdhrhrOhssreBhgchgRRRR:
 nop
 .text
-.globl b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
+.weak b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
 .type b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw,%function
 b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw:
 nop
@@ -7908,7 +7908,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_05hgvyf24U2OTencuvpOhssreCebqhpre13erdhrfgOhssreRvCAF_2fcVAF_13TencuvpOhssreRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_:
 nop
@@ -7958,7 +7958,7 @@
 b__MA7naqebvq17OhssreUhoCebqhpre12qrgnpuOhssreRv:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_11PchPbafhzre14NpdhverqOhssreRR7qb_pbclRCiCXiz:
 nop
@@ -7968,7 +7968,7 @@
 b__MA7naqebvq7Fhesnpr19trgYnfgDhrhrqOhssreRCAF_2fcVAF_13TencuvpOhssreRRRCAF1_VAF_5SraprRRRCs:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR14__renfr_havdhrVyRRzEXG_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR14__renfr_havdhrVyRRzEXG_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR14__renfr_havdhrVyRRzEXG_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVyA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrare19PnyyonpxGenafyngvbaRRRAF_22__habeqrerq_znc_unfureVyF5_AF_4unfuVyRRYo1RRRAF_21__habeqrerq_znc_rdhnyVyF5_AF_8rdhny_gbVyRRYo1RRRAF_9nyybpngbeVF5_RRR14__renfr_havdhrVyRRzEXG_:
 nop
@@ -7983,7 +7983,7 @@
 b__MA7naqebvq7Fhesnpr19frgFunerqOhssreZbqrRo:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRRQ1Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRRQ1Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRRQ1Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRRQ1Ri:
 nop
@@ -8008,7 +8008,7 @@
 b__MA7naqebvq23VErtvbaFnzcyvatYvfgrareQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR10qb_qrfgeblRCiz:
 nop
@@ -8023,7 +8023,7 @@
 b__MA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrareP2Ri:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRRQ1Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRRQ1Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRRQ1Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_11OhssrePnpurRRQ1Ri:
 nop
@@ -8083,7 +8083,7 @@
 b__MA7naqebvq3thv7OvgGhor13zbirErprvirSqRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_12QvfcynlFgngrRR7qb_pbclRCiCXiz:
 nop
@@ -8093,7 +8093,7 @@
 b__MGua8_A7naqebvq17OaFhesnprPbzcbfre10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .text
-.globl b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
+.weak b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
 .type b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_,%function
 b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_18OaCebqhpreYvfgrareRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_:
 nop
@@ -8103,7 +8103,7 @@
 b__MAX7naqebvq17OhssreUhoCebqhpre16trgPbafhzreHfntrRCz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -8113,7 +8113,7 @@
 b__MAX7naqebvq14FhesnprPbageby18trgYnlreSenzrFgngfRCAF_10SenzrFgngfR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR8qb_fcyngRCiCXiz:
 nop
@@ -8138,17 +8138,17 @@
 b__MA7naqebvq24OcQvfcynlRiragPbaarpgvbaQ0Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRR6erunfuRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_13TencuvpOhssreRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_13TencuvpOhssreRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_13TencuvpOhssreRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_13TencuvpOhssreRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_:
 nop
 .text
-.globl b__MA7naqebvq11UcVagresnprVAF_18OcCebqhpreYvfgrareRAF_8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf19U2OCebqhpreYvfgrareRWAF4_4I2_05hgvyf19U2OCebqhpreYvfgrareRRRP2REXAF_2fcVAF_7VOvaqreRRR
+.weak b__MA7naqebvq11UcVagresnprVAF_18OcCebqhpreYvfgrareRAF_8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf19U2OCebqhpreYvfgrareRWAF4_4I2_05hgvyf19U2OCebqhpreYvfgrareRRRP2REXAF_2fcVAF_7VOvaqreRRR
 .type b__MA7naqebvq11UcVagresnprVAF_18OcCebqhpreYvfgrareRAF_8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf19U2OCebqhpreYvfgrareRWAF4_4I2_05hgvyf19U2OCebqhpreYvfgrareRRRP2REXAF_2fcVAF_7VOvaqreRRR,%function
 b__MA7naqebvq11UcVagresnprVAF_18OcCebqhpreYvfgrareRAF_8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf19U2OCebqhpreYvfgrareRWAF4_4I2_05hgvyf19U2OCebqhpreYvfgrareRRRP2REXAF_2fcVAF_7VOvaqreRRR:
 nop
@@ -8173,12 +8173,12 @@
 b__MA7naqebvq10TYPbafhzre22ovaqGrkgherVzntrYbpxrqRi:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF5_RRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF5_RRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF5_RRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF5_RRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRRoRREXG_QcBG0_:
 nop
@@ -8218,12 +8218,12 @@
 b__MA7naqebvq12PbafhzreOnfr20frgPbafhzreHfntrOvgfRz:
 nop
 .data
-.globl b__MGGA7naqebvq11PchPbafhzreR
+.weak b__MGGA7naqebvq11PchPbafhzreR
 .type b__MGGA7naqebvq11PchPbafhzreR,%object
 b__MGGA7naqebvq11PchPbafhzreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq11PchPbafhzreR
+.weak b__MGIA7naqebvq11PchPbafhzreR
 .type b__MGIA7naqebvq11PchPbafhzreR,%object
 b__MGIA7naqebvq11PchPbafhzreR:
 .space __SIZEOF_POINTER__
@@ -8288,7 +8288,7 @@
 b__MGua8_A7naqebvq30OcGenafnpgvbaPbzcyrgrqYvfgrareQ1Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXF5_F6_RRRRRAF_10havdhr_cgeVAF_11__unfu_abqrVF7_CiRRAF_22__unfu_abqr_qrfgehpgbeVAFT_VFF_RRRRRRQcBG_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXF5_F6_RRRRRAF_10havdhr_cgeVAF_11__unfu_abqrVF7_CiRRAF_22__unfu_abqr_qrfgehpgbeVAFT_VFF_RRRRRRQcBG_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXF5_F6_RRRRRAF_10havdhr_cgeVAF_11__unfu_abqrVF7_CiRRAF_22__unfu_abqr_qrfgehpgbeVAFT_VFF_RRRRRRQcBG_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXF5_F6_RRRRRAF_10havdhr_cgeVAF_11__unfu_abqrVF7_CiRRAF_22__unfu_abqr_qrfgehpgbeVAFT_VFF_RRRRRRQcBG_:
 nop
@@ -8298,7 +8298,7 @@
 b__MA7naqebvq10pbairefvba9hasynggraRCAF_8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpre17SraprGvzrFancfubgRCC13angvir_unaqyrECXiEzECXvFR_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRRQ2Ri
+.weak b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRRQ2Ri
 .type b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRRQ2Ri,%function
 b__MAFg3__112__unfu_gnoyrVA7naqebvq2fcVAF1_7VOvaqreRRRAF1_16VFhesnprPbzcbfre6FcUnfuVF3_RRAF_8rdhny_gbVF4_RRAF_9nyybpngbeVF4_RRRQ2Ri:
 nop
@@ -8328,7 +8328,7 @@
 b__MGi0_a24_A7naqebvq14FgernzFcyvggre14BhgchgYvfgrareQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -8343,7 +8343,7 @@
 b__MA7naqebvq10pbairefvba11gbUvqyOlgrfRCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_11QvfcynlVasbRR7qb_pbclRCiCXiz:
 nop
@@ -8353,7 +8353,7 @@
 b__MA7naqebvq21QhzzlCebqhpreYvfgrareQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13PbzcbfreFgngrRR8qb_fcyngRCiCXiz:
 nop
@@ -8363,7 +8363,7 @@
 b__MGPA7naqebvq28GenafnpgvbaPbzcyrgrqYvfgrareR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
+.weak b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
 .type b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw,%function
 b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw:
 nop
@@ -8393,7 +8393,7 @@
 b__MA7naqebvq9FvatyrgbaVAF_15PbzcbfreFreivprRR9fVafgnaprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113__irpgbe_onfrVA7naqebvq14YnlreQrohtVasbRAF_9nyybpngbeVF2_RRRQ2Ri
+.weak b__MAFg3__113__irpgbe_onfrVA7naqebvq14YnlreQrohtVasbRAF_9nyybpngbeVF2_RRRQ2Ri
 .type b__MAFg3__113__irpgbe_onfrVA7naqebvq14YnlreQrohtVasbRAF_9nyybpngbeVF2_RRRQ2Ri,%function
 b__MAFg3__113__irpgbe_onfrVA7naqebvq14YnlreQrohtVasbRAF_9nyybpngbeVF2_RRRQ2Ri:
 nop
@@ -8473,12 +8473,12 @@
 b__MA7naqebvq17OcFhesnprPbzcbfreQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVzAF_2fcVAF_14FgernzFcyvggre13OhssreGenpxreRRRRRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MA7naqebvq11UcVagresnprVAF_23OcTencuvpOhssreCebqhpreRAF_8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf24U2OTencuvpOhssreCebqhpreRWAF4_4I2_05hgvyf24U2OTencuvpOhssreCebqhpreRRRP2REXAF_2fcVAF_7VOvaqreRRR
+.weak b__MA7naqebvq11UcVagresnprVAF_23OcTencuvpOhssreCebqhpreRAF_8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf24U2OTencuvpOhssreCebqhpreRWAF4_4I2_05hgvyf24U2OTencuvpOhssreCebqhpreRRRP2REXAF_2fcVAF_7VOvaqreRRR
 .type b__MA7naqebvq11UcVagresnprVAF_23OcTencuvpOhssreCebqhpreRAF_8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf24U2OTencuvpOhssreCebqhpreRWAF4_4I2_05hgvyf24U2OTencuvpOhssreCebqhpreRRRP2REXAF_2fcVAF_7VOvaqreRRR,%function
 b__MA7naqebvq11UcVagresnprVAF_23OcTencuvpOhssreCebqhpreRAF_8uneqjner8tencuvpf11ohssredhrhr4I1_05hgvyf24U2OTencuvpOhssreCebqhpreRWAF4_4I2_05hgvyf24U2OTencuvpOhssreCebqhpreRRRP2REXAF_2fcVAF_7VOvaqreRRR:
 nop
@@ -8578,7 +8578,7 @@
 b__MA7naqebvq22VTencuvpOhssrePbafhzre11nfVagresnprREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
+.weak b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
 .type b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_,%function
 b__MA7naqebvq12U2OPbairegreVAF_8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_23OaTencuvpOhssreCebqhpreRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_:
 nop
@@ -8598,12 +8598,12 @@
 b__MA7naqebvq11SenzrRiragf24purpxSraprfSbePbzcyrgvbaRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVyR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVyR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVyR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13PbafhzreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13PbafhzreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13PbafhzreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie13PbafhzreDhrhrRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -8638,7 +8638,7 @@
 b__MA7naqebvq22OhssreDhrhrGuernqFgngr13trgPnyyvatHvqRi:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -8673,7 +8673,7 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag11GenafnpgvbaP1REXF1_:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRR11unfVafgnaprRi
+.weak b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRR11unfVafgnaprRi
 .type b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRR11unfVafgnaprRi,%function
 b__MA7naqebvq9FvatyrgbaVAF_21QrsnhygPbzcbfrePyvragRR11unfVafgnaprRi:
 nop
@@ -8683,17 +8683,17 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_05hgvyf24U2OTencuvpOhssreCebqhpre12pnapryOhssreRvEXAF_2fcVAF_5SraprRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVyR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVyR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVyR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVyR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXwRRRAFY_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXwRRRAFY_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXwRRRAFY_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_6irpgbeVuAF_9nyybpngbeVuRRRRRRAF_22__habeqrerq_znc_unfureVwF6_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF6_AF_8rdhny_gbVwRRYo1RRRAF3_VF6_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXwRRRAFY_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_10OhssreVgrzRR10qb_qrfgeblRCiz:
 nop
@@ -8743,12 +8743,12 @@
 b__MA7naqebvq21FhesnprPbzcbfrePyvrag11Genafnpgvba21frgPbybeFcnprNtabfgvpREXAF_2fcVAF_14FhesnprPbagebyRRRo:
 nop
 .data
-.globl b__MGIA7naqebvq21FhesnprPbzcbfrePyvrag11GenafnpgvbaR
+.weak b__MGIA7naqebvq21FhesnprPbzcbfrePyvrag11GenafnpgvbaR
 .type b__MGIA7naqebvq21FhesnprPbzcbfrePyvrag11GenafnpgvbaR,%object
 b__MGIA7naqebvq21FhesnprPbzcbfrePyvrag11GenafnpgvbaR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq17YvfgrarePnyyonpxfRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF1_2fcVAF1_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRXAF_13habeqrerq_frgVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF3_VyRRRRRRRiQcBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq17YvfgrarePnyyonpxfRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF1_2fcVAF1_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRXAF_13habeqrerq_frgVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF3_VyRRRRRRRiQcBG_
 .type b__MAFg3__16irpgbeVA7naqebvq17YvfgrarePnyyonpxfRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF1_2fcVAF1_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRXAF_13habeqrerq_frgVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF3_VyRRRRRRRiQcBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq17YvfgrarePnyyonpxfRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF1_2fcVAF1_29VGenafnpgvbaPbzcyrgrqYvfgrareRRRXAF_13habeqrerq_frgVyAF_4unfuVyRRAF_8rdhny_gbVyRRAF3_VyRRRRRRRiQcBG_:
 nop
@@ -8773,7 +8773,7 @@
 b__MA7naqebvq18OcCebqhpreYvfgrareQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner8tencuvpf6pbzzba4I1_29PbybeZbqrRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -8798,12 +8798,12 @@
 b__MA7naqebvq19VachgJvaqbjPbzznaqf5zretrREXF0_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR14__nffvta_zhygvVAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRRRRiG_FD_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR14__nffvta_zhygvVAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRRRRiG_FD_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR14__nffvta_zhygvVAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRRRRiG_FD_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7naqebvq2fcVAF2_14FhesnprPbagebyRRRAF2_13PbzcbfreFgngrRRRAF_22__habeqrerq_znc_unfureVF5_F7_AF2_21FhesnprPbzcbfrePyvrag6FPUnfuRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F7_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF7_RRR14__nffvta_zhygvVAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRRRRiG_FD_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6nffvtaVCuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6nffvtaVCuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6nffvtaVCuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6nffvtaVCuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_:
 nop
@@ -8818,12 +8818,12 @@
 b__MA7naqebvq12QvfcynlFgngr4ernqREXAF_6CnepryR:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_10OhssreVgrzRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_10OhssreVgrzRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_10OhssreVgrzRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_10OhssreVgrzRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_13TencuvpOhssreRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -8833,7 +8833,7 @@
 b__MA7naqebvq25PbafhzreSenzrRiragUvfgbel8nqqYngpuRzy:
 nop
 .data
-.globl b__MGPA7naqebvq18UcCebqhpreYvfgrareR0_AF_17VCebqhpreYvfgrareR
+.weak b__MGPA7naqebvq18UcCebqhpreYvfgrareR0_AF_17VCebqhpreYvfgrareR
 .type b__MGPA7naqebvq18UcCebqhpreYvfgrareR0_AF_17VCebqhpreYvfgrareR,%object
 b__MGPA7naqebvq18UcCebqhpreYvfgrareR0_AF_17VCebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_025.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_025.S
index e23d0ae..58f838a 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_025.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_025.S
@@ -43,7 +43,7 @@
 b__MAX7naqebvq13rty_qvfcynl_g13unirRkgrafvbaRCXpz:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -78,7 +78,7 @@
 b__MA7naqebvq11rty_pnpur_g9grezvangrRi:
 nop
 .data
-.globl b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -183,7 +183,7 @@
 b__MA7naqebvq22rty_frg_pnpur_svyranzrRCXp:
 nop
 .data
-.globl b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -198,7 +198,7 @@
 b_rtyDhrelFgernzXUE:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -358,7 +358,7 @@
 b__MA7naqebvq13rty_qvfcynl_g18trgCyngsbezQvfcynlRCiCXy:
 nop
 .data
-.globl b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -428,12 +428,12 @@
 b_rtyTrgFlfgrzGvzrAI:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -463,7 +463,7 @@
 b__MA7naqebvq13rty_qvfcynl_g3trgRCi:
 nop
 .data
-.globl b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -583,7 +583,7 @@
 b__MA7naqebvq13rty_qvfcynl_g10vavgvnyvmrRCvF1_:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_028.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_028.S
index f315cc2..9db79d6 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_028.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_028.S
@@ -8,7 +8,7 @@
 b__MA7naqebvq8uneqjner7qrgnvyf14ybtNyjnlfSngnyRCXp:
 nop
 .text
-.globl b__MAXFg3__126__raq_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__126__raq_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__126__raq_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__126__raq_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -48,7 +48,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_021jevgrRzorqqrqGbCnepryREXAF2_15VFreivprZnantre17VafgnaprQrohtVasbRCAF_8uneqjner6CnepryRzz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -63,7 +63,7 @@
 b__MA7naqebvq4uvqy4onfr4I1_08OcUjOnfr15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -78,12 +78,12 @@
 b__MA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbeQ0Ri:
 nop
 .text
-.globl b__MAXFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
 .data
-.globl b__MGIAFg3__128__ortva_znexrq_fhorkcerffvbaVpRR
+.weak b__MGIAFg3__128__ortva_znexrq_fhorkcerffvbaVpRR
 .type b__MGIAFg3__128__ortva_znexrq_fhorkcerffvbaVpRR,%object
 b__MGIAFg3__128__ortva_znexrq_fhorkcerffvbaVpRR:
 .space __SIZEOF_POINTER__
@@ -113,7 +113,7 @@
 b__MGua16_A7naqebvq4uvqy4onfr4I1_08OcUjOnfr15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR7qb_pbclRCiCXiz:
 nop
@@ -148,17 +148,17 @@
 b__MA7naqebvq4uvqy4onfr4I1_08OaUjOnfrP1REXAF_2fcVAF2_5VOnfrRRREXAFg3__112onfvp_fgevatVpAF9_11pune_genvgfVpRRAF9_9nyybpngbeVpRRRRFU_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MA7naqebvq8uneqjneryfVN8_pRREAF0_10GrkgBhgchgRF4_EXG_
+.weak b__MA7naqebvq8uneqjneryfVN8_pRREAF0_10GrkgBhgchgRF4_EXG_
 .type b__MA7naqebvq8uneqjneryfVN8_pRREAF0_10GrkgBhgchgRF4_EXG_,%function
 b__MA7naqebvq8uneqjneryfVN8_pRREAF0_10GrkgBhgchgRF4_EXG_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjOnfrRAF4_8OaUjOnfrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjOnfrRAF4_8OaUjOnfrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjOnfrRAF4_8OaUjOnfrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjOnfrRAF4_8OaUjOnfrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -173,17 +173,17 @@
 b__MGi0_a24_A7naqebvq8uneqjner9OUjOvaqreQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_218OcUjFreivprZnantreRAF5_15VFreivprZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_218OcUjFreivprZnantreRAF5_15VFreivprZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_218OcUjFreivprZnantreRAF5_15VFreivprZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_218OcUjFreivprZnantreRAF5_15VFreivprZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR10qb_qrfgeblRCiz:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner12SqGrkgBhgchgR
+.weak b__MGIA7naqebvq8uneqjner12SqGrkgBhgchgR
 .type b__MGIA7naqebvq8uneqjner12SqGrkgBhgchgR,%object
 b__MGIA7naqebvq8uneqjner12SqGrkgBhgchgR:
 .space __SIZEOF_POINTER__
@@ -193,17 +193,17 @@
 b__MA7naqebvq4uvqy7znantre4I1_018OcUjFreivprZnantre15yvfgOlVagresnprREXAF_8uneqjner11uvqy_fgevatRAFg3__18shapgvbaVSiEXAF4_8uvqy_irpVF5_RRRRR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_4uvqy7znantre4I1_215VPyvragPnyyonpxRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_4uvqy7znantre4I1_215VPyvragPnyyonpxRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_4uvqy7znantre4I1_215VPyvragPnyyonpxRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_4uvqy7znantre4I1_215VPyvragPnyyonpxRRnFRBF5_:
 nop
 .text
-.globl b__MAXFg3__128__ortva_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__128__ortva_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__128__ortva_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__128__ortva_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRAF_19__znc_inyhr_pbzcnerVF7_FR_AF_4yrffVF7_RRYo1RRRAF5_VFR_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFC_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRAF_19__znc_inyhr_pbzcnerVF7_FR_AF_4yrffVF7_RRYo1RRRAF5_VFR_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFC_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRAF_19__znc_inyhr_pbzcnerVF7_FR_AF_4yrffVF7_RRYo1RRRAF5_VFR_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFC_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRAF_19__znc_inyhr_pbzcnerVF7_FR_AF_4yrffVF7_RRYo1RRRAF5_VFR_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFC_RREXG_:
 nop
@@ -223,12 +223,12 @@
 b__MAX7naqebvq8uneqjner14VCPGuernqFgngr13trgPnyyvatFvqRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAXFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -248,7 +248,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_115VFreivprZnantre19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF_8uneqjner11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
@@ -263,7 +263,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry8ernqVag8RCn:
 nop
 .data
-.globl b__MGIAFg3__110__e_napubeVpRR
+.weak b__MGIAFg3__110__e_napubeVpRR
 .type b__MGIAFg3__110__e_napubeVpRR,%object
 b__MGIAFg3__110__e_napubeVpRR:
 .space __SIZEOF_POINTER__
@@ -288,7 +288,7 @@
 b__MGIA7naqebvq4uvqy7znantre4I1_218OcUjFreivprZnantreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq2jcVAF2_4uvqy4onfr4I1_05VOnfrRRRAF2_8uneqjner9FpurqCevbRRRAF_19__znc_inyhr_pbzcnerVF8_FO_AF_4yrffVF8_RRYo1RRRAF_9nyybpngbeVFO_RRR25__rzcynpr_havdhr_xrl_netfVF8_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF8_RRRAFA_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq2jcVAF2_4uvqy4onfr4I1_05VOnfrRRRAF2_8uneqjner9FpurqCevbRRRAF_19__znc_inyhr_pbzcnerVF8_FO_AF_4yrffVF8_RRYo1RRRAF_9nyybpngbeVFO_RRR25__rzcynpr_havdhr_xrl_netfVF8_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF8_RRRAFA_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq2jcVAF2_4uvqy4onfr4I1_05VOnfrRRRAF2_8uneqjner9FpurqCevbRRRAF_19__znc_inyhr_pbzcnerVF8_FO_AF_4yrffVF8_RRYo1RRRAF_9nyybpngbeVFO_RRR25__rzcynpr_havdhr_xrl_netfVF8_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF8_RRRAFA_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq2jcVAF2_4uvqy4onfr4I1_05VOnfrRRRAF2_8uneqjner9FpurqCevbRRRAF_19__znc_inyhr_pbzcnerVF8_FO_AF_4yrffVF8_RRYo1RRRAF_9nyybpngbeVFO_RRR25__rzcynpr_havdhr_xrl_netfVF8_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF8_RRRAFA_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -308,17 +308,17 @@
 b__MAX7naqebvq8uneqjner14VCPGuernqFgngr13trgPnyyvatCvqRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVAF_11__jenc_vgreVCXpRRRRG_F9_F9_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVAF_11__jenc_vgreVCXpRRRRG_F9_F9_:
 nop
 .data
-.globl b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -328,7 +328,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_218OcUjFreivprZnantreP1REXAF_2fcVAF_8uneqjner7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_3frgVvAF_4yrffVvRRAF5_VvRRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF9_VF7_RRYo1RRRAF5_VFQ_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFA_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_3frgVvAF_4yrffVvRRAF5_VvRRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF9_VF7_RRYo1RRRAF5_VFQ_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFA_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_3frgVvAF_4yrffVvRRAF5_VvRRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF9_VF7_RRYo1RRRAF5_VFQ_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFA_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_3frgVvAF_4yrffVvRRAF5_VvRRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF9_VF7_RRYo1RRRAF5_VFQ_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFA_RREXG_:
 nop
@@ -353,7 +353,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry10reebePurpxRi:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -383,7 +383,7 @@
 b__MA7naqebvq8uneqjner9OUjOvaqre22trgZvaFpurqhyvatCbyvplRi:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_p
+.weak b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_p
 .type b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_p,%function
 b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_p:
 nop
@@ -433,17 +433,17 @@
 b__MGPA7naqebvq8uneqjner7qrgnvyf21PyvragPbhagrePnyyonpxR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
 .text
-.globl b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_
+.weak b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_
 .type b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_,%function
 b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_:
 nop
@@ -453,12 +453,12 @@
 b__MGPA7naqebvq4uvqy7znantre4I1_023OaUjFreivprAbgvsvpngvbaR0_AF_8uneqjner9OUjOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__qrdhr_onfrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR5pyrneRi
+.weak b__MAFg3__112__qrdhr_onfrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR5pyrneRi
 .type b__MAFg3__112__qrdhr_onfrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR5pyrneRi,%function
 b__MAFg3__112__qrdhr_onfrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR5pyrneRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
@@ -483,7 +483,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_218OaUjPyvragPnyyonpx12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF0_4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVAF_11__jenc_vgreVCXpRRRRG_F9_F9_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVAF_11__jenc_vgreVCXpRRRRG_F9_F9_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVAF_11__jenc_vgreVCXpRRRRG_F9_F9_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVAF_11__jenc_vgreVCXpRRRRG_F9_F9_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
@@ -493,12 +493,12 @@
 b__MA7naqebvq8uneqjner6FgnghfP1RvvCXp:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -508,7 +508,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry10pyrnePnpurRi:
 nop
 .text
-.globl b__MAXFg3__112__zngpu_puneVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__112__zngpu_puneVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__112__zngpu_puneVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__112__zngpu_puneVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -523,7 +523,7 @@
 b__MA7naqebvq8uneqjner18OhssrerqGrkgBhgchg5cevagRCXpz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVvRR
+.weak b__MGIA7naqebvq6IrpgbeVvRR
 .type b__MGIA7naqebvq6IrpgbeVvRR,%object
 b__MGIA7naqebvq6IrpgbeVvRR:
 .space __SIZEOF_POINTER__
@@ -553,12 +553,12 @@
 b__MA7naqebvq8uneqjner16unaqyrOvaqreCbyyRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner6Cnepry10OhssreVasbRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner6Cnepry10OhssreVasbRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner6Cnepry10OhssreVasbRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner6Cnepry10OhssreVasbRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -568,12 +568,12 @@
 b__MA7naqebvq8uneqjner14synggra_ovaqreREXAF_2fcVAF0_12CebprffFgngrRRREXAF1_VAF0_7VOvaqreRRRCAF0_6CnepryR:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR9genafsbezVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_
+.weak b__MAXFg3__112ertrk_genvgfVpR9genafsbezVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_
 .type b__MAXFg3__112ertrk_genvgfVpR9genafsbezVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_,%function
 b__MAXFg3__112ertrk_genvgfVpR9genafsbezVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiiRRREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiiRRREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiiRRREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiiRRREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_:
 nop
@@ -618,7 +618,7 @@
 b__MGi0_a24_A7naqebvq4uvqy7znantre4I1_018OaUjFreivprZnantreQ0Ri:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_ybbcRzzCAF_16__bjaf_bar_fgngrVpRRzzo
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_ybbcRzzCAF_16__bjaf_bar_fgngrVpRRzzo
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_ybbcRzzCAF_16__bjaf_bar_fgngrVpRRzzo,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_ybbcRzzCAF_16__bjaf_bar_fgngrVpRRzzo:
 nop
@@ -653,22 +653,22 @@
 b__MA7naqebvq8uneqjner12CebprffFgngrP1Rz:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_023OcUjFreivprAbgvsvpngvbaRAF5_20VFreivprAbgvsvpngvbaRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_023OcUjFreivprAbgvsvpngvbaRAF5_20VFreivprAbgvsvpngvbaRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_023OcUjFreivprAbgvsvpngvbaRAF5_20VFreivprAbgvsvpngvbaRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_023OcUjFreivprAbgvsvpngvbaRAF5_20VFreivprAbgvsvpngvbaRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
 .data
-.globl b__MGIA7naqebvq4uvqy7znantre4I1_216OfPyvragPnyyonpxR
+.weak b__MGIA7naqebvq4uvqy7znantre4I1_216OfPyvragPnyyonpxR
 .type b__MGIA7naqebvq4uvqy7znantre4I1_216OfPyvragPnyyonpxR,%object
 b__MGIA7naqebvq4uvqy7znantre4I1_216OfPyvragPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -678,7 +678,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry7vcpQngnRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR7qb_pbclRCiCXiz:
 nop
@@ -688,7 +688,7 @@
 b__MA7naqebvq8uneqjner11uvqy_fgevat13frgGbRkgreanyRCXpz:
 nop
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
@@ -713,12 +713,12 @@
 b__MGPA7naqebvq4uvqy7znantre4I1_218OcUjFreivprZnantreR0_AF1_4I1_015VFreivprZnantreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -728,17 +728,17 @@
 b__MA7naqebvq8uneqjner7qrgnvyf10GnfxEhaare4chfuREXAFg3__18shapgvbaVSiiRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_215VFreivprZnantreRAF4_4I1_115VFreivprZnantreRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFO_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_215VFreivprZnantreRAF4_4I1_115VFreivprZnantreRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFO_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_215VFreivprZnantreRAF4_4I1_115VFreivprZnantreRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFO_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_215VFreivprZnantreRAF4_4I1_115VFreivprZnantreRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFO_VG0_RRCXpo:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p
+.weak b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p
 .type b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p,%function
 b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner25CnffguebhtuFreivprZnantreRRP2RCF2_
+.weak b__MA7naqebvq2fcVAF_8uneqjner25CnffguebhtuFreivprZnantreRRP2RCF2_
 .type b__MA7naqebvq2fcVAF_8uneqjner25CnffguebhtuFreivprZnantreRRP2RCF2_,%function
 b__MA7naqebvq2fcVAF_8uneqjner25CnffguebhtuFreivprZnantreRRP2RCF2_:
 nop
@@ -758,12 +758,12 @@
 b__MA7naqebvq8uneqjner18OhssrerqGrkgBhgchgP2Rw:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR9genafsbezVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_
+.weak b__MAXFg3__112ertrk_genvgfVpR9genafsbezVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_
 .type b__MAXFg3__112ertrk_genvgfVpR9genafsbezVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_,%function
 b__MAXFg3__112ertrk_genvgfVpR9genafsbezVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf24YnmlFreivprErtvfgeneVzcyRAF_9nyybpngbeVF4_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf24YnmlFreivprErtvfgeneVzcyRAF_9nyybpngbeVF4_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf24YnmlFreivprErtvfgeneVzcyRAF_9nyybpngbeVF4_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf24YnmlFreivprErtvfgeneVzcyRAF_9nyybpngbeVF4_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -783,22 +783,22 @@
 b__MA7naqebvq4uvqy4onfr4I1_08OcUjOnfr12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF_8uneqjner8uvqy_irpVAF6_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MAXFg3__110__e_napubeVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__110__e_napubeVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__110__e_napubeVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__110__e_napubeVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__116__bjaf_bar_fgngrVpRQ0Ri
+.weak b__MAFg3__116__bjaf_bar_fgngrVpRQ0Ri
 .type b__MAFg3__116__bjaf_bar_fgngrVpRQ0Ri,%function
 b__MAFg3__116__bjaf_bar_fgngrVpRQ0Ri:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVCXpRRG_F7_F7_:
 nop
 .data
-.globl b__MGGA7naqebvq8uneqjner7qrgnvyf6JnvgreR
+.weak b__MGGA7naqebvq8uneqjner7qrgnvyf6JnvgreR
 .type b__MGGA7naqebvq8uneqjner7qrgnvyf6JnvgreR,%object
 b__MGGA7naqebvq8uneqjner7qrgnvyf6JnvgreR:
 .space __SIZEOF_POINTER__
@@ -833,7 +833,7 @@
 b__MA7naqebvq8uneqjner6Cnepry11jevgrHvag64Rz:
 nop
 .text
-.globl b__MA7naqebvq8uneqjneryfVN9_pRREAF0_10GrkgBhgchgRF4_EXG_
+.weak b__MA7naqebvq8uneqjneryfVN9_pRREAF0_10GrkgBhgchgRF4_EXG_
 .type b__MA7naqebvq8uneqjneryfVN9_pRREAF0_10GrkgBhgchgRF4_EXG_,%function
 b__MA7naqebvq8uneqjneryfVN9_pRREAF0_10GrkgBhgchgRF4_EXG_:
 nop
@@ -958,7 +958,7 @@
 b__MA7naqebvq8uneqjner6Cnepry15frgQngnPncnpvglRz:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
@@ -968,7 +968,7 @@
 b__MA7naqebvq8uneqjner10OcUjOvaqre13BowrpgZnantreP2Ri:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVAF_11__jenc_vgreVCXpRRRRG_F9_F9_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVAF_11__jenc_vgreVCXpRRRRG_F9_F9_:
 nop
@@ -983,12 +983,12 @@
 b__MGua32_A7naqebvq4uvqy7znantre4I1_118OaUjFreivprZnantreQ0Ri:
 nop
 .data
-.globl b__MGPA7naqebvq4uvqy4onfr4I1_06OfOnfrR0_AF2_5VOnfrR
+.weak b__MGPA7naqebvq4uvqy4onfr4I1_06OfOnfrR0_AF2_5VOnfrR
 .type b__MGPA7naqebvq4uvqy4onfr4I1_06OfOnfrR0_AF2_5VOnfrR,%object
 b__MGPA7naqebvq4uvqy4onfr4I1_06OfOnfrR0_AF2_5VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1013,7 +1013,7 @@
 b__MA7naqebvq8uneqjner7qrgnvyf13trgQrfpevcgbeRCAF_4uvqy4onfr4I1_05VOnfrR:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw:
 nop
@@ -1023,12 +1023,12 @@
 b__MA7naqebvq4uvqy7znantre4I1_018OaUjFreivprZnantreP1REXAF_2fcVAF2_15VFreivprZnantreRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1048,7 +1048,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_218OaUjFreivprZnantre19_uvqy_gelHaertvfgreRCAF0_4onfr4I1_08OaUjOnfrREXAF_8uneqjner6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_R7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_R7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_R7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_R7qrfgeblRi:
 nop
@@ -1078,7 +1078,7 @@
 b_trgUJOvaqreXrearyErsreraprf:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1088,7 +1088,7 @@
 b__MA7naqebvq8uneqjner6Cnepry25jevgrRzorqqrqAngvirUnaqyrRCX13angvir_unaqyrzz:
 nop
 .data
-.globl b__MGIAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGIAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGIAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGIAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1103,7 +1103,7 @@
 b__MA7naqebvq8uneqjner7qrgnvyf10GnfxEhaareQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRAF4_23OcUjFreivprAbgvsvpngvbaRAF4_23OaUjFreivprAbgvsvpngvbaRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRAF4_23OcUjFreivprAbgvsvpngvbaRAF4_23OaUjFreivprAbgvsvpngvbaRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRAF4_23OcUjFreivprAbgvsvpngvbaRAF4_23OaUjFreivprAbgvsvpngvbaRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRAF4_23OcUjFreivprAbgvsvpngvbaRAF4_23OaUjFreivprAbgvsvpngvbaRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -1138,7 +1138,7 @@
 b__MA7naqebvq8uneqjner6Cnepry12jevgrCbvagreRz:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner6Cnepry11jevgrBowrpgV20ovaqre_ohssre_bowrpgRRvEXG_
+.weak b__MA7naqebvq8uneqjner6Cnepry11jevgrBowrpgV20ovaqre_ohssre_bowrpgRRvEXG_
 .type b__MA7naqebvq8uneqjner6Cnepry11jevgrBowrpgV20ovaqre_ohssre_bowrpgRRvEXG_,%function
 b__MA7naqebvq8uneqjner6Cnepry11jevgrBowrpgV20ovaqre_ohssre_bowrpgRRvEXG_:
 nop
@@ -1153,7 +1153,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_115VFreivprZnantre21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
@@ -1193,7 +1193,7 @@
 b__MA7naqebvq8uneqjner9OUjOvaqre15vfErdhrfgvatFvqRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR7qb_pbclRCiF3_z
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR7qb_pbclRCiF3_z
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR7qb_pbclRCiF3_z,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR7qb_pbclRCiF3_z:
 nop
@@ -1218,7 +1218,7 @@
 b__MGGA7naqebvq4uvqy4onfr4I1_08OaUjOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__117__ercrng_bar_ybbcVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__117__ercrng_bar_ybbcVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__117__ercrng_bar_ybbcVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__117__ercrng_bar_ybbcVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -1228,12 +1228,12 @@
 b__MA7naqebvq8uneqjner22ernqRzorqqrqSebzCnepryREXAF0_11uvqy_fgevatREXAF0_6CnepryRzz:
 nop
 .data
-.globl b__MGPAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -1248,7 +1248,7 @@
 b__MA7naqebvq8uneqjner14VCPGuernqFgngr15vapFgebatUnaqyrRvCAF0_10OcUjOvaqreR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1263,12 +1263,12 @@
 b__MA7naqebvq4uvqy7znantre4I1_023OcUjFreivprAbgvsvpngvba14baErtvfgengvbaREXAF_8uneqjner11uvqy_fgevatRF7_o:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRzEXF4_
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRzEXF4_
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRzEXF4_,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRzEXF4_:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRRR:
 .space __SIZEOF_POINTER__
@@ -1278,7 +1278,7 @@
 b__MA7naqebvq8uneqjner6Cnepry13jevgrHacnqqrqRCXiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_:
 nop
@@ -1298,7 +1298,7 @@
 b__MA7naqebvq8uneqjner10UvqyZrzbel11trgVafgnaprRBAF0_11uvqy_zrzbelR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_018OcUjFreivprZnantreRAF5_15VFreivprZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_018OcUjFreivprZnantreRAF5_15VFreivprZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_018OcUjFreivprZnantreRAF5_15VFreivprZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_018OcUjFreivprZnantreRAF5_15VFreivprZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -1338,7 +1338,7 @@
 b__MA7naqebvq8uneqjner6Cnepry9vavgFgngrRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_:
 nop
@@ -1368,7 +1368,7 @@
 b__MA7naqebvq4uvqy4onfr4I1_08OaUjOnfrP2REXAF_2fcVAF2_5VOnfrRRREXAFg3__112onfvp_fgevatVpAF9_11pune_genvgfVpRRAF9_9nyybpngbeVpRRRRFU_:
 nop
 .data
-.globl b__MGPA7naqebvq4uvqy7znantre4I1_016OfFreivprZnantreR0_AF2_15VFreivprZnantreR
+.weak b__MGPA7naqebvq4uvqy7znantre4I1_016OfFreivprZnantreR0_AF2_15VFreivprZnantreR
 .type b__MGPA7naqebvq4uvqy7znantre4I1_016OfFreivprZnantreR0_AF2_15VFreivprZnantreR,%object
 b__MGPA7naqebvq4uvqy7znantre4I1_016OfFreivprZnantreR0_AF2_15VFreivprZnantreR:
 .space __SIZEOF_POINTER__
@@ -1473,12 +1473,12 @@
 b__MA7naqebvq8uneqjner10OcUjOvaqreP1Rv:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVAF_11__jenc_vgreVCXpRRRRG_F9_F9_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVAF_11__jenc_vgreVCXpRRRRG_F9_F9_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVCXpRRG_F7_F7_:
 nop
@@ -1508,7 +1508,7 @@
 b__MGi0_a40_A7naqebvq8uneqjner10OcUjOvaqre15baYnfgFgebatErsRCXi:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRRR:
 .space __SIZEOF_POINTER__
@@ -1538,17 +1538,17 @@
 b__MGPA7naqebvq4uvqy7znantre4I1_218OcUjFreivprZnantreR0_AF2_15VFreivprZnantreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjneryfVCiRREAF0_10GrkgBhgchgRF4_EXG_
+.weak b__MA7naqebvq8uneqjneryfVCiRREAF0_10GrkgBhgchgRF4_EXG_
 .type b__MA7naqebvq8uneqjneryfVCiRREAF0_10GrkgBhgchgRF4_EXG_,%function
 b__MA7naqebvq8uneqjneryfVCiRREAF0_10GrkgBhgchgRF4_EXG_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
@@ -1583,12 +1583,12 @@
 b__MA7naqebvq8uneqjner6Cnepry12jevgrVacynprRz:
 nop
 .data
-.globl b__MTIMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre8bcraYvofREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF2_8shapgvbaVSoCiFN_FN_RRRR16unyYvoCnguIaqxFc
+.weak b__MTIMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre8bcraYvofREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF2_8shapgvbaVSoCiFN_FN_RRRR16unyYvoCnguIaqxFc
 .type b__MTIMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre8bcraYvofREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF2_8shapgvbaVSoCiFN_FN_RRRR16unyYvoCnguIaqxFc,%object
 b__MTIMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre8bcraYvofREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF2_8shapgvbaVSoCiFN_FN_RRRR16unyYvoCnguIaqxFc:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRP2Ri
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRP2Ri
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRP2Ri,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRP2Ri:
 nop
@@ -1603,12 +1603,12 @@
 b__MGPA7naqebvq4uvqy7znantre4I1_218OaUjFreivprZnantreR0_AF0_4onfr4I1_08OaUjOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjneryfVN5_pRREAF0_10GrkgBhgchgRF4_EXG_
+.weak b__MA7naqebvq8uneqjneryfVN5_pRREAF0_10GrkgBhgchgRF4_EXG_
 .type b__MA7naqebvq8uneqjneryfVN5_pRREAF0_10GrkgBhgchgRF4_EXG_,%function
 b__MA7naqebvq8uneqjneryfVN5_pRREAF0_10GrkgBhgchgRF4_EXG_:
 nop
 .text
-.globl b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR27__zngpu_ng_fgneg_cbfvk_fhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
+.weak b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR27__zngpu_ng_fgneg_cbfvk_fhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
 .type b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR27__zngpu_ng_fgneg_cbfvk_fhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo,%function
 b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR27__zngpu_ng_fgneg_cbfvk_fhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo:
 nop
@@ -1623,7 +1623,7 @@
 b__MA7naqebvq8uneqjner10GrkgBhgchgP2Ri:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_RR
+.weak b__MGIAFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_RR
 .type b__MGIAFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_RR,%object
 b__MGIAFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_RR:
 .space __SIZEOF_POINTER__
@@ -1643,7 +1643,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry11ernqCbvagreRi:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR6frgohsRCpy
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR6frgohsRCpy
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR6frgohsRCpy,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR6frgohsRCpy:
 nop
@@ -1658,7 +1658,7 @@
 b__MGPA7naqebvq4uvqy7znantre4I1_023OcUjFreivprAbgvsvpngvbaR16_AF_8uneqjner11OcUjErsOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__116__bjaf_bar_fgngrVpRR
+.weak b__MGIAFg3__116__bjaf_bar_fgngrVpRR
 .type b__MGIAFg3__116__bjaf_bar_fgngrVpRR,%object
 b__MGIAFg3__116__bjaf_bar_fgngrVpRR:
 .space __SIZEOF_POINTER__
@@ -1668,7 +1668,7 @@
 b__MA7naqebvq4uvqy4onfr4I1_05VOnfr4cvatRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_215VFreivprZnantreRAF3_4onfr4I1_05VOnfrRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_215VFreivprZnantreRAF3_4onfr4I1_05VOnfrRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_215VFreivprZnantreRAF3_4onfr4I1_05VOnfrRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_215VFreivprZnantreRAF3_4onfr4I1_05VOnfrRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -1678,12 +1678,12 @@
 b__MA7naqebvq8uneqjner14VCPGuernqFgngr20jevgrGenafnpgvbaQngnRvwvwEXAF0_6CnepryRCv:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_:
 nop
 .data
-.globl b__MGIAFg3__110__onpx_ersVpRR
+.weak b__MGIAFg3__110__onpx_ersVpRR
 .type b__MGIAFg3__110__onpx_ersVpRR,%object
 b__MGIAFg3__110__onpx_ersVpRR:
 .space __SIZEOF_POINTER__
@@ -1703,7 +1703,7 @@
 b__MGIA7naqebvq4uvqy4onfr4I1_08OcUjOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__112__zngpu_puneVpRR
+.weak b__MGIAFg3__112__zngpu_puneVpRR
 .type b__MGIAFg3__112__zngpu_puneVpRR,%object
 b__MGIAFg3__112__zngpu_puneVpRR:
 .space __SIZEOF_POINTER__
@@ -1713,7 +1713,7 @@
 b__MGPA7naqebvq4uvqy7znantre4I1_215VFreivprZnantreR0_AF0_4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_:
 nop
@@ -1733,7 +1733,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry10svaqOhssreRCXizCoCzF5_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR15__chfu_onpx_ersRv
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR15__chfu_onpx_ersRv
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR15__chfu_onpx_ersRv,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR15__chfu_onpx_ersRv:
 nop
@@ -1763,12 +1763,12 @@
 b__MGPA7naqebvq4uvqy7znantre4I1_215VFreivprZnantreR0_AF1_4I1_115VFreivprZnantreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGGAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGGAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGGAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner7qrgnvyf6JnvgreR
+.weak b__MGIA7naqebvq8uneqjner7qrgnvyf6JnvgreR
 .type b__MGIA7naqebvq8uneqjner7qrgnvyf6JnvgreR,%object
 b__MGIA7naqebvq8uneqjner7qrgnvyf6JnvgreR:
 .space __SIZEOF_POINTER__
@@ -1783,7 +1783,7 @@
 b__MA7naqebvq8uneqjner6Cnepry14eryrnfrBowrpgfRi:
 nop
 .data
-.globl b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1793,7 +1793,7 @@
 b__MAX7naqebvq8uneqjner12CebprffFgngr16vfPbagrkgZnantreRi:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -1818,12 +1818,12 @@
 b__MGGA7naqebvq8uneqjner10OcUjOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9haqresybjRi
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9haqresybjRi
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9haqresybjRi,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9haqresybjRi:
 nop
@@ -1838,7 +1838,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry11ernqVacynprRz:
 nop
 .text
-.globl b__MAXFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -1858,7 +1858,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_118OcUjFreivprZnantre19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF_8uneqjner11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy7znantre4I1_215VPyvragPnyyonpxRAF4_18OcUjPyvragPnyyonpxRAF4_18OaUjPyvragPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy7znantre4I1_215VPyvragPnyyonpxRAF4_18OcUjPyvragPnyyonpxRAF4_18OaUjPyvragPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy7znantre4I1_215VPyvragPnyyonpxRAF4_18OcUjPyvragPnyyonpxRAF4_18OaUjPyvragPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy7znantre4I1_215VPyvragPnyyonpxRAF4_18OcUjPyvragPnyyonpxRAF4_18OaUjPyvragPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -1888,7 +1888,7 @@
 b__MA7naqebvq8uneqjner7qrgnvyf21PyvragPbhagrePnyyonpx20nqqErtvfgrerqFreivprREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR10chfu_sebagRBF2_
+.weak b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR10chfu_sebagRBF2_
 .type b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR10chfu_sebagRBF2_,%function
 b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR10chfu_sebagRBF2_:
 nop
@@ -1903,7 +1903,7 @@
 b__MA7naqebvq8uneqjneryfREAFg3__113onfvp_bfgernzVpAF1_11pune_genvgfVpRRRREXAF0_6FgnghfR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz:
 nop
@@ -1913,7 +1913,7 @@
 b__MA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbeQ1Ri:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVAF_11__jenc_vgreVCXpRRRRG_F9_F9_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVAF_11__jenc_vgreVCXpRRRRG_F9_F9_:
 nop
@@ -1963,7 +1963,7 @@
 b__MA7naqebvq8uneqjner12CebprffFgngr17fcnjaCbbyrqGuernqRo:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVAF_11__jenc_vgreVCXpRRRRG_F9_F9_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVAF_11__jenc_vgreVCXpRRRRG_F9_F9_:
 nop
@@ -1983,7 +1983,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_118OcUjFreivprZnantre24ertvfgreSbeAbgvsvpngvbafREXAF_8uneqjner11uvqy_fgevatRF7_EXAF_2fcVAF1_4I1_020VFreivprAbgvsvpngvbaRRR:
 nop
 .data
-.globl b__MGIAFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -2048,7 +2048,7 @@
 b__MA7naqebvq8uneqjner7qrgnvyf17trgIaqxIrefvbaFgeRi:
 nop
 .text
-.globl b__MAFg3__117__bjaf_gjb_fgngrfVpRQ0Ri
+.weak b__MAFg3__117__bjaf_gjb_fgngrfVpRQ0Ri
 .type b__MAFg3__117__bjaf_gjb_fgngrfVpRQ0Ri,%function
 b__MAFg3__117__bjaf_gjb_fgngrfVpRQ0Ri:
 nop
@@ -2083,12 +2083,12 @@
 b__MA7naqebvq8uneqjner6Cnepry14serrQngnAbVavgRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ0Ri
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ0Ri
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ0Ri,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ0Ri:
 nop
@@ -2113,7 +2113,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_215VFreivprZnantre8pnfgSebzREXAF_2fcVAF1_4I1_115VFreivprZnantreRRRo:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR16_AF0_11OcUjErsOnfrR
+.weak b__MGPA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR16_AF0_11OcUjErsOnfrR
 .type b__MGPA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR16_AF0_11OcUjErsOnfrR,%object
 b__MGPA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR16_AF0_11OcUjErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -2138,7 +2138,7 @@
 b__MA7naqebvq4uvqy4onfr4I1_08OaUjOnfr27_uvqy_abgvslFlfcebcfPunatrqRCF3_EXAF_8uneqjner6CnepryRCF6_AFg3__18shapgvbaVSiEF6_RRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2148,7 +2148,7 @@
 b__MA7naqebvq8uneqjner10GrkgBhgchgQ0Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -2168,7 +2168,7 @@
 b__MA7naqebvq8uneqjner21qrsnhygFreivprZnantreRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVCXpRRG_F7_F7_:
 nop
@@ -2193,7 +2193,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_018OcUjFreivprZnantre12trgGenafcbegREXAF_8uneqjner11uvqy_fgevatRF7_:
 nop
 .text
-.globl b__MAXFg3__16__ybbcVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__16__ybbcVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__16__ybbcVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__16__ybbcVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -2238,17 +2238,17 @@
 b__MA7naqebvq4uvqy7znantre4I1_218OcUjFreivprZnantre22ertvfgrePyvragPnyyonpxREXAF_8uneqjner11uvqy_fgevatRF7_EXAF_2fcVAF0_4onfr4I1_05VOnfrRRREXAF8_VAF2_15VPyvragPnyyonpxRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
+.weak b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
 .type b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_,%function
 b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_:
 nop
 .data
-.globl b__MGIAFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq2jcVAF2_4uvqy4onfr4I1_05VOnfrRRRoRRAF_19__znc_inyhr_pbzcnerVF8_F9_AF_4yrffVF8_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF8_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF8_RRRAFY_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq2jcVAF2_4uvqy4onfr4I1_05VOnfrRRRoRRAF_19__znc_inyhr_pbzcnerVF8_F9_AF_4yrffVF8_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF8_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF8_RRRAFY_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq2jcVAF2_4uvqy4onfr4I1_05VOnfrRRRoRRAF_19__znc_inyhr_pbzcnerVF8_F9_AF_4yrffVF8_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF8_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF8_RRRAFY_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq2jcVAF2_4uvqy4onfr4I1_05VOnfrRRRoRRAF_19__znc_inyhr_pbzcnerVF8_F9_AF_4yrffVF8_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF8_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF8_RRRAFY_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -2268,7 +2268,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_218OcUjPyvragPnyyonpx12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF0_4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_218OcUjPyvragPnyyonpxRAF5_15VPyvragPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_218OcUjPyvragPnyyonpxRAF5_15VPyvragPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_218OcUjPyvragPnyyonpxRAF5_15VPyvragPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_218OcUjPyvragPnyyonpxRAF5_15VPyvragPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -2278,12 +2278,12 @@
 b__MAX7naqebvq8uneqjner6Cnepry10ernqHvag64Ri:
 nop
 .data
-.globl b__MGIAFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RREXF9_FO_
+.weak b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RREXF9_FO_
 .type b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RREXF9_FO_,%function
 b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RREXF9_FO_:
 nop
@@ -2358,7 +2358,7 @@
 b__MA7naqebvq8uneqjner27uvqy_ovaqre_qrngu_erpvcvrag10ovaqreQvrqREXAF_2jcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAX7naqebvq8uneqjner6Cnepry10ernqBowrpgV16ovaqre_sq_bowrpgRRCXG_Cz
+.weak b__MAX7naqebvq8uneqjner6Cnepry10ernqBowrpgV16ovaqre_sq_bowrpgRRCXG_Cz
 .type b__MAX7naqebvq8uneqjner6Cnepry10ernqBowrpgV16ovaqre_sq_bowrpgRRCXG_Cz,%function
 b__MAX7naqebvq8uneqjner6Cnepry10ernqBowrpgV16ovaqre_sq_bowrpgRRCXG_Cz:
 nop
@@ -2373,22 +2373,22 @@
 b__MA7naqebvq8uneqjner14VCPGuernqFgngr8genafnpgRvwEXAF0_6CnepryRCF2_w:
 nop
 .text
-.globl b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR8__frnepuVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrR
+.weak b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR8__frnepuVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrR
 .type b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR8__frnepuVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrR,%function
 b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR8__frnepuVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrR:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner7qrgnvyf21PyvragPbhagrePnyyonpx7FreivprRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner7qrgnvyf21PyvragPbhagrePnyyonpx7FreivprRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner7qrgnvyf21PyvragPbhagrePnyyonpx7FreivprRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner7qrgnvyf21PyvragPbhagrePnyyonpx7FreivprRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVCXpRRgG_F5_op
+.weak b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVCXpRRgG_F5_op
 .type b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVCXpRRgG_F5_op,%function
 b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVCXpRRgG_F5_op:
 nop
@@ -2398,22 +2398,22 @@
 b__MGua32_A7naqebvq4uvqy7znantre4I1_218OaUjFreivprZnantreQ0Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRAF_19__znc_inyhr_pbzcnerVF7_FR_AF_4yrffVF7_RRYo1RRRAF5_VFR_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFR_CAF_11__gerr_abqrVFR_CiRRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRAF_19__znc_inyhr_pbzcnerVF7_FR_AF_4yrffVF7_RRYo1RRRAF5_VFR_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFR_CAF_11__gerr_abqrVFR_CiRRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRAF_19__znc_inyhr_pbzcnerVF7_FR_AF_4yrffVF7_RRYo1RRRAF5_VFR_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFR_CAF_11__gerr_abqrVFR_CiRRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRAF_19__znc_inyhr_pbzcnerVF7_FR_AF_4yrffVF7_RRYo1RRRAF5_VFR_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFR_CAF_11__gerr_abqrVFR_CiRRyRREXG_:
 nop
 .data
-.globl b__MGPA7naqebvq4uvqy7znantre4I1_116OfFreivprZnantreR0_AF2_15VFreivprZnantreR
+.weak b__MGPA7naqebvq4uvqy7znantre4I1_116OfFreivprZnantreR0_AF2_15VFreivprZnantreR
 .type b__MGPA7naqebvq4uvqy7znantre4I1_116OfFreivprZnantreR0_AF2_15VFreivprZnantreR,%object
 b__MGPA7naqebvq4uvqy7znantre4I1_116OfFreivprZnantreR0_AF2_15VFreivprZnantreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner9OUjOvaqreRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner9OUjOvaqreRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner9OUjOvaqreRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner9OUjOvaqreRRQ2Ri:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_
+.weak b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_
 .type b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_,%function
 b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_:
 nop
@@ -2423,7 +2423,7 @@
 b__MGua32_A7naqebvq4uvqy4onfr4I1_08OaUjOnfrQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRR21__chfu_onpx_fybj_cnguVFS_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRR21__chfu_onpx_fybj_cnguVFS_RRiBG_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRR21__chfu_onpx_fybj_cnguVFS_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRR21__chfu_onpx_fybj_cnguVFS_RRiBG_:
 nop
@@ -2433,7 +2433,7 @@
 b__MA7naqebvq8uneqjner11uvqy_fgevat15xBssfrgBsOhssreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVCXpRRG_F7_F7_:
 nop
@@ -2463,12 +2463,12 @@
 b__MA7naqebvq4uvqy7znantre4I1_023OaUjFreivprAbgvsvpngvbaQ2Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_115VFreivprZnantreRAF4_4I1_015VFreivprZnantreRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFO_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_115VFreivprZnantreRAF4_4I1_015VFreivprZnantreRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFO_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_115VFreivprZnantreRAF4_4I1_015VFreivprZnantreRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFO_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_115VFreivprZnantreRAF4_4I1_015VFreivprZnantreRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFO_VG0_RRCXpo:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR
+.weak b__MGIA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR
 .type b__MGIA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR,%object
 b__MGIA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR:
 .space __SIZEOF_POINTER__
@@ -2483,12 +2483,12 @@
 b__MGi0_a24_A7naqebvq4uvqy7znantre4I1_018OaUjFreivprZnantreQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq8uneqjner6Cnepry10ernqBowrpgV20ovaqre_ohssre_bowrpgRRCXG_Cz
+.weak b__MAX7naqebvq8uneqjner6Cnepry10ernqBowrpgV20ovaqre_ohssre_bowrpgRRCXG_Cz
 .type b__MAX7naqebvq8uneqjner6Cnepry10ernqBowrpgV20ovaqre_ohssre_bowrpgRRCXG_Cz,%function
 b__MAX7naqebvq8uneqjner6Cnepry10ernqBowrpgV20ovaqre_ohssre_bowrpgRRCXG_Cz:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf24YnmlFreivprErtvfgeneVzcyRAF_9nyybpngbeVF4_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf24YnmlFreivprErtvfgeneVzcyRAF_9nyybpngbeVF4_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf24YnmlFreivprErtvfgeneVzcyRAF_9nyybpngbeVF4_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf24YnmlFreivprErtvfgeneVzcyRAF_9nyybpngbeVF4_RRR16__ba_mreb_funerqRi:
 nop
@@ -2538,12 +2538,12 @@
 b__MA7naqebvq8uneqjner22ernqRzorqqrqSebzCnepryREXAF0_11uvqy_zrzbelREXAF0_6CnepryRzz:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRi:
 nop
@@ -2573,7 +2573,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry19inyvqngrOhssrePuvyqRzz:
 nop
 .data
-.globl b__MMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR18unyYvoCnguIaqxFc32
+.weak b__MMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR18unyYvoCnguIaqxFc32
 .type b__MMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR18unyYvoCnguIaqxFc32,%object
 b__MMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR18unyYvoCnguIaqxFc32:
 .space __SIZEOF_POINTER__
@@ -2588,12 +2588,12 @@
 b__MA7naqebvq8uneqjner6Cnepry17jevgrFgebatOvaqreREXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .data
-.globl b__MGIAFg3__110__y_napubeVpRR
+.weak b__MGIAFg3__110__y_napubeVpRR
 .type b__MGIAFg3__110__y_napubeVpRR,%object
 b__MGIAFg3__110__y_napubeVpRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__113__rzcgl_fgngrVpRR
+.weak b__MGIAFg3__113__rzcgl_fgngrVpRR
 .type b__MGIAFg3__113__rzcgl_fgngrVpRR,%object
 b__MGIAFg3__113__rzcgl_fgngrVpRR:
 .space __SIZEOF_POINTER__
@@ -2613,12 +2613,12 @@
 b__MGIA7naqebvq4uvqy7znantre4I1_218OcUjPyvragPnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MTIMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR18unyYvoCnguIaqxFc32
+.weak b__MTIMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR18unyYvoCnguIaqxFc32
 .type b__MTIMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR18unyYvoCnguIaqxFc32,%object
 b__MTIMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR18unyYvoCnguIaqxFc32:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVCXpRRG_F7_F7_:
 nop
@@ -2633,7 +2633,7 @@
 b__MA7naqebvq8uneqjner6CnepryP2Ri:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf17FlapuebavmrqDhrhrVAF_8shapgvbaVSiiRRRRRAF_9nyybpngbeVF8_RRRR
+.weak b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf17FlapuebavmrqDhrhrVAF_8shapgvbaVSiiRRRRRAF_9nyybpngbeVF8_RRRR
 .type b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf17FlapuebavmrqDhrhrVAF_8shapgvbaVSiiRRRRRAF_9nyybpngbeVF8_RRRR,%object
 b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf17FlapuebavmrqDhrhrVAF_8shapgvbaVSiiRRRRRAF_9nyybpngbeVF8_RRRR:
 .space __SIZEOF_POINTER__
@@ -2648,7 +2648,7 @@
 b__MAX7naqebvq8uneqjner11uvqy_fgevat5rzcglRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww:
 nop
@@ -2673,12 +2673,12 @@
 b__MA7naqebvq8uneqjner10UvqyZrzbelQ1Ri:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_:
 nop
@@ -2718,7 +2718,7 @@
 b__MGua32_A7naqebvq4uvqy7znantre4I1_118OaUjFreivprZnantreQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR10qb_qrfgeblRCiz:
 nop
@@ -2728,12 +2728,12 @@
 b__MA7naqebvq8uneqjner12CebprffFgngr11trgZzncFvmrRi:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner10CbbyGuernqR
+.weak b__MGIA7naqebvq8uneqjner10CbbyGuernqR
 .type b__MGIA7naqebvq8uneqjner10CbbyGuernqR,%object
 b__MGIA7naqebvq8uneqjner10CbbyGuernqR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVAF_11__jenc_vgreVCXpRRRRG_F9_F9_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVAF_11__jenc_vgreVCXpRRRRG_F9_F9_:
 nop
@@ -2748,12 +2748,12 @@
 b__MA7naqebvq4uvqy7znantre4I1_020VFreivprAbgvsvpngvba19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF_8uneqjner11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR7qb_pbclRCiCXiz:
 nop
@@ -2763,17 +2763,17 @@
 b__MA7naqebvq8uneqjner15vagresnprfRdhnyREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRRF8_:
 nop
 .data
-.globl b__MGPA7naqebvq4uvqy7znantre4I1_216OfPyvragPnyyonpxR0_AF2_15VPyvragPnyyonpxR
+.weak b__MGPA7naqebvq4uvqy7znantre4I1_216OfPyvragPnyyonpxR0_AF2_15VPyvragPnyyonpxR
 .type b__MGPA7naqebvq4uvqy7znantre4I1_216OfPyvragPnyyonpxR0_AF2_15VPyvragPnyyonpxR,%object
 b__MGPA7naqebvq4uvqy7znantre4I1_216OfPyvragPnyyonpxR0_AF2_15VPyvragPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_16__bjaf_bar_fgngrVpRRww
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_16__bjaf_bar_fgngrVpRRww
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_16__bjaf_bar_fgngrVpRRww,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_16__bjaf_bar_fgngrVpRRww:
 nop
@@ -2783,12 +2783,12 @@
 b__MA7naqebvq8uneqjner11uvqy_fgevat8zbirSebzRBF1_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVAF_11__jenc_vgreVCXpRRRRG_F9_F9_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVAF_11__jenc_vgreVCXpRRRRG_F9_F9_:
 nop
@@ -2813,7 +2813,7 @@
 b__MA7naqebvq8uneqjner4nbhgR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -2823,7 +2823,7 @@
 b__MA7naqebvq4uvqy4onfr4I1_05VOnfr12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF2_9QrohtVasbRRRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
@@ -2833,12 +2833,12 @@
 b__MGGA7naqebvq8uneqjner9OUjOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__117__ercrng_bar_ybbcVpRR
+.weak b__MGIAFg3__117__ercrng_bar_ybbcVpRR
 .type b__MGIAFg3__117__ercrng_bar_ybbcVpRR,%object
 b__MGIAFg3__117__ercrng_bar_ybbcVpRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -2858,17 +2858,17 @@
 b__MGi0_a24_A7naqebvq4uvqy4onfr4I1_08OaUjOnfrQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_R7__pybarRCAF0_6__onfrVFS_RR
+.weak b__MAXFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_R7__pybarRCAF0_6__onfrVFS_RR
 .type b__MAXFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_R7__pybarRCAF0_6__onfrVFS_RR,%function
 b__MAXFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_R7__pybarRCAF0_6__onfrVFS_RR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_:
 nop
@@ -2883,7 +2883,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry4qngnRi:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVAF_11__jenc_vgreVCXpRRRRgG_F7_op
+.weak b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVAF_11__jenc_vgreVCXpRRRRgG_F7_op
 .type b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVAF_11__jenc_vgreVCXpRRRRgG_F7_op,%function
 b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVAF_11__jenc_vgreVCXpRRRRgG_F7_op:
 nop
@@ -2893,12 +2893,12 @@
 b__MA7naqebvq8uneqjner7qrgnvyf17tOfPbafgehpgbeZncR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR8biresybjRv
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR8biresybjRv
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR8biresybjRv,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR8biresybjRv:
 nop
@@ -2918,17 +2918,17 @@
 b__MA7naqebvq4uvqy7znantre4I1_218OcUjFreivprZnantre13hayvaxGbQrnguREXAF_2fcVAF_8uneqjner20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner6Cnepry11jevgrBowrpgV22ovaqre_sq_neenl_bowrpgRRvEXG_
+.weak b__MA7naqebvq8uneqjner6Cnepry11jevgrBowrpgV22ovaqre_sq_neenl_bowrpgRRvEXG_
 .type b__MA7naqebvq8uneqjner6Cnepry11jevgrBowrpgV22ovaqre_sq_neenl_bowrpgRRvEXG_,%function
 b__MA7naqebvq8uneqjner6Cnepry11jevgrBowrpgV22ovaqre_sq_neenl_bowrpgRRvEXG_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf17FlapuebavmrqDhrhrVAFg3__18shapgvbaVSiiRRRR8jnvg_cbcRi
+.weak b__MA7naqebvq8uneqjner7qrgnvyf17FlapuebavmrqDhrhrVAFg3__18shapgvbaVSiiRRRR8jnvg_cbcRi
 .type b__MA7naqebvq8uneqjner7qrgnvyf17FlapuebavmrqDhrhrVAFg3__18shapgvbaVSiiRRRR8jnvg_cbcRi,%function
 b__MA7naqebvq8uneqjner7qrgnvyf17FlapuebavmrqDhrhrVAFg3__18shapgvbaVSiiRRRR8jnvg_cbcRi:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf24YnmlFreivprErtvfgeneVzcyRAF_9nyybpngbeVF4_RRRR
+.weak b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf24YnmlFreivprErtvfgeneVzcyRAF_9nyybpngbeVF4_RRRR
 .type b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf24YnmlFreivprErtvfgeneVzcyRAF_9nyybpngbeVF4_RRRR,%object
 b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf24YnmlFreivprErtvfgeneVzcyRAF_9nyybpngbeVF4_RRRR:
 .space __SIZEOF_POINTER__
@@ -2943,7 +2943,7 @@
 b__MA7naqebvq8uneqjner11OcUjErsOnfr20baVapFgebatNggrzcgrqRwCXi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -2978,7 +2978,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_218OcUjFreivprZnantre19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF_8uneqjner11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MAXFg3__111__zngpu_nalVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__111__zngpu_nalVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__111__zngpu_nalVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__111__zngpu_nalVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -2993,12 +2993,12 @@
 b__MGi0_a32_A7naqebvq8uneqjner10OcUjOvaqre10baSvefgErsRi:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -3028,7 +3028,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_218OcUjFreivprZnantre29_uvqy_yvfgZnavsrfgOlVagresnprRCAF_8uneqjner10VVagresnprRCAF4_7qrgnvyf16UvqyVafgehzragbeREXAF4_11uvqy_fgevatRAFg3__18shapgvbaVSiEXAF4_8uvqy_irpVFN_RRRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -3038,12 +3038,12 @@
 b__MA7naqebvq8uneqjner14VCPGuernqFgngr12frghcCbyyvatRCv:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVCXpRRG_F7_F7_:
 nop
 .data
-.globl b__MGPAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR16_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR16_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -3068,7 +3068,7 @@
 b__MGPA7naqebvq4uvqy4onfr4I1_08OcUjOnfrR0_AF_8uneqjner11OcVagresnprVAF2_5VOnfrRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -3078,7 +3078,7 @@
 b__MA7naqebvq8uneqjner21frgZvaFpurqhyreCbyvplREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRRvv:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_4uvqy4onfr4I1_05VOnfrRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_4uvqy4onfr4I1_05VOnfrRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_4uvqy4onfr4I1_05VOnfrRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_4uvqy4onfr4I1_05VOnfrRiRRAF_2fcVG_RRF9_:
 nop
@@ -3088,7 +3088,7 @@
 b__MAX7naqebvq8uneqjner14VCPGuernqFgngr19trgFgevpgZbqrCbyvplRi:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_R7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_R7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_R7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_R7__pybarRi:
 nop
@@ -3118,7 +3118,7 @@
 b__MA7naqebvq8uneqjner6Cnepry10jevgrVag64Ry:
 nop
 .data
-.globl b__MGIA7naqebvq4uvqy7znantre4I1_021OfFreivprAbgvsvpngvbaR
+.weak b__MGIA7naqebvq4uvqy7znantre4I1_021OfFreivprAbgvsvpngvbaR
 .type b__MGIA7naqebvq4uvqy7znantre4I1_021OfFreivprAbgvsvpngvbaR,%object
 b__MGIA7naqebvq4uvqy7znantre4I1_021OfFreivprAbgvsvpngvbaR:
 .space __SIZEOF_POINTER__
@@ -3138,12 +3138,12 @@
 b__MA7naqebvq8uneqjner12CebprffFgngrQ0Ri:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
 .data
-.globl b__MMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre8bcraYvofREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF2_8shapgvbaVSoCiFN_FN_RRRR16unyYvoCnguIaqxFc
+.weak b__MMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre8bcraYvofREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF2_8shapgvbaVSoCiFN_FN_RRRR16unyYvoCnguIaqxFc
 .type b__MMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre8bcraYvofREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF2_8shapgvbaVSoCiFN_FN_RRRR16unyYvoCnguIaqxFc,%object
 b__MMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre8bcraYvofREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF2_8shapgvbaVSoCiFN_FN_RRRR16unyYvoCnguIaqxFc:
 .space __SIZEOF_POINTER__
@@ -3153,12 +3153,12 @@
 b__MA7naqebvq4uvqy7znantre4I1_018OaUjFreivprZnantre9_uvqy_nqqRCAF0_4onfr4I1_08OaUjOnfrREXAF_8uneqjner6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq8uneqjner6Cnepry10ernqBowrpgV18syng_ovaqre_bowrpgRRCXG_Cz
+.weak b__MAX7naqebvq8uneqjner6Cnepry10ernqBowrpgV18syng_ovaqre_bowrpgRRCXG_Cz
 .type b__MAX7naqebvq8uneqjner6Cnepry10ernqBowrpgV18syng_ovaqre_bowrpgRRCXG_Cz,%function
 b__MAX7naqebvq8uneqjner6Cnepry10ernqBowrpgV18syng_ovaqre_bowrpgRRCXG_Cz:
 nop
@@ -3168,22 +3168,22 @@
 b__MA7naqebvq8uneqjner7qrgnvyf23jencCnffguebhtuVagreanyRAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR16qb_zbir_onpxjneqRCiF3_z
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR16qb_zbir_onpxjneqRCiF3_z
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR16qb_zbir_onpxjneqRCiF3_z,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR16qb_zbir_onpxjneqRCiF3_z:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR8qb_fcyngRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq4uvqy7znantre4I1_116OfFreivprZnantreR
+.weak b__MGIA7naqebvq4uvqy7znantre4I1_116OfFreivprZnantreR
 .type b__MGIA7naqebvq4uvqy7znantre4I1_116OfFreivprZnantreR,%object
 b__MGIA7naqebvq4uvqy7znantre4I1_116OfFreivprZnantreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
+.weak b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
 .type b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR,%function
 b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR:
 nop
@@ -3203,7 +3203,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_215VPyvragPnyyonpx17ertvfgreNfFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRR:
 nop
 .data
-.globl b__MGGA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR
+.weak b__MGGA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR
 .type b__MGGA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR,%object
 b__MGGA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR:
 .space __SIZEOF_POINTER__
@@ -3213,7 +3213,7 @@
 b__MA7naqebvq8uneqjner10OcUjOvaqre13BowrpgZnantreQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR12qb_pbafgehpgRCiz:
 nop
@@ -3233,7 +3233,7 @@
 b__MA7naqebvq8uneqjner10OcUjOvaqreP2Rv:
 nop
 .data
-.globl b__MGIAFg3__111__raq_fgngrVpRR
+.weak b__MGIAFg3__111__raq_fgngrVpRR
 .type b__MGIAFg3__111__raq_fgngrVpRR,%object
 b__MGIAFg3__111__raq_fgngrVpRR:
 .space __SIZEOF_POINTER__
@@ -3243,12 +3243,12 @@
 b__MA7naqebvq4uvqy7znantre4I1_021OfFreivprAbgvsvpngvbaP1RAF_2fcVAF2_20VFreivprAbgvsvpngvbaRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR12qb_pbafgehpgRCiz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_7ErsOnfrRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_7ErsOnfrRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_7ErsOnfrRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_7ErsOnfrRRR:
 .space __SIZEOF_POINTER__
@@ -3273,12 +3273,12 @@
 b__MA7naqebvq8uneqjner14VCPGuernqFgngr22erfgberPnyyvatVqragvglRy:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR10qb_qrfgeblRCiz:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner10CbbyGuernqR0_AF_6GuernqR
+.weak b__MGPA7naqebvq8uneqjner10CbbyGuernqR0_AF_6GuernqR
 .type b__MGPA7naqebvq8uneqjner10CbbyGuernqR0_AF_6GuernqR,%object
 b__MGPA7naqebvq8uneqjner10CbbyGuernqR0_AF_6GuernqR:
 .space __SIZEOF_POINTER__
@@ -3298,7 +3298,7 @@
 b__MGPA7naqebvq4uvqy7znantre4I1_018OcUjFreivprZnantreR8_AF_8uneqjner10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq4uvqy7znantre4I1_216OfFreivprZnantreR0_AF2_15VFreivprZnantreR
+.weak b__MGPA7naqebvq4uvqy7znantre4I1_216OfFreivprZnantreR0_AF2_15VFreivprZnantreR
 .type b__MGPA7naqebvq4uvqy7znantre4I1_216OfFreivprZnantreR0_AF2_15VFreivprZnantreR,%object
 b__MGPA7naqebvq4uvqy7znantre4I1_216OfFreivprZnantreR0_AF2_15VFreivprZnantreR:
 .space __SIZEOF_POINTER__
@@ -3308,7 +3308,7 @@
 b__MA7naqebvq8uneqjner18OhssrerqGrkgBhgchgQ1Ri:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww:
 nop
@@ -3348,7 +3348,7 @@
 b__MGGA7naqebvq8uneqjner7VOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_:
 nop
@@ -3373,12 +3373,12 @@
 b__MA7naqebvq8uneqjner7VOvaqreQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -3388,7 +3388,7 @@
 b__MGPA7naqebvq4uvqy4onfr4I1_08OaUjOnfrR0_AF_8uneqjner7VOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR10qb_pbzcnerRCXiFN_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR10qb_pbzcnerRCXiFN_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR10qb_pbzcnerRCXiFN_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR10qb_pbzcnerRCXiFN_:
 nop
@@ -3398,22 +3398,22 @@
 b__MGGA7naqebvq8uneqjner12CebprffFgngrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq8uneqjner10CbbyGuernqR
+.weak b__MGGA7naqebvq8uneqjner10CbbyGuernqR
 .type b__MGGA7naqebvq8uneqjner10CbbyGuernqR,%object
 b__MGGA7naqebvq8uneqjner10CbbyGuernqR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner12CebprffFgngrRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner12CebprffFgngrRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner12CebprffFgngrRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner12CebprffFgngrRRQ2Ri:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCXpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FO_p
+.weak b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCXpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FO_p
 .type b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCXpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FO_p,%function
 b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCXpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FO_p:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRAF_19__znc_inyhr_pbzcnerVF7_FR_AF_4yrffVF7_RRYo1RRRAF5_VFR_RRR7qrfgeblRCAF_11__gerr_abqrVFR_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRAF_19__znc_inyhr_pbzcnerVF7_FR_AF_4yrffVF7_RRYo1RRRAF5_VFR_RRR7qrfgeblRCAF_11__gerr_abqrVFR_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRAF_19__znc_inyhr_pbzcnerVF7_FR_AF_4yrffVF7_RRYo1RRRAF5_VFR_RRR7qrfgeblRCAF_11__gerr_abqrVFR_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRAF_19__znc_inyhr_pbzcnerVF7_FR_AF_4yrffVF7_RRYo1RRRAF5_VFR_RRR7qrfgeblRCAF_11__gerr_abqrVFR_CiRR:
 nop
@@ -3423,7 +3423,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_018OcUjFreivprZnantre21abgvslFlfcebcfPunatrqRi:
 nop
 .data
-.globl b__MMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR9fNyyCnguf
+.weak b__MMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR9fNyyCnguf
 .type b__MMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR9fNyyCnguf,%object
 b__MMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR9fNyyCnguf:
 .space __SIZEOF_POINTER__
@@ -3438,12 +3438,12 @@
 b__MA7naqebvq4uvqy7znantre4I1_218OaUjFreivprZnantre29_uvqy_yvfgZnavsrfgOlVagresnprRCAF0_4onfr4I1_08OaUjOnfrREXAF_8uneqjner6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjneryfVCpRREAF0_10GrkgBhgchgRF4_EXG_
+.weak b__MA7naqebvq8uneqjneryfVCpRREAF0_10GrkgBhgchgRF4_EXG_
 .type b__MA7naqebvq8uneqjneryfVCpRREAF0_10GrkgBhgchgRF4_EXG_,%function
 b__MA7naqebvq8uneqjneryfVCpRREAF0_10GrkgBhgchgRF4_EXG_:
 nop
 .text
-.globl b__MAXFg3__113__rzcgl_fgngrVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__113__rzcgl_fgngrVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__113__rzcgl_fgngrVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__113__rzcgl_fgngrVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -3463,7 +3463,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry19ernqFgevat16VacynprRCz:
 nop
 .data
-.globl b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -3473,22 +3473,22 @@
 b__MA7naqebvq8uneqjner12CebprffFgngr26frgGuernqCbbyPbasvthengvbaRzo:
 nop
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
 .data
-.globl b__MGIAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRR
+.weak b__MGIAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRR
 .type b__MGIAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRR,%object
 b__MGIAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRRP2REXF6_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRRP2REXF6_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRRP2REXF6_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRRP2REXF6_:
 nop
@@ -3498,12 +3498,12 @@
 b__MA7naqebvq8uneqjner21jevgrRzorqqrqGbCnepryREXAF0_11uvqy_fgevatRCAF0_6CnepryRzz:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_16__bjaf_bar_fgngrVpRRww
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_16__bjaf_bar_fgngrVpRRww
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_16__bjaf_bar_fgngrVpRRww,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_16__bjaf_bar_fgngrVpRRww:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_:
 nop
@@ -3513,7 +3513,7 @@
 b__MA7naqebvq8uneqjner7qrgnvyf21PyvragPbhagrePnyyonpx15ertvfgreFreivprREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRRnFRBF5_:
 nop
@@ -3523,12 +3523,12 @@
 b__MGPA7naqebvq4uvqy4onfr4I1_08OcUjOnfrR0_AF2_5VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR10qb_qrfgeblRCiz:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner13YbtGrkgBhgchgR
+.weak b__MGIA7naqebvq8uneqjner13YbtGrkgBhgchgR
 .type b__MGIA7naqebvq8uneqjner13YbtGrkgBhgchgR,%object
 b__MGIA7naqebvq8uneqjner13YbtGrkgBhgchgR:
 .space __SIZEOF_POINTER__
@@ -3543,7 +3543,7 @@
 b__MA7naqebvq4uvqy4onfr4I1_05VOnfr21frgUNYVafgehzragngvbaRi:
 nop
 .data
-.globl b__MGGAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGGAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGGAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGGAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -3563,7 +3563,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_218OaUjFreivprZnantreP2REXAF_2fcVAF2_15VFreivprZnantreRRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR10qb_pbzcnerRF3_F3_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR10qb_pbzcnerRF3_F3_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR10qb_pbzcnerRF3_F3_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR10qb_pbzcnerRF3_F3_:
 nop
@@ -3573,7 +3573,7 @@
 b__MA7naqebvq8uneqjner6Cnepry11frgQngnFvmrRz:
 nop
 .text
-.globl b__MA7naqebvq8uneqjneryfVN3_pRREAF0_10GrkgBhgchgRF4_EXG_
+.weak b__MA7naqebvq8uneqjneryfVN3_pRREAF0_10GrkgBhgchgRF4_EXG_
 .type b__MA7naqebvq8uneqjneryfVN3_pRREAF0_10GrkgBhgchgRF4_EXG_,%function
 b__MA7naqebvq8uneqjneryfVN3_pRREAF0_10GrkgBhgchgRF4_EXG_:
 nop
@@ -3598,7 +3598,7 @@
 b__MA7naqebvq8uneqjner12CebprffFgngr20znxrOvaqreGuernqAnzrRi:
 nop
 .data
-.globl b__MGIAFg3__117__bjaf_gjb_fgngrfVpRR
+.weak b__MGIAFg3__117__bjaf_gjb_fgngrfVpRR
 .type b__MGIAFg3__117__bjaf_gjb_fgngrfVpRR,%object
 b__MGIAFg3__117__bjaf_gjb_fgngrfVpRR:
 .space __SIZEOF_POINTER__
@@ -3608,7 +3608,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_018OaUjFreivprZnantreQ0Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -3633,7 +3633,7 @@
 b__MA7naqebvq8uneqjner12CebprffFgngr19trgXrearyErsreraprfRzCz:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR:
 nop
@@ -3658,7 +3658,7 @@
 b__MA7naqebvq8uneqjner6Cnepry12jevgrPFgevatRCXp:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVAF_11__jenc_vgreVCXpRRRRG_F9_F9_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVAF_11__jenc_vgreVCXpRRRRG_F9_F9_:
 nop
@@ -3688,7 +3688,7 @@
 b__MA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbeQ2Ri:
 nop
 .data
-.globl b__MGIAFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -3758,12 +3758,12 @@
 b__MGi0_a24_A7naqebvq8uneqjner12CebprffFgngrQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_:
 nop
@@ -3783,7 +3783,7 @@
 b__MA7naqebvq8uneqjner10OcUjOvaqre8genafnpgRwEXAF0_6CnepryRCF2_wAFg3__18shapgvbaVSiEF2_RRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR12qb_pbafgehpgRCiz:
 nop
@@ -3798,7 +3798,7 @@
 b__MA7naqebvq8uneqjner6Cnepry14npdhverBowrpgfRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVppRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_4cnveVppRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVAF_4cnveVppRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_4cnveVppRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -3833,12 +3833,12 @@
 b__MA7naqebvq8uneqjner6Cnepry6erzbirRzz:
 nop
 .data
-.globl b__MGIAFg3__111__zngpu_nalVpRR
+.weak b__MGIAFg3__111__zngpu_nalVpRR
 .type b__MGIAFg3__111__zngpu_nalVpRR,%object
 b__MGIAFg3__111__zngpu_nalVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
@@ -3848,7 +3848,7 @@
 b__MA7naqebvq8uneqjner16trgErdhrfgvatFvqREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_015VFreivprZnantreRAF3_4onfr4I1_05VOnfrRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_015VFreivprZnantreRAF3_4onfr4I1_05VOnfrRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_015VFreivprZnantreRAF3_4onfr4I1_05VOnfrRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_015VFreivprZnantreRAF3_4onfr4I1_05VOnfrRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -3873,7 +3873,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry4ernqRCiz:
 nop
 .text
-.globl b__MAXFg3__111__nygreangrVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR
+.weak b__MAXFg3__111__nygreangrVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR
 .type b__MAXFg3__111__nygreangrVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR,%function
 b__MAXFg3__111__nygreangrVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR:
 nop
@@ -3893,7 +3893,7 @@
 b__MGGA7naqebvq4uvqy7znantre4I1_218OaUjFreivprZnantreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR8qb_fcyngRCiCXiz:
 nop
@@ -3918,7 +3918,7 @@
 b__MA7naqebvq8uneqjner10GrkgBhgchgQ1Ri:
 nop
 .text
-.globl b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__zngpu_ng_fgneg_rpznVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
+.weak b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__zngpu_ng_fgneg_rpznVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
 .type b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__zngpu_ng_fgneg_rpznVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo,%function
 b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__zngpu_ng_fgneg_rpznVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo:
 nop
@@ -4018,7 +4018,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry10fpnaSbeSqfRi:
 nop
 .data
-.globl b__MGIAFg3__126__raq_znexrq_fhorkcerffvbaVpRR
+.weak b__MGIAFg3__126__raq_znexrq_fhorkcerffvbaVpRR
 .type b__MGIAFg3__126__raq_znexrq_fhorkcerffvbaVpRR,%object
 b__MGIAFg3__126__raq_znexrq_fhorkcerffvbaVpRR:
 .space __SIZEOF_POINTER__
@@ -4033,7 +4033,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_018OcUjFreivprZnantre13hayvaxGbQrnguREXAF_2fcVAF_8uneqjner20uvqy_qrngu_erpvcvragRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR8_AF0_10VVagresnprR
+.weak b__MGPA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR8_AF0_10VVagresnprR
 .type b__MGPA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR8_AF0_10VVagresnprR,%object
 b__MGPA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR8_AF0_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -4043,7 +4043,7 @@
 b__MGPA7naqebvq4uvqy7znantre4I1_218OaUjPyvragPnyyonpxR0_AF_8uneqjner9OUjOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR29__zngpu_ng_fgneg_cbfvk_abfhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
+.weak b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR29__zngpu_ng_fgneg_cbfvk_abfhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
 .type b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR29__zngpu_ng_fgneg_cbfvk_abfhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo,%function
 b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR29__zngpu_ng_fgneg_cbfvk_abfhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo:
 nop
@@ -4083,7 +4083,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry8qngnFvmrRi:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVAF_11__jenc_vgreVCXpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FQ_p
+.weak b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVAF_11__jenc_vgreVCXpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FQ_p
 .type b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVAF_11__jenc_vgreVCXpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FQ_p,%function
 b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVAF_11__jenc_vgreVCXpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FQ_p:
 nop
@@ -4093,7 +4093,7 @@
 b__MGGA7naqebvq8uneqjner27uvqy_ovaqre_qrngu_erpvcvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR4flapRi
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR4flapRi
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR4flapRi,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR4flapRi:
 nop
@@ -4138,7 +4138,7 @@
 b__MA7naqebvq8uneqjner14VCPGuernqFgngr22pyrneQrnguAbgvsvpngvbaRvCAF0_10OcUjOvaqreR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrRRRR8qb_fcyngRCiCXiz:
 nop
@@ -4173,7 +4173,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry10ernqHvag32RCw:
 nop
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -4198,7 +4198,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_021OfFreivprAbgvsvpngvbaP2RAF_2fcVAF2_20VFreivprAbgvsvpngvbaRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_4uvqy7znantre4I1_215VPyvragPnyyonpxRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_4uvqy7znantre4I1_215VPyvragPnyyonpxRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_4uvqy7znantre4I1_215VPyvragPnyyonpxRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_4uvqy7znantre4I1_215VPyvragPnyyonpxRiRRAF_2fcVG_RRF9_:
 nop
@@ -4213,17 +4213,17 @@
 b__MAX7naqebvq8uneqjner6Cnepry10ernqQbhoyrRCq:
 nop
 .text
-.globl b__MA7naqebvq8uneqjneryfVN4_pRREAF0_10GrkgBhgchgRF4_EXG_
+.weak b__MA7naqebvq8uneqjneryfVN4_pRREAF0_10GrkgBhgchgRF4_EXG_
 .type b__MA7naqebvq8uneqjneryfVN4_pRREAF0_10GrkgBhgchgRF4_EXG_,%function
 b__MA7naqebvq8uneqjneryfVN4_pRREAF0_10GrkgBhgchgRF4_EXG_:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiiRRREAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiiRRREAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiiRRREAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiiRRREAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_:
 nop
@@ -4263,7 +4263,7 @@
 b__MGPA7naqebvq4uvqy7znantre4I1_218OcUjFreivprZnantreR0_AF1_4I1_115VFreivprZnantreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR8cbc_onpxRi
+.weak b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR8cbc_onpxRi
 .type b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR8cbc_onpxRi,%function
 b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR8cbc_onpxRi:
 nop
@@ -4273,7 +4273,7 @@
 b__MA7naqebvq8uneqjner23wbvaOvaqreEcpGuernqcbbyRi:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner7qrgnvyf6JnvgreR0_AF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaR
+.weak b__MGPA7naqebvq8uneqjner7qrgnvyf6JnvgreR0_AF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaR
 .type b__MGPA7naqebvq8uneqjner7qrgnvyf6JnvgreR0_AF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaR,%object
 b__MGPA7naqebvq8uneqjner7qrgnvyf6JnvgreR0_AF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaR:
 .space __SIZEOF_POINTER__
@@ -4283,12 +4283,12 @@
 b__MGGA7naqebvq4uvqy4onfr4I1_08OcUjOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq4uvqy4onfr4I1_06OfOnfrR
+.weak b__MGIA7naqebvq4uvqy4onfr4I1_06OfOnfrR
 .type b__MGIA7naqebvq4uvqy4onfr4I1_06OfOnfrR,%object
 b__MGIA7naqebvq4uvqy4onfr4I1_06OfOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__121__rzcgl_aba_bja_fgngrVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__121__rzcgl_aba_bja_fgngrVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__121__rzcgl_aba_bja_fgngrVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__121__rzcgl_aba_bja_fgngrVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -4313,7 +4313,7 @@
 b__MA7naqebvq8uneqjner6FgnghfP2RvvCXp:
 nop
 .text
-.globl b__MA7naqebvq4onfr9CnefrHvagVlRRoCXpCG_F4_o
+.weak b__MA7naqebvq4onfr9CnefrHvagVlRRoCXpCG_F4_o
 .type b__MA7naqebvq4onfr9CnefrHvagVlRRoCXpCG_F4_o,%function
 b__MA7naqebvq4onfr9CnefrHvagVlRRoCXpCG_F4_o:
 nop
@@ -4323,7 +4323,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_115VFreivprZnantre21frgUNYVafgehzragngvbaRi:
 nop
 .data
-.globl b__MGPAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -4333,17 +4333,17 @@
 b__MAX7naqebvq8uneqjner6Cnepry8ernqObbyRCo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_115VFreivprZnantreRAF3_4onfr4I1_05VOnfrRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_115VFreivprZnantreRAF3_4onfr4I1_05VOnfrRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_115VFreivprZnantreRAF3_4onfr4I1_05VOnfrRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_115VFreivprZnantreRAF3_4onfr4I1_05VOnfrRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
 .text
-.globl b__MAFg3__116__bjaf_bar_fgngrVpRQ2Ri
+.weak b__MAFg3__116__bjaf_bar_fgngrVpRQ2Ri
 .type b__MAFg3__116__bjaf_bar_fgngrVpRQ2Ri,%function
 b__MAFg3__116__bjaf_bar_fgngrVpRQ2Ri:
 nop
@@ -4373,17 +4373,17 @@
 b__MA7naqebvq4uvqy4onfr4I1_06OfOnfr13nqqBarjnlGnfxRAFg3__18shapgvbaVSiiRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR12qb_pbafgehpgRCiz:
 nop
 .data
-.globl b__MGIA7naqebvq4uvqy7znantre4I1_016OfFreivprZnantreR
+.weak b__MGIA7naqebvq4uvqy7znantre4I1_016OfFreivprZnantreR
 .type b__MGIA7naqebvq4uvqy7znantre4I1_016OfFreivprZnantreR,%object
 b__MGIA7naqebvq4uvqy7znantre4I1_016OfFreivprZnantreR:
 .space __SIZEOF_POINTER__
@@ -4438,12 +4438,12 @@
 b__MA7naqebvq8uneqjner23trgBePerngrPnpurqOvaqreRCAF_4uvqy4onfr4I1_05VOnfrR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_215VFreivprZnantreRAF4_4I1_015VFreivprZnantreRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFO_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_215VFreivprZnantreRAF4_4I1_015VFreivprZnantreRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFO_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_215VFreivprZnantreRAF4_4I1_015VFreivprZnantreRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFO_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_215VFreivprZnantreRAF4_4I1_015VFreivprZnantreRAF5_18OcUjFreivprZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFO_VG0_RRCXpo:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz:
 nop
@@ -4458,12 +4458,12 @@
 b__MA7naqebvq4uvqy4onfr4I1_08OaUjOnfr25_uvqy_vagresnprQrfpevcgbeRCF3_EXAF_8uneqjner6CnepryRCF6_AFg3__18shapgvbaVSiEF6_RRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAFg3__112__qrdhr_onfrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR5pyrneRi
+.weak b__MAFg3__112__qrdhr_onfrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR5pyrneRi
 .type b__MAFg3__112__qrdhr_onfrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR5pyrneRi,%function
 b__MAFg3__112__qrdhr_onfrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR5pyrneRi:
 nop
@@ -4483,12 +4483,12 @@
 b__MA7naqebvq8uneqjner11uvqy_fgevatP2RCXpz:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf17FlapuebavmrqDhrhrVAF_8shapgvbaVSiiRRRRRAF_9nyybpngbeVF8_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf17FlapuebavmrqDhrhrVAF_8shapgvbaVSiiRRRRRAF_9nyybpngbeVF8_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf17FlapuebavmrqDhrhrVAF_8shapgvbaVSiiRRRRRAF_9nyybpngbeVF8_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf17FlapuebavmrqDhrhrVAF_8shapgvbaVSiiRRRRRAF_9nyybpngbeVF8_RRR21__ba_mreb_funerq_jrnxRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRRP2VAF_21__gerr_pbafg_vgrengbeVvCAF_11__gerr_abqrVvCiRRyRRRRG_AF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVFO_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRFO_R4glcrR
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRRP2VAF_21__gerr_pbafg_vgrengbeVvCAF_11__gerr_abqrVvCiRRyRRRRG_AF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVFO_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRFO_R4glcrR
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRRP2VAF_21__gerr_pbafg_vgrengbeVvCAF_11__gerr_abqrVvCiRRyRRRRG_AF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVFO_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRFO_R4glcrR,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRRP2VAF_21__gerr_pbafg_vgrengbeVvCAF_11__gerr_abqrVvCiRRyRRRRG_AF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVFO_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRFO_R4glcrR:
 nop
@@ -4498,7 +4498,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry12ernqFgevat16Ri:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
@@ -4538,22 +4538,22 @@
 b__MA7naqebvq4uvqy7znantre4I1_023OcUjFreivprAbgvsvpngvba13hayvaxGbQrnguREXAF_2fcVAF_8uneqjner20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjneryfVzRREAF0_10GrkgBhgchgRF3_EXG_
+.weak b__MA7naqebvq8uneqjneryfVzRREAF0_10GrkgBhgchgRF3_EXG_
 .type b__MA7naqebvq8uneqjneryfVzRREAF0_10GrkgBhgchgRF3_EXG_,%function
 b__MA7naqebvq8uneqjneryfVzRREAF0_10GrkgBhgchgRF3_EXG_:
 nop
 .data
-.globl b__MGIAFg3__111__nygreangrVpRR
+.weak b__MGIAFg3__111__nygreangrVpRR
 .type b__MGIAFg3__111__nygreangrVpRR,%object
 b__MGIAFg3__111__nygreangrVpRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR18unyYvoCnguIaqxFc64
+.weak b__MMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR18unyYvoCnguIaqxFc64
 .type b__MMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR18unyYvoCnguIaqxFc64,%object
 b__MMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR18unyYvoCnguIaqxFc64:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p
+.weak b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p
 .type b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p,%function
 b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p:
 nop
@@ -4573,7 +4573,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_018OcUjFreivprZnantre4cvatRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_215VPyvragPnyyonpxRAF3_4onfr4I1_05VOnfrRAF5_18OcUjPyvragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_215VPyvragPnyyonpxRAF3_4onfr4I1_05VOnfrRAF5_18OcUjPyvragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_215VPyvragPnyyonpxRAF3_4onfr4I1_05VOnfrRAF5_18OcUjPyvragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_215VPyvragPnyyonpxRAF3_4onfr4I1_05VOnfrRAF5_18OcUjPyvragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -4583,12 +4583,12 @@
 b__MA7naqebvq8uneqjner10OcUjOvaqre20baVapFgebatNggrzcgrqRwCXi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR8qb_fcyngRCiF3_z
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR8qb_fcyngRCiF3_z
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR8qb_fcyngRCiF3_z,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR8qb_fcyngRCiF3_z:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVAF_11__jenc_vgreVCXpRRRRG_F9_F9_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVAF_11__jenc_vgreVCXpRRRRG_F9_F9_:
 nop
@@ -4598,12 +4598,12 @@
 b__MA7naqebvq8uneqjner14VCPGuernqFgngr8fuhgqbjaRi:
 nop
 .data
-.globl b__MGIAFg3__121__rzcgl_aba_bja_fgngrVpRR
+.weak b__MGIAFg3__121__rzcgl_aba_bja_fgngrVpRR
 .type b__MGIAFg3__121__rzcgl_aba_bja_fgngrVpRR,%object
 b__MGIAFg3__121__rzcgl_aba_bja_fgngrVpRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MTIMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR18unyYvoCnguIaqxFc64
+.weak b__MTIMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR18unyYvoCnguIaqxFc64
 .type b__MTIMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR18unyYvoCnguIaqxFc64,%object
 b__MTIMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR18unyYvoCnguIaqxFc64:
 .space __SIZEOF_POINTER__
@@ -4628,7 +4628,7 @@
 b__MGGA7naqebvq4uvqy7znantre4I1_218OcUjFreivprZnantreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR12qb_pbafgehpgRCiz:
 nop
@@ -4643,7 +4643,7 @@
 b__MA7naqebvq8uneqjner6Cnepry11jevgrHvag16Rg:
 nop
 .data
-.globl b__MTIMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR9fNyyCnguf
+.weak b__MTIMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR9fNyyCnguf
 .type b__MTIMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR9fNyyCnguf,%object
 b__MTIMA7naqebvq8uneqjner25CnffguebhtuFreivprZnantre9qrohtQhzcRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF_4uvqy7znantre4I1_015VFreivprZnantre17VafgnaprQrohtVasbRRRRRRR9fNyyCnguf:
 .space __SIZEOF_POINTER__
@@ -4653,7 +4653,7 @@
 b__MGPA7naqebvq4uvqy7znantre4I1_218OcUjPyvragPnyyonpxR16_AF_8uneqjner11OcUjErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq8uneqjner6Cnepry10ernqBowrpgV22ovaqre_sq_neenl_bowrpgRRCXG_Cz
+.weak b__MAX7naqebvq8uneqjner6Cnepry10ernqBowrpgV22ovaqre_sq_neenl_bowrpgRRCXG_Cz
 .type b__MAX7naqebvq8uneqjner6Cnepry10ernqBowrpgV22ovaqre_sq_neenl_bowrpgRRCXG_Cz,%function
 b__MAX7naqebvq8uneqjner6Cnepry10ernqBowrpgV22ovaqre_sq_neenl_bowrpgRRCXG_Cz:
 nop
@@ -4673,7 +4673,7 @@
 b__MGGA7naqebvq4uvqy7znantre4I1_115VFreivprZnantreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRz:
 nop
@@ -4718,7 +4718,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry10ernqHvag16RCg:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_8uneqjner12CebprffFgngr12unaqyr_ragelRRR:
 .space __SIZEOF_POINTER__
@@ -4728,12 +4728,12 @@
 b__MA7naqebvq8uneqjner7qrgnvyf19trgOfPbafgehpgbeZncRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCXpAF_9nyybpngbeVF2_RRRP2REXF5_
+.weak b__MAFg3__16irpgbeVCXpAF_9nyybpngbeVF2_RRRP2REXF5_
 .type b__MAFg3__16irpgbeVCXpAF_9nyybpngbeVF2_RRRP2REXF5_,%function
 b__MAFg3__16irpgbeVCXpAF_9nyybpngbeVF2_RRRP2REXF5_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner6Cnepry11jevgrBowrpgV16ovaqre_sq_bowrpgRRvEXG_
+.weak b__MA7naqebvq8uneqjner6Cnepry11jevgrBowrpgV16ovaqre_sq_bowrpgRRvEXG_
 .type b__MA7naqebvq8uneqjner6Cnepry11jevgrBowrpgV16ovaqre_sq_bowrpgRRvEXG_,%function
 b__MA7naqebvq8uneqjner6Cnepry11jevgrBowrpgV16ovaqre_sq_bowrpgRRvEXG_:
 nop
@@ -4743,7 +4743,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry10ernqOhssreRzCzwzzCCXi:
 nop
 .text
-.globl b__MAXFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -4803,7 +4803,7 @@
 b__MA7naqebvq8uneqjner6CnepryQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner7qrgnvyf6JnvgreR0_AF_4uvqy4onfr4I1_05VOnfrR
+.weak b__MGPA7naqebvq8uneqjner7qrgnvyf6JnvgreR0_AF_4uvqy4onfr4I1_05VOnfrR
 .type b__MGPA7naqebvq8uneqjner7qrgnvyf6JnvgreR0_AF_4uvqy4onfr4I1_05VOnfrR,%object
 b__MGPA7naqebvq8uneqjner7qrgnvyf6JnvgreR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
@@ -4838,7 +4838,7 @@
 b__MA7naqebvq8uneqjner16frgErdhrfgvatFvqREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRRo:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
@@ -4858,12 +4858,12 @@
 b__MA7naqebvq4uvqy7znantre4I1_218OcUjFreivprZnantre4cvatRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
@@ -4893,7 +4893,7 @@
 b__MAX7naqebvq8uneqjner11uvqy_unaqyrpiCX13angvir_unaqyrRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -4918,12 +4918,12 @@
 b__MGi0_a24_A7naqebvq8uneqjner10OcUjOvaqreQ0Ri:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi:
 nop
 .data
-.globl b__MGIAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGIAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGIAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGIAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -4953,7 +4953,7 @@
 b__MA7naqebvq4uvqy4onfr4I1_08OaUjOnfrP1REXAF_2fcVAF2_5VOnfrRRR:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRRR:
 .space __SIZEOF_POINTER__
@@ -4978,7 +4978,7 @@
 b__MA7naqebvq8uneqjner7qrgnvyf19trgOaPbafgehpgbeZncRi:
 nop
 .data
-.globl b__MGPA7naqebvq4uvqy7znantre4I1_021OfFreivprAbgvsvpngvbaR0_AF2_20VFreivprAbgvsvpngvbaR
+.weak b__MGPA7naqebvq4uvqy7znantre4I1_021OfFreivprAbgvsvpngvbaR0_AF2_20VFreivprAbgvsvpngvbaR
 .type b__MGPA7naqebvq4uvqy7znantre4I1_021OfFreivprAbgvsvpngvbaR0_AF2_20VFreivprAbgvsvpngvbaR,%object
 b__MGPA7naqebvq4uvqy7znantre4I1_021OfFreivprAbgvsvpngvbaR0_AF2_20VFreivprAbgvsvpngvbaR:
 .space __SIZEOF_POINTER__
@@ -4988,12 +4988,12 @@
 b__MA7naqebvq4uvqy7znantre4I1_215VPyvragPnyyonpx13gelTrgFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAXFg3__111__nygreangrVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__111__nygreangrVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__111__nygreangrVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__111__nygreangrVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -5023,7 +5023,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry11ernqCbvagreRCz:
 nop
 .text
-.globl b__MAXFg3__110__y_napubeVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__110__y_napubeVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__110__y_napubeVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__110__y_napubeVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -5098,12 +5098,12 @@
 b__MAX7naqebvq8uneqjner6Cnepry7bowrpgfRi:
 nop
 .text
-.globl b__MAXFg3__16__ybbcVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR
+.weak b__MAXFg3__16__ybbcVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR
 .type b__MAXFg3__16__ybbcVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR,%function
 b__MAXFg3__16__ybbcVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRiRRAF_2fcVG_RRF9_:
 nop
@@ -5138,7 +5138,7 @@
 b__MGGA7naqebvq8uneqjner7qrgnvyf21PyvragPbhagrePnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2jcVAF1_4uvqy4onfr4I1_05VOnfrRRRAF_9nyybpngbeVF7_RRR21__chfu_onpx_fybj_cnguVEXF7_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2jcVAF1_4uvqy4onfr4I1_05VOnfrRRRAF_9nyybpngbeVF7_RRR21__chfu_onpx_fybj_cnguVEXF7_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2jcVAF1_4uvqy4onfr4I1_05VOnfrRRRAF_9nyybpngbeVF7_RRR21__chfu_onpx_fybj_cnguVEXF7_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2jcVAF1_4uvqy4onfr4I1_05VOnfrRRRAF_9nyybpngbeVF7_RRR21__chfu_onpx_fybj_cnguVEXF7_RRiBG_:
 nop
@@ -5148,7 +5148,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_020VFreivprAbgvsvpngvba4cvatRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVCXpRRG_F7_F7_:
 nop
@@ -5178,12 +5178,12 @@
 b__MA7naqebvq8uneqjner20YnmlFreivprErtvfgene11trgVafgnaprRi:
 nop
 .data
-.globl b__MGIA7naqebvq4uvqy7znantre4I1_216OfFreivprZnantreR
+.weak b__MGIA7naqebvq4uvqy7znantre4I1_216OfFreivprZnantreR
 .type b__MGIA7naqebvq4uvqy7znantre4I1_216OfFreivprZnantreR,%object
 b__MGIA7naqebvq4uvqy7znantre4I1_216OfFreivprZnantreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaRzEXF4_
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaRzEXF4_
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaRzEXF4_,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaRzEXF4_:
 nop
@@ -5198,7 +5198,7 @@
 b__MA7naqebvq8uneqjner14npdhver_bowrpgREXAF_2fcVAF0_12CebprffFgngrRRREX20ovaqre_bowrpg_urnqreCXi:
 nop
 .text
-.globl b__MAXFg3__111__raq_fgngrVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__111__raq_fgngrVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__111__raq_fgngrVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__111__raq_fgngrVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -5208,12 +5208,12 @@
 b__MA7naqebvq8uneqjner19unaqyrGenafcbegCbyyRv:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner6Cnepry11jevgrBowrpgV18syng_ovaqre_bowrpgRRvEXG_
+.weak b__MA7naqebvq8uneqjner6Cnepry11jevgrBowrpgV18syng_ovaqre_bowrpgRRvEXG_
 .type b__MA7naqebvq8uneqjner6Cnepry11jevgrBowrpgV18syng_ovaqre_bowrpgRRvEXG_,%function
 b__MA7naqebvq8uneqjner6Cnepry11jevgrBowrpgV18syng_ovaqre_bowrpgRRvEXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_
 .type b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_:
 nop
@@ -5298,7 +5298,7 @@
 b__MA7naqebvq8uneqjner10UvqyZrzbelP1Ri:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR9chfu_onpxREXF3_
+.weak b__MAFg3__15qrdhrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR9chfu_onpxREXF3_
 .type b__MAFg3__15qrdhrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR9chfu_onpxREXF3_,%function
 b__MAFg3__15qrdhrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR9chfu_onpxREXF3_:
 nop
@@ -5353,7 +5353,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry29ernqAhyynoyrAngvirUnaqyrAbQhcRCCX13angvir_unaqyr:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR15qb_zbir_sbejneqRCiF3_z
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR15qb_zbir_sbejneqRCiF3_z
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR15qb_zbir_sbejneqRCiF3_z,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRR15qb_zbir_sbejneqRCiF3_z:
 nop
@@ -5398,12 +5398,12 @@
 b__MA7naqebvq8uneqjner18OhssrerqGrkgBhgchg9cbcOhaqyrRi:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVCXpRRG_F7_F7_:
 nop
@@ -5438,17 +5438,17 @@
 b__MA7naqebvq8uneqjner18OhssrerqGrkgBhgchg16guernqQrfgehpgbeRCi:
 nop
 .text
-.globl b__MAXFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__117__bjaf_gjb_fgngrfVpRQ2Ri
+.weak b__MAFg3__117__bjaf_gjb_fgngrfVpRQ2Ri
 .type b__MAFg3__117__bjaf_gjb_fgngrfVpRQ2Ri,%function
 b__MAFg3__117__bjaf_gjb_fgngrfVpRQ2Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR
+.weak b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR
 .type b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR,%function
 b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR:
 nop
@@ -5463,7 +5463,7 @@
 b__MGPA7naqebvq4uvqy7znantre4I1_218OcUjFreivprZnantreR0_AF_8uneqjner11OcVagresnprVAF2_15VFreivprZnantreRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ2Ri
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ2Ri
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ2Ri,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ2Ri:
 nop
@@ -5483,7 +5483,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry8ernqObbyRi:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRRR:
 .space __SIZEOF_POINTER__
@@ -5513,7 +5513,7 @@
 b__MGPA7naqebvq4uvqy7znantre4I1_023OcUjFreivprAbgvsvpngvbaR0_AF0_4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_8uneqjner9OUjOvaqreRR12qb_pbafgehpgRCiz:
 nop
@@ -5528,7 +5528,7 @@
 b__MA7naqebvq8uneqjner12CebprffFgngr18tvirGuernqCbbyAnzrRi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner25CnffguebhtuFreivprZnantreRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner25CnffguebhtuFreivprZnantreRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner25CnffguebhtuFreivprZnantreRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner25CnffguebhtuFreivprZnantreRRQ2Ri:
 nop
@@ -5563,7 +5563,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry21ernqAngvirUnaqyrAbQhcRCCX13angvir_unaqyr:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVAF_11__jenc_vgreVCXpRRRRG_F9_F9_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVAF_11__jenc_vgreVCXpRRRRG_F9_F9_:
 nop
@@ -5578,12 +5578,12 @@
 b__MA7naqebvq8uneqjneryfREAFg3__113onfvp_bfgernzVpAF1_11pune_genvgfVpRRRREXAF0_11uvqy_fgevatR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_
+.weak b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_
 .type b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_,%function
 b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_4uvqy4onfr4I1_05VOnfrRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_4uvqy4onfr4I1_05VOnfrRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_4uvqy4onfr4I1_05VOnfrRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_4uvqy4onfr4I1_05VOnfrRRnFRBF5_:
 nop
@@ -5603,7 +5603,7 @@
 b__MA7naqebvq8uneqjner10OcUjOvaqreQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -5613,7 +5613,7 @@
 b__MA7naqebvq8uneqjner7qrgnvyf14tFreivprFvqZncR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
@@ -5643,7 +5643,7 @@
 b__MA7naqebvq8uneqjner7UrkQhzcP2RCXizz:
 nop
 .data
-.globl b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -5658,7 +5658,7 @@
 b__MGIA7naqebvq4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrR
+.weak b__MGIA7naqebvq8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrR
 .type b__MGIA7naqebvq8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrR,%object
 b__MGIA7naqebvq8uneqjner18OhssrerqGrkgBhgchg11OhssreFgngrR:
 .space __SIZEOF_POINTER__
@@ -5668,12 +5668,12 @@
 b__MA7naqebvq8uneqjner6Cnepry20pybfrSvyrQrfpevcgbefRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVAF_11__jenc_vgreVCXpRRRRG_F9_F9_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVAF_11__jenc_vgreVCXpRRRRG_F9_F9_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVCXpRRG_F7_F7_:
 nop
@@ -5693,7 +5693,7 @@
 b__MA7naqebvq8uneqjner24qrsnhygFreivprZnantre1_2Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_3frgVvAF_4yrffVvRRAF5_VvRRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF9_VF7_RRYo1RRRAF5_VFQ_RRR7qrfgeblRCAF_11__gerr_abqrVFQ_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_3frgVvAF_4yrffVvRRAF5_VvRRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF9_VF7_RRYo1RRRAF5_VFQ_RRR7qrfgeblRCAF_11__gerr_abqrVFQ_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_3frgVvAF_4yrffVvRRAF5_VvRRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF9_VF7_RRYo1RRRAF5_VFQ_RRR7qrfgeblRCAF_11__gerr_abqrVFQ_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_3frgVvAF_4yrffVvRRAF5_VvRRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF9_VF7_RRYo1RRRAF5_VFQ_RRR7qrfgeblRCAF_11__gerr_abqrVFQ_CiRR:
 nop
@@ -5713,12 +5713,12 @@
 b__MA7naqebvq4uvqy7znantre4I1_218OcUjFreivprZnantre28_uvqy_ertvfgrePyvragPnyyonpxRCAF_8uneqjner10VVagresnprRCAF4_7qrgnvyf16UvqyVafgehzragbeREXAF4_11uvqy_fgevatRFP_EXAF_2fcVAF0_4onfr4I1_05VOnfrRRREXAFQ_VAF2_15VPyvragPnyyonpxRRR:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__15qrdhrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR9cbc_sebagRi
+.weak b__MAFg3__15qrdhrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR9cbc_sebagRi
 .type b__MAFg3__15qrdhrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR9cbc_sebagRi,%function
 b__MAFg3__15qrdhrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRR9cbc_sebagRi:
 nop
@@ -5733,7 +5733,7 @@
 b__MA7naqebvq8uneqjner28trgCnffguebhtuFreivprZnantreRi:
 nop
 .text
-.globl b__MAFg3__1efVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RR
+.weak b__MAFg3__1efVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RR
 .type b__MAFg3__1efVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RR,%function
 b__MAFg3__1efVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RR:
 nop
@@ -5743,12 +5743,12 @@
 b__MA7naqebvq8uneqjner14VCPGuernqFgngrP1Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjneryfVN15_pRREAF0_10GrkgBhgchgRF4_EXG_
+.weak b__MA7naqebvq8uneqjneryfVN15_pRREAF0_10GrkgBhgchgRF4_EXG_
 .type b__MA7naqebvq8uneqjneryfVN15_pRREAF0_10GrkgBhgchgRF4_EXG_,%function
 b__MA7naqebvq8uneqjneryfVN15_pRREAF0_10GrkgBhgchgRF4_EXG_:
 nop
 .data
-.globl b__MGPAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
+.weak b__MGPAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
 .type b__MGPAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR,%object
 b__MGPAFg3__113onfvp_sfgernzVpAF_11pune_genvgfVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -5758,12 +5758,12 @@
 b__MA7naqebvq4uvqy7znantre4I1_020VFreivprAbgvsvpngvba10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_118OcUjFreivprZnantreRAF5_15VFreivprZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_118OcUjFreivprZnantreRAF5_15VFreivprZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_118OcUjFreivprZnantreRAF5_15VFreivprZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy7znantre4I1_118OcUjFreivprZnantreRAF5_15VFreivprZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8uneqjner10OcUjOvaqre8BovghnelRR10qb_qrfgeblRCiz:
 nop
@@ -5833,7 +5833,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry9ernqSybngRi:
 nop
 .data
-.globl b__MGIAFg3__16__ybbcVpRR
+.weak b__MGIAFg3__16__ybbcVpRR
 .type b__MGIAFg3__16__ybbcVpRR,%object
 b__MGIAFg3__16__ybbcVpRR:
 .space __SIZEOF_POINTER__
@@ -5868,7 +5868,7 @@
 b__MA7naqebvq8uneqjner10UvqyZrzbelP2REXAF0_11uvqy_fgevatRBAF0_11uvqy_unaqyrRz:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR19__cnefr_nygreangvirVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR19__cnefr_nygreangvirVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR19__cnefr_nygreangvirVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR19__cnefr_nygreangvirVCXpRRG_F7_F7_:
 nop
@@ -5883,7 +5883,7 @@
 b__MGPA7naqebvq4uvqy7znantre4I1_023OaUjFreivprAbgvsvpngvbaR0_AF_8uneqjner7VOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR7qb_pbclRCiCXiz:
 nop
@@ -5893,7 +5893,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry18irevslOhssreBowrpgRCX20ovaqre_ohssre_bowrpgzwzz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_:
 nop
@@ -5903,7 +5903,7 @@
 b__MA7naqebvq8uneqjner11uvqy_fgevatP1REXF1_:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner25CnffguebhtuFreivprZnantreR
+.weak b__MGIA7naqebvq8uneqjner25CnffguebhtuFreivprZnantreR
 .type b__MGIA7naqebvq8uneqjner25CnffguebhtuFreivprZnantreR,%object
 b__MGIA7naqebvq8uneqjner25CnffguebhtuFreivprZnantreR:
 .space __SIZEOF_POINTER__
@@ -5913,7 +5913,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_023OcUjFreivprAbgvsvpngvba21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRAF3_4onfr4I1_05VOnfrRAF5_23OcUjFreivprAbgvsvpngvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRAF3_4onfr4I1_05VOnfrRAF5_23OcUjFreivprAbgvsvpngvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRAF3_4onfr4I1_05VOnfrRAF5_23OcUjFreivprAbgvsvpngvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRAF3_4onfr4I1_05VOnfrRAF5_23OcUjFreivprAbgvsvpngvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -5923,7 +5923,7 @@
 b__MGGA7naqebvq4uvqy7znantre4I1_218OaUjPyvragPnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR0_AF4_5VOnfrR
+.weak b__MGPA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR0_AF4_5VOnfrR
 .type b__MGPA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR0_AF4_5VOnfrR,%object
 b__MGPA7naqebvq8uneqjner11OcVagresnprVAF_4uvqy4onfr4I1_05VOnfrRRR0_AF4_5VOnfrR:
 .space __SIZEOF_POINTER__
@@ -5953,7 +5953,7 @@
 b__MGIA7naqebvq8uneqjner12CebprffFgngrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__123__zngpu_nal_ohg_arjyvarVpRR
+.weak b__MGIAFg3__123__zngpu_nal_ohg_arjyvarVpRR
 .type b__MGIAFg3__123__zngpu_nal_ohg_arjyvarVpRR,%object
 b__MGIAFg3__123__zngpu_nal_ohg_arjyvarVpRR:
 .space __SIZEOF_POINTER__
@@ -5963,7 +5963,7 @@
 b__MA7naqebvq8uneqjner6Fgnghf2bxRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -5973,7 +5973,7 @@
 b__MGua32_A7naqebvq4uvqy7znantre4I1_218OaUjPyvragPnyyonpxQ1Ri:
 nop
 .text
-.globl b__MAXFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -5998,7 +5998,7 @@
 b__MAX7naqebvq8uneqjner14VCPGuernqFgngr29trgYnfgGenafnpgvbaOvaqreSyntfRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_:
 nop
@@ -6018,7 +6018,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_215VFreivprZnantre14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF_8uneqjner8uvqy_irpVAF6_11uvqy_fgevatRRRRRR:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVCXiAF_8uneqjner10OcUjOvaqre13BowrpgZnantre7ragel_gRRRRR:
 .space __SIZEOF_POINTER__
@@ -6028,22 +6028,22 @@
 b__MA7naqebvq8uneqjner6Cnepry19vcpFrgQngnErsreraprRCXuzCXlzCSiCF1_F3_zF5_zCiRF7_:
 nop
 .text
-.globl b__MAFg3__113__irpgbe_onfrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRRQ2Ri
+.weak b__MAFg3__113__irpgbe_onfrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRRQ2Ri
 .type b__MAFg3__113__irpgbe_onfrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRRQ2Ri,%function
 b__MAFg3__113__irpgbe_onfrVAF_8shapgvbaVSiiRRRAF_9nyybpngbeVF3_RRRQ2Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjneryfVN2_pRREAF0_10GrkgBhgchgRF4_EXG_
+.weak b__MA7naqebvq8uneqjneryfVN2_pRREAF0_10GrkgBhgchgRF4_EXG_
 .type b__MA7naqebvq8uneqjneryfVN2_pRREAF0_10GrkgBhgchgRF4_EXG_,%function
 b__MA7naqebvq8uneqjneryfVN2_pRREAF0_10GrkgBhgchgRF4_EXG_:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -6063,12 +6063,12 @@
 b__MA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe32ertvfgreVafgehzragngvbaPnyyonpxfRCAFg3__16irpgbeVAF3_8shapgvbaVSiAF2_20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF4_VCiAF3_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRR:
 nop
 .text
-.globl b__MAXFg3__110__onpx_ersVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__110__onpx_ersVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__110__onpx_ersVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__110__onpx_ersVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_grezVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_grezVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_grezVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_grezVCXpRRG_F7_F7_:
 nop
@@ -6078,7 +6078,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_018OcUjFreivprZnantre4yvfgRAFg3__18shapgvbaVSiEXAF_8uneqjner8uvqy_irpVAF6_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -6108,12 +6108,12 @@
 b__MAX7naqebvq8uneqjner6Cnepry18ernqAhyynoyrOhssreRzCzCCXi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRAF_9nyybpngbeVF6_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRAF_9nyybpngbeVF6_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRAF_9nyybpngbeVF6_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRAF_9nyybpngbeVF6_RRR8__nccraqRz:
 nop
@@ -6123,7 +6123,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_218OcUjFreivprZnantre12nqqJvguPunvaREXAF_8uneqjner11uvqy_fgevatREXAF_2fcVAF0_4onfr4I1_05VOnfrRRREXAF4_8uvqy_irpVF5_RR:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi
+.weak b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi
 .type b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi,%function
 b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi:
 nop
@@ -6158,7 +6158,7 @@
 b__MA7naqebvq8uneqjner14VCPGuernqFgngr13rkchatrUnaqyrRvCAF0_7VOvaqreR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVAF_11__jenc_vgreVCXpRRRRG_F9_F9_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVAF_11__jenc_vgreVCXpRRRRG_F9_F9_:
 nop
@@ -6183,7 +6183,7 @@
 b__MA7naqebvq8uneqjner14VCPGuernqFgngr13qrpJrnxUnaqyrRv:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_7ErsOnfr12jrnxers_glcrRR10qb_qrfgeblRCiz:
 nop
@@ -6228,7 +6228,7 @@
 b__MA7naqebvq4uvqy7znantre4I1_215VPyvragPnyyonpx11yvaxGbQrnguREXAF_2fcVAF_8uneqjner20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVCXpRRG_F7_F7_:
 nop
@@ -6263,7 +6263,7 @@
 b__MGGA7naqebvq4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_puneRp
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_puneRp
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_puneRp,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_puneRp:
 nop
@@ -6278,7 +6278,7 @@
 b__MA7naqebvq8uneqjner9OUjOvaqreP1Ri:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVCXpRRG_F7_F7_:
 nop
@@ -6303,7 +6303,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry15vcpBowrpgfPbhagRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjneryfVlRREAF0_10GrkgBhgchgRF3_EXG_
+.weak b__MA7naqebvq8uneqjneryfVlRREAF0_10GrkgBhgchgRF3_EXG_
 .type b__MA7naqebvq8uneqjneryfVlRREAF0_10GrkgBhgchgRF3_EXG_,%function
 b__MA7naqebvq8uneqjneryfVlRREAF0_10GrkgBhgchgRF3_EXG_:
 nop
@@ -6313,12 +6313,12 @@
 b__MGIA7naqebvq8uneqjner27uvqy_ovaqre_qrngu_erpvcvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR7erfreirRz:
 nop
@@ -6353,17 +6353,17 @@
 b__MA7naqebvq4uvqy7znantre4I1_018OcUjFreivprZnantre21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
+.weak b__MGIAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
 .type b__MGIAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR,%object
 b__MGIAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR:
 .space __SIZEOF_POINTER__
@@ -6383,12 +6383,12 @@
 b__MA7naqebvq8uneqjneryfREAF0_10GrkgBhgchgREXAF0_8GlcrPbqrR:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_R18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_R18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_R18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_R18qrfgebl_qrnyybpngrRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
@@ -6418,7 +6418,7 @@
 b__MAX7naqebvq8uneqjner6Cnepry11hcqngrPnpurRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__chfu_ybbxnurnqREXF3_ow
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__chfu_ybbxnurnqREXF3_ow
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__chfu_ybbxnurnqREXF3_ow,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__chfu_ybbxnurnqREXF3_ow:
 nop
@@ -6448,12 +6448,12 @@
 b__MA7naqebvq8uneqjner8tCebprffR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_RpyRBF6_BF8_FX_FX_FX_BFR_
+.weak b__MAFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_RpyRBF6_BF8_FX_FX_FX_BFR_
 .type b__MAFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_RpyRBF6_BF8_FX_FX_FX_BFR_,%function
 b__MAFg3__110__shapgvba6__shapVCSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF_6irpgbeVCiAF_9nyybpngbeVFN_RRRRRAFO_VFT_RRFS_RpyRBF6_BF8_FX_FX_FX_BFR_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVAF_11__jenc_vgreVCXpRRRRG_F9_F9_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
@@ -6488,12 +6488,12 @@
 b__MA7naqebvq8uneqjneryfREAF0_10GrkgBhgchgREXAF0_7UrkQhzcR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_
+.weak b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_
 .type b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_,%function
 b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_:
 nop
@@ -6503,12 +6503,12 @@
 b__MA7naqebvq8uneqjner11uvqy_fgevatP2RCXp:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf17FlapuebavmrqDhrhrVAF_8shapgvbaVSiiRRRRRAF_9nyybpngbeVF8_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf17FlapuebavmrqDhrhrVAF_8shapgvbaVSiiRRRRRAF_9nyybpngbeVF8_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf17FlapuebavmrqDhrhrVAF_8shapgvbaVSiiRRRRRAF_9nyybpngbeVF8_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq8uneqjner7qrgnvyf17FlapuebavmrqDhrhrVAF_8shapgvbaVSiiRRRRRAF_9nyybpngbeVF8_RRR16__ba_mreb_funerqRi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_4uvqy7znantre4I1_215VFreivprZnantreRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_4uvqy7znantre4I1_215VFreivprZnantreRRQ2Ri
 .type b__MA7naqebvq2fcVAF_4uvqy7znantre4I1_215VFreivprZnantreRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_4uvqy7znantre4I1_215VFreivprZnantreRRQ2Ri:
 nop
@@ -6533,7 +6533,7 @@
 b__MA7naqebvq8uneqjner12CebprffFgngrQ2Ri:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVAF_11__jenc_vgreVCXpRRRRG_F9_F9_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVAF_11__jenc_vgreVCXpRRRRG_F9_F9_:
 nop
@@ -6568,7 +6568,7 @@
 b__MA7naqebvq4uvqy4onfr4I1_08OcUjOnfr21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_8Fgevat16RAF_2fcVAF_8uneqjner7VOvaqreRRRRRR8qb_fcyngRCiCXiz:
 nop
@@ -6583,7 +6583,7 @@
 b__MGi0_a40_A7naqebvq4uvqy4onfr4I1_08OcUjOnfr15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVCXpRRG_F7_F7_:
 nop
@@ -6598,17 +6598,17 @@
 b__MGi0_a24_A7naqebvq8uneqjner10OcUjOvaqreQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_
+.weak b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_
 .type b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_,%function
 b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy7znantre4I1_215VFreivprZnantreRAF4_18OcUjFreivprZnantreRAF4_18OaUjFreivprZnantreRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy7znantre4I1_215VFreivprZnantreRAF4_18OcUjFreivprZnantreRAF4_18OaUjFreivprZnantreRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy7znantre4I1_215VFreivprZnantreRAF4_18OcUjFreivprZnantreRAF4_18OaUjFreivprZnantreRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy7znantre4I1_215VFreivprZnantreRAF4_18OcUjFreivprZnantreRAF4_18OaUjFreivprZnantreRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVCXpRRG_F7_F7_:
 nop
@@ -6658,7 +6658,7 @@
 b__MA7naqebvq8uneqjner14VCPGuernqFgngr14gnyxJvguQevireRo:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVAF_11__jenc_vgreVCXpRRRRG_F9_F9_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVAF_11__jenc_vgreVCXpRRRRG_F9_F9_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVAF_11__jenc_vgreVCXpRRRRG_F9_F9_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_029.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_029.S
index d2d4d86..2b28658 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_029.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_029.S
@@ -23,7 +23,7 @@
 b__MA7naqebvq6Ybbcre9cbyyVaareRv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR10qb_pbzcnerRCXiF7_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR10qb_pbzcnerRCXiF7_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR10qb_pbzcnerRCXiF7_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR10qb_pbzcnerRCXiF7_:
 nop
@@ -53,7 +53,7 @@
 b__MGi0_a24_A7naqebvq14YbbcrePnyyonpxQ1Ri:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR:
 .space __SIZEOF_POINTER__
@@ -73,7 +73,7 @@
 b__MAX7naqebvq10IrpgbeVzcy8vgrzFvmrRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR10qb_qrfgeblRCiz:
 nop
@@ -88,7 +88,7 @@
 b__MA7naqebvq10IrpgbeVzcy13vafregNeenlNgRCXizz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -98,7 +98,7 @@
 b_qb_ercbeg_flfcebc_punatr:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR12qb_pbafgehpgRCiz:
 nop
@@ -118,7 +118,7 @@
 b__MA7naqebvq18JrnxZrffntrUnaqyreP2REXAF_2jcVAF_14ZrffntrUnaqyreRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -238,7 +238,7 @@
 b_naqebvqPerngrGuernqRgp:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR8qb_fcyngRCiCXiz:
 nop
@@ -268,7 +268,7 @@
 b_hgs8_gb_hgs16:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR8qb_fcyngRCiCXiz:
 nop
@@ -303,7 +303,7 @@
 b__MA7naqebvq8Fgevat16P2RAF0_13FgngvpYvaxntrR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR8qb_fcyngRCiCXiz:
 nop
@@ -313,7 +313,7 @@
 b__MA7naqebvq8Fgevat16P1REXAF_7Fgevat8R:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRRR:
 .space __SIZEOF_POINTER__
@@ -328,7 +328,7 @@
 b__MA7naqebvq9Gbxravmre9arkgGbxraRCXp:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz:
 nop
@@ -348,7 +348,7 @@
 b__MA7naqebvq11CebcreglZnc6CnefreQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz:
 nop
@@ -393,27 +393,27 @@
 b__MAX7naqebvq8Fgevat1610fgnegfJvguRCXQf:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR7qb_pbclRCiCXiz:
 nop
@@ -428,7 +428,7 @@
 b__MGIA7naqebvq14ZrffntrUnaqyreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRRR:
 .space __SIZEOF_POINTER__
@@ -448,7 +448,7 @@
 b__MA7naqebvq10IrpgbeVzcy3nqqRCXi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR10qb_qrfgeblRCiz:
 nop
@@ -548,7 +548,7 @@
 b__MA7naqebvq16FbegrqIrpgbeVzcy5zretrREXF0_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -638,7 +638,7 @@
 b__MA7naqebvq8Fgevat1614nyybpSebzHGS16RCXQfz:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRRR:
 .space __SIZEOF_POINTER__
@@ -763,7 +763,7 @@
 b__MA7naqebvq20FvzcyrYbbcrePnyyonpxP1RCSvvvCiR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -798,7 +798,7 @@
 b__MGIA7naqebvq10IrpgbeVzcyR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR12qb_pbafgehpgRCiz:
 nop
@@ -963,7 +963,7 @@
 b_naqebvqPerngrEnjGuernqRgp:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz:
 nop
@@ -1013,7 +1013,7 @@
 b_fgeyra16:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR7qb_pbclRCiCXiz:
 nop
@@ -1058,7 +1058,7 @@
 b__MA7naqebvq11CebcreglZnc4ybnqREXAF_7Fgevat8RCCF0_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_:
 nop
@@ -1088,7 +1088,7 @@
 b__MA7naqebvq10IrpgbeVzcy8vafregNgRCXizz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz:
 nop
@@ -1178,7 +1178,7 @@
 b__MAX7naqebvq9Gbxravmre19crrxErznvaqreBsYvarRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR7qb_pbclRCiCXiz:
 nop
@@ -1213,7 +1213,7 @@
 b__MA7naqebvq18JrnxZrffntrUnaqyreP1REXAF_2jcVAF_14ZrffntrUnaqyreRRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR10qb_qrfgeblRCiz:
 nop
@@ -1558,12 +1558,12 @@
 b__MA7naqebvq6YbbcreP2Ro:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_6Ybbcre8ErfcbafrRRR:
 .space __SIZEOF_POINTER__
@@ -1618,7 +1618,7 @@
 b__MA7naqebvq14fgnghfGbFgevatRv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1628,7 +1628,7 @@
 b__MA7naqebvq7Fgevat87sbezngIRCXpFg9__in_yvfg:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1758,7 +1758,7 @@
 b__MA7naqebvq20FvzcyrYbbcrePnyyonpxQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_6Ybbcre7ErdhrfgRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1978,7 +1978,7 @@
 b__MA7naqebvq7Fgevat8Q2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR12qb_pbafgehpgRCiz:
 nop
@@ -2093,7 +2093,7 @@
 b_naqebvqPerngrGuernq:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_28flfcebc_punatr_pnyyonpx_vasbRR8qb_fcyngRCiCXiz:
 nop
@@ -2103,7 +2103,7 @@
 b__MA7naqebvq6Ybbcre12trgSbeGuernqRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6Ybbcre15ZrffntrRairybcrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_030.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_030.S
index d95bc57..f7aa8be 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_030.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_030.S
@@ -358,7 +358,7 @@
 b__MA7naqebvq10hveraqrere7Zngevk49ybnqFpnyrRsss:
 nop
 .data
-.globl b__MGIA7naqebvq10hveraqrere14IrpgbeQenjnoyr4AbqrR
+.weak b__MGIA7naqebvq10hveraqrere14IrpgbeQenjnoyr4AbqrR
 .type b__MGIA7naqebvq10hveraqrere14IrpgbeQenjnoyr4AbqrR,%object
 b__MGIA7naqebvq10hveraqrere14IrpgbeQenjnoyr4AbqrR:
 .space __SIZEOF_POINTER__
@@ -1083,7 +1083,7 @@
 b_JroCTrgYvarCnvePbairegre:
 nop
 .data
-.globl b__MGVFg9rkprcgvba
+.weak b__MGVFg9rkprcgvba
 .type b__MGVFg9rkprcgvba,%object
 b__MGVFg9rkprcgvba:
 .space __SIZEOF_POINTER__
@@ -2038,7 +2038,7 @@
 b__MAX17FxGvyrVzntrSvygre18baSvygreAbqrObhaqfREX7FxVErpgEX8FxZngevkA13FxVzntrSvygre12ZncQverpgvbaRCF1_:
 nop
 .data
-.globl b__MGI16TeFhesnprPbagrkg
+.weak b__MGI16TeFhesnprPbagrkg
 .type b__MGI16TeFhesnprPbagrkg,%object
 b__MGI16TeFhesnprPbagrkg:
 .space __SIZEOF_POINTER__
@@ -3148,7 +3148,7 @@
 b__MGI14Fx2QCnguRssrpg:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGI7FxVzntr
+.weak b__MGI7FxVzntr
 .type b__MGI7FxVzntr,%object
 b__MGI7FxVzntr:
 .space __SIZEOF_POINTER__
@@ -3218,7 +3218,7 @@
 b__MA21FxYvtugvatVzntrSvygre21ZnxrQvfgnagYvgQvsshfrREX8FxCbvag3wss5fx_fcV13FxVzntrSvygreRCXAF4_8PebcErpgR:
 nop
 .data
-.globl b__MGI21TeYrtnplQverpgPbagrkg
+.weak b__MGI21TeYrtnplQverpgPbagrkg
 .type b__MGI21TeYrtnplQverpgPbagrkg,%object
 b__MGI21TeYrtnplQverpgPbagrkg:
 .space __SIZEOF_POINTER__
@@ -3238,7 +3238,7 @@
 b__MA7naqebvq14FhesnprGrkgherP1REXAF_2fcVAF_22VTencuvpOhssrePbafhzreRRRwwoo:
 nop
 .data
-.globl b__MGIA7naqebvq10hveraqrere24CebcreglInyhrfUbyqreVzcyVAF0_14IrpgbeQenjnoyr4Cngu4QngnRRR
+.weak b__MGIA7naqebvq10hveraqrere24CebcreglInyhrfUbyqreVzcyVAF0_14IrpgbeQenjnoyr4Cngu4QngnRRR
 .type b__MGIA7naqebvq10hveraqrere24CebcreglInyhrfUbyqreVzcyVAF0_14IrpgbeQenjnoyr4Cngu4QngnRRR,%object
 b__MGIA7naqebvq10hveraqrere24CebcreglInyhrfUbyqreVzcyVAF0_14IrpgbeQenjnoyr4Cngu4QngnRRR:
 .space __SIZEOF_POINTER__
@@ -3468,7 +3468,7 @@
 b_fx_pnainf_ebgngr_enqvnaf:
 nop
 .data
-.globl b__MGFAFg3__117onq_shapgvba_pnyyR
+.weak b__MGFAFg3__117onq_shapgvba_pnyyR
 .type b__MGFAFg3__117onq_shapgvba_pnyyR,%object
 b__MGFAFg3__117onq_shapgvba_pnyyR:
 .space __SIZEOF_POINTER__
@@ -5288,7 +5288,7 @@
 b_IC8YSnfgFYbt2Fybj:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -5428,7 +5428,7 @@
 b__MA12FxSVYRFgernzP1RAFg3__110funerq_cgeV7__fSVYRRRzzz:
 nop
 .data
-.globl b__MGI9FxRapbqre
+.weak b__MGI9FxRapbqre
 .type b__MGI9FxRapbqre,%object
 b__MGI9FxRapbqre:
 .space __SIZEOF_POINTER__
@@ -5648,7 +5648,7 @@
 b__MA21TeEraqreGnetrgPbagrkg14qenjSvyyrqErpgREX6TePyvcB7TeCnvag4TeNNEX8FxZngevkEX6FxErpgCX21TeHfreFgrapvyFrggvatf:
 nop
 .data
-.globl b__MGIA21FxQrsreerqQvfcynlYvfg13YnmlCebklQngnR
+.weak b__MGIA21FxQrsreerqQvfcynlYvfg13YnmlCebklQngnR
 .type b__MGIA21FxQrsreerqQvfcynlYvfg13YnmlCebklQngnR,%object
 b__MGIA21FxQrsreerqQvfcynlYvfg13YnmlCebklQngnR:
 .space __SIZEOF_POINTER__
@@ -5723,7 +5723,7 @@
 b__MA6FxQngn17ZnxrHavavgvnyvmrqRz:
 nop
 .data
-.globl b__MGVFg12yratgu_reebe
+.weak b__MGVFg12yratgu_reebe
 .type b__MGVFg12yratgu_reebe,%object
 b__MGVFg12yratgu_reebe:
 .space __SIZEOF_POINTER__
@@ -6903,7 +6903,7 @@
 b__MA7naqebvq10hveraqrere14IrpgbeQenjnoyr8ShyyCngu4qenjRC8FxPnainfo:
 nop
 .data
-.globl b__MMA7FxVErpg10RzcglVErpgRiR6tRzcgl
+.weak b__MMA7FxVErpg10RzcglVErpgRiR6tRzcgl
 .type b__MMA7FxVErpg10RzcglVErpgRiR6tRzcgl,%object
 b__MMA7FxVErpg10RzcglVErpgRiR6tRzcgl:
 .space __SIZEOF_POINTER__
@@ -7203,7 +7203,7 @@
 b__MA7FxEErpg14vavgvnyvmrErpgREX6FxErpg:
 nop
 .data
-.globl b__MGVFg11ybtvp_reebe
+.weak b__MGVFg11ybtvp_reebe
 .type b__MGVFg11ybtvp_reebe,%object
 b__MGVFg11ybtvp_reebe:
 .space __SIZEOF_POINTER__
@@ -7988,7 +7988,7 @@
 b__MA6FxCngu6dhnqGbRssss:
 nop
 .data
-.globl b__MGFFg9rkprcgvba
+.weak b__MGFFg9rkprcgvba
 .type b__MGFFg9rkprcgvba,%object
 b__MGFFg9rkprcgvba:
 .space __SIZEOF_POINTER__
@@ -8168,7 +8168,7 @@
 b__MA10FxZrgnQngn4VgreP2REXF_:
 nop
 .data
-.globl b__MGIA21TeEraqreGnetrgPbagrkg10GrkgGnetrgR
+.weak b__MGIA21TeEraqreGnetrgPbagrkg10GrkgGnetrgR
 .type b__MGIA21TeEraqreGnetrgPbagrkg10GrkgGnetrgR,%object
 b__MGIA21TeEraqreGnetrgPbagrkg10GrkgGnetrgR:
 .space __SIZEOF_POINTER__
@@ -8778,7 +8778,7 @@
 b__MAX7naqebvq15ZvavxvaSbagFxvn13ErsFxGlcrsnprRi:
 nop
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -9023,7 +9023,7 @@
 b__MA7FxCnvagQ1Ri:
 nop
 .data
-.globl b__MGIA7naqebvq10hveraqrere18YvarneVagrecbyngbeR
+.weak b__MGIA7naqebvq10hveraqrere18YvarneVagrecbyngbeR
 .type b__MGIA7naqebvq10hveraqrere18YvarneVagrecbyngbeR,%object
 b__MGIA7naqebvq10hveraqrere18YvarneVagrecbyngbeR:
 .space __SIZEOF_POINTER__
@@ -9868,7 +9868,7 @@
 b__MA12FxAJnlPnainf12baPyvcErtvbaREX8FxErtvba8FxPyvcBc:
 nop
 .data
-.globl b__MGIA7naqebvq10hveraqrere24CebcreglInyhrfUbyqreVzcyVwRR
+.weak b__MGIA7naqebvq10hveraqrere24CebcreglInyhrfUbyqreVzcyVwRR
 .type b__MGIA7naqebvq10hveraqrere24CebcreglInyhrfUbyqreVzcyVwRR,%object
 b__MGIA7naqebvq10hveraqrere24CebcreglInyhrfUbyqreVzcyVwRR:
 .space __SIZEOF_POINTER__
@@ -11123,7 +11123,7 @@
 b__MAX14Fx2QCnguRssrpg12baSvygreCnguRC6FxCnguEXF0_C11FxFgebxrErpCX6FxErpg:
 nop
 .data
-.globl b__MGI18FxRebqrVzntrSvygre
+.weak b__MGI18FxRebqrVzntrSvygre
 .type b__MGI18FxRebqrVzntrSvygre,%object
 b__MGI18FxRebqrVzntrSvygre:
 .space __SIZEOF_POINTER__
@@ -11408,7 +11408,7 @@
 b__MA6FxErpg16frgObhaqfAbPurpxRCX7FxCbvagv:
 nop
 .data
-.globl b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -11503,7 +11503,7 @@
 b__MA8FxPnainf28bayl_nkvf_nyvtarq_fnirOruvaqRCX6FxErpg:
 nop
 .data
-.globl b__MGIAFg3__117onq_shapgvba_pnyyR
+.weak b__MGIAFg3__117onq_shapgvba_pnyyR
 .type b__MGIAFg3__117onq_shapgvba_pnyyR,%object
 b__MGIAFg3__117onq_shapgvba_pnyyR:
 .space __SIZEOF_POINTER__
@@ -11538,12 +11538,12 @@
 b__MA16FxBireqenjPnainf10baQenjCnguREX6FxCnguEX7FxCnvag:
 nop
 .text
-.globl b__MA7naqebvq10hveraqrere12eraqreguernq10EraqreGnfxQ2Ri
+.weak b__MA7naqebvq10hveraqrere12eraqreguernq10EraqreGnfxQ2Ri
 .type b__MA7naqebvq10hveraqrere12eraqreguernq10EraqreGnfxQ2Ri,%function
 b__MA7naqebvq10hveraqrere12eraqreguernq10EraqreGnfxQ2Ri:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -11753,7 +11753,7 @@
 b_fx_fhesnpr_arj_enfgre_qverpg:
 nop
 .data
-.globl b__MGFFg12yratgu_reebe
+.weak b__MGFFg12yratgu_reebe
 .type b__MGFFg12yratgu_reebe,%object
 b__MGFFg12yratgu_reebe:
 .space __SIZEOF_POINTER__
@@ -12193,7 +12193,7 @@
 b__MA7naqebvq6Ovgznc9znxrVzntrRi:
 nop
 .data
-.globl b__MGIA7naqebvq10hveraqrere24CebcreglInyhrfUbyqreVzcyVsRR
+.weak b__MGIA7naqebvq10hveraqrere24CebcreglInyhrfUbyqreVzcyVsRR
 .type b__MGIA7naqebvq10hveraqrere24CebcreglInyhrfUbyqreVzcyVsRR,%object
 b__MGIA7naqebvq10hveraqrere24CebcreglInyhrfUbyqreVzcyVsRR:
 .space __SIZEOF_POINTER__
@@ -12908,7 +12908,7 @@
 b__MGI22FxAbeznySyngFbheprVzcy:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGI9FxFhesnpr
+.weak b__MGI9FxFhesnpr
 .type b__MGI9FxFhesnpr,%object
 b__MGI9FxFhesnpr:
 .space __SIZEOF_POINTER__
@@ -13253,7 +13253,7 @@
 b__MA7naqebvq6OvgzncQ2Ri:
 nop
 .text
-.globl b__MA7naqebvq10hveraqrere16NavzngvbaPbagrkg14cnhfrNavzngbefRi
+.weak b__MA7naqebvq10hveraqrere16NavzngvbaPbagrkg14cnhfrNavzngbefRi
 .type b__MA7naqebvq10hveraqrere16NavzngvbaPbagrkg14cnhfrNavzngbefRi,%function
 b__MA7naqebvq10hveraqrere16NavzngvbaPbagrkg14cnhfrNavzngbefRi:
 nop
@@ -13348,7 +13348,7 @@
 b__MA18FxCngu1QCnguRssrpg10PerngrCebpRE12FxErnqOhssre:
 nop
 .data
-.globl b__MGI8FxYvtugf
+.weak b__MGI8FxYvtugf
 .type b__MGI8FxYvtugf,%object
 b__MGI8FxYvtugf:
 .space __SIZEOF_POINTER__
@@ -13448,7 +13448,7 @@
 b__MA18FxCngu1QCnguRssrpgP2REX6FxCngussAF_5FglyrR:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -13588,7 +13588,7 @@
 b__MA18FxRzobffZnfxSvygreP1RsEXAF_5YvtugR:
 nop
 .data
-.globl b__MGFFg11ybtvp_reebe
+.weak b__MGFFg11ybtvp_reebe
 .type b__MGFFg11ybtvp_reebe,%object
 b__MGFFg11ybtvp_reebe:
 .space __SIZEOF_POINTER__
@@ -13663,7 +13663,7 @@
 b__MA8FxPnainf10qenjQEErpgREX7FxEErpgF2_EX7FxCnvag:
 nop
 .data
-.globl b__MGVAFg3__117onq_shapgvba_pnyyR
+.weak b__MGVAFg3__117onq_shapgvba_pnyyR
 .type b__MGVAFg3__117onq_shapgvba_pnyyR,%object
 b__MGVAFg3__117onq_shapgvba_pnyyR:
 .space __SIZEOF_POINTER__
@@ -14393,7 +14393,7 @@
 b__MA17FxGrkgOyboOhvyqre4znxrRi:
 nop
 .data
-.globl b__MGI16FxPbagbheZrnfher
+.weak b__MGI16FxPbagbheZrnfher
 .type b__MGI16FxPbagbheZrnfher,%object
 b__MGI16FxPbagbheZrnfher:
 .space __SIZEOF_POINTER__
@@ -14418,7 +14418,7 @@
 b_IC8GenafsbezJUG:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -15248,7 +15248,7 @@
 b__MAX7FxVzntr12rapbqrGbQngnRi:
 nop
 .data
-.globl b__MGI9FxCvpgher
+.weak b__MGI9FxCvpgher
 .type b__MGI9FxCvpgher,%object
 b__MGI9FxCvpgher:
 .space __SIZEOF_POINTER__
@@ -15468,7 +15468,7 @@
 b__MA16FxVzntrTrarengbe19ZnxrSebzRapbqrqVzcyR5fx_fcV6FxQngnR:
 nop
 .data
-.globl b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -16848,7 +16848,7 @@
 b__MA10FxEJOhssreP1Rz:
 nop
 .data
-.globl b__MGIA14FxFgevxrPyvrag23QvfpneqnoyrFgevxrCvaareR
+.weak b__MGIA14FxFgevxrPyvrag23QvfpneqnoyrFgevxrCvaareR
 .type b__MGIA14FxFgevxrPyvrag23QvfpneqnoyrFgevxrCvaareR,%object
 b__MGIA14FxFgevxrPyvrag23QvfpneqnoyrFgevxrCvaareR:
 .space __SIZEOF_POINTER__
@@ -16903,7 +16903,7 @@
 b__MA14FxZrzbelFgernzP1RCXizo:
 nop
 .data
-.globl b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -17218,7 +17218,7 @@
 b__MA8FxFgevat3frgRCXpz:
 nop
 .data
-.globl b__MGI12TeQQYPbagrkg
+.weak b__MGI12TeQQYPbagrkg
 .type b__MGI12TeQQYPbagrkg,%object
 b__MGI12TeQQYPbagrkg:
 .space __SIZEOF_POINTER__
@@ -17523,7 +17523,7 @@
 b_IC8YPbybeFcnprGenafsbez:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -17798,7 +17798,7 @@
 b__MA9FxJFgernz17jevgrOvtQrpNfGrkgRyv:
 nop
 .data
-.globl b__MGI19FxQvyngrVzntrSvygre
+.weak b__MGI19FxQvyngrVzntrSvygre
 .type b__MGI19FxQvyngrVzntrSvygre,%object
 b__MGI19FxQvyngrVzntrSvygre:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_031.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_031.S
index 1212559..1b21370 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_031.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_031.S
@@ -3,42 +3,42 @@
 .data
 .p2align 4
 .text
-.globl b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_
+.weak b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_
 .type b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_,%function
 b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR8biresybjRv
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR8biresybjRv
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR8biresybjRv,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR8biresybjRv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq3ocs11pbqrFrpgvbaRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq3ocs11pbqrFrpgvbaRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq3ocs11pbqrFrpgvbaRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq3ocs11pbqrFrpgvbaRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
 .data
-.globl b__MGGAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGGAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGGAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGGAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRP2Ri
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRP2Ri
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRP2Ri,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRP2Ri:
 nop
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSo9rys64_flzF1_RCF1_RRoG0_F6_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSo9rys64_flzF1_RCF1_RRoG0_F6_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSo9rys64_flzF1_RCF1_RRoG0_F6_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSo9rys64_flzF1_RCF1_RRoG0_F6_G_:
 nop
@@ -53,17 +53,17 @@
 b__MA7naqebvq3ocsrdREXAF0_8FgngfXrlRF3_:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv:
 nop
 .text
-.globl b__MAFg3__16__fbegVECSo9rys64_flzF1_RCF1_RRiG0_F6_G_
+.weak b__MAFg3__16__fbegVECSo9rys64_flzF1_RCF1_RRiG0_F6_G_
 .type b__MAFg3__16__fbegVECSo9rys64_flzF1_RCF1_RRiG0_F6_G_,%function
 b__MAFg3__16__fbegVECSo9rys64_flzF1_RCF1_RRiG0_F6_G_:
 nop
@@ -78,27 +78,27 @@
 b__MA7naqebvq3ocs8ocsSqTrgRCXpw:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9haqresybjRi
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9haqresybjRi
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9haqresybjRi,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9haqresybjRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR
+.weak b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR
 .type b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR,%function
 b__MAFg3__16irpgbeVA7naqebvq4onfr14havdhr_sq_vzcyVAF2_13QrsnhygPybfreRRRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR:
 nop
 .data
-.globl b__MGIAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRR
+.weak b__MGIAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRR
 .type b__MGIAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRR,%object
 b__MGIAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -108,22 +108,22 @@
 b__MA7naqebvq3ocs20flapuebavmrXrearyEPHRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR:
 nop
 .text
-.globl b__MAFg3__17__fbeg4VECSo9rys64_flzF1_RCF1_RRwG0_F6_F6_F6_G_
+.weak b__MAFg3__17__fbeg4VECSo9rys64_flzF1_RCF1_RRwG0_F6_F6_F6_G_
 .type b__MAFg3__17__fbeg4VECSo9rys64_flzF1_RCF1_RRwG0_F6_F6_F6_G_,%function
 b__MAFg3__17__fbeg4VECSo9rys64_flzF1_RCF1_RRwG0_F6_F6_F6_G_:
 nop
@@ -143,17 +143,17 @@
 b__MA7naqebvq3ocs9perngrZncR12ocs_znc_glcrwwww:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR6frgohsRCpy
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR6frgohsRCpy
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR6frgohsRCpy,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR6frgohsRCpy:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq3ocs11ocs_znc_qrsRAF_9nyybpngbeVF3_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq3ocs11ocs_znc_qrsRAF_9nyybpngbeVF3_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq3ocs11ocs_znc_qrsRAF_9nyybpngbeVF3_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq3ocs11ocs_znc_qrsRAF_9nyybpngbeVF3_RRR8__nccraqRz:
 nop
 .data
-.globl b__MGIAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGIAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGIAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGIAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -163,12 +163,12 @@
 b__MA7naqebvq3ocs18trgOcsFhccbegYriryRi:
 nop
 .data
-.globl b__MGGAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -178,17 +178,17 @@
 b__MA7naqebvq3ocs11ocsCebtYbnqR13ocs_cebt_glcrAF_9argqhgvyf5FyvprRCXpwF3_:
 nop
 .text
-.globl b__MAFg3__16irpgbeV10rys64_fuqeAF_9nyybpngbeVF1_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeV10rys64_fuqeAF_9nyybpngbeVF1_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeV10rys64_fuqeAF_9nyybpngbeVF1_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeV10rys64_fuqeAF_9nyybpngbeVF1_RRR8__nccraqRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeV9rys64_flzAF_9nyybpngbeVF1_RRR6nffvtaVCF1_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF1_AF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRiR4glcrRF8_F8_
+.weak b__MAFg3__16irpgbeV9rys64_flzAF_9nyybpngbeVF1_RRR6nffvtaVCF1_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF1_AF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRiR4glcrRF8_F8_
 .type b__MAFg3__16irpgbeV9rys64_flzAF_9nyybpngbeVF1_RRR6nffvtaVCF1_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF1_AF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRiR4glcrRF8_F8_,%function
 b__MAFg3__16irpgbeV9rys64_flzAF_9nyybpngbeVF1_RRR6nffvtaVCF1_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF1_AF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRiR4glcrRF8_F8_:
 nop
 .text
-.globl b__MAFg3__17__fbeg3VECSo9rys64_flzF1_RCF1_RRwG0_F6_F6_G_
+.weak b__MAFg3__17__fbeg3VECSo9rys64_flzF1_RCF1_RRwG0_F6_F6_G_
 .type b__MAFg3__17__fbeg3VECSo9rys64_flzF1_RCF1_RRwG0_F6_F6_G_,%function
 b__MAFg3__17__fbeg3VECSo9rys64_flzF1_RCF1_RRwG0_F6_F6_G_:
 nop
@@ -213,22 +213,22 @@
 b__MA7naqebvq3ocs8ybnqCebtRCXp:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR4flapRi
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR4flapRi
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR4flapRi,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR4flapRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRz:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ0Ri
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ0Ri
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ0Ri,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ0Ri:
 nop
@@ -248,7 +248,7 @@
 b__MA7naqebvq3ocs14trgSvefgZncXrlREXAF_4onfr14havdhr_sq_vzcyVAF1_13QrsnhygPybfreRRRCi:
 nop
 .data
-.globl b__MGIAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -268,17 +268,17 @@
 b__MA7naqebvq3ocs15jevgrGbZncRagelREXAF_4onfr14havdhr_sq_vzcyVAF1_13QrsnhygPybfreRRRCiF7_z:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ2Ri
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ2Ri
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ2Ri,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR6nffvtaVCpRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVpAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
+.weak b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR6nffvtaVCpRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVpAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
 .type b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR6nffvtaVCpRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVpAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_,%function
 b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR6nffvtaVCpRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVpAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_:
 nop
@@ -298,12 +298,12 @@
 b__MA7naqebvq3ocsrdREXAF0_10FgngfInyhrRF3_:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_032.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_032.S
index 6424965..b3e3f66 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_032.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_032.S
@@ -13,32 +13,32 @@
 b__MA7naqebvq3ocs26cnefrOcsArgjbexFgngfQrgnvyRCAFg3__16irpgbeVAF0_10fgngf_yvarRAF1_9nyybpngbeVF3_RRRREXAF2_VAF1_12onfvp_fgevatVpAF1_11pune_genvgfVpRRAF4_VpRRRRAF4_VFP_RRRRvv:
 nop
 .text
-.globl b__MAFg3__17__fbeg3VEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRwG0_F8_F8_G_
+.weak b__MAFg3__17__fbeg3VEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRwG0_F8_F8_G_
 .type b__MAFg3__17__fbeg3VEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRwG0_F8_F8_G_,%function
 b__MAFg3__17__fbeg3VEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRwG0_F8_F8_G_:
 nop
 .text
-.globl b__MAFg3__17__fbeg4VEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRwG0_F8_F8_F8_G_
+.weak b__MAFg3__17__fbeg4VEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRwG0_F8_F8_F8_G_
 .type b__MAFg3__17__fbeg4VEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRwG0_F8_F8_F8_G_,%function
 b__MAFg3__17__fbeg4VEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRwG0_F8_F8_F8_G_:
 nop
 .text
-.globl b__MA7naqebvq3ocs19trgVsnprAnzrSebzZncVAF0_8FgngfXrlRRRvEXAF0_6OcsZncVwAF0_10VsnprInyhrRRREXAF3_VG_AF0_10FgngfInyhrRRRwCpEXF8_Cy
+.weak b__MA7naqebvq3ocs19trgVsnprAnzrSebzZncVAF0_8FgngfXrlRRRvEXAF0_6OcsZncVwAF0_10VsnprInyhrRRREXAF3_VG_AF0_10FgngfInyhrRRRwCpEXF8_Cy
 .type b__MA7naqebvq3ocs19trgVsnprAnzrSebzZncVAF0_8FgngfXrlRRRvEXAF0_6OcsZncVwAF0_10VsnprInyhrRRREXAF3_VG_AF0_10FgngfInyhrRRRwCpEXF8_Cy,%function
 b__MA7naqebvq3ocs19trgVsnprAnzrSebzZncVAF0_8FgngfXrlRRRvEXAF0_6OcsZncVwAF0_10VsnprInyhrRRREXAF3_VG_AF0_10FgngfInyhrRRRwCpEXF8_Cy:
 nop
 .text
-.globl b__MA7naqebvq3ocs19trgVsnprAnzrSebzZncVwRRvEXAF0_6OcsZncVwAF0_10VsnprInyhrRRREXAF2_VG_AF0_10FgngfInyhrRRRwCpEXF7_Cy
+.weak b__MA7naqebvq3ocs19trgVsnprAnzrSebzZncVwRRvEXAF0_6OcsZncVwAF0_10VsnprInyhrRRREXAF2_VG_AF0_10FgngfInyhrRRRwCpEXF7_Cy
 .type b__MA7naqebvq3ocs19trgVsnprAnzrSebzZncVwRRvEXAF0_6OcsZncVwAF0_10VsnprInyhrRRREXAF2_VG_AF0_10FgngfInyhrRRRwCpEXF7_Cy,%function
 b__MA7naqebvq3ocs19trgVsnprAnzrSebzZncVwRRvEXAF0_6OcsZncVwAF0_10VsnprInyhrRRREXAF2_VG_AF0_10FgngfInyhrRRRwCpEXF7_Cy:
 nop
 .text
-.globl b__MA7naqebvq3ocs20znlorYbtHaxabjaVsnprVAF0_8FgngfXrlRRRivEXAF0_6OcsZncVG_AF0_10FgngfInyhrRRREXF4_Cy
+.weak b__MA7naqebvq3ocs20znlorYbtHaxabjaVsnprVAF0_8FgngfXrlRRRivEXAF0_6OcsZncVG_AF0_10FgngfInyhrRRREXF4_Cy
 .type b__MA7naqebvq3ocs20znlorYbtHaxabjaVsnprVAF0_8FgngfXrlRRRivEXAF0_6OcsZncVG_AF0_10FgngfInyhrRRREXF4_Cy,%function
 b__MA7naqebvq3ocs20znlorYbtHaxabjaVsnprVAF0_8FgngfXrlRRRivEXAF0_6OcsZncVG_AF0_10FgngfInyhrRRREXF4_Cy:
 nop
 .text
-.globl b__MAFg3__118__vafregvba_fbeg_3VEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRiG0_F8_G_
+.weak b__MAFg3__118__vafregvba_fbeg_3VEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRiG0_F8_G_
 .type b__MAFg3__118__vafregvba_fbeg_3VEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRiG0_F8_G_,%function
 b__MAFg3__118__vafregvba_fbeg_3VEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRiG0_F8_G_:
 nop
@@ -58,12 +58,12 @@
 b__MA7naqebvq3ocsygREXAF0_10fgngf_yvarRF3_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq3ocs10fgngf_yvarRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq3ocs10fgngf_yvarRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq3ocs10fgngf_yvarRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq3ocs10fgngf_yvarRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq3ocs10fgngf_yvarRAF_9nyybpngbeVF3_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq3ocs10fgngf_yvarRAF_9nyybpngbeVF3_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq3ocs10fgngf_yvarRAF_9nyybpngbeVF3_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq3ocs10fgngf_yvarRAF_9nyybpngbeVF3_RRR8__nccraqRz:
 nop
@@ -73,7 +73,7 @@
 b__MA7naqebvq3ocs14ocsTrgHvqFgngfRwCAF0_5FgngfR:
 nop
 .text
-.globl b__MAX7naqebvq3ocs6OcsZncVwAF0_10FgngfInyhrRR7vgrengrREXAFg3__18shapgvbaVSAF_9argqhgvyf6FgnghfREXwEXF3_RRR
+.weak b__MAX7naqebvq3ocs6OcsZncVwAF0_10FgngfInyhrRR7vgrengrREXAFg3__18shapgvbaVSAF_9argqhgvyf6FgnghfREXwEXF3_RRR
 .type b__MAX7naqebvq3ocs6OcsZncVwAF0_10FgngfInyhrRR7vgrengrREXAFg3__18shapgvbaVSAF_9argqhgvyf6FgnghfREXwEXF3_RRR,%function
 b__MAX7naqebvq3ocs6OcsZncVwAF0_10FgngfInyhrRR7vgrengrREXAFg3__18shapgvbaVSAF_9argqhgvyf6FgnghfREXwEXF3_RRR:
 nop
@@ -93,12 +93,12 @@
 b__MA7naqebvq3ocsrdREXAF0_10fgngf_yvarRF3_:
 nop
 .text
-.globl b__MAX7naqebvq3ocs6OcsZncVAF0_8FgngfXrlRAF0_10FgngfInyhrRR7vgrengrREXAFg3__18shapgvbaVSAF_9argqhgvyf6FgnghfREXF2_EXF4_RRR
+.weak b__MAX7naqebvq3ocs6OcsZncVAF0_8FgngfXrlRAF0_10FgngfInyhrRR7vgrengrREXAFg3__18shapgvbaVSAF_9argqhgvyf6FgnghfREXF2_EXF4_RRR
 .type b__MAX7naqebvq3ocs6OcsZncVAF0_8FgngfXrlRAF0_10FgngfInyhrRR7vgrengrREXAFg3__18shapgvbaVSAF_9argqhgvyf6FgnghfREXF2_EXF4_RRR,%function
 b__MAX7naqebvq3ocs6OcsZncVAF0_8FgngfXrlRAF0_10FgngfInyhrRR7vgrengrREXAFg3__18shapgvbaVSAF_9argqhgvyf6FgnghfREXF2_EXF4_RRR:
 nop
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRoG0_F8_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRoG0_F8_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRoG0_F8_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRoG0_F8_G_:
 nop
@@ -133,22 +133,22 @@
 b__MA7naqebvq3ocs34cnefrOcsArgjbexFgngfQrgnvyVagreanyRCAFg3__16irpgbeVAF0_10fgngf_yvarRAF1_9nyybpngbeVF3_RRRREXAF2_VAF1_12onfvp_fgevatVpAF1_11pune_genvgfVpRRAF4_VpRRRRAF4_VFP_RRRRvvEXAF0_6OcsZncVAF0_8FgngfXrlRAF0_10FgngfInyhrRRREXAFU_VwAF0_10VsnprInyhrRRR:
 nop
 .text
-.globl b__MAFg3__16__fbegVEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRiG0_F8_G_
+.weak b__MAFg3__16__fbegVEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRiG0_F8_G_
 .type b__MAFg3__16__fbegVEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRiG0_F8_G_,%function
 b__MAFg3__16__fbegVEAF_6__yrffVA7naqebvq3ocs10fgngf_yvarRF4_RRCF4_RRiG0_F8_G_:
 nop
 .text
-.globl b__MA7naqebvq3ocs20znlorYbtHaxabjaVsnprVwRRivEXAF0_6OcsZncVG_AF0_10FgngfInyhrRRREXF3_Cy
+.weak b__MA7naqebvq3ocs20znlorYbtHaxabjaVsnprVwRRivEXAF0_6OcsZncVG_AF0_10FgngfInyhrRRREXF3_Cy
 .type b__MA7naqebvq3ocs20znlorYbtHaxabjaVsnprVwRRivEXAF0_6OcsZncVG_AF0_10FgngfInyhrRRREXF3_Cy,%function
 b__MA7naqebvq3ocs20znlorYbtHaxabjaVsnprVwRRivEXAF0_6OcsZncVG_AF0_10FgngfInyhrRRREXF3_Cy:
 nop
 .text
-.globl b__MA7naqebvq3ocs6OcsZncVAF0_8FgngfXrlRAF0_10FgngfInyhrRR7vgrengrREXAFg3__18shapgvbaVSAF_9argqhgvyf6FgnghfREXF2_EF4_RRR
+.weak b__MA7naqebvq3ocs6OcsZncVAF0_8FgngfXrlRAF0_10FgngfInyhrRR7vgrengrREXAFg3__18shapgvbaVSAF_9argqhgvyf6FgnghfREXF2_EF4_RRR
 .type b__MA7naqebvq3ocs6OcsZncVAF0_8FgngfXrlRAF0_10FgngfInyhrRR7vgrengrREXAFg3__18shapgvbaVSAF_9argqhgvyf6FgnghfREXF2_EF4_RRR,%function
 b__MA7naqebvq3ocs6OcsZncVAF0_8FgngfXrlRAF0_10FgngfInyhrRR7vgrengrREXAFg3__18shapgvbaVSAF_9argqhgvyf6FgnghfREXF2_EF4_RRR:
 nop
 .text
-.globl b__MAX7naqebvq3ocs6OcsZncVwAF0_10FgngfInyhrRR16vgrengrJvguInyhrREXAFg3__18shapgvbaVSAF_9argqhgvyf6FgnghfREXwEXF2_EXF3_RRR
+.weak b__MAX7naqebvq3ocs6OcsZncVwAF0_10FgngfInyhrRR16vgrengrJvguInyhrREXAFg3__18shapgvbaVSAF_9argqhgvyf6FgnghfREXwEXF2_EXF3_RRR
 .type b__MAX7naqebvq3ocs6OcsZncVwAF0_10FgngfInyhrRR16vgrengrJvguInyhrREXAFg3__18shapgvbaVSAF_9argqhgvyf6FgnghfREXwEXF2_EXF3_RRR,%function
 b__MAX7naqebvq3ocs6OcsZncVwAF0_10FgngfInyhrRR16vgrengrJvguInyhrREXAFg3__18shapgvbaVSAF_9argqhgvyf6FgnghfREXwEXF2_EXF3_RRR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_033.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_033.S
index 86adc2a..dcf0f0c 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_033.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_033.S
@@ -33,12 +33,12 @@
 b__MAX7naqebvq9argqhgvyf9VCNqqerff8gbFgevatRi:
 nop
 .text
-.globl b__MAFg3__112__qrdhr_onfrVXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF7_RRR5pyrneRi
+.weak b__MAFg3__112__qrdhr_onfrVXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF7_RRR5pyrneRi
 .type b__MAFg3__112__qrdhr_onfrVXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF7_RRR5pyrneRi,%function
 b__MAFg3__112__qrdhr_onfrVXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF7_RRR5pyrneRi:
 nop
 .text
-.globl b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVvAF2_9nyybpngbeVvRRRRCXpRRAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF4_VpRRRREXG_G0_
+.weak b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVvAF2_9nyybpngbeVvRRRRCXpRRAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF4_VpRRRREXG_G0_
 .type b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVvAF2_9nyybpngbeVvRRRRCXpRRAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF4_VpRRRREXG_G0_,%function
 b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVvAF2_9nyybpngbeVvRRRRCXpRRAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF4_VpRRRREXG_G0_:
 nop
@@ -58,12 +58,12 @@
 b__MA7naqebvq9argqhgvyf8gbFgevatRAF0_5FyvprR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF8_RRR9chfu_onpxRBF8_
+.weak b__MAFg3__114__fcyvg_ohssreVCXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF8_RRR9chfu_onpxRBF8_
 .type b__MAFg3__114__fcyvg_ohssreVCXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF8_RRR9chfu_onpxRBF8_,%function
 b__MAFg3__114__fcyvg_ohssreVCXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF8_RRR9chfu_onpxRBF8_:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -83,17 +83,17 @@
 b__MA7naqebvq9argqhgvyf8YbtRagel12jvguQhengvbaREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -113,22 +113,22 @@
 b__MA7naqebvq9argqhgvyf9VCNqqerff9sbeFgevatREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCF1_:
 nop
 .text
-.globl b__MAFg3__112__qrdhr_onfrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR5pyrneRi
+.weak b__MAFg3__112__qrdhr_onfrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR5pyrneRi
 .type b__MAFg3__112__qrdhr_onfrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR5pyrneRi,%function
 b__MAFg3__112__qrdhr_onfrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR5pyrneRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF8_RRR9chfu_onpxRBF8_
+.weak b__MAFg3__114__fcyvg_ohssreVCXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF8_RRR9chfu_onpxRBF8_
 .type b__MAFg3__114__fcyvg_ohssreVCXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF8_RRR9chfu_onpxRBF8_,%function
 b__MAFg3__114__fcyvg_ohssreVCXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF8_RRR9chfu_onpxRBF8_:
 nop
 .text
-.globl b__MAFg3__15qrdhrVXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF7_RRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrVXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF7_RRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrVXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF7_RRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrVXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF7_RRR19__nqq_onpx_pncnpvglRi:
 nop
 .data
-.globl b__MGIA7naqebvq9argqhgvyf12ErnyFlfpnyyfR
+.weak b__MGIA7naqebvq9argqhgvyf12ErnyFlfpnyyfR
 .type b__MGIA7naqebvq9argqhgvyf12ErnyFlfpnyyfR,%object
 b__MGIA7naqebvq9argqhgvyf12ErnyFlfpnyyfR:
 .space __SIZEOF_POINTER__
@@ -143,7 +143,7 @@
 b__MA7naqebvq9argqhgvyf3YbtQ1Ri:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF7_RRR10chfu_sebagRBF7_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF7_RRR10chfu_sebagRBF7_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF7_RRR10chfu_sebagRBF7_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF7_RRR10chfu_sebagRBF7_:
 nop
@@ -163,7 +163,7 @@
 b__MA7naqebvq9argqhgvyf8YbtRagel3netREXAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRR:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR8__nccraqVAF_16__qrdhr_vgrengbeVXF6_CFO_EFO_CXFP_yYy170RRRRRiG_FU_CAF_9ranoyr_vsVKfe21__vf_sbejneq_vgrengbeVFU_RR5inyhrRiR4glcrR
+.weak b__MAFg3__15qrdhrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR8__nccraqVAF_16__qrdhr_vgrengbeVXF6_CFO_EFO_CXFP_yYy170RRRRRiG_FU_CAF_9ranoyr_vsVKfe21__vf_sbejneq_vgrengbeVFU_RR5inyhrRiR4glcrR
 .type b__MAFg3__15qrdhrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR8__nccraqVAF_16__qrdhr_vgrengbeVXF6_CFO_EFO_CXFP_yYy170RRRRRiG_FU_CAF_9ranoyr_vsVKfe21__vf_sbejneq_vgrengbeVFU_RR5inyhrRiR4glcrR,%function
 b__MAFg3__15qrdhrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR8__nccraqVAF_16__qrdhr_vgrengbeVXF6_CFO_EFO_CXFP_yYy170RRRRRiG_FU_CAF_9ranoyr_vsVKfe21__vf_sbejneq_vgrengbeVFU_RR5inyhrRiR4glcrR:
 nop
@@ -183,7 +183,7 @@
 b__MA7naqebvq9argqhgvyf8YbtRagel3netREXAFg3__16irpgbeVvAF2_9nyybpngbeVvRRRR:
 nop
 .text
-.globl b__MAFg3__1yfVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_EXAF_9__vbz_g10VF4_RR
+.weak b__MAFg3__1yfVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_EXAF_9__vbz_g10VF4_RR
 .type b__MAFg3__1yfVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_EXAF_9__vbz_g10VF4_RR,%function
 b__MAFg3__1yfVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_EXAF_9__vbz_g10VF4_RR:
 nop
@@ -193,7 +193,7 @@
 b__MAX7naqebvq9argqhgvyf8VCCersvk15vfHavavgvnyvmrqRi:
 nop
 .text
-.globl b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRCXpRRF9_EXG_G0_
+.weak b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRCXpRRF9_EXG_G0_
 .type b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRCXpRRF9_EXG_G0_,%function
 b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRCXpRRF9_EXG_G0_:
 nop
@@ -203,7 +203,7 @@
 b__MA7naqebvq9argqhgvyf8YbtRagel7jvguHvqRw:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
@@ -228,7 +228,7 @@
 b__MA7naqebvq9argqhgvyf8YbtRagel7zrffntrREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF8_RRR10chfu_sebagREXF8_
+.weak b__MAFg3__114__fcyvg_ohssreVCXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF8_RRR10chfu_sebagREXF8_
 .type b__MAFg3__114__fcyvg_ohssreVCXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF8_RRR10chfu_sebagREXF8_,%function
 b__MAFg3__114__fcyvg_ohssreVCXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF8_RRR10chfu_sebagREXF8_:
 nop
@@ -248,12 +248,12 @@
 b__MA7naqebvq9argqhgvyf8YbtRagel3netREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRR:
 nop
 .data
-.globl b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -268,12 +268,12 @@
 b__MAX7naqebvq9argqhgvyf8YbtRagel8gbFgevatRi:
 nop
 .text
-.globl b__MAFg3__14pbclVXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCF7_EF7_CXF8_yYy170RF6_CF6_EF6_CFP_yYy170RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAFS_VG_G0_G1_G2_G3_KG4_RRRFE_FY_
+.weak b__MAFg3__14pbclVXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCF7_EF7_CXF8_yYy170RF6_CF6_EF6_CFP_yYy170RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAFS_VG_G0_G1_G2_G3_KG4_RRRFE_FY_
 .type b__MAFg3__14pbclVXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCF7_EF7_CXF8_yYy170RF6_CF6_EF6_CFP_yYy170RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAFS_VG_G0_G1_G2_G3_KG4_RRRFE_FY_,%function
 b__MAFg3__14pbclVXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCF7_EF7_CXF8_yYy170RF6_CF6_EF6_CFP_yYy170RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAFS_VG_G0_G1_G2_G3_KG4_RRRFE_FY_:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVF6_CXF6_EFN_CXFO_yYy170RRR
+.weak b__MAFg3__15qrdhrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVF6_CXF6_EFN_CXFO_yYy170RRR
 .type b__MAFg3__15qrdhrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVF6_CXF6_EFN_CXFO_yYy170RRR,%function
 b__MAFg3__15qrdhrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVF6_CXF6_EFN_CXFO_yYy170RRR:
 nop
@@ -288,12 +288,12 @@
 b__MA7naqebvq9argqhgvyf8YbtRagel3netREXAFg3__16irpgbeVuAF2_9nyybpngbeVuRRRR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF7_RRR9chfu_onpxRBF7_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF7_RRR9chfu_onpxRBF7_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF7_RRR9chfu_onpxRBF7_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF7_RRR9chfu_onpxRBF7_:
 nop
 .data
-.globl b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -313,7 +313,7 @@
 b__MA7naqebvq9argqhgvyf3YbtQ2Ri:
 nop
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
@@ -333,12 +333,12 @@
 b__MAX7naqebvq9argqhgvyf8VCCersvk8gbFgevatRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF7_RRR9chfu_onpxRBF7_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF7_RRR9chfu_onpxRBF7_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF7_RRR9chfu_onpxRBF7_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF7_RRR9chfu_onpxRBF7_:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR19__nqq_onpx_pncnpvglRz
+.weak b__MAFg3__15qrdhrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR19__nqq_onpx_pncnpvglRz
 .type b__MAFg3__15qrdhrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR19__nqq_onpx_pncnpvglRz,%function
 b__MAFg3__15qrdhrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR19__nqq_onpx_pncnpvglRz:
 nop
@@ -363,12 +363,12 @@
 b__MAX7naqebvq9argqhgvyf3Ybt12sbeRnpuRagelREXAFg3__18shapgvbaVSiEXAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
@@ -378,7 +378,7 @@
 b__MA7naqebvq9argqhgvyf14FlfpnyyfUbyqreQ1Ri:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF8_RRR10chfu_sebagRBF8_
+.weak b__MAFg3__114__fcyvg_ohssreVCXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF8_RRR10chfu_sebagRBF8_
 .type b__MAFg3__114__fcyvg_ohssreVCXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF8_RRR10chfu_sebagRBF8_,%function
 b__MAFg3__114__fcyvg_ohssreVCXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF8_RRR10chfu_sebagRBF8_:
 nop
@@ -433,27 +433,27 @@
 b__MA7naqebvq9argqhgvyf8YbtRagel7ergheafRo:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF7_RRR10chfu_sebagREXF7_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF7_RRR10chfu_sebagREXF7_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF7_RRR10chfu_sebagREXF7_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF7_RRR10chfu_sebagREXF7_:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -463,17 +463,17 @@
 b__MA7naqebvq9argqhgvyf10QhzcJevgre9qrpVaqragRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6nffvtaVAF_16__qrdhr_vgrengbeVXF6_CFO_EFO_CXFP_yYy170RRRRRiG_FU_CAF_9ranoyr_vsVKfe27__vf_enaqbz_npprff_vgrengbeVFU_RR5inyhrRiR4glcrR
+.weak b__MAFg3__15qrdhrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6nffvtaVAF_16__qrdhr_vgrengbeVXF6_CFO_EFO_CXFP_yYy170RRRRRiG_FU_CAF_9ranoyr_vsVKfe27__vf_enaqbz_npprff_vgrengbeVFU_RR5inyhrRiR4glcrR
 .type b__MAFg3__15qrdhrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6nffvtaVAF_16__qrdhr_vgrengbeVXF6_CFO_EFO_CXFP_yYy170RRRRRiG_FU_CAF_9ranoyr_vsVKfe27__vf_enaqbz_npprff_vgrengbeVFU_RR5inyhrRiR4glcrR,%function
 b__MAFg3__15qrdhrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6nffvtaVAF_16__qrdhr_vgrengbeVXF6_CFO_EFO_CXFP_yYy170RRRRRiG_FU_CAF_9ranoyr_vsVKfe27__vf_enaqbz_npprff_vgrengbeVFU_RR5inyhrRiR4glcrR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_036.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_036.S
index 337c664..720f47b 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_036.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_036.S
@@ -3,7 +3,7 @@
 .data
 .p2align 4
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -33,7 +33,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_017OaUjGharePnyyonpxP2REXAF_2fcVAF2_14VGharePnyyonpxRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -68,7 +68,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_09OcUjGhare21frgUNYVafgehzragngvbaRi:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_07OfGhareR
+.weak b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_07OfGhareR
 .type b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_07OfGhareR,%object
 b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_07OfGhareR:
 .space __SIZEOF_POINTER__
@@ -103,7 +103,7 @@
 b__MGua16_A7naqebvq8uneqjner14oebnqpnfgenqvb4I1_017OcUjGharePnyyonpx15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner14oebnqpnfgenqvb4I1_014VGharePnyyonpxRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner14oebnqpnfgenqvb4I1_014VGharePnyyonpxRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner14oebnqpnfgenqvb4I1_014VGharePnyyonpxRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner14oebnqpnfgenqvb4I1_014VGharePnyyonpxRRnFRBF5_:
 nop
@@ -188,7 +188,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_015VOebnqpnfgEnqvb21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_014VGharePnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_014VGharePnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_014VGharePnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_014VGharePnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -218,7 +218,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_017OcUjGharePnyyonpx14_uvqy_nsFjvgpuRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeREXAF2_11CebtenzVasbR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_014VGharePnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_17OcUjGharePnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_014VGharePnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_17OcUjGharePnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_014VGharePnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_17OcUjGharePnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_014VGharePnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_17OcUjGharePnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -248,12 +248,12 @@
 b__MGi0_a40_A7naqebvq8uneqjner14oebnqpnfgenqvb4I1_017OcUjGharePnyyonpx15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_018OcUjOebnqpnfgEnqvbRAF4_15VOebnqpnfgEnqvbRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_018OcUjOebnqpnfgEnqvbRAF4_15VOebnqpnfgEnqvbRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_018OcUjOebnqpnfgEnqvbRAF4_15VOebnqpnfgEnqvbRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_018OcUjOebnqpnfgEnqvbRAF4_15VOebnqpnfgEnqvbRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -358,7 +358,7 @@
 b__MGua32_A7naqebvq8uneqjner14oebnqpnfgenqvb4I1_09OaUjGhareQ1Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -438,7 +438,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_017OcUjGharePnyyonpx21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -483,7 +483,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_09OcUjGhare4fgrcRAF2_9QverpgvbaRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_09OcUjGhareRAF4_6VGhareRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_09OcUjGhareRAF4_6VGhareRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_09OcUjGhareRAF4_6VGhareRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_09OcUjGhareRAF4_6VGhareRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -493,7 +493,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_018OcUjOebnqpnfgEnqvb15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_015VOebnqpnfgEnqvbRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_015VOebnqpnfgEnqvbRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_015VOebnqpnfgEnqvbRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_015VOebnqpnfgEnqvbRiRRAF_2fcVG_RRF8_:
 nop
@@ -588,7 +588,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_023OfOebnqpnfgEnqvbSnpgbelP2RAF_2fcVAF2_22VOebnqpnfgEnqvbSnpgbelRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_022VOebnqpnfgEnqvbSnpgbelRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjOebnqpnfgEnqvbSnpgbelRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_022VOebnqpnfgEnqvbSnpgbelRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjOebnqpnfgEnqvbSnpgbelRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_022VOebnqpnfgEnqvbSnpgbelRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjOebnqpnfgEnqvbSnpgbelRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_022VOebnqpnfgEnqvbSnpgbelRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjOebnqpnfgEnqvbSnpgbelRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -698,7 +698,7 @@
 b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_025OcUjOebnqpnfgEnqvbSnpgbelR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -753,7 +753,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_014VGharePnyyonpx10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -773,12 +773,12 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_017OcUjGharePnyyonpx12pbasvtPunatrRAF2_6ErfhygREXAF2_10OnaqPbasvtR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_14oebnqpnfgenqvb4I1_014VGharePnyyonpxRAF3_17OcUjGharePnyyonpxRAF3_17OaUjGharePnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_14oebnqpnfgenqvb4I1_014VGharePnyyonpxRAF3_17OcUjGharePnyyonpxRAF3_17OaUjGharePnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_14oebnqpnfgenqvb4I1_014VGharePnyyonpxRAF3_17OcUjGharePnyyonpxRAF3_17OaUjGharePnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_14oebnqpnfgenqvb4I1_014VGharePnyyonpxRAF3_17OcUjGharePnyyonpxRAF3_17OaUjGharePnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_14oebnqpnfgenqvb4I1_06VGhareRAF3_9OcUjGhareRAF3_9OaUjGhareRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_14oebnqpnfgenqvb4I1_06VGhareRAF3_9OcUjGhareRAF3_9OaUjGhareRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_14oebnqpnfgenqvb4I1_06VGhareRAF3_9OcUjGhareRAF3_9OaUjGhareRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_14oebnqpnfgenqvb4I1_06VGhareRAF3_9OcUjGhareRAF3_9OaUjGhareRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -793,7 +793,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_018OaUjOebnqpnfgEnqvb10baGenafnpgRwEXAF0_6CnepryRCF4_wAFg3__18shapgvbaVSiEF4_RRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_14oebnqpnfgenqvb4I1_015VOebnqpnfgEnqvbRAF3_18OcUjOebnqpnfgEnqvbRAF3_18OaUjOebnqpnfgEnqvbRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_14oebnqpnfgenqvb4I1_015VOebnqpnfgEnqvbRAF3_18OcUjOebnqpnfgEnqvbRAF3_18OaUjOebnqpnfgEnqvbRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_14oebnqpnfgenqvb4I1_015VOebnqpnfgEnqvbRAF3_18OcUjOebnqpnfgEnqvbRAF3_18OaUjOebnqpnfgEnqvbRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_14oebnqpnfgenqvb4I1_015VOebnqpnfgEnqvbRAF3_18OcUjOebnqpnfgEnqvbRAF3_18OaUjOebnqpnfgEnqvbRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -813,7 +813,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_015OfGharePnyyonpxP1RAF_2fcVAF2_14VGharePnyyonpxRRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_015OfGharePnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_015OfGharePnyyonpxR
 .type b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_015OfGharePnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_015OfGharePnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -843,12 +843,12 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_09OcUjGhare13hayvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_07OfGhareR0_AF2_6VGhareR
+.weak b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_07OfGhareR0_AF2_6VGhareR
 .type b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_07OfGhareR0_AF2_6VGhareR,%object
 b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_07OfGhareR0_AF2_6VGhareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_025OcUjOebnqpnfgEnqvbSnpgbelRAF4_22VOebnqpnfgEnqvbSnpgbelRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_025OcUjOebnqpnfgEnqvbSnpgbelRAF4_22VOebnqpnfgEnqvbSnpgbelRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_025OcUjOebnqpnfgEnqvbSnpgbelRAF4_22VOebnqpnfgEnqvbSnpgbelRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_025OcUjOebnqpnfgEnqvbSnpgbelRAF4_22VOebnqpnfgEnqvbSnpgbelRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -953,7 +953,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_014VGharePnyyonpx12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_015VOebnqpnfgEnqvbRAF_4uvqy4onfr4I1_05VOnfrRAF4_18OcUjOebnqpnfgEnqvbRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_015VOebnqpnfgEnqvbRAF_4uvqy4onfr4I1_05VOnfrRAF4_18OcUjOebnqpnfgEnqvbRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_015VOebnqpnfgEnqvbRAF_4uvqy4onfr4I1_05VOnfrRAF4_18OcUjOebnqpnfgEnqvbRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_015VOebnqpnfgEnqvbRAF_4uvqy4onfr4I1_05VOnfrRAF4_18OcUjOebnqpnfgEnqvbRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -998,7 +998,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner14oebnqpnfgenqvb4I1_018OaUjOebnqpnfgEnqvbQ0Ri:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_023OfOebnqpnfgEnqvbSnpgbelR0_AF2_22VOebnqpnfgEnqvbSnpgbelR
+.weak b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_023OfOebnqpnfgEnqvbSnpgbelR0_AF2_22VOebnqpnfgEnqvbSnpgbelR
 .type b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_023OfOebnqpnfgEnqvbSnpgbelR0_AF2_22VOebnqpnfgEnqvbSnpgbelR,%object
 b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_023OfOebnqpnfgEnqvbSnpgbelR0_AF2_22VOebnqpnfgEnqvbSnpgbelR:
 .space __SIZEOF_POINTER__
@@ -1008,7 +1008,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_09OaUjGhare4cvatRi:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_015OfGharePnyyonpxR0_AF2_14VGharePnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_015OfGharePnyyonpxR0_AF2_14VGharePnyyonpxR
 .type b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_015OfGharePnyyonpxR0_AF2_14VGharePnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_015OfGharePnyyonpxR0_AF2_14VGharePnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -1063,7 +1063,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_015VOebnqpnfgEnqvb11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -1118,12 +1118,12 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_018OcUjOebnqpnfgEnqvb13trgCebcregvrfRAFg3__18shapgvbaVSiAF2_6ErfhygREXAF2_10CebcregvrfRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_06VGhareRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjGhareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_06VGhareRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjGhareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_06VGhareRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjGhareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_06VGhareRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjGhareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -1228,7 +1228,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_022ernqRzorqqrqSebzCnepryREXAF2_10OnaqPbasvtREXAF0_6CnepryRzz:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -1298,7 +1298,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner14oebnqpnfgenqvb4I1_09OaUjGhareQ0Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -1313,7 +1313,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_018OcUjOebnqpnfgEnqvbP1REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -1353,7 +1353,7 @@
 b__MGGA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_014VGharePnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_023OfOebnqpnfgEnqvbSnpgbelR
+.weak b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_023OfOebnqpnfgEnqvbSnpgbelR
 .type b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_023OfOebnqpnfgEnqvbSnpgbelR,%object
 b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_023OfOebnqpnfgEnqvbSnpgbelR:
 .space __SIZEOF_POINTER__
@@ -1463,7 +1463,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_025OcUjOebnqpnfgEnqvbSnpgbel21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_017OcUjGharePnyyonpxRAF4_14VGharePnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_017OcUjGharePnyyonpxRAF4_14VGharePnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_017OcUjGharePnyyonpxRAF4_14VGharePnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_017OcUjGharePnyyonpxRAF4_14VGharePnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -1578,7 +1578,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_022ernqRzorqqrqSebzCnepryREXAF2_8ZrgnQngnREXAF0_6CnepryRzz:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_06VGhareRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_06VGhareRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_06VGhareRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_06VGhareRiRRAF_2fcVG_RRF8_:
 nop
@@ -1623,12 +1623,12 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_016OfOebnqpnfgEnqvbP1RAF_2fcVAF2_15VOebnqpnfgEnqvbRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_016OfOebnqpnfgEnqvbR0_AF2_15VOebnqpnfgEnqvbR
+.weak b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_016OfOebnqpnfgEnqvbR0_AF2_15VOebnqpnfgEnqvbR
 .type b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_016OfOebnqpnfgEnqvbR0_AF2_15VOebnqpnfgEnqvbR,%object
 b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_016OfOebnqpnfgEnqvbR0_AF2_15VOebnqpnfgEnqvbR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_016OfOebnqpnfgEnqvbR
+.weak b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_016OfOebnqpnfgEnqvbR
 .type b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_016OfOebnqpnfgEnqvbR,%object
 b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_016OfOebnqpnfgEnqvbR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_037.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_037.S
index 472f439..2678ee3 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_037.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_037.S
@@ -3,7 +3,7 @@
 .data
 .p2align 4
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_015VOebnqpnfgEnqvbRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_015VOebnqpnfgEnqvbRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_015VOebnqpnfgEnqvbRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_015VOebnqpnfgEnqvbRiRRAF_2fcVG_RRF8_:
 nop
@@ -43,12 +43,12 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_115VOebnqpnfgEnqvb5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_125OcUjOebnqpnfgEnqvbSnpgbelRAF4_22VOebnqpnfgEnqvbSnpgbelRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_125OcUjOebnqpnfgEnqvbSnpgbelRAF4_22VOebnqpnfgEnqvbSnpgbelRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_125OcUjOebnqpnfgEnqvbSnpgbelRAF4_22VOebnqpnfgEnqvbSnpgbelRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_125OcUjOebnqpnfgEnqvbSnpgbelRAF4_22VOebnqpnfgEnqvbSnpgbelRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -83,12 +83,12 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_19OcUjGhare15frgNanybtSbeprqRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -178,7 +178,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117OaUjGharePnyyonpx4cvatRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_014VGharePnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_014VGharePnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_014VGharePnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_014VGharePnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -213,7 +213,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_16VGhare13gelTrgFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRo:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_17OfGhareR0_AF2_6VGhareR
+.weak b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_17OfGhareR0_AF2_6VGhareR
 .type b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_17OfGhareR0_AF2_6VGhareR,%object
 b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_17OfGhareR0_AF2_6VGhareR:
 .space __SIZEOF_POINTER__
@@ -323,7 +323,7 @@
 b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_19OcUjGhareR8_AF0_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_122VOebnqpnfgEnqvbSnpgbelRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjOebnqpnfgEnqvbSnpgbelRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_122VOebnqpnfgEnqvbSnpgbelRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjOebnqpnfgEnqvbSnpgbelRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_122VOebnqpnfgEnqvbSnpgbelRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjOebnqpnfgEnqvbSnpgbelRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_122VOebnqpnfgEnqvbSnpgbelRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjOebnqpnfgEnqvbSnpgbelRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -493,7 +493,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_125OcUjOebnqpnfgEnqvbSnpgbel13hayvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_123OfOebnqpnfgEnqvbSnpgbelR0_AF2_22VOebnqpnfgEnqvbSnpgbelR
+.weak b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_123OfOebnqpnfgEnqvbSnpgbelR0_AF2_22VOebnqpnfgEnqvbSnpgbelR
 .type b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_123OfOebnqpnfgEnqvbSnpgbelR0_AF2_22VOebnqpnfgEnqvbSnpgbelR,%object
 b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_123OfOebnqpnfgEnqvbSnpgbelR0_AF2_22VOebnqpnfgEnqvbSnpgbelR:
 .space __SIZEOF_POINTER__
@@ -518,7 +518,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_19OcUjGhare6pnapryRi:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_17OfGhareR
+.weak b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_17OfGhareR
 .type b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_17OfGhareR,%object
 b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_17OfGhareR:
 .space __SIZEOF_POINTER__
@@ -593,7 +593,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_118OaUjOebnqpnfgEnqvbP1REXAF_2fcVAF2_15VOebnqpnfgEnqvbRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -638,7 +638,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_115VOebnqpnfgEnqvb4cvatRi:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -673,7 +673,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117OcUjGharePnyyonpxP2REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_117OcUjGharePnyyonpxRAF4_14VGharePnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_117OcUjGharePnyyonpxRAF4_14VGharePnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_117OcUjGharePnyyonpxRAF4_14VGharePnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_117OcUjGharePnyyonpxRAF4_14VGharePnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -703,7 +703,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_122VOebnqpnfgEnqvbSnpgbel12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_19OcUjGhareRAF4_6VGhareRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_19OcUjGhareRAF4_6VGhareRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_19OcUjGhareRAF4_6VGhareRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_19OcUjGhareRAF4_6VGhareRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -843,7 +843,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_122VOebnqpnfgEnqvbSnpgbel13hayvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_16VGhareRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjGhareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_16VGhareRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjGhareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_16VGhareRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjGhareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_16VGhareRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjGhareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -963,7 +963,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_118OcUjOebnqpnfgEnqvb13trgCebcregvrfRAFg3__18shapgvbaVSiAF1_4I1_06ErfhygREXAF6_10CebcregvrfRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -1013,7 +1013,7 @@
 b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117OcUjGharePnyyonpxR16_AF0_11OcUjErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_115VOebnqpnfgEnqvbRAF3_4I1_015VOebnqpnfgEnqvbRAF4_18OcUjOebnqpnfgEnqvbRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_115VOebnqpnfgEnqvbRAF3_4I1_015VOebnqpnfgEnqvbRAF4_18OcUjOebnqpnfgEnqvbRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_115VOebnqpnfgEnqvbRAF3_4I1_015VOebnqpnfgEnqvbRAF4_18OcUjOebnqpnfgEnqvbRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_115VOebnqpnfgEnqvbRAF3_4I1_015VOebnqpnfgEnqvbRAF4_18OcUjOebnqpnfgEnqvbRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -1028,12 +1028,12 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_19OcUjGhare5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_16VGhareRAF3_4I1_06VGhareRAF4_9OcUjGhareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_16VGhareRAF3_4I1_06VGhareRAF4_9OcUjGhareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_16VGhareRAF3_4I1_06VGhareRAF4_9OcUjGhareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_16VGhareRAF3_4I1_06VGhareRAF4_9OcUjGhareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -1078,7 +1078,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_115VOebnqpnfgEnqvb21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_06VGhareRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_06VGhareRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_06VGhareRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_14oebnqpnfgenqvb4I1_06VGhareRiRRAF_2fcVG_RRF8_:
 nop
@@ -1103,7 +1103,7 @@
 b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_122VOebnqpnfgEnqvbSnpgbelR0_AF1_4I1_022VOebnqpnfgEnqvbSnpgbelR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_123OfOebnqpnfgEnqvbSnpgbelR
+.weak b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_123OfOebnqpnfgEnqvbSnpgbelR
 .type b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_123OfOebnqpnfgEnqvbSnpgbelR,%object
 b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_123OfOebnqpnfgEnqvbSnpgbelR:
 .space __SIZEOF_POINTER__
@@ -1168,7 +1168,7 @@
 b__MGGA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117OcUjGharePnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_115OfGharePnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_115OfGharePnyyonpxR
 .type b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_115OfGharePnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_115OfGharePnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -1183,7 +1183,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_16VGhare10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_116OfOebnqpnfgEnqvbR0_AF2_15VOebnqpnfgEnqvbR
+.weak b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_116OfOebnqpnfgEnqvbR0_AF2_15VOebnqpnfgEnqvbR
 .type b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_116OfOebnqpnfgEnqvbR0_AF2_15VOebnqpnfgEnqvbR,%object
 b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_116OfOebnqpnfgEnqvbR0_AF2_15VOebnqpnfgEnqvbR:
 .space __SIZEOF_POINTER__
@@ -1228,7 +1228,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_125OaUjOebnqpnfgEnqvbSnpgbelP1REXAF_2fcVAF2_22VOebnqpnfgEnqvbSnpgbelRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -1328,7 +1328,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117OaUjGharePnyyonpxQ1Ri:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_116OfOebnqpnfgEnqvbR
+.weak b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_116OfOebnqpnfgEnqvbR
 .type b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_116OfOebnqpnfgEnqvbR,%object
 b__MGIA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_116OfOebnqpnfgEnqvbR:
 .space __SIZEOF_POINTER__
@@ -1398,7 +1398,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_118OcUjOebnqpnfgEnqvb12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_115VOebnqpnfgEnqvbRAF_4uvqy4onfr4I1_05VOnfrRAF4_18OcUjOebnqpnfgEnqvbRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_115VOebnqpnfgEnqvbRAF_4uvqy4onfr4I1_05VOnfrRAF4_18OcUjOebnqpnfgEnqvbRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_115VOebnqpnfgEnqvbRAF_4uvqy4onfr4I1_05VOnfrRAF4_18OcUjOebnqpnfgEnqvbRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_115VOebnqpnfgEnqvbRAF_4uvqy4onfr4I1_05VOnfrRAF4_18OcUjOebnqpnfgEnqvbRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -1438,7 +1438,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_16VGhare17ertvfgreNfFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_114VGharePnyyonpxRAF3_4I1_014VGharePnyyonpxRAF4_17OcUjGharePnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_114VGharePnyyonpxRAF3_4I1_014VGharePnyyonpxRAF4_17OcUjGharePnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_114VGharePnyyonpxRAF3_4I1_014VGharePnyyonpxRAF4_17OcUjGharePnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_114VGharePnyyonpxRAF3_4I1_014VGharePnyyonpxRAF4_17OcUjGharePnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -1508,7 +1508,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_118OcUjOebnqpnfgEnqvb23_uvqy_trgCebcregvrf_1_1RCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRAFg3__18shapgvbaVSiEXAF2_10CebcregvrfRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -1593,7 +1593,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_125OcUjOebnqpnfgEnqvbSnpgbel12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_122VOebnqpnfgEnqvbSnpgbelRAF3_4I1_022VOebnqpnfgEnqvbSnpgbelRAF4_25OcUjOebnqpnfgEnqvbSnpgbelRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_122VOebnqpnfgEnqvbSnpgbelRAF3_4I1_022VOebnqpnfgEnqvbSnpgbelRAF4_25OcUjOebnqpnfgEnqvbSnpgbelRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_122VOebnqpnfgEnqvbSnpgbelRAF3_4I1_022VOebnqpnfgEnqvbSnpgbelRAF4_25OcUjOebnqpnfgEnqvbSnpgbelRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_122VOebnqpnfgEnqvbSnpgbelRAF3_4I1_022VOebnqpnfgEnqvbSnpgbelRAF4_25OcUjOebnqpnfgEnqvbSnpgbelRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -1668,7 +1668,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_118OcUjOebnqpnfgEnqvb11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -1713,7 +1713,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_118OaUjOebnqpnfgEnqvbQ1Ri:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -1723,7 +1723,7 @@
 b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_118OaUjOebnqpnfgEnqvbR0_AF_4uvqy4onfr4I1_08OaUjOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_114VGharePnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_17OcUjGharePnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_114VGharePnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_17OcUjGharePnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_114VGharePnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_17OcUjGharePnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_14oebnqpnfgenqvb4I1_114VGharePnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_17OcUjGharePnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -1733,7 +1733,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117OcUjGharePnyyonpx29_uvqy_onpxtebhaqFpnaNinvynoyrRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRo:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_115OfGharePnyyonpxR0_AF2_14VGharePnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_115OfGharePnyyonpxR0_AF2_14VGharePnyyonpxR
 .type b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_115OfGharePnyyonpxR0_AF2_14VGharePnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_115OfGharePnyyonpxR0_AF2_14VGharePnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -1788,7 +1788,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_125OaUjOebnqpnfgEnqvbSnpgbel10baGenafnpgRwEXAF0_6CnepryRCF4_wAFg3__18shapgvbaVSiEF4_RRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_118OcUjOebnqpnfgEnqvbRAF4_15VOebnqpnfgEnqvbRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_118OcUjOebnqpnfgEnqvbRAF4_15VOebnqpnfgEnqvbRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_118OcUjOebnqpnfgEnqvbRAF4_15VOebnqpnfgEnqvbRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_14oebnqpnfgenqvb4I1_118OcUjOebnqpnfgEnqvbRAF4_15VOebnqpnfgEnqvbRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -1803,7 +1803,7 @@
 b__MGGA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_114VGharePnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_038.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_038.S
index 8d5f4a7..8aecf5f 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_038.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_038.S
@@ -18,17 +18,17 @@
 b__MA7naqebvq8uneqjner10pbagrkguho4I1_014OaUjPbagrkguhoQ0Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -63,7 +63,7 @@
 b__MA7naqebvq8uneqjner10pbagrkguho4I1_011VPbagrkguho14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_10pbagrkguho4I1_019VPbagrkguhoPnyyonpxRAF3_22OcUjPbagrkguhoPnyyonpxRAF3_22OaUjPbagrkguhoPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_10pbagrkguho4I1_019VPbagrkguhoPnyyonpxRAF3_22OcUjPbagrkguhoPnyyonpxRAF3_22OaUjPbagrkguhoPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_10pbagrkguho4I1_019VPbagrkguhoPnyyonpxRAF3_22OcUjPbagrkguhoPnyyonpxRAF3_22OaUjPbagrkguhoPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_10pbagrkguho4I1_019VPbagrkguhoPnyyonpxRAF3_22OcUjPbagrkguhoPnyyonpxRAF3_22OaUjPbagrkguhoPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -93,7 +93,7 @@
 b__MA7naqebvq8uneqjner10pbagrkguho4I1_014OcUjPbagrkguho9dhrelNccfRw:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -123,7 +123,7 @@
 b__MA7naqebvq8uneqjner10pbagrkguho4I1_014OcUjPbagrkguho21frgUNYVafgehzragngvbaRi:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner10pbagrkguho4I1_012OfPbagrkguhoR0_AF2_11VPbagrkguhoR
+.weak b__MGPA7naqebvq8uneqjner10pbagrkguho4I1_012OfPbagrkguhoR0_AF2_11VPbagrkguhoR
 .type b__MGPA7naqebvq8uneqjner10pbagrkguho4I1_012OfPbagrkguhoR0_AF2_11VPbagrkguhoR,%object
 b__MGPA7naqebvq8uneqjner10pbagrkguho4I1_012OfPbagrkguhoR0_AF2_11VPbagrkguhoR:
 .space __SIZEOF_POINTER__
@@ -143,7 +143,7 @@
 b__MA7naqebvq8uneqjner10pbagrkguho4I1_022OcUjPbagrkguhoPnyyonpx15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_10pbagrkguho4I1_022OcUjPbagrkguhoPnyyonpxRAF4_19VPbagrkguhoPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_10pbagrkguho4I1_022OcUjPbagrkguhoPnyyonpxRAF4_19VPbagrkguhoPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_10pbagrkguho4I1_022OcUjPbagrkguhoPnyyonpxRAF4_19VPbagrkguhoPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_10pbagrkguho4I1_022OcUjPbagrkguhoPnyyonpxRAF4_19VPbagrkguhoPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -168,7 +168,7 @@
 b__MA7naqebvq8uneqjner10pbagrkguho4I1_020OfPbagrkguhoPnyyonpx13nqqBarjnlGnfxRAFg3__18shapgvbaVSiiRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_10pbagrkguho4I1_011VPbagrkguhoRAF_4uvqy4onfr4I1_05VOnfrRAF4_14OcUjPbagrkguhoRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_10pbagrkguho4I1_011VPbagrkguhoRAF_4uvqy4onfr4I1_05VOnfrRAF4_14OcUjPbagrkguhoRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_10pbagrkguho4I1_011VPbagrkguhoRAF_4uvqy4onfr4I1_05VOnfrRAF4_14OcUjPbagrkguhoRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_10pbagrkguho4I1_011VPbagrkguhoRAF_4uvqy4onfr4I1_05VOnfrRAF4_14OcUjPbagrkguhoRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -203,7 +203,7 @@
 b__MA7naqebvq8uneqjner10pbagrkguho4I1_022OcUjPbagrkguhoPnyyonpx12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_10pbagrkguho4I1_019VPbagrkguhoPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_22OcUjPbagrkguhoPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_10pbagrkguho4I1_019VPbagrkguhoPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_22OcUjPbagrkguhoPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_10pbagrkguho4I1_019VPbagrkguhoPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_22OcUjPbagrkguhoPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_10pbagrkguho4I1_019VPbagrkguhoPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_22OcUjPbagrkguhoPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -343,7 +343,7 @@
 b__MGGA7naqebvq8uneqjner10pbagrkguho4I1_014OcUjPbagrkguhoR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner10pbagrkguho4I1_020OfPbagrkguhoPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner10pbagrkguho4I1_020OfPbagrkguhoPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner10pbagrkguho4I1_020OfPbagrkguhoPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner10pbagrkguho4I1_020OfPbagrkguhoPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -353,7 +353,7 @@
 b__MA7naqebvq8uneqjner10pbagrkguho4I1_014OaUjPbagrkguho12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -393,12 +393,12 @@
 b__MA7naqebvq8uneqjner10pbagrkguho4I1_014OaUjPbagrkguho19_uvqy_haybnqAnabNccRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner10pbagrkguho4I1_012OfPbagrkguhoR
+.weak b__MGIA7naqebvq8uneqjner10pbagrkguho4I1_012OfPbagrkguhoR
 .type b__MGIA7naqebvq8uneqjner10pbagrkguho4I1_012OfPbagrkguhoR,%object
 b__MGIA7naqebvq8uneqjner10pbagrkguho4I1_012OfPbagrkguhoR:
 .space __SIZEOF_POINTER__
@@ -418,12 +418,12 @@
 b__MA7naqebvq8uneqjner10pbagrkguho4I1_022ernqRzorqqrqSebzCnepryREXAF2_10PbagrkgUhoREXAF0_6CnepryRzz:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_10pbagrkguho4I1_019VPbagrkguhoPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_10pbagrkguho4I1_019VPbagrkguhoPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_10pbagrkguho4I1_019VPbagrkguhoPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_10pbagrkguho4I1_019VPbagrkguhoPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_10pbagrkguho4I1_014OcUjPbagrkguhoRAF4_11VPbagrkguhoRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_10pbagrkguho4I1_014OcUjPbagrkguhoRAF4_11VPbagrkguhoRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_10pbagrkguho4I1_014OcUjPbagrkguhoRAF4_11VPbagrkguhoRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_10pbagrkguho4I1_014OcUjPbagrkguhoRAF4_11VPbagrkguhoRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -448,12 +448,12 @@
 b__MA7naqebvq8uneqjner10pbagrkguho4I1_022ernqRzorqqrqSebzCnepryREXAF2_13AnabNccOvanelREXAF0_6CnepryRzz:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -473,7 +473,7 @@
 b__MA7naqebvq8uneqjner10pbagrkguho4I1_022OaUjPbagrkguhoPnyyonpxP2REXAF_2fcVAF2_19VPbagrkguhoPnyyonpxRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner10pbagrkguho4I1_020OfPbagrkguhoPnyyonpxR0_AF2_19VPbagrkguhoPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner10pbagrkguho4I1_020OfPbagrkguhoPnyyonpxR0_AF2_19VPbagrkguhoPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner10pbagrkguho4I1_020OfPbagrkguhoPnyyonpxR0_AF2_19VPbagrkguhoPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner10pbagrkguho4I1_020OfPbagrkguhoPnyyonpxR0_AF2_19VPbagrkguhoPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -498,7 +498,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner10pbagrkguho4I1_022OaUjPbagrkguhoPnyyonpxQ0Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -528,7 +528,7 @@
 b__MA7naqebvq8uneqjner10pbagrkguho4I1_014OcUjPbagrkguho22_uvqy_ertvfgrePnyyonpxRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRwEXAF_2fcVAF2_19VPbagrkguhoPnyyonpxRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -573,7 +573,7 @@
 b__MA7naqebvq8uneqjner10pbagrkguho4I1_014OaUjPbagrkguho20_uvqy_qvfnoyrAnabNccRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -868,7 +868,7 @@
 b__MA7naqebvq8uneqjner10pbagrkguho4I1_014OcUjPbagrkguho7trgUhofRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF2_10PbagrkgUhoRRRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_039.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_039.S
index 3a8b88f..472a329 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_039.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_039.S
@@ -18,7 +18,7 @@
 b__MGi0_a40_A7naqebvq8uneqjner4taff4I1_025OcUjTaffAnivtngvbaZrffntr15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -83,7 +83,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_016OfTaffAvPnyyonpx13nqqBarjnlGnfxRAFg3__18shapgvbaVSiiRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -133,7 +133,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_017VTaffKgenPnyyonpx8pnfgSebzREXAF_2fcVF3_RRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_020OcUjTaffKgenPnyyonpxRAF4_17VTaffKgenPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_020OcUjTaffKgenPnyyonpxRAF4_17VTaffKgenPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_020OcUjTaffKgenPnyyonpxRAF4_17VTaffKgenPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_020OcUjTaffKgenPnyyonpxRAF4_17VTaffKgenPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -143,7 +143,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_09OcUjNTaff14qngnPbaaSnvyrqRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -303,7 +303,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_07OfNTaffP1RAF_2fcVAF2_6VNTaffRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_09VTaffKgenRAF3_12OcUjTaffKgenRAF3_12OaUjTaffKgenRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_09VTaffKgenRAF3_12OcUjTaffKgenRAF3_12OaUjTaffKgenRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_09VTaffKgenRAF3_12OcUjTaffKgenRAF3_12OaUjTaffKgenRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_09VTaffKgenRAF3_12OcUjTaffKgenRAF3_12OaUjTaffKgenRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -343,12 +343,12 @@
 b__MA7naqebvq8uneqjner4taff4I1_015VTaffAvPnyyonpx17ertvfgreNfFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_09VTaffKgenRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjTaffKgenRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_09VTaffKgenRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjTaffKgenRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_09VTaffKgenRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjTaffKgenRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_09VTaffKgenRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjTaffKgenRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -413,7 +413,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_013OaUjTaffQroht18_uvqy_trgQrohtQngnRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_010OcUjTaffAvRAF4_7VTaffAvRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_010OcUjTaffAvRAF4_7VTaffAvRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_010OcUjTaffAvRAF4_7VTaffAvRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_010OcUjTaffAvRAF4_7VTaffAvRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -493,7 +493,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_024OcUjTaffTrbsraprPnyyonpx20taffTrbsraprErzbirPoRvAF2_21VTaffTrbsraprPnyyonpx14TrbsraprFgnghfR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_030VTaffAnivtngvbaZrffntrPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_030VTaffAnivtngvbaZrffntrPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_030VTaffAnivtngvbaZrffntrPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_030VTaffAnivtngvbaZrffntrPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -608,7 +608,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_08OcUjTaff26trgRkgrafvbaTaffTrbsrapvatRi:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_018OfNTaffEvyPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_018OfNTaffEvyPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_018OfNTaffEvyPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_018OfNTaffEvyPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -868,7 +868,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_027OcUjTaffZrnfherzragPnyyonpx14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -928,7 +928,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_021VTaffTrbsraprPnyyonpx24ertvfgreSbeAbgvsvpngvbafREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRREXAF_2fcVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_015VTaffAvPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_015VTaffAvPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_015VTaffAvPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_015VTaffAvPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -1173,7 +1173,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_013VTaffOngpuvat19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_013VTaffOngpuvatRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffOngpuvatRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_013VTaffOngpuvatRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffOngpuvatRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_013VTaffOngpuvatRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffOngpuvatRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_013VTaffOngpuvatRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffOngpuvatRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -1253,7 +1253,7 @@
 b__MGIA7naqebvq8uneqjner4taff4I1_024OcUjTaffOngpuvatPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_016OcUjTaffPnyyonpxRAF4_13VTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_016OcUjTaffPnyyonpxRAF4_13VTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_016OcUjTaffPnyyonpxRAF4_13VTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_016OcUjTaffPnyyonpxRAF4_13VTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -1283,7 +1283,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_021OaUjTaffPbasvthengvbaQ2Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_027OcUjTaffZrnfherzragPnyyonpxRAF4_24VTaffZrnfherzragPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_027OcUjTaffZrnfherzragPnyyonpxRAF4_24VTaffZrnfherzragPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_027OcUjTaffZrnfherzragPnyyonpxRAF4_24VTaffZrnfherzragPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_027OcUjTaffZrnfherzragPnyyonpxRAF4_24VTaffZrnfherzragPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -1418,7 +1418,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_08OcUjTaff12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_010VTaffQrohtRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_010VTaffQrohtRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_010VTaffQrohtRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_010VTaffQrohtRiRRAF_2fcVG_RRF8_:
 nop
@@ -1493,7 +1493,7 @@
 b__MGIA7naqebvq8uneqjner4taff4I1_015VTaffAvPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_06VNTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjNTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_06VNTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjNTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_06VNTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjNTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_06VNTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjNTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -1558,7 +1558,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_010OaUjTaffAvP1REXAF_2fcVAF2_7VTaffAvRRR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_09VTaffKgenRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_09VTaffKgenRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_09VTaffKgenRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_09VTaffKgenRRnFRBF5_:
 nop
@@ -1583,7 +1583,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_010OfTaffKgenP2RAF_2fcVAF2_9VTaffKgenRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_017OfTaffZrnfherzragR0_AF2_16VTaffZrnfherzragR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_017OfTaffZrnfherzragR0_AF2_16VTaffZrnfherzragR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_017OfTaffZrnfherzragR0_AF2_16VTaffZrnfherzragR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_017OfTaffZrnfherzragR0_AF2_16VTaffZrnfherzragR:
 .space __SIZEOF_POINTER__
@@ -1593,7 +1593,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_06VNTaff12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_016VTaffZrnfherzragRAF3_19OcUjTaffZrnfherzragRAF3_19OaUjTaffZrnfherzragRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_016VTaffZrnfherzragRAF3_19OcUjTaffZrnfherzragRAF3_19OaUjTaffZrnfherzragRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_016VTaffZrnfherzragRAF3_19OcUjTaffZrnfherzragRAF3_19OaUjTaffZrnfherzragRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_016VTaffZrnfherzragRAF3_19OcUjTaffZrnfherzragRAF3_19OaUjTaffZrnfherzragRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -1668,7 +1668,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_021OaUjTaffPbasvthengvba16_uvqy_frgTcfYbpxRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_016VTaffZrnfherzragRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_016VTaffZrnfherzragRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_016VTaffZrnfherzragRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_016VTaffZrnfherzragRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -1888,7 +1888,7 @@
 b__MGGA7naqebvq8uneqjner4taff4I1_013VTaffPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_024OcUjTaffTrbsraprPnyyonpxRAF4_21VTaffTrbsraprPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_024OcUjTaffTrbsraprPnyyonpxRAF4_21VTaffTrbsraprPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_024OcUjTaffTrbsraprPnyyonpxRAF4_21VTaffTrbsraprPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_024OcUjTaffTrbsraprPnyyonpxRAF4_21VTaffTrbsraprPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -1958,7 +1958,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_016VTaffZrnfherzrag10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffOngpuvatRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffOngpuvatRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffOngpuvatRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffOngpuvatRiRRAF_2fcVG_RRF8_:
 nop
@@ -1993,7 +1993,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_018OcUjTaffAvPnyyonpx21abgvslFlfcebcfPunatrqRi:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_010OfTaffKgenR0_AF2_9VTaffKgenR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_010OfTaffKgenR0_AF2_9VTaffKgenR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_010OfTaffKgenR0_AF2_9VTaffKgenR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_010OfTaffKgenR0_AF2_9VTaffKgenR:
 .space __SIZEOF_POINTER__
@@ -2113,7 +2113,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_016OcUjTaffPnyyonpx14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_021VTaffTrbsraprPnyyonpxRAF3_24OcUjTaffTrbsraprPnyyonpxRAF3_24OaUjTaffTrbsraprPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_021VTaffTrbsraprPnyyonpxRAF3_24OcUjTaffTrbsraprPnyyonpxRAF3_24OaUjTaffTrbsraprPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_021VTaffTrbsraprPnyyonpxRAF3_24OcUjTaffTrbsraprPnyyonpxRAF3_24OaUjTaffTrbsraprPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_021VTaffTrbsraprPnyyonpxRAF3_24OcUjTaffTrbsraprPnyyonpxRAF3_24OaUjTaffTrbsraprPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -2138,7 +2138,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_06VNTaff10trgFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_017VNTaffEvyPnyyonpxRAF3_20OcUjNTaffEvyPnyyonpxRAF3_20OaUjNTaffEvyPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_017VNTaffEvyPnyyonpxRAF3_20OcUjNTaffEvyPnyyonpxRAF3_20OaUjNTaffEvyPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_017VNTaffEvyPnyyonpxRAF3_20OcUjNTaffEvyPnyyonpxRAF3_20OaUjNTaffEvyPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_017VNTaffEvyPnyyonpxRAF3_20OcUjNTaffEvyPnyyonpxRAF3_20OaUjNTaffEvyPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -2153,7 +2153,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_08OaUjTaff26_uvqy_trgRkgrafvbaNTaffEvyRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_016VTaffZrnfherzragRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_016VTaffZrnfherzragRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_016VTaffZrnfherzragRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_016VTaffZrnfherzragRiRRAF_2fcVG_RRF8_:
 nop
@@ -2183,7 +2183,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_016OcUjTaffPnyyonpxP2REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_019OfTaffPbasvthengvbaR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_019OfTaffPbasvthengvbaR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_019OfTaffPbasvthengvbaR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_019OfTaffPbasvthengvbaR:
 .space __SIZEOF_POINTER__
@@ -2248,7 +2248,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_020OcUjTaffKgenPnyyonpx14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -2268,7 +2268,7 @@
 b__MGua16_A7naqebvq8uneqjner4taff4I1_012OcUjNTaffEvy15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_020OcUjNTaffEvyPnyyonpxRAF4_17VNTaffEvyPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_020OcUjNTaffEvyPnyyonpxRAF4_17VNTaffEvyPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_020OcUjNTaffEvyPnyyonpxRAF4_17VNTaffEvyPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_020OcUjNTaffEvyPnyyonpxRAF4_17VNTaffEvyPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -2423,7 +2423,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I1_033OaUjTaffAnivtngvbaZrffntrPnyyonpxR0_AF0_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_031OfTaffAnivtngvbaZrffntrPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_031OfTaffAnivtngvbaZrffntrPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_031OfTaffAnivtngvbaZrffntrPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_031OfTaffAnivtngvbaZrffntrPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -2433,7 +2433,7 @@
 b__MGGA7naqebvq8uneqjner4taff4I1_018OaUjTaffAvPnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_016OfTaffAvPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_016OfTaffAvPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_016OfTaffAvPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_016OfTaffAvPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -2443,7 +2443,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_021VTaffTrbsraprPnyyonpx13gelTrgFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_018OcUjTaffTrbsrapvatRAF4_15VTaffTrbsrapvatRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_018OcUjTaffTrbsrapvatRAF4_15VTaffTrbsrapvatRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_018OcUjTaffTrbsrapvatRAF4_15VTaffTrbsrapvatRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_018OcUjTaffTrbsrapvatRAF4_15VTaffTrbsrapvatRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -2468,7 +2468,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I1_019OaUjTaffZrnfherzragR0_AF0_9OUjOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_017VTaffKgenPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_017VTaffKgenPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_017VTaffKgenPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_017VTaffKgenPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -2493,7 +2493,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I1_021OcUjTaffPbasvthengvbaR16_AF0_11OcUjErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_018VTaffPbasvthengvbaRAF3_21OcUjTaffPbasvthengvbaRAF3_21OaUjTaffPbasvthengvbaRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_018VTaffPbasvthengvbaRAF3_21OcUjTaffPbasvthengvbaRAF3_21OaUjTaffPbasvthengvbaRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_018VTaffPbasvthengvbaRAF3_21OcUjTaffPbasvthengvbaRAF3_21OaUjTaffPbasvthengvbaRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_018VTaffPbasvthengvbaRAF3_21OcUjTaffPbasvthengvbaRAF3_21OaUjTaffPbasvthengvbaRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -2558,12 +2558,12 @@
 b__MA7naqebvq8uneqjner4taff4I1_06VNTaff13gelTrgFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRo:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_018OfNTaffEvyPnyyonpxR0_AF2_17VNTaffEvyPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_018OfNTaffEvyPnyyonpxR0_AF2_17VNTaffEvyPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_018OfNTaffEvyPnyyonpxR0_AF2_17VNTaffEvyPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_018OfNTaffEvyPnyyonpxR0_AF2_17VNTaffEvyPnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_022OfTaffTrbsraprPnyyonpxR0_AF2_21VTaffTrbsraprPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_022OfTaffTrbsraprPnyyonpxR0_AF2_21VTaffTrbsraprPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_022OfTaffTrbsraprPnyyonpxR0_AF2_21VTaffTrbsraprPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_022OfTaffTrbsraprPnyyonpxR0_AF2_21VTaffTrbsraprPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -2708,7 +2708,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I1_016OcUjTaffPnyyonpxR8_AF0_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_021VTaffTrbsraprPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_021VTaffTrbsraprPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_021VTaffTrbsraprPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_021VTaffTrbsraprPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -2718,7 +2718,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_010OcUjTaffAv17_uvqy_frgPnyyonpxRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeREXAF_2fcVAF2_15VTaffAvPnyyonpxRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjTaffAnivtngvbaZrffntrRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjTaffAnivtngvbaZrffntrRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjTaffAnivtngvbaZrffntrRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjTaffAnivtngvbaZrffntrRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -2828,7 +2828,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_024VTaffZrnfherzragPnyyonpx10trgFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRo:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_025OfTaffZrnfherzragPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_025OfTaffZrnfherzragPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_025OfTaffZrnfherzragPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_025OfTaffZrnfherzragPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -2883,7 +2883,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_031OfTaffAnivtngvbaZrffntrPnyyonpx13nqqBarjnlGnfxRAFg3__18shapgvbaVSiiRRR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_09VNTaffEvyRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_09VNTaffEvyRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_09VNTaffEvyRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_09VNTaffEvyRRnFRBF5_:
 nop
@@ -2908,7 +2908,7 @@
 b__MGIA7naqebvq8uneqjner4taff4I1_020OcUjNTaffEvyPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_07VTaffAvRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_07VTaffAvRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_07VTaffAvRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_07VTaffAvRRnFRBF5_:
 nop
@@ -2968,7 +2968,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_019OaUjTaffZrnfherzrag17_uvqy_frgPnyyonpxRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_016OfTaffAvPnyyonpxR0_AF2_15VTaffAvPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_016OfTaffAvPnyyonpxR0_AF2_15VTaffAvPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_016OfTaffAvPnyyonpxR0_AF2_15VTaffAvPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_016OfTaffAvPnyyonpxR0_AF2_15VTaffAvPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -2988,7 +2988,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_024OcUjTaffTrbsraprPnyyonpx26_uvqy_taffTrbsraprFgnghfPoRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRAF2_21VTaffTrbsraprPnyyonpx20TrbsraprNinvynovyvglREXAF2_12TaffYbpngvbaR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -2998,7 +2998,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I1_012OaUjTaffKgenR0_AF0_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_016OcUjTaffOngpuvatRAF4_13VTaffOngpuvatRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_016OcUjTaffOngpuvatRAF4_13VTaffOngpuvatRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_016OcUjTaffOngpuvatRAF4_13VTaffOngpuvatRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_016OcUjTaffOngpuvatRAF4_13VTaffOngpuvatRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -3063,7 +3063,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_017VTaffKgenPnyyonpx12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_016VTaffZrnfherzragRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_016VTaffZrnfherzragRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_016VTaffZrnfherzragRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_016VTaffZrnfherzragRRnFRBF5_:
 nop
@@ -3078,7 +3078,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner4taff4I1_013OaUjTaffQrohtQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -3123,7 +3123,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_024OcUjTaffTrbsraprPnyyonpx24taffTrbsraprGenafvgvbaPoRvEXAF2_12TaffYbpngvbaRAF2_21VTaffTrbsraprPnyyonpx18TrbsraprGenafvgvbaRy:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -3148,7 +3148,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_022OfTaffTrbsraprPnyyonpxP2RAF_2fcVAF2_21VTaffTrbsraprPnyyonpxRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -3158,7 +3158,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_018OfNTaffEvyPnyyonpxP2RAF_2fcVAF2_17VNTaffEvyPnyyonpxRRR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_022VTaffAnivtngvbaZrffntrRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_022VTaffAnivtngvbaZrffntrRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_022VTaffAnivtngvbaZrffntrRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_022VTaffAnivtngvbaZrffntrRRnFRBF5_:
 nop
@@ -3173,7 +3173,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_033OaUjTaffAnivtngvbaZrffntrPnyyonpx12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_014VNTaffPnyyonpxRAF3_17OcUjNTaffPnyyonpxRAF3_17OaUjNTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_014VNTaffPnyyonpxRAF3_17OcUjNTaffPnyyonpxRAF3_17OaUjNTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_014VNTaffPnyyonpxRAF3_17OcUjNTaffPnyyonpxRAF3_17OaUjNTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_014VNTaffPnyyonpxRAF3_17OcUjNTaffPnyyonpxRAF3_17OaUjNTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -3213,7 +3213,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_012OcUjTaffKgen15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_012OcUjTaffKgenRAF4_9VTaffKgenRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_012OcUjTaffKgenRAF4_9VTaffKgenRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_012OcUjTaffKgenRAF4_9VTaffKgenRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_012OcUjTaffKgenRAF4_9VTaffKgenRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -3223,7 +3223,7 @@
 b__MGIA7naqebvq8uneqjner4taff4I1_012OaUjTaffKgenR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_017VNTaffEvyPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_20OcUjNTaffEvyPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_017VNTaffEvyPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_20OcUjNTaffEvyPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_017VNTaffEvyPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_20OcUjNTaffEvyPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_017VNTaffEvyPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_20OcUjNTaffEvyPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -3283,7 +3283,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_012OcUjNTaffEvy11frgPnyyonpxREXAF_2fcVAF2_17VNTaffEvyPnyyonpxRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_06VNTaffRAF3_9OcUjNTaffRAF3_9OaUjNTaffRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_06VNTaffRAF3_9OcUjNTaffRAF3_9OaUjNTaffRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_06VNTaffRAF3_9OcUjNTaffRAF3_9OaUjNTaffRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_06VNTaffRAF3_9OcUjNTaffRAF3_9OaUjNTaffRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -3463,7 +3463,7 @@
 b__MGIA7naqebvq8uneqjner4taff4I1_016OcUjTaffOngpuvatR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_022OfTaffTrbsraprPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_022OfTaffTrbsraprPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_022OfTaffTrbsraprPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_022OfTaffTrbsraprPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -3498,7 +3498,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_017VNTaffEvyPnyyonpx14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_08OcUjTaffRAF4_5VTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_08OcUjTaffRAF4_5VTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_08OcUjTaffRAF4_5VTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_08OcUjTaffRAF4_5VTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -3523,7 +3523,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_017VTaffKgenPnyyonpx21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_015VTaffTrbsrapvatRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_015VTaffTrbsrapvatRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_015VTaffTrbsrapvatRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_015VTaffTrbsrapvatRiRRAF_2fcVG_RRF8_:
 nop
@@ -3588,7 +3588,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_09OcUjNTaff20_uvqy_qngnPbaaSnvyrqRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_07OfNTaffR0_AF2_6VNTaffR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_07OfNTaffR0_AF2_6VNTaffR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_07OfNTaffR0_AF2_6VNTaffR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_07OfNTaffR0_AF2_6VNTaffR:
 .space __SIZEOF_POINTER__
@@ -3598,7 +3598,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I1_016OaUjTaffOngpuvatR0_AF0_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_014OfTaffPnyyonpxR0_AF2_13VTaffPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_014OfTaffPnyyonpxR0_AF2_13VTaffPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_014OfTaffPnyyonpxR0_AF2_13VTaffPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_014OfTaffPnyyonpxR0_AF2_13VTaffPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -3743,7 +3743,7 @@
 b__MGGA7naqebvq8uneqjner4taff4I1_012OaUjTaffKgenR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_012OcUjNTaffEvyRAF4_9VNTaffEvyRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_012OcUjNTaffEvyRAF4_9VNTaffEvyRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_012OcUjNTaffEvyRAF4_9VNTaffEvyRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_012OcUjNTaffEvyRAF4_9VNTaffEvyRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -3768,7 +3768,7 @@
 b__MGGA7naqebvq8uneqjner4taff4I1_09VTaffKgenR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_07VTaffAvRAF3_10OcUjTaffAvRAF3_10OaUjTaffAvRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_07VTaffAvRAF3_10OcUjTaffAvRAF3_10OaUjTaffAvRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_07VTaffAvRAF3_10OcUjTaffAvRAF3_10OaUjTaffAvRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_07VTaffAvRAF3_10OcUjTaffAvRAF3_10OaUjTaffAvRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -3893,7 +3893,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_08OcUjTaff32_uvqy_trgRkgrafvbaTaffTrbsrapvatRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_06OfTaffR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_06OfTaffR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_06OfTaffR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_06OfTaffR:
 .space __SIZEOF_POINTER__
@@ -3918,7 +3918,7 @@
 b__MGIA7naqebvq8uneqjner4taff4I1_016OcUjTaffPnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_017OfTaffZrnfherzragR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_017OfTaffZrnfherzragR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_017OfTaffZrnfherzragR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_017OfTaffZrnfherzragR:
 .space __SIZEOF_POINTER__
@@ -4028,7 +4028,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_016VTaffZrnfherzrag8pnfgSebzREXAF_2fcVF3_RRo:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_023OfTaffAnivtngvbaZrffntrR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_023OfTaffAnivtngvbaZrffntrR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_023OfTaffAnivtngvbaZrffntrR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_023OfTaffAnivtngvbaZrffntrR:
 .space __SIZEOF_POINTER__
@@ -4053,7 +4053,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_016OaUjTaffOngpuvatP2REXAF_2fcVAF2_13VTaffOngpuvatRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_016OfTaffTrbsrapvatR0_AF2_15VTaffTrbsrapvatR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_016OfTaffTrbsrapvatR0_AF2_15VTaffTrbsrapvatR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_016OfTaffTrbsrapvatR0_AF2_15VTaffTrbsrapvatR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_016OfTaffTrbsrapvatR0_AF2_15VTaffTrbsrapvatR:
 .space __SIZEOF_POINTER__
@@ -4103,7 +4103,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_017OcUjNTaffPnyyonpx12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VNTaffEvyRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VNTaffEvyRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VNTaffEvyRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VNTaffEvyRiRRAF_2fcVG_RRF8_:
 nop
@@ -4133,7 +4133,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner4taff4I1_012OaUjNTaffEvyQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_015VTaffTrbsrapvatRAF3_18OcUjTaffTrbsrapvatRAF3_18OaUjTaffTrbsrapvatRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_015VTaffTrbsrapvatRAF3_18OcUjTaffTrbsrapvatRAF3_18OaUjTaffTrbsrapvatRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_015VTaffTrbsrapvatRAF3_18OcUjTaffTrbsrapvatRAF3_18OaUjTaffTrbsrapvatRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_015VTaffTrbsrapvatRAF3_18OcUjTaffTrbsrapvatRAF3_18OaUjTaffTrbsrapvatRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -4143,12 +4143,12 @@
 b__MA7naqebvq8uneqjner4taff4I1_013OcUjTaffQrohtP1REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_014OfTaffOngpuvatR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_014OfTaffOngpuvatR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_014OfTaffOngpuvatR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_014OfTaffOngpuvatR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_023OfTaffAnivtngvbaZrffntrR0_AF2_22VTaffAnivtngvbaZrffntrR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_023OfTaffAnivtngvbaZrffntrR0_AF2_22VTaffAnivtngvbaZrffntrR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_023OfTaffAnivtngvbaZrffntrR0_AF2_22VTaffAnivtngvbaZrffntrR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_023OfTaffAnivtngvbaZrffntrR0_AF2_22VTaffAnivtngvbaZrffntrR:
 .space __SIZEOF_POINTER__
@@ -4253,7 +4253,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_030VTaffAnivtngvbaZrffntrPnyyonpx4cvatRi:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_014OfTaffOngpuvatR0_AF2_13VTaffOngpuvatR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_014OfTaffOngpuvatR0_AF2_13VTaffOngpuvatR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_014OfTaffOngpuvatR0_AF2_13VTaffOngpuvatR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_014OfTaffOngpuvatR0_AF2_13VTaffOngpuvatR:
 .space __SIZEOF_POINTER__
@@ -4278,7 +4278,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_014VNTaffPnyyonpx21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_013VTaffOngpuvatRAF3_16OcUjTaffOngpuvatRAF3_16OaUjTaffOngpuvatRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_013VTaffOngpuvatRAF3_16OcUjTaffOngpuvatRAF3_16OaUjTaffOngpuvatRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_013VTaffOngpuvatRAF3_16OcUjTaffOngpuvatRAF3_16OaUjTaffOngpuvatRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_013VTaffOngpuvatRAF3_16OcUjTaffOngpuvatRAF3_16OaUjTaffOngpuvatRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -4408,7 +4408,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_013VTaffOngpuvat13hayvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRAF3_27OcUjTaffZrnfherzragPnyyonpxRAF3_27OaUjTaffZrnfherzragPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRAF3_27OcUjTaffZrnfherzragPnyyonpxRAF3_27OaUjTaffZrnfherzragPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRAF3_27OcUjTaffZrnfherzragPnyyonpxRAF3_27OaUjTaffZrnfherzragPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRAF3_27OcUjTaffZrnfherzragPnyyonpxRAF3_27OaUjTaffZrnfherzragPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -4423,7 +4423,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_010OcUjTaffAv11frgPnyyonpxREXAF_2fcVAF2_15VTaffAvPnyyonpxRRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_014OfTaffPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_014OfTaffPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_014OfTaffPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_014OfTaffPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -4448,12 +4448,12 @@
 b__MA7naqebvq8uneqjner4taff4I1_016OcUjTaffOngpuvat5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_017VTaffKgenPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_20OcUjTaffKgenPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_017VTaffKgenPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_20OcUjTaffKgenPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_017VTaffKgenPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_20OcUjTaffKgenPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_017VTaffKgenPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_20OcUjTaffKgenPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -4463,7 +4463,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_08OaUjTaff4cvatRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_024OcUjTaffOngpuvatPnyyonpxRAF4_21VTaffOngpuvatPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_024OcUjTaffOngpuvatPnyyonpxRAF4_21VTaffOngpuvatPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_024OcUjTaffOngpuvatPnyyonpxRAF4_21VTaffOngpuvatPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_024OcUjTaffOngpuvatPnyyonpxRAF4_21VTaffOngpuvatPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -4488,7 +4488,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_017VNTaffEvyPnyyonpx10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_010VTaffQrohtRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_010VTaffQrohtRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_010VTaffQrohtRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_010VTaffQrohtRRnFRBF5_:
 nop
@@ -4598,12 +4598,12 @@
 b__MA7naqebvq8uneqjner4taff4I1_021OcUjTaffPbasvthengvba11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_018VTaffPbasvthengvbaRAF_4uvqy4onfr4I1_05VOnfrRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_018VTaffPbasvthengvbaRAF_4uvqy4onfr4I1_05VOnfrRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_018VTaffPbasvthengvbaRAF_4uvqy4onfr4I1_05VOnfrRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_018VTaffPbasvthengvbaRAF_4uvqy4onfr4I1_05VOnfrRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_011OfTaffQrohtR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_011OfTaffQrohtR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_011OfTaffQrohtR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_011OfTaffQrohtR:
 .space __SIZEOF_POINTER__
@@ -4648,7 +4648,7 @@
 b__MGIA7naqebvq8uneqjner4taff4I1_016OaUjTaffPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_030VTaffAnivtngvbaZrffntrPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_33OcUjTaffAnivtngvbaZrffntrPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_030VTaffAnivtngvbaZrffntrPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_33OcUjTaffAnivtngvbaZrffntrPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_030VTaffAnivtngvbaZrffntrPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_33OcUjTaffAnivtngvbaZrffntrPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_030VTaffAnivtngvbaZrffntrPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_33OcUjTaffAnivtngvbaZrffntrPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -4673,7 +4673,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_09OcUjNTaff17_uvqy_frgPnyyonpxRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeREXAF_2fcVAF2_14VNTaffPnyyonpxRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_014VNTaffPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_014VNTaffPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_014VNTaffPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_014VNTaffPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -4763,7 +4763,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_012OaUjNTaffEvyQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_018VTaffPbasvthengvbaRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_018VTaffPbasvthengvbaRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_018VTaffPbasvthengvbaRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_018VTaffPbasvthengvbaRRnFRBF5_:
 nop
@@ -4928,7 +4928,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_027OaUjTaffZrnfherzragPnyyonpxP2REXAF_2fcVAF2_24VTaffZrnfherzragPnyyonpxRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_015OfNTaffPnyyonpxR0_AF2_14VNTaffPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_015OfNTaffPnyyonpxR0_AF2_14VNTaffPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_015OfNTaffPnyyonpxR0_AF2_14VNTaffPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_015OfNTaffPnyyonpxR0_AF2_14VNTaffPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -4998,7 +4998,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_018OcUjTaffAvPnyyonpx11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_015VTaffAvPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_18OcUjTaffAvPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_015VTaffAvPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_18OcUjTaffAvPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_015VTaffAvPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_18OcUjTaffAvPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_015VTaffAvPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_18OcUjTaffAvPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -5008,12 +5008,12 @@
 b__MGi0_a24_A7naqebvq8uneqjner4taff4I1_018OaUjTaffAvPnyyonpxQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_021VTaffOngpuvatPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_24OcUjTaffOngpuvatPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_021VTaffOngpuvatPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_24OcUjTaffOngpuvatPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_021VTaffOngpuvatPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_24OcUjTaffOngpuvatPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_021VTaffOngpuvatPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_24OcUjTaffOngpuvatPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VTaffKgenRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VTaffKgenRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VTaffKgenRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VTaffKgenRiRRAF_2fcVG_RRF8_:
 nop
@@ -5088,7 +5088,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_06VNTaff19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_07OfNTaffR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_07OfNTaffR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_07OfNTaffR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_07OfNTaffR:
 .space __SIZEOF_POINTER__
@@ -5108,7 +5108,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_021VTaffTrbsraprPnyyonpx17ertvfgreNfFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_010OfTaffKgenR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_010OfTaffKgenR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_010OfTaffKgenR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_010OfTaffKgenR:
 .space __SIZEOF_POINTER__
@@ -5158,7 +5158,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I1_017OaUjNTaffPnyyonpxR0_AF_4uvqy4onfr4I1_08OaUjOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_015VTaffTrbsrapvatRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_015VTaffTrbsrapvatRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_015VTaffTrbsrapvatRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_015VTaffTrbsrapvatRRnFRBF5_:
 nop
@@ -5268,7 +5268,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_010OaUjTaffAv17_uvqy_frgPnyyonpxRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_08OfTaffAvR0_AF2_7VTaffAvR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_08OfTaffAvR0_AF2_7VTaffAvR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_08OfTaffAvR0_AF2_7VTaffAvR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_08OfTaffAvR0_AF2_7VTaffAvR:
 .space __SIZEOF_POINTER__
@@ -5313,7 +5313,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_018OfNTaffEvyPnyyonpxP1RAF_2fcVAF2_17VNTaffEvyPnyyonpxRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_022OfTaffOngpuvatPnyyonpxR0_AF2_21VTaffOngpuvatPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_022OfTaffOngpuvatPnyyonpxR0_AF2_21VTaffOngpuvatPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_022OfTaffOngpuvatPnyyonpxR0_AF2_21VTaffOngpuvatPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_022OfTaffOngpuvatPnyyonpxR0_AF2_21VTaffOngpuvatPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -5323,7 +5323,7 @@
 b__MGGA7naqebvq8uneqjner4taff4I1_030VTaffAnivtngvbaZrffntrPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_07VTaffAvRAF_4uvqy4onfr4I1_05VOnfrRAF4_10OcUjTaffAvRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_07VTaffAvRAF_4uvqy4onfr4I1_05VOnfrRAF4_10OcUjTaffAvRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_07VTaffAvRAF_4uvqy4onfr4I1_05VOnfrRAF4_10OcUjTaffAvRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_07VTaffAvRAF_4uvqy4onfr4I1_05VOnfrRAF4_10OcUjTaffAvRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -5398,7 +5398,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_020OcUjTaffKgenPnyyonpx23_uvqy_qbjaybnqErdhrfgPoRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_010VTaffQrohtRAF_4uvqy4onfr4I1_05VOnfrRAF4_13OcUjTaffQrohtRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_010VTaffQrohtRAF_4uvqy4onfr4I1_05VOnfrRAF4_13OcUjTaffQrohtRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_010VTaffQrohtRAF_4uvqy4onfr4I1_05VOnfrRAF4_13OcUjTaffQrohtRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_010VTaffQrohtRAF_4uvqy4onfr4I1_05VOnfrRAF4_13OcUjTaffQrohtRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -5433,7 +5433,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_013VTaffOngpuvat8pnfgSebzREXAF_2fcVF3_RRo:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_025OfTaffZrnfherzragPnyyonpxR0_AF2_24VTaffZrnfherzragPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_025OfTaffZrnfherzragPnyyonpxR0_AF2_24VTaffZrnfherzragPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_025OfTaffZrnfherzragPnyyonpxR0_AF2_24VTaffZrnfherzragPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_025OfTaffZrnfherzragPnyyonpxR0_AF2_24VTaffZrnfherzragPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -5468,7 +5468,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_017VTaffKgenPnyyonpx8pnfgSebzREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRRo:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_013VTaffOngpuvatRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_013VTaffOngpuvatRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_013VTaffOngpuvatRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_013VTaffOngpuvatRRnFRBF5_:
 nop
@@ -5498,7 +5498,7 @@
 b__MGua16_A7naqebvq8uneqjner4taff4I1_020OcUjNTaffEvyPnyyonpx15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_021VTaffOngpuvatPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_021VTaffOngpuvatPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_021VTaffOngpuvatPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_021VTaffOngpuvatPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -5543,7 +5543,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_017OcUjNTaffPnyyonpx15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_021VTaffTrbsraprPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_24OcUjTaffTrbsraprPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_021VTaffTrbsraprPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_24OcUjTaffTrbsraprPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_021VTaffTrbsraprPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_24OcUjTaffTrbsraprPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_021VTaffTrbsraprPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_24OcUjTaffTrbsraprPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -5638,7 +5638,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_016OcUjTaffPnyyonpx21taffNpdhverJnxrybpxPoRi:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_011OfTaffQrohtR0_AF2_10VTaffQrohtR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_011OfTaffQrohtR0_AF2_10VTaffQrohtR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_011OfTaffQrohtR0_AF2_10VTaffQrohtR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_011OfTaffQrohtR0_AF2_10VTaffQrohtR:
 .space __SIZEOF_POINTER__
@@ -5668,7 +5668,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_021OaUjTaffPbasvthengvba15_uvqy_frgFhcyRfRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_015VTaffAvPnyyonpxRAF3_18OcUjTaffAvPnyyonpxRAF3_18OaUjTaffAvPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_015VTaffAvPnyyonpxRAF3_18OcUjTaffAvPnyyonpxRAF3_18OaUjTaffAvPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_015VTaffAvPnyyonpxRAF3_18OcUjTaffAvPnyyonpxRAF3_18OaUjTaffAvPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_015VTaffAvPnyyonpxRAF3_18OcUjTaffAvPnyyonpxRAF3_18OaUjTaffAvPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -5758,7 +5758,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_018VTaffPbasvthengvba10trgFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_015VTaffTrbsrapvatRAF_4uvqy4onfr4I1_05VOnfrRAF4_18OcUjTaffTrbsrapvatRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_015VTaffTrbsrapvatRAF_4uvqy4onfr4I1_05VOnfrRAF4_18OcUjTaffTrbsrapvatRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_015VTaffTrbsrapvatRAF_4uvqy4onfr4I1_05VOnfrRAF4_18OcUjTaffTrbsrapvatRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_015VTaffTrbsrapvatRAF_4uvqy4onfr4I1_05VOnfrRAF4_18OcUjTaffTrbsrapvatRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -5768,7 +5768,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_033OcUjTaffAnivtngvbaZrffntrPnyyonpx4cvatRi:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_08OfTaffAvR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_08OfTaffAvR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_08OfTaffAvR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_08OfTaffAvR:
 .space __SIZEOF_POINTER__
@@ -5833,12 +5833,12 @@
 b__MGGA7naqebvq8uneqjner4taff4I1_012OaUjNTaffEvyR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_013VTaffPnyyonpxRAF3_16OcUjTaffPnyyonpxRAF3_16OaUjTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_013VTaffPnyyonpxRAF3_16OcUjTaffPnyyonpxRAF3_16OaUjTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_013VTaffPnyyonpxRAF3_16OcUjTaffPnyyonpxRAF3_16OaUjTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_013VTaffPnyyonpxRAF3_16OcUjTaffPnyyonpxRAF3_16OaUjTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_07VTaffAvRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_07VTaffAvRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_07VTaffAvRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_07VTaffAvRiRRAF_2fcVG_RRF8_:
 nop
@@ -5853,7 +5853,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_013VTaffPnyyonpx17ertvfgreNfFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_019OcUjTaffZrnfherzragRAF4_16VTaffZrnfherzragRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_019OcUjTaffZrnfherzragRAF4_16VTaffZrnfherzragRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_019OcUjTaffZrnfherzragRAF4_16VTaffZrnfherzragRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_019OcUjTaffZrnfherzragRAF4_16VTaffZrnfherzragRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -5903,7 +5903,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_017OcUjNTaffPnyyonpxP1REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_017VNTaffEvyPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_017VNTaffEvyPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_017VNTaffEvyPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_017VNTaffEvyPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -5913,7 +5913,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_020OaUjNTaffEvyPnyyonpxQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRiRRAF_2fcVG_RRF8_:
 nop
@@ -5938,7 +5938,7 @@
 b__MGIA7naqebvq8uneqjner4taff4I1_017OaUjNTaffPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -5953,12 +5953,12 @@
 b__MA7naqebvq8uneqjner4taff4I1_021OcUjTaffPbasvthengvba16_uvqy_frgTcfYbpxRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRu:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_021VTaffOngpuvatPnyyonpxRAF3_24OcUjTaffOngpuvatPnyyonpxRAF3_24OaUjTaffOngpuvatPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_021VTaffOngpuvatPnyyonpxRAF3_24OcUjTaffOngpuvatPnyyonpxRAF3_24OaUjTaffOngpuvatPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_021VTaffOngpuvatPnyyonpxRAF3_24OcUjTaffOngpuvatPnyyonpxRAF3_24OaUjTaffOngpuvatPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_021VTaffOngpuvatPnyyonpxRAF3_24OcUjTaffOngpuvatPnyyonpxRAF3_24OaUjTaffOngpuvatPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -6153,7 +6153,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I1_08OcUjTaffR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_021OcUjTaffPbasvthengvbaRAF4_18VTaffPbasvthengvbaRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_021OcUjTaffPbasvthengvbaRAF4_18VTaffPbasvthengvbaRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_021OcUjTaffPbasvthengvbaRAF4_18VTaffPbasvthengvbaRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_021OcUjTaffPbasvthengvbaRAF4_18VTaffPbasvthengvbaRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -6258,7 +6258,7 @@
 b__MGGA7naqebvq8uneqjner4taff4I1_012OcUjTaffKgenR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_017OcUjNTaffPnyyonpxRAF4_14VNTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_017OcUjNTaffPnyyonpxRAF4_14VNTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_017OcUjNTaffPnyyonpxRAF4_14VNTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_017OcUjNTaffPnyyonpxRAF4_14VNTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -6313,7 +6313,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_021OaUjTaffPbasvthengvbaQ0Ri:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_019OfTaffPbasvthengvbaR0_AF2_18VTaffPbasvthengvbaR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_019OfTaffPbasvthengvbaR0_AF2_18VTaffPbasvthengvbaR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_019OfTaffPbasvthengvbaR0_AF2_18VTaffPbasvthengvbaR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_019OfTaffPbasvthengvbaR0_AF2_18VTaffPbasvthengvbaR:
 .space __SIZEOF_POINTER__
@@ -6353,7 +6353,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_020OcUjTaffKgenPnyyonpx21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_09VNTaffEvyRAF3_12OcUjNTaffEvyRAF3_12OaUjNTaffEvyRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_09VNTaffEvyRAF3_12OcUjNTaffEvyRAF3_12OaUjNTaffEvyRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_09VNTaffEvyRAF3_12OcUjNTaffEvyRAF3_12OaUjNTaffEvyRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_09VNTaffEvyRAF3_12OcUjNTaffEvyRAF3_12OaUjNTaffEvyRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -6378,7 +6378,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_022VTaffAnivtngvbaZrffntr21abgvslFlfcebcfPunatrqRi:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_031OfTaffAnivtngvbaZrffntrPnyyonpxR0_AF2_30VTaffAnivtngvbaZrffntrPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_031OfTaffAnivtngvbaZrffntrPnyyonpxR0_AF2_30VTaffAnivtngvbaZrffntrPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_031OfTaffAnivtngvbaZrffntrPnyyonpxR0_AF2_30VTaffAnivtngvbaZrffntrPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_031OfTaffAnivtngvbaZrffntrPnyyonpxR0_AF2_30VTaffAnivtngvbaZrffntrPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -6523,7 +6523,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_033OcUjTaffAnivtngvbaZrffntrPnyyonpx21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_017VTaffKgenPnyyonpxRAF3_20OcUjTaffKgenPnyyonpxRAF3_20OaUjTaffKgenPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_017VTaffKgenPnyyonpxRAF3_20OcUjTaffKgenPnyyonpxRAF3_20OaUjTaffKgenPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_017VTaffKgenPnyyonpxRAF3_20OcUjTaffKgenPnyyonpxRAF3_20OaUjTaffKgenPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_017VTaffKgenPnyyonpxRAF3_20OcUjTaffKgenPnyyonpxRAF3_20OaUjTaffKgenPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -6543,7 +6543,7 @@
 b__MGGA7naqebvq8uneqjner4taff4I1_033OaUjTaffAnivtngvbaZrffntrPnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_018OfTaffKgenPnyyonpxR0_AF2_17VTaffKgenPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_018OfTaffKgenPnyyonpxR0_AF2_17VTaffKgenPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_018OfTaffKgenPnyyonpxR0_AF2_17VTaffKgenPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_018OfTaffKgenPnyyonpxR0_AF2_17VTaffKgenPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -6563,7 +6563,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_08OaUjTaff10baGenafnpgRwEXAF0_6CnepryRCF4_wAFg3__18shapgvbaVSiEF4_RRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_018VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_018VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_018VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_018VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_:
 nop
@@ -6693,7 +6693,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_019OaUjTaffZrnfherzrag10baGenafnpgRwEXAF0_6CnepryRCF4_wAFg3__18shapgvbaVSiEF4_RRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_025OcUjTaffAnivtngvbaZrffntrRAF4_22VTaffAnivtngvbaZrffntrRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_025OcUjTaffAnivtngvbaZrffntrRAF4_22VTaffAnivtngvbaZrffntrRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_025OcUjTaffAnivtngvbaZrffntrRAF4_22VTaffAnivtngvbaZrffntrRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_025OcUjTaffAnivtngvbaZrffntrRAF4_22VTaffAnivtngvbaZrffntrRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -6883,7 +6883,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_020OcUjNTaffEvyPnyyonpx21_uvqy_erdhrfgErsYbpPoRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_06OfTaffR0_AF2_5VTaffR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_06OfTaffR0_AF2_5VTaffR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_06OfTaffR0_AF2_5VTaffR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_06OfTaffR0_AF2_5VTaffR:
 .space __SIZEOF_POINTER__
@@ -6958,7 +6958,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_020OcUjNTaffEvyPnyyonpx12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_013VTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_013VTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_013VTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_013VTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -6968,12 +6968,12 @@
 b__MA7naqebvq8uneqjner4taff4I1_07OfNTaff13nqqBarjnlGnfxRAFg3__18shapgvbaVSiiRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_014VNTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_17OcUjNTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_014VNTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_17OcUjNTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_014VNTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_17OcUjNTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_014VNTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_17OcUjNTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_09VNTaffEvyRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjNTaffEvyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_09VNTaffEvyRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjNTaffEvyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_09VNTaffEvyRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjNTaffEvyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_09VNTaffEvyRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjNTaffEvyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -7063,7 +7063,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_012OcUjNTaffEvy8frgFrgVqRAF2_9VNTaffEvy9FrgVQGlcrREXAF0_11uvqy_fgevatR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRAF3_25OcUjTaffAnivtngvbaZrffntrRAF3_25OaUjTaffAnivtngvbaZrffntrRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRAF3_25OcUjTaffAnivtngvbaZrffntrRAF3_25OaUjTaffAnivtngvbaZrffntrRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRAF3_25OcUjTaffAnivtngvbaZrffntrRAF3_25OaUjTaffAnivtngvbaZrffntrRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRAF3_25OcUjTaffAnivtngvbaZrffntrRAF3_25OaUjTaffAnivtngvbaZrffntrRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -7078,12 +7078,12 @@
 b__MA7naqebvq8uneqjner4taff4I1_013VTaffPnyyonpx4cvatRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_033OcUjTaffAnivtngvbaZrffntrPnyyonpxRAF4_30VTaffAnivtngvbaZrffntrPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_033OcUjTaffAnivtngvbaZrffntrPnyyonpxRAF4_30VTaffAnivtngvbaZrffntrPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_033OcUjTaffAnivtngvbaZrffntrPnyyonpxRAF4_30VTaffAnivtngvbaZrffntrPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_033OcUjTaffAnivtngvbaZrffntrPnyyonpxRAF4_30VTaffAnivtngvbaZrffntrPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_010OfNTaffEvyR0_AF2_9VNTaffEvyR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_010OfNTaffEvyR0_AF2_9VNTaffEvyR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_010OfNTaffEvyR0_AF2_9VNTaffEvyR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_010OfNTaffEvyR0_AF2_9VNTaffEvyR:
 .space __SIZEOF_POINTER__
@@ -7103,7 +7103,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_021VTaffTrbsraprPnyyonpx21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_030VTaffAnivtngvbaZrffntrPnyyonpxRAF3_33OcUjTaffAnivtngvbaZrffntrPnyyonpxRAF3_33OaUjTaffAnivtngvbaZrffntrPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_030VTaffAnivtngvbaZrffntrPnyyonpxRAF3_33OcUjTaffAnivtngvbaZrffntrPnyyonpxRAF3_33OaUjTaffAnivtngvbaZrffntrPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_030VTaffAnivtngvbaZrffntrPnyyonpxRAF3_33OcUjTaffAnivtngvbaZrffntrPnyyonpxRAF3_33OaUjTaffAnivtngvbaZrffntrPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_030VTaffAnivtngvbaZrffntrPnyyonpxRAF3_33OcUjTaffAnivtngvbaZrffntrPnyyonpxRAF3_33OaUjTaffAnivtngvbaZrffntrPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -7163,7 +7163,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_018OcUjTaffTrbsrapvat5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_018OfTaffKgenPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_018OfTaffKgenPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_018OfTaffKgenPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_018OfTaffKgenPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -7273,7 +7273,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_010OfTaffKgen13nqqBarjnlGnfxRAFg3__18shapgvbaVSiiRRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_010OfNTaffEvyR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_010OfNTaffEvyR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_010OfNTaffEvyR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_010OfNTaffEvyR:
 .space __SIZEOF_POINTER__
@@ -7298,7 +7298,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_06VNTaff12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -7528,7 +7528,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_017VTaffKgenPnyyonpx11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_09OcUjNTaffRAF4_6VNTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_09OcUjNTaffRAF4_6VNTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_09OcUjNTaffRAF4_6VNTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_09OcUjNTaffRAF4_6VNTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -7618,7 +7618,7 @@
 b__MGIA7naqebvq8uneqjner4taff4I1_017VNTaffEvyPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_06VNTaffRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_06VNTaffRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_06VNTaffRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_06VNTaffRRnFRBF5_:
 nop
@@ -7633,7 +7633,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_06VNTaff4cvatRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_013OcUjTaffQrohtRAF4_10VTaffQrohtRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_013OcUjTaffQrohtRAF4_10VTaffQrohtRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_013OcUjTaffQrohtRAF4_10VTaffQrohtRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_013OcUjTaffQrohtRAF4_10VTaffQrohtRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -7683,12 +7683,12 @@
 b__MGua32_A7naqebvq8uneqjner4taff4I1_024OaUjTaffTrbsraprPnyyonpxQ0Ri:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_015OfNTaffPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_015OfNTaffPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_015OfNTaffPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_015OfNTaffPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_010VTaffQrohtRAF3_13OcUjTaffQrohtRAF3_13OaUjTaffQrohtRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_010VTaffQrohtRAF3_13OcUjTaffQrohtRAF3_13OaUjTaffQrohtRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_010VTaffQrohtRAF3_13OcUjTaffQrohtRAF3_13OaUjTaffQrohtRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_010VTaffQrohtRAF3_13OcUjTaffQrohtRAF3_13OaUjTaffQrohtRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -7738,7 +7738,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner4taff4I1_020OaUjTaffKgenPnyyonpxQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_06VNTaffRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_06VNTaffRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_06VNTaffRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_06VNTaffRiRRAF_2fcVG_RRF8_:
 nop
@@ -7818,7 +7818,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I1_012OcUjTaffKgenR16_AF0_11OcUjErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -7833,7 +7833,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_010VTaffQroht24ertvfgreSbeAbgvsvpngvbafREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRREXAF_2fcVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_018OcUjTaffAvPnyyonpxRAF4_15VTaffAvPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_018OcUjTaffAvPnyyonpxRAF4_15VTaffAvPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_018OcUjTaffAvPnyyonpxRAF4_15VTaffAvPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_018OcUjTaffAvPnyyonpxRAF4_15VTaffAvPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -7893,7 +7893,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_08OcUjTaff10vawrpgGvzrRyyv:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_05VTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_05VTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_05VTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_05VTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -8033,7 +8033,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_012OcUjNTaffEvy17_uvqy_frgPnyyonpxRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeREXAF_2fcVAF2_17VNTaffEvyPnyyonpxRRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_022OfTaffOngpuvatPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_022OfTaffOngpuvatPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_022OfTaffOngpuvatPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_022OfTaffOngpuvatPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -8053,7 +8053,7 @@
 b__MGGA7naqebvq8uneqjner4taff4I1_018OaUjTaffTrbsrapvatR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_016OfTaffTrbsrapvatR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_016OfTaffTrbsrapvatR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_016OfTaffTrbsrapvatR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_016OfTaffTrbsrapvatR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_040.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_040.S
index 5c36068..236c876 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_040.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_040.S
@@ -58,7 +58,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_18OcUjTaff16trgRkgrafvbaKgenRi:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_16OfTaffR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_16OfTaffR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_16OfTaffR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_16OfTaffR:
 .space __SIZEOF_POINTER__
@@ -83,7 +83,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I1_18OcUjTaffR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_119OfTaffPbasvthengvbaR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_119OfTaffPbasvthengvbaR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_119OfTaffPbasvthengvbaR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_119OfTaffPbasvthengvbaR:
 .space __SIZEOF_POINTER__
@@ -93,7 +93,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_124VTaffZrnfherzragPnyyonpx4cvatRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_113VTaffPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_113VTaffPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_113VTaffPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_113VTaffPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -103,12 +103,12 @@
 b__MA7naqebvq8uneqjner4taff4I1_117OfTaffZrnfherzrag13nqqBarjnlGnfxRAFg3__18shapgvbaVSiiRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_18OcUjTaffRAF4_5VTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_18OcUjTaffRAF4_5VTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_18OcUjTaffRAF4_5VTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_18OcUjTaffRAF4_5VTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -133,7 +133,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_127OcUjTaffZrnfherzragPnyyonpx11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -173,7 +173,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_18OcUjTaff19frgCbfvgvbaZbqr_1_1RAF1_4I1_05VTaff16TaffCbfvgvbaZbqrRAF5_22TaffCbfvgvbaErpheeraprRwwwo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_018VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_018VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_018VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_018VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_:
 nop
@@ -193,7 +193,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_118VTaffPbasvthengvba10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -288,7 +288,7 @@
 b__MGGA7naqebvq8uneqjner4taff4I1_113VTaffPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -298,7 +298,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_119OaUjTaffZrnfherzragQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_127OcUjTaffZrnfherzragPnyyonpxRAF4_24VTaffZrnfherzragPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_127OcUjTaffZrnfherzragPnyyonpxRAF4_24VTaffZrnfherzragPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_127OcUjTaffZrnfherzragPnyyonpxRAF4_24VTaffZrnfherzragPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_127OcUjTaffZrnfherzragPnyyonpxRAF4_24VTaffZrnfherzragPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -318,7 +318,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_18OcUjTaff33trgRkgrafvbaTaffAnivtngvbaZrffntrRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VNTaffEvyRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VNTaffEvyRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VNTaffEvyRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VNTaffEvyRiRRAF_2fcVG_RRF8_:
 nop
@@ -328,7 +328,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner4taff4I1_18OaUjTaffQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_118VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_118VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_118VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_118VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_:
 nop
@@ -448,7 +448,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_18OcUjTaff10vawrpgGvzrRyyv:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_116VTaffZrnfherzragRAF3_4I1_016VTaffZrnfherzragRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_116VTaffZrnfherzragRAF3_4I1_016VTaffZrnfherzragRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_116VTaffZrnfherzragRAF3_4I1_016VTaffZrnfherzragRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_116VTaffZrnfherzragRAF3_4I1_016VTaffZrnfherzragRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -478,7 +478,7 @@
 b__MGGA7naqebvq8uneqjner4taff4I1_18OaUjTaffR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_116OcUjTaffPnyyonpxRAF4_13VTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_116OcUjTaffPnyyonpxRAF4_13VTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_116OcUjTaffPnyyonpxRAF4_13VTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_116OcUjTaffPnyyonpxRAF4_13VTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -493,7 +493,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_124VTaffZrnfherzragPnyyonpx12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffOngpuvatRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffOngpuvatRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffOngpuvatRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffOngpuvatRiRRAF_2fcVG_RRF8_:
 nop
@@ -518,7 +518,7 @@
 b__MGIA7naqebvq8uneqjner4taff4I1_18OaUjTaffR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_113VTaffPnyyonpxRAF3_16OcUjTaffPnyyonpxRAF3_16OaUjTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_113VTaffPnyyonpxRAF3_16OcUjTaffPnyyonpxRAF3_16OaUjTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_113VTaffPnyyonpxRAF3_16OcUjTaffPnyyonpxRAF3_16OaUjTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_113VTaffPnyyonpxRAF3_16OcUjTaffPnyyonpxRAF3_16OaUjTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -528,7 +528,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_18OcUjTaff19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_114OfTaffPnyyonpxR0_AF2_13VTaffPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_114OfTaffPnyyonpxR0_AF2_13VTaffPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_114OfTaffPnyyonpxR0_AF2_13VTaffPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_114OfTaffPnyyonpxR0_AF2_13VTaffPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -553,12 +553,12 @@
 b__MA7naqebvq8uneqjner4taff4I1_116VTaffZrnfherzrag17ertvfgreNfFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRAF3_4I1_024VTaffZrnfherzragPnyyonpxRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRAF3_4I1_024VTaffZrnfherzragPnyyonpxRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRAF3_4I1_024VTaffZrnfherzragPnyyonpxRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRAF3_4I1_024VTaffZrnfherzragPnyyonpxRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_15VTaffRAF3_4I1_05VTaffRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_15VTaffRAF3_4I1_05VTaffRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_15VTaffRAF3_4I1_05VTaffRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_15VTaffRAF3_4I1_05VTaffRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -603,7 +603,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_18OcUjTaff15frgCbfvgvbaZbqrRAF1_4I1_05VTaff16TaffCbfvgvbaZbqrRAF5_22TaffCbfvgvbaErpheeraprRwww:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -613,7 +613,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_116VTaffZrnfherzrag21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -633,7 +633,7 @@
 b__MGi0_a40_A7naqebvq8uneqjner4taff4I1_127OcUjTaffZrnfherzragPnyyonpx15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_121OcUjTaffPbasvthengvbaRAF4_18VTaffPbasvthengvbaRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_121OcUjTaffPbasvthengvbaRAF4_18VTaffPbasvthengvbaRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_121OcUjTaffPbasvthengvbaRAF4_18VTaffPbasvthengvbaRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_121OcUjTaffPbasvthengvbaRAF4_18VTaffPbasvthengvbaRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -658,12 +658,12 @@
 b__MA7naqebvq8uneqjner4taff4I1_15VTaff4cvatRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_010VTaffQrohtRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_010VTaffQrohtRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_010VTaffQrohtRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_010VTaffQrohtRiRRAF_2fcVG_RRF8_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRiRRAF_2fcVG_RRF8_:
 nop
@@ -678,7 +678,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_124VTaffZrnfherzragPnyyonpx10trgFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VTaffKgenRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VTaffKgenRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VTaffKgenRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VTaffKgenRiRRAF_2fcVG_RRF8_:
 nop
@@ -743,7 +743,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I1_124VTaffZrnfherzragPnyyonpxR0_AF1_4I1_024VTaffZrnfherzragPnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_125OfTaffZrnfherzragPnyyonpxR0_AF2_24VTaffZrnfherzragPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_125OfTaffZrnfherzragPnyyonpxR0_AF2_24VTaffZrnfherzragPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_125OfTaffZrnfherzragPnyyonpxR0_AF2_24VTaffZrnfherzragPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_125OfTaffZrnfherzragPnyyonpxR0_AF2_24VTaffZrnfherzragPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -763,7 +763,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_118VTaffPbasvthengvba11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_113VTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_113VTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_113VTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_113VTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -868,7 +868,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_127OcUjTaffZrnfherzragPnyyonpx4cvatRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_06VNTaffRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_06VNTaffRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_06VNTaffRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_06VNTaffRiRRAF_2fcVG_RRF8_:
 nop
@@ -883,7 +883,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_124VTaffZrnfherzragPnyyonpx10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_116VTaffZrnfherzragRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_116VTaffZrnfherzragRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_116VTaffZrnfherzragRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_116VTaffZrnfherzragRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -1048,7 +1048,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_118VTaffPbasvthengvba8pnfgSebzREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_118VTaffPbasvthengvbaRAF_4uvqy4onfr4I1_05VOnfrRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_118VTaffPbasvthengvbaRAF_4uvqy4onfr4I1_05VOnfrRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_118VTaffPbasvthengvbaRAF_4uvqy4onfr4I1_05VOnfrRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_118VTaffPbasvthengvbaRAF_4uvqy4onfr4I1_05VOnfrRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -1113,7 +1113,7 @@
 b__MGIA7naqebvq8uneqjner4taff4I1_127OcUjTaffZrnfherzragPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -1123,7 +1123,7 @@
 b__MGua16_A7naqebvq8uneqjner4taff4I1_18OcUjTaff15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_118VTaffPbasvthengvbaRAF3_4I1_018VTaffPbasvthengvbaRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_118VTaffPbasvthengvbaRAF3_4I1_018VTaffPbasvthengvbaRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_118VTaffPbasvthengvbaRAF3_4I1_018VTaffPbasvthengvbaRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_118VTaffPbasvthengvbaRAF3_4I1_018VTaffPbasvthengvbaRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -1133,7 +1133,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_116VTaffZrnfherzrag5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_119OcUjTaffZrnfherzragRAF4_16VTaffZrnfherzragRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_119OcUjTaffZrnfherzragRAF4_16VTaffZrnfherzragRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_119OcUjTaffZrnfherzragRAF4_16VTaffZrnfherzragRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I1_119OcUjTaffZrnfherzragRAF4_16VTaffZrnfherzragRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -1163,7 +1163,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_122ernqRzorqqrqSebzCnepryREXAF2_24VTaffZrnfherzragPnyyonpx8TaffQngnREXAF0_6CnepryRzz:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_116VTaffZrnfherzragRAF3_19OcUjTaffZrnfherzragRAF3_19OaUjTaffZrnfherzragRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_116VTaffZrnfherzragRAF3_19OcUjTaffZrnfherzragRAF3_19OaUjTaffZrnfherzragRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_116VTaffZrnfherzragRAF3_19OcUjTaffZrnfherzragRAF3_19OaUjTaffZrnfherzragRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_116VTaffZrnfherzragRAF3_19OcUjTaffZrnfherzragRAF3_19OaUjTaffZrnfherzragRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -1273,7 +1273,7 @@
 b__MGGA7naqebvq8uneqjner4taff4I1_116VTaffZrnfherzragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_118VTaffPbasvthengvbaRAF3_21OcUjTaffPbasvthengvbaRAF3_21OaUjTaffPbasvthengvbaRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_118VTaffPbasvthengvbaRAF3_21OcUjTaffPbasvthengvbaRAF3_21OaUjTaffPbasvthengvbaRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_118VTaffPbasvthengvbaRAF3_21OcUjTaffPbasvthengvbaRAF3_21OaUjTaffPbasvthengvbaRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_118VTaffPbasvthengvbaRAF3_21OcUjTaffPbasvthengvbaRAF3_21OaUjTaffPbasvthengvbaRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -1288,17 +1288,17 @@
 b__MA7naqebvq8uneqjner4taff4I1_18OcUjTaff12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_116VTaffZrnfherzragRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_116VTaffZrnfherzragRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_116VTaffZrnfherzragRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_116VTaffZrnfherzragRiRRAF_2fcVG_RRF8_:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_16OfTaffR0_AF2_5VTaffR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_16OfTaffR0_AF2_5VTaffR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_16OfTaffR0_AF2_5VTaffR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_16OfTaffR0_AF2_5VTaffR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -1323,7 +1323,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_18OcUjTaff14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_07VTaffAvRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_07VTaffAvRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_07VTaffAvRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_07VTaffAvRiRRAF_2fcVG_RRF8_:
 nop
@@ -1368,12 +1368,12 @@
 b__MA7naqebvq8uneqjner4taff4I1_127OcUjTaffZrnfherzragPnyyonpx21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -1428,7 +1428,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_119OaUjTaffZrnfherzrag21_uvqy_frgPnyyonpx_1_1RCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_117OfTaffZrnfherzragR0_AF2_16VTaffZrnfherzragR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_117OfTaffZrnfherzragR0_AF2_16VTaffZrnfherzragR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_117OfTaffZrnfherzragR0_AF2_16VTaffZrnfherzragR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_117OfTaffZrnfherzragR0_AF2_16VTaffZrnfherzragR:
 .space __SIZEOF_POINTER__
@@ -1488,12 +1488,12 @@
 b__MGPA7naqebvq8uneqjner4taff4I1_127OaUjTaffZrnfherzragPnyyonpxR0_AF0_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_125OfTaffZrnfherzragPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_125OfTaffZrnfherzragPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_125OfTaffZrnfherzragPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_125OfTaffZrnfherzragPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_116VTaffZrnfherzragRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_116VTaffZrnfherzragRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_116VTaffZrnfherzragRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_116VTaffZrnfherzragRRnFRBF5_:
 nop
@@ -1548,7 +1548,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I1_18OcUjTaffR8_AF0_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_113VTaffPnyyonpxRAF3_4I1_013VTaffPnyyonpxRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_113VTaffPnyyonpxRAF3_4I1_013VTaffPnyyonpxRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_113VTaffPnyyonpxRAF3_4I1_013VTaffPnyyonpxRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_113VTaffPnyyonpxRAF3_4I1_013VTaffPnyyonpxRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -1588,7 +1588,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_124VTaffZrnfherzragPnyyonpx12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_015VTaffTrbsrapvatRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_015VTaffTrbsrapvatRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_015VTaffTrbsrapvatRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_015VTaffTrbsrapvatRiRRAF_2fcVG_RRF8_:
 nop
@@ -1638,7 +1638,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_116VTaffZrnfherzrag10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -1868,7 +1868,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I1_119OcUjTaffZrnfherzragR8_AF0_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_117OfTaffZrnfherzragR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_117OfTaffZrnfherzragR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_117OfTaffZrnfherzragR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_117OfTaffZrnfherzragR:
 .space __SIZEOF_POINTER__
@@ -1943,7 +1943,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_15VTaff5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -1973,7 +1973,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I1_113VTaffPnyyonpxR0_AF1_4I1_013VTaffPnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I1_114OfTaffPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner4taff4I1_114OfTaffPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner4taff4I1_114OfTaffPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner4taff4I1_114OfTaffPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -1983,7 +1983,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_118VTaffPbasvthengvba12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I1_119OfTaffPbasvthengvbaR0_AF2_18VTaffPbasvthengvbaR
+.weak b__MGPA7naqebvq8uneqjner4taff4I1_119OfTaffPbasvthengvbaR0_AF2_18VTaffPbasvthengvbaR
 .type b__MGPA7naqebvq8uneqjner4taff4I1_119OfTaffPbasvthengvbaR0_AF2_18VTaffPbasvthengvbaR,%object
 b__MGPA7naqebvq8uneqjner4taff4I1_119OfTaffPbasvthengvbaR0_AF2_18VTaffPbasvthengvbaR:
 .space __SIZEOF_POINTER__
@@ -2043,7 +2043,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_121OcUjTaffPbasvthengvba19frgRzretraplFhcyCqaRo:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_118VTaffPbasvthengvbaRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_118VTaffPbasvthengvbaRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_118VTaffPbasvthengvbaRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_118VTaffPbasvthengvbaRRnFRBF5_:
 nop
@@ -2108,7 +2108,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_118VTaffPbasvthengvba13hayvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -2143,12 +2143,12 @@
 b__MA7naqebvq8uneqjner4taff4I1_18OcUjTaff17trgRkgrafvbaNTaffRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_016VTaffZrnfherzragRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_016VTaffZrnfherzragRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_016VTaffZrnfherzragRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_016VTaffZrnfherzragRiRRAF_2fcVG_RRF8_:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -2178,7 +2178,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_18OcUjTaff29trgRkgrafvbaTaffPbasvthengvbaRi:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -2208,12 +2208,12 @@
 b__MGi0_a24_A7naqebvq8uneqjner4taff4I1_127OaUjTaffZrnfherzragPnyyonpxQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_15VTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_15VTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_15VTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I1_15VTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRAF3_27OcUjTaffZrnfherzragPnyyonpxRAF3_27OaUjTaffZrnfherzragPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRAF3_27OcUjTaffZrnfherzragPnyyonpxRAF3_27OaUjTaffZrnfherzragPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRAF3_27OcUjTaffZrnfherzragPnyyonpxRAF3_27OaUjTaffZrnfherzragPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRAF3_27OcUjTaffZrnfherzragPnyyonpxRAF3_27OaUjTaffZrnfherzragPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -2243,7 +2243,7 @@
 b__MA7naqebvq8uneqjner4taff4I1_18OcUjTaff7pyrnahcRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_041.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_041.S
index 53e8ed7..ddf1b91 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_041.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_041.S
@@ -23,7 +23,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_08OcUjTaff14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VTaffKgenRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VTaffKgenRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VTaffKgenRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VTaffKgenRiRRAF_2fcVG_RRF8_:
 nop
@@ -68,7 +68,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner4taff4I2_019OaUjTaffZrnfherzragQ0Ri:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -208,7 +208,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_019OaUjTaffZrnfherzrag21_uvqy_frgPnyyonpx_2_0RCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I2_07OfNTaffR
+.weak b__MGIA7naqebvq8uneqjner4taff4I2_07OfNTaffR
 .type b__MGIA7naqebvq8uneqjner4taff4I2_07OfNTaffR,%object
 b__MGIA7naqebvq8uneqjner4taff4I2_07OfNTaffR:
 .space __SIZEOF_POINTER__
@@ -283,7 +283,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_013OcUjTaffQroht19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_010VTaffQrohtRAF3_13OcUjTaffQrohtRAF3_13OaUjTaffQrohtRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_010VTaffQrohtRAF3_13OcUjTaffQrohtRAF3_13OaUjTaffQrohtRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_010VTaffQrohtRAF3_13OcUjTaffQrohtRAF3_13OaUjTaffQrohtRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_010VTaffQrohtRAF3_13OcUjTaffQrohtRAF3_13OaUjTaffQrohtRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -313,17 +313,17 @@
 b__MA7naqebvq8uneqjner4taff4I2_019OcUjTaffZrnfherzrag15baYnfgFgebatErsRCXi:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I2_07OfNTaffR0_AF2_6VNTaffR
+.weak b__MGPA7naqebvq8uneqjner4taff4I2_07OfNTaffR0_AF2_6VNTaffR
 .type b__MGPA7naqebvq8uneqjner4taff4I2_07OfNTaffR0_AF2_6VNTaffR,%object
 b__MGPA7naqebvq8uneqjner4taff4I2_07OfNTaffR0_AF2_6VNTaffR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_018VTaffPbasvthengvbaRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_018VTaffPbasvthengvbaRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_018VTaffPbasvthengvbaRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_018VTaffPbasvthengvbaRRnFRBF5_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRiRRAF_2fcVG_RRF9_:
 nop
@@ -428,7 +428,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_027OcUjTaffZrnfherzragPnyyonpxP2REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_06VNTaffRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_06VNTaffRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_06VNTaffRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_06VNTaffRiRRAF_2fcVG_RRF8_:
 nop
@@ -493,7 +493,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_013VTaffOngpuvat5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffOngpuvatRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffOngpuvatRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffOngpuvatRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffOngpuvatRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffOngpuvatRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffOngpuvatRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffOngpuvatRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffOngpuvatRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -513,12 +513,12 @@
 b__MGi0_a24_A7naqebvq8uneqjner4taff4I2_012OaUjNTaffEvyQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_016OcUjTaffOngpuvatRAF4_13VTaffOngpuvatRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_016OcUjTaffOngpuvatRAF4_13VTaffOngpuvatRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_016OcUjTaffOngpuvatRAF4_13VTaffOngpuvatRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_016OcUjTaffOngpuvatRAF4_13VTaffOngpuvatRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRAF3_4I1_124VTaffZrnfherzragPnyyonpxRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRAF3_4I1_124VTaffZrnfherzragPnyyonpxRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRAF3_4I1_124VTaffZrnfherzragPnyyonpxRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRAF3_4I1_124VTaffZrnfherzragPnyyonpxRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -528,17 +528,17 @@
 b__MA7naqebvq8uneqjner4taff4I2_017OaUjNTaffPnyyonpxQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_010VTaffQrohtRAF3_4I1_010VTaffQrohtRAF4_13OcUjTaffQrohtRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_010VTaffQrohtRAF3_4I1_010VTaffQrohtRAF4_13OcUjTaffQrohtRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_010VTaffQrohtRAF3_4I1_010VTaffQrohtRAF4_13OcUjTaffQrohtRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_010VTaffQrohtRAF3_4I1_010VTaffQrohtRAF4_13OcUjTaffQrohtRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_05VTaffRAF3_4I1_15VTaffRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_05VTaffRAF3_4I1_15VTaffRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_05VTaffRAF3_4I1_15VTaffRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_05VTaffRAF3_4I1_15VTaffRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -568,7 +568,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_016OcUjTaffPnyyonpx4cvatRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_018VTaffPbasvthengvbaRAF3_4I1_018VTaffPbasvthengvbaRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_018VTaffPbasvthengvbaRAF3_4I1_018VTaffPbasvthengvbaRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_018VTaffPbasvthengvbaRAF3_4I1_018VTaffPbasvthengvbaRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_018VTaffPbasvthengvbaRAF3_4I1_018VTaffPbasvthengvbaRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -588,7 +588,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I2_08OcUjTaffR16_AF0_11OcUjErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_021VTaffOngpuvatPnyyonpxRAF3_24OcUjTaffOngpuvatPnyyonpxRAF3_24OaUjTaffOngpuvatPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_021VTaffOngpuvatPnyyonpxRAF3_24OcUjTaffOngpuvatPnyyonpxRAF3_24OaUjTaffOngpuvatPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_021VTaffOngpuvatPnyyonpxRAF3_24OcUjTaffOngpuvatPnyyonpxRAF3_24OaUjTaffOngpuvatPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_021VTaffOngpuvatPnyyonpxRAF3_24OcUjTaffOngpuvatPnyyonpxRAF3_24OaUjTaffOngpuvatPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -603,7 +603,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_010VTaffQroht8pnfgSebzREXAF_2fcVF3_RRo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -613,7 +613,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_08OcUjTaff33trgRkgrafvbaTaffPbasvthengvba_1_1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I2_011OfTaffQrohtR0_AF2_10VTaffQrohtR
+.weak b__MGPA7naqebvq8uneqjner4taff4I2_011OfTaffQrohtR0_AF2_10VTaffQrohtR
 .type b__MGPA7naqebvq8uneqjner4taff4I2_011OfTaffQrohtR0_AF2_10VTaffQrohtR,%object
 b__MGPA7naqebvq8uneqjner4taff4I2_011OfTaffQrohtR0_AF2_10VTaffQrohtR:
 .space __SIZEOF_POINTER__
@@ -688,12 +688,12 @@
 b__MGPA7naqebvq8uneqjner4taff4I2_08OaUjTaffR0_AF0_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I2_014OfTaffOngpuvatR
+.weak b__MGIA7naqebvq8uneqjner4taff4I2_014OfTaffOngpuvatR
 .type b__MGIA7naqebvq8uneqjner4taff4I2_014OfTaffOngpuvatR,%object
 b__MGIA7naqebvq8uneqjner4taff4I2_014OfTaffOngpuvatR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I2_022OfTaffOngpuvatPnyyonpxR0_AF2_21VTaffOngpuvatPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner4taff4I2_022OfTaffOngpuvatPnyyonpxR0_AF2_21VTaffOngpuvatPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner4taff4I2_022OfTaffOngpuvatPnyyonpxR0_AF2_21VTaffOngpuvatPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner4taff4I2_022OfTaffOngpuvatPnyyonpxR0_AF2_21VTaffOngpuvatPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -888,7 +888,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_08OcUjTaffP2REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_021OcUjTaffPbasvthengvbaRAF4_18VTaffPbasvthengvbaRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_021OcUjTaffPbasvthengvbaRAF4_18VTaffPbasvthengvbaRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_021OcUjTaffPbasvthengvbaRAF4_18VTaffPbasvthengvbaRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_021OcUjTaffPbasvthengvbaRAF4_18VTaffPbasvthengvbaRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -898,7 +898,7 @@
 b__MGIA7naqebvq8uneqjner4taff4I2_09OcUjNTaffR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_09VNTaffEvyRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_09VNTaffEvyRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_09VNTaffEvyRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_09VNTaffEvyRRnFRBF5_:
 nop
@@ -1048,7 +1048,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_013OcUjTaffQroht15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_09VNTaffEvyRAF3_4I1_09VNTaffEvyRAF4_12OcUjNTaffEvyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_09VNTaffEvyRAF3_4I1_09VNTaffEvyRAF4_12OcUjNTaffEvyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_09VNTaffEvyRAF3_4I1_09VNTaffEvyRAF4_12OcUjNTaffEvyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_09VNTaffEvyRAF3_4I1_09VNTaffEvyRAF4_12OcUjNTaffEvyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -1068,7 +1068,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_010VTaffQroht14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -1103,7 +1103,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_016VTaffZrnfherzrag8pnfgSebzREXAF_2fcVAF1_4I1_116VTaffZrnfherzragRRRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_024VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -1113,7 +1113,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_027OcUjTaffZrnfherzragPnyyonpx21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -1168,7 +1168,7 @@
 b__MGua32_A7naqebvq8uneqjner4taff4I2_012OaUjNTaffEvyQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_013VTaffPnyyonpxRAF3_16OcUjTaffPnyyonpxRAF3_16OaUjTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_013VTaffPnyyonpxRAF3_16OcUjTaffPnyyonpxRAF3_16OaUjTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_013VTaffPnyyonpxRAF3_16OcUjTaffPnyyonpxRAF3_16OaUjTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_013VTaffPnyyonpxRAF3_16OcUjTaffPnyyonpxRAF3_16OaUjTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -1198,7 +1198,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_024OcUjTaffOngpuvatPnyyonpx11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_016VTaffZrnfherzragRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_016VTaffZrnfherzragRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_016VTaffZrnfherzragRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_016VTaffZrnfherzragRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -1213,7 +1213,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_021VTaffOngpuvatPnyyonpx13hayvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffPnyyonpxRAF3_4I1_113VTaffPnyyonpxRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffPnyyonpxRAF3_4I1_113VTaffPnyyonpxRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffPnyyonpxRAF3_4I1_113VTaffPnyyonpxRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffPnyyonpxRAF3_4I1_113VTaffPnyyonpxRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -1268,7 +1268,7 @@
 b__MGi0_a40_A7naqebvq8uneqjner4taff4I2_017OcUjNTaffPnyyonpx15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRRnFRBF6_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRRnFRBF6_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRRnFRBF6_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRRnFRBF6_:
 nop
@@ -1373,7 +1373,7 @@
 b__MGua16_A7naqebvq8uneqjner4taff4I2_012OcUjNTaffEvy15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_010VTaffQrohtRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_010VTaffQrohtRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_010VTaffQrohtRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_010VTaffQrohtRRnFRBF5_:
 nop
@@ -1423,7 +1423,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_013OcUjTaffQroht5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_06VNTaffRAF3_9OcUjNTaffRAF3_9OaUjNTaffRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_06VNTaffRAF3_9OcUjNTaffRAF3_9OaUjNTaffRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_06VNTaffRAF3_9OcUjNTaffRAF3_9OaUjNTaffRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_06VNTaffRAF3_9OcUjNTaffRAF3_9OaUjNTaffRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -1438,7 +1438,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I2_012OaUjNTaffEvyR0_AF0_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_016VTaffZrnfherzragRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_016VTaffZrnfherzragRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_016VTaffZrnfherzragRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_016VTaffZrnfherzragRiRRAF_2fcVG_RRF8_:
 nop
@@ -1478,12 +1478,12 @@
 b__MA7naqebvq8uneqjner4taff4I2_09VNTaffEvy21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_010VTaffQrohtRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_010VTaffQrohtRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_010VTaffQrohtRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_010VTaffQrohtRiRRAF_2fcVG_RRF8_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_018VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_018VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_018VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_018VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_:
 nop
@@ -1513,7 +1513,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_09OcUjNTaff11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_113VTaffPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_113VTaffPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_113VTaffPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_113VTaffPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -1523,7 +1523,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I2_016OcUjTaffOngpuvatR0_AF1_4I1_013VTaffOngpuvatR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I2_019OfTaffPbasvthengvbaR0_AF2_18VTaffPbasvthengvbaR
+.weak b__MGPA7naqebvq8uneqjner4taff4I2_019OfTaffPbasvthengvbaR0_AF2_18VTaffPbasvthengvbaR
 .type b__MGPA7naqebvq8uneqjner4taff4I2_019OfTaffPbasvthengvbaR0_AF2_18VTaffPbasvthengvbaR,%object
 b__MGPA7naqebvq8uneqjner4taff4I2_019OfTaffPbasvthengvbaR0_AF2_18VTaffPbasvthengvbaR:
 .space __SIZEOF_POINTER__
@@ -1568,7 +1568,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I2_027OaUjTaffZrnfherzragPnyyonpxR0_AF0_9OUjOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffOngpuvatRAF3_4I1_013VTaffOngpuvatRAF4_16OcUjTaffOngpuvatRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffOngpuvatRAF3_4I1_013VTaffOngpuvatRAF4_16OcUjTaffOngpuvatRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffOngpuvatRAF3_4I1_013VTaffOngpuvatRAF4_16OcUjTaffOngpuvatRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffOngpuvatRAF3_4I1_013VTaffOngpuvatRAF4_16OcUjTaffOngpuvatRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -1633,7 +1633,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I2_016OcUjTaffOngpuvatR8_AF0_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_06VNTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjNTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_06VNTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjNTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_06VNTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjNTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_06VNTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjNTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -1643,12 +1643,12 @@
 b__MGi0_a40_A7naqebvq8uneqjner4taff4I2_09OcUjNTaff15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_013VTaffOngpuvatRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_013VTaffOngpuvatRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_013VTaffOngpuvatRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_013VTaffOngpuvatRRnFRBF5_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_09OcUjNTaffRAF4_6VNTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_09OcUjNTaffRAF4_6VNTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_09OcUjNTaffRAF4_6VNTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_09OcUjNTaffRAF4_6VNTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -1688,7 +1688,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_08OcUjTaff18vawrpgOrfgYbpngvbaREXAF1_4I1_012TaffYbpngvbaR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_116VTaffZrnfherzragRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_116VTaffZrnfherzragRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_116VTaffZrnfherzragRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_116VTaffZrnfherzragRiRRAF_2fcVG_RRF8_:
 nop
@@ -1753,7 +1753,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_019OaUjTaffZrnfherzrag12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_124VTaffZrnfherzragPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -1813,7 +1813,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I2_019OcUjTaffZrnfherzragR8_AF0_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRRnFRBF6_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRRnFRBF6_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRRnFRBF6_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRRnFRBF6_:
 nop
@@ -1838,7 +1838,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I2_021OcUjTaffPbasvthengvbaR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -1888,12 +1888,12 @@
 b__MA7naqebvq8uneqjner4taff4I2_012OaUjNTaffEvyP2REXAF_2fcVAF2_9VNTaffEvyRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_013VTaffOngpuvatRAF3_16OcUjTaffOngpuvatRAF3_16OaUjTaffOngpuvatRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_013VTaffOngpuvatRAF3_16OcUjTaffOngpuvatRAF3_16OaUjTaffOngpuvatRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_013VTaffOngpuvatRAF3_16OcUjTaffOngpuvatRAF3_16OaUjTaffOngpuvatRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_013VTaffOngpuvatRAF3_16OcUjTaffOngpuvatRAF3_16OaUjTaffOngpuvatRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_016VTaffZrnfherzragRAF3_19OcUjTaffZrnfherzragRAF3_19OaUjTaffZrnfherzragRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_016VTaffZrnfherzragRAF3_19OcUjTaffZrnfherzragRAF3_19OaUjTaffZrnfherzragRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_016VTaffZrnfherzragRAF3_19OcUjTaffZrnfherzragRAF3_19OaUjTaffZrnfherzragRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_016VTaffZrnfherzragRAF3_19OcUjTaffZrnfherzragRAF3_19OaUjTaffZrnfherzragRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -1933,7 +1933,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_017OcUjNTaffPnyyonpx11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_09VNTaffEvyRAF3_12OcUjNTaffEvyRAF3_12OaUjNTaffEvyRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_09VNTaffEvyRAF3_12OcUjNTaffEvyRAF3_12OaUjNTaffEvyRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_09VNTaffEvyRAF3_12OcUjNTaffEvyRAF3_12OaUjNTaffEvyRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_09VNTaffEvyRAF3_12OcUjNTaffEvyRAF3_12OaUjNTaffEvyRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -1943,7 +1943,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_016OcUjTaffPnyyonpx5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -1998,7 +1998,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_09VNTaffEvy5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VNTaffEvyRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VNTaffEvyRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VNTaffEvyRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_09VNTaffEvyRiRRAF_2fcVG_RRF8_:
 nop
@@ -2098,7 +2098,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_012OcUjNTaffEvy12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_06VNTaffRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_06VNTaffRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_06VNTaffRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_06VNTaffRiRRAF_2fcVG_RRF8_:
 nop
@@ -2178,7 +2178,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_08OcUjTaff16qryrgrNvqvatQngnRAF1_4I1_05VTaff14TaffNvqvatQngnR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRiRRAF_2fcVG_RRF9_:
 nop
@@ -2218,7 +2218,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I2_024OaUjTaffOngpuvatPnyyonpxR0_AF0_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I2_017OfTaffZrnfherzragR0_AF2_16VTaffZrnfherzragR
+.weak b__MGPA7naqebvq8uneqjner4taff4I2_017OfTaffZrnfherzragR0_AF2_16VTaffZrnfherzragR
 .type b__MGPA7naqebvq8uneqjner4taff4I2_017OfTaffZrnfherzragR0_AF2_16VTaffZrnfherzragR,%object
 b__MGPA7naqebvq8uneqjner4taff4I2_017OfTaffZrnfherzragR0_AF2_16VTaffZrnfherzragR:
 .space __SIZEOF_POINTER__
@@ -2358,7 +2358,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_08OaUjTaff10baGenafnpgRwEXAF0_6CnepryRCF4_wAFg3__18shapgvbaVSiEF4_RRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_016VTaffZrnfherzragRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_016VTaffZrnfherzragRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_016VTaffZrnfherzragRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_016VTaffZrnfherzragRiRRAF_2fcVG_RRF8_:
 nop
@@ -2378,7 +2378,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_019OaUjTaffZrnfherzragQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_019OcUjTaffZrnfherzragRAF4_16VTaffZrnfherzragRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_019OcUjTaffZrnfherzragRAF4_16VTaffZrnfherzragRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_019OcUjTaffZrnfherzragRAF4_16VTaffZrnfherzragRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_019OcUjTaffZrnfherzragRAF4_16VTaffZrnfherzragRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -2488,7 +2488,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_09OcUjNTaff18_uvqy_qngnPbaaBcraRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRzEXAF0_11uvqy_fgevatRAF2_6VNTaff9NcaVcGlcrR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I2_010OfNTaffEvyR0_AF2_9VNTaffEvyR
+.weak b__MGPA7naqebvq8uneqjner4taff4I2_010OfNTaffEvyR0_AF2_9VNTaffEvyR
 .type b__MGPA7naqebvq8uneqjner4taff4I2_010OfNTaffEvyR0_AF2_9VNTaffEvyR,%object
 b__MGPA7naqebvq8uneqjner4taff4I2_010OfNTaffEvyR0_AF2_9VNTaffEvyR:
 .space __SIZEOF_POINTER__
@@ -2548,7 +2548,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_024VTaffZrnfherzragPnyyonpx19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I2_025OfTaffZrnfherzragPnyyonpxR0_AF2_24VTaffZrnfherzragPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner4taff4I2_025OfTaffZrnfherzragPnyyonpxR0_AF2_24VTaffZrnfherzragPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner4taff4I2_025OfTaffZrnfherzragPnyyonpxR0_AF2_24VTaffZrnfherzragPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner4taff4I2_025OfTaffZrnfherzragPnyyonpxR0_AF2_24VTaffZrnfherzragPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -2578,7 +2578,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_09OcUjNTaff20_uvqy_qngnPbaaPybfrqRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_06VNTaffRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_06VNTaffRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_06VNTaffRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_06VNTaffRRnFRBF5_:
 nop
@@ -2653,7 +2653,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_015OfNTaffPnyyonpxP1RAF_2fcVAF2_14VNTaffPnyyonpxRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_05VTaffRAF3_4I1_05VTaffRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_05VTaffRAF3_4I1_05VTaffRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_05VTaffRAF3_4I1_05VTaffRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_05VTaffRAF3_4I1_05VTaffRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -2733,7 +2733,7 @@
 b__MGIA7naqebvq8uneqjner4taff4I2_024VTaffZrnfherzragPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_09VNTaffEvyRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_09VNTaffEvyRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_09VNTaffEvyRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_09VNTaffEvyRiRRAF_2fcVG_RRF8_:
 nop
@@ -2783,7 +2783,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_016OcUjTaffOngpuvat5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I2_014OfTaffOngpuvatR0_AF2_13VTaffOngpuvatR
+.weak b__MGPA7naqebvq8uneqjner4taff4I2_014OfTaffOngpuvatR0_AF2_13VTaffOngpuvatR
 .type b__MGPA7naqebvq8uneqjner4taff4I2_014OfTaffOngpuvatR0_AF2_13VTaffOngpuvatR,%object
 b__MGPA7naqebvq8uneqjner4taff4I2_014OfTaffOngpuvatR0_AF2_13VTaffOngpuvatR:
 .space __SIZEOF_POINTER__
@@ -2818,7 +2818,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_010VTaffQroht8pnfgSebzREXAF_2fcVAF1_4I1_010VTaffQrohtRRRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_027OcUjTaffZrnfherzragPnyyonpxRAF4_24VTaffZrnfherzragPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_027OcUjTaffZrnfherzragPnyyonpxRAF4_24VTaffZrnfherzragPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_027OcUjTaffZrnfherzragPnyyonpxRAF4_24VTaffZrnfherzragPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_027OcUjTaffZrnfherzragPnyyonpxRAF4_24VTaffZrnfherzragPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -2828,7 +2828,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_017OaUjNTaffPnyyonpxP1REXAF_2fcVAF2_14VNTaffPnyyonpxRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_014VNTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_17OcUjNTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_014VNTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_17OcUjNTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_014VNTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_17OcUjNTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_014VNTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_17OcUjNTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -2858,7 +2858,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_021OaUjTaffPbasvthengvbaP1REXAF_2fcVAF2_18VTaffPbasvthengvbaRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_018VTaffPbasvthengvbaRAF3_4I1_118VTaffPbasvthengvbaRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_018VTaffPbasvthengvbaRAF3_4I1_118VTaffPbasvthengvbaRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_018VTaffPbasvthengvbaRAF3_4I1_118VTaffPbasvthengvbaRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_018VTaffPbasvthengvbaRAF3_4I1_118VTaffPbasvthengvbaRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -2893,7 +2893,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_08OcUjTaff19frgCbfvgvbaZbqr_1_1RAF1_4I1_05VTaff16TaffCbfvgvbaZbqrRAF5_22TaffCbfvgvbaErpheeraprRwwwo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_021VTaffOngpuvatPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_021VTaffOngpuvatPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_021VTaffOngpuvatPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_021VTaffOngpuvatPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -2948,7 +2948,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_05VTaff8pnfgSebzREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_07VTaffAvRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_07VTaffAvRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_07VTaffAvRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_07VTaffAvRiRRAF_2fcVG_RRF8_:
 nop
@@ -2958,7 +2958,7 @@
 b__MGIA7naqebvq8uneqjner4taff4I2_018VTaffPbasvthengvbaR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_013OcUjTaffQrohtRAF4_10VTaffQrohtRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_013OcUjTaffQrohtRAF4_10VTaffQrohtRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_013OcUjTaffQrohtRAF4_10VTaffQrohtRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_013OcUjTaffQrohtRAF4_10VTaffQrohtRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -3008,7 +3008,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner4taff4I2_027OaUjTaffZrnfherzragPnyyonpxQ1Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -3033,7 +3033,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_016OcUjTaffPnyyonpx25taffErdhrfgYbpngvbaPo_2_0Roo:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I2_014OfTaffPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner4taff4I2_014OfTaffPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner4taff4I2_014OfTaffPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner4taff4I2_014OfTaffPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -3093,7 +3093,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_019OaUjTaffZrnfherzragP1REXAF_2fcVAF2_16VTaffZrnfherzragRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_014VNTaffPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_014VNTaffPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_014VNTaffPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_014VNTaffPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -3123,12 +3123,12 @@
 b__MA7naqebvq8uneqjner4taff4I2_015OfNTaffPnyyonpxP2RAF_2fcVAF2_14VNTaffPnyyonpxRRR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_016VTaffZrnfherzragRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_016VTaffZrnfherzragRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_016VTaffZrnfherzragRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_016VTaffZrnfherzragRRnFRBF5_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_05VTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_05VTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_05VTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_05VTaffRAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjTaffRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -3163,7 +3163,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_09OcUjNTaff14qngnPbaaSnvyrqRi:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I2_06OfTaffR0_AF2_5VTaffR
+.weak b__MGPA7naqebvq8uneqjner4taff4I2_06OfTaffR0_AF2_5VTaffR
 .type b__MGPA7naqebvq8uneqjner4taff4I2_06OfTaffR0_AF2_5VTaffR,%object
 b__MGPA7naqebvq8uneqjner4taff4I2_06OfTaffR0_AF2_5VTaffR:
 .space __SIZEOF_POINTER__
@@ -3243,7 +3243,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_018VTaffPbasvthengvba11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRAF3_4I1_024VTaffZrnfherzragPnyyonpxRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRAF3_4I1_024VTaffZrnfherzragPnyyonpxRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRAF3_4I1_024VTaffZrnfherzragPnyyonpxRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRAF3_4I1_024VTaffZrnfherzragPnyyonpxRAF4_27OcUjTaffZrnfherzragPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -3308,7 +3308,7 @@
 b__MGGA7naqebvq8uneqjner4taff4I2_013VTaffOngpuvatR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffPnyyonpxRAF3_4I1_013VTaffPnyyonpxRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffPnyyonpxRAF3_4I1_013VTaffPnyyonpxRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffPnyyonpxRAF3_4I1_013VTaffPnyyonpxRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffPnyyonpxRAF3_4I1_013VTaffPnyyonpxRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -3358,7 +3358,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_017OcUjNTaffPnyyonpx19_uvqy_ntaffFgnghfPoRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRAF2_14VNTaffPnyyonpx9NTaffGlcrRAF9_16NTaffFgnghfInyhrR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I2_015OfNTaffPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner4taff4I2_015OfNTaffPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner4taff4I2_015OfNTaffPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner4taff4I2_015OfNTaffPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -3403,7 +3403,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_024VTaffZrnfherzragPnyyonpx21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -3428,12 +3428,12 @@
 b__MGi0_a24_A7naqebvq8uneqjner4taff4I2_012OaUjNTaffEvyQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_118VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_118VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_118VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_118VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_:
 nop
@@ -3463,12 +3463,12 @@
 b__MA7naqebvq8uneqjner4taff4I2_017OaUjNTaffPnyyonpxQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffOngpuvatRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffOngpuvatRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffOngpuvatRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_013VTaffOngpuvatRiRRAF_2fcVG_RRF8_:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I2_011OfTaffQrohtR
+.weak b__MGIA7naqebvq8uneqjner4taff4I2_011OfTaffQrohtR
 .type b__MGIA7naqebvq8uneqjner4taff4I2_011OfTaffQrohtR,%object
 b__MGIA7naqebvq8uneqjner4taff4I2_011OfTaffQrohtR:
 .space __SIZEOF_POINTER__
@@ -3493,7 +3493,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_09OaUjNTaff12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRAF4_26OcUjZrnfherzragPbeerpgvbafRAF4_26OaUjZrnfherzragPbeerpgvbafRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRAF4_26OcUjZrnfherzragPbeerpgvbafRAF4_26OaUjZrnfherzragPbeerpgvbafRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRAF4_26OcUjZrnfherzragPbeerpgvbafRAF4_26OaUjZrnfherzragPbeerpgvbafRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRAF4_26OcUjZrnfherzragPbeerpgvbafRAF4_26OaUjZrnfherzragPbeerpgvbafRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -3543,7 +3543,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_09OcUjNTaff12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_012OcUjNTaffEvyRAF4_9VNTaffEvyRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_012OcUjNTaffEvyRAF4_9VNTaffEvyRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_012OcUjNTaffEvyRAF4_9VNTaffEvyRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_012OcUjNTaffEvyRAF4_9VNTaffEvyRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -3553,7 +3553,7 @@
 b__MGGA7naqebvq8uneqjner4taff4I2_09VNTaffEvyR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_024OcUjTaffOngpuvatPnyyonpxRAF4_21VTaffOngpuvatPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_024OcUjTaffOngpuvatPnyyonpxRAF4_21VTaffOngpuvatPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_024OcUjTaffOngpuvatPnyyonpxRAF4_21VTaffOngpuvatPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_024OcUjTaffOngpuvatPnyyonpxRAF4_21VTaffOngpuvatPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -3618,7 +3618,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I2_018VTaffPbasvthengvbaR0_AF1_4I1_118VTaffPbasvthengvbaR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -3638,7 +3638,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_021OcUjTaffPbasvthengvba14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_016VTaffZrnfherzragRAF3_4I1_016VTaffZrnfherzragRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_016VTaffZrnfherzragRAF3_4I1_016VTaffZrnfherzragRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_016VTaffZrnfherzragRAF3_4I1_016VTaffZrnfherzragRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_016VTaffZrnfherzragRAF3_4I1_016VTaffZrnfherzragRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -3648,7 +3648,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_024VTaffZrnfherzragPnyyonpx8pnfgSebzREXAF_2fcVAF1_4I1_024VTaffZrnfherzragPnyyonpxRRRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -3708,7 +3708,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_013OaUjTaffQroht12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_017OcUjNTaffPnyyonpxRAF4_14VNTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_017OcUjNTaffPnyyonpxRAF4_14VNTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_017OcUjNTaffPnyyonpxRAF4_14VNTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_017OcUjNTaffPnyyonpxRAF4_14VNTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -3758,7 +3758,7 @@
 b__MGGA7naqebvq8uneqjner4taff4I2_016OaUjTaffPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_018VTaffPbasvthengvbaRAF_4uvqy4onfr4I1_05VOnfrRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_018VTaffPbasvthengvbaRAF_4uvqy4onfr4I1_05VOnfrRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_018VTaffPbasvthengvbaRAF_4uvqy4onfr4I1_05VOnfrRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_018VTaffPbasvthengvbaRAF_4uvqy4onfr4I1_05VOnfrRAF4_21OcUjTaffPbasvthengvbaRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -3768,7 +3768,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_010VTaffQroht21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRAF4_25OcUjTaffIvfvovyvglPbagebyRAF4_25OaUjTaffIvfvovyvglPbagebyRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRAF4_25OcUjTaffIvfvovyvglPbagebyRAF4_25OaUjTaffIvfvovyvglPbagebyRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRAF4_25OcUjTaffIvfvovyvglPbagebyRAF4_25OaUjTaffIvfvovyvglPbagebyRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRAF4_25OcUjTaffIvfvovyvglPbagebyRAF4_25OaUjTaffIvfvovyvglPbagebyRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -3838,7 +3838,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_021OcUjTaffPbasvthengvba14frgFhcyIrefvbaRw:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_017VNTaffEvyPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_017VNTaffEvyPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_017VNTaffEvyPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_017VNTaffEvyPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -3948,7 +3948,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_024OcUjTaffOngpuvatPnyyonpx21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_013VTaffPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_16OcUjTaffPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -3998,7 +3998,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner4taff4I2_016OaUjTaffPnyyonpxQ1Ri:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I2_019OfTaffPbasvthengvbaR
+.weak b__MGIA7naqebvq8uneqjner4taff4I2_019OfTaffPbasvthengvbaR
 .type b__MGIA7naqebvq8uneqjner4taff4I2_019OfTaffPbasvthengvbaR,%object
 b__MGIA7naqebvq8uneqjner4taff4I2_019OfTaffPbasvthengvbaR:
 .space __SIZEOF_POINTER__
@@ -4053,7 +4053,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_019OaUjTaffZrnfherzrag10baGenafnpgRwEXAF0_6CnepryRCF4_wAFg3__18shapgvbaVSiEF4_RRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I2_017OfTaffZrnfherzragR
+.weak b__MGIA7naqebvq8uneqjner4taff4I2_017OfTaffZrnfherzragR
 .type b__MGIA7naqebvq8uneqjner4taff4I2_017OfTaffZrnfherzragR,%object
 b__MGIA7naqebvq8uneqjner4taff4I2_017OfTaffZrnfherzragR:
 .space __SIZEOF_POINTER__
@@ -4098,7 +4098,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_016VTaffZrnfherzrag10trgFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRo:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I2_014OfTaffPnyyonpxR0_AF2_13VTaffPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner4taff4I2_014OfTaffPnyyonpxR0_AF2_13VTaffPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner4taff4I2_014OfTaffPnyyonpxR0_AF2_13VTaffPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner4taff4I2_014OfTaffPnyyonpxR0_AF2_13VTaffPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -4113,7 +4113,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_019OcUjTaffZrnfherzrag21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_016OcUjTaffPnyyonpxRAF4_13VTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_016OcUjTaffPnyyonpxRAF4_13VTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_016OcUjTaffPnyyonpxRAF4_13VTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_016OcUjTaffPnyyonpxRAF4_13VTaffPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -4183,7 +4183,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_019OcUjTaffZrnfherzrag12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_08OcUjTaffRAF4_5VTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_08OcUjTaffRAF4_5VTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_08OcUjTaffRAF4_5VTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff4I2_08OcUjTaffRAF4_5VTaffRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -4208,7 +4208,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_09OcUjNTaff9frgFreireRAF2_14VNTaffPnyyonpx9NTaffGlcrREXAF0_11uvqy_fgevatRv:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I2_022OfTaffOngpuvatPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner4taff4I2_022OfTaffOngpuvatPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner4taff4I2_022OfTaffOngpuvatPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner4taff4I2_022OfTaffOngpuvatPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -4268,7 +4268,7 @@
 b__MGIA7naqebvq8uneqjner4taff4I2_019OaUjTaffZrnfherzragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_015VTaffTrbsrapvatRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_015VTaffTrbsrapvatRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_015VTaffTrbsrapvatRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_015VTaffTrbsrapvatRiRRAF_2fcVG_RRF8_:
 nop
@@ -4283,7 +4283,7 @@
 b__MGGA7naqebvq8uneqjner4taff4I2_016OcUjTaffPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_022VTaffAnivtngvbaZrffntrRiRRAF_2fcVG_RRF8_:
 nop
@@ -4363,7 +4363,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_027OcUjTaffZrnfherzragPnyyonpx19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -4373,7 +4373,7 @@
 b__MGIA7naqebvq8uneqjner4taff4I2_09OaUjNTaffR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff4I2_015OfNTaffPnyyonpxR0_AF2_14VNTaffPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner4taff4I2_015OfNTaffPnyyonpxR0_AF2_14VNTaffPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner4taff4I2_015OfNTaffPnyyonpxR0_AF2_14VNTaffPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner4taff4I2_015OfNTaffPnyyonpxR0_AF2_14VNTaffPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -4438,7 +4438,7 @@
 b__MGGA7naqebvq8uneqjner4taff4I2_024OaUjTaffOngpuvatPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_018VTaffPbasvthengvbaRAF3_21OcUjTaffPbasvthengvbaRAF3_21OaUjTaffPbasvthengvbaRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_018VTaffPbasvthengvbaRAF3_21OcUjTaffPbasvthengvbaRAF3_21OaUjTaffPbasvthengvbaRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_018VTaffPbasvthengvbaRAF3_21OcUjTaffPbasvthengvbaRAF3_21OaUjTaffPbasvthengvbaRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_018VTaffPbasvthengvbaRAF3_21OcUjTaffPbasvthengvbaRAF3_21OaUjTaffPbasvthengvbaRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -4503,7 +4503,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_024VTaffZrnfherzragPnyyonpx24ertvfgreSbeAbgvsvpngvbafREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRREXAF_2fcVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -4513,7 +4513,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_022ernqRzorqqrqSebzCnepryREXAF2_9VNTaffEvy17ArgjbexNggevohgrfREXAF0_6CnepryRzz:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I2_010OfNTaffEvyR
+.weak b__MGIA7naqebvq8uneqjner4taff4I2_010OfNTaffEvyR
 .type b__MGIA7naqebvq8uneqjner4taff4I2_010OfNTaffEvyR,%object
 b__MGIA7naqebvq8uneqjner4taff4I2_010OfNTaffEvyR:
 .space __SIZEOF_POINTER__
@@ -4543,7 +4543,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_024OcUjTaffOngpuvatPnyyonpx12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_021VTaffOngpuvatPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_24OcUjTaffOngpuvatPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_021VTaffOngpuvatPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_24OcUjTaffOngpuvatPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_021VTaffOngpuvatPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_24OcUjTaffOngpuvatPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_021VTaffOngpuvatPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_24OcUjTaffOngpuvatPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -4648,7 +4648,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_014VNTaffPnyyonpx8pnfgSebzREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_09VNTaffEvyRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjNTaffEvyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_09VNTaffEvyRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjNTaffEvyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_09VNTaffEvyRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjNTaffEvyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_09VNTaffEvyRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjNTaffEvyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -4658,7 +4658,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I2_09VNTaffEvyR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_018VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_018VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_018VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_018VTaffPbasvthengvbaRiRRAF_2fcVG_RRF8_:
 nop
@@ -4668,7 +4668,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_010VTaffQroht10trgFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_014VNTaffPnyyonpxRAF3_17OcUjNTaffPnyyonpxRAF3_17OaUjNTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_014VNTaffPnyyonpxRAF3_17OcUjNTaffPnyyonpxRAF3_17OaUjNTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_014VNTaffPnyyonpxRAF3_17OcUjNTaffPnyyonpxRAF3_17OaUjNTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_014VNTaffPnyyonpxRAF3_17OcUjNTaffPnyyonpxRAF3_17OaUjNTaffPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -4723,7 +4723,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_014VNTaffPnyyonpx13hayvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_021VTaffOngpuvatPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_021VTaffOngpuvatPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_021VTaffOngpuvatPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_021VTaffOngpuvatPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -4738,7 +4738,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_08OcUjTaff25trgRkgrafvbaTaffQroht_2_0Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_010VTaffQrohtRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_010VTaffQrohtRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_010VTaffQrohtRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I1_010VTaffQrohtRiRRAF_2fcVG_RRF8_:
 nop
@@ -4778,7 +4778,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_016VTaffZrnfherzrag21abgvslFlfcebcfPunatrqRi:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I2_025OfTaffZrnfherzragPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner4taff4I2_025OfTaffZrnfherzragPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner4taff4I2_025OfTaffZrnfherzragPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner4taff4I2_025OfTaffZrnfherzragPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -4818,7 +4818,7 @@
 b__MGPA7naqebvq8uneqjner4taff4I2_017OaUjNTaffPnyyonpxR0_AF0_9OUjOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff4I2_06OfTaffR
+.weak b__MGIA7naqebvq8uneqjner4taff4I2_06OfTaffR
 .type b__MGIA7naqebvq8uneqjner4taff4I2_06OfTaffR,%object
 b__MGIA7naqebvq8uneqjner4taff4I2_06OfTaffR:
 .space __SIZEOF_POINTER__
@@ -4848,17 +4848,17 @@
 b__MA7naqebvq8uneqjner4taff4I2_027OcUjTaffZrnfherzragPnyyonpx17taffZrnfherzragPoREXAF1_4I1_124VTaffZrnfherzragPnyyonpx8TaffQngnR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_013VTaffPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_013VTaffPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_013VTaffPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_013VTaffPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_010VTaffQrohtRAF_4uvqy4onfr4I1_05VOnfrRAF4_13OcUjTaffQrohtRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_010VTaffQrohtRAF_4uvqy4onfr4I1_05VOnfrRAF4_13OcUjTaffQrohtRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_010VTaffQrohtRAF_4uvqy4onfr4I1_05VOnfrRAF4_13OcUjTaffQrohtRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_010VTaffQrohtRAF_4uvqy4onfr4I1_05VOnfrRAF4_13OcUjTaffQrohtRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_016VTaffZrnfherzragRAF3_4I1_116VTaffZrnfherzragRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_016VTaffZrnfherzragRAF3_4I1_116VTaffZrnfherzragRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_016VTaffZrnfherzragRAF3_4I1_116VTaffZrnfherzragRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff4I2_016VTaffZrnfherzragRAF3_4I1_116VTaffZrnfherzragRAF4_19OcUjTaffZrnfherzragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -4873,7 +4873,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_012OcUjNTaffEvy18hcqngrArgjbexFgngrRoAF1_4I1_09VNTaffEvy11ArgjbexGlcrRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_013VTaffOngpuvatRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_013VTaffOngpuvatRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_013VTaffOngpuvatRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff4I2_013VTaffOngpuvatRiRRAF_2fcVG_RRF8_:
 nop
@@ -4893,7 +4893,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_06VNTaff13gelTrgFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -4918,7 +4918,7 @@
 b__MA7naqebvq8uneqjner4taff4I2_016OcUjTaffPnyyonpx24_uvqy_taffYbpngvbaPo_2_0RCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeREXAF2_12TaffYbpngvbaR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRAF3_27OcUjTaffZrnfherzragPnyyonpxRAF3_27OaUjTaffZrnfherzragPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRAF3_27OcUjTaffZrnfherzragPnyyonpxRAF3_27OaUjTaffZrnfherzragPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRAF3_27OcUjTaffZrnfherzragPnyyonpxRAF3_27OaUjTaffZrnfherzragPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff4I2_024VTaffZrnfherzragPnyyonpxRAF3_27OcUjTaffZrnfherzragPnyyonpxRAF3_27OaUjTaffZrnfherzragPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_042.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_042.S
index 5798fd7..e3eaa94 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_042.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_042.S
@@ -28,7 +28,7 @@
 b__MA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_026OcUjZrnfherzragPbeerpgvbaf20_uvqy_frgPbeerpgvbafRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeREXAF3_22ZrnfherzragPbeerpgvbafR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -118,7 +118,7 @@
 b__MA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_034OcUjZrnfherzragPbeerpgvbafPnyyonpxP1REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -263,7 +263,7 @@
 b__MA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_026OaUjZrnfherzragPbeerpgvbaf17_uvqy_frgPnyyonpxRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCFN_AFg3__18shapgvbaVSiEFN_RRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -278,7 +278,7 @@
 b__MGua32_A7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_034OaUjZrnfherzragPbeerpgvbafPnyyonpxQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_031VZrnfherzragPbeerpgvbafPnyyonpxRAF4_34OcUjZrnfherzragPbeerpgvbafPnyyonpxRAF4_34OaUjZrnfherzragPbeerpgvbafPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_031VZrnfherzragPbeerpgvbafPnyyonpxRAF4_34OcUjZrnfherzragPbeerpgvbafPnyyonpxRAF4_34OaUjZrnfherzragPbeerpgvbafPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_031VZrnfherzragPbeerpgvbafPnyyonpxRAF4_34OcUjZrnfherzragPbeerpgvbafPnyyonpxRAF4_34OaUjZrnfherzragPbeerpgvbafPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_031VZrnfherzragPbeerpgvbafPnyyonpxRAF4_34OcUjZrnfherzragPbeerpgvbafPnyyonpxRAF4_34OaUjZrnfherzragPbeerpgvbafPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -293,7 +293,7 @@
 b__MGPA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_034OcUjZrnfherzragPbeerpgvbafPnyyonpxR16_AF0_11OcUjErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -368,7 +368,7 @@
 b__MA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_031VZrnfherzragPbeerpgvbafPnyyonpx10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_024OfZrnfherzragPbeerpgvbafR0_AF3_23VZrnfherzragPbeerpgvbafR
+.weak b__MGPA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_024OfZrnfherzragPbeerpgvbafR0_AF3_23VZrnfherzragPbeerpgvbafR
 .type b__MGPA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_024OfZrnfherzragPbeerpgvbafR0_AF3_23VZrnfherzragPbeerpgvbafR,%object
 b__MGPA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_024OfZrnfherzragPbeerpgvbafR0_AF3_23VZrnfherzragPbeerpgvbafR:
 .space __SIZEOF_POINTER__
@@ -443,7 +443,7 @@
 b__MA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_034OcUjZrnfherzragPbeerpgvbafPnyyonpx11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_031VZrnfherzragPbeerpgvbafPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_34OcUjZrnfherzragPbeerpgvbafPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_031VZrnfherzragPbeerpgvbafPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_34OcUjZrnfherzragPbeerpgvbafPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_031VZrnfherzragPbeerpgvbafPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_34OcUjZrnfherzragPbeerpgvbafPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_031VZrnfherzragPbeerpgvbafPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_34OcUjZrnfherzragPbeerpgvbafPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -458,7 +458,7 @@
 b__MA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_026OaUjZrnfherzragPbeerpgvbafQ1Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -478,17 +478,17 @@
 b__MA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_024OfZrnfherzragPbeerpgvbafP1RAF_2fcVAF3_23VZrnfherzragPbeerpgvbafRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRAF_4uvqy4onfr4I1_05VOnfrRAF5_26OcUjZrnfherzragPbeerpgvbafRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRAF_4uvqy4onfr4I1_05VOnfrRAF5_26OcUjZrnfherzragPbeerpgvbafRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRAF_4uvqy4onfr4I1_05VOnfrRAF5_26OcUjZrnfherzragPbeerpgvbafRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRAF_4uvqy4onfr4I1_05VOnfrRAF5_26OcUjZrnfherzragPbeerpgvbafRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -508,12 +508,12 @@
 b__MA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbaf8pnfgSebzREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRRo:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_024OfZrnfherzragPbeerpgvbafR
+.weak b__MGIA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_024OfZrnfherzragPbeerpgvbafR
 .type b__MGIA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_024OfZrnfherzragPbeerpgvbafR,%object
 b__MGIA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_024OfZrnfherzragPbeerpgvbafR:
 .space __SIZEOF_POINTER__
@@ -663,12 +663,12 @@
 b__MA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_026OcUjZrnfherzragPbeerpgvbaf4cvatRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_026OcUjZrnfherzragPbeerpgvbafRAF5_23VZrnfherzragPbeerpgvbafRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_026OcUjZrnfherzragPbeerpgvbafRAF5_23VZrnfherzragPbeerpgvbafRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_026OcUjZrnfherzragPbeerpgvbafRAF5_23VZrnfherzragPbeerpgvbafRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_026OcUjZrnfherzragPbeerpgvbafRAF5_23VZrnfherzragPbeerpgvbafRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -678,7 +678,7 @@
 b__MA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_031VZrnfherzragPbeerpgvbafPnyyonpx8pnfgSebzREXAF_2fcVF4_RRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_034OcUjZrnfherzragPbeerpgvbafPnyyonpxRAF5_31VZrnfherzragPbeerpgvbafPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_034OcUjZrnfherzragPbeerpgvbafPnyyonpxRAF5_31VZrnfherzragPbeerpgvbafPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_034OcUjZrnfherzragPbeerpgvbafPnyyonpxRAF5_31VZrnfherzragPbeerpgvbafPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_034OcUjZrnfherzragPbeerpgvbafPnyyonpxRAF5_31VZrnfherzragPbeerpgvbafPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -693,7 +693,7 @@
 b__MA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbaf24ertvfgreSbeAbgvsvpngvbafREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXAF_2fcVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -703,7 +703,7 @@
 b__MA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_031VZrnfherzragPbeerpgvbafPnyyonpx12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_032OfZrnfherzragPbeerpgvbafPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_032OfZrnfherzragPbeerpgvbafPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_032OfZrnfherzragPbeerpgvbafPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_032OfZrnfherzragPbeerpgvbafPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -733,12 +733,12 @@
 b__MGPA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_034OcUjZrnfherzragPbeerpgvbafPnyyonpxR0_AF3_31VZrnfherzragPbeerpgvbafPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_031VZrnfherzragPbeerpgvbafPnyyonpxRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_031VZrnfherzragPbeerpgvbafPnyyonpxRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_031VZrnfherzragPbeerpgvbafPnyyonpxRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff23zrnfherzrag_pbeerpgvbaf4I1_031VZrnfherzragPbeerpgvbafPnyyonpxRiRRAF_2fcVG_RRF9_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -768,7 +768,7 @@
 b__MA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_026OcUjZrnfherzragPbeerpgvbaf21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -783,7 +783,7 @@
 b__MA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_031VZrnfherzragPbeerpgvbafPnyyonpx24ertvfgreSbeAbgvsvpngvbafREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXAF_2fcVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_032OfZrnfherzragPbeerpgvbafPnyyonpxR0_AF3_31VZrnfherzragPbeerpgvbafPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_032OfZrnfherzragPbeerpgvbafPnyyonpxR0_AF3_31VZrnfherzragPbeerpgvbafPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_032OfZrnfherzragPbeerpgvbafPnyyonpxR0_AF3_31VZrnfherzragPbeerpgvbafPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_032OfZrnfherzragPbeerpgvbafPnyyonpxR0_AF3_31VZrnfherzragPbeerpgvbafPnyyonpxR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_043.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_043.S
index d1e9f50..c15d6d0 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_043.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_043.S
@@ -8,7 +8,7 @@
 b__MA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_025OaUjTaffIvfvovyvglPbageby17_uvqy_frgPnyyonpxRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCFN_AFg3__18shapgvbaVSiEFN_RRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -18,7 +18,7 @@
 b__MA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_030VTaffIvfvovyvglPbagebyPnyyonpx8pnfgSebzREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -33,7 +33,7 @@
 b__MA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_033OcUjTaffIvfvovyvglPbagebyPnyyonpx5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff18ivfvovyvgl_pbageby4I1_030VTaffIvfvovyvglPbagebyPnyyonpxRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff18ivfvovyvgl_pbageby4I1_030VTaffIvfvovyvglPbagebyPnyyonpxRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff18ivfvovyvgl_pbageby4I1_030VTaffIvfvovyvglPbagebyPnyyonpxRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_4taff18ivfvovyvgl_pbageby4I1_030VTaffIvfvovyvglPbagebyPnyyonpxRiRRAF_2fcVG_RRF9_:
 nop
@@ -88,7 +88,7 @@
 b__MA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_023OfTaffIvfvovyvglPbagebyP2RAF_2fcVAF3_22VTaffIvfvovyvglPbagebyRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -108,7 +108,7 @@
 b__MGi0_a40_A7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_033OcUjTaffIvfvovyvglPbagebyPnyyonpx15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff18ivfvovyvgl_pbageby4I1_030VTaffIvfvovyvglPbagebyPnyyonpxRAF4_33OcUjTaffIvfvovyvglPbagebyPnyyonpxRAF4_33OaUjTaffIvfvovyvglPbagebyPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff18ivfvovyvgl_pbageby4I1_030VTaffIvfvovyvglPbagebyPnyyonpxRAF4_33OcUjTaffIvfvovyvglPbagebyPnyyonpxRAF4_33OaUjTaffIvfvovyvglPbagebyPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff18ivfvovyvgl_pbageby4I1_030VTaffIvfvovyvglPbagebyPnyyonpxRAF4_33OcUjTaffIvfvovyvglPbagebyPnyyonpxRAF4_33OaUjTaffIvfvovyvglPbagebyPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_4taff18ivfvovyvgl_pbageby4I1_030VTaffIvfvovyvglPbagebyPnyyonpxRAF4_33OcUjTaffIvfvovyvglPbagebyPnyyonpxRAF4_33OaUjTaffIvfvovyvglPbagebyPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -128,7 +128,7 @@
 b__MA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_030VTaffIvfvovyvglPbagebyPnyyonpx5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_031OfTaffIvfvovyvglPbagebyPnyyonpxR0_AF3_30VTaffIvfvovyvglPbagebyPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_031OfTaffIvfvovyvglPbagebyPnyyonpxR0_AF3_30VTaffIvfvovyvglPbagebyPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_031OfTaffIvfvovyvglPbagebyPnyyonpxR0_AF3_30VTaffIvfvovyvglPbagebyPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_031OfTaffIvfvovyvglPbagebyPnyyonpxR0_AF3_30VTaffIvfvovyvglPbagebyPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -163,7 +163,7 @@
 b__MA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_025OcUjTaffIvfvovyvglPbageby12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -213,7 +213,7 @@
 b__MA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbageby13gelTrgFreivprREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -243,12 +243,12 @@
 b__MA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_023OfTaffIvfvovyvglPbagebyP1RAF_2fcVAF3_22VTaffIvfvovyvglPbagebyRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -283,7 +283,7 @@
 b__MA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_033OaUjTaffIvfvovyvglPbagebyPnyyonpxP1REXAF_2fcVAF3_30VTaffIvfvovyvglPbagebyPnyyonpxRRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_031OfTaffIvfvovyvglPbagebyPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_031OfTaffIvfvovyvglPbagebyPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_031OfTaffIvfvovyvglPbagebyPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_031OfTaffIvfvovyvglPbagebyPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -298,7 +298,7 @@
 b__MA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_025OaUjTaffIvfvovyvglPbageby12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_023OfTaffIvfvovyvglPbagebyR0_AF3_22VTaffIvfvovyvglPbagebyR
+.weak b__MGPA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_023OfTaffIvfvovyvglPbagebyR0_AF3_22VTaffIvfvovyvglPbagebyR
 .type b__MGPA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_023OfTaffIvfvovyvglPbagebyR0_AF3_22VTaffIvfvovyvglPbagebyR,%object
 b__MGPA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_023OfTaffIvfvovyvglPbagebyR0_AF3_22VTaffIvfvovyvglPbagebyR:
 .space __SIZEOF_POINTER__
@@ -373,7 +373,7 @@
 b__MA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbageby5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRAF_4uvqy4onfr4I1_05VOnfrRAF5_25OcUjTaffIvfvovyvglPbagebyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRAF_4uvqy4onfr4I1_05VOnfrRAF5_25OcUjTaffIvfvovyvglPbagebyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRAF_4uvqy4onfr4I1_05VOnfrRAF5_25OcUjTaffIvfvovyvglPbagebyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRAF_4uvqy4onfr4I1_05VOnfrRAF5_25OcUjTaffIvfvovyvglPbagebyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -383,7 +383,7 @@
 b__MGPA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_025OaUjTaffIvfvovyvglPbagebyR0_AF0_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff18ivfvovyvgl_pbageby4I1_030VTaffIvfvovyvglPbagebyPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_33OcUjTaffIvfvovyvglPbagebyPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff18ivfvovyvgl_pbageby4I1_030VTaffIvfvovyvglPbagebyPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_33OcUjTaffIvfvovyvglPbagebyPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff18ivfvovyvgl_pbageby4I1_030VTaffIvfvovyvglPbagebyPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_33OcUjTaffIvfvovyvglPbagebyPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_4taff18ivfvovyvgl_pbageby4I1_030VTaffIvfvovyvglPbagebyPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_33OcUjTaffIvfvovyvglPbagebyPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -423,12 +423,12 @@
 b__MA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_025OaUjTaffIvfvovyvglPbagebyP2REXAF_2fcVAF3_22VTaffIvfvovyvglPbagebyRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -458,7 +458,7 @@
 b__MA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_033OcUjTaffIvfvovyvglPbagebyPnyyonpx17_uvqy_asjAbgvslPoRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeREXAF3_30VTaffIvfvovyvglPbagebyPnyyonpx15AsjAbgvsvpngvbaR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff18ivfvovyvgl_pbageby4I1_033OcUjTaffIvfvovyvglPbagebyPnyyonpxRAF5_30VTaffIvfvovyvglPbagebyPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff18ivfvovyvgl_pbageby4I1_033OcUjTaffIvfvovyvglPbagebyPnyyonpxRAF5_30VTaffIvfvovyvglPbagebyPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff18ivfvovyvgl_pbageby4I1_033OcUjTaffIvfvovyvglPbagebyPnyyonpxRAF5_30VTaffIvfvovyvglPbagebyPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff18ivfvovyvgl_pbageby4I1_033OcUjTaffIvfvovyvglPbagebyPnyyonpxRAF5_30VTaffIvfvovyvglPbagebyPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -493,12 +493,12 @@
 b__MA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_023OfTaffIvfvovyvglPbageby13nqqBarjnlGnfxRAFg3__18shapgvbaVSiiRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_023OfTaffIvfvovyvglPbagebyR
+.weak b__MGIA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_023OfTaffIvfvovyvglPbagebyR
 .type b__MGIA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_023OfTaffIvfvovyvglPbagebyR,%object
 b__MGIA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_023OfTaffIvfvovyvglPbagebyR:
 .space __SIZEOF_POINTER__
@@ -588,7 +588,7 @@
 b__MA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_025OcUjTaffIvfvovyvglPbageby4cvatRi:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -643,7 +643,7 @@
 b__MGua32_A7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_033OaUjTaffIvfvovyvglPbagebyPnyyonpxQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -783,7 +783,7 @@
 b__MA7naqebvq8uneqjner4taff18ivfvovyvgl_pbageby4I1_025OcUjTaffIvfvovyvglPbagebyP1REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff18ivfvovyvgl_pbageby4I1_025OcUjTaffIvfvovyvglPbagebyRAF5_22VTaffIvfvovyvglPbagebyRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff18ivfvovyvgl_pbageby4I1_025OcUjTaffIvfvovyvglPbagebyRAF5_22VTaffIvfvovyvglPbagebyRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff18ivfvovyvgl_pbageby4I1_025OcUjTaffIvfvovyvglPbagebyRAF5_22VTaffIvfvovyvglPbagebyRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_4taff18ivfvovyvgl_pbageby4I1_025OcUjTaffIvfvovyvglPbagebyRAF5_22VTaffIvfvovyvglPbagebyRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_044.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_044.S
index 7b05eb3..8a024f7 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_044.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_044.S
@@ -28,7 +28,7 @@
 b__MA7naqebvq8uneqjner5vachg10pynffvsvre4I1_019OcUjVachgPynffvsvre5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5vachg10pynffvsvre4I1_019OcUjVachgPynffvsvreRAF5_16VVachgPynffvsvreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5vachg10pynffvsvre4I1_019OcUjVachgPynffvsvreRAF5_16VVachgPynffvsvreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5vachg10pynffvsvre4I1_019OcUjVachgPynffvsvreRAF5_16VVachgPynffvsvreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5vachg10pynffvsvre4I1_019OcUjVachgPynffvsvreRAF5_16VVachgPynffvsvreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -53,12 +53,12 @@
 b__MA7naqebvq8uneqjner5vachg10pynffvsvre4I1_019OcUjVachgPynffvsvre12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner5vachg10pynffvsvre4I1_017OfVachgPynffvsvreR0_AF3_16VVachgPynffvsvreR
+.weak b__MGPA7naqebvq8uneqjner5vachg10pynffvsvre4I1_017OfVachgPynffvsvreR0_AF3_16VVachgPynffvsvreR
 .type b__MGPA7naqebvq8uneqjner5vachg10pynffvsvre4I1_017OfVachgPynffvsvreR0_AF3_16VVachgPynffvsvreR,%object
 b__MGPA7naqebvq8uneqjner5vachg10pynffvsvre4I1_017OfVachgPynffvsvreR0_AF3_16VVachgPynffvsvreR:
 .space __SIZEOF_POINTER__
@@ -123,7 +123,7 @@
 b__MA7naqebvq8uneqjner5vachg10pynffvsvre4I1_019OcUjVachgPynffvsvre13hayvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -153,7 +153,7 @@
 b__MA7naqebvq8uneqjner5vachg10pynffvsvre4I1_019OcUjVachgPynffvsvre11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -178,7 +178,7 @@
 b__MA7naqebvq8uneqjner5vachg10pynffvsvre4I1_016VVachgPynffvsvre8pnfgSebzREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -198,7 +198,7 @@
 b__MA7naqebvq8uneqjner5vachg10pynffvsvre4I1_016VVachgPynffvsvre21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -213,7 +213,7 @@
 b__MA7naqebvq8uneqjner5vachg10pynffvsvre4I1_019OaUjVachgPynffvsvreQ0Ri:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -228,7 +228,7 @@
 b__MA7naqebvq8uneqjner5vachg10pynffvsvre4I1_019OcUjVachgPynffvsvreP2REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -243,7 +243,7 @@
 b__MA7naqebvq8uneqjner5vachg10pynffvsvre4I1_016VVachgPynffvsvre17ertvfgreNfFreivprREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5vachg10pynffvsvre4I1_016VVachgPynffvsvreRAF_4uvqy4onfr4I1_05VOnfrRAF5_19OcUjVachgPynffvsvreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5vachg10pynffvsvre4I1_016VVachgPynffvsvreRAF_4uvqy4onfr4I1_05VOnfrRAF5_19OcUjVachgPynffvsvreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5vachg10pynffvsvre4I1_016VVachgPynffvsvreRAF_4uvqy4onfr4I1_05VOnfrRAF5_19OcUjVachgPynffvsvreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5vachg10pynffvsvre4I1_016VVachgPynffvsvreRAF_4uvqy4onfr4I1_05VOnfrRAF5_19OcUjVachgPynffvsvreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -263,7 +263,7 @@
 b__MA7naqebvq8uneqjner5vachg10pynffvsvre4I1_019OcUjVachgPynffvsvre4cvatRi:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -323,7 +323,7 @@
 b__MA7naqebvq8uneqjner5vachg10pynffvsvre4I1_016VVachgPynffvsvre13hayvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -358,7 +358,7 @@
 b__MA7naqebvq8uneqjner5vachg10pynffvsvre4I1_019OcUjVachgPynffvsvre17_uvqy_erfrgQrivprRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -413,12 +413,12 @@
 b__MA7naqebvq8uneqjner5vachg10pynffvsvre4I1_019OcUjVachgPynffvsvre21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -433,7 +433,7 @@
 b__MGPA7naqebvq8uneqjner5vachg10pynffvsvre4I1_019OaUjVachgPynffvsvreR0_AF0_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner5vachg10pynffvsvre4I1_017OfVachgPynffvsvreR
+.weak b__MGIA7naqebvq8uneqjner5vachg10pynffvsvre4I1_017OfVachgPynffvsvreR
 .type b__MGIA7naqebvq8uneqjner5vachg10pynffvsvre4I1_017OfVachgPynffvsvreR,%object
 b__MGIA7naqebvq8uneqjner5vachg10pynffvsvre4I1_017OfVachgPynffvsvreR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_045.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_045.S
index ab715e7..282d563 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_045.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_045.S
@@ -13,7 +13,7 @@
 b__MA7naqebvq8uneqjner2ve4I1_014OaUjPbafhzreVe14_uvqy_genafzvgRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -43,7 +43,7 @@
 b__MA7naqebvq8uneqjner2ve4I1_011VPbafhzreVe21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2ve4I1_011VPbafhzreVeRAF_4uvqy4onfr4I1_05VOnfrRAF4_14OcUjPbafhzreVeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2ve4I1_011VPbafhzreVeRAF_4uvqy4onfr4I1_05VOnfrRAF4_14OcUjPbafhzreVeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2ve4I1_011VPbafhzreVeRAF_4uvqy4onfr4I1_05VOnfrRAF4_14OcUjPbafhzreVeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2ve4I1_011VPbafhzreVeRAF_4uvqy4onfr4I1_05VOnfrRAF4_14OcUjPbafhzreVeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -68,7 +68,7 @@
 b__MA7naqebvq8uneqjner2ve4I1_014OaUjPbafhzreVe4cvatRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -88,7 +88,7 @@
 b__MA7naqebvq8uneqjner2ve4I1_014OaUjPbafhzreVe10baGenafnpgRwEXAF0_6CnepryRCF4_wAFg3__18shapgvbaVSiEF4_RRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -113,7 +113,7 @@
 b__MA7naqebvq8uneqjner2ve4I1_014OcUjPbafhzreVe8genafzvgRvEXAF0_8uvqy_irpVvRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -138,7 +138,7 @@
 b__MA7naqebvq8uneqjner2ve4I1_014OcUjPbafhzreVe21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -163,7 +163,7 @@
 b__MGi0_a40_A7naqebvq8uneqjner2ve4I1_014OcUjPbafhzreVe15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -198,7 +198,7 @@
 b__MA7naqebvq8uneqjner2ve4I1_014OcUjPbafhzreVe4cvatRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -228,12 +228,12 @@
 b__MA7naqebvq8uneqjner2ve4I1_014OcUjPbafhzreVeP2REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner2ve4I1_012OfPbafhzreVeR0_AF2_11VPbafhzreVeR
+.weak b__MGPA7naqebvq8uneqjner2ve4I1_012OfPbafhzreVeR0_AF2_11VPbafhzreVeR
 .type b__MGPA7naqebvq8uneqjner2ve4I1_012OfPbafhzreVeR0_AF2_11VPbafhzreVeR,%object
 b__MGPA7naqebvq8uneqjner2ve4I1_012OfPbafhzreVeR0_AF2_11VPbafhzreVeR:
 .space __SIZEOF_POINTER__
@@ -318,7 +318,7 @@
 b__MA7naqebvq8uneqjner2ve4I1_014OcUjPbafhzreVe5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -348,7 +348,7 @@
 b__MA7naqebvq8uneqjner2ve4I1_011VPbafhzreVe4cvatRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -363,7 +363,7 @@
 b__MA7naqebvq8uneqjner2ve4I1_014OaUjPbafhzreVeQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2ve4I1_014OcUjPbafhzreVeRAF4_11VPbafhzreVeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2ve4I1_014OcUjPbafhzreVeRAF4_11VPbafhzreVeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2ve4I1_014OcUjPbafhzreVeRAF4_11VPbafhzreVeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2ve4I1_014OcUjPbafhzreVeRAF4_11VPbafhzreVeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -373,7 +373,7 @@
 b__MGPA7naqebvq8uneqjner2ve4I1_014OcUjPbafhzreVeR16_AF0_11OcUjErsOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner2ve4I1_012OfPbafhzreVeR
+.weak b__MGIA7naqebvq8uneqjner2ve4I1_012OfPbafhzreVeR
 .type b__MGIA7naqebvq8uneqjner2ve4I1_012OfPbafhzreVeR,%object
 b__MGIA7naqebvq8uneqjner2ve4I1_012OfPbafhzreVeR:
 .space __SIZEOF_POINTER__
@@ -403,12 +403,12 @@
 b__MA7naqebvq8uneqjner2ve4I1_014OcUjPbafhzreVe19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_046.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_046.S
index e1a34cf..001ce11 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_046.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_046.S
@@ -38,7 +38,7 @@
 b__MA7naqebvq8uneqjner5yvtug4I2_06VYvtug12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -58,12 +58,12 @@
 b__MA7naqebvq8uneqjner5yvtug4I2_09OaUjYvtug12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5yvtug4I2_09OcUjYvtugRAF4_6VYvtugRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5yvtug4I2_09OcUjYvtugRAF4_6VYvtugRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5yvtug4I2_09OcUjYvtugRAF4_6VYvtugRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5yvtug4I2_09OcUjYvtugRAF4_6VYvtugRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner5yvtug4I2_07OfYvtugR
+.weak b__MGIA7naqebvq8uneqjner5yvtug4I2_07OfYvtugR
 .type b__MGIA7naqebvq8uneqjner5yvtug4I2_07OfYvtugR,%object
 b__MGIA7naqebvq8uneqjner5yvtug4I2_07OfYvtugR:
 .space __SIZEOF_POINTER__
@@ -93,12 +93,12 @@
 b__MA7naqebvq8uneqjner5yvtug4I2_06VYvtug13hayvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5yvtug4I2_06VYvtugRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjYvtugRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5yvtug4I2_06VYvtugRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjYvtugRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5yvtug4I2_06VYvtugRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjYvtugRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5yvtug4I2_06VYvtugRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjYvtugRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -113,7 +113,7 @@
 b__MA7naqebvq8uneqjner5yvtug4I2_06VYvtug8pnfgSebzREXAF_2fcVF3_RRo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -138,7 +138,7 @@
 b__MA7naqebvq8uneqjner5yvtug4I2_09OcUjYvtug14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -153,7 +153,7 @@
 b__MA7naqebvq8uneqjner5yvtug4I2_09OcUjYvtug19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -168,7 +168,7 @@
 b__MA7naqebvq8uneqjner5yvtug4I2_09OcUjYvtug5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -188,7 +188,7 @@
 b__MA7naqebvq8uneqjner5yvtug4I2_09OaUjYvtug4cvatRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -228,7 +228,7 @@
 b__MA7naqebvq8uneqjner5yvtug4I2_09OaUjYvtug23_uvqy_trgFhccbegrqGlcrfRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -238,7 +238,7 @@
 b__MGPA7naqebvq8uneqjner5yvtug4I2_06VYvtugR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8uneqjner5yvtug4I2_07OfYvtugR0_AF2_6VYvtugR
+.weak b__MGPA7naqebvq8uneqjner5yvtug4I2_07OfYvtugR0_AF2_6VYvtugR
 .type b__MGPA7naqebvq8uneqjner5yvtug4I2_07OfYvtugR0_AF2_6VYvtugR,%object
 b__MGPA7naqebvq8uneqjner5yvtug4I2_07OfYvtugR0_AF2_6VYvtugR:
 .space __SIZEOF_POINTER__
@@ -328,7 +328,7 @@
 b__MA7naqebvq8uneqjner5yvtug4I2_09OaUjYvtugQ0Ri:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -373,7 +373,7 @@
 b__MA7naqebvq8uneqjner5yvtug4I2_09OcUjYvtug4cvatRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -413,12 +413,12 @@
 b__MA7naqebvq8uneqjner5yvtug4I2_09OcUjYvtug17trgFhccbegrqGlcrfRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF2_4GlcrRRRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_047.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_047.S
index 250bf84..61d59c8 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_047.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_047.S
@@ -38,7 +38,7 @@
 b__MGPA7naqebvq8uneqjner5cbjre4I1_09OcUjCbjreR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner5cbjre4I1_07OfCbjreR
+.weak b__MGIA7naqebvq8uneqjner5cbjre4I1_07OfCbjreR
 .type b__MGIA7naqebvq8uneqjner5cbjre4I1_07OfCbjreR,%object
 b__MGIA7naqebvq8uneqjner5cbjre4I1_07OfCbjreR:
 .space __SIZEOF_POINTER__
@@ -108,7 +108,7 @@
 b__MA7naqebvq8uneqjner5cbjre4I1_09OcUjCbjre21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -118,12 +118,12 @@
 b__MGPA7naqebvq8uneqjner5cbjre4I1_09OaUjCbjreR0_AF0_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -138,7 +138,7 @@
 b__MA7naqebvq8uneqjner5cbjre4I1_09OaUjCbjre16_uvqy_frgSrngherRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -153,7 +153,7 @@
 b__MGPA7naqebvq8uneqjner5cbjre4I1_09OcUjCbjreR0_AF2_6VCbjreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -173,7 +173,7 @@
 b__MA7naqebvq8uneqjner5cbjre4I1_07OfCbjreP2RAF_2fcVAF2_6VCbjreRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -218,7 +218,7 @@
 b__MA7naqebvq8uneqjner5cbjre4I1_09OaUjCbjreQ2Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -278,7 +278,7 @@
 b__MA7naqebvq8uneqjner5cbjre4I1_09OcUjCbjreP2REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -298,12 +298,12 @@
 b__MA7naqebvq8uneqjner5cbjre4I1_09OcUjCbjre15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner5cbjre4I1_07OfCbjreR0_AF2_6VCbjreR
+.weak b__MGPA7naqebvq8uneqjner5cbjre4I1_07OfCbjreR0_AF2_6VCbjreR
 .type b__MGPA7naqebvq8uneqjner5cbjre4I1_07OfCbjreR0_AF2_6VCbjreR,%object
 b__MGPA7naqebvq8uneqjner5cbjre4I1_07OfCbjreR0_AF2_6VCbjreR:
 .space __SIZEOF_POINTER__
@@ -333,7 +333,7 @@
 b__MA7naqebvq8uneqjner5cbjre4I1_09OcUjCbjre20_uvqy_frgVagrenpgvirRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5cbjre4I1_09OcUjCbjreRAF4_6VCbjreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5cbjre4I1_09OcUjCbjreRAF4_6VCbjreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5cbjre4I1_09OcUjCbjreRAF4_6VCbjreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5cbjre4I1_09OcUjCbjreRAF4_6VCbjreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -373,7 +373,7 @@
 b__MA7naqebvq8uneqjner5cbjre4I1_09OcUjCbjre4cvatRi:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -403,7 +403,7 @@
 b__MA7naqebvq8uneqjner5cbjre4I1_09OcUjCbjre10frgSrngherRAF2_7SrngherRo:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -448,12 +448,12 @@
 b__MA7naqebvq8uneqjner5cbjre4I1_06VCbjre24ertvfgreSbeAbgvsvpngvbafREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRREXAF_2fcVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5cbjre4I1_06VCbjreRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjCbjreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5cbjre4I1_06VCbjreRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjCbjreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5cbjre4I1_06VCbjreRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjCbjreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5cbjre4I1_06VCbjreRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjCbjreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_048.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_048.S
index 871425e..fa7c3ca 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_048.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_048.S
@@ -13,12 +13,12 @@
 b__MA7naqebvq8uneqjner5cbjre4I1_19OcUjCbjre20_uvqy_cbjreUvagNflapRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRAF1_4I1_09CbjreUvagRv:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -33,12 +33,12 @@
 b__MA7naqebvq8uneqjner5cbjre4I1_19OaUjCbjre4cvatRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -68,7 +68,7 @@
 b__MA7naqebvq8uneqjner5cbjre4I1_16VCbjre24ertvfgreSbeAbgvsvpngvbafREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRREXAF_2fcVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -113,17 +113,17 @@
 b__MA7naqebvq8uneqjner5cbjre4I1_19OcUjCbjre13hayvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5cbjre4I1_19OcUjCbjreRAF4_6VCbjreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5cbjre4I1_19OcUjCbjreRAF4_6VCbjreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5cbjre4I1_19OcUjCbjreRAF4_6VCbjreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5cbjre4I1_19OcUjCbjreRAF4_6VCbjreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -163,7 +163,7 @@
 b__MA7naqebvq8uneqjner5cbjre4I1_16VCbjre13gelTrgFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRo:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner5cbjre4I1_17OfCbjreR
+.weak b__MGIA7naqebvq8uneqjner5cbjre4I1_17OfCbjreR
 .type b__MGIA7naqebvq8uneqjner5cbjre4I1_17OfCbjreR,%object
 b__MGIA7naqebvq8uneqjner5cbjre4I1_17OfCbjreR:
 .space __SIZEOF_POINTER__
@@ -313,17 +313,17 @@
 b__MA7naqebvq8uneqjner5cbjre4I1_19OcUjCbjre21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5cbjre4I1_16VCbjreRAF3_4I1_06VCbjreRAF4_9OcUjCbjreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5cbjre4I1_16VCbjreRAF3_4I1_06VCbjreRAF4_9OcUjCbjreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5cbjre4I1_16VCbjreRAF3_4I1_06VCbjreRAF4_9OcUjCbjreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5cbjre4I1_16VCbjreRAF3_4I1_06VCbjreRAF4_9OcUjCbjreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5cbjre4I1_16VCbjreRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjCbjreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5cbjre4I1_16VCbjreRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjCbjreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5cbjre4I1_16VCbjreRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjCbjreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5cbjre4I1_16VCbjreRAF_4uvqy4onfr4I1_05VOnfrRAF4_9OcUjCbjreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -388,12 +388,12 @@
 b__MA7naqebvq8uneqjner5cbjre4I1_17OfCbjreP1RAF_2fcVAF2_6VCbjreRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -458,17 +458,17 @@
 b__MA7naqebvq8uneqjner5cbjre4I1_19OcUjCbjreP2REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner5cbjre4I1_17OfCbjreR0_AF2_6VCbjreR
+.weak b__MGPA7naqebvq8uneqjner5cbjre4I1_17OfCbjreR0_AF2_6VCbjreR
 .type b__MGPA7naqebvq8uneqjner5cbjre4I1_17OfCbjreR0_AF2_6VCbjreR,%object
 b__MGPA7naqebvq8uneqjner5cbjre4I1_17OfCbjreR0_AF2_6VCbjreR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_049.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_049.S
index e4800c4..a5d6d8f 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_049.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_049.S
@@ -8,7 +8,7 @@
 b__MA7naqebvq8uneqjner5cbjre5fgngf4I1_011VCbjreFgngf12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5cbjre5fgngf4I1_011VCbjreFgngfRAF_4uvqy4onfr4I1_05VOnfrRAF5_14OcUjCbjreFgngfRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5cbjre5fgngf4I1_011VCbjreFgngfRAF_4uvqy4onfr4I1_05VOnfrRAF5_14OcUjCbjreFgngfRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5cbjre5fgngf4I1_011VCbjreFgngfRAF_4uvqy4onfr4I1_05VOnfrRAF5_14OcUjCbjreFgngfRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5cbjre5fgngf4I1_011VCbjreFgngfRAF_4uvqy4onfr4I1_05VOnfrRAF5_14OcUjCbjreFgngfRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -28,12 +28,12 @@
 b__MA7naqebvq8uneqjner5cbjre5fgngf4I1_014OcUjCbjreFgngf22_uvqy_fgernzRaretlQngnRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRwwAFg3__18shapgvbaVSiEXAF0_12ZDQrfpevcgbeVAF3_10RaretlQngnRYAF0_8ZDSynibeR1RRRwwAF3_6FgnghfRRRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -53,7 +53,7 @@
 b__MA7naqebvq8uneqjner5cbjre5fgngf4I1_022ernqRzorqqrqSebzCnepryREXAF3_8EnvyVasbREXAF0_6CnepryRzz:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -208,7 +208,7 @@
 b__MA7naqebvq8uneqjner5cbjre5fgngf4I1_014OcUjCbjreFgngf19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -243,7 +243,7 @@
 b__MA7naqebvq8uneqjner5cbjre5fgngf4I1_022ernqRzorqqrqSebzCnepryREXAF3_15CbjreRagvglVasbREXAF0_6CnepryRzz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -268,17 +268,17 @@
 b__MA7naqebvq8uneqjner5cbjre5fgngf4I1_014OcUjCbjreFgngf12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5cbjre5fgngf4I1_014OcUjCbjreFgngfRAF5_11VCbjreFgngfRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5cbjre5fgngf4I1_014OcUjCbjreFgngfRAF5_11VCbjreFgngfRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5cbjre5fgngf4I1_014OcUjCbjreFgngfRAF5_11VCbjreFgngfRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5cbjre5fgngf4I1_014OcUjCbjreFgngfRAF5_11VCbjreFgngfRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner5cbjre5fgngf4I1_012OfCbjreFgngfR
+.weak b__MGIA7naqebvq8uneqjner5cbjre5fgngf4I1_012OfCbjreFgngfR
 .type b__MGIA7naqebvq8uneqjner5cbjre5fgngf4I1_012OfCbjreFgngfR,%object
 b__MGIA7naqebvq8uneqjner5cbjre5fgngf4I1_012OfCbjreFgngfR:
 .space __SIZEOF_POINTER__
@@ -298,17 +298,17 @@
 b__MA7naqebvq8uneqjner5cbjre5fgngf4I1_014OcUjCbjreFgngf11trgEnvyVasbRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF3_8EnvyVasbRRRAF3_6FgnghfRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner5cbjre5fgngf4I1_012OfCbjreFgngfR0_AF3_11VCbjreFgngfR
+.weak b__MGPA7naqebvq8uneqjner5cbjre5fgngf4I1_012OfCbjreFgngfR0_AF3_11VCbjreFgngfR
 .type b__MGPA7naqebvq8uneqjner5cbjre5fgngf4I1_012OfCbjreFgngfR0_AF3_11VCbjreFgngfR,%object
 b__MGPA7naqebvq8uneqjner5cbjre5fgngf4I1_012OfCbjreFgngfR0_AF3_11VCbjreFgngfR:
 .space __SIZEOF_POINTER__
@@ -353,7 +353,7 @@
 b__MA7naqebvq8uneqjner5cbjre5fgngf4I1_014OcUjCbjreFgngf32trgCbjreRagvglFgngrErfvqraplQngnREXAF0_8uvqy_irpVwRRAFg3__18shapgvbaVSiEXAF5_VAF3_31CbjreRagvglFgngrErfvqraplErfhygRRRAF3_6FgnghfRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -363,7 +363,7 @@
 b__MA7naqebvq8uneqjner5cbjre5fgngf4I1_021jevgrRzorqqrqGbCnepryREXAF3_21CbjreRagvglFgngrFcnprRCAF0_6CnepryRzz:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -408,7 +408,7 @@
 b__MA7naqebvq8uneqjner5cbjre5fgngf4I1_014OcUjCbjreFgngf38_uvqy_trgCbjreRagvglFgngrErfvqraplQngnRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeREXAF0_8uvqy_irpVwRRAFg3__18shapgvbaVSiEXAFN_VAF3_31CbjreRagvglFgngrErfvqraplErfhygRRRAF3_6FgnghfRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -438,7 +438,7 @@
 b__MA7naqebvq8uneqjner5cbjre5fgngf4I1_014OcUjCbjreFgngf21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_050.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_050.S
index d5ccb53..1ade973 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_050.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_050.S
@@ -3,7 +3,7 @@
 .data
 .p2align 4
 .data
-.globl b__MGIA7naqebvq8uneqjner7gurezny4I1_09OfGureznyR
+.weak b__MGIA7naqebvq8uneqjner7gurezny4I1_09OfGureznyR
 .type b__MGIA7naqebvq8uneqjner7gurezny4I1_09OfGureznyR,%object
 b__MGIA7naqebvq8uneqjner7gurezny4I1_09OfGureznyR:
 .space __SIZEOF_POINTER__
@@ -78,7 +78,7 @@
 b__MA7naqebvq8uneqjner7gurezny4I1_08VGurezny5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -103,12 +103,12 @@
 b__MA7naqebvq8uneqjner7gurezny4I1_08VGurezny13hayvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -148,7 +148,7 @@
 b__MA7naqebvq8uneqjner7gurezny4I1_09OfGureznyP1RAF_2fcVAF2_8VGureznyRRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -203,7 +203,7 @@
 b__MA7naqebvq8uneqjner7gurezny4I1_08VGurezny8pnfgSebzREXAF_2fcVF3_RRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -228,7 +228,7 @@
 b__MA7naqebvq8uneqjner7gurezny4I1_08VGurezny19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -253,7 +253,7 @@
 b__MA7naqebvq8uneqjner7gurezny4I1_08VGurezny11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -268,7 +268,7 @@
 b__MGua32_A7naqebvq8uneqjner7gurezny4I1_011OaUjGureznyQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_7gurezny4I1_08VGureznyRAF_4uvqy4onfr4I1_05VOnfrRAF4_11OcUjGureznyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_7gurezny4I1_08VGureznyRAF_4uvqy4onfr4I1_05VOnfrRAF4_11OcUjGureznyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_7gurezny4I1_08VGureznyRAF_4uvqy4onfr4I1_05VOnfrRAF4_11OcUjGureznyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_7gurezny4I1_08VGureznyRAF_4uvqy4onfr4I1_05VOnfrRAF4_11OcUjGureznyRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -283,7 +283,7 @@
 b__MA7naqebvq8uneqjner7gurezny4I1_08VGurezny12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -308,7 +308,7 @@
 b__MA7naqebvq8uneqjner7gurezny4I1_011OcUjGurezny14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -373,7 +373,7 @@
 b__MA7naqebvq8uneqjner7gurezny4I1_011OcUjGurezny12trgPchHfntrfRAFg3__18shapgvbaVSiEXAF2_13GureznyFgnghfREXAF0_8uvqy_irpVAF2_8PchHfntrRRRRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -388,7 +388,7 @@
 b__MGPA7naqebvq8uneqjner7gurezny4I1_011OcUjGureznyR16_AF0_11OcUjErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_7gurezny4I1_011OcUjGureznyRAF4_8VGureznyRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_7gurezny4I1_011OcUjGureznyRAF4_8VGureznyRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_7gurezny4I1_011OcUjGureznyRAF4_8VGureznyRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_7gurezny4I1_011OcUjGureznyRAF4_8VGureznyRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -423,12 +423,12 @@
 b__MA7naqebvq8uneqjner7gurezny4I1_08VGurezny12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner7gurezny4I1_09OfGureznyR0_AF2_8VGureznyR
+.weak b__MGPA7naqebvq8uneqjner7gurezny4I1_09OfGureznyR0_AF2_8VGureznyR
 .type b__MGPA7naqebvq8uneqjner7gurezny4I1_09OfGureznyR0_AF2_8VGureznyR,%object
 b__MGPA7naqebvq8uneqjner7gurezny4I1_09OfGureznyR0_AF2_8VGureznyR:
 .space __SIZEOF_POINTER__
@@ -468,7 +468,7 @@
 b__MA7naqebvq8uneqjner7gurezny4I1_08VGurezny10trgFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_051.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_051.S
index c020d85..5dc9038 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_051.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_051.S
@@ -18,12 +18,12 @@
 b__MA7naqebvq8uneqjner2gi3prp4I1_011OcUjUqzvPrp15_uvqy_frgBcgvbaRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRAF3_9BcgvbaXrlRo:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -58,7 +58,7 @@
 b__MGPA7naqebvq8uneqjner2gi3prp4I1_011OcUjUqzvPrpR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -73,7 +73,7 @@
 b__MA7naqebvq8uneqjner2gi3prp4I1_08VUqzvPrp11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -98,7 +98,7 @@
 b__MA7naqebvq8uneqjner2gi3prp4I1_08VUqzvPrp8pnfgSebzREXAF_2fcVF4_RRo:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -108,7 +108,7 @@
 b__MA7naqebvq8uneqjner2gi3prp4I1_017OfUqzvPrpPnyyonpx13nqqBarjnlGnfxRAFg3__18shapgvbaVSiiRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -218,7 +218,7 @@
 b__MGua32_A7naqebvq8uneqjner2gi3prp4I1_019OaUjUqzvPrpPnyyonpxQ1Ri:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -373,7 +373,7 @@
 b__MA7naqebvq8uneqjner2gi3prp4I1_011OcUjUqzvPrp17_uvqy_fraqZrffntrRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeREXAF3_10PrpZrffntrR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2gi3prp4I1_011OcUjUqzvPrpRAF5_8VUqzvPrpRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2gi3prp4I1_011OcUjUqzvPrpRAF5_8VUqzvPrpRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2gi3prp4I1_011OcUjUqzvPrpRAF5_8VUqzvPrpRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2gi3prp4I1_011OcUjUqzvPrpRAF5_8VUqzvPrpRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -453,7 +453,7 @@
 b__MGIA7naqebvq8uneqjner2gi3prp4I1_019OaUjUqzvPrpPnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner2gi3prp4I1_09OfUqzvPrpR
+.weak b__MGIA7naqebvq8uneqjner2gi3prp4I1_09OfUqzvPrpR
 .type b__MGIA7naqebvq8uneqjner2gi3prp4I1_09OfUqzvPrpR,%object
 b__MGIA7naqebvq8uneqjner2gi3prp4I1_09OfUqzvPrpR:
 .space __SIZEOF_POINTER__
@@ -508,7 +508,7 @@
 b__MA7naqebvq8uneqjner2gi3prp4I1_09OfUqzvPrp13nqqBarjnlGnfxRAFg3__18shapgvbaVSiiRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner2gi3prp4I1_09OfUqzvPrpR0_AF3_8VUqzvPrpR
+.weak b__MGPA7naqebvq8uneqjner2gi3prp4I1_09OfUqzvPrpR0_AF3_8VUqzvPrpR
 .type b__MGPA7naqebvq8uneqjner2gi3prp4I1_09OfUqzvPrpR0_AF3_8VUqzvPrpR,%object
 b__MGPA7naqebvq8uneqjner2gi3prp4I1_09OfUqzvPrpR0_AF3_8VUqzvPrpR:
 .space __SIZEOF_POINTER__
@@ -543,7 +543,7 @@
 b__MA7naqebvq8uneqjner2gi3prp4I1_016VUqzvPrpPnyyonpx8pnfgSebzREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRRo:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner2gi3prp4I1_017OfUqzvPrpPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner2gi3prp4I1_017OfUqzvPrpPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner2gi3prp4I1_017OfUqzvPrpPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner2gi3prp4I1_017OfUqzvPrpPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -578,7 +578,7 @@
 b__MGPA7naqebvq8uneqjner2gi3prp4I1_011OcUjUqzvPrpR16_AF0_11OcUjErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2gi3prp4I1_016VUqzvPrpPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_19OcUjUqzvPrpPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2gi3prp4I1_016VUqzvPrpPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_19OcUjUqzvPrpPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2gi3prp4I1_016VUqzvPrpPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_19OcUjUqzvPrpPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2gi3prp4I1_016VUqzvPrpPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_19OcUjUqzvPrpPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -598,7 +598,7 @@
 b__MA7naqebvq8uneqjner2gi3prp4I1_08VUqzvPrp19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -628,7 +628,7 @@
 b__MA7naqebvq8uneqjner2gi3prp4I1_09OfUqzvPrpP2RAF_2fcVAF3_8VUqzvPrpRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2gi3prp4I1_08VUqzvPrpRAF_4uvqy4onfr4I1_05VOnfrRAF5_11OcUjUqzvPrpRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2gi3prp4I1_08VUqzvPrpRAF_4uvqy4onfr4I1_05VOnfrRAF5_11OcUjUqzvPrpRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2gi3prp4I1_08VUqzvPrpRAF_4uvqy4onfr4I1_05VOnfrRAF5_11OcUjUqzvPrpRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2gi3prp4I1_08VUqzvPrpRAF_4uvqy4onfr4I1_05VOnfrRAF5_11OcUjUqzvPrpRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -708,7 +708,7 @@
 b__MA7naqebvq8uneqjner2gi3prp4I1_011OaUjUqzvPrp17_uvqy_frgPnyyonpxRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCFN_AFg3__18shapgvbaVSiEFN_RRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_2gi3prp4I1_016VUqzvPrpPnyyonpxRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_2gi3prp4I1_016VUqzvPrpPnyyonpxRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_2gi3prp4I1_016VUqzvPrpPnyyonpxRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_2gi3prp4I1_016VUqzvPrpPnyyonpxRiRRAF_2fcVG_RRF9_:
 nop
@@ -783,7 +783,7 @@
 b__MA7naqebvq8uneqjner2gi3prp4I1_011OcUjUqzvPrp19pyrneYbtvpnyNqqerffRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -848,7 +848,7 @@
 b__MA7naqebvq8uneqjner2gi3prp4I1_08VUqzvPrp5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -888,12 +888,12 @@
 b__MA7naqebvq8uneqjner2gi3prp4I1_08VUqzvPrp13gelTrgFreivprREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -903,7 +903,7 @@
 b__MGPA7naqebvq8uneqjner2gi3prp4I1_08VUqzvPrpR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8uneqjner2gi3prp4I1_017OfUqzvPrpPnyyonpxR0_AF3_16VUqzvPrpPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner2gi3prp4I1_017OfUqzvPrpPnyyonpxR0_AF3_16VUqzvPrpPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner2gi3prp4I1_017OfUqzvPrpPnyyonpxR0_AF3_16VUqzvPrpPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner2gi3prp4I1_017OfUqzvPrpPnyyonpxR0_AF3_16VUqzvPrpPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -928,7 +928,7 @@
 b__MA7naqebvq8uneqjner2gi3prp4I1_016VUqzvPrpPnyyonpx21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2gi3prp4I1_019OcUjUqzvPrpPnyyonpxRAF5_16VUqzvPrpPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2gi3prp4I1_019OcUjUqzvPrpPnyyonpxRAF5_16VUqzvPrpPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2gi3prp4I1_019OcUjUqzvPrpPnyyonpxRAF5_16VUqzvPrpPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2gi3prp4I1_019OcUjUqzvPrpPnyyonpxRAF5_16VUqzvPrpPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -938,7 +938,7 @@
 b__MGPA7naqebvq8uneqjner2gi3prp4I1_019OcUjUqzvPrpPnyyonpxR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_2gi3prp4I1_016VUqzvPrpPnyyonpxRAF4_19OcUjUqzvPrpPnyyonpxRAF4_19OaUjUqzvPrpPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_2gi3prp4I1_016VUqzvPrpPnyyonpxRAF4_19OcUjUqzvPrpPnyyonpxRAF4_19OaUjUqzvPrpPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_2gi3prp4I1_016VUqzvPrpPnyyonpxRAF4_19OcUjUqzvPrpPnyyonpxRAF4_19OaUjUqzvPrpPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_2gi3prp4I1_016VUqzvPrpPnyyonpxRAF4_19OcUjUqzvPrpPnyyonpxRAF4_19OaUjUqzvPrpPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_052.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_052.S
index 5283131..9fc589f 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_052.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_052.S
@@ -3,7 +3,7 @@
 .data
 .p2align 4
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -28,7 +28,7 @@
 b__MA7naqebvq8uneqjner2gi5vachg4I1_016VGiVachgPnyyonpx10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -73,7 +73,7 @@
 b__MA7naqebvq8uneqjner2gi5vachg4I1_08VGiVachg19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner2gi5vachg4I1_09OfGiVachgR0_AF3_8VGiVachgR
+.weak b__MGPA7naqebvq8uneqjner2gi5vachg4I1_09OfGiVachgR0_AF3_8VGiVachgR
 .type b__MGPA7naqebvq8uneqjner2gi5vachg4I1_09OfGiVachgR0_AF3_8VGiVachgR,%object
 b__MGPA7naqebvq8uneqjner2gi5vachg4I1_09OfGiVachgR0_AF3_8VGiVachgR:
 .space __SIZEOF_POINTER__
@@ -83,7 +83,7 @@
 b__MA7naqebvq8uneqjner2gi5vachg4I1_016VGiVachgPnyyonpx11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner2gi5vachg4I1_017OfGiVachgPnyyonpxR0_AF3_16VGiVachgPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner2gi5vachg4I1_017OfGiVachgPnyyonpxR0_AF3_16VGiVachgPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner2gi5vachg4I1_017OfGiVachgPnyyonpxR0_AF3_16VGiVachgPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner2gi5vachg4I1_017OfGiVachgPnyyonpxR0_AF3_16VGiVachgPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -118,7 +118,7 @@
 b__MA7naqebvq8uneqjner2gi5vachg4I1_011OcUjGiVachg21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -183,12 +183,12 @@
 b__MA7naqebvq8uneqjner2gi5vachg4I1_011OaUjGiVachgQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner2gi5vachg4I1_017OfGiVachgPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner2gi5vachg4I1_017OfGiVachgPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner2gi5vachg4I1_017OfGiVachgPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner2gi5vachg4I1_017OfGiVachgPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -228,7 +228,7 @@
 b__MA7naqebvq8uneqjner2gi5vachg4I1_08VGiVachg14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -248,12 +248,12 @@
 b__MA7naqebvq8uneqjner2gi5vachg4I1_09OfGiVachg13nqqBarjnlGnfxRAFg3__18shapgvbaVSiiRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -373,7 +373,7 @@
 b__MGPA7naqebvq8uneqjner2gi5vachg4I1_019OcUjGiVachgPnyyonpxR8_AF0_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2gi5vachg4I1_011OcUjGiVachgRAF5_8VGiVachgRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2gi5vachg4I1_011OcUjGiVachgRAF5_8VGiVachgRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2gi5vachg4I1_011OcUjGiVachgRAF5_8VGiVachgRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2gi5vachg4I1_011OcUjGiVachgRAF5_8VGiVachgRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -418,7 +418,7 @@
 b__MA7naqebvq8uneqjner2gi5vachg4I1_011OcUjGiVachg11pybfrFgernzRvv:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_2gi5vachg4I1_016VGiVachgPnyyonpxRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_2gi5vachg4I1_016VGiVachgPnyyonpxRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_2gi5vachg4I1_016VGiVachgPnyyonpxRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_2gi5vachg4I1_016VGiVachgPnyyonpxRiRRAF_2fcVG_RRF9_:
 nop
@@ -443,12 +443,12 @@
 b__MGPA7naqebvq8uneqjner2gi5vachg4I1_019OaUjGiVachgPnyyonpxR0_AF_4uvqy4onfr4I1_08OaUjOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -503,7 +503,7 @@
 b__MA7naqebvq8uneqjner2gi5vachg4I1_011OcUjGiVachg11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -573,7 +573,7 @@
 b__MGPA7naqebvq8uneqjner2gi5vachg4I1_011OaUjGiVachgR0_AF0_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner2gi5vachg4I1_09OfGiVachgR
+.weak b__MGIA7naqebvq8uneqjner2gi5vachg4I1_09OfGiVachgR
 .type b__MGIA7naqebvq8uneqjner2gi5vachg4I1_09OfGiVachgR,%object
 b__MGIA7naqebvq8uneqjner2gi5vachg4I1_09OfGiVachgR:
 .space __SIZEOF_POINTER__
@@ -593,7 +593,7 @@
 b__MA7naqebvq8uneqjner2gi5vachg4I1_08VGiVachg5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -613,7 +613,7 @@
 b__MA7naqebvq8uneqjner2gi5vachg4I1_011OcUjGiVachg10bcraFgernzRvvAFg3__18shapgvbaVSiAF3_6ErfhygREXAF0_11uvqy_unaqyrRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2gi5vachg4I1_08VGiVachgRAF_4uvqy4onfr4I1_05VOnfrRAF5_11OcUjGiVachgRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2gi5vachg4I1_08VGiVachgRAF_4uvqy4onfr4I1_05VOnfrRAF5_11OcUjGiVachgRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2gi5vachg4I1_08VGiVachgRAF_4uvqy4onfr4I1_05VOnfrRAF5_11OcUjGiVachgRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2gi5vachg4I1_08VGiVachgRAF_4uvqy4onfr4I1_05VOnfrRAF5_11OcUjGiVachgRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -683,7 +683,7 @@
 b__MA7naqebvq8uneqjner2gi5vachg4I1_011OcUjGiVachg23trgFgernzPbasvthengvbafRvAFg3__18shapgvbaVSiAF3_6ErfhygREXAF0_8uvqy_irpVAF3_14GiFgernzPbasvtRRRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -723,12 +723,12 @@
 b__MA7naqebvq8uneqjner2gi5vachg4I1_08VGiVachg12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2gi5vachg4I1_019OcUjGiVachgPnyyonpxRAF5_16VGiVachgPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2gi5vachg4I1_019OcUjGiVachgPnyyonpxRAF5_16VGiVachgPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2gi5vachg4I1_019OcUjGiVachgPnyyonpxRAF5_16VGiVachgPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2gi5vachg4I1_019OcUjGiVachgPnyyonpxRAF5_16VGiVachgPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_2gi5vachg4I1_016VGiVachgPnyyonpxRAF4_19OcUjGiVachgPnyyonpxRAF4_19OaUjGiVachgPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_2gi5vachg4I1_016VGiVachgPnyyonpxRAF4_19OcUjGiVachgPnyyonpxRAF4_19OaUjGiVachgPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_2gi5vachg4I1_016VGiVachgPnyyonpxRAF4_19OcUjGiVachgPnyyonpxRAF4_19OaUjGiVachgPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_2gi5vachg4I1_016VGiVachgPnyyonpxRAF4_19OcUjGiVachgPnyyonpxRAF4_19OaUjGiVachgPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -803,7 +803,7 @@
 b__MA7naqebvq8uneqjner2gi5vachg4I1_016VGiVachgPnyyonpx21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2gi5vachg4I1_016VGiVachgPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_19OcUjGiVachgPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2gi5vachg4I1_016VGiVachgPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_19OcUjGiVachgPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2gi5vachg4I1_016VGiVachgPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_19OcUjGiVachgPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2gi5vachg4I1_016VGiVachgPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_19OcUjGiVachgPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_053.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_053.S
index 4a1b64c..21851f2 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_053.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_053.S
@@ -83,7 +83,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_09VIvoengbe5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner8ivoengbe4I1_010OfIvoengbeR0_AF2_9VIvoengbeR
+.weak b__MGPA7naqebvq8uneqjner8ivoengbe4I1_010OfIvoengbeR0_AF2_9VIvoengbeR
 .type b__MGPA7naqebvq8uneqjner8ivoengbe4I1_010OfIvoengbeR0_AF2_9VIvoengbeR,%object
 b__MGPA7naqebvq8uneqjner8ivoengbe4I1_010OfIvoengbeR0_AF2_9VIvoengbeR:
 .space __SIZEOF_POINTER__
@@ -123,7 +123,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_09VIvoengbe4cvatRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -148,12 +148,12 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_012OcUjIvoengbe24fhccbegfNzcyvghqrPbagebyRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -168,7 +168,7 @@
 b__MGPA7naqebvq8uneqjner8ivoengbe4I1_012OcUjIvoengbeR16_AF0_11OcUjErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -213,7 +213,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_012OcUjIvoengbe3bssRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -253,7 +253,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_09VIvoengbe17ertvfgreNfFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -283,7 +283,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_09VIvoengbe19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -323,12 +323,12 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_012OcUjIvoengbe11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner8ivoengbe4I1_010OfIvoengbeR
+.weak b__MGIA7naqebvq8uneqjner8ivoengbe4I1_010OfIvoengbeR
 .type b__MGIA7naqebvq8uneqjner8ivoengbe4I1_010OfIvoengbeR,%object
 b__MGIA7naqebvq8uneqjner8ivoengbe4I1_010OfIvoengbeR:
 .space __SIZEOF_POINTER__
@@ -338,7 +338,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_09VIvoengbe24ertvfgreSbeAbgvsvpngvbafREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRREXAF_2fcVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_09VIvoengbeRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_09VIvoengbeRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_09VIvoengbeRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_09VIvoengbeRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -348,7 +348,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_09VIvoengbe12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -413,17 +413,17 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_012OcUjIvoengbeP1REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8ivoengbe4I1_012OcUjIvoengbeRAF4_9VIvoengbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8ivoengbe4I1_012OcUjIvoengbeRAF4_9VIvoengbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8ivoengbe4I1_012OcUjIvoengbeRAF4_9VIvoengbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8ivoengbe4I1_012OcUjIvoengbeRAF4_9VIvoengbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -448,7 +448,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_012OcUjIvoengbe7cresbezRAF2_6RssrpgRAF2_14RssrpgFgeratguRAFg3__18shapgvbaVSiAF2_6FgnghfRwRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_054.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_054.S
index 0ea454e..9a6a359 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_054.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_054.S
@@ -28,7 +28,7 @@
 b__MGGA7naqebvq8uneqjner8ivoengbe4I1_112OaUjIvoengbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8ivoengbe4I1_112OcUjIvoengbeRAF4_9VIvoengbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8ivoengbe4I1_112OcUjIvoengbeRAF4_9VIvoengbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8ivoengbe4I1_112OcUjIvoengbeRAF4_9VIvoengbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8ivoengbe4I1_112OcUjIvoengbeRAF4_9VIvoengbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -38,7 +38,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_112OaUjIvoengbeQ1Ri:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner8ivoengbe4I1_110OfIvoengbeR
+.weak b__MGIA7naqebvq8uneqjner8ivoengbe4I1_110OfIvoengbeR
 .type b__MGIA7naqebvq8uneqjner8ivoengbe4I1_110OfIvoengbeR,%object
 b__MGIA7naqebvq8uneqjner8ivoengbe4I1_110OfIvoengbeR:
 .space __SIZEOF_POINTER__
@@ -53,7 +53,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner8ivoengbe4I1_112OaUjIvoengbeQ0Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -73,7 +73,7 @@
 b__MGPA7naqebvq8uneqjner8ivoengbe4I1_112OcUjIvoengbeR0_AF0_11OcVagresnprVAF2_9VIvoengbeRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -98,7 +98,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_19VIvoengbe5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -113,12 +113,12 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_19VIvoengbe10trgFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -143,7 +143,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_19VIvoengbe4cvatRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -198,12 +198,12 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_19VIvoengbe13gelTrgFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_19VIvoengbeRAF3_4I1_09VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_19VIvoengbeRAF3_4I1_09VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_19VIvoengbeRAF3_4I1_09VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_19VIvoengbeRAF3_4I1_09VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -228,12 +228,12 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_19VIvoengbe8pnfgSebzREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -303,7 +303,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_19VIvoengbe11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner8ivoengbe4I1_110OfIvoengbeR0_AF2_9VIvoengbeR
+.weak b__MGPA7naqebvq8uneqjner8ivoengbe4I1_110OfIvoengbeR0_AF2_9VIvoengbeR
 .type b__MGPA7naqebvq8uneqjner8ivoengbe4I1_110OfIvoengbeR0_AF2_9VIvoengbeR,%object
 b__MGPA7naqebvq8uneqjner8ivoengbe4I1_110OfIvoengbeR0_AF2_9VIvoengbeR:
 .space __SIZEOF_POINTER__
@@ -343,7 +343,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_19VIvoengbe24ertvfgreSbeAbgvsvpngvbafREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRREXAF_2fcVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -358,7 +358,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_19VIvoengbe12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -373,7 +373,7 @@
 b__MGGA7naqebvq8uneqjner8ivoengbe4I1_19VIvoengbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_19VIvoengbeRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_19VIvoengbeRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_19VIvoengbeRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_19VIvoengbeRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -433,7 +433,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_19VIvoengbe19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_055.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_055.S
index 40962a9..de1315b 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_055.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_055.S
@@ -3,7 +3,7 @@
 .data
 .p2align 4
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8ivoengbe4I1_212OcUjIvoengbeRAF4_9VIvoengbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8ivoengbe4I1_212OcUjIvoengbeRAF4_9VIvoengbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8ivoengbe4I1_212OcUjIvoengbeRAF4_9VIvoengbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8ivoengbe4I1_212OcUjIvoengbeRAF4_9VIvoengbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -38,12 +38,12 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_29VIvoengbe12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner8ivoengbe4I1_210OfIvoengbeR
+.weak b__MGIA7naqebvq8uneqjner8ivoengbe4I1_210OfIvoengbeR
 .type b__MGIA7naqebvq8uneqjner8ivoengbe4I1_210OfIvoengbeR,%object
 b__MGIA7naqebvq8uneqjner8ivoengbe4I1_210OfIvoengbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_29VIvoengbeRAF3_4I1_19VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_29VIvoengbeRAF3_4I1_19VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_29VIvoengbeRAF3_4I1_19VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_29VIvoengbeRAF3_4I1_19VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -88,7 +88,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_29VIvoengbe14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -108,17 +108,17 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_212OcUjIvoengbe7cresbezRAF1_4I1_06RssrpgRAF4_14RssrpgFgeratguRAFg3__18shapgvbaVSiAF4_6FgnghfRwRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner8ivoengbe4I1_210OfIvoengbeR0_AF2_9VIvoengbeR
+.weak b__MGPA7naqebvq8uneqjner8ivoengbe4I1_210OfIvoengbeR0_AF2_9VIvoengbeR
 .type b__MGPA7naqebvq8uneqjner8ivoengbe4I1_210OfIvoengbeR0_AF2_9VIvoengbeR,%object
 b__MGPA7naqebvq8uneqjner8ivoengbe4I1_210OfIvoengbeR0_AF2_9VIvoengbeR:
 .space __SIZEOF_POINTER__
@@ -138,7 +138,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_212OaUjIvoengbeP2REXAF_2fcVAF2_9VIvoengbeRRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -183,7 +183,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_29VIvoengbe8pnfgSebzREXAF_2fcVAF1_4I1_19VIvoengbeRRRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -198,7 +198,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_29VIvoengbe4cvatRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -238,7 +238,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_29VIvoengbe24ertvfgreSbeAbgvsvpngvbafREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRREXAF_2fcVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -268,7 +268,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_29VIvoengbe13gelTrgFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -308,7 +308,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_29VIvoengbe8pnfgSebzREXAF_2fcVAF1_4I1_09VIvoengbeRRRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_29VIvoengbeRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_29VIvoengbeRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_29VIvoengbeRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_29VIvoengbeRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -323,7 +323,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_212OcUjIvoengbeP1REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -348,7 +348,7 @@
 b__MGIA7naqebvq8uneqjner8ivoengbe4I1_29VIvoengbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_29VIvoengbeRAF3_4I1_09VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_29VIvoengbeRAF3_4I1_09VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_29VIvoengbeRAF3_4I1_09VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_29VIvoengbeRAF3_4I1_09VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -358,7 +358,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_212OaUjIvoengbeQ2Ri:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -393,7 +393,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_29VIvoengbe21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -438,7 +438,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_212OcUjIvoengbeP2REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_056.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_056.S
index e17ba09..2c67be4 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_056.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_056.S
@@ -33,12 +33,12 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_39VIvoengbe12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -63,7 +63,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_39VIvoengbe8pnfgSebzREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRRo:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -148,12 +148,12 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_39VIvoengbe5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_39VIvoengbeRAF3_4I1_19VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_39VIvoengbeRAF3_4I1_19VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_39VIvoengbeRAF3_4I1_19VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_39VIvoengbeRAF3_4I1_19VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8ivoengbe4I1_312OcUjIvoengbeRAF4_9VIvoengbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8ivoengbe4I1_312OcUjIvoengbeRAF4_9VIvoengbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8ivoengbe4I1_312OcUjIvoengbeRAF4_9VIvoengbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8ivoengbe4I1_312OcUjIvoengbeRAF4_9VIvoengbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -213,7 +213,7 @@
 b__MGGA7naqebvq8uneqjner8ivoengbe4I1_312OaUjIvoengbeR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner8ivoengbe4I1_310OfIvoengbeR
+.weak b__MGIA7naqebvq8uneqjner8ivoengbe4I1_310OfIvoengbeR
 .type b__MGIA7naqebvq8uneqjner8ivoengbe4I1_310OfIvoengbeR,%object
 b__MGIA7naqebvq8uneqjner8ivoengbe4I1_310OfIvoengbeR:
 .space __SIZEOF_POINTER__
@@ -228,7 +228,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_39VIvoengbe24ertvfgreSbeAbgvsvpngvbafREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRREXAF_2fcVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -243,12 +243,12 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_39VIvoengbe4cvatRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner8ivoengbe4I1_310OfIvoengbeR0_AF2_9VIvoengbeR
+.weak b__MGPA7naqebvq8uneqjner8ivoengbe4I1_310OfIvoengbeR0_AF2_9VIvoengbeR
 .type b__MGPA7naqebvq8uneqjner8ivoengbe4I1_310OfIvoengbeR0_AF2_9VIvoengbeR,%object
 b__MGPA7naqebvq8uneqjner8ivoengbe4I1_310OfIvoengbeR0_AF2_9VIvoengbeR:
 .space __SIZEOF_POINTER__
@@ -263,7 +263,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_312OcUjIvoengbe23fhccbegfRkgreanyPbagebyRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -298,12 +298,12 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_39VIvoengbe8pnfgSebzREXAF_2fcVAF1_4I1_19VIvoengbeRRRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -358,7 +358,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_312OcUjIvoengbe11cresbez_1_3RAF2_6RssrpgRAF1_4I1_014RssrpgFgeratguRAFg3__18shapgvbaVSiAF5_6FgnghfRwRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -368,7 +368,7 @@
 b__MGPA7naqebvq8uneqjner8ivoengbe4I1_39VIvoengbeR0_AF1_4I1_29VIvoengbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_39VIvoengbeRAF3_4I1_29VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_39VIvoengbeRAF3_4I1_29VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_39VIvoengbeRAF3_4I1_29VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_39VIvoengbeRAF3_4I1_29VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -378,7 +378,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_312OcUjIvoengbe12frgNzcyvghqrRu:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -418,12 +418,12 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_312OcUjIvoengbe29_uvqy_fhccbegfRkgreanyPbagebyRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_39VIvoengbeRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_39VIvoengbeRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_39VIvoengbeRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_39VIvoengbeRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -433,12 +433,12 @@
 b__MA7naqebvq8uneqjner8ivoengbe4I1_39VIvoengbe8pnfgSebzREXAF_2fcVAF1_4I1_29VIvoengbeRRRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_39VIvoengbeRAF3_4I1_09VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_39VIvoengbeRAF3_4I1_09VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_39VIvoengbeRAF3_4I1_09VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8ivoengbe4I1_39VIvoengbeRAF3_4I1_09VIvoengbeRAF4_12OcUjIvoengbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_057.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_057.S
index 8eacd05..3b4d937 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_057.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_057.S
@@ -33,7 +33,7 @@
 b__MA7naqebvq8uneqjner2ie4I1_03VIe8pnfgSebzREXAF_2fcVF3_RRo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -103,7 +103,7 @@
 b__MA7naqebvq8uneqjner2ie4I1_06OaUjIeP2REXAF_2fcVAF2_3VIeRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -133,17 +133,17 @@
 b__MA7naqebvq8uneqjner2ie4I1_06OcUjIe21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2ie4I1_06OcUjIeRAF4_3VIeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2ie4I1_06OcUjIeRAF4_3VIeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2ie4I1_06OcUjIeRAF4_3VIeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_2ie4I1_06OcUjIeRAF4_3VIeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner2ie4I1_04OfIeR
+.weak b__MGIA7naqebvq8uneqjner2ie4I1_04OfIeR
 .type b__MGIA7naqebvq8uneqjner2ie4I1_04OfIeR,%object
 b__MGIA7naqebvq8uneqjner2ie4I1_04OfIeR:
 .space __SIZEOF_POINTER__
@@ -163,7 +163,7 @@
 b__MA7naqebvq8uneqjner2ie4I1_06OcUjIe5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -173,7 +173,7 @@
 b__MA7naqebvq8uneqjner2ie4I1_06OcUjIe15_uvqy_frgIeZbqrRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -203,7 +203,7 @@
 b__MA7naqebvq8uneqjner2ie4I1_06OcUjIe12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -218,7 +218,7 @@
 b__MA7naqebvq8uneqjner2ie4I1_03VIe12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -243,7 +243,7 @@
 b__MA7naqebvq8uneqjner2ie4I1_06OcUjIe4cvatRi:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -298,7 +298,7 @@
 b__MA7naqebvq8uneqjner2ie4I1_06OcUjIe19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2ie4I1_03VIeRAF_4uvqy4onfr4I1_05VOnfrRAF4_6OcUjIeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2ie4I1_03VIeRAF_4uvqy4onfr4I1_05VOnfrRAF4_6OcUjIeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2ie4I1_03VIeRAF_4uvqy4onfr4I1_05VOnfrRAF4_6OcUjIeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_2ie4I1_03VIeRAF_4uvqy4onfr4I1_05VOnfrRAF4_6OcUjIeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -328,7 +328,7 @@
 b__MA7naqebvq8uneqjner2ie4I1_06OaUjIe12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -358,7 +358,7 @@
 b__MA7naqebvq8uneqjner2ie4I1_06OcUjIe12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner2ie4I1_04OfIeR0_AF2_3VIeR
+.weak b__MGPA7naqebvq8uneqjner2ie4I1_04OfIeR0_AF2_3VIeR
 .type b__MGPA7naqebvq8uneqjner2ie4I1_04OfIeR0_AF2_3VIeR,%object
 b__MGPA7naqebvq8uneqjner2ie4I1_04OfIeR0_AF2_3VIeR:
 .space __SIZEOF_POINTER__
@@ -373,7 +373,7 @@
 b__MA7naqebvq8uneqjner2ie4I1_06OaUjIeQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -408,12 +408,12 @@
 b__MA7naqebvq8uneqjner2ie4I1_06OcUjIeP1REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_058.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_058.S
index d85ce4c..413b8f0 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_058.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_058.S
@@ -8,7 +8,7 @@
 b__MA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_024VFpurqhyvatCbyvplFreivpr5qrohtREXAF_8uneqjner11uvqy_unaqyrREXAF4_8uvqy_irpVAF4_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf16fpurqhyrefreivpr4I1_024VFpurqhyvatCbyvplFreivprRAF_4uvqy4onfr4I1_05VOnfrRAF5_27OcUjFpurqhyvatCbyvplFreivprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf16fpurqhyrefreivpr4I1_024VFpurqhyvatCbyvplFreivprRAF_4uvqy4onfr4I1_05VOnfrRAF5_27OcUjFpurqhyvatCbyvplFreivprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf16fpurqhyrefreivpr4I1_024VFpurqhyvatCbyvplFreivprRAF_4uvqy4onfr4I1_05VOnfrRAF5_27OcUjFpurqhyvatCbyvplFreivprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf16fpurqhyrefreivpr4I1_024VFpurqhyvatCbyvplFreivprRAF_4uvqy4onfr4I1_05VOnfrRAF5_27OcUjFpurqhyvatCbyvplFreivprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -18,7 +18,7 @@
 b__MGGA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_027OcUjFpurqhyvatCbyvplFreivprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -53,12 +53,12 @@
 b__MGPA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_024VFpurqhyvatCbyvplFreivprR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
 .data
-.globl b__MGIA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_025OfFpurqhyvatCbyvplFreivprR
+.weak b__MGIA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_025OfFpurqhyvatCbyvplFreivprR
 .type b__MGIA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_025OfFpurqhyvatCbyvplFreivprR,%object
 b__MGIA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_025OfFpurqhyvatCbyvplFreivprR:
 .space __SIZEOF_POINTER__
@@ -73,12 +73,12 @@
 b__MA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_027OcUjFpurqhyvatCbyvplFreivpr11yvaxGbQrnguREXAF_2fcVAF_8uneqjner20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf16fpurqhyrefreivpr4I1_027OcUjFpurqhyvatCbyvplFreivprRAF5_24VFpurqhyvatCbyvplFreivprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf16fpurqhyrefreivpr4I1_027OcUjFpurqhyvatCbyvplFreivprRAF5_24VFpurqhyvatCbyvplFreivprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf16fpurqhyrefreivpr4I1_027OcUjFpurqhyvatCbyvplFreivprRAF5_24VFpurqhyvatCbyvplFreivprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf16fpurqhyrefreivpr4I1_027OcUjFpurqhyvatCbyvplFreivprRAF5_24VFpurqhyvatCbyvplFreivprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -103,7 +103,7 @@
 b__MA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_027OcUjFpurqhyvatCbyvplFreivpr21_uvqy_erdhrfgCevbevglRCAF_8uneqjner10VVagresnprRCAF4_7qrgnvyf16UvqyVafgehzragbeRvvv:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -123,7 +123,7 @@
 b__MA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_027OcUjFpurqhyvatCbyvplFreivpr21trgZnkNyybjrqCevbevglRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -158,7 +158,7 @@
 b__MA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_027OcUjFpurqhyvatCbyvplFreivprP1REXAF_2fcVAF_8uneqjner7VOvaqreRRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -193,7 +193,7 @@
 b__MA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_027OcUjFpurqhyvatCbyvplFreivpr12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF_8uneqjner8uvqy_irpVAF6_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -218,7 +218,7 @@
 b__MA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_027OcUjFpurqhyvatCbyvplFreivpr4cvatRi:
 nop
 .data
-.globl b__MGPA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_025OfFpurqhyvatCbyvplFreivprR0_AF2_24VFpurqhyvatCbyvplFreivprR
+.weak b__MGPA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_025OfFpurqhyvatCbyvplFreivprR0_AF2_24VFpurqhyvatCbyvplFreivprR
 .type b__MGPA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_025OfFpurqhyvatCbyvplFreivprR0_AF2_24VFpurqhyvatCbyvplFreivprR,%object
 b__MGPA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_025OfFpurqhyvatCbyvplFreivprR0_AF2_24VFpurqhyvatCbyvplFreivprR:
 .space __SIZEOF_POINTER__
@@ -228,7 +228,7 @@
 b__MA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_025OfFpurqhyvatCbyvplFreivpr13nqqBarjnlGnfxRAFg3__18shapgvbaVSiiRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -323,7 +323,7 @@
 b__MA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_024VFpurqhyvatCbyvplFreivpr21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -363,7 +363,7 @@
 b__MA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_027OcUjFpurqhyvatCbyvplFreivpr5qrohtREXAF_8uneqjner11uvqy_unaqyrREXAF4_8uvqy_irpVAF4_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -408,12 +408,12 @@
 b__MA7naqebvq10senzrjbexf16fpurqhyrefreivpr4I1_027OcUjFpurqhyvatCbyvplFreivpr12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_059.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_059.S
index 07265bd..67f69e5 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_059.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_059.S
@@ -3,7 +3,7 @@
 .data
 .p2align 4
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -48,7 +48,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_014VFrafbeZnantre11yvaxGbQrnguREXAF_2fcVAF_8uneqjner20uvqy_qrngu_erpvcvragRRRz:
 nop
 .data
-.globl b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_015OfFrafbeZnantreR0_AF2_14VFrafbeZnantreR
+.weak b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_015OfFrafbeZnantreR0_AF2_14VFrafbeZnantreR
 .type b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_015OfFrafbeZnantreR0_AF2_14VFrafbeZnantreR,%object
 b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_015OfFrafbeZnantreR0_AF2_14VFrafbeZnantreR:
 .space __SIZEOF_POINTER__
@@ -58,7 +58,7 @@
 b__MGua16_A7naqebvq10senzrjbexf13frafbefreivpr4I1_014OcUjRiragDhrhr15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_10senzrjbexf13frafbefreivpr4I1_019VRiragDhrhrPnyyonpxRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_10senzrjbexf13frafbefreivpr4I1_019VRiragDhrhrPnyyonpxRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_10senzrjbexf13frafbefreivpr4I1_019VRiragDhrhrPnyyonpxRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_10senzrjbexf13frafbefreivpr4I1_019VRiragDhrhrPnyyonpxRiRRAF_2fcVG_RRF9_:
 nop
@@ -118,7 +118,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_023OcUjQverpgErcbegPunaary12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF_8uneqjner8uvqy_irpVAF6_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -133,12 +133,12 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_017OcUjFrafbeZnantre21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf13frafbefreivpr4I1_020VQverpgErcbegPunaaryRAF_4uvqy4onfr4I1_05VOnfrRAF5_23OcUjQverpgErcbegPunaaryRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf13frafbefreivpr4I1_020VQverpgErcbegPunaaryRAF_4uvqy4onfr4I1_05VOnfrRAF5_23OcUjQverpgErcbegPunaaryRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf13frafbefreivpr4I1_020VQverpgErcbegPunaaryRAF_4uvqy4onfr4I1_05VOnfrRAF5_23OcUjQverpgErcbegPunaaryRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf13frafbefreivpr4I1_020VQverpgErcbegPunaaryRAF_4uvqy4onfr4I1_05VOnfrRAF5_23OcUjQverpgErcbegPunaaryRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf13frafbefreivpr4I1_014OcUjRiragDhrhrRAF5_11VRiragDhrhrRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf13frafbefreivpr4I1_014OcUjRiragDhrhrRAF5_11VRiragDhrhrRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf13frafbefreivpr4I1_014OcUjRiragDhrhrRAF5_11VRiragDhrhrRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf13frafbefreivpr4I1_014OcUjRiragDhrhrRAF5_11VRiragDhrhrRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -183,7 +183,7 @@
 b__MGua32_A7naqebvq10senzrjbexf13frafbefreivpr4I1_023OaUjQverpgErcbegPunaaryQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_020OfRiragDhrhrPnyyonpxR0_AF2_19VRiragDhrhrPnyyonpxR
+.weak b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_020OfRiragDhrhrPnyyonpxR0_AF2_19VRiragDhrhrPnyyonpxR
 .type b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_020OfRiragDhrhrPnyyonpxR0_AF2_19VRiragDhrhrPnyyonpxR,%object
 b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_020OfRiragDhrhrPnyyonpxR0_AF2_19VRiragDhrhrPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -223,7 +223,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_017OaUjFrafbeZnantreQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_10senzrjbexf13frafbefreivpr4I1_020VQverpgErcbegPunaaryRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_10senzrjbexf13frafbefreivpr4I1_020VQverpgErcbegPunaaryRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_10senzrjbexf13frafbefreivpr4I1_020VQverpgErcbegPunaaryRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_10senzrjbexf13frafbefreivpr4I1_020VQverpgErcbegPunaaryRiRRAF_2fcVG_RRF9_:
 nop
@@ -233,7 +233,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_020VQverpgErcbegPunaary13hayvaxGbQrnguREXAF_2fcVAF_8uneqjner20uvqy_qrngu_erpvcvragRRR:
 nop
 .data
-.globl b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_012OfRiragDhrhrR
+.weak b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_012OfRiragDhrhrR
 .type b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_012OfRiragDhrhrR,%object
 b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_012OfRiragDhrhrR:
 .space __SIZEOF_POINTER__
@@ -343,7 +343,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_017OaUjFrafbeZnantre10baGenafnpgRwEXAF_8uneqjner6CnepryRCF5_wAFg3__18shapgvbaVSiEF5_RRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf13frafbefreivpr4I1_014VFrafbeZnantreRAF_4uvqy4onfr4I1_05VOnfrRAF5_17OcUjFrafbeZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf13frafbefreivpr4I1_014VFrafbeZnantreRAF_4uvqy4onfr4I1_05VOnfrRAF5_17OcUjFrafbeZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf13frafbefreivpr4I1_014VFrafbeZnantreRAF_4uvqy4onfr4I1_05VOnfrRAF5_17OcUjFrafbeZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf13frafbefreivpr4I1_014VFrafbeZnantreRAF_4uvqy4onfr4I1_05VOnfrRAF5_17OcUjFrafbeZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -393,7 +393,7 @@
 b__MGi0_a24_A7naqebvq10senzrjbexf13frafbefreivpr4I1_022OaUjRiragDhrhrPnyyonpxQ0Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -523,7 +523,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_014VFrafbeZnantre8pnfgSebzREXAF_2fcVF3_RRo:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -543,7 +543,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_022OaUjRiragDhrhrPnyyonpx4cvatRi:
 nop
 .data
-.globl b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_020OfRiragDhrhrPnyyonpxR
+.weak b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_020OfRiragDhrhrPnyyonpxR
 .type b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_020OfRiragDhrhrPnyyonpxR,%object
 b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_020OfRiragDhrhrPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -618,12 +618,12 @@
 b__MGua32_A7naqebvq10senzrjbexf13frafbefreivpr4I1_017OaUjFrafbeZnantreQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf13frafbefreivpr4I1_023OcUjQverpgErcbegPunaaryRAF5_20VQverpgErcbegPunaaryRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf13frafbefreivpr4I1_023OcUjQverpgErcbegPunaaryRAF5_20VQverpgErcbegPunaaryRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf13frafbefreivpr4I1_023OcUjQverpgErcbegPunaaryRAF5_20VQverpgErcbegPunaaryRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf13frafbefreivpr4I1_023OcUjQverpgErcbegPunaaryRAF5_20VQverpgErcbegPunaaryRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -663,7 +663,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_011VRiragDhrhr4cvatRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf13frafbefreivpr4I1_011VRiragDhrhrRAF_4uvqy4onfr4I1_05VOnfrRAF5_14OcUjRiragDhrhrRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf13frafbefreivpr4I1_011VRiragDhrhrRAF_4uvqy4onfr4I1_05VOnfrRAF5_14OcUjRiragDhrhrRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf13frafbefreivpr4I1_011VRiragDhrhrRAF_4uvqy4onfr4I1_05VOnfrRAF5_14OcUjRiragDhrhrRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf13frafbefreivpr4I1_011VRiragDhrhrRAF_4uvqy4onfr4I1_05VOnfrRAF5_14OcUjRiragDhrhrRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -733,7 +733,7 @@
 b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_011VRiragDhrhrR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -758,7 +758,7 @@
 b__MGua32_A7naqebvq10senzrjbexf13frafbefreivpr4I1_022OaUjRiragDhrhrPnyyonpxQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF_10senzrjbexf13frafbefreivpr4I1_011VRiragDhrhrRAF4_14OcUjRiragDhrhrRAF4_14OaUjRiragDhrhrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF_10senzrjbexf13frafbefreivpr4I1_011VRiragDhrhrRAF4_14OcUjRiragDhrhrRAF4_14OaUjRiragDhrhrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF_10senzrjbexf13frafbefreivpr4I1_011VRiragDhrhrRAF4_14OcUjRiragDhrhrRAF4_14OaUjRiragDhrhrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF_10senzrjbexf13frafbefreivpr4I1_011VRiragDhrhrRAF4_14OcUjRiragDhrhrRAF4_14OaUjRiragDhrhrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -778,7 +778,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_019VRiragDhrhrPnyyonpx8pnfgSebzREXAF_2fcVF3_RRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf13frafbefreivpr4I1_019VRiragDhrhrPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_22OcUjRiragDhrhrPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf13frafbefreivpr4I1_019VRiragDhrhrPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_22OcUjRiragDhrhrPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf13frafbefreivpr4I1_019VRiragDhrhrPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_22OcUjRiragDhrhrPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf13frafbefreivpr4I1_019VRiragDhrhrPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_22OcUjRiragDhrhrPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -848,7 +848,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_017OcUjFrafbeZnantre12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF_10senzrjbexf13frafbefreivpr4I1_020VQverpgErcbegPunaaryRAF4_23OcUjQverpgErcbegPunaaryRAF4_23OaUjQverpgErcbegPunaaryRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF_10senzrjbexf13frafbefreivpr4I1_020VQverpgErcbegPunaaryRAF4_23OcUjQverpgErcbegPunaaryRAF4_23OaUjQverpgErcbegPunaaryRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF_10senzrjbexf13frafbefreivpr4I1_020VQverpgErcbegPunaaryRAF4_23OcUjQverpgErcbegPunaaryRAF4_23OaUjQverpgErcbegPunaaryRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF_10senzrjbexf13frafbefreivpr4I1_020VQverpgErcbegPunaaryRAF4_23OcUjQverpgErcbegPunaaryRAF4_23OaUjQverpgErcbegPunaaryRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -928,7 +928,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_020VQverpgErcbegPunaary19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF_8uneqjner11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -938,7 +938,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_020OfRiragDhrhrPnyyonpxP1RAF_2fcVAF2_19VRiragDhrhrPnyyonpxRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF_10senzrjbexf13frafbefreivpr4I1_019VRiragDhrhrPnyyonpxRAF4_22OcUjRiragDhrhrPnyyonpxRAF4_22OaUjRiragDhrhrPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF_10senzrjbexf13frafbefreivpr4I1_019VRiragDhrhrPnyyonpxRAF4_22OcUjRiragDhrhrPnyyonpxRAF4_22OaUjRiragDhrhrPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF_10senzrjbexf13frafbefreivpr4I1_019VRiragDhrhrPnyyonpxRAF4_22OcUjRiragDhrhrPnyyonpxRAF4_22OaUjRiragDhrhrPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF_10senzrjbexf13frafbefreivpr4I1_019VRiragDhrhrPnyyonpxRAF4_22OcUjRiragDhrhrPnyyonpxRAF4_22OaUjRiragDhrhrPnyyonpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -958,7 +958,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_023OcUjQverpgErcbegPunaary13hayvaxGbQrnguREXAF_2fcVAF_8uneqjner20uvqy_qrngu_erpvcvragRRR:
 nop
 .data
-.globl b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_021OfQverpgErcbegPunaaryR0_AF2_20VQverpgErcbegPunaaryR
+.weak b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_021OfQverpgErcbegPunaaryR0_AF2_20VQverpgErcbegPunaaryR
 .type b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_021OfQverpgErcbegPunaaryR0_AF2_20VQverpgErcbegPunaaryR,%object
 b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_021OfQverpgErcbegPunaaryR0_AF2_20VQverpgErcbegPunaaryR:
 .space __SIZEOF_POINTER__
@@ -998,7 +998,7 @@
 b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_017OaUjFrafbeZnantreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -1043,7 +1043,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_023OcUjQverpgErcbegPunaary4cvatRi:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -1138,7 +1138,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_022OaUjRiragDhrhrPnyyonpxQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf13frafbefreivpr4I1_022OcUjRiragDhrhrPnyyonpxRAF5_19VRiragDhrhrPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf13frafbefreivpr4I1_022OcUjRiragDhrhrPnyyonpxRAF5_19VRiragDhrhrPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf13frafbefreivpr4I1_022OcUjRiragDhrhrPnyyonpxRAF5_19VRiragDhrhrPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf13frafbefreivpr4I1_022OcUjRiragDhrhrPnyyonpxRAF5_19VRiragDhrhrPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -1268,7 +1268,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_022OcUjRiragDhrhrPnyyonpx11yvaxGbQrnguREXAF_2fcVAF_8uneqjner20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -1278,7 +1278,7 @@
 b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_020VQverpgErcbegPunaaryR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_015OfFrafbeZnantreR
+.weak b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_015OfFrafbeZnantreR
 .type b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_015OfFrafbeZnantreR,%object
 b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_015OfFrafbeZnantreR:
 .space __SIZEOF_POINTER__
@@ -1328,7 +1328,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_014OaUjRiragDhrhr19_uvqy_qvfnoyrFrafbeRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF_8uneqjner6CnepryRCFN_AFg3__18shapgvbaVSiEFN_RRR:
 nop
 .data
-.globl b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_012OfRiragDhrhrR0_AF2_11VRiragDhrhrR
+.weak b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_012OfRiragDhrhrR0_AF2_11VRiragDhrhrR
 .type b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_012OfRiragDhrhrR0_AF2_11VRiragDhrhrR,%object
 b__MGPA7naqebvq10senzrjbexf13frafbefreivpr4I1_012OfRiragDhrhrR0_AF2_11VRiragDhrhrR:
 .space __SIZEOF_POINTER__
@@ -1353,7 +1353,7 @@
 b__MGGA7naqebvq10senzrjbexf13frafbefreivpr4I1_023OcUjQverpgErcbegPunaaryR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_021OfQverpgErcbegPunaaryR
+.weak b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_021OfQverpgErcbegPunaaryR
 .type b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_021OfQverpgErcbegPunaaryR,%object
 b__MGIA7naqebvq10senzrjbexf13frafbefreivpr4I1_021OfQverpgErcbegPunaaryR:
 .space __SIZEOF_POINTER__
@@ -1433,7 +1433,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_014OcUjRiragDhrhr21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_10senzrjbexf13frafbefreivpr4I1_011VRiragDhrhrRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_10senzrjbexf13frafbefreivpr4I1_011VRiragDhrhrRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_10senzrjbexf13frafbefreivpr4I1_011VRiragDhrhrRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_10senzrjbexf13frafbefreivpr4I1_011VRiragDhrhrRiRRAF_2fcVG_RRF9_:
 nop
@@ -1443,7 +1443,7 @@
 b__MGi0_a40_A7naqebvq10senzrjbexf13frafbefreivpr4I1_017OcUjFrafbeZnantre15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -1493,7 +1493,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_017OcUjFrafbeZnantre15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf13frafbefreivpr4I1_017OcUjFrafbeZnantreRAF5_14VFrafbeZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf13frafbefreivpr4I1_017OcUjFrafbeZnantreRAF5_14VFrafbeZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf13frafbefreivpr4I1_017OcUjFrafbeZnantreRAF5_14VFrafbeZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf13frafbefreivpr4I1_017OcUjFrafbeZnantreRAF5_14VFrafbeZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -1508,7 +1508,7 @@
 b__MA7naqebvq10senzrjbexf13frafbefreivpr4I1_023OcUjQverpgErcbegPunaary11yvaxGbQrnguREXAF_2fcVAF_8uneqjner20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_060.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_060.S
index 49a3864..cc5a7c0 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_060.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_060.S
@@ -48,7 +48,7 @@
 b__MA7naqebvq6flfgrz7fhfcraq4I1_017OcUjFlfgrzFhfcraq21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -133,7 +133,7 @@
 b__MA7naqebvq6flfgrz7fhfcraq4I1_09VJnxrYbpx8pnfgSebzREXAF_2fcVF3_RRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_12OcUjJnxrYbpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_12OcUjJnxrYbpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_12OcUjJnxrYbpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRAF_4uvqy4onfr4I1_05VOnfrRAF5_12OcUjJnxrYbpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -168,7 +168,7 @@
 b__MA7naqebvq6flfgrz7fhfcraq4I1_09VJnxrYbpx10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -193,12 +193,12 @@
 b__MA7naqebvq6flfgrz7fhfcraq4I1_017OcUjFlfgrzFhfcraq15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -213,12 +213,12 @@
 b__MGi0_a24_A7naqebvq6flfgrz7fhfcraq4I1_012OaUjJnxrYbpxQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRnFRBF5_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRiRRAF_2fcVG_RRF9_:
 nop
@@ -358,12 +358,12 @@
 b__MA7naqebvq6flfgrz7fhfcraq4I1_017OaUjFlfgrzFhfcraq4cvatRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
 .data
-.globl b__MGPA7naqebvq6flfgrz7fhfcraq4I1_015OfFlfgrzFhfcraqR0_AF2_14VFlfgrzFhfcraqR
+.weak b__MGPA7naqebvq6flfgrz7fhfcraq4I1_015OfFlfgrzFhfcraqR0_AF2_14VFlfgrzFhfcraqR
 .type b__MGPA7naqebvq6flfgrz7fhfcraq4I1_015OfFlfgrzFhfcraqR0_AF2_14VFlfgrzFhfcraqR,%object
 b__MGPA7naqebvq6flfgrz7fhfcraq4I1_015OfFlfgrzFhfcraqR0_AF2_14VFlfgrzFhfcraqR:
 .space __SIZEOF_POINTER__
@@ -373,7 +373,7 @@
 b__MA7naqebvq6flfgrz7fhfcraq4I1_017OaUjFlfgrzFhfcraq12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -418,12 +418,12 @@
 b__MA7naqebvq6flfgrz7fhfcraq4I1_014VFlfgrzFhfcraq5qrohtREXAF_8uneqjner11uvqy_unaqyrREXAF4_8uvqy_irpVAF4_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRAF4_12OcUjJnxrYbpxRAF4_12OaUjJnxrYbpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRAF4_12OcUjJnxrYbpxRAF4_12OaUjJnxrYbpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRAF4_12OcUjJnxrYbpxRAF4_12OaUjJnxrYbpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRAF4_12OcUjJnxrYbpxRAF4_12OaUjJnxrYbpxRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -443,7 +443,7 @@
 b__MA7naqebvq6flfgrz7fhfcraq4I1_09VJnxrYbpx4cvatRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_6flfgrz7fhfcraq4I1_012OcUjJnxrYbpxRAF5_9VJnxrYbpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_6flfgrz7fhfcraq4I1_012OcUjJnxrYbpxRAF5_9VJnxrYbpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_6flfgrz7fhfcraq4I1_012OcUjJnxrYbpxRAF5_9VJnxrYbpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_6flfgrz7fhfcraq4I1_012OcUjJnxrYbpxRAF5_9VJnxrYbpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -458,7 +458,7 @@
 b__MA7naqebvq6flfgrz7fhfcraq4I1_017OaUjFlfgrzFhfcraqQ2Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_6flfgrz7fhfcraq4I1_017OcUjFlfgrzFhfcraqRAF5_14VFlfgrzFhfcraqRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_6flfgrz7fhfcraq4I1_017OcUjFlfgrzFhfcraqRAF5_14VFlfgrzFhfcraqRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_6flfgrz7fhfcraq4I1_017OcUjFlfgrzFhfcraqRAF5_14VFlfgrzFhfcraqRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_6flfgrz7fhfcraq4I1_017OcUjFlfgrzFhfcraqRAF5_14VFlfgrzFhfcraqRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -538,7 +538,7 @@
 b__MA7naqebvq6flfgrz7fhfcraq4I1_09VJnxrYbpx5qrohtREXAF_8uneqjner11uvqy_unaqyrREXAF4_8uvqy_irpVAF4_11uvqy_fgevatRRR:
 nop
 .data
-.globl b__MGIA7naqebvq6flfgrz7fhfcraq4I1_010OfJnxrYbpxR
+.weak b__MGIA7naqebvq6flfgrz7fhfcraq4I1_010OfJnxrYbpxR
 .type b__MGIA7naqebvq6flfgrz7fhfcraq4I1_010OfJnxrYbpxR,%object
 b__MGIA7naqebvq6flfgrz7fhfcraq4I1_010OfJnxrYbpxR:
 .space __SIZEOF_POINTER__
@@ -553,7 +553,7 @@
 b__MA7naqebvq6flfgrz7fhfcraq4I1_017OaUjFlfgrzFhfcraq10baGenafnpgRwEXAF_8uneqjner6CnepryRCF5_wAFg3__18shapgvbaVSiEF5_RRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -583,7 +583,7 @@
 b__MA7naqebvq6flfgrz7fhfcraq4I1_017OcUjFlfgrzFhfcraq21_uvqy_npdhverJnxrYbpxRCAF_8uneqjner10VVagresnprRCAF4_7qrgnvyf16UvqyVafgehzragbeRAF2_12JnxrYbpxGlcrREXAF4_11uvqy_fgevatR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_6flfgrz7fhfcraq4I1_014VFlfgrzFhfcraqRAF_4uvqy4onfr4I1_05VOnfrRAF5_17OcUjFlfgrzFhfcraqRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_6flfgrz7fhfcraq4I1_014VFlfgrzFhfcraqRAF_4uvqy4onfr4I1_05VOnfrRAF5_17OcUjFlfgrzFhfcraqRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_6flfgrz7fhfcraq4I1_014VFlfgrzFhfcraqRAF_4uvqy4onfr4I1_05VOnfrRAF5_17OcUjFlfgrzFhfcraqRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_6flfgrz7fhfcraq4I1_014VFlfgrzFhfcraqRAF_4uvqy4onfr4I1_05VOnfrRAF5_17OcUjFlfgrzFhfcraqRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -618,7 +618,7 @@
 b__MGPA7naqebvq6flfgrz7fhfcraq4I1_012OaUjJnxrYbpxR0_AF_4uvqy4onfr4I1_08OaUjOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -638,7 +638,7 @@
 b__MA7naqebvq6flfgrz7fhfcraq4I1_09VJnxrYbpx21frgUNYVafgehzragngvbaRi:
 nop
 .data
-.globl b__MGPA7naqebvq6flfgrz7fhfcraq4I1_010OfJnxrYbpxR0_AF2_9VJnxrYbpxR
+.weak b__MGPA7naqebvq6flfgrz7fhfcraq4I1_010OfJnxrYbpxR0_AF2_9VJnxrYbpxR
 .type b__MGPA7naqebvq6flfgrz7fhfcraq4I1_010OfJnxrYbpxR0_AF2_9VJnxrYbpxR,%object
 b__MGPA7naqebvq6flfgrz7fhfcraq4I1_010OfJnxrYbpxR0_AF2_9VJnxrYbpxR:
 .space __SIZEOF_POINTER__
@@ -653,7 +653,7 @@
 b__MA7naqebvq6flfgrz7fhfcraq4I1_014VFlfgrzFhfcraq13gelTrgFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -713,7 +713,7 @@
 b__MA7naqebvq6flfgrz7fhfcraq4I1_017OcUjFlfgrzFhfcraq4cvatRi:
 nop
 .data
-.globl b__MGIA7naqebvq6flfgrz7fhfcraq4I1_015OfFlfgrzFhfcraqR
+.weak b__MGIA7naqebvq6flfgrz7fhfcraq4I1_015OfFlfgrzFhfcraqR
 .type b__MGIA7naqebvq6flfgrz7fhfcraq4I1_015OfFlfgrzFhfcraqR,%object
 b__MGIA7naqebvq6flfgrz7fhfcraq4I1_015OfFlfgrzFhfcraqR:
 .space __SIZEOF_POINTER__
@@ -723,7 +723,7 @@
 b__MA7naqebvq6flfgrz7fhfcraq4I1_017OaUjFlfgrzFhfcraqQ1Ri:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -748,7 +748,7 @@
 b__MA7naqebvq6flfgrz7fhfcraq4I1_017OcUjFlfgrzFhfcraq14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF_8uneqjner8uvqy_irpVAF6_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_061.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_061.S
index c4e64e5..05840d1 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_061.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_061.S
@@ -28,7 +28,7 @@
 b__MA7naqebvq6flfgrz7fhfcraq29VFhfcraqPbagebyFreivprQrsnhyg17ranoyrNhgbfhfcraqRCo:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxRR10baNfOvaqreRi:
 nop
@@ -183,12 +183,12 @@
 b__MGGA7naqebvq6flfgrz7fhfcraq29VFhfcraqPbagebyFreivprQrsnhygR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxRRRvCAF_2fcVG_RR
+.weak b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxRRRvCAF_2fcVG_RR
 .type b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxRRRvCAF_2fcVG_RR,%function
 b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxRRRvCAF_2fcVG_RR:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_6flfgrz7fhfcraq12JnxrYbpxVasbRRRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR
+.weak b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_6flfgrz7fhfcraq12JnxrYbpxVasbRRRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR
 .type b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_6flfgrz7fhfcraq12JnxrYbpxVasbRRRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR,%function
 b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_6flfgrz7fhfcraq12JnxrYbpxVasbRRRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR:
 nop
@@ -233,12 +233,12 @@
 b__MA7naqebvq6flfgrz7fhfcraq23OcFhfcraqPbagebyFreivpr12sbeprFhfcraqRCo:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_6flfgrz7fhfcraq22VFhfcraqPbagebyFreivprRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_6flfgrz7fhfcraq22VFhfcraqPbagebyFreivprRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_6flfgrz7fhfcraq22VFhfcraqPbagebyFreivprRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_6flfgrz7fhfcraq22VFhfcraqPbagebyFreivprRR10baNfOvaqreRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq6flfgrz7fhfcraq12JnxrYbpxVasbRAF_9nyybpngbeVF4_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq6flfgrz7fhfcraq12JnxrYbpxVasbRAF_9nyybpngbeVF4_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq6flfgrz7fhfcraq12JnxrYbpxVasbRAF_9nyybpngbeVF4_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq6flfgrz7fhfcraq12JnxrYbpxVasbRAF_9nyybpngbeVF4_RRR8__nccraqRz:
 nop
@@ -253,7 +253,7 @@
 b__MA7naqebvq6flfgrz7fhfcraq17OcFhfcraqPnyyonpxP2REXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_6flfgrz7fhfcraq12JnxrYbpxVasbRRRvEXAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR
+.weak b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_6flfgrz7fhfcraq12JnxrYbpxVasbRRRvEXAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR
 .type b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_6flfgrz7fhfcraq12JnxrYbpxVasbRRRvEXAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR,%function
 b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_6flfgrz7fhfcraq12JnxrYbpxVasbRRRvEXAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_062.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_062.S
index 5223078..5b529ac 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_062.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_062.S
@@ -13,7 +13,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe17VIvoengbePnyyonpx11nfVagresnprREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry14ernqRahzIrpgbeVAF_8uneqjner8ivoengbe6RssrpgRYo0RRRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR
+.weak b__MAX7naqebvq6Cnepry14ernqRahzIrpgbeVAF_8uneqjner8ivoengbe6RssrpgRYo0RRRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR
 .type b__MAX7naqebvq6Cnepry14ernqRahzIrpgbeVAF_8uneqjner8ivoengbe6RssrpgRYo0RRRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR,%function
 b__MAX7naqebvq6Cnepry14ernqRahzIrpgbeVAF_8uneqjner8ivoengbe6RssrpgRYo0RRRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR:
 nop
@@ -128,7 +128,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe9VIvoengbeP2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner8ivoengbe17VIvoengbePnyyonpxRRRvCAF_2fcVG_RR
+.weak b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner8ivoengbe17VIvoengbePnyyonpxRRRvCAF_2fcVG_RR
 .type b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner8ivoengbe17VIvoengbePnyyonpxRRRvCAF_2fcVG_RR,%function
 b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner8ivoengbe17VIvoengbePnyyonpxRRRvCAF_2fcVG_RR:
 nop
@@ -148,7 +148,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe16VIvoengbeQrsnhyg15trgPncnovyvgvrfRCv:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner8ivoengbe15PbzcbfvgrRssrpgRRRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR
+.weak b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner8ivoengbe15PbzcbfvgrRssrpgRRRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR
 .type b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner8ivoengbe15PbzcbfvgrRssrpgRRRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR,%function
 b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner8ivoengbe15PbzcbfvgrRssrpgRRRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR:
 nop
@@ -223,7 +223,7 @@
 b__MGIA7naqebvq8uneqjner8ivoengbe18OaIvoengbePnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq6Cnepry15jevgrRahzIrpgbeVAF_8uneqjner8ivoengbe6RssrpgRYo0RRRvEXAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR
+.weak b__MA7naqebvq6Cnepry15jevgrRahzIrpgbeVAF_8uneqjner8ivoengbe6RssrpgRYo0RRRvEXAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR
 .type b__MA7naqebvq6Cnepry15jevgrRahzIrpgbeVAF_8uneqjner8ivoengbe6RssrpgRYo0RRRvEXAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR,%function
 b__MA7naqebvq6Cnepry15jevgrRahzIrpgbeVAF_8uneqjner8ivoengbe6RssrpgRYo0RRRvEXAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR:
 nop
@@ -373,7 +373,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe16VIvoengbeQrsnhyg7pbzcbfrREXAFg3__16irpgbeVAF1_15PbzcbfvgrRssrpgRAF3_9nyybpngbeVF5_RRRREXAF_2fcVAF1_17VIvoengbePnyyonpxRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner8ivoengbe6RssrpgRAF_9nyybpngbeVF4_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner8ivoengbe6RssrpgRAF_9nyybpngbeVF4_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner8ivoengbe6RssrpgRAF_9nyybpngbeVF4_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner8ivoengbe6RssrpgRAF_9nyybpngbeVF4_RRR8__nccraqRz:
 nop
@@ -393,7 +393,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe16VIvoengbeQrsnhyg19trgFhccbegrqRssrpgfRCAFg3__16irpgbeVAF1_6RssrpgRAF3_9nyybpngbeVF5_RRRR:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_8uneqjner8ivoengbe17VIvoengbePnyyonpxRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_8uneqjner8ivoengbe17VIvoengbePnyyonpxRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_8uneqjner8ivoengbe17VIvoengbePnyyonpxRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_8uneqjner8ivoengbe17VIvoengbePnyyonpxRR10baNfOvaqreRi:
 nop
@@ -538,7 +538,7 @@
 b__MGPA7naqebvq8uneqjner8ivoengbe18OaIvoengbePnyyonpxR0_AF_11OaVagresnprVAF1_17VIvoengbePnyyonpxRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_8uneqjner8ivoengbe9VIvoengbeRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_8uneqjner8ivoengbe9VIvoengbeRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_8uneqjner8ivoengbe9VIvoengbeRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_8uneqjner8ivoengbe9VIvoengbeRR10baNfOvaqreRi:
 nop
@@ -568,7 +568,7 @@
 b__MA7naqebvq8uneqjner8ivoengbe9VIvoengbe10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner8ivoengbe15PbzcbfvgrRssrpgRAF_9nyybpngbeVF4_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner8ivoengbe15PbzcbfvgrRssrpgRAF_9nyybpngbeVF4_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner8ivoengbe15PbzcbfvgrRssrpgRAF_9nyybpngbeVF4_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner8ivoengbe15PbzcbfvgrRssrpgRAF_9nyybpngbeVF4_RRR8__nccraqRz:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_063.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_063.S
index 45c82b0..ab3673f 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_063.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_063.S
@@ -13,7 +13,7 @@
 b__MAXFg3__111__yvopcc_qo22__yrff_guna_pbzcnenoyrRCXiF2_:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5hsybjRi
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5hsybjRi
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5hsybjRi,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5hsybjRi:
 nop
@@ -33,7 +33,7 @@
 b__MAFg3__17cebzvfrViRQ2Ri:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVpYo0RR16qb_artngvir_fvtaRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVpYo0RR16qb_artngvir_fvtaRi
 .type b__MAXFg3__117zbarlchapg_olanzrVpYo0RR16qb_artngvir_fvtaRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVpYo0RR16qb_artngvir_fvtaRi:
 nop
@@ -43,12 +43,12 @@
 b__MAXFg3__120__pbqrpig_hgs8_hgs16VjR5qb_vaRE9zofgngr_gCXpF5_EF5_CjF7_EF7_:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11__trg_zbaguREvEF4_F4_EwEXAF_5pglcrVpRR
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11__trg_zbaguREvEF4_F4_EwEXAF_5pglcrVpRR
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11__trg_zbaguREvEF4_F4_EwEXAF_5pglcrVpRR,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11__trg_zbaguREvEF4_F4_EwEXAF_5pglcrVpRR:
 nop
 .data
-.globl b__MGVAFg3__117zbarlchapg_olanzrVjYo1RRR
+.weak b__MGVAFg3__117zbarlchapg_olanzrVjYo1RRR
 .type b__MGVAFg3__117zbarlchapg_olanzrVjYo1RRR,%object
 b__MGVAFg3__117zbarlchapg_olanzrVjYo1RRR:
 .space __SIZEOF_POINTER__
@@ -63,12 +63,12 @@
 b__MAFg3__18vbf_onfr9fubjcbvagR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEk
+.weak b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEk
 .type b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEk,%function
 b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEk:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR18__trg_qnl_lrne_ahzREvEF4_F4_EwEXAF_5pglcrVjRR
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR18__trg_qnl_lrne_ahzREvEF4_F4_EwEXAF_5pglcrVjRR
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR18__trg_qnl_lrne_ahzREvEF4_F4_EwEXAF_5pglcrVjRR,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR18__trg_qnl_lrne_ahzREvEF4_F4_EwEXAF_5pglcrVjRR:
 nop
@@ -88,7 +88,7 @@
 b__MGIFg9onq_nyybp:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEl
+.weak b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEl
 .type b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEl,%function
 b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEl:
 nop
@@ -108,7 +108,7 @@
 b__MGFA10__pkknovi123__shaqnzragny_glcr_vasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MqnCizFg11nyvta_iny_g
+.weak b__MqnCizFg11nyvta_iny_g
 .type b__MqnCizFg11nyvta_iny_g,%function
 b__MqnCizFg11nyvta_iny_g:
 nop
@@ -118,22 +118,22 @@
 b__MAFg13rkprcgvba_cgeQ2Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR4crrxRi
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR4crrxRi
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR4crrxRi,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR4crrxRi:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVpYo0RR13qb_cbf_sbezngRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVpYo0RR13qb_cbf_sbezngRi
 .type b__MAXFg3__117zbarlchapg_olanzrVpYo0RR13qb_cbf_sbezngRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVpYo0RR13qb_cbf_sbezngRi:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVjYo1RR13qb_art_sbezngRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVjYo1RR13qb_art_sbezngRi
 .type b__MAXFg3__117zbarlchapg_olanzrVjYo1RR13qb_art_sbezngRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVjYo1RR13qb_art_sbezngRi:
 nop
 .text
-.globl b__MAFg3__19__ahz_chgVjR23__jvqra_naq_tebhc_sybngRCpF2_F2_CjEF3_F4_EXAF_6ybpnyrR
+.weak b__MAFg3__19__ahz_chgVjR23__jvqra_naq_tebhc_sybngRCpF2_F2_CjEF3_F4_EXAF_6ybpnyrR
 .type b__MAFg3__19__ahz_chgVjR23__jvqra_naq_tebhc_sybngRCpF2_F2_CjEF3_F4_EXAF_6ybpnyrR,%function
 b__MAFg3__19__ahz_chgVjR23__jvqra_naq_tebhc_sybngRCpF2_F2_CjEF3_F4_EXAF_6ybpnyrR:
 nop
@@ -143,7 +143,7 @@
 b__MAFg9onq_nyybpQ0Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgRCpyp
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgRCpyp
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgRCpyp,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgRCpyp:
 nop
@@ -158,7 +158,7 @@
 b__MAFg3__114__ahz_trg_onfr10__trg_onfrREAF_8vbf_onfrR:
 nop
 .text
-.globl b__MAFg3__114pbqrpig_olanzrVpp9zofgngr_gRQ2Ri
+.weak b__MAFg3__114pbqrpig_olanzrVpp9zofgngr_gRQ2Ri
 .type b__MAFg3__114pbqrpig_olanzrVpp9zofgngr_gRQ2Ri,%function
 b__MAFg3__114pbqrpig_olanzrVpp9zofgngr_gRQ2Ri:
 nop
@@ -168,7 +168,7 @@
 b__MAFg3__17pbqrpigVpp9zofgngr_gRQ1Ri:
 nop
 .data
-.globl b__MGVAFg3__115gvzr_chg_olanzrVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGVAFg3__115gvzr_chg_olanzrVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGVAFg3__115gvzr_chg_olanzrVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGVAFg3__115gvzr_chg_olanzrVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -183,12 +183,12 @@
 b__MGFFg13onq_rkprcgvba:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRP2Ri
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRP2Ri
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRP2Ri,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRP2Ri:
 nop
 .data
-.globl b__MGFAFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGFAFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGFAFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGFAFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -198,32 +198,32 @@
 b__MAFg14biresybj_reebeQ2Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR7trgyvarRCjy
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR7trgyvarRCjy
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR7trgyvarRCjy,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR7trgyvarRCjy:
 nop
 .text
-.globl b__MGua16_AFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ0Ri
+.weak b__MGua16_AFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ0Ri
 .type b__MGua16_AFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ0Ri,%function
 b__MGua16_AFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ0Ri:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nccraqRCXjz
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nccraqRCXjz
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nccraqRCXjz,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nccraqRCXjz:
 nop
 .data
-.globl b__MGVAFg3__115zrffntrf_olanzrVjRR
+.weak b__MGVAFg3__115zrffntrf_olanzrVjRR
 .type b__MGVAFg3__115zrffntrf_olanzrVjRR,%object
 b__MGVAFg3__115zrffntrf_olanzrVjRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR2ngRz
+.weak b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR2ngRz
 .type b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR2ngRz,%function
 b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR2ngRz:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nccraqREXF5_zz
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nccraqREXF5_zz
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nccraqREXF5_zz,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nccraqREXF5_zz:
 nop
@@ -308,7 +308,7 @@
 b__MAFg3__123__yvopcc_qroht_shapgvbaR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR7trgyvarRCpyp
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR7trgyvarRCpyp
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR7trgyvarRCpyp,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR7trgyvarRCpyp:
 nop
@@ -318,7 +318,7 @@
 b__MGVFg19onq_bcgvbany_npprff:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__18inyneenlVzRP1Rz
+.weak b__MAFg3__18inyneenlVzRP1Rz
 .type b__MAFg3__18inyneenlVzRP1Rz,%function
 b__MAFg3__18inyneenlVzRP1Rz:
 nop
@@ -328,17 +328,17 @@
 b__MAFg9onq_nyybpQ1Ri:
 nop
 .data
-.globl b__MGIAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGIAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGIAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGIAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111__zbarl_chgVpR8__sbezngRCpEF2_F3_wCXpF5_EXAF_5pglcrVpRRoEXAF_10zbarl_onfr7cnggreaRppEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRFY_FY_v
+.weak b__MAFg3__111__zbarl_chgVpR8__sbezngRCpEF2_F3_wCXpF5_EXAF_5pglcrVpRRoEXAF_10zbarl_onfr7cnggreaRppEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRFY_FY_v
 .type b__MAFg3__111__zbarl_chgVpR8__sbezngRCpEF2_F3_wCXpF5_EXAF_5pglcrVpRRoEXAF_10zbarl_onfr7cnggreaRppEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRFY_FY_v,%function
 b__MAFg3__111__zbarl_chgVpR8__sbezngRCpEF2_F3_wCXpF5_EXAF_5pglcrVpRRoEXAF_10zbarl_onfr7cnggreaRppEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRFY_FY_v:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRzzp
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRzzp
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRzzp,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRzzp:
 nop
@@ -348,17 +348,17 @@
 b__MAFg3__17pbqrpigVpp9zofgngr_gRQ2Ri:
 nop
 .data
-.globl b__MAFg3__110zbarlchapgVjYo0RR4vagyR
+.weak b__MAFg3__110zbarlchapgVjYo0RR4vagyR
 .type b__MAFg3__110zbarlchapgVjYo0RR4vagyR,%object
 b__MAFg3__110zbarlchapgVjYo0RR4vagyR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9chfu_onpxRp
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9chfu_onpxRp
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9chfu_onpxRp,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9chfu_onpxRp:
 nop
 .text
-.globl b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR4svaqRCXpzz
+.weak b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR4svaqRCXpzz
 .type b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR4svaqRCXpzz,%function
 b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR4svaqRCXpzz:
 nop
@@ -373,7 +373,7 @@
 b__MAFg12bhg_bs_enatrQ0Ri:
 nop
 .text
-.globl b__MGua16_AFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ1Ri
+.weak b__MGua16_AFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ1Ri
 .type b__MGua16_AFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ1Ri,%function
 b__MGua16_AFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ1Ri:
 nop
@@ -413,7 +413,7 @@
 b__MAXFg3__17pbqrpigVQvp9zofgngr_gR10qb_hafuvsgREF1_CpF4_EF4_:
 nop
 .data
-.globl b__MGIAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRR
+.weak b__MGIAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRR
 .type b__MGIAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRR,%object
 b__MGIAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRR:
 .space __SIZEOF_POINTER__
@@ -428,7 +428,7 @@
 b__MAXFg3__112pglcr_olanzrVjR8qb_jvqraRp:
 nop
 .data
-.globl b__MGVAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRR
+.weak b__MGVAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRR
 .type b__MGVAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRR,%object
 b__MGVAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRR:
 .space __SIZEOF_POINTER__
@@ -453,7 +453,7 @@
 b__MAFg3__18vbf_onfr5vjbeqRv:
 nop
 .text
-.globl b__MAFg3__16__fbegVEAF_6__yrffVnnRRCnRRiG0_F5_G_
+.weak b__MAFg3__16__fbegVEAF_6__yrffVnnRRCnRRiG0_F5_G_
 .type b__MAFg3__16__fbegVEAF_6__yrffVnnRRCnRRiG0_F5_G_,%function
 b__MAFg3__16__fbegVEAF_6__yrffVnnRRCnRRiG0_F5_G_:
 nop
@@ -493,32 +493,32 @@
 b__MAFg3__119__funerq_zhgrk_onfr13haybpx_funerqRi:
 nop
 .text
-.globl b__MAXFg3__121__onfvp_fgevat_pbzzbaVYo1RR20__guebj_bhg_bs_enatrRi
+.weak b__MAXFg3__121__onfvp_fgevat_pbzzbaVYo1RR20__guebj_bhg_bs_enatrRi
 .type b__MAXFg3__121__onfvp_fgevat_pbzzbaVYo1RR20__guebj_bhg_bs_enatrRi,%function
 b__MAXFg3__121__onfvp_fgevat_pbzzbaVYo1RR20__guebj_bhg_bs_enatrRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5tohzcRv
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5tohzcRv
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5tohzcRv,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5tohzcRv:
 nop
 .text
-.globl b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjo
+.weak b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjo
 .type b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjo,%function
 b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjo:
 nop
 .data
-.globl b__MGVAFg3__114__ahz_trg_onfrR
+.weak b__MGVAFg3__114__ahz_trg_onfrR
 .type b__MGVAFg3__114__ahz_trg_onfrR,%object
 b__MGVAFg3__114__ahz_trg_onfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__19__ahz_trgVjRR
+.weak b__MGFAFg3__19__ahz_trgVjRR
 .type b__MGFAFg3__19__ahz_trgVjRR,%object
 b__MGFAFg3__19__ahz_trgVjRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRR
+.weak b__MGFAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRR
 .type b__MGFAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRR,%object
 b__MGFAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -528,17 +528,17 @@
 b__MAXFg3__15pglcrVpR9qb_aneebjRCXpF3_pCp:
 nop
 .text
-.globl b__MAFg3__111__zbarl_chgVpR13__tngure_vasbRooEXAF_6ybpnyrREAF_10zbarl_onfr7cnggreaREpF8_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRFS_FS_Ev
+.weak b__MAFg3__111__zbarl_chgVpR13__tngure_vasbRooEXAF_6ybpnyrREAF_10zbarl_onfr7cnggreaREpF8_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRFS_FS_Ev
 .type b__MAFg3__111__zbarl_chgVpR13__tngure_vasbRooEXAF_6ybpnyrREAF_10zbarl_onfr7cnggreaREpF8_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRFS_FS_Ev,%function
 b__MAFg3__111__zbarl_chgVpR13__tngure_vasbRooEXAF_6ybpnyrREAF_10zbarl_onfr7cnggreaREpF8_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRFS_FS_Ev:
 nop
 .data
-.globl b__MGVAFg3__17pbyyngrVjRR
+.weak b__MGVAFg3__17pbyyngrVjRR
 .type b__MGVAFg3__17pbyyngrVjRR,%object
 b__MGVAFg3__17pbyyngrVjRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__18inyneenlVzRP2Rz
+.weak b__MAFg3__18inyneenlVzRP2Rz
 .type b__MAFg3__18inyneenlVzRP2Rz,%function
 b__MAFg3__18inyneenlVzRP2Rz:
 nop
@@ -558,12 +558,12 @@
 b__MAFg3__16shgherViRP2RCAF_17__nffbp_fho_fgngrR:
 nop
 .text
-.globl b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjq
+.weak b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjq
 .type b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjq,%function
 b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjq:
 nop
 .data
-.globl b__MGVAFg3__19__ahz_trgVpRR
+.weak b__MGVAFg3__19__ahz_trgVpRR
 .type b__MGVAFg3__19__ahz_trgVpRR,%object
 b__MGVAFg3__19__ahz_trgVpRR:
 .space __SIZEOF_POINTER__
@@ -578,7 +578,7 @@
 b__MGIAFg3__19fgefgernzR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw:
 nop
@@ -588,7 +588,7 @@
 b__MAFg3__15pglcrVpR2vqR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjr
+.weak b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjr
 .type b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjr,%function
 b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjr:
 nop
@@ -608,12 +608,12 @@
 b__MAFg3__113funerq_shgherViRQ2Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR7chgonpxRj
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR7chgonpxRj
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR7chgonpxRj,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR7chgonpxRj:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR9__tebj_olRzzzzzz
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR9__tebj_olRzzzzzz
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR9__tebj_olRzzzzzz,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR9__tebj_olRzzzzzz:
 nop
@@ -633,7 +633,7 @@
 b__MAFg12bhg_bs_enatrQ1Ri:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVpYo1RR16qb_qrpvzny_cbvagRi
+.weak b__MAXFg3__110zbarlchapgVpYo1RR16qb_qrpvzny_cbvagRi
 .type b__MAXFg3__110zbarlchapgVpYo1RR16qb_qrpvzny_cbvagRi,%function
 b__MAXFg3__110zbarlchapgVpYo1RR16qb_qrpvzny_cbvagRi:
 nop
@@ -648,7 +648,7 @@
 b__MAXFg3__15pglcrVjR10qb_gbybjreRj:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nffvtaRCXj
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nffvtaRCXj
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nffvtaRCXj,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nffvtaRCXj:
 nop
@@ -663,12 +663,12 @@
 b__MAFg13ehagvzr_reebeP1REXF_:
 nop
 .text
-.globl b__MAFg3__16__fbegVEAF_6__yrffVyyRRCyRRiG0_F5_G_
+.weak b__MAFg3__16__fbegVEAF_6__yrffVyyRRCyRRiG0_F5_G_
 .type b__MAFg3__16__fbegVEAF_6__yrffVyyRRCyRRiG0_F5_G_,%function
 b__MAFg3__16__fbegVEAF_6__yrffVyyRRCyRRiG0_F5_G_:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR5hatrgRi
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR5hatrgRi
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR5hatrgRi,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR5hatrgRi:
 nop
@@ -698,7 +698,7 @@
 b__MAXFg3__112pglcr_olanzrVjR9qb_aneebjRjp:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR3trgRF4_F4_EAF_8vbf_onfrREwC2gzCXpFP_
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR3trgRF4_F4_EAF_8vbf_onfrREwC2gzCXpFP_
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR3trgRF4_F4_EAF_8vbf_onfrREwC2gzCXpFP_,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR3trgRF4_F4_EAF_8vbf_onfrREwC2gzCXpFP_:
 nop
@@ -713,7 +713,7 @@
 b__MAFg3__115__guernq_fgehpgP2Ri:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR7choflapRi
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR7choflapRi
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR7choflapRi,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR7choflapRi:
 nop
@@ -738,7 +738,7 @@
 b__MAXFg3__120__gvzr_trg_p_fgbentrVjR3__KRi:
 nop
 .text
-.globl b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjy
+.weak b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjy
 .type b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjy,%function
 b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjy:
 nop
@@ -753,7 +753,7 @@
 b__MAXFg11ybtvp_reebe4jungRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR8va_ninvyRi
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR8va_ninvyRi
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR8va_ninvyRi,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR8va_ninvyRi:
 nop
@@ -763,22 +763,22 @@
 b__MAXFg3__114__pbqrpig_hgs8VQfR13qb_znk_yratguRi:
 nop
 .text
-.globl b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjz
+.weak b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjz
 .type b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjz,%function
 b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjz:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR3trgRF4_F4_EAF_8vbf_onfrREwC2gzCXjFP_
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR3trgRF4_F4_EAF_8vbf_onfrREwC2gzCXjFP_
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR3trgRF4_F4_EAF_8vbf_onfrREwC2gzCXjFP_,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR3trgRF4_F4_EAF_8vbf_onfrREwC2gzCXjFP_:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP1REXF5_
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP1REXF5_
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP1REXF5_,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP1REXF5_:
 nop
 .text
-.globl b__MAFg3__111__zbarl_trgVpR13__tngure_vasbRoEXAF_6ybpnyrREAF_10zbarl_onfr7cnggreaREpF8_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRFS_FS_FS_Ev
+.weak b__MAFg3__111__zbarl_trgVpR13__tngure_vasbRoEXAF_6ybpnyrREAF_10zbarl_onfr7cnggreaREpF8_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRFS_FS_FS_Ev
 .type b__MAFg3__111__zbarl_trgVpR13__tngure_vasbRoEXAF_6ybpnyrREAF_10zbarl_onfr7cnggreaREpF8_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRFS_FS_FS_Ev,%function
 b__MAFg3__111__zbarl_trgVpR13__tngure_vasbRoEXAF_6ybpnyrREAF_10zbarl_onfr7cnggreaREpF8_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRFS_FS_FS_Ev:
 nop
@@ -788,7 +788,7 @@
 b__MAFg3__119__funerq_jrnx_pbhag14__eryrnfr_jrnxRi:
 nop
 .text
-.globl b__MAXFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_oEAF_8vbf_onfrRjr
+.weak b__MAXFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_oEAF_8vbf_onfrRjr
 .type b__MAXFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_oEAF_8vbf_onfrRjr,%function
 b__MAXFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_oEAF_8vbf_onfrRjr:
 nop
@@ -798,17 +798,17 @@
 b__MAFg3__16ybpnyr14__vafgnyy_pgbeREXF0_CAF0_5snprgRy:
 nop
 .text
-.globl b__MAFg3__16__fbegVEAF_6__yrffVjjRRCjRRiG0_F5_G_
+.weak b__MAFg3__16__fbegVEAF_6__yrffVjjRRCjRRiG0_F5_G_
 .type b__MAFg3__16__fbegVEAF_6__yrffVjjRRCjRRiG0_F5_G_,%function
 b__MAFg3__16__fbegVEAF_6__yrffVjjRRCjRRiG0_F5_G_:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ0Ri
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ0Ri
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ0Ri,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ0Ri:
 nop
 .data
-.globl b__MGPAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR16_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR16_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -818,7 +818,7 @@
 b__MGVAFg3__18vbf_onfr7snvyherR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRzEXF5_zz
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRzEXF5_zz
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRzEXF5_zz,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRzEXF5_zz:
 nop
@@ -838,7 +838,7 @@
 b__MAFg3__117__nffbp_fho_fgngr9__rkrphgrRi:
 nop
 .data
-.globl b__MGFAFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGFAFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGFAFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGFAFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
@@ -853,7 +853,7 @@
 b__MAFg12bhg_bs_enatrQ2Ri:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6kftrgaRCpy
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6kftrgaRCpy
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6kftrgaRCpy,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6kftrgaRCpy:
 nop
@@ -883,7 +883,7 @@
 b__MAFg3__19fgefgernzQ0Ri:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nccraqRCXp
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nccraqRCXp
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nccraqRCXp,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nccraqRCXp:
 nop
@@ -893,12 +893,12 @@
 b__MFg17erguebj_rkprcgvbaFg13rkprcgvba_cge:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5ftrgpRi
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5ftrgpRi
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5ftrgpRi,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5ftrgpRi:
 nop
 .text
-.globl b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR16svaq_ynfg_abg_bsRCXjzz
+.weak b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR16svaq_ynfg_abg_bsRCXjzz
 .type b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR16svaq_ynfg_abg_bsRCXjzz,%function
 b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR16svaq_ynfg_abg_bsRCXjzz:
 nop
@@ -908,7 +908,7 @@
 b__MAFg3__110bfgefgernzQ2Ri:
 nop
 .text
-.globl b__MAXFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_oEAF_8vbf_onfrREwEAF_12onfvp_fgevatVjF3_AF_9nyybpngbeVjRRRR
+.weak b__MAXFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_oEAF_8vbf_onfrREwEAF_12onfvp_fgevatVjF3_AF_9nyybpngbeVjRRRR
 .type b__MAXFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_oEAF_8vbf_onfrREwEAF_12onfvp_fgevatVjF3_AF_9nyybpngbeVjRRRR,%function
 b__MAXFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_oEAF_8vbf_onfrREwEAF_12onfvp_fgevatVjF3_AF_9nyybpngbeVjRRRR:
 nop
@@ -958,7 +958,7 @@
 b___pkn_onq_glcrvq:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRECi
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRECi
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRECi,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRECi:
 nop
@@ -973,17 +973,17 @@
 b__MAFg11ybtvp_reebeP1REXAFg3__112onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR6fragelP2REF3_o
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR6fragelP2REF3_o
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR6fragelP2REF3_o,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR6fragelP2REF3_o:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVpYo0RR16qb_qrpvzny_cbvagRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVpYo0RR16qb_qrpvzny_cbvagRi
 .type b__MAXFg3__117zbarlchapg_olanzrVpYo0RR16qb_qrpvzny_cbvagRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVpYo0RR16qb_qrpvzny_cbvagRi:
 nop
 .text
-.globl b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjk
+.weak b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjk
 .type b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjk,%function
 b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjk:
 nop
@@ -1008,7 +1008,7 @@
 b__MAXFg3__17pbqrpigVQfp9zofgngr_gR5qb_vaREF1_CXpF5_EF5_CQfF7_EF7_:
 nop
 .text
-.globl b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjl
+.weak b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjl
 .type b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjl,%function
 b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjl:
 nop
@@ -1033,7 +1033,7 @@
 b__MAXFg3__115__pbqrpig_hgs16VQfYo0RR6qb_bhgRE9zofgngr_gCXQfF5_EF5_CpF7_EF7_:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVjYo0RR14qb_senp_qvtvgfRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVjYo0RR14qb_senp_qvtvgfRi
 .type b__MAXFg3__117zbarlchapg_olanzrVjYo0RR14qb_senp_qvtvgfRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVjYo0RR14qb_senp_qvtvgfRi:
 nop
@@ -1043,7 +1043,7 @@
 b__MAFg13ehagvzr_reebenFREXF_:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ1Ri
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ1Ri
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ1Ri,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ1Ri:
 nop
@@ -1063,7 +1063,7 @@
 b__MAFg3__16__vgbn8__h64gbnRzCp:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRP2REXF3_
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRP2REXF3_
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRP2REXF3_,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRP2REXF3_:
 nop
@@ -1073,7 +1073,7 @@
 b__MAXFg3__120__pbqrpig_hgs8_hgs16VQfR6qb_bhgRE9zofgngr_gCXQfF5_EF5_CpF7_EF7_:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRzEXF5_zz
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRzEXF5_zz
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRzEXF5_zz,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRzEXF5_zz:
 nop
@@ -1083,12 +1083,12 @@
 b__MAFg3__117__nffbp_fho_fgngr28frg_rkprcgvba_ng_guernq_rkvgRFg13rkprcgvba_cge:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5vzohrREXAF_6ybpnyrR
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5vzohrREXAF_6ybpnyrR
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5vzohrREXAF_6ybpnyrR,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5vzohrREXAF_6ybpnyrR:
 nop
 .data
-.globl b__MGFAFg3__117zbarlchapg_olanzrVpYo0RRR
+.weak b__MGFAFg3__117zbarlchapg_olanzrVpYo0RRR
 .type b__MGFAFg3__117zbarlchapg_olanzrVpYo0RRR,%object
 b__MGFAFg3__117zbarlchapg_olanzrVpYo0RRR:
 .space __SIZEOF_POINTER__
@@ -1103,7 +1103,7 @@
 b__MAFg3__19fgefgernzQ1Ri:
 nop
 .data
-.globl b__MGVAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGVAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGVAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGVAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
@@ -1113,7 +1113,7 @@
 b__MAFg3__15fgbyyREXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzv:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRCSEF3_F4_R
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRCSEF3_F4_R
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRCSEF3_F4_R,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRCSEF3_F4_R:
 nop
@@ -1123,12 +1123,12 @@
 b__MAFg3__111gvzrq_zhgrkP2Ri:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP2REXF5_
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP2REXF5_
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP2REXF5_,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP2REXF5_:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRP1RCAF_15onfvp_fgernzohsVpF2_RR
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRP1RCAF_15onfvp_fgernzohsVpF2_RR
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRP1RCAF_15onfvp_fgernzohsVpF2_RR,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRP1RCAF_15onfvp_fgernzohsVpF2_RR:
 nop
@@ -1158,12 +1158,12 @@
 b__MGVAFg3__124__yvopcc_qroht_rkprcgvbaR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRP1Ri
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRP1Ri
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRP1Ri,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRP1Ri:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR15__trg_zbaguanzrREvEF4_F4_EwEXAF_5pglcrVpRR
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR15__trg_zbaguanzrREvEF4_F4_EwEXAF_5pglcrVpRR
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR15__trg_zbaguanzrREvEF4_F4_EwEXAF_5pglcrVpRR,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR15__trg_zbaguanzrREvEF4_F4_EwEXAF_5pglcrVpRR:
 nop
@@ -1183,17 +1183,17 @@
 b__MAFg3__16ybpnyr8zbargnelR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR4fjncREF3_
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR4fjncREF3_
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR4fjncREF3_,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR4fjncREF3_:
 nop
 .data
-.globl b__MGVAFg3__118__gvzr_trg_fgbentrVpRR
+.weak b__MGVAFg3__118__gvzr_trg_fgbentrVpRR
 .type b__MGVAFg3__118__gvzr_trg_fgbentrVpRR,%object
 b__MGVAFg3__118__gvzr_trg_fgbentrVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRnFRp
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRnFRp
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRnFRp,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRnFRp:
 nop
@@ -1223,7 +1223,7 @@
 b__MAFg3__18vbf_onfr3qrpR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ2Ri
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ2Ri
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ2Ri,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ2Ri:
 nop
@@ -1238,7 +1238,7 @@
 b__MAFg3__16ybpnyr6tybonyREXF0_:
 nop
 .text
-.globl b__MAFg3__16__fbegVEAF_6__yrffVuuRRCuRRiG0_F5_G_
+.weak b__MAFg3__16__fbegVEAF_6__yrffVuuRRCuRRiG0_F5_G_
 .type b__MAFg3__16__fbegVEAF_6__yrffVuuRRCuRRiG0_F5_G_,%function
 b__MAFg3__16__fbegVEAF_6__yrffVuuRRCuRRiG0_F5_G_:
 nop
@@ -1248,7 +1248,7 @@
 b__MAXFg3__115__pbqrpig_hgs16VQvYo0RR16qb_nyjnlf_abpbaiRi:
 nop
 .text
-.globl b__MAXFg3__18zrffntrfVpR8qb_pybfrRy
+.weak b__MAXFg3__18zrffntrfVpR8qb_pybfrRy
 .type b__MAXFg3__18zrffntrfVpR8qb_pybfrRy,%function
 b__MAXFg3__18zrffntrfVpR8qb_pybfrRy:
 nop
@@ -1268,7 +1268,7 @@
 b__MGVFg12qbznva_reebe:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGGAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGGAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGGAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1313,7 +1313,7 @@
 b__MAXFg3__112pglcr_olanzrVjR10qb_fpna_vfRzCXjF3_:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVjYo1RR14qb_phee_flzobyRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVjYo1RR14qb_phee_flzobyRi
 .type b__MAXFg3__117zbarlchapg_olanzrVjYo1RR14qb_phee_flzobyRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVjYo1RR14qb_phee_flzobyRi:
 nop
@@ -1323,7 +1323,7 @@
 b__MAFg3__18vbf_onfr5svkrqR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpo
+.weak b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpo
 .type b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpo,%function
 b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpo:
 nop
@@ -1343,12 +1343,12 @@
 b__MAFg3__124__yvopcc_qroht_rkprcgvbaP2REXF0_:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRP2Ri
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRP2Ri
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRP2Ri,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRP2Ri:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5fchgpRj
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5fchgpRj
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5fchgpRj,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5fchgpRj:
 nop
@@ -1358,7 +1358,7 @@
 b__MAXFg3__16ybpnyr9unf_snprgREAF0_2vqR:
 nop
 .data
-.globl b__MGIAFg3__117zbarlchapg_olanzrVpYo1RRR
+.weak b__MGIAFg3__117zbarlchapg_olanzrVpYo1RRR
 .type b__MGIAFg3__117zbarlchapg_olanzrVpYo1RRR,%object
 b__MGIAFg3__117zbarlchapg_olanzrVpYo1RRR:
 .space __SIZEOF_POINTER__
@@ -1383,17 +1383,17 @@
 b__MAXFg3__120__gvzr_trg_p_fgbentrVpR3__eRi:
 nop
 .text
-.globl b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpq
+.weak b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpq
 .type b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpq,%function
 b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpq:
 nop
 .text
-.globl b__MAXFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_oEAF_8vbf_onfrRjEXAF_12onfvp_fgevatVjF3_AF_9nyybpngbeVjRRRR
+.weak b__MAXFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_oEAF_8vbf_onfrRjEXAF_12onfvp_fgevatVjF3_AF_9nyybpngbeVjRRRR
 .type b__MAXFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_oEAF_8vbf_onfrRjEXAF_12onfvp_fgevatVjF3_AF_9nyybpngbeVjRRRR,%function
 b__MAXFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_oEAF_8vbf_onfrRjEXAF_12onfvp_fgevatVjF3_AF_9nyybpngbeVjRRRR:
 nop
 .data
-.globl b__MGIAFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGIAFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGIAFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGIAFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -1408,17 +1408,17 @@
 b__MAFg3__17cebzvfrViR10trg_shgherRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR10chofrrxcbfRAF_4scbfV9zofgngr_gRRw
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR10chofrrxcbfRAF_4scbfV9zofgngr_gRRw
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR10chofrrxcbfRAF_4scbfV9zofgngr_gRRw,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR10chofrrxcbfRAF_4scbfV9zofgngr_gRRw:
 nop
 .text
-.globl b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpr
+.weak b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpr
 .type b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpr,%function
 b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpr:
 nop
 .text
-.globl b__MAFg3__16__fbegVEAF_6__yrffVffRRCfRRiG0_F5_G_
+.weak b__MAFg3__16__fbegVEAF_6__yrffVffRRCfRRiG0_F5_G_
 .type b__MAFg3__16__fbegVEAF_6__yrffVffRRCfRRiG0_F5_G_,%function
 b__MAFg3__16__fbegVEAF_6__yrffVffRRCfRRiG0_F5_G_:
 nop
@@ -1428,7 +1428,7 @@
 b__MAXFg3__120__pbqrpig_hgs8_hgs16VQvR9qb_yratguRE9zofgngr_gCXpF5_z:
 nop
 .text
-.globl b__MAXFg3__18zrffntrfVjR7qb_bcraREXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREXAF_6ybpnyrR
+.weak b__MAXFg3__18zrffntrfVjR7qb_bcraREXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREXAF_6ybpnyrR
 .type b__MAXFg3__18zrffntrfVjR7qb_bcraREXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREXAF_6ybpnyrR,%function
 b__MAXFg3__18zrffntrfVjR7qb_bcraREXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREXAF_6ybpnyrR:
 nop
@@ -1438,17 +1438,17 @@
 b__MAXFg3__114reebe_pngrtbel10rdhvinyragREXAF_10reebe_pbqrRv:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVpYo0RR16qb_gubhfnaqf_frcRi
+.weak b__MAXFg3__110zbarlchapgVpYo0RR16qb_gubhfnaqf_frcRi
 .type b__MAXFg3__110zbarlchapgVpYo0RR16qb_gubhfnaqf_frcRi,%function
 b__MAXFg3__110zbarlchapgVpYo0RR16qb_gubhfnaqf_frcRi:
 nop
 .data
-.globl b__MGVAFg3__120__gvzr_trg_p_fgbentrVpRR
+.weak b__MGVAFg3__120__gvzr_trg_p_fgbentrVpRR
 .type b__MGVAFg3__120__gvzr_trg_p_fgbentrVpRR,%object
 b__MGVAFg3__120__gvzr_trg_p_fgbentrVpRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__18zrffntrfVpRR
+.weak b__MGFAFg3__18zrffntrfVpRR
 .type b__MGFAFg3__18zrffntrfVpRR,%object
 b__MGFAFg3__18zrffntrfVpRR:
 .space __SIZEOF_POINTER__
@@ -1468,7 +1468,7 @@
 b__MGFAFg3__112flfgrz_reebeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR10chofrrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR10chofrrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR10chofrrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR10chofrrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
@@ -1478,12 +1478,12 @@
 b__MAXFg3__115__pbqrpig_hgs16VQfYo1RR6qb_bhgRE9zofgngr_gCXQfF5_EF5_CpF7_EF7_:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVjYo1RR16qb_qrpvzny_cbvagRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVjYo1RR16qb_qrpvzny_cbvagRi
 .type b__MAXFg3__117zbarlchapg_olanzrVjYo1RR16qb_qrpvzny_cbvagRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVjYo1RR16qb_qrpvzny_cbvagRi:
 nop
 .data
-.globl b__MGIAFg3__17pbyyngrVjRR
+.weak b__MGIAFg3__17pbyyngrVjRR
 .type b__MGIAFg3__17pbyyngrVjRR,%object
 b__MGIAFg3__17pbyyngrVjRR:
 .space __SIZEOF_POINTER__
@@ -1493,27 +1493,27 @@
 b___pkn_irp_arj2:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5jevgrRCXpy
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5jevgrRCXpy
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5jevgrRCXpy,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5jevgrRCXpy:
 nop
 .text
-.globl b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRR4fjncREF3_
+.weak b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRR4fjncREF3_
 .type b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRR4fjncREF3_,%function
 b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRR4fjncREF3_:
 nop
 .data
-.globl b__MGIAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGIAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGIAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGIAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11__trg_lrne4REvEF4_F4_EwEXAF_5pglcrVjRR
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11__trg_lrne4REvEF4_F4_EwEXAF_5pglcrVjRR
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11__trg_lrne4REvEF4_F4_EwEXAF_5pglcrVjRR,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11__trg_lrne4REvEF4_F4_EwEXAF_5pglcrVjRR:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9__tebj_olRzzzzzz
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9__tebj_olRzzzzzz
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9__tebj_olRzzzzzz,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9__tebj_olRzzzzzz:
 nop
@@ -1533,22 +1533,22 @@
 b__MAFg3__112__ef_qrsnhygQ1Ri:
 nop
 .text
-.globl b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpy
+.weak b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpy
 .type b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpy,%function
 b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpy:
 nop
 .text
-.globl b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR16svaq_ynfg_abg_bsRCXpzz
+.weak b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR16svaq_ynfg_abg_bsRCXpzz
 .type b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR16svaq_ynfg_abg_bsRCXpzz,%function
 b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR16svaq_ynfg_abg_bsRCXpzz:
 nop
 .text
-.globl b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpz
+.weak b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpz
 .type b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpz,%function
 b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpz:
 nop
 .data
-.globl b__MGIAFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGIAFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGIAFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGIAFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -1558,12 +1558,12 @@
 b__MAFg3__14fgbyREXAF_12onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRRCzv:
 nop
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVzzRRCzRRoG0_F5_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVzzRRCzRRoG0_F5_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVzzRRCzRRoG0_F5_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVzzRRCzRRoG0_F5_G_:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR8biresybjRw
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR8biresybjRw
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR8biresybjRw,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR8biresybjRw:
 nop
@@ -1593,7 +1593,7 @@
 b__MAFg3__119__funerq_zhgrk_onfr15gel_ybpx_funerqRi:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR10__trg_ubheREvEF4_F4_EwEXAF_5pglcrVpRR
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR10__trg_ubheREvEF4_F4_EwEXAF_5pglcrVpRR
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR10__trg_ubheREvEF4_F4_EwEXAF_5pglcrVpRR,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR10__trg_ubheREvEF4_F4_EwEXAF_5pglcrVpRR:
 nop
@@ -1623,7 +1623,7 @@
 b__MAFg3__16ybpnyr2vq6__vavgRi:
 nop
 .data
-.globl b__MGFAFg3__110__gvzr_trgR
+.weak b__MGFAFg3__110__gvzr_trgR
 .type b__MGFAFg3__110__gvzr_trgR,%object
 b__MGFAFg3__110__gvzr_trgR:
 .space __SIZEOF_POINTER__
@@ -1633,7 +1633,7 @@
 b__MGIFg12yratgu_reebe:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRECi
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRECi
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRECi,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRECi:
 nop
@@ -1643,12 +1643,12 @@
 b__MAFg3__16ybpnyr5snprg16__ba_mreb_funerqRi:
 nop
 .data
-.globl b__MGVAFg3__19gvzr_onfrR
+.weak b__MGVAFg3__19gvzr_onfrR
 .type b__MGVAFg3__19gvzr_onfrR,%object
 b__MGVAFg3__19gvzr_onfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVpYo1RR14qb_senp_qvtvgfRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVpYo1RR14qb_senp_qvtvgfRi
 .type b__MAXFg3__117zbarlchapg_olanzrVpYo1RR14qb_senp_qvtvgfRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVpYo1RR14qb_senp_qvtvgfRi:
 nop
@@ -1678,7 +1678,7 @@
 b__MGVFg13ehagvzr_reebe:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVkkRRCkRRoG0_F5_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVkkRRCkRRoG0_F5_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVkkRRCkRRoG0_F5_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVkkRRCkRRoG0_F5_G_:
 nop
@@ -1688,7 +1688,7 @@
 b__MAFg3__18vbf_onfrQ0Ri:
 nop
 .data
-.globl b__MGIAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRR
+.weak b__MGIAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRR
 .type b__MGIAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRR,%object
 b__MGIAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRR:
 .space __SIZEOF_POINTER__
@@ -1708,7 +1708,7 @@
 b__MAFg3__112__ef_qrsnhygQ2Ri:
 nop
 .data
-.globl b__MGFAFg3__110zbarl_onfrR
+.weak b__MGFAFg3__110zbarl_onfrR
 .type b__MGFAFg3__110zbarl_onfrR,%object
 b__MGFAFg3__110zbarl_onfrR:
 .space __SIZEOF_POINTER__
@@ -1718,17 +1718,17 @@
 b__MGIAFg3__18vbf_onfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpk
+.weak b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpk
 .type b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpk,%function
 b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpk:
 nop
 .data
-.globl b__MGVAFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGVAFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGVAFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGVAFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpl
+.weak b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpl
 .type b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpl,%function
 b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpl:
 nop
@@ -1738,7 +1738,7 @@
 b__MGIAFg3__17pbqrpigVQfp9zofgngr_gRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR8chovzohrREXAF_6ybpnyrR
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR8chovzohrREXAF_6ybpnyrR
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR8chovzohrREXAF_6ybpnyrR,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR8chovzohrREXAF_6ybpnyrR:
 nop
@@ -1763,17 +1763,17 @@
 b__MAFg3__118funerq_gvzrq_zhgrk13haybpx_funerqRi:
 nop
 .text
-.globl b__MAFg3__16__fbegVEAF_6__yrffVqqRRCqRRiG0_F5_G_
+.weak b__MAFg3__16__fbegVEAF_6__yrffVqqRRCqRRiG0_F5_G_
 .type b__MAFg3__16__fbegVEAF_6__yrffVqqRRCqRRiG0_F5_G_,%function
 b__MAFg3__16__fbegVEAF_6__yrffVqqRRCqRRiG0_F5_G_:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVpYo1RR13qb_cbf_sbezngRi
+.weak b__MAXFg3__110zbarlchapgVpYo1RR13qb_cbf_sbezngRi
 .type b__MAXFg3__110zbarlchapgVpYo1RR13qb_cbf_sbezngRi,%function
 b__MAXFg3__110zbarlchapgVpYo1RR13qb_cbf_sbezngRi:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVjYo0RR14qb_senp_qvtvgfRi
+.weak b__MAXFg3__110zbarlchapgVjYo0RR14qb_senp_qvtvgfRi
 .type b__MAXFg3__110zbarlchapgVjYo0RR14qb_senp_qvtvgfRi,%function
 b__MAXFg3__110zbarlchapgVjYo0RR14qb_senp_qvtvgfRi:
 nop
@@ -1788,7 +1788,7 @@
 b__MAFg3__16ybpnyrQ2Ri:
 nop
 .text
-.globl b__MAFg3__19__ahz_trgVpR19__fgntr2_sybng_ybbcRpEoEpCpEF4_ppEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCwEFR_EwF4_
+.weak b__MAFg3__19__ahz_trgVpR19__fgntr2_sybng_ybbcRpEoEpCpEF4_ppEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCwEFR_EwF4_
 .type b__MAFg3__19__ahz_trgVpR19__fgntr2_sybng_ybbcRpEoEpCpEF4_ppEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCwEFR_EwF4_,%function
 b__MAFg3__19__ahz_trgVpR19__fgntr2_sybng_ybbcRpEoEpCpEF4_ppEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCwEFR_EwF4_:
 nop
@@ -1798,7 +1798,7 @@
 b__MAFg3__119__funerq_jrnx_pbhag12__nqq_funerqRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR:
 nop
@@ -1813,12 +1813,12 @@
 b__MGIA10__pkknovi120__shapgvba_glcr_vasbR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRR
+.weak b__MGFAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRR
 .type b__MGFAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRR,%object
 b__MGFAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVjYo0RR13qb_art_sbezngRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVjYo0RR13qb_art_sbezngRi
 .type b__MAXFg3__117zbarlchapg_olanzrVjYo0RR13qb_art_sbezngRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVjYo0RR13qb_art_sbezngRi:
 nop
@@ -1828,7 +1828,7 @@
 b__MAXFg3__17pbqrpigVQfp9zofgngr_gR13qb_znk_yratguRi:
 nop
 .data
-.globl b__MGIAFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGIAFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGIAFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGIAFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
@@ -1858,7 +1858,7 @@
 b__MAFg3__112fgefgernzohs8biresybjRv:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRCSEF3_F4_R
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRCSEF3_F4_R
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRCSEF3_F4_R,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRCSEF3_F4_R:
 nop
@@ -1873,12 +1873,12 @@
 b__MGIA10__pkknovi117__pynff_glcr_vasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ0Ri
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ0Ri
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ0Ri,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ0Ri:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5cohzcRv
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5cohzcRv
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5cohzcRv,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5cohzcRv:
 nop
@@ -1898,7 +1898,7 @@
 b__MAFg3__118pbaqvgvba_inevnoyr15__qb_gvzrq_jnvgREAF_11havdhr_ybpxVAF_5zhgrkRRRAF_6puebab10gvzr_cbvagVAF5_12flfgrz_pybpxRAF5_8qhengvbaVkAF_5engvbVYy1RYy1000000000RRRRRRR:
 nop
 .data
-.globl b__MGFAFg3__110zbarlchapgVpYo1RRR
+.weak b__MGFAFg3__110zbarlchapgVpYo1RRR
 .type b__MGFAFg3__110zbarlchapgVpYo1RRR,%object
 b__MGFAFg3__110zbarlchapgVpYo1RRR:
 .space __SIZEOF_POINTER__
@@ -1913,12 +1913,12 @@
 b__MAXFg3__17pbqrpigVpp9zofgngr_gR5qb_vaREF1_CXpF5_EF5_CpF7_EF7_:
 nop
 .data
-.globl b__MGIAFg3__110zbarlchapgVpYo1RRR
+.weak b__MGIAFg3__110zbarlchapgVpYo1RRR
 .type b__MGIAFg3__110zbarlchapgVpYo1RRR,%object
 b__MGIAFg3__110zbarlchapgVpYo1RRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7ercynprRzzEXF5_zz
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7ercynprRzzEXF5_zz
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7ercynprRzzEXF5_zz,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7ercynprRzzEXF5_zz:
 nop
@@ -1943,7 +1943,7 @@
 b__MAXFg3__120__gvzr_trg_p_fgbentrVpR7__nz_czRi:
 nop
 .data
-.globl b__MGFAFg3__115gvzr_trg_olanzrVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGFAFg3__115gvzr_trg_olanzrVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGFAFg3__115gvzr_trg_olanzrVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGFAFg3__115gvzr_trg_olanzrVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
@@ -1953,12 +1953,12 @@
 b__MGVFg8onq_pnfg:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCSEAF_8vbf_onfrRF5_R
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCSEAF_8vbf_onfrRF5_R
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCSEAF_8vbf_onfrRF5_R,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCSEAF_8vbf_onfrRF5_R:
 nop
 .data
-.globl b__MGIAFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGIAFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGIAFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGIAFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
@@ -1968,17 +1968,17 @@
 b__MAFg3__117__nffbp_fho_fgngr10__fho_jnvgREAF_11havdhr_ybpxVAF_5zhgrkRRR:
 nop
 .data
-.globl b__MAFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR
+.weak b__MAFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR
 .type b__MAFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR,%object
 b__MAFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MAFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR
+.weak b__MAFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR
 .type b__MAFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR,%object
 b__MAFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR16qb_trg_zbaguanzrRF4_F4_EAF_8vbf_onfrREwC2gz
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR16qb_trg_zbaguanzrRF4_F4_EAF_8vbf_onfrREwC2gz
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR16qb_trg_zbaguanzrRF4_F4_EAF_8vbf_onfrREwC2gz,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR16qb_trg_zbaguanzrRF4_F4_EAF_8vbf_onfrREwC2gz:
 nop
@@ -1988,7 +1988,7 @@
 b__MAFg3__18ahzchapgVjR2vqR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGFAFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGFAFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGFAFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -2028,7 +2028,7 @@
 b__MAXFg3__124__yvopcc_qroht_rkprcgvba4jungRi:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVpYo1RR16qb_artngvir_fvtaRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVpYo1RR16qb_artngvir_fvtaRi
 .type b__MAXFg3__117zbarlchapg_olanzrVpYo1RR16qb_artngvir_fvtaRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVpYo1RR16qb_artngvir_fvtaRi:
 nop
@@ -2068,7 +2068,7 @@
 b__MGVA10__pkknovi120__shapgvba_glcr_vasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVvvRRCvRRoG0_F5_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVvvRRCvRRoG0_F5_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVvvRRCvRRoG0_F5_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVvvRRCvRRoG0_F5_G_:
 nop
@@ -2078,12 +2078,12 @@
 b__MAFg16arfgrq_rkprcgvbaQ0Ri:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVjYo1RR14qb_phee_flzobyRi
+.weak b__MAXFg3__110zbarlchapgVjYo1RR14qb_phee_flzobyRi
 .type b__MAXFg3__110zbarlchapgVjYo1RR14qb_phee_flzobyRi,%function
 b__MAXFg3__110zbarlchapgVjYo1RR14qb_phee_flzobyRi:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6erfvmrRzp
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6erfvmrRzp
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6erfvmrRzp,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6erfvmrRzp:
 nop
@@ -2098,12 +2098,12 @@
 b__MAFg3__124__yvopcc_qroht_rkprcgvbaP1Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ1Ri
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ1Ri
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ1Ri,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ1Ri:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11qb_trg_lrneRF4_F4_EAF_8vbf_onfrREwC2gz
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11qb_trg_lrneRF4_F4_EAF_8vbf_onfrREwC2gz
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11qb_trg_lrneRF4_F4_EAF_8vbf_onfrREwC2gz,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11qb_trg_lrneRF4_F4_EAF_8vbf_onfrREwC2gz:
 nop
@@ -2113,7 +2113,7 @@
 b__MAFg3__15pglcrVpRQ0Ri:
 nop
 .data
-.globl b__MGVAFg3__111__zbarl_chgVjRR
+.weak b__MGVAFg3__111__zbarl_chgVjRR
 .type b__MGVAFg3__111__zbarl_chgVjRR,%object
 b__MGVAFg3__111__zbarl_chgVjRR:
 .space __SIZEOF_POINTER__
@@ -2138,7 +2138,7 @@
 b__MAFg3__16puebab12flfgrz_pybpx11sebz_gvzr_gRy:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nffvtaRCXp
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nffvtaRCXp
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nffvtaRCXp,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nffvtaRCXp:
 nop
@@ -2168,7 +2168,7 @@
 b__MGVCXQu:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRCAF_15onfvp_fgernzohsVjF2_RR
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRCAF_15onfvp_fgernzohsVjF2_RR
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRCAF_15onfvp_fgernzohsVjF2_RR,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRCAF_15onfvp_fgernzohsVjF2_RR:
 nop
@@ -2183,27 +2183,27 @@
 b__MGIAFg3__112shgher_reebeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRCSEAF_8vbf_onfrRF5_R
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRCSEAF_8vbf_onfrRF5_R
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRCSEAF_8vbf_onfrRF5_R,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRCSEAF_8vbf_onfrRF5_R:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRnFREXF3_
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRnFREXF3_
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRnFREXF3_,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRnFREXF3_:
 nop
 .text
-.globl b__MAFg3__19__ahz_trgVpR19__fgntr2_sybng_cercREAF_8vbf_onfrRCpEpF5_
+.weak b__MAFg3__19__ahz_trgVpR19__fgntr2_sybng_cercREAF_8vbf_onfrRCpEpF5_
 .type b__MAFg3__19__ahz_trgVpR19__fgntr2_sybng_cercREAF_8vbf_onfrRCpEpF5_,%function
 b__MAFg3__19__ahz_trgVpR19__fgntr2_sybng_cercREAF_8vbf_onfrRCpEpF5_:
 nop
 .data
-.globl b__MGFAFg3__17pbyyngrVjRR
+.weak b__MGFAFg3__17pbyyngrVjRR
 .type b__MGFAFg3__17pbyyngrVjRR,%object
 b__MGFAFg3__17pbyyngrVjRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7erfreirRz
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7erfreirRz
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7erfreirRz,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7erfreirRz:
 nop
@@ -2233,12 +2233,12 @@
 b__MAFg3__15pglcrVjR2vqR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7ercynprRzzzj
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7ercynprRzzzj
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7ercynprRzzzj,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7ercynprRzzzj:
 nop
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVggRRCgRRoG0_F5_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVggRRCgRRoG0_F5_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVggRRCgRRoG0_F5_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVggRRCgRRoG0_F5_G_:
 nop
@@ -2248,7 +2248,7 @@
 b__MAXFg3__115__pbqrpig_hgs16VQfYo1RR9qb_yratguRE9zofgngr_gCXpF5_z:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR13__trg_jrrxqnlREvEF4_F4_EwEXAF_5pglcrVjRR
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR13__trg_jrrxqnlREvEF4_F4_EwEXAF_5pglcrVjRR
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR13__trg_jrrxqnlREvEF4_F4_EwEXAF_5pglcrVjRR,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR13__trg_jrrxqnlREvEF4_F4_EwEXAF_5pglcrVjRR:
 nop
@@ -2263,7 +2263,7 @@
 b__MAFg11ybtvp_reebeP1RCXp:
 nop
 .text
-.globl b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR5esvaqRCXpzz
+.weak b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR5esvaqRCXpzz
 .type b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR5esvaqRCXpzz,%function
 b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR5esvaqRCXpzz:
 nop
@@ -2283,7 +2283,7 @@
 b__MAXFg3__114__pbqrpig_hgs8VQvR11qb_rapbqvatRi:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwC2gzpp
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwC2gzpp
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwC2gzpp,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwC2gzpp:
 nop
@@ -2293,7 +2293,7 @@
 b__MGVFg12yratgu_reebe:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__121__onfvp_fgevat_pbzzbaVYo1RR20__guebj_yratgu_reebeRi
+.weak b__MAXFg3__121__onfvp_fgevat_pbzzbaVYo1RR20__guebj_yratgu_reebeRi
 .type b__MAXFg3__121__onfvp_fgevat_pbzzbaVYo1RR20__guebj_yratgu_reebeRi,%function
 b__MAXFg3__121__onfvp_fgevat_pbzzbaVYo1RR20__guebj_yratgu_reebeRi:
 nop
@@ -2333,7 +2333,7 @@
 b__MAXFg3__114__pbqrpig_hgs8VQvR13qb_znk_yratguRi:
 nop
 .data
-.globl b__MGIAFg3__117zbarlchapg_olanzrVjYo0RRR
+.weak b__MGIAFg3__117zbarlchapg_olanzrVjYo0RRR
 .type b__MGIAFg3__117zbarlchapg_olanzrVjYo0RRR,%object
 b__MGIAFg3__117zbarlchapg_olanzrVjYo0RRR:
 .space __SIZEOF_POINTER__
@@ -2343,7 +2343,7 @@
 b__MAFg3__124__yvopcc_qroht_rkprcgvbaP2Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ2Ri
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ2Ri
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ2Ri,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ2Ri:
 nop
@@ -2358,12 +2358,12 @@
 b__MAFg3__15pglcrVpRQ1Ri:
 nop
 .data
-.globl b__MGVAFg3__110zbarlchapgVjYo1RRR
+.weak b__MGVAFg3__110zbarlchapgVjYo1RRR
 .type b__MGVAFg3__110zbarlchapgVjYo1RRR,%object
 b__MGVAFg3__110zbarlchapgVjYo1RRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGVAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRR
+.weak b__MGVAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRR
 .type b__MGVAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRR,%object
 b__MGVAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRR:
 .space __SIZEOF_POINTER__
@@ -2378,7 +2378,7 @@
 b__MAFg3__114__funerq_pbhagQ1Ri:
 nop
 .text
-.globl b__ManzFg11nyvta_iny_gEXFg9abguebj_g
+.weak b__ManzFg11nyvta_iny_gEXFg9abguebj_g
 .type b__ManzFg11nyvta_iny_gEXFg9abguebj_g,%function
 b__ManzFg11nyvta_iny_gEXFg9abguebj_g:
 nop
@@ -2403,12 +2403,12 @@
 b___qlanzvp_pnfg:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR12__trg_frpbaqREvEF4_F4_EwEXAF_5pglcrVjRR
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR12__trg_frpbaqREvEF4_F4_EwEXAF_5pglcrVjRR
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR12__trg_frpbaqREvEF4_F4_EwEXAF_5pglcrVjRR,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR12__trg_frpbaqREvEF4_F4_EwEXAF_5pglcrVjRR:
 nop
 .text
-.globl b__MAFg3__111__zbarl_chgVjR8__sbezngRCjEF2_F3_wCXjF5_EXAF_5pglcrVjRRoEXAF_10zbarl_onfr7cnggreaRjjEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREXAFR_VjAFS_VjRRAFU_VjRRRRFD_v
+.weak b__MAFg3__111__zbarl_chgVjR8__sbezngRCjEF2_F3_wCXjF5_EXAF_5pglcrVjRRoEXAF_10zbarl_onfr7cnggreaRjjEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREXAFR_VjAFS_VjRRAFU_VjRRRRFD_v
 .type b__MAFg3__111__zbarl_chgVjR8__sbezngRCjEF2_F3_wCXjF5_EXAF_5pglcrVjRRoEXAF_10zbarl_onfr7cnggreaRjjEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREXAFR_VjAFS_VjRRAFU_VjRRRRFD_v,%function
 b__MAFg3__111__zbarl_chgVjR8__sbezngRCjEF2_F3_wCXjF5_EXAF_5pglcrVjRRoEXAF_10zbarl_onfr7cnggreaRjjEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREXAFR_VjAFS_VjRRAFU_VjRRRRFD_v:
 nop
@@ -2423,22 +2423,22 @@
 b__MA10__pkknovi119__trgRkprcgvbaPynffRCX17_Hajvaq_Rkprcgvba:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgREj
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgREj
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgREj,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgREj:
 nop
 .text
-.globl b__MAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRQ0Ri
+.weak b__MAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRQ0Ri
 .type b__MAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRQ0Ri,%function
 b__MAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRQ0Ri:
 nop
 .data
-.globl b__MGVAFg3__117zbarlchapg_olanzrVpYo1RRR
+.weak b__MGVAFg3__117zbarlchapg_olanzrVpYo1RRR
 .type b__MGVAFg3__117zbarlchapg_olanzrVpYo1RRR,%object
 b__MGVAFg3__117zbarlchapg_olanzrVpYo1RRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__121__guernq_fcrpvsvp_cgeVAF_15__guernq_fgehpgRRP2Ri
+.weak b__MAFg3__121__guernq_fcrpvsvp_cgeVAF_15__guernq_fgehpgRRP2Ri
 .type b__MAFg3__121__guernq_fcrpvsvp_cgeVAF_15__guernq_fgehpgRRP2Ri,%function
 b__MAFg3__121__guernq_fcrpvsvp_cgeVAF_15__guernq_fgehpgRRP2Ri:
 nop
@@ -2458,7 +2458,7 @@
 b__MAFg3__17cebzvfrViR28frg_rkprcgvba_ng_guernq_rkvgRFg13rkprcgvba_cge:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR9__trg_qnlREvEF4_F4_EwEXAF_5pglcrVjRR
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR9__trg_qnlREvEF4_F4_EwEXAF_5pglcrVjRR
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR9__trg_qnlREvEF4_F4_EwEXAF_5pglcrVjRR,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR9__trg_qnlREvEF4_F4_EwEXAF_5pglcrVjRR:
 nop
@@ -2503,7 +2503,7 @@
 b__MAXFg3__111__yvopcc_qo8__svaq_pRCi:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVpYo1RR14qb_senp_qvtvgfRi
+.weak b__MAXFg3__110zbarlchapgVpYo1RR14qb_senp_qvtvgfRi
 .type b__MAXFg3__110zbarlchapgVpYo1RR14qb_senp_qvtvgfRi,%function
 b__MAXFg3__110zbarlchapgVpYo1RR14qb_senp_qvtvgfRi:
 nop
@@ -2533,7 +2533,7 @@
 b__MAFg3__18vbf_onfr4VavgP1Ri:
 nop
 .text
-.globl b__MAXFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_oEAF_8vbf_onfrRpEXAF_12onfvp_fgevatVpF3_AF_9nyybpngbeVpRRRR
+.weak b__MAXFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_oEAF_8vbf_onfrRpEXAF_12onfvp_fgevatVpF3_AF_9nyybpngbeVpRRRR
 .type b__MAXFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_oEAF_8vbf_onfrRpEXAF_12onfvp_fgevatVpF3_AF_9nyybpngbeVpRRRR,%function
 b__MAXFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_oEAF_8vbf_onfrRpEXAF_12onfvp_fgevatVpF3_AF_9nyybpngbeVpRRRR:
 nop
@@ -2548,12 +2548,12 @@
 b__MAFg3__118__gvzr_trg_fgbentrVpRP2RCXp:
 nop
 .data
-.globl b__MGFAFg3__111__zbarl_chgVjRR
+.weak b__MGFAFg3__111__zbarl_chgVjRR
 .type b__MGFAFg3__111__zbarl_chgVjRR,%object
 b__MGFAFg3__111__zbarl_chgVjRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nccraqRzj
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nccraqRzj
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nccraqRzj,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nccraqRzj:
 nop
@@ -2563,7 +2563,7 @@
 b__MAFg3__114__funerq_pbhagQ2Ri:
 nop
 .data
-.globl b__MGFAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRR
+.weak b__MGFAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRR
 .type b__MGFAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRR,%object
 b__MGFAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRR:
 .space __SIZEOF_POINTER__
@@ -2623,12 +2623,12 @@
 b__MAFg3__111ertrk_reebeQ2Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgRi
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgRi
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgRi,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgRi:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR4crrxRi
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR4crrxRi
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR4crrxRi,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR4crrxRi:
 nop
@@ -2643,17 +2643,17 @@
 b__MAXFg3__120__gvzr_trg_p_fgbentrVpR3__kRi:
 nop
 .data
-.globl b__MGVAFg3__18zrffntrfVpRR
+.weak b__MGVAFg3__18zrffntrfVpRR
 .type b__MGVAFg3__18zrffntrfVpRR,%object
 b__MGVAFg3__18zrffntrfVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR6fragelP1REF3_o
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR6fragelP1REF3_o
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR6fragelP1REF3_o,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR6fragelP1REF3_o:
 nop
 .text
-.globl b__MAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRQ1Ri
+.weak b__MAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRQ1Ri
 .type b__MAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRQ1Ri,%function
 b__MAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRQ1Ri:
 nop
@@ -2663,12 +2663,12 @@
 b__MAXFg3__115__pbqrpig_hgs16VjYo1RR10qb_hafuvsgRE9zofgngr_gCpF4_EF4_:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5syhfuRi
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5syhfuRi
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5syhfuRi,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5syhfuRi:
 nop
 .data
-.globl b__MGVAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRR
+.weak b__MGVAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRR
 .type b__MGVAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRR,%object
 b__MGVAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRR:
 .space __SIZEOF_POINTER__
@@ -2683,7 +2683,7 @@
 b__MGIAFg3__18ahzchapgVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nffvtaRCXpz
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nffvtaRCXpz
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nffvtaRCXpz,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nffvtaRCXpz:
 nop
@@ -2713,7 +2713,7 @@
 b__MAXFg3__15pglcrVjR10qb_gbhccreRCjCXj:
 nop
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVrrRRCrRRoG0_F5_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVrrRRCrRRoG0_F5_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVrrRRCrRRoG0_F5_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVrrRRCrRRoG0_F5_G_:
 nop
@@ -2723,22 +2723,22 @@
 b__MAFg3__18vbf_onfr4VavgP2Ri:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVpYo0RR16qb_cbfvgvir_fvtaRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVpYo0RR16qb_cbfvgvir_fvtaRi
 .type b__MAXFg3__117zbarlchapg_olanzrVpYo0RR16qb_cbfvgvir_fvtaRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVpYo0RR16qb_cbfvgvir_fvtaRi:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR10__trg_lrneREvEF4_F4_EwEXAF_5pglcrVpRR
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR10__trg_lrneREvEF4_F4_EwEXAF_5pglcrVpRR
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR10__trg_lrneREvEF4_F4_EwEXAF_5pglcrVpRR,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR10__trg_lrneREvEF4_F4_EwEXAF_5pglcrVpRR:
 nop
 .text
-.globl b__MAFg3__19__ahz_trgVjR17__fgntr2_vag_cercREAF_8vbf_onfrRCjEj
+.weak b__MAFg3__19__ahz_trgVjR17__fgntr2_vag_cercREAF_8vbf_onfrRCjEj
 .type b__MAFg3__19__ahz_trgVjR17__fgntr2_vag_cercREAF_8vbf_onfrRCjEj,%function
 b__MAFg3__19__ahz_trgVjR17__fgntr2_vag_cercREAF_8vbf_onfrRCjEj:
 nop
 .data
-.globl b__MGVAFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGVAFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGVAFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGVAFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -2758,22 +2758,22 @@
 b__MAXFg12onq_nal_pnfg4jungRi:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR5gryytRi
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR5gryytRi
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR5gryytRi,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR5gryytRi:
 nop
 .data
-.globl b__MGFAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGFAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGFAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGFAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGVAFg3__113zrffntrf_onfrR
+.weak b__MGVAFg3__113zrffntrf_onfrR
 .type b__MGVAFg3__113zrffntrf_onfrR,%object
 b__MGVAFg3__113zrffntrf_onfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR2ngRz
+.weak b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR2ngRz
 .type b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR2ngRz,%function
 b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR2ngRz:
 nop
@@ -2788,7 +2788,7 @@
 b__MGVo:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5tohzcRv
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5tohzcRv
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5tohzcRv,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5tohzcRv:
 nop
@@ -2798,7 +2798,7 @@
 b__MAFg3__112pglcr_olanzrVjRP1RCXpz:
 nop
 .data
-.globl b__MGVAFg3__110__gvzr_trgR
+.weak b__MGVAFg3__110__gvzr_trgR
 .type b__MGVAFg3__110__gvzr_trgR,%object
 b__MGVAFg3__110__gvzr_trgR:
 .space __SIZEOF_POINTER__
@@ -2818,7 +2818,7 @@
 b__MGVq:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRQ2Ri
+.weak b__MAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRQ2Ri
 .type b__MAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRQ2Ri,%function
 b__MAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRQ2Ri:
 nop
@@ -2828,7 +2828,7 @@
 b__MAFg3__16ybpnyr4abarR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGVAFg3__114pbqrpig_olanzrVjp9zofgngr_gRR
+.weak b__MGVAFg3__114pbqrpig_olanzrVjp9zofgngr_gRR
 .type b__MGVAFg3__114pbqrpig_olanzrVjp9zofgngr_gRR,%object
 b__MGVAFg3__114pbqrpig_olanzrVjp9zofgngr_gRR:
 .space __SIZEOF_POINTER__
@@ -2873,7 +2873,7 @@
 b__MGVAFg12rkcrevzragny19onq_bcgvbany_npprffR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR4acbfR
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR4acbfR
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR4acbfR,%object
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR4acbfR:
 .space __SIZEOF_POINTER__
@@ -2903,12 +2903,12 @@
 b__MGVv:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR4frgtRCjF4_F4_
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR4frgtRCjF4_F4_
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR4frgtRCjF4_F4_,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR4frgtRCjF4_F4_:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVjYo0RR16qb_qrpvzny_cbvagRi
+.weak b__MAXFg3__110zbarlchapgVjYo0RR16qb_qrpvzny_cbvagRi
 .type b__MAXFg3__110zbarlchapgVjYo0RR16qb_qrpvzny_cbvagRi,%function
 b__MAXFg3__110zbarlchapgVjYo0RR16qb_qrpvzny_cbvagRi:
 nop
@@ -2963,7 +2963,7 @@
 b__MAXFg3__114__pbqrpig_hgs8VQfR11qb_rapbqvatRi:
 nop
 .data
-.globl b__MGFAFg3__110zbarlchapgVjYo0RRR
+.weak b__MGFAFg3__110zbarlchapgVjYo0RRR
 .type b__MGFAFg3__110zbarlchapgVjYo0RRR,%object
 b__MGFAFg3__110zbarlchapgVjYo0RRR:
 .space __SIZEOF_POINTER__
@@ -2978,7 +2978,7 @@
 b__MGVy:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MqnCiz
+.weak b__MqnCiz
 .type b__MqnCiz,%function
 b__MqnCiz:
 nop
@@ -2998,7 +2998,7 @@
 b__MAFg3__127__yvopcc_frg_qroht_shapgvbaRCSiEXAF_19__yvopcc_qroht_vasbRR:
 nop
 .text
-.globl b__MGi0_a24_AFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ0Ri
+.weak b__MGi0_a24_AFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ0Ri
 .type b__MGi0_a24_AFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ0Ri,%function
 b__MGi0_a24_AFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ0Ri:
 nop
@@ -3023,12 +3023,12 @@
 b__MAFg3__110pglcr_onfr5hccreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__110zbarlchapgVjYo0RRR
+.weak b__MGIAFg3__110zbarlchapgVjYo0RRR
 .type b__MGIAFg3__110zbarlchapgVjYo0RRR,%object
 b__MGIAFg3__110zbarlchapgVjYo0RRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__Manz
+.weak b__Manz
 .type b__Manz,%function
 b__Manz:
 nop
@@ -3043,17 +3043,17 @@
 b__MAFg8onq_pnfgQ2Ri:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11__trg_nz_czREvEF4_F4_EwEXAF_5pglcrVpRR
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11__trg_nz_czREvEF4_F4_EwEXAF_5pglcrVpRR
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11__trg_nz_czREvEF4_F4_EwEXAF_5pglcrVpRR,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11__trg_nz_czREvEF4_F4_EwEXAF_5pglcrVpRR:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR9__trg_qnlREvEF4_F4_EwEXAF_5pglcrVpRR
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR9__trg_qnlREvEF4_F4_EwEXAF_5pglcrVpRR
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR9__trg_qnlREvEF4_F4_EwEXAF_5pglcrVpRR,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR9__trg_qnlREvEF4_F4_EwEXAF_5pglcrVpRR:
 nop
 .data
-.globl b__MGFAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGFAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGFAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGFAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
@@ -3063,7 +3063,7 @@
 b__MAFg3__118trg_cbvagre_fnsrglRi:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRnFREXF5_
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRnFREXF5_
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRnFREXF5_,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRnFREXF5_:
 nop
@@ -3083,7 +3083,7 @@
 b__MAXFg3__120__gvzr_trg_p_fgbentrVjR3__pRi:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR2ngRz
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR2ngRz
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR2ngRz,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR2ngRz:
 nop
@@ -3113,12 +3113,12 @@
 b__MAFg3__18vbf_onfr11nqwhfgsvryqR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR9chfu_onpxRj
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR9chfu_onpxRj
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR9chfu_onpxRj,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR9chfu_onpxRj:
 nop
 .text
-.globl b__ManzFg11nyvta_iny_g
+.weak b__ManzFg11nyvta_iny_g
 .type b__ManzFg11nyvta_iny_g,%function
 b__ManzFg11nyvta_iny_g:
 nop
@@ -3133,7 +3133,7 @@
 b__MAFg3__112fgefgernzohsP1RCnyF1_:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP1REXF5_EXF4_
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP1REXF5_EXF4_
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP1REXF5_EXF4_,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP1REXF5_EXF4_:
 nop
@@ -3158,7 +3158,7 @@
 b__MGVg:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR6fragelP2REF3_
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR6fragelP2REF3_
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR6fragelP2REF3_,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR6fragelP2REF3_:
 nop
@@ -3178,7 +3178,7 @@
 b__MGVAFg3__119__funerq_jrnx_pbhagR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgREAF_15onfvp_fgernzohsVpF2_RRp
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgREAF_15onfvp_fgernzohsVpF2_RRp
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgREAF_15onfvp_fgernzohsVpF2_RRp,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgREAF_15onfvp_fgernzohsVpF2_RRp:
 nop
@@ -3208,7 +3208,7 @@
 b__MGVi:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11__trg_zbaguREvEF4_F4_EwEXAF_5pglcrVjRR
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11__trg_zbaguREvEF4_F4_EwEXAF_5pglcrVjRR
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11__trg_zbaguREvEF4_F4_EwEXAF_5pglcrVjRR,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11__trg_zbaguREvEF4_F4_EwEXAF_5pglcrVjRR:
 nop
@@ -3223,12 +3223,12 @@
 b__MGVj:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR6fragelQ1Ri
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR6fragelQ1Ri
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR6fragelQ1Ri,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR6fragelQ1Ri:
 nop
 .text
-.globl b__MGi0_a24_AFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ1Ri
+.weak b__MGi0_a24_AFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ1Ri
 .type b__MGi0_a24_AFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ1Ri,%function
 b__MGi0_a24_AFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRQ1Ri:
 nop
@@ -3263,7 +3263,7 @@
 b__MAFg3__17cebzvfrViRP1Ri:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5fchgpRp
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5fchgpRp
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5fchgpRp,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5fchgpRp:
 nop
@@ -3318,12 +3318,12 @@
 b__MAFg3__15zhgrk4ybpxRi:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCXi
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCXi
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCXi,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCXi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRP2REXF3_
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRP2REXF3_
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRP2REXF3_,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRP2REXF3_:
 nop
@@ -3343,7 +3343,7 @@
 b__MAFg3__119__funerq_zhgrk_onfr11ybpx_funerqRi:
 nop
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVnnRRCnRRoG0_F5_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVnnRRCnRRoG0_F5_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVnnRRCnRRoG0_F5_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVnnRRCnRRoG0_F5_G_:
 nop
@@ -3363,7 +3363,7 @@
 b__MAFg3__117__jvqra_sebz_hgs8VYz32RRQ0Ri:
 nop
 .data
-.globl b__MGFAFg3__120__gvzr_trg_p_fgbentrVjRR
+.weak b__MGFAFg3__120__gvzr_trg_p_fgbentrVjRR
 .type b__MGFAFg3__120__gvzr_trg_p_fgbentrVjRR,%object
 b__MGFAFg3__120__gvzr_trg_p_fgbentrVjRR:
 .space __SIZEOF_POINTER__
@@ -3373,7 +3373,7 @@
 b__MAFg3__111ertrk_reebeP1RAF_15ertrk_pbafgnagf10reebe_glcrR:
 nop
 .text
-.globl b__MAFg3__111__zbarl_trgVjR13__tngure_vasbRoEXAF_6ybpnyrREAF_10zbarl_onfr7cnggreaREjF8_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF9_VjAFN_VjRRAFP_VjRRRRFW_FW_Ev
+.weak b__MAFg3__111__zbarl_trgVjR13__tngure_vasbRoEXAF_6ybpnyrREAF_10zbarl_onfr7cnggreaREjF8_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF9_VjAFN_VjRRAFP_VjRRRRFW_FW_Ev
 .type b__MAFg3__111__zbarl_trgVjR13__tngure_vasbRoEXAF_6ybpnyrREAF_10zbarl_onfr7cnggreaREjF8_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF9_VjAFN_VjRRAFP_VjRRRRFW_FW_Ev,%function
 b__MAFg3__111__zbarl_trgVjR13__tngure_vasbRoEXAF_6ybpnyrREAF_10zbarl_onfr7cnggreaREjF8_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF9_VjAFN_VjRRAFP_VjRRRRFW_FW_Ev:
 nop
@@ -3403,7 +3403,7 @@
 b__MAXFg3__115__pbqrpig_hgs16VQfYo0RR13qb_znk_yratguRi:
 nop
 .text
-.globl b__MAXFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpCX2gzpp
+.weak b__MAXFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpCX2gzpp
 .type b__MAXFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpCX2gzpp,%function
 b__MAXFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpCX2gzpp:
 nop
@@ -3418,7 +3418,7 @@
 b__MAXFg3__115__pbqrpig_hgs16VQfYo0RR16qb_nyjnlf_abpbaiRi:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6__vavgRzj
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6__vavgRzj
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6__vavgRzj,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6__vavgRzj:
 nop
@@ -3428,17 +3428,17 @@
 b__MAFg3__16puebab12flfgrz_pybpx3abjRi:
 nop
 .text
-.globl b__MAXFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6trgybpRi
+.weak b__MAXFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6trgybpRi
 .type b__MAXFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6trgybpRi,%function
 b__MAXFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6trgybpRi:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR6fragelQ2Ri
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR6fragelQ2Ri
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR6fragelQ2Ri,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR6fragelQ2Ri:
 nop
 .text
-.globl b__MAXFg3__17pbyyngrVpR7qb_unfuRCXpF3_
+.weak b__MAXFg3__17pbyyngrVpR7qb_unfuRCXpF3_
 .type b__MAXFg3__17pbyyngrVpR7qb_unfuRCXpF3_,%function
 b__MAXFg3__17pbyyngrVpR7qb_unfuRCXpF3_:
 nop
@@ -3458,12 +3458,12 @@
 b__MAFg3__18vbf_onfr9hccrepnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__110zbarlchapgVpYo1RR16qb_gubhfnaqf_frcRi
+.weak b__MAXFg3__110zbarlchapgVpYo1RR16qb_gubhfnaqf_frcRi
 .type b__MAXFg3__110zbarlchapgVpYo1RR16qb_gubhfnaqf_frcRi,%function
 b__MAXFg3__110zbarlchapgVpYo1RR16qb_gubhfnaqf_frcRi:
 nop
 .data
-.globl b__MGVAFg3__117zbarlchapg_olanzrVjYo0RRR
+.weak b__MGVAFg3__117zbarlchapg_olanzrVjYo0RRR
 .type b__MGVAFg3__117zbarlchapg_olanzrVjYo0RRR,%object
 b__MGVAFg3__117zbarlchapg_olanzrVjYo0RRR:
 .space __SIZEOF_POINTER__
@@ -3478,7 +3478,7 @@
 b__MAFg3__114__funerq_pbhag16__eryrnfr_funerqRi:
 nop
 .data
-.globl b__MGIAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGIAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGIAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGIAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -3503,12 +3503,12 @@
 b__MAFg13ehagvzr_reebeQ2Ri:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR5renfrRzz
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR5renfrRzz
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR5renfrRzz,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR5renfrRzz:
 nop
 .data
-.globl b__MGVAFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGVAFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGVAFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGVAFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
@@ -3558,12 +3558,12 @@
 b__MAFg3__112cynprubyqref3_10R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__110zbarlchapgVpYo0RR16qb_artngvir_fvtaRi
+.weak b__MAXFg3__110zbarlchapgVpYo0RR16qb_artngvir_fvtaRi
 .type b__MAXFg3__110zbarlchapgVpYo0RR16qb_artngvir_fvtaRi,%function
 b__MAXFg3__110zbarlchapgVpYo0RR16qb_artngvir_fvtaRi:
 nop
 .data
-.globl b__MGIAFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGIAFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGIAFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGIAFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -3573,27 +3573,27 @@
 b__MAFg3__112flfgrz_reebeP2RvEXAF_14reebe_pngrtbelREXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR4ernqRCpy
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR4ernqRCpy
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR4ernqRCpy,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR4ernqRCpy:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRo
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRo
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRo,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRo:
 nop
 .text
-.globl b__MAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRQ0Ri
+.weak b__MAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRQ0Ri
 .type b__MAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRQ0Ri,%function
 b__MAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRQ0Ri:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVpYo0RR13qb_cbf_sbezngRi
+.weak b__MAXFg3__110zbarlchapgVpYo0RR13qb_cbf_sbezngRi
 .type b__MAXFg3__110zbarlchapgVpYo0RR13qb_cbf_sbezngRi,%function
 b__MAXFg3__110zbarlchapgVpYo0RR13qb_cbf_sbezngRi:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVjYo1RR13qb_art_sbezngRi
+.weak b__MAXFg3__110zbarlchapgVjYo1RR13qb_art_sbezngRi
 .type b__MAXFg3__110zbarlchapgVjYo1RR13qb_art_sbezngRi,%function
 b__MAXFg3__110zbarlchapgVjYo1RR13qb_art_sbezngRi:
 nop
@@ -3603,12 +3603,12 @@
 b___pkn_cher_iveghny:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRq
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRq
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRq,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRq:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9chofrgohsRCpy
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9chofrgohsRCpy
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9chofrgohsRCpy,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9chofrgohsRCpy:
 nop
@@ -3623,12 +3623,12 @@
 b__MAFg3__18ahzchapgVjRQ0Ri:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nffvtaREXF5_zz
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nffvtaREXF5_zz
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nffvtaREXF5_zz,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nffvtaREXF5_zz:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRr
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRr
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRr,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRr:
 nop
@@ -3648,12 +3648,12 @@
 b__MGFAFg12rkcrevzragny15shaqnzragnyf_i112onq_nal_pnfgR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRs
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRs
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRs,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRs:
 nop
 .data
-.globl b__MGVAFg3__111__zbarl_trgVpRR
+.weak b__MGVAFg3__111__zbarl_trgVpRR
 .type b__MGVAFg3__111__zbarl_trgVpRR,%object
 b__MGVAFg3__111__zbarl_trgVpRR:
 .space __SIZEOF_POINTER__
@@ -3688,7 +3688,7 @@
 b__MAFg3__18__fc_zhg6haybpxRi:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRP2RCAF_15onfvp_fgernzohsVjF2_RR
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRP2RCAF_15onfvp_fgernzohsVjF2_RR
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRP2RCAF_15onfvp_fgernzohsVjF2_RR,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRP2RCAF_15onfvp_fgernzohsVjF2_RR:
 nop
@@ -3698,17 +3698,17 @@
 b__MAXFg3__18ahzchapgVpR11qb_gehranzrRi:
 nop
 .data
-.globl b__MAFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR
+.weak b__MAFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR
 .type b__MAFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR,%object
 b__MAFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MAFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR
+.weak b__MAFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR
 .type b__MAFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR,%object
 b__MAFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGIAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGIAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGIAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -3718,7 +3718,7 @@
 b__MAFg3__14fgbvREXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzv:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRv
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRv
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRv,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRv:
 nop
@@ -3728,27 +3728,27 @@
 b__MAFg9onq_nyybpP1Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCAF_15onfvp_fgernzohsVjF2_RR
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCAF_15onfvp_fgernzohsVjF2_RR
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCAF_15onfvp_fgernzohsVjF2_RR,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCAF_15onfvp_fgernzohsVjF2_RR:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRw
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRw
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRw,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRw:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw:
 nop
 .data
-.globl b__MGIAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRR
+.weak b__MGIAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRR
 .type b__MGIAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRR,%object
 b__MGIAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MAFg3__110zbarlchapgVpYo0RR2vqR
+.weak b__MAFg3__110zbarlchapgVpYo0RR2vqR
 .type b__MAFg3__110zbarlchapgVpYo0RR2vqR,%object
 b__MAFg3__110zbarlchapgVpYo0RR2vqR:
 .space __SIZEOF_POINTER__
@@ -3778,32 +3778,32 @@
 b__MAFg3__117__jvqra_sebz_hgs8VYz32RRQ2Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRy
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRy
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRy,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRy:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVpYo0RR16qb_gubhfnaqf_frcRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVpYo0RR16qb_gubhfnaqf_frcRi
 .type b__MAXFg3__117zbarlchapg_olanzrVpYo0RR16qb_gubhfnaqf_frcRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVpYo0RR16qb_gubhfnaqf_frcRi:
 nop
 .text
-.globl b__MAFg3__16__fbegVEAF_6__yrffVssRRCsRRiG0_F5_G_
+.weak b__MAFg3__16__fbegVEAF_6__yrffVssRRCsRRiG0_F5_G_
 .type b__MAFg3__16__fbegVEAF_6__yrffVssRRCsRRiG0_F5_G_,%function
 b__MAFg3__16__fbegVEAF_6__yrffVssRRCsRRiG0_F5_G_:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRz
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRz
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRz,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRz:
 nop
 .text
-.globl b__MAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRQ1Ri
+.weak b__MAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRQ1Ri
 .type b__MAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRQ1Ri,%function
 b__MAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRQ1Ri:
 nop
 .text
-.globl b__MAXFg3__17pbyyngrVjR7qb_unfuRCXjF3_
+.weak b__MAXFg3__17pbyyngrVjR7qb_unfuRCXjF3_
 .type b__MAXFg3__17pbyyngrVjR7qb_unfuRCXjF3_,%function
 b__MAXFg3__17pbyyngrVjR7qb_unfuRCXjF3_:
 nop
@@ -3818,7 +3818,7 @@
 b__MAFg3__18__p_abqrQ0Ri:
 nop
 .data
-.globl b__MGIAFg3__18zrffntrfVjRR
+.weak b__MGIAFg3__18zrffntrfVjRR
 .type b__MGIAFg3__18zrffntrfVjRR,%object
 b__MGIAFg3__18zrffntrfVjRR:
 .space __SIZEOF_POINTER__
@@ -3828,7 +3828,7 @@
 b__MAFg3__111__yvopcc_qo15__vgrengbe_pbclRCiCXi:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCSEAF_8vbf_onfrRF5_R
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCSEAF_8vbf_onfrRF5_R
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCSEAF_8vbf_onfrRF5_R,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCSEAF_8vbf_onfrRF5_R:
 nop
@@ -3848,7 +3848,7 @@
 b__MGFAFg3__17pbqrpigVQvp9zofgngr_gRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVpYo1RR13qb_art_sbezngRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVpYo1RR13qb_art_sbezngRi
 .type b__MAXFg3__117zbarlchapg_olanzrVpYo1RR13qb_art_sbezngRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVpYo1RR13qb_art_sbezngRi:
 nop
@@ -3858,17 +3858,17 @@
 b__MAFg3__15pglcrVjRQ0Ri:
 nop
 .text
-.globl b__MAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRR7pbclszgREXF3_
+.weak b__MAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRR7pbclszgREXF3_
 .type b__MAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRR7pbclszgREXF3_,%function
 b__MAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRR7pbclszgREXF3_:
 nop
 .text
-.globl b__MGi0_a24_AFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ0Ri
+.weak b__MGi0_a24_AFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ0Ri
 .type b__MGi0_a24_AFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ0Ri,%function
 b__MGi0_a24_AFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ0Ri:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR13__trg_jrrxqnlREvEF4_F4_EwEXAF_5pglcrVpRR
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR13__trg_jrrxqnlREvEF4_F4_EwEXAF_5pglcrVpRR
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR13__trg_jrrxqnlREvEF4_F4_EwEXAF_5pglcrVpRR,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR13__trg_jrrxqnlREvEF4_F4_EwEXAF_5pglcrVpRR:
 nop
@@ -3888,12 +3888,12 @@
 b__MGVAFg3__112shgher_reebeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRCSEAF_9onfvp_vbfVpF2_RRF6_R
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRCSEAF_9onfvp_vbfVpF2_RRF6_R
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRCSEAF_9onfvp_vbfVpF2_RRF6_R,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRCSEAF_9onfvp_vbfVpF2_RRF6_R:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRf
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRf
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRf,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRf:
 nop
@@ -3903,12 +3903,12 @@
 b__MAXFg3__118__gvzr_trg_fgbentrVpR15__qb_qngr_beqreRi:
 nop
 .text
-.globl b__MAXFg3__18zrffntrfVpR6qb_trgRyvvEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MAXFg3__18zrffntrfVpR6qb_trgRyvvEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MAXFg3__18zrffntrfVpR6qb_trgRyvvEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%function
 b__MAXFg3__18zrffntrfVpR6qb_trgRyvvEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRg
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRg
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRg,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRg:
 nop
@@ -3928,7 +3928,7 @@
 b__MAFg3__110__gvzr_chgP1RCXp:
 nop
 .data
-.globl b__MGFAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGFAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGFAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGFAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -3938,7 +3938,7 @@
 b__MAFg3__116__purpx_tebhcvatREXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCwF8_Ew:
 nop
 .data
-.globl b__MAFg3__17pbyyngrVpR2vqR
+.weak b__MAFg3__17pbyyngrVpR2vqR
 .type b__MAFg3__17pbyyngrVpR2vqR,%object
 b__MAFg3__17pbyyngrVpR2vqR:
 .space __SIZEOF_POINTER__
@@ -3953,17 +3953,17 @@
 b__MGFAFg3__115__pbqrpig_hgs16VQvYo0RRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRCSEAF_9onfvp_vbfVjF2_RRF6_R
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRCSEAF_9onfvp_vbfVjF2_RRF6_R
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRCSEAF_9onfvp_vbfVjF2_RRF6_R,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefRCSEAF_9onfvp_vbfVjF2_RRF6_R:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRk
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRk
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRk,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRk:
 nop
 .text
-.globl b__MAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRQ2Ri
+.weak b__MAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRQ2Ri
 .type b__MAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRQ2Ri,%function
 b__MAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRQ2Ri:
 nop
@@ -3973,22 +3973,22 @@
 b__MAFg3__18__p_abqrQ1Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRl
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRl
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRl,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRl:
 nop
 .text
-.globl b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwECi
+.weak b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwECi
 .type b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwECi,%function
 b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwECi:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR17__trg_juvgr_fcnprREF4_F4_EwEXAF_5pglcrVpRR
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR17__trg_juvgr_fcnprREF4_F4_EwEXAF_5pglcrVpRR
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR17__trg_juvgr_fcnprREF4_F4_EwEXAF_5pglcrVpRR,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR17__trg_juvgr_fcnprREF4_F4_EwEXAF_5pglcrVpRR:
 nop
 .text
-.globl b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RRCXF6_EXF9_
+.weak b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RRCXF6_EXF9_
 .type b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RRCXF6_EXF9_,%function
 b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RRCXF6_EXF9_:
 nop
@@ -3998,7 +3998,7 @@
 b__MGVAFg3__114pbyyngr_olanzrVjRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nffvtaREXF5_zz
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nffvtaREXF5_zz
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nffvtaREXF5_zz,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nffvtaREXF5_zz:
 nop
@@ -4013,12 +4013,12 @@
 b__MAFg3__18ahzchapgVjRQ2Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgREp
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgREp
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgREp,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgREp:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9haqresybjRi:
 nop
@@ -4028,7 +4028,7 @@
 b__MAFg3__15pglcrVjRQ1Ri:
 nop
 .data
-.globl b__MGFAFg3__111__zbarl_trgVpRR
+.weak b__MGFAFg3__111__zbarl_trgVpRR
 .type b__MGFAFg3__111__zbarl_trgVpRR,%object
 b__MGFAFg3__111__zbarl_trgVpRR:
 .space __SIZEOF_POINTER__
@@ -4038,17 +4038,17 @@
 b__MAFg3__15zhgrk6haybpxRi:
 nop
 .data
-.globl b__MGVAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRR
+.weak b__MGVAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRR
 .type b__MGVAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRR,%object
 b__MGVAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MGi0_a24_AFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ1Ri
+.weak b__MGi0_a24_AFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ1Ri
 .type b__MGi0_a24_AFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ1Ri,%function
 b__MGi0_a24_AFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ1Ri:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVjYo1RR16qb_artngvir_fvtaRi
+.weak b__MAXFg3__110zbarlchapgVjYo1RR16qb_artngvir_fvtaRi
 .type b__MAXFg3__110zbarlchapgVjYo1RR16qb_artngvir_fvtaRi,%function
 b__MAXFg3__110zbarlchapgVjYo1RR16qb_artngvir_fvtaRi:
 nop
@@ -4058,7 +4058,7 @@
 b__MAXFg3__120__pbqrpig_hgs8_hgs16VQvR13qb_znk_yratguRi:
 nop
 .data
-.globl b__MAFg3__110zbarlchapgVpYo1RR2vqR
+.weak b__MAFg3__110zbarlchapgVpYo1RR2vqR
 .type b__MAFg3__110zbarlchapgVpYo1RR2vqR,%object
 b__MAFg3__110zbarlchapgVpYo1RR2vqR:
 .space __SIZEOF_POINTER__
@@ -4068,7 +4068,7 @@
 b__MGFAFg3__115__pbqrpig_hgs16VjYo0RRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR21__tebj_ol_naq_ercynprRzzzzzzCXj
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR21__tebj_ol_naq_ercynprRzzzzzzCXj
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR21__tebj_ol_naq_ercynprRzzzzzzCXj,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR21__tebj_ol_naq_ercynprRzzzzzzCXj:
 nop
@@ -4098,7 +4098,7 @@
 b__MAFg13ehagvzr_reebeP2REXAFg3__112onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MGi0_a24_AFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ0Ri
+.weak b__MGi0_a24_AFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ0Ri
 .type b__MGi0_a24_AFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ0Ri,%function
 b__MGi0_a24_AFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ0Ri:
 nop
@@ -4123,17 +4123,17 @@
 b__MGFAFg3__120__pbqrpig_hgs8_hgs16VQvRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGIAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGIAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGIAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nffvtaRzj
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nffvtaRzj
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nffvtaRzj,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nffvtaRzj:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR6fragelP2REF3_
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR6fragelP2REF3_
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR6fragelP2REF3_,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR6fragelP2REF3_:
 nop
@@ -4143,7 +4143,7 @@
 b__MAFg3__17pbqrpigVjp9zofgngr_gR2vqR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__115gvzr_trg_olanzrVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGIAFg3__115gvzr_trg_olanzrVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGIAFg3__115gvzr_trg_olanzrVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGIAFg3__115gvzr_trg_olanzrVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
@@ -4158,7 +4158,7 @@
 b__MAXFg3__114__pbqrpig_hgs8VQfR10qb_hafuvsgRE9zofgngr_gCpF4_EF4_:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR13__trg_12_ubheREvEF4_F4_EwEXAF_5pglcrVjRR
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR13__trg_12_ubheREvEF4_F4_EwEXAF_5pglcrVjRR
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR13__trg_12_ubheREvEF4_F4_EwEXAF_5pglcrVjRR,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR13__trg_12_ubheREvEF4_F4_EwEXAF_5pglcrVjRR:
 nop
@@ -4188,12 +4188,12 @@
 b__MAFg3__18__ef_trgRi:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVjYo1RR16qb_gubhfnaqf_frcRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVjYo1RR16qb_gubhfnaqf_frcRi
 .type b__MAXFg3__117zbarlchapg_olanzrVjYo1RR16qb_gubhfnaqf_frcRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVjYo1RR16qb_gubhfnaqf_frcRi:
 nop
 .text
-.globl b__MAFg3__19__ahz_chgVpR23__jvqra_naq_tebhc_sybngRCpF2_F2_F2_EF2_F3_EXAF_6ybpnyrR
+.weak b__MAFg3__19__ahz_chgVpR23__jvqra_naq_tebhc_sybngRCpF2_F2_F2_EF2_F3_EXAF_6ybpnyrR
 .type b__MAFg3__19__ahz_chgVpR23__jvqra_naq_tebhc_sybngRCpF2_F2_F2_EF2_F3_EXAF_6ybpnyrR,%function
 b__MAFg3__19__ahz_chgVpR23__jvqra_naq_tebhc_sybngRCpF2_F2_F2_EF2_F3_EXAF_6ybpnyrR:
 nop
@@ -4253,7 +4253,7 @@
 b__MAFg3__112__ef_qrsnhygP2REXF0_:
 nop
 .text
-.globl b__MGi0_a24_AFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ1Ri
+.weak b__MGi0_a24_AFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ1Ri
 .type b__MGi0_a24_AFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ1Ri,%function
 b__MGi0_a24_AFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRQ1Ri:
 nop
@@ -4268,7 +4268,7 @@
 b__MAXFg3__120__gvzr_trg_p_fgbentrVpR8__zbagufRi:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVjYo0RR16qb_artngvir_fvtaRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVjYo0RR16qb_artngvir_fvtaRi
 .type b__MAXFg3__117zbarlchapg_olanzrVjYo0RR16qb_artngvir_fvtaRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVjYo0RR16qb_artngvir_fvtaRi:
 nop
@@ -4283,7 +4283,7 @@
 b__MAFg3__16guernq4wbvaRi:
 nop
 .data
-.globl b__MGVAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGVAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGVAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGVAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -4318,7 +4318,7 @@
 b___pkn_thneq_npdhver:
 nop
 .data
-.globl b__MAFg3__110zbarlchapgVjYo1RR2vqR
+.weak b__MAFg3__110zbarlchapgVjYo1RR2vqR
 .type b__MAFg3__110zbarlchapgVjYo1RR2vqR,%object
 b__MAFg3__110zbarlchapgVjYo1RR2vqR:
 .space __SIZEOF_POINTER__
@@ -4338,7 +4338,7 @@
 b__MAXFg3__17pbqrpigVjp9zofgngr_gR16qb_nyjnlf_abpbaiRi:
 nop
 .text
-.globl b__MqnCiFg11nyvta_iny_gEXFg9abguebj_g
+.weak b__MqnCiFg11nyvta_iny_gEXFg9abguebj_g
 .type b__MqnCiFg11nyvta_iny_gEXFg9abguebj_g,%function
 b__MqnCiFg11nyvta_iny_gEXFg9abguebj_g:
 nop
@@ -4358,22 +4358,22 @@
 b__MGFAFg3__18ahzchapgVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__fbegVEAF_6__yrffVzzRRCzRRiG0_F5_G_
+.weak b__MAFg3__16__fbegVEAF_6__yrffVzzRRCzRRiG0_F5_G_
 .type b__MAFg3__16__fbegVEAF_6__yrffVzzRRCzRRiG0_F5_G_,%function
 b__MAFg3__16__fbegVEAF_6__yrffVzzRRCzRRiG0_F5_G_:
 nop
 .data
-.globl b__MGFAFg3__118__gvzr_trg_fgbentrVpRR
+.weak b__MGFAFg3__118__gvzr_trg_fgbentrVpRR
 .type b__MGFAFg3__118__gvzr_trg_fgbentrVpRR,%object
 b__MGFAFg3__118__gvzr_trg_fgbentrVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRnFREXF5_
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRnFREXF5_
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRnFREXF5_,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRnFREXF5_:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5gryycRi
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5gryycRi
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5gryycRi,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5gryycRi:
 nop
@@ -4413,12 +4413,12 @@
 b__MAFg3__112fgefgernzohsQ0Ri:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11qb_trg_qngrRF4_F4_EAF_8vbf_onfrREwC2gz
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11qb_trg_qngrRF4_F4_EAF_8vbf_onfrREwC2gz
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11qb_trg_qngrRF4_F4_EAF_8vbf_onfrREwC2gz,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11qb_trg_qngrRF4_F4_EAF_8vbf_onfrREwC2gz:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRzzj
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRzzj
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRzzj,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRzzj:
 nop
@@ -4438,7 +4438,7 @@
 b__MAFg3__18vbf_onfr6onqovgR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7ercynprRzzCXj
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7ercynprRzzCXj
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7ercynprRzzCXj,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7ercynprRzzCXj:
 nop
@@ -4453,7 +4453,7 @@
 b__MAFg3__115erphefvir_zhgrk4ybpxRi:
 nop
 .text
-.globl b__MAFg3__16__fbegVEAF_6__yrffVkkRRCkRRiG0_F5_G_
+.weak b__MAFg3__16__fbegVEAF_6__yrffVkkRRCkRRiG0_F5_G_
 .type b__MAFg3__16__fbegVEAF_6__yrffVkkRRCkRRiG0_F5_G_,%function
 b__MAFg3__16__fbegVEAF_6__yrffVkkRRCkRRiG0_F5_G_:
 nop
@@ -4483,7 +4483,7 @@
 b__MAXFg3__15pglcrVjR9qb_aneebjRjp:
 nop
 .data
-.globl b__MGIAFg3__117zbarlchapg_olanzrVpYo0RRR
+.weak b__MGIAFg3__117zbarlchapg_olanzrVpYo0RRR
 .type b__MGIAFg3__117zbarlchapg_olanzrVpYo0RRR,%object
 b__MGIAFg3__117zbarlchapg_olanzrVpYo0RRR:
 .space __SIZEOF_POINTER__
@@ -4493,27 +4493,27 @@
 b__MAFg3__18__trg_qoRi:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRo
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRo
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRo,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRo:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVjYo0RR16qb_cbfvgvir_fvtaRi
+.weak b__MAXFg3__110zbarlchapgVjYo0RR16qb_cbfvgvir_fvtaRi
 .type b__MAXFg3__110zbarlchapgVjYo0RR16qb_cbfvgvir_fvtaRi,%function
 b__MAXFg3__110zbarlchapgVjYo0RR16qb_cbfvgvir_fvtaRi:
 nop
 .data
-.globl b__MGVAFg3__110pglcr_onfrR
+.weak b__MGVAFg3__110pglcr_onfrR
 .type b__MGVAFg3__110pglcr_onfrR,%object
 b__MGVAFg3__110pglcr_onfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGVAFg3__110zbarlchapgVpYo1RRR
+.weak b__MGVAFg3__110zbarlchapgVpYo1RRR
 .type b__MGVAFg3__110zbarlchapgVpYo1RRR,%object
 b__MGVAFg3__110zbarlchapgVpYo1RRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__114pbqrpig_olanzrVpp9zofgngr_gRR
+.weak b__MGFAFg3__114pbqrpig_olanzrVpp9zofgngr_gRR
 .type b__MGFAFg3__114pbqrpig_olanzrVpp9zofgngr_gRR,%object
 b__MGFAFg3__114pbqrpig_olanzrVpp9zofgngr_gRR:
 .space __SIZEOF_POINTER__
@@ -4523,7 +4523,7 @@
 b__MFg10harkcrpgrqi:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR8ernqfbzrRCpy
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR8ernqfbzrRCpy
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR8ernqfbzrRCpy,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR8ernqfbzrRCpy:
 nop
@@ -4533,7 +4533,7 @@
 b__MAFg3__18vbf_onfr16__pnyy_pnyyonpxfRAF0_5riragR:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVpYo1RR16qb_cbfvgvir_fvtaRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVpYo1RR16qb_cbfvgvir_fvtaRi
 .type b__MAXFg3__117zbarlchapg_olanzrVpYo1RR16qb_cbfvgvir_fvtaRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVpYo1RR16qb_cbfvgvir_fvtaRi:
 nop
@@ -4548,27 +4548,27 @@
 b__MGFCXQu:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRq
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRq
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRq,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRq:
 nop
 .text
-.globl b__MAXFg3__17pbyyngrVpR10qb_pbzcnerRCXpF3_F3_F3_
+.weak b__MAXFg3__17pbyyngrVpR10qb_pbzcnerRCXpF3_F3_F3_
 .type b__MAXFg3__17pbyyngrVpR10qb_pbzcnerRCXpF3_F3_F3_,%function
 b__MAXFg3__17pbyyngrVpR10qb_pbzcnerRCXpF3_F3_F3_:
 nop
 .text
-.globl b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwECi
+.weak b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwECi
 .type b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwECi,%function
 b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwECi:
 nop
 .data
-.globl b__MAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR
+.weak b__MAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR
 .type b__MAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR,%object
 b__MAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MAFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR
+.weak b__MAFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR
 .type b__MAFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR,%object
 b__MAFg3__19zbarl_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR:
 .space __SIZEOF_POINTER__
@@ -4578,7 +4578,7 @@
 b__MGIAFg3__117__jvqra_sebz_hgs8VYz32RRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP2REXF5_EXF4_
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP2REXF5_EXF4_
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP2REXF5_EXF4_,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP2REXF5_EXF4_:
 nop
@@ -4603,22 +4603,22 @@
 b__MAFg3__111__yvopcc_qoQ2Ri:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRzCXp
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRzCXp
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRzCXp,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRzCXp:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR5frrxtRAF_4scbfV9zofgngr_gRR
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR5frrxtRAF_4scbfV9zofgngr_gRR
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR5frrxtRAF_4scbfV9zofgngr_gRR,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR5frrxtRAF_4scbfV9zofgngr_gRR:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRr
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRr
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRr,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRr:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR4flapRi
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR4flapRi
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR4flapRi,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR4flapRi:
 nop
@@ -4638,7 +4638,7 @@
 b__MAFg3__16ybpnyr5snprgQ0Ri:
 nop
 .data
-.globl b__MGVAFg3__19__ahz_trgVjRR
+.weak b__MGVAFg3__19__ahz_trgVjRR
 .type b__MGVAFg3__19__ahz_trgVjRR,%object
 b__MGVAFg3__19__ahz_trgVjRR:
 .space __SIZEOF_POINTER__
@@ -4653,12 +4653,12 @@
 b__MGVCo:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRs
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRs
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRs,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRs:
 nop
 .data
-.globl b__MGIAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRR
+.weak b__MGIAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRR
 .type b__MGIAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRR,%object
 b__MGIAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRR:
 .space __SIZEOF_POINTER__
@@ -4678,7 +4678,7 @@
 b__MGVCp:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREo
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREo
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREo,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREo:
 nop
@@ -4688,7 +4688,7 @@
 b__MAXFg3__114__pbqrpig_hgs8VQfR6qb_bhgRE9zofgngr_gCXQfF5_EF5_CpF7_EF7_:
 nop
 .data
-.globl b__MGFAFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGFAFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGFAFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGFAFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -4718,12 +4718,12 @@
 b__MGVCr:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREq
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREq
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREq,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREq:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRv
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRv
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRv,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRv:
 nop
@@ -4753,22 +4753,22 @@
 b__MAFg3__112cynprubyqref2_1R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREr
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREr
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREr,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREr:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRw
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRw
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRw,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRw:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9chofrgohsRCjy
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9chofrgohsRCjy
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9chofrgohsRCjy,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9chofrgohsRCjy:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9fubjznalpRi
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9fubjznalpRi
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9fubjznalpRi,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9fubjznalpRi:
 nop
@@ -4778,7 +4778,7 @@
 b__MAXFg3__115__pbqrpig_hgs16VjYo1RR13qb_znk_yratguRi:
 nop
 .data
-.globl b__MGFAFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGFAFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGFAFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGFAFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
@@ -4793,12 +4793,12 @@
 b__MAFg3__112shgher_reebeQ1Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREs
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREs
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREs,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREs:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR3chgRp
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR3chgRp
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR3chgRp,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR3chgRp:
 nop
@@ -4823,7 +4823,7 @@
 b__MAXFg8onq_pnfg4jungRi:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRy
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRy
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRy,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRy:
 nop
@@ -4838,17 +4838,17 @@
 b__MAFg13rkprcgvba_cgenFREXF_:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5syhfuRi
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5syhfuRi
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5syhfuRi,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5syhfuRi:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRz
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRz
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRz,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRz:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6farkgpRi
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6farkgpRi
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6farkgpRi,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6farkgpRi:
 nop
@@ -4858,12 +4858,12 @@
 b__MGVCw:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREv
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREv
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREv,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREv:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVjYo1RR16qb_qrpvzny_cbvagRi
+.weak b__MAXFg3__110zbarlchapgVjYo1RR16qb_qrpvzny_cbvagRi
 .type b__MAXFg3__110zbarlchapgVjYo1RR16qb_qrpvzny_cbvagRi,%function
 b__MAXFg3__110zbarlchapgVjYo1RR16qb_qrpvzny_cbvagRi:
 nop
@@ -4883,12 +4883,12 @@
 b__MGFCXQf:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREw
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREw
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREw,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREw:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVjYo1RR13qb_cbf_sbezngRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVjYo1RR13qb_cbf_sbezngRi
 .type b__MAXFg3__117zbarlchapg_olanzrVjYo1RR13qb_cbf_sbezngRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVjYo1RR13qb_cbf_sbezngRi:
 nop
@@ -4933,22 +4933,22 @@
 b__MGFCXQh:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREy
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREy
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREy,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREy:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR4frgcRCjF4_
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR4frgcRCjF4_
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR4frgcRCjF4_,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR4frgcRCjF4_:
 nop
 .data
-.globl b__MGVAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGVAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGVAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGVAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MGi0_a24_AFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ0Ri
+.weak b__MGi0_a24_AFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ0Ri
 .type b__MGi0_a24_AFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ0Ri,%function
 b__MGi0_a24_AFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ0Ri:
 nop
@@ -4963,12 +4963,12 @@
 b__MGVCa:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREz
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREz
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREz,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREz:
 nop
 .data
-.globl b__MGFAFg3__115zrffntrf_olanzrVpRR
+.weak b__MGFAFg3__115zrffntrf_olanzrVpRR
 .type b__MGFAFg3__115zrffntrf_olanzrVpRR,%object
 b__MGFAFg3__115zrffntrf_olanzrVpRR:
 .space __SIZEOF_POINTER__
@@ -4988,7 +4988,7 @@
 b__MGVCb:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRf
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRf
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRf,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRf:
 nop
@@ -5003,12 +5003,12 @@
 b___pkn_erguebj_cevznel_rkprcgvba:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR5gryytRi
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR5gryytRi
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR5gryytRi,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR5gryytRi:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRg
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRg
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRg,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRg:
 nop
@@ -5018,27 +5018,27 @@
 b__MAFg3__18vbf_onfr7tbbqovgR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRR
+.weak b__MGIAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRR
 .type b__MGIAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRR,%object
 b__MGIAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__18zrffntrfVjR8qb_pybfrRy
+.weak b__MAXFg3__18zrffntrfVjR8qb_pybfrRy
 .type b__MAXFg3__18zrffntrfVjR8qb_pybfrRy,%function
 b__MAXFg3__18zrffntrfVjR8qb_pybfrRy:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR17__trg_jrrxqnlanzrREvEF4_F4_EwEXAF_5pglcrVpRR
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR17__trg_jrrxqnlanzrREvEF4_F4_EwEXAF_5pglcrVpRR
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR17__trg_jrrxqnlanzrREvEF4_F4_EwEXAF_5pglcrVpRR,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR17__trg_jrrxqnlanzrREvEF4_F4_EwEXAF_5pglcrVpRR:
 nop
 .data
-.globl b__MGVAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGVAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGVAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGVAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__115gvzr_chg_olanzrVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGIAFg3__115gvzr_chg_olanzrVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGIAFg3__115gvzr_chg_olanzrVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGIAFg3__115gvzr_chg_olanzrVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
@@ -5078,7 +5078,7 @@
 b__MAFg13ehagvzr_reebeP1REXAFg3__112onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRR:
 nop
 .data
-.globl b__MGVAFg3__115gvzr_trg_olanzrVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGVAFg3__115gvzr_trg_olanzrVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGVAFg3__115gvzr_trg_olanzrVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGVAFg3__115gvzr_trg_olanzrVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -5093,12 +5093,12 @@
 b__MAFg3__110gb_jfgevatRq:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nccraqRzp
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nccraqRzp
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nccraqRzp,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nccraqRzp:
 nop
 .data
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR4acbfR
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR4acbfR
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR4acbfR,%object
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR4acbfR:
 .space __SIZEOF_POINTER__
@@ -5113,7 +5113,7 @@
 b__MGVCf:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__fbegVEAF_6__yrffVvvRRCvRRiG0_F5_G_
+.weak b__MAFg3__16__fbegVEAF_6__yrffVvvRRCvRRiG0_F5_G_
 .type b__MAFg3__16__fbegVEAF_6__yrffVvvRRCvRRiG0_F5_G_,%function
 b__MAFg3__16__fbegVEAF_6__yrffVvvRRCvRRiG0_F5_G_:
 nop
@@ -5128,7 +5128,7 @@
 b__MAFg3__110gb_jfgevatRr:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nccraqRCXj
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nccraqRCXj
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nccraqRCXj,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nccraqRCXj:
 nop
@@ -5148,17 +5148,17 @@
 b__MAFg3__129__yvopcc_nobeg_qroht_shapgvbaREXAF_19__yvopcc_qroht_vasbR:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREf
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREf
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREf,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREf:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRk
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRk
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRk,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRk:
 nop
 .text
-.globl b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR4pbclRCjzz
+.weak b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR4pbclRCjzz
 .type b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR4pbclRCjzz,%function
 b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR4pbclRCjzz:
 nop
@@ -5173,12 +5173,12 @@
 b__MAFg3__111__yvopcc_qo9__renfr_pRCi:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREg
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREg
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREg,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREg:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRl
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRl
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRl,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRl:
 nop
@@ -5198,7 +5198,7 @@
 b__MGIAFg3__112onq_jrnx_cgeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP2REXF5_zzEXF4_
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP2REXF5_zzEXF4_
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP2REXF5_zzEXF4_,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP2REXF5_zzEXF4_:
 nop
@@ -5208,7 +5208,7 @@
 b__MGVCi:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5ftrgaRCpy
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5ftrgaRCpy
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5ftrgaRCpy,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5ftrgaRCpy:
 nop
@@ -5218,17 +5218,17 @@
 b__MAFg3__114pbyyngr_olanzrVjRQ1Ri:
 nop
 .data
-.globl b__MGVAFg3__19__ahz_chgVpRR
+.weak b__MGVAFg3__19__ahz_chgVpRR
 .type b__MGVAFg3__19__ahz_chgVpRR,%object
 b__MGVAFg3__19__ahz_chgVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7pbzcnerRzzEXF5_zz
+.weak b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7pbzcnerRzzEXF5_zz
 .type b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7pbzcnerRzzEXF5_zz,%function
 b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7pbzcnerRzzEXF5_zz:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7erfreirRz
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7erfreirRz
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7erfreirRz,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7erfreirRz:
 nop
@@ -5263,7 +5263,7 @@
 b__MGVCk:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MGi0_a24_AFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ1Ri
+.weak b__MGi0_a24_AFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ1Ri
 .type b__MGi0_a24_AFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ1Ri,%function
 b__MGi0_a24_AFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ1Ri:
 nop
@@ -5293,7 +5293,7 @@
 b__MGVFg11ybtvp_reebe:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREk
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREk
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREk,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREk:
 nop
@@ -5308,7 +5308,7 @@
 b__MGVAFg3__116__aneebj_gb_hgs8VYz32RRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6__vavgRCXpz
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6__vavgRCXpz
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6__vavgRCXpz,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6__vavgRCXpz:
 nop
@@ -5318,7 +5318,7 @@
 b__MGIAFg12rkcrevzragny15shaqnzragnyf_i112onq_nal_pnfgR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREl
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREl
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREl,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRefREl:
 nop
@@ -5338,12 +5338,12 @@
 b___pkn_nyybpngr_rkprcgvba:
 nop
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVppRRCpRRoG0_F5_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVppRRCpRRoG0_F5_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVppRRCpRRoG0_F5_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVppRRCpRRoG0_F5_G_:
 nop
 .text
-.globl b__MAFg3__16__fbegVEAF_6__yrffVggRRCgRRiG0_F5_G_
+.weak b__MAFg3__16__fbegVEAF_6__yrffVggRRCgRRiG0_F5_G_
 .type b__MAFg3__16__fbegVEAF_6__yrffVggRRCgRRiG0_F5_G_,%function
 b__MAFg3__16__fbegVEAF_6__yrffVggRRCgRRiG0_F5_G_:
 nop
@@ -5358,27 +5358,27 @@
 b__MAFg3__110gb_jfgevatRz:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR4fjncREF3_
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR4fjncREF3_
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR4fjncREF3_,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR4fjncREF3_:
 nop
 .data
-.globl b__MGFAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRR
+.weak b__MGFAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRR
 .type b__MGFAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRR,%object
 b__MGFAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_oEAF_8vbf_onfrRpr
+.weak b__MAXFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_oEAF_8vbf_onfrRpr
 .type b__MAXFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_oEAF_8vbf_onfrRpr,%function
 b__MAXFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_oEAF_8vbf_onfrRpr:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVjYo1RR14qb_senp_qvtvgfRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVjYo1RR14qb_senp_qvtvgfRi
 .type b__MAXFg3__117zbarlchapg_olanzrVjYo1RR14qb_senp_qvtvgfRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVjYo1RR14qb_senp_qvtvgfRi:
 nop
 .data
-.globl b__MGFAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRR
+.weak b__MGFAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRR
 .type b__MGFAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRR,%object
 b__MGFAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRR:
 .space __SIZEOF_POINTER__
@@ -5398,7 +5398,7 @@
 b__MAXFg3__17pbqrpigVQvp9zofgngr_gR13qb_znk_yratguRi:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR14qb_trg_jrrxqnlRF4_F4_EAF_8vbf_onfrREwC2gz
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR14qb_trg_jrrxqnlRF4_F4_EAF_8vbf_onfrREwC2gz
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR14qb_trg_jrrxqnlRF4_F4_EAF_8vbf_onfrREwC2gz,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR14qb_trg_jrrxqnlRF4_F4_EAF_8vbf_onfrREwC2gz:
 nop
@@ -5408,7 +5408,7 @@
 b__MAFg3__17pbqrpigVQvp9zofgngr_gR2vqR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__110zbarlchapgVpYo0RRR
+.weak b__MGFAFg3__110zbarlchapgVpYo0RRR
 .type b__MGFAFg3__110zbarlchapgVpYo0RRR,%object
 b__MGFAFg3__110zbarlchapgVpYo0RRR:
 .space __SIZEOF_POINTER__
@@ -5428,17 +5428,17 @@
 b__MGFFg16vainyvq_nethzrag:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__110zbarlchapgVjYo0RR13qb_art_sbezngRi
+.weak b__MAXFg3__110zbarlchapgVjYo0RR13qb_art_sbezngRi
 .type b__MAXFg3__110zbarlchapgVjYo0RR13qb_art_sbezngRi,%function
 b__MAXFg3__110zbarlchapgVjYo0RR13qb_art_sbezngRi:
 nop
 .data
-.globl b__MGIAFg3__110zbarlchapgVpYo0RRR
+.weak b__MGIAFg3__110zbarlchapgVpYo0RRR
 .type b__MGIAFg3__110zbarlchapgVpYo0RRR,%object
 b__MGIAFg3__110zbarlchapgVpYo0RRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGVAFg3__118__gvzr_trg_fgbentrVjRR
+.weak b__MGVAFg3__118__gvzr_trg_fgbentrVjRR
 .type b__MGVAFg3__118__gvzr_trg_fgbentrVjRR,%object
 b__MGVAFg3__118__gvzr_trg_fgbentrVjRR:
 .space __SIZEOF_POINTER__
@@ -5458,7 +5458,7 @@
 b__MAFg3__118funerq_gvzrq_zhgrkP1Ri:
 nop
 .text
-.globl b__ManzEXFg9abguebj_g
+.weak b__ManzEXFg9abguebj_g
 .type b__ManzEXFg9abguebj_g,%function
 b__ManzEXFg9abguebj_g:
 nop
@@ -5473,7 +5473,7 @@
 b__MAFg3__18vbf_onfr3bpgR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGVAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRR
+.weak b__MGVAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRR
 .type b__MGVAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRR,%object
 b__MGVAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRR:
 .space __SIZEOF_POINTER__
@@ -5488,12 +5488,12 @@
 b__MAFg3__117__jvqra_sebz_hgs8VYz16RRQ1Ri:
 nop
 .data
-.globl b__MGIAFg3__115zrffntrf_olanzrVpRR
+.weak b__MGIAFg3__115zrffntrf_olanzrVpRR
 .type b__MGIAFg3__115zrffntrf_olanzrVpRR,%object
 b__MGIAFg3__115zrffntrf_olanzrVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR4svaqRpz
+.weak b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR4svaqRpz
 .type b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR4svaqRpz,%function
 b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR4svaqRpz:
 nop
@@ -5503,12 +5503,12 @@
 b__MAFg3__115ahzchapg_olanzrVjRQ2Ri:
 nop
 .data
-.globl b__MGFAFg3__114__ahz_trg_onfrR
+.weak b__MGFAFg3__114__ahz_trg_onfrR
 .type b__MGFAFg3__114__ahz_trg_onfrR,%object
 b__MGFAFg3__114__ahz_trg_onfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__19__ahz_chgVpRR
+.weak b__MGFAFg3__19__ahz_chgVpRR
 .type b__MGFAFg3__19__ahz_chgVpRR,%object
 b__MGFAFg3__19__ahz_chgVpRR:
 .space __SIZEOF_POINTER__
@@ -5558,7 +5558,7 @@
 b__MGVAFg3__120__pbqrpig_hgs8_hgs16VjRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGIAFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGIAFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGIAFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
@@ -5578,37 +5578,37 @@
 b__MAFg3__110pglcr_onfr5fcnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__17pbyyngrVpRQ0Ri
+.weak b__MAFg3__17pbyyngrVpRQ0Ri
 .type b__MAFg3__17pbyyngrVpRQ0Ri,%function
 b__MAFg3__17pbyyngrVpRQ0Ri:
 nop
 .data
-.globl b__MGIAFg3__114pbqrpig_olanzrVjp9zofgngr_gRR
+.weak b__MGIAFg3__114pbqrpig_olanzrVjp9zofgngr_gRR
 .type b__MGIAFg3__114pbqrpig_olanzrVjp9zofgngr_gRR,%object
 b__MGIAFg3__114pbqrpig_olanzrVjp9zofgngr_gRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR4fjncREF3_
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR4fjncREF3_
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR4fjncREF3_,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR4fjncREF3_:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVpYo1RR16qb_artngvir_fvtaRi
+.weak b__MAXFg3__110zbarlchapgVpYo1RR16qb_artngvir_fvtaRi
 .type b__MAXFg3__110zbarlchapgVpYo1RR16qb_artngvir_fvtaRi,%function
 b__MAXFg3__110zbarlchapgVpYo1RR16qb_artngvir_fvtaRi:
 nop
 .text
-.globl b__MAFg3__114pbqrpig_olanzrVjp9zofgngr_gRQ0Ri
+.weak b__MAFg3__114pbqrpig_olanzrVjp9zofgngr_gRQ0Ri
 .type b__MAFg3__114pbqrpig_olanzrVjp9zofgngr_gRQ0Ri,%function
 b__MAFg3__114pbqrpig_olanzrVjp9zofgngr_gRQ0Ri:
 nop
 .text
-.globl b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR13svaq_svefg_bsRCXpzz
+.weak b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR13svaq_svefg_bsRCXpzz
 .type b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR13svaq_svefg_bsRCXpzz,%function
 b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR13svaq_svefg_bsRCXpzz:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP2REXF5_zzEXF4_
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP2REXF5_zzEXF4_
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP2REXF5_zzEXF4_,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP2REXF5_zzEXF4_:
 nop
@@ -5623,7 +5623,7 @@
 b__MGVA10__pkknovi123__shaqnzragny_glcr_vasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVllRRClRRoG0_F5_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVllRRClRRoG0_F5_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVllRRClRRoG0_F5_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVllRRClRRoG0_F5_G_:
 nop
@@ -5633,7 +5633,7 @@
 b__MAFg3__111__yvopcc_qo9__renfr_vRCi:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVjYo0RR11qb_tebhcvatRi
+.weak b__MAXFg3__110zbarlchapgVjYo0RR11qb_tebhcvatRi
 .type b__MAXFg3__110zbarlchapgVjYo0RR11qb_tebhcvatRi,%function
 b__MAXFg3__110zbarlchapgVjYo0RR11qb_tebhcvatRi:
 nop
@@ -5648,12 +5648,12 @@
 b__MAXFg3__114__pbqrpig_hgs8VQfR9qb_yratguRE9zofgngr_gCXpF5_z:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVpYo0RR13qb_art_sbezngRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVpYo0RR13qb_art_sbezngRi
 .type b__MAXFg3__117zbarlchapg_olanzrVpYo0RR13qb_art_sbezngRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVpYo0RR13qb_art_sbezngRi:
 nop
 .data
-.globl b__MGVAFg3__115gvzr_trg_olanzrVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGVAFg3__115gvzr_trg_olanzrVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGVAFg3__115gvzr_trg_olanzrVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGVAFg3__115gvzr_trg_olanzrVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
@@ -5673,12 +5673,12 @@
 b__MAFg3__117__jvqra_sebz_hgs8VYz16RRQ2Ri:
 nop
 .data
-.globl b__MGFAFg3__110__gvzr_chgR
+.weak b__MGFAFg3__110__gvzr_chgR
 .type b__MGFAFg3__110__gvzr_chgR,%object
 b__MGFAFg3__110__gvzr_chgR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR2ngRz
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR2ngRz
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR2ngRz,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR2ngRz:
 nop
@@ -5688,22 +5688,22 @@
 b__MAFg3__118__gvzr_trg_fgbentrVpR4vavgREXAF_5pglcrVpRR:
 nop
 .data
-.globl b__MAFg3__17pbyyngrVjR2vqR
+.weak b__MAFg3__17pbyyngrVjR2vqR
 .type b__MAFg3__17pbyyngrVjR2vqR,%object
 b__MAFg3__17pbyyngrVjR2vqR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGVAFg3__120__gvzr_trg_p_fgbentrVjRR
+.weak b__MGVAFg3__120__gvzr_trg_p_fgbentrVjRR
 .type b__MGVAFg3__120__gvzr_trg_p_fgbentrVjRR,%object
 b__MGVAFg3__120__gvzr_trg_p_fgbentrVjRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__117zbarlchapg_olanzrVjYo1RRR
+.weak b__MGFAFg3__117zbarlchapg_olanzrVjYo1RRR
 .type b__MGFAFg3__117zbarlchapg_olanzrVjYo1RRR,%object
 b__MGFAFg3__117zbarlchapg_olanzrVjYo1RRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__18zrffntrfVjRR
+.weak b__MGFAFg3__18zrffntrfVjRR
 .type b__MGFAFg3__18zrffntrfVjRR,%object
 b__MGFAFg3__18zrffntrfVjRR:
 .space __SIZEOF_POINTER__
@@ -5733,7 +5733,7 @@
 b__MAXFg3__115__pbqrpig_hgs16VQfYo0RR11qb_rapbqvatRi:
 nop
 .text
-.globl b__MAXFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_oEAF_8vbf_onfrREwEr
+.weak b__MAXFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_oEAF_8vbf_onfrREwEr
 .type b__MAXFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_oEAF_8vbf_onfrREwEr,%function
 b__MAXFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_oEAF_8vbf_onfrREwEr:
 nop
@@ -5743,7 +5743,7 @@
 b__MGVAFg3__18ahzchapgVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__fbegVEAF_6__yrffVrrRRCrRRiG0_F5_G_
+.weak b__MAFg3__16__fbegVEAF_6__yrffVrrRRCrRRiG0_F5_G_
 .type b__MAFg3__16__fbegVEAF_6__yrffVrrRRCrRRiG0_F5_G_,%function
 b__MAFg3__16__fbegVEAF_6__yrffVrrRRCrRRiG0_F5_G_:
 nop
@@ -5758,47 +5758,47 @@
 b__MAFg3__120__guebj_flfgrz_reebeRvCXp:
 nop
 .data
-.globl b__MGPAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__17pbyyngrVpRQ1Ri
+.weak b__MAFg3__17pbyyngrVpRQ1Ri
 .type b__MAFg3__17pbyyngrVpRQ1Ri,%function
 b__MAFg3__17pbyyngrVpRQ1Ri:
 nop
 .data
-.globl b__MGVAFg3__110zbarlchapgVjYo0RRR
+.weak b__MGVAFg3__110zbarlchapgVjYo0RRR
 .type b__MGVAFg3__110zbarlchapgVjYo0RRR,%object
 b__MGVAFg3__110zbarlchapgVjYo0RRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGVAFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGVAFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGVAFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGVAFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MajzEXFg9abguebj_g
+.weak b__MajzEXFg9abguebj_g
 .type b__MajzEXFg9abguebj_g,%function
 b__MajzEXFg9abguebj_g:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR4frgcRCpF4_
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR4frgcRCpF4_
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR4frgcRCpF4_,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR4frgcRCpF4_:
 nop
 .data
-.globl b__MGVAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRR
+.weak b__MGVAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRR
 .type b__MGVAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRR,%object
 b__MGVAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__110zbarlchapgVjYo0RR16qb_gubhfnaqf_frcRi
+.weak b__MAXFg3__110zbarlchapgVjYo0RR16qb_gubhfnaqf_frcRi
 .type b__MAXFg3__110zbarlchapgVjYo0RR16qb_gubhfnaqf_frcRi,%function
 b__MAXFg3__110zbarlchapgVjYo0RR16qb_gubhfnaqf_frcRi:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR7trgyvarRCjyj
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR7trgyvarRCjyj
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR7trgyvarRCjyj,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR7trgyvarRCjyj:
 nop
@@ -5808,7 +5808,7 @@
 b__MAXFg3__115__pbqrpig_hgs16VQfYo1RR10qb_hafuvsgRE9zofgngr_gCpF4_EF4_:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVpYo1RR16qb_gubhfnaqf_frcRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVpYo1RR16qb_gubhfnaqf_frcRi
 .type b__MAXFg3__117zbarlchapg_olanzrVpYo1RR16qb_gubhfnaqf_frcRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVpYo1RR16qb_gubhfnaqf_frcRi:
 nop
@@ -5818,7 +5818,7 @@
 b__MAXFg3__18ahzchapgVpR11qb_tebhcvatRi:
 nop
 .text
-.globl b__MAFg3__114pbqrpig_olanzrVjp9zofgngr_gRQ1Ri
+.weak b__MAFg3__114pbqrpig_olanzrVjp9zofgngr_gRQ1Ri
 .type b__MAFg3__114pbqrpig_olanzrVjp9zofgngr_gRQ1Ri,%function
 b__MAFg3__114pbqrpig_olanzrVjp9zofgngr_gRQ1Ri:
 nop
@@ -5833,7 +5833,7 @@
 b__MGIAFg3__114pbyyngr_olanzrVjRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7pbzcnerRzzCXp
+.weak b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7pbzcnerRzzCXp
 .type b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7pbzcnerRzzCXp,%function
 b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7pbzcnerRzzCXp:
 nop
@@ -5843,17 +5843,17 @@
 b__MAFg3__114reebe_pngrtbelQ1Ri:
 nop
 .text
-.globl b__MqnCiFg11nyvta_iny_g
+.weak b__MqnCiFg11nyvta_iny_g
 .type b__MqnCiFg11nyvta_iny_g,%function
 b__MqnCiFg11nyvta_iny_g:
 nop
 .data
-.globl b__MGGAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGGAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGGAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGGAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7pbzcnerRzzCXpz
+.weak b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7pbzcnerRzzCXpz
 .type b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7pbzcnerRzzCXpz,%function
 b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7pbzcnerRzzCXpz:
 nop
@@ -5863,7 +5863,7 @@
 b__MAFg3__16ybpnyr4gvzrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGVAFg3__117zbarlchapg_olanzrVpYo0RRR
+.weak b__MGVAFg3__117zbarlchapg_olanzrVpYo0RRR
 .type b__MGVAFg3__117zbarlchapg_olanzrVpYo0RRR,%object
 b__MGVAFg3__117zbarlchapg_olanzrVpYo0RRR:
 .space __SIZEOF_POINTER__
@@ -5878,12 +5878,12 @@
 b__MAXFg3__114__pbqrpig_hgs8VQvR9qb_yratguRE9zofgngr_gCXpF5_z:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRP1RCAF_15onfvp_fgernzohsVjF2_RR
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRP1RCAF_15onfvp_fgernzohsVjF2_RR
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRP1RCAF_15onfvp_fgernzohsVjF2_RR,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRP1RCAF_15onfvp_fgernzohsVjF2_RR:
 nop
 .data
-.globl b__MGVAFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGVAFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGVAFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGVAFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
@@ -5918,17 +5918,17 @@
 b__MAFg3__121erphefvir_gvzrq_zhgrkP2Ri:
 nop
 .text
-.globl b__MqyCiFg11nyvta_iny_gEXFg9abguebj_g
+.weak b__MqyCiFg11nyvta_iny_gEXFg9abguebj_g
 .type b__MqyCiFg11nyvta_iny_gEXFg9abguebj_g,%function
 b__MqyCiFg11nyvta_iny_gEXFg9abguebj_g:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nccraqRCXpz
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nccraqRCXpz
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nccraqRCXpz,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nccraqRCXpz:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR12__trg_frpbaqREvEF4_F4_EwEXAF_5pglcrVpRR
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR12__trg_frpbaqREvEF4_F4_EwEXAF_5pglcrVpRR
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR12__trg_frpbaqREvEF4_F4_EwEXAF_5pglcrVpRR,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR12__trg_frpbaqREvEF4_F4_EwEXAF_5pglcrVpRR:
 nop
@@ -5938,22 +5938,22 @@
 b__MAFg3__16ybpnyrP1REXF0_CXpv:
 nop
 .data
-.globl b__MGIAFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGIAFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGIAFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGIAFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5ftrgaRCjy
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5ftrgaRCjy
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5ftrgaRCjy,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5ftrgaRCjy:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6frgohsRCjy
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6frgohsRCjy
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6frgohsRCjy,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6frgohsRCjy:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR10__trg_ubheREvEF4_F4_EwEXAF_5pglcrVjRR
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR10__trg_ubheREvEF4_F4_EwEXAF_5pglcrVjRR
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR10__trg_ubheREvEF4_F4_EwEXAF_5pglcrVjRR,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR10__trg_ubheREvEF4_F4_EwEXAF_5pglcrVjRR:
 nop
@@ -5968,7 +5968,7 @@
 b__MAFg16arfgrq_rkprcgvbaP2Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRP1RCAF_15onfvp_fgernzohsVjF2_RR
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRP1RCAF_15onfvp_fgernzohsVjF2_RR
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRP1RCAF_15onfvp_fgernzohsVjF2_RR,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRP1RCAF_15onfvp_fgernzohsVjF2_RR:
 nop
@@ -5993,22 +5993,22 @@
 b__MAXFg3__17pbqrpigVpp9zofgngr_gR16qb_nyjnlf_abpbaiRi:
 nop
 .text
-.globl b__MAFg3__17pbyyngrVpRQ2Ri
+.weak b__MAFg3__17pbyyngrVpRQ2Ri
 .type b__MAFg3__17pbyyngrVpRQ2Ri,%function
 b__MAFg3__17pbyyngrVpRQ2Ri:
 nop
 .text
-.globl b__MAFg3__19__ahz_trgVjR17__fgntr2_vag_ybbcRjvCpEF2_EwjEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCwEFQ_Cj
+.weak b__MAFg3__19__ahz_trgVjR17__fgntr2_vag_ybbcRjvCpEF2_EwjEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCwEFQ_Cj
 .type b__MAFg3__19__ahz_trgVjR17__fgntr2_vag_ybbcRjvCpEF2_EwjEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCwEFQ_Cj,%function
 b__MAFg3__19__ahz_trgVjR17__fgntr2_vag_ybbcRjvCpEF2_EwjEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCwEFQ_Cj:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6__vavgRzp
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6__vavgRzp
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6__vavgRzp,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6__vavgRzp:
 nop
 .text
-.globl b__MqyCiEXFg9abguebj_g
+.weak b__MqyCiEXFg9abguebj_g
 .type b__MqyCiEXFg9abguebj_g,%function
 b__MqyCiEXFg9abguebj_g:
 nop
@@ -6023,7 +6023,7 @@
 b__MAFg3__114__trg_pbafg_qoRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9haqresybjRi:
 nop
@@ -6043,17 +6043,17 @@
 b__MAFg3__114reebe_pngrtbelQ2Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR3chgRj
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR3chgRj
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR3chgRj,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR3chgRj:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6kfchgaRCXpy
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6kfchgaRCXpy
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6kfchgaRCXpy,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6kfchgaRCXpy:
 nop
 .text
-.globl b__MAFg3__114pbqrpig_olanzrVjp9zofgngr_gRQ2Ri
+.weak b__MAFg3__114pbqrpig_olanzrVjp9zofgngr_gRQ2Ri
 .type b__MAFg3__114pbqrpig_olanzrVjp9zofgngr_gRQ2Ri,%function
 b__MAFg3__114pbqrpig_olanzrVjp9zofgngr_gRQ2Ri:
 nop
@@ -6068,12 +6068,12 @@
 b__MAFg3__112fgefgernzohs3fgeRi:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR6vtaberRyw
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR6vtaberRyw
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR6vtaberRyw,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR6vtaberRyw:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR12__trg_zvahgrREvEF4_F4_EwEXAF_5pglcrVjRR
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR12__trg_zvahgrREvEF4_F4_EwEXAF_5pglcrVjRR
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR12__trg_zvahgrREvEF4_F4_EwEXAF_5pglcrVjRR,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR12__trg_zvahgrREvEF4_F4_EwEXAF_5pglcrVjRR:
 nop
@@ -6088,12 +6088,12 @@
 b__MAFg3__17pbqrpigVQfp9zofgngr_gR2vqR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__115gvzr_trg_olanzrVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGFAFg3__115gvzr_trg_olanzrVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGFAFg3__115gvzr_trg_olanzrVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGFAFg3__115gvzr_trg_olanzrVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVwwRRCwRRoG0_F5_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVwwRRCwRRoG0_F5_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVwwRRCwRRoG0_F5_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVwwRRCwRRoG0_F5_G_:
 nop
@@ -6103,7 +6103,7 @@
 b__MAFg3__17cebzvfrViR24frg_inyhr_ng_guernq_rkvgRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9fchgonpxpRp
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9fchgonpxpRp
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9fchgonpxpRp,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9fchgonpxpRp:
 nop
@@ -6118,12 +6118,12 @@
 b__MAFg3__18vbf_onfr4yrsgR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__18zrffntrfVpR7qb_bcraREXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREXAF_6ybpnyrR
+.weak b__MAXFg3__18zrffntrfVpR7qb_bcraREXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREXAF_6ybpnyrR
 .type b__MAXFg3__18zrffntrfVpR7qb_bcraREXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREXAF_6ybpnyrR,%function
 b__MAXFg3__18zrffntrfVpR7qb_bcraREXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREXAF_6ybpnyrR:
 nop
 .data
-.globl b__MAFg3__110zbarlchapgVpYo0RR4vagyR
+.weak b__MAFg3__110zbarlchapgVpYo0RR4vagyR
 .type b__MAFg3__110zbarlchapgVpYo0RR4vagyR,%object
 b__MAFg3__110zbarlchapgVpYo0RR4vagyR:
 .space __SIZEOF_POINTER__
@@ -6138,7 +6138,7 @@
 b__MAFg3__112flfgrz_reebe6__vavgREXAF_10reebe_pbqrRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRP2RCAF_15onfvp_fgernzohsVpF2_RR
+.weak b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRP2RCAF_15onfvp_fgernzohsVpF2_RR
 .type b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRP2RCAF_15onfvp_fgernzohsVpF2_RR,%function
 b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRP2RCAF_15onfvp_fgernzohsVpF2_RR:
 nop
@@ -6163,7 +6163,7 @@
 b__MAFg3__112cynprubyqref2_3R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11__trg_nz_czREvEF4_F4_EwEXAF_5pglcrVjRR
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11__trg_nz_czREvEF4_F4_EwEXAF_5pglcrVjRR
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11__trg_nz_czREvEF4_F4_EwEXAF_5pglcrVjRR,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11__trg_nz_czREvEF4_F4_EwEXAF_5pglcrVjRR:
 nop
@@ -6183,7 +6183,7 @@
 b__MFg17pheerag_rkprcgvbai:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVjYo1RR14qb_senp_qvtvgfRi
+.weak b__MAXFg3__110zbarlchapgVjYo1RR14qb_senp_qvtvgfRi
 .type b__MAXFg3__110zbarlchapgVjYo1RR14qb_senp_qvtvgfRi,%function
 b__MAXFg3__110zbarlchapgVjYo1RR14qb_senp_qvtvgfRi:
 nop
@@ -6198,12 +6198,12 @@
 b__MAFg8onq_pnfgP1Ri:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR14qb_trg_jrrxqnlRF4_F4_EAF_8vbf_onfrREwC2gz
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR14qb_trg_jrrxqnlRF4_F4_EAF_8vbf_onfrREwC2gz
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR14qb_trg_jrrxqnlRF4_F4_EAF_8vbf_onfrREwC2gz,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR14qb_trg_jrrxqnlRF4_F4_EAF_8vbf_onfrREwC2gz:
 nop
 .text
-.globl b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7pbzcnerRzzCXj
+.weak b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7pbzcnerRzzCXj
 .type b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7pbzcnerRzzCXj,%function
 b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7pbzcnerRzzCXj:
 nop
@@ -6228,22 +6228,22 @@
 b__MAFg3__17pbqrpigVjp9zofgngr_gRQ2Ri:
 nop
 .data
-.globl b__MGVAFg3__114__ahz_chg_onfrR
+.weak b__MGVAFg3__114__ahz_chg_onfrR
 .type b__MGVAFg3__114__ahz_chg_onfrR,%object
 b__MGVAFg3__114__ahz_chg_onfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5frrxcRAF_4scbfV9zofgngr_gRR
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5frrxcRAF_4scbfV9zofgngr_gRR
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5frrxcRAF_4scbfV9zofgngr_gRR,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5frrxcRAF_4scbfV9zofgngr_gRR:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVpYo0RR16qb_cbfvgvir_fvtaRi
+.weak b__MAXFg3__110zbarlchapgVpYo0RR16qb_cbfvgvir_fvtaRi
 .type b__MAXFg3__110zbarlchapgVpYo0RR16qb_cbfvgvir_fvtaRi,%function
 b__MAXFg3__110zbarlchapgVpYo0RR16qb_cbfvgvir_fvtaRi:
 nop
 .text
-.globl b__MAXFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_oEAF_8vbf_onfrREwEAF_12onfvp_fgevatVpF3_AF_9nyybpngbeVpRRRR
+.weak b__MAXFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_oEAF_8vbf_onfrREwEAF_12onfvp_fgevatVpF3_AF_9nyybpngbeVpRRRR
 .type b__MAXFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_oEAF_8vbf_onfrREwEAF_12onfvp_fgevatVpF3_AF_9nyybpngbeVpRRRR,%function
 b__MAXFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_oEAF_8vbf_onfrREwEAF_12onfvp_fgevatVpF3_AF_9nyybpngbeVpRRRR:
 nop
@@ -6253,7 +6253,7 @@
 b__MGIAFg3__110bfgefgernzR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__110zbarlchapgVjYo1RR11qb_tebhcvatRi
+.weak b__MAXFg3__110zbarlchapgVjYo1RR11qb_tebhcvatRi
 .type b__MAXFg3__110zbarlchapgVjYo1RR11qb_tebhcvatRi,%function
 b__MAXFg3__110zbarlchapgVjYo1RR11qb_tebhcvatRi:
 nop
@@ -6273,7 +6273,7 @@
 b__MAFg3__110__gvzr_chgP2RCXp:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRCSEAF_8vbf_onfrRF5_R
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRCSEAF_8vbf_onfrRF5_R
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRCSEAF_8vbf_onfrRF5_R,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRCSEAF_8vbf_onfrRF5_R:
 nop
@@ -6313,22 +6313,22 @@
 b__MAFg3__112flfgrz_reebeP2RAF_10reebe_pbqrREXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR5renfrRzz
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR5renfrRzz
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR5renfrRzz,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR5renfrRzz:
 nop
 .text
-.globl b__MAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRQ0Ri
+.weak b__MAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRQ0Ri
 .type b__MAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRQ0Ri,%function
 b__MAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRQ0Ri:
 nop
 .data
-.globl b__MGVAFg3__115zrffntrf_olanzrVpRR
+.weak b__MGVAFg3__115zrffntrf_olanzrVpRR
 .type b__MGVAFg3__115zrffntrf_olanzrVpRR,%object
 b__MGVAFg3__115zrffntrf_olanzrVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR8va_ninvyRi
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR8va_ninvyRi
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR8va_ninvyRi,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR8va_ninvyRi:
 nop
@@ -6343,12 +6343,12 @@
 b__MGFCXn:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR4frgtRCpF4_F4_
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR4frgtRCpF4_F4_
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR4frgtRCpF4_F4_,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR4frgtRCpF4_F4_:
 nop
 .text
-.globl b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR5esvaqRpz
+.weak b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR5esvaqRpz
 .type b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR5esvaqRpz,%function
 b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR5esvaqRpz:
 nop
@@ -6368,7 +6368,7 @@
 b__MAFg3__18vbf_onfr5evtugR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR13qb_qngr_beqreRi
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR13qb_qngr_beqreRi
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR13qb_qngr_beqreRi,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR13qb_qngr_beqreRi:
 nop
@@ -6383,7 +6383,7 @@
 b__MAFg8onq_pnfgP2Ri:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6kfchgaRCXjy
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6kfchgaRCXjy
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6kfchgaRCXjy,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6kfchgaRCXjy:
 nop
@@ -6398,22 +6398,22 @@
 b__MAFg3__16ybpnyrnFREXF0_:
 nop
 .data
-.globl b__MAFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR
+.weak b__MAFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR
 .type b__MAFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR,%object
 b__MAFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MAFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR
+.weak b__MAFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR
 .type b__MAFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR,%object
 b__MAFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVjYo1RR16qb_artngvir_fvtaRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVjYo1RR16qb_artngvir_fvtaRi
 .type b__MAXFg3__117zbarlchapg_olanzrVjYo1RR16qb_artngvir_fvtaRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVjYo1RR16qb_artngvir_fvtaRi:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR13__trg_crepragREF4_F4_EwEXAF_5pglcrVjRR
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR13__trg_crepragREF4_F4_EwEXAF_5pglcrVjRR
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR13__trg_crepragREF4_F4_EwEXAF_5pglcrVjRR,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR13__trg_crepragREF4_F4_EwEXAF_5pglcrVjRR:
 nop
@@ -6428,7 +6428,7 @@
 b__MGFFg12qbznva_reebe:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR6fragelP1REF3_o
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR6fragelP1REF3_o
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR6fragelP1REF3_o,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR6fragelP1REF3_o:
 nop
@@ -6453,7 +6453,7 @@
 b__MAFg3__124__yvopcc_qroht_rkprcgvbaP1REXAF_19__yvopcc_qroht_vasbR:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR4flapRi
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR4flapRi
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR4flapRi,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR4flapRi:
 nop
@@ -6463,12 +6463,12 @@
 b__MAFg3__18vbf_onfr2vaR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_oEAF_8vbf_onfrREwEr
+.weak b__MAXFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_oEAF_8vbf_onfrREwEr
 .type b__MAXFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_oEAF_8vbf_onfrREwEr,%function
 b__MAXFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_oEAF_8vbf_onfrREwEr:
 nop
 .text
-.globl b__MAFg3__19__ahz_chgVjR21__jvqra_naq_tebhc_vagRCpF2_F2_CjEF3_F4_EXAF_6ybpnyrR
+.weak b__MAFg3__19__ahz_chgVjR21__jvqra_naq_tebhc_vagRCpF2_F2_CjEF3_F4_EXAF_6ybpnyrR
 .type b__MAFg3__19__ahz_chgVjR21__jvqra_naq_tebhc_vagRCpF2_F2_CjEF3_F4_EXAF_6ybpnyrR,%function
 b__MAFg3__19__ahz_chgVjR21__jvqra_naq_tebhc_vagRCpF2_F2_CjEF3_F4_EXAF_6ybpnyrR:
 nop
@@ -6493,7 +6493,7 @@
 b__MAFg11enatr_reebeQ1Ri:
 nop
 .data
-.globl b__MGVAFg3__115gvzr_chg_olanzrVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGVAFg3__115gvzr_chg_olanzrVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGVAFg3__115gvzr_chg_olanzrVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGVAFg3__115gvzr_chg_olanzrVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
@@ -6508,12 +6508,12 @@
 b__MGFCXv:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRP1REXF3_
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRP1REXF3_
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRP1REXF3_,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRP1REXF3_:
 nop
 .data
-.globl b__MAFg3__110zbarlchapgVjYo1RR4vagyR
+.weak b__MAFg3__110zbarlchapgVjYo1RR4vagyR
 .type b__MAFg3__110zbarlchapgVjYo1RR4vagyR,%object
 b__MAFg3__110zbarlchapgVjYo1RR4vagyR:
 .space __SIZEOF_POINTER__
@@ -6523,7 +6523,7 @@
 b__MAFg3__114__ahz_chg_onfr18__vqragvsl_cnqqvatRCpF1_EXAF_8vbf_onfrR:
 nop
 .data
-.globl b__MGFAFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGFAFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGFAFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGFAFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
@@ -6558,7 +6558,7 @@
 b__MAXFg3__15pglcrVpR9qb_aneebjRpp:
 nop
 .text
-.globl b__MAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRQ1Ri
+.weak b__MAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRQ1Ri
 .type b__MAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRQ1Ri,%function
 b__MAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRQ1Ri:
 nop
@@ -6593,7 +6593,7 @@
 b__MGFCXa:
 .space __SIZEOF_POINTER__
 .text
-.globl b__Majz
+.weak b__Majz
 .type b__Majz,%function
 b__Majz:
 nop
@@ -6608,7 +6608,7 @@
 b__MAFg12qbznva_reebeQ0Ri:
 nop
 .data
-.globl b__MGFAFg3__114__ahz_chg_onfrR
+.weak b__MGFAFg3__114__ahz_chg_onfrR
 .type b__MGFAFg3__114__ahz_chg_onfrR,%object
 b__MGFAFg3__114__ahz_chg_onfrR:
 .space __SIZEOF_POINTER__
@@ -6623,7 +6623,7 @@
 b__MGFCXb:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVssRRCsRRoG0_F5_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVssRRCsRRoG0_F5_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVssRRCsRRoG0_F5_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVssRRCsRRoG0_F5_G_:
 nop
@@ -6643,7 +6643,7 @@
 b__MAXFg3__115__pbqrpig_hgs16VjYo0RR13qb_znk_yratguRi:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR15__trg_zbaguanzrREvEF4_F4_EwEXAF_5pglcrVjRR
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR15__trg_zbaguanzrREvEF4_F4_EwEXAF_5pglcrVjRR
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR15__trg_zbaguanzrREvEF4_F4_EwEXAF_5pglcrVjRR,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR15__trg_zbaguanzrREvEF4_F4_EwEXAF_5pglcrVjRR:
 nop
@@ -6653,12 +6653,12 @@
 b__MAFg3__18ahzchapgVpRQ1Ri:
 nop
 .data
-.globl b__MGFAFg3__19__ahz_trgVpRR
+.weak b__MGFAFg3__19__ahz_trgVpRR
 .type b__MGFAFg3__19__ahz_trgVpRR,%object
 b__MGFAFg3__19__ahz_trgVpRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGVAFg3__17pbyyngrVpRR
+.weak b__MGVAFg3__17pbyyngrVpRR
 .type b__MGVAFg3__17pbyyngrVpRR,%object
 b__MGVAFg3__17pbyyngrVpRR:
 .space __SIZEOF_POINTER__
@@ -6678,7 +6678,7 @@
 b__MAFg3__16shgherViRP1RCAF_17__nffbp_fho_fgngrR:
 nop
 .data
-.globl b__MGVAFg3__114pbqrpig_olanzrVpp9zofgngr_gRR
+.weak b__MGVAFg3__114pbqrpig_olanzrVpp9zofgngr_gRR
 .type b__MGVAFg3__114pbqrpig_olanzrVpp9zofgngr_gRR,%object
 b__MGVAFg3__114pbqrpig_olanzrVpp9zofgngr_gRR:
 .space __SIZEOF_POINTER__
@@ -6688,12 +6688,12 @@
 b__MAFg3__18__fc_zhg4ybpxRi:
 nop
 .text
-.globl b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR17svaq_svefg_abg_bsRCXpzz
+.weak b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR17svaq_svefg_abg_bsRCXpzz
 .type b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR17svaq_svefg_abg_bsRCXpzz,%function
 b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR17svaq_svefg_abg_bsRCXpzz:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7ercynprRzzzp
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7ercynprRzzzp
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7ercynprRzzzp,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7ercynprRzzzp:
 nop
@@ -6708,7 +6708,7 @@
 b__MGFAFg3__124__yvopcc_qroht_rkprcgvbaR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5fchgaRCXjy
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5fchgaRCXjy
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5fchgaRCXjy,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5fchgaRCXjy:
 nop
@@ -6718,12 +6718,12 @@
 b__MGFCXg:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRQ0Ri
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRQ0Ri
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRQ0Ri,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRQ0Ri:
 nop
 .data
-.globl b__MGFAFg3__114pbqrpig_olanzrVjp9zofgngr_gRR
+.weak b__MGFAFg3__114pbqrpig_olanzrVjp9zofgngr_gRR
 .type b__MGFAFg3__114pbqrpig_olanzrVjp9zofgngr_gRR,%object
 b__MGFAFg3__114pbqrpig_olanzrVjp9zofgngr_gRR:
 .space __SIZEOF_POINTER__
@@ -6733,7 +6733,7 @@
 b__MAFg3__15fgbhyREXAF_12onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRRCzv:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVjYo1RR16qb_cbfvgvir_fvtaRi
+.weak b__MAXFg3__110zbarlchapgVjYo1RR16qb_cbfvgvir_fvtaRi
 .type b__MAXFg3__110zbarlchapgVjYo1RR16qb_cbfvgvir_fvtaRi,%function
 b__MAXFg3__110zbarlchapgVjYo1RR16qb_cbfvgvir_fvtaRi:
 nop
@@ -6743,17 +6743,17 @@
 b__MAXFg3__115__pbqrpig_hgs16VQvYo1RR6qb_bhgRE9zofgngr_gCXQvF5_EF5_CpF7_EF7_:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVjYo0RR13qb_cbf_sbezngRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVjYo0RR13qb_cbf_sbezngRi
 .type b__MAXFg3__117zbarlchapg_olanzrVjYo0RR13qb_cbf_sbezngRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVjYo0RR13qb_cbf_sbezngRi:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR13qb_qngr_beqreRi
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR13qb_qngr_beqreRi
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR13qb_qngr_beqreRi,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR13qb_qngr_beqreRi:
 nop
 .text
-.globl b__MAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRQ2Ri
+.weak b__MAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRQ2Ri
 .type b__MAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRQ2Ri,%function
 b__MAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRQ2Ri:
 nop
@@ -6768,7 +6768,7 @@
 b__MAFg3__117zbarlchapg_olanzrVpYo0RR4vavgRCXp:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nffvtaRzp
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nffvtaRzp
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nffvtaRzp,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6nffvtaRzp:
 nop
@@ -6788,12 +6788,12 @@
 b__MAXFg3__18ahzchapgVpR12qb_snyfranzrRi:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwC2gzpp
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwC2gzpp
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwC2gzpp,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwC2gzpp:
 nop
 .text
-.globl b__MAXFg3__120__irpgbe_onfr_pbzzbaVYo1RR20__guebj_bhg_bs_enatrRi
+.weak b__MAXFg3__120__irpgbe_onfr_pbzzbaVYo1RR20__guebj_bhg_bs_enatrRi
 .type b__MAXFg3__120__irpgbe_onfr_pbzzbaVYo1RR20__guebj_bhg_bs_enatrRi,%function
 b__MAXFg3__120__irpgbe_onfr_pbzzbaVYo1RR20__guebj_bhg_bs_enatrRi:
 nop
@@ -6808,17 +6808,17 @@
 b__MAFg3__112cynprubyqref2_4R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5gryycRi
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5gryycRi
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5gryycRi,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5gryycRi:
 nop
 .data
-.globl b__MGFAFg3__112pbqrpig_onfrR
+.weak b__MGFAFg3__112pbqrpig_onfrR
 .type b__MGFAFg3__112pbqrpig_onfrR,%object
 b__MGFAFg3__112pbqrpig_onfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR17svaq_svefg_abg_bsRCXjzz
+.weak b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR17svaq_svefg_abg_bsRCXjzz
 .type b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR17svaq_svefg_abg_bsRCXjzz,%function
 b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR17svaq_svefg_abg_bsRCXjzz:
 nop
@@ -6833,12 +6833,12 @@
 b__MGFCXk:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR4flapRi
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR4flapRi
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR4flapRi,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR4flapRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9fubjznalpRi
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9fubjznalpRi
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9fubjznalpRi,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9fubjznalpRi:
 nop
@@ -6863,7 +6863,7 @@
 b__MAFg3__124__yvopcc_qroht_rkprcgvbaP1REXF0_:
 nop
 .data
-.globl b__MGVAFg3__110__gvzr_chgR
+.weak b__MGVAFg3__110__gvzr_chgR
 .type b__MGVAFg3__110__gvzr_chgR,%object
 b__MGVAFg3__110__gvzr_chgR:
 .space __SIZEOF_POINTER__
@@ -6883,17 +6883,17 @@
 b__MAFg3__17cebzvfrViR9frg_inyhrRi:
 nop
 .text
-.globl b__MAXFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6trgybpRi
+.weak b__MAXFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6trgybpRi
 .type b__MAXFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6trgybpRi,%function
 b__MAXFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6trgybpRi:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRP1RCAF_15onfvp_fgernzohsVpF2_RR
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRP1RCAF_15onfvp_fgernzohsVpF2_RR
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRP1RCAF_15onfvp_fgernzohsVpF2_RR,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRP1RCAF_15onfvp_fgernzohsVpF2_RR:
 nop
 .data
-.globl b__MGVAFg3__18zrffntrfVjRR
+.weak b__MGVAFg3__18zrffntrfVjRR
 .type b__MGVAFg3__18zrffntrfVjRR,%object
 b__MGVAFg3__18zrffntrfVjRR:
 .space __SIZEOF_POINTER__
@@ -6908,7 +6908,7 @@
 b__MAFg3__18ahzchapgVpRQ2Ri:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6__vavgRCXjzz
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6__vavgRCXjzz
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6__vavgRCXjzz,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6__vavgRCXjzz:
 nop
@@ -6918,7 +6918,7 @@
 b__MAXFg3__115__pbqrpig_hgs16VQvYo0RR11qb_rapbqvatRi:
 nop
 .data
-.globl b__MGFAFg3__115gvzr_chg_olanzrVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGFAFg3__115gvzr_chg_olanzrVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGFAFg3__115gvzr_chg_olanzrVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGFAFg3__115gvzr_chg_olanzrVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -6973,7 +6973,7 @@
 b__MGFCp:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRQ1Ri
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRQ1Ri
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRQ1Ri,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRQ1Ri:
 nop
@@ -7008,7 +7008,7 @@
 b__MGIA10__pkknovi119__cbvagre_glcr_vasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR7fhatrgpRi
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR7fhatrgpRi
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR7fhatrgpRi,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR7fhatrgpRi:
 nop
@@ -7033,7 +7033,7 @@
 b__MAXFg3__17pbqrpigVQfp9zofgngr_gR9qb_yratguREF1_CXpF5_z:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR16qb_trg_zbaguanzrRF4_F4_EAF_8vbf_onfrREwC2gz
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR16qb_trg_zbaguanzrRF4_F4_EAF_8vbf_onfrREwC2gz
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR16qb_trg_zbaguanzrRF4_F4_EAF_8vbf_onfrREwC2gz,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR16qb_trg_zbaguanzrRF4_F4_EAF_8vbf_onfrREwC2gz:
 nop
@@ -7043,22 +7043,22 @@
 b__MGFCs:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRR
+.weak b__MGFAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRR
 .type b__MGFAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRR,%object
 b__MGFAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRQ0Ri
+.weak b__MAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRQ0Ri
 .type b__MAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRQ0Ri,%function
 b__MAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRQ0Ri:
 nop
 .text
-.globl b__MAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR8__qb_trgREF4_F4_oEXAF_6ybpnyrRwEwEoEXAF_5pglcrVpRREAF_10havdhr_cgeVpCSiCiRRRECpFZ_
+.weak b__MAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR8__qb_trgREF4_F4_oEXAF_6ybpnyrRwEwEoEXAF_5pglcrVpRREAF_10havdhr_cgeVpCSiCiRRRECpFZ_
 .type b__MAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR8__qb_trgREF4_F4_oEXAF_6ybpnyrRwEwEoEXAF_5pglcrVpRREAF_10havdhr_cgeVpCSiCiRRRECpFZ_,%function
 b__MAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR8__qb_trgREF4_F4_oEXAF_6ybpnyrRwEwEoEXAF_5pglcrVpRREAF_10havdhr_cgeVpCSiCiRRRECpFZ_:
 nop
 .text
-.globl b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR5esvaqRjz
+.weak b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR5esvaqRjz
 .type b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR5esvaqRjz,%function
 b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR5esvaqRjz:
 nop
@@ -7098,7 +7098,7 @@
 b__MAFg3__18ahzchapgVjRP1Rz:
 nop
 .data
-.globl b__MGFAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGFAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGFAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGFAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -7118,7 +7118,7 @@
 b__MAXFg3__115__pbqrpig_hgs16VQvYo1RR9qb_yratguRE9zofgngr_gCXpF5_z:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR10__trg_lrneREvEF4_F4_EwEXAF_5pglcrVjRR
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR10__trg_lrneREvEF4_F4_EwEXAF_5pglcrVjRR
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR10__trg_lrneREvEF4_F4_EwEXAF_5pglcrVjRR,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR10__trg_lrneREvEF4_F4_EwEXAF_5pglcrVjRR:
 nop
@@ -7128,17 +7128,17 @@
 b__MGFCw:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGFAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGFAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGFAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVjYo0RR16qb_cbfvgvir_fvtaRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVjYo0RR16qb_cbfvgvir_fvtaRi
 .type b__MAXFg3__117zbarlchapg_olanzrVjYo0RR16qb_cbfvgvir_fvtaRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVjYo0RR16qb_cbfvgvir_fvtaRi:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR5frrxtRAF_4scbfV9zofgngr_gRR
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR5frrxtRAF_4scbfV9zofgngr_gRR
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR5frrxtRAF_4scbfV9zofgngr_gRR,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR5frrxtRAF_4scbfV9zofgngr_gRR:
 nop
@@ -7158,7 +7158,7 @@
 b__MFg18hapnhtug_rkprcgvbai:
 nop
 .data
-.globl b__MGGAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRR
+.weak b__MGGAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRR
 .type b__MGGAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRR,%object
 b__MGGAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRR:
 .space __SIZEOF_POINTER__
@@ -7173,7 +7173,7 @@
 b__MGFCz:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR8biresybjRv:
 nop
@@ -7193,7 +7193,7 @@
 b__MGFAFg3__17pbqrpigVjp9zofgngr_gRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7pbzcnerRCXp
+.weak b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7pbzcnerRCXp
 .type b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7pbzcnerRCXp,%function
 b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7pbzcnerRCXp:
 nop
@@ -7203,7 +7203,7 @@
 b__MGFCa:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MqyCiFg11nyvta_iny_g
+.weak b__MqyCiFg11nyvta_iny_g
 .type b__MqyCiFg11nyvta_iny_g,%function
 b__MqyCiFg11nyvta_iny_g:
 nop
@@ -7213,12 +7213,12 @@
 b__MGVAFg3__18__p_abqrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRQ2Ri
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRQ2Ri
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRQ2Ri,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRQ2Ri:
 nop
 .data
-.globl b__MGVAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGVAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGVAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGVAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -7238,22 +7238,22 @@
 b__MAFg3__121erphefvir_gvzrq_zhgrk8gel_ybpxRi:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgREAF_15onfvp_fgernzohsVjF2_RRj
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgREAF_15onfvp_fgernzohsVjF2_RRj
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgREAF_15onfvp_fgernzohsVjF2_RRj,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgREAF_15onfvp_fgernzohsVjF2_RRj:
 nop
 .text
-.globl b__MAXFg3__17pbyyngrVjR10qb_pbzcnerRCXjF3_F3_F3_
+.weak b__MAXFg3__17pbyyngrVjR10qb_pbzcnerRCXjF3_F3_F3_
 .type b__MAXFg3__17pbyyngrVjR10qb_pbzcnerRCXjF3_F3_F3_,%function
 b__MAXFg3__17pbyyngrVjR10qb_pbzcnerRCXjF3_F3_F3_:
 nop
 .text
-.globl b__MAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRQ1Ri
+.weak b__MAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRQ1Ri
 .type b__MAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRQ1Ri,%function
 b__MAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRQ1Ri:
 nop
 .text
-.globl b__MqyCiz
+.weak b__MqyCiz
 .type b__MqyCiz,%function
 b__MqyCiz:
 nop
@@ -7263,7 +7263,7 @@
 b__MAXFg3__17pbqrpigVQvp9zofgngr_gR9qb_yratguREF1_CXpF5_z:
 nop
 .text
-.globl b__MAFg3__17pbyyngrVjRQ0Ri
+.weak b__MAFg3__17pbyyngrVjRQ0Ri
 .type b__MAFg3__17pbyyngrVjRQ0Ri,%function
 b__MAFg3__17pbyyngrVjRQ0Ri:
 nop
@@ -7288,7 +7288,7 @@
 b__MAFg3__18ahzchapgVjRP2Rz:
 nop
 .data
-.globl b__MGFAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRR
+.weak b__MGFAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRR
 .type b__MGFAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRR,%object
 b__MGFAFg3__114pbqrpig_olanzrVQvp9zofgngr_gRR:
 .space __SIZEOF_POINTER__
@@ -7313,7 +7313,7 @@
 b__MGFCi:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCSEAF_9onfvp_vbfVpF2_RRF6_R
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCSEAF_9onfvp_vbfVpF2_RRF6_R
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCSEAF_9onfvp_vbfVpF2_RRF6_R,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCSEAF_9onfvp_vbfVpF2_RRF6_R:
 nop
@@ -7323,12 +7323,12 @@
 b__MAXFg3__112pglcr_olanzrVjR8qb_jvqraRCXpF3_Cj:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVjYo0RR11qb_tebhcvatRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVjYo0RR11qb_tebhcvatRi
 .type b__MAXFg3__117zbarlchapg_olanzrVjYo0RR11qb_tebhcvatRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVjYo0RR11qb_tebhcvatRi:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVjYo0RR14qb_phee_flzobyRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVjYo0RR14qb_phee_flzobyRi
 .type b__MAXFg3__117zbarlchapg_olanzrVjYo0RR14qb_phee_flzobyRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVjYo0RR14qb_phee_flzobyRi:
 nop
@@ -7353,12 +7353,12 @@
 b__MGFCj:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__110zbarlchapgVpYo1RR13qb_art_sbezngRi
+.weak b__MAXFg3__110zbarlchapgVpYo1RR13qb_art_sbezngRi
 .type b__MAXFg3__110zbarlchapgVpYo1RR13qb_art_sbezngRi,%function
 b__MAXFg3__110zbarlchapgVpYo1RR13qb_art_sbezngRi:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nffvtaRCXjz
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nffvtaRCXjz
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nffvtaRCXjz,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nffvtaRCXjz:
 nop
@@ -7413,12 +7413,12 @@
 b__MGFAFg3__114pbyyngr_olanzrVpRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__115gvzr_chg_olanzrVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGFAFg3__115gvzr_chg_olanzrVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGFAFg3__115gvzr_chg_olanzrVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGFAFg3__115gvzr_chg_olanzrVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCSEAF_9onfvp_vbfVjF2_RRF6_R
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCSEAF_9onfvp_vbfVjF2_RRF6_R
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCSEAF_9onfvp_vbfVjF2_RRF6_R,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCSEAF_9onfvp_vbfVjF2_RRF6_R:
 nop
@@ -7428,7 +7428,7 @@
 b__MAFg3__112cynprubyqref2_5R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRQ2Ri
+.weak b__MAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRQ2Ri
 .type b__MAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRQ2Ri,%function
 b__MAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRQ2Ri:
 nop
@@ -7438,7 +7438,7 @@
 b__MAFg3__118__gvzr_trg_fgbentrVjRP2RCXp:
 nop
 .data
-.globl b__MGVAFg3__110zbarl_onfrR
+.weak b__MGVAFg3__110zbarl_onfrR
 .type b__MGVAFg3__110zbarl_onfrR,%object
 b__MGVAFg3__110zbarl_onfrR:
 .space __SIZEOF_POINTER__
@@ -7448,12 +7448,12 @@
 b__MAXFg3__115__pbqrpig_hgs16VjYo0RR16qb_nyjnlf_abpbaiRi:
 nop
 .text
-.globl b__MAFg3__17pbyyngrVjRQ1Ri
+.weak b__MAFg3__17pbyyngrVjRQ1Ri
 .type b__MAFg3__17pbyyngrVjRQ1Ri,%function
 b__MAFg3__17pbyyngrVjRQ1Ri:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6__vavgRCXpzz
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6__vavgRCXpzz
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6__vavgRCXpzz,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6__vavgRCXpzz:
 nop
@@ -7483,7 +7483,7 @@
 b__MAFg10onq_glcrvqQ2Ri:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVpYo1RR16qb_qrpvzny_cbvagRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVpYo1RR16qb_qrpvzny_cbvagRi
 .type b__MAXFg3__117zbarlchapg_olanzrVpYo1RR16qb_qrpvzny_cbvagRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVpYo1RR16qb_qrpvzny_cbvagRi:
 nop
@@ -7503,17 +7503,17 @@
 b__MGVAFg3__114__pbqrpig_hgs8VQvRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__18inyneenlVzRQ1Ri
+.weak b__MAFg3__18inyneenlVzRQ1Ri
 .type b__MAFg3__18inyneenlVzRQ1Ri,%function
 b__MAFg3__18inyneenlVzRQ1Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR6fragelP2REF3_o
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR6fragelP2REF3_o
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR6fragelP2REF3_o,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR6fragelP2REF3_o:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ0Ri
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ0Ri
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ0Ri,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ0Ri:
 nop
@@ -7523,7 +7523,7 @@
 b__MAFg3__118__gvzr_trg_fgbentrVpR9__nanylmrRpEXAF_5pglcrVpRR:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRzCXj
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRzCXj
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRzCXj,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRzCXj:
 nop
@@ -7538,7 +7538,7 @@
 b__MAFg13onq_rkprcgvbaQ0Ri:
 nop
 .data
-.globl b__MGVAFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGVAFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGVAFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGVAFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -7558,7 +7558,7 @@
 b__MAXFg3__120__pbqrpig_hgs8_hgs16VQfR16qb_nyjnlf_abpbaiRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9conpxsnvyRw
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9conpxsnvyRw
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9conpxsnvyRw,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9conpxsnvyRw:
 nop
@@ -7568,12 +7568,12 @@
 b__MAFg3__112pglcr_olanzrVpRP2RCXpz:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRzCXjz
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRzCXjz
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRzCXjz,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRzCXjz:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR6vtaberRyv
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR6vtaberRyv
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR6vtaberRyv,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR6vtaberRyv:
 nop
@@ -7588,7 +7588,7 @@
 b__MAFg3__17pbqrpigVQfp9zofgngr_gRQ0Ri:
 nop
 .text
-.globl b__MAFg3__19__ahz_trgVjR19__fgntr2_sybng_ybbcRjEoEpCpEF4_jjEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCwEFR_EwCj
+.weak b__MAFg3__19__ahz_trgVjR19__fgntr2_sybng_ybbcRjEoEpCpEF4_jjEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCwEFR_EwCj
 .type b__MAFg3__19__ahz_trgVjR19__fgntr2_sybng_ybbcRjEoEpCpEF4_jjEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCwEFR_EwCj,%function
 b__MAFg3__19__ahz_trgVjR19__fgntr2_sybng_ybbcRjEoEpCpEF4_jjEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCwEFR_EwCj:
 nop
@@ -7598,7 +7598,7 @@
 b__MGFAFg3__15pglcrVjRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__17pbyyngrVpRR
+.weak b__MGIAFg3__17pbyyngrVpRR
 .type b__MGIAFg3__17pbyyngrVpRR,%object
 b__MGIAFg3__17pbyyngrVpRR:
 .space __SIZEOF_POINTER__
@@ -7623,17 +7623,17 @@
 b__MAFg3__16ybpnyrP2REXF0_EXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRv:
 nop
 .data
-.globl b__MAFg3__18zrffntrfVpR2vqR
+.weak b__MAFg3__18zrffntrfVpR2vqR
 .type b__MAFg3__18zrffntrfVpR2vqR,%object
 b__MAFg3__18zrffntrfVpR2vqR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR7chgonpxRp
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR7chgonpxRp
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR7chgonpxRp,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR7chgonpxRp:
 nop
 .text
-.globl b__MAFg3__17pbyyngrVjRQ2Ri
+.weak b__MAFg3__17pbyyngrVjRQ2Ri
 .type b__MAFg3__17pbyyngrVjRQ2Ri,%function
 b__MAFg3__17pbyyngrVjRQ2Ri:
 nop
@@ -7653,7 +7653,7 @@
 b__MGFA10__pkknovi121__izv_pynff_glcr_vasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVpYo0RR14qb_senp_qvtvgfRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVpYo0RR14qb_senp_qvtvgfRi
 .type b__MAXFg3__117zbarlchapg_olanzrVpYo0RR14qb_senp_qvtvgfRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVpYo0RR14qb_senp_qvtvgfRi:
 nop
@@ -7668,7 +7668,7 @@
 b__MGIAFg3__116__aneebj_gb_hgs8VYz32RRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR12svaq_ynfg_bsRCXjzz
+.weak b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR12svaq_ynfg_bsRCXjzz
 .type b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR12svaq_ynfg_bsRCXjzz,%function
 b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR12svaq_ynfg_bsRCXjzz:
 nop
@@ -7688,17 +7688,17 @@
 b__MAFg3__117__nffbp_fho_fgngr12__znxr_ernqlRi:
 nop
 .data
-.globl b__MGIAFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGIAFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGIAFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGIAFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__18inyneenlVzRQ2Ri
+.weak b__MAFg3__18inyneenlVzRQ2Ri
 .type b__MAFg3__18inyneenlVzRQ2Ri,%function
 b__MAFg3__18inyneenlVzRQ2Ri:
 nop
 .text
-.globl b__MqnCiEXFg9abguebj_g
+.weak b__MqnCiEXFg9abguebj_g
 .type b__MqnCiEXFg9abguebj_g,%function
 b__MqnCiEXFg9abguebj_g:
 nop
@@ -7708,12 +7708,12 @@
 b__MAFg3__16puebab12flfgrz_pybpx9gb_gvzr_gREXAF0_10gvzr_cbvagVF1_AF0_8qhengvbaVkAF_5engvbVYy1RYy1000000RRRRRRR:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ1Ri
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ1Ri
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ1Ri,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ1Ri:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRQ1Ri
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRQ1Ri
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRQ1Ri,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRQ1Ri:
 nop
@@ -7733,7 +7733,7 @@
 b__MAXFg3__112pglcr_olanzrVpR10qb_gbybjreRp:
 nop
 .data
-.globl b__MAFg3__110zbarlchapgVpYo1RR4vagyR
+.weak b__MAFg3__110zbarlchapgVpYo1RR4vagyR
 .type b__MAFg3__110zbarlchapgVpYo1RR4vagyR,%object
 b__MAFg3__110zbarlchapgVpYo1RR4vagyR:
 .space __SIZEOF_POINTER__
@@ -7743,12 +7743,12 @@
 b__MGVAFg3__115__pbqrpig_hgs16VjYo0RRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7pbzcnerRzzCXjz
+.weak b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7pbzcnerRzzCXjz
 .type b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7pbzcnerRzzCXjz,%function
 b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7pbzcnerRzzCXjz:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRCAF_15onfvp_fgernzohsVpF2_RR
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRCAF_15onfvp_fgernzohsVpF2_RR
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRCAF_15onfvp_fgernzohsVpF2_RR,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefRCAF_15onfvp_fgernzohsVpF2_RR:
 nop
@@ -7788,12 +7788,12 @@
 b__MGVQa:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgRCpy
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgRCpy
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgRCpy,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgRCpy:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVjYo1RR16qb_gubhfnaqf_frcRi
+.weak b__MAXFg3__110zbarlchapgVjYo1RR16qb_gubhfnaqf_frcRi
 .type b__MAXFg3__110zbarlchapgVjYo1RR16qb_gubhfnaqf_frcRi,%function
 b__MAXFg3__110zbarlchapgVjYo1RR16qb_gubhfnaqf_frcRi:
 nop
@@ -7828,12 +7828,12 @@
 b__MAFg3__17pbqrpigVQfp9zofgngr_gRQ1Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgRCjy
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgRCjy
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgRCjy,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgRCjy:
 nop
 .data
-.globl b__MGIAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRR
+.weak b__MGIAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRR
 .type b__MGIAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRR,%object
 b__MGIAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -7843,7 +7843,7 @@
 b__MGFAFg3__18__p_abqrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgRi
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgRi
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgRi,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgRi:
 nop
@@ -7873,7 +7873,7 @@
 b__MAXFg3__17pbqrpigVjp9zofgngr_gR6qb_bhgREF1_CXjF5_EF5_CpF7_EF7_:
 nop
 .text
-.globl b__MAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR8__qb_trgREF4_F4_oEXAF_6ybpnyrRwEwEoEXAF_5pglcrVjRREAF_10havdhr_cgeVjCSiCiRRRECjFZ_
+.weak b__MAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR8__qb_trgREF4_F4_oEXAF_6ybpnyrRwEwEoEXAF_5pglcrVjRREAF_10havdhr_cgeVjCSiCiRRRECjFZ_
 .type b__MAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR8__qb_trgREF4_F4_oEXAF_6ybpnyrRwEwEoEXAF_5pglcrVjRREAF_10havdhr_cgeVjCSiCiRRRECjFZ_,%function
 b__MAFg3__19zbarl_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR8__qb_trgREF4_F4_oEXAF_6ybpnyrRwEwEoEXAF_5pglcrVjRREAF_10havdhr_cgeVjCSiCiRRRECjFZ_:
 nop
@@ -7883,22 +7883,22 @@
 b__MGVQf:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRQ0Ri
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRQ0Ri
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRQ0Ri,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRQ0Ri:
 nop
 .data
-.globl b__MGVAFg3__111__zbarl_trgVjRR
+.weak b__MGVAFg3__111__zbarl_trgVjRR
 .type b__MGVAFg3__111__zbarl_trgVjRR,%object
 b__MGVAFg3__111__zbarl_trgVjRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6kftrgaRCjy
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6kftrgaRCjy
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6kftrgaRCjy,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6kftrgaRCjy:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVjYo0RR16qb_artngvir_fvtaRi
+.weak b__MAXFg3__110zbarlchapgVjYo0RR16qb_artngvir_fvtaRi
 .type b__MAXFg3__110zbarlchapgVjYo0RR16qb_artngvir_fvtaRi,%function
 b__MAXFg3__110zbarlchapgVjYo0RR16qb_artngvir_fvtaRi:
 nop
@@ -7913,12 +7913,12 @@
 b__MGIFg20onq_neenl_arj_yratgu:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR8ernqfbzrRCjy
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR8ernqfbzrRCjy
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR8ernqfbzrRCjy,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR8ernqfbzrRCjy:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ2Ri
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ2Ri
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ2Ri,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRRQ2Ri:
 nop
@@ -7928,12 +7928,12 @@
 b__MAXFg3__112pglcr_olanzrVjR10qb_gbhccreRCjCXj:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRQ2Ri
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRQ2Ri
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRQ2Ri,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRQ2Ri:
 nop
 .text
-.globl b__MqnCi
+.weak b__MqnCi
 .type b__MqnCi,%function
 b__MqnCi:
 nop
@@ -7973,7 +7973,7 @@
 b__MAFg3__111__yvopcc_qoP1Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR6fragelQ1Ri
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR6fragelQ1Ri
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR6fragelQ1Ri,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR6fragelQ1Ri:
 nop
@@ -7983,17 +7983,17 @@
 b__MAFg3__18vbf_onfr5pyrneRw:
 nop
 .data
-.globl b__MGVAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRR
+.weak b__MGVAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRR
 .type b__MGVAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRR,%object
 b__MGVAFg3__19onfvp_vbfVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVjYo1RR11qb_tebhcvatRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVjYo1RR11qb_tebhcvatRi
 .type b__MAXFg3__117zbarlchapg_olanzrVjYo1RR11qb_tebhcvatRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVjYo1RR11qb_tebhcvatRi:
 nop
 .text
-.globl b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpCXi
+.weak b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpCXi
 .type b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpCXi,%function
 b__MAXFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_chgRF4_EAF_8vbf_onfrRpCXi:
 nop
@@ -8003,7 +8003,7 @@
 b__MAFg19onq_bcgvbany_npprffQ1Ri:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVpYo0RR11qb_tebhcvatRi
+.weak b__MAXFg3__110zbarlchapgVpYo0RR11qb_tebhcvatRi
 .type b__MAXFg3__110zbarlchapgVpYo0RR11qb_tebhcvatRi,%function
 b__MAXFg3__110zbarlchapgVpYo0RR11qb_tebhcvatRi:
 nop
@@ -8013,7 +8013,7 @@
 b__MAXFg3__114__pbqrpig_hgs8VQvR16qb_nyjnlf_abpbaiRi:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVpYo1RR14qb_phee_flzobyRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVpYo1RR14qb_phee_flzobyRi
 .type b__MAXFg3__117zbarlchapg_olanzrVpYo1RR14qb_phee_flzobyRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVpYo1RR14qb_phee_flzobyRi:
 nop
@@ -8023,7 +8023,7 @@
 b__MGFAFg3__115__pbqrpig_hgs16VQfYo0RRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVyyRRCyRRoG0_F5_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVyyRRCyRRoG0_F5_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVyyRRCyRRoG0_F5_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVyyRRCyRRoG0_F5_G_:
 nop
@@ -8058,7 +8058,7 @@
 b__MGVAFg3__16ybpnyr5snprgR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__117zbarlchapg_olanzrVpYo1RRR
+.weak b__MGFAFg3__117zbarlchapg_olanzrVpYo1RRR
 .type b__MGFAFg3__117zbarlchapg_olanzrVpYo1RRR,%object
 b__MGFAFg3__117zbarlchapg_olanzrVpYo1RRR:
 .space __SIZEOF_POINTER__
@@ -8083,7 +8083,7 @@
 b__MAFg3__118__gvzr_trg_fgbentrVjRP2REXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7ercynprRzzEXF5_zz
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7ercynprRzzEXF5_zz
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7ercynprRzzEXF5_zz,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7ercynprRzzEXF5_zz:
 nop
@@ -8093,7 +8093,7 @@
 b__MAFg3__112cynprubyqref2_6R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11qb_trg_qngrRF4_F4_EAF_8vbf_onfrREwC2gz
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11qb_trg_qngrRF4_F4_EAF_8vbf_onfrREwC2gz
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11qb_trg_qngrRF4_F4_EAF_8vbf_onfrREwC2gz,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11qb_trg_qngrRF4_F4_EAF_8vbf_onfrREwC2gz:
 nop
@@ -8108,12 +8108,12 @@
 b__MAFg3__112fgefgernzohsP1RCXpy:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR10chofrrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR10chofrrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR10chofrrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR10chofrrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRAF_11__jenc_vgreVCXjRRj
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRAF_11__jenc_vgreVCXjRRj
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRAF_11__jenc_vgreVCXjRRj,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6vafregRAF_11__jenc_vgreVCXjRRj:
 nop
@@ -8123,22 +8123,22 @@
 b__MGFAFg3__110bfgefgernzR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRQ1Ri
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRQ1Ri
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRQ1Ri,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRQ1Ri:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR8chovzohrREXAF_6ybpnyrR
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR8chovzohrREXAF_6ybpnyrR
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR8chovzohrREXAF_6ybpnyrR,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR8chovzohrREXAF_6ybpnyrR:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVjYo0RR16qb_gubhfnaqf_frcRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVjYo0RR16qb_gubhfnaqf_frcRi
 .type b__MAXFg3__117zbarlchapg_olanzrVjYo0RR16qb_gubhfnaqf_frcRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVjYo0RR16qb_gubhfnaqf_frcRi:
 nop
 .data
-.globl b__MGVAFg3__110zbarlchapgVpYo0RRR
+.weak b__MGVAFg3__110zbarlchapgVpYo0RRR
 .type b__MGVAFg3__110zbarlchapgVpYo0RRR,%object
 b__MGVAFg3__110zbarlchapgVpYo0RRR:
 .space __SIZEOF_POINTER__
@@ -8148,7 +8148,7 @@
 b__MGIAFg3__119__funerq_jrnx_pbhagR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR7choflapRi
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR7choflapRi
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR7choflapRi,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR7choflapRi:
 nop
@@ -8163,17 +8163,17 @@
 b__MAFg3__115flfgrz_pngrtbelRi:
 nop
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVjjRRCjRRoG0_F5_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVjjRRCjRRoG0_F5_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVjjRRCjRRoG0_F5_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVjjRRCjRRoG0_F5_G_:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVjYo0RR14qb_phee_flzobyRi
+.weak b__MAXFg3__110zbarlchapgVjYo0RR14qb_phee_flzobyRi
 .type b__MAXFg3__110zbarlchapgVjYo0RR14qb_phee_flzobyRi,%function
 b__MAXFg3__110zbarlchapgVjYo0RR14qb_phee_flzobyRi:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVpYo0RR14qb_phee_flzobyRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVpYo0RR14qb_phee_flzobyRi
 .type b__MAXFg3__117zbarlchapg_olanzrVpYo0RR14qb_phee_flzobyRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVpYo0RR14qb_phee_flzobyRi:
 nop
@@ -8193,17 +8193,17 @@
 b__MAFg3__111__yvopcc_qoP2Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgRCjyj
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgRCjyj
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgRCjyj,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgRCjyj:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR6fragelQ2Ri
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR6fragelQ2Ri
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR6fragelQ2Ri,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR6fragelQ2Ri:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5hsybjRi
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5hsybjRi
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5hsybjRi,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5hsybjRi:
 nop
@@ -8233,7 +8233,7 @@
 b__MAFg3__111__yvopcc_qo16__vainyvqngr_nyyRCi:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7ercynprRzzCXpz
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7ercynprRzzCXpz
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7ercynprRzzCXpz,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7ercynprRzzCXpz:
 nop
@@ -8263,7 +8263,7 @@
 b__MGFFg13ehagvzr_reebe:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR4fjncREF3_
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR4fjncREF3_
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR4fjncREF3_,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR4fjncREF3_:
 nop
@@ -8288,7 +8288,7 @@
 b__MAFg3__114pbyyngr_olanzrVpRQ2Ri:
 nop
 .data
-.globl b__MGIAFg3__115gvzr_trg_olanzrVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGIAFg3__115gvzr_trg_olanzrVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGIAFg3__115gvzr_trg_olanzrVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGIAFg3__115gvzr_trg_olanzrVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -8308,7 +8308,7 @@
 b__MAFg3__118pbaqvgvba_inevnoyr10abgvsl_barRi:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVpYo1RR16qb_cbfvgvir_fvtaRi
+.weak b__MAXFg3__110zbarlchapgVpYo1RR16qb_cbfvgvir_fvtaRi
 .type b__MAXFg3__110zbarlchapgVpYo1RR16qb_cbfvgvir_fvtaRi,%function
 b__MAXFg3__110zbarlchapgVpYo1RR16qb_cbfvgvir_fvtaRi:
 nop
@@ -8333,12 +8333,12 @@
 b__MGVFg12bhg_bs_enatr:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__fbegVEAF_6__yrffVppRRCpRRiG0_F5_G_
+.weak b__MAFg3__16__fbegVEAF_6__yrffVppRRCpRRiG0_F5_G_
 .type b__MAFg3__16__fbegVEAF_6__yrffVppRRCpRRiG0_F5_G_,%function
 b__MAFg3__16__fbegVEAF_6__yrffVppRRCpRRiG0_F5_G_:
 nop
 .text
-.globl b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRP1RCAF_15onfvp_fgernzohsVpF2_RR
+.weak b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRP1RCAF_15onfvp_fgernzohsVpF2_RR
 .type b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRP1RCAF_15onfvp_fgernzohsVpF2_RR,%function
 b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRP1RCAF_15onfvp_fgernzohsVpF2_RR:
 nop
@@ -8348,12 +8348,12 @@
 b__MAXFg3__112pglcr_olanzrVjR10qb_gbhccreRj:
 nop
 .data
-.globl b__MGVAFg3__111__zbarl_chgVpRR
+.weak b__MGVAFg3__111__zbarl_chgVpRR
 .type b__MGVAFg3__111__zbarl_chgVpRR,%object
 b__MGVAFg3__111__zbarl_chgVpRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__111__zbarl_trgVjRR
+.weak b__MGFAFg3__111__zbarl_trgVjRR
 .type b__MGFAFg3__111__zbarl_trgVjRR,%object
 b__MGFAFg3__111__zbarl_trgVjRR:
 .space __SIZEOF_POINTER__
@@ -8373,12 +8373,12 @@
 b___tkk_crefbanyvgl_i0:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRP2RCAF_15onfvp_fgernzohsVjF2_RR
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRP2RCAF_15onfvp_fgernzohsVjF2_RR
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRP2RCAF_15onfvp_fgernzohsVjF2_RR,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRP2RCAF_15onfvp_fgernzohsVjF2_RR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRQ2Ri
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRQ2Ri
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRQ2Ri,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRQ2Ri:
 nop
@@ -8403,7 +8403,7 @@
 b__MAXFg3__17pbqrpigVQvp9zofgngr_gR16qb_nyjnlf_abpbaiRi:
 nop
 .data
-.globl b__MGFAFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGFAFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGFAFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGFAFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -8428,7 +8428,7 @@
 b__MAFg3__18vbf_onfr7havgohsR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRR
+.weak b__MGFAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRR
 .type b__MGFAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRR,%object
 b__MGFAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRR:
 .space __SIZEOF_POINTER__
@@ -8438,7 +8438,7 @@
 b__MAFg3__19gb_fgevatRz:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6farkgpRi
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6farkgpRi
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6farkgpRi,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6farkgpRi:
 nop
@@ -8448,7 +8448,7 @@
 b__MAFg3__115ahzchapg_olanzrVjRP1REXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRz:
 nop
 .text
-.globl b__MqyCizFg11nyvta_iny_g
+.weak b__MqyCizFg11nyvta_iny_g
 .type b__MqyCizFg11nyvta_iny_g,%function
 b__MqyCizFg11nyvta_iny_g:
 nop
@@ -8463,17 +8463,17 @@
 b__MAXFg3__15pglcrVjR10qb_gbybjreRCjCXj:
 nop
 .data
-.globl b__MGFAFg3__17pbyyngrVpRR
+.weak b__MGFAFg3__17pbyyngrVpRR
 .type b__MGFAFg3__17pbyyngrVpRR,%object
 b__MGFAFg3__17pbyyngrVpRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGFAFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGFAFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGFAFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MajzFg11nyvta_iny_gEXFg9abguebj_g
+.weak b__MajzFg11nyvta_iny_gEXFg9abguebj_g
 .type b__MajzFg11nyvta_iny_gEXFg9abguebj_g,%function
 b__MajzFg11nyvta_iny_gEXFg9abguebj_g:
 nop
@@ -8503,7 +8503,7 @@
 b__MGFAFg3__114__pbqrpig_hgs8VjRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR12svaq_ynfg_bsRCXpzz
+.weak b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR12svaq_ynfg_bsRCXpzz
 .type b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR12svaq_ynfg_bsRCXpzz,%function
 b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR12svaq_ynfg_bsRCXpzz:
 nop
@@ -8518,12 +8518,12 @@
 b__MAFg3__113enaqbz_qrivprP2REXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVjYo1RR13qb_cbf_sbezngRi
+.weak b__MAXFg3__110zbarlchapgVjYo1RR13qb_cbf_sbezngRi
 .type b__MAXFg3__110zbarlchapgVjYo1RR13qb_cbf_sbezngRi,%function
 b__MAXFg3__110zbarlchapgVjYo1RR13qb_cbf_sbezngRi:
 nop
 .text
-.globl b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjCXi
+.weak b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjCXi
 .type b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjCXi,%function
 b__MAXFg3__17ahz_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjCXi:
 nop
@@ -8543,7 +8543,7 @@
 b__MAFg9glcr_vasbQ0Ri:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR4fjncREF3_
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR4fjncREF3_
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR4fjncREF3_,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR4fjncREF3_:
 nop
@@ -8558,17 +8558,17 @@
 b__MAFg3__114pbyyngr_olanzrVjRP1REXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRz:
 nop
 .text
-.globl b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR4svaqRCXjzz
+.weak b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR4svaqRCXjzz
 .type b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR4svaqRCXjzz,%function
 b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR4svaqRCXjzz:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCXi
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCXi
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCXi,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCXi:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVpYo0RR14qb_senp_qvtvgfRi
+.weak b__MAXFg3__110zbarlchapgVpYo0RR14qb_senp_qvtvgfRi
 .type b__MAXFg3__110zbarlchapgVpYo0RR14qb_senp_qvtvgfRi,%function
 b__MAXFg3__110zbarlchapgVpYo0RR14qb_senp_qvtvgfRi:
 nop
@@ -8588,7 +8588,7 @@
 b__MAFg3__124__yvopcc_qroht_rkprcgvbaP2REXAF_19__yvopcc_qroht_vasbR:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5frrxcRAF_4scbfV9zofgngr_gRR
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5frrxcRAF_4scbfV9zofgngr_gRR
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5frrxcRAF_4scbfV9zofgngr_gRR,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5frrxcRAF_4scbfV9zofgngr_gRR:
 nop
@@ -8613,7 +8613,7 @@
 b__MAXFg3__111__yvopcc_qo9__nqqnoyrRCXiy:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5jevgrRCXjy
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5jevgrRCXjy
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5jevgrRCXjy,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5jevgrRCXjy:
 nop
@@ -8633,17 +8633,17 @@
 b__MAFg3__112shgher_reebeP1RAF_10reebe_pbqrR:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5frrxcRkAF_8vbf_onfr7frrxqveR
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5frrxcRkAF_8vbf_onfr7frrxqveR
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5frrxcRkAF_8vbf_onfr7frrxqveR,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR5frrxcRkAF_8vbf_onfr7frrxqveR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
 .text
-.globl b__MAFg3__19__ahz_trgVjR19__fgntr2_sybng_cercREAF_8vbf_onfrRCjEjF5_
+.weak b__MAFg3__19__ahz_trgVjR19__fgntr2_sybng_cercREAF_8vbf_onfrRCjEjF5_
 .type b__MAFg3__19__ahz_trgVjR19__fgntr2_sybng_cercREAF_8vbf_onfrRCjEjF5_,%function
 b__MAFg3__19__ahz_trgVjR19__fgntr2_sybng_cercREAF_8vbf_onfrRCjEjF5_:
 nop
@@ -8658,12 +8658,12 @@
 b__MAFg3__19gb_fgevatRl:
 nop
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVuuRRCuRRoG0_F5_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVuuRRCuRRoG0_F5_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVuuRRCuRRoG0_F5_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVuuRRCuRRoG0_F5_G_:
 nop
 .text
-.globl b__MAFg3__16__fbegVEAF_6__yrffVllRRClRRiG0_F5_G_
+.weak b__MAFg3__16__fbegVEAF_6__yrffVllRRClRRiG0_F5_G_
 .type b__MAFg3__16__fbegVEAF_6__yrffVllRRClRRiG0_F5_G_,%function
 b__MAFg3__16__fbegVEAF_6__yrffVllRRClRRiG0_F5_G_:
 nop
@@ -8673,17 +8673,17 @@
 b__MAFg3__117__nffbp_fho_fgngr16__ba_mreb_funerqRi:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR4fjncREF3_
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR4fjncREF3_
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR4fjncREF3_,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR4fjncREF3_:
 nop
 .text
-.globl b__MAXFg3__120__irpgbe_onfr_pbzzbaVYo1RR20__guebj_yratgu_reebeRi
+.weak b__MAXFg3__120__irpgbe_onfr_pbzzbaVYo1RR20__guebj_yratgu_reebeRi
 .type b__MAXFg3__120__irpgbe_onfr_pbzzbaVYo1RR20__guebj_yratgu_reebeRi,%function
 b__MAXFg3__120__irpgbe_onfr_pbzzbaVYo1RR20__guebj_yratgu_reebeRi:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR21__tebj_ol_naq_ercynprRzzzzzzCXp
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR21__tebj_ol_naq_ercynprRzzzzzzCXp
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR21__tebj_ol_naq_ercynprRzzzzzzCXp,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR21__tebj_ol_naq_ercynprRzzzzzzCXp:
 nop
@@ -8718,7 +8718,7 @@
 b___pkn_hapnhtug_rkprcgvbaf:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVpYo1RR11qb_tebhcvatRi
+.weak b__MAXFg3__110zbarlchapgVpYo1RR11qb_tebhcvatRi
 .type b__MAXFg3__110zbarlchapgVpYo1RR11qb_tebhcvatRi,%function
 b__MAXFg3__110zbarlchapgVpYo1RR11qb_tebhcvatRi:
 nop
@@ -8733,12 +8733,12 @@
 b__MAFg3__16ybpnyrP1RCXp:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ0Ri
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ0Ri
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ0Ri,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ0Ri:
 nop
 .text
-.globl b__MAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRR7pbclszgREXF3_
+.weak b__MAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRR7pbclszgREXF3_
 .type b__MAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRR7pbclszgREXF3_,%function
 b__MAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRR7pbclszgREXF3_:
 nop
@@ -8753,7 +8753,7 @@
 b__MAFg3__16ybpnyrP1REXF0_F2_v:
 nop
 .data
-.globl b__MGVAFg3__112pbqrpig_onfrR
+.weak b__MGVAFg3__112pbqrpig_onfrR
 .type b__MGVAFg3__112pbqrpig_onfrR,%object
 b__MGVAFg3__112pbqrpig_onfrR:
 .space __SIZEOF_POINTER__
@@ -8763,12 +8763,12 @@
 b__MAFg3__16guernqQ1Ri:
 nop
 .text
-.globl b__MGi0_a24_AFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ0Ri
+.weak b__MGi0_a24_AFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ0Ri
 .type b__MGi0_a24_AFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ0Ri,%function
 b__MGi0_a24_AFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ0Ri:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP1REXF5_EXF4_
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP1REXF5_EXF4_
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP1REXF5_EXF4_,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP1REXF5_EXF4_:
 nop
@@ -8778,7 +8778,7 @@
 b__MAFg3__112cynprubyqref2_7R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgREAF_15onfvp_fgernzohsVjF2_RR
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgREAF_15onfvp_fgernzohsVjF2_RR
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgREAF_15onfvp_fgernzohsVjF2_RR,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR3trgREAF_15onfvp_fgernzohsVjF2_RR:
 nop
@@ -8788,7 +8788,7 @@
 b__MGVAFg3__115ahzchapg_olanzrVjRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__111__zbarl_chgVpRR
+.weak b__MGFAFg3__111__zbarl_chgVpRR
 .type b__MGFAFg3__111__zbarl_chgVpRR,%object
 b__MGFAFg3__111__zbarl_chgVpRR:
 .space __SIZEOF_POINTER__
@@ -8803,7 +8803,7 @@
 b__MAFg3__129__yvopcc_guebj_qroht_shapgvbaREXAF_19__yvopcc_qroht_vasbR:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR5hatrgRi
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR5hatrgRi
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR5hatrgRi,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR5hatrgRi:
 nop
@@ -8813,17 +8813,17 @@
 b__MAFg3__17pbqrpigVpp9zofgngr_gR2vqR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVpYo1RR13qb_cbf_sbezngRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVpYo1RR13qb_cbf_sbezngRi
 .type b__MAXFg3__117zbarlchapg_olanzrVpYo1RR13qb_cbf_sbezngRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVpYo1RR13qb_cbf_sbezngRi:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11__trg_lrne4REvEF4_F4_EwEXAF_5pglcrVpRR
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11__trg_lrne4REvEF4_F4_EwEXAF_5pglcrVpRR
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11__trg_lrne4REvEF4_F4_EwEXAF_5pglcrVpRR,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11__trg_lrne4REvEF4_F4_EwEXAF_5pglcrVpRR:
 nop
 .text
-.globl b__MAFg3__111__zbarl_chgVjR13__tngure_vasbRooEXAF_6ybpnyrREAF_10zbarl_onfr7cnggreaREjF8_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF9_VjAFN_VjRRAFP_VjRRRRFW_Ev
+.weak b__MAFg3__111__zbarl_chgVjR13__tngure_vasbRooEXAF_6ybpnyrREAF_10zbarl_onfr7cnggreaREjF8_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF9_VjAFN_VjRRAFP_VjRRRRFW_Ev
 .type b__MAFg3__111__zbarl_chgVjR13__tngure_vasbRooEXAF_6ybpnyrREAF_10zbarl_onfr7cnggreaREjF8_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF9_VjAFN_VjRRAFP_VjRRRRFW_Ev,%function
 b__MAFg3__111__zbarl_chgVjR13__tngure_vasbRooEXAF_6ybpnyrREAF_10zbarl_onfr7cnggreaREjF8_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF9_VjAFN_VjRRAFP_VjRRRRFW_Ev:
 nop
@@ -8853,12 +8853,12 @@
 b__MAFg15haqresybj_reebeQ2Ri:
 nop
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVffRRCfRRoG0_F5_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVffRRCfRRoG0_F5_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVffRRCfRRoG0_F5_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVffRRCfRRoG0_F5_G_:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCSEF3_F4_R
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCSEF3_F4_R
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCSEF3_F4_R,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCSEF3_F4_R:
 nop
@@ -8888,7 +8888,7 @@
 b__MAXFg3__115__pbqrpig_hgs16VQfYo1RR5qb_vaRE9zofgngr_gCXpF5_EF5_CQfF7_EF7_:
 nop
 .data
-.globl b__MGFAFg3__118__gvzr_trg_fgbentrVjRR
+.weak b__MGFAFg3__118__gvzr_trg_fgbentrVjRR
 .type b__MGFAFg3__118__gvzr_trg_fgbentrVjRR,%object
 b__MGFAFg3__118__gvzr_trg_fgbentrVjRR:
 .space __SIZEOF_POINTER__
@@ -8898,7 +8898,7 @@
 b__MGVFg11enatr_reebe:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR3chgRF4_EAF_8vbf_onfrRpCX2gzCXpFP_
+.weak b__MAXFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR3chgRF4_EAF_8vbf_onfrRpCX2gzCXpFP_
 .type b__MAXFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR3chgRF4_EAF_8vbf_onfrRpCX2gzCXpFP_,%function
 b__MAXFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR3chgRF4_EAF_8vbf_onfrRpCX2gzCXpFP_:
 nop
@@ -8913,12 +8913,12 @@
 b__MGIA10__pkknovi120__fv_pynff_glcr_vasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRP1REXF3_
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRP1REXF3_
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRP1REXF3_,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRRP1REXF3_:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6fohzcpRi
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6fohzcpRi
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6fohzcpRi,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR6fohzcpRi:
 nop
@@ -8928,7 +8928,7 @@
 b__MAXFg3__115__pbqrpig_hgs16VQfYo0RR9qb_yratguRE9zofgngr_gCXpF5_z:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVpYo1RR14qb_phee_flzobyRi
+.weak b__MAXFg3__110zbarlchapgVpYo1RR14qb_phee_flzobyRi
 .type b__MAXFg3__110zbarlchapgVpYo1RR14qb_phee_flzobyRi,%function
 b__MAXFg3__110zbarlchapgVpYo1RR14qb_phee_flzobyRi:
 nop
@@ -8943,12 +8943,12 @@
 b__MAXFg3__17pbqrpigVpp9zofgngr_gR13qb_znk_yratguRi:
 nop
 .text
-.globl b__MAXFg3__17pbyyngrVpR12qb_genafsbezRCXpF3_
+.weak b__MAXFg3__17pbyyngrVpR12qb_genafsbezRCXpF3_
 .type b__MAXFg3__17pbyyngrVpR12qb_genafsbezRCXpF3_,%function
 b__MAXFg3__17pbyyngrVpR12qb_genafsbezRCXpF3_:
 nop
 .data
-.globl b__MGFAFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGFAFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGFAFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGFAFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
@@ -8958,7 +8958,7 @@
 b__MAFg3__116__aneebj_gb_hgs8VYz16RRQ1Ri:
 nop
 .text
-.globl b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR5esvaqRCXjzz
+.weak b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR5esvaqRCXjzz
 .type b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR5esvaqRCXjzz,%function
 b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR5esvaqRCXjzz:
 nop
@@ -8968,17 +8968,17 @@
 b__MAFg3__125abgvsl_nyy_ng_guernq_rkvgREAF_18pbaqvgvba_inevnoyrRAF_11havdhr_ybpxVAF_5zhgrkRRR:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ1Ri
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ1Ri
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ1Ri,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ1Ri:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR17__trg_jrrxqnlanzrREvEF4_F4_EwEXAF_5pglcrVjRR
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR17__trg_jrrxqnlanzrREvEF4_F4_EwEXAF_5pglcrVjRR
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR17__trg_jrrxqnlanzrREvEF4_F4_EwEXAF_5pglcrVjRR,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR17__trg_jrrxqnlanzrREvEF4_F4_EwEXAF_5pglcrVjRR:
 nop
 .data
-.globl b__MGIAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRR
+.weak b__MGIAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRR
 .type b__MGIAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRR,%object
 b__MGIAFg3__114pbqrpig_olanzrVQfp9zofgngr_gRR:
 .space __SIZEOF_POINTER__
@@ -8993,12 +8993,12 @@
 b___pkn_trg_tybonyf_snfg:
 nop
 .data
-.globl b__MGGAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGGAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGGAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGGAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MGi0_a24_AFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ1Ri
+.weak b__MGi0_a24_AFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ1Ri
 .type b__MGi0_a24_AFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ1Ri,%function
 b__MGi0_a24_AFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ1Ri:
 nop
@@ -9018,7 +9018,7 @@
 b__MAXFg3__115__pbqrpig_hgs16VjYo0RR11qb_rapbqvatRi:
 nop
 .data
-.globl b__MGFAFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGFAFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGFAFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGFAFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -9033,7 +9033,7 @@
 b__MAFg3__124__yvopcc_qroht_rkprcgvbaQ0Ri:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5ftrgpRi
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5ftrgpRi
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5ftrgpRi,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5ftrgpRi:
 nop
@@ -9048,17 +9048,17 @@
 b__MGFFg12bhg_bs_enatr:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR4flapRi
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR4flapRi
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR4flapRi,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR4flapRi:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVpYo0RR16qb_qrpvzny_cbvagRi
+.weak b__MAXFg3__110zbarlchapgVpYo0RR16qb_qrpvzny_cbvagRi
 .type b__MAXFg3__110zbarlchapgVpYo0RR16qb_qrpvzny_cbvagRi,%function
 b__MAXFg3__110zbarlchapgVpYo0RR16qb_qrpvzny_cbvagRi:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11qb_trg_gvzrRF4_F4_EAF_8vbf_onfrREwC2gz
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11qb_trg_gvzrRF4_F4_EAF_8vbf_onfrREwC2gz
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11qb_trg_gvzrRF4_F4_EAF_8vbf_onfrREwC2gz,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR11qb_trg_gvzrRF4_F4_EAF_8vbf_onfrREwC2gz:
 nop
@@ -9073,7 +9073,7 @@
 b__MAXFg3__111__yvopcc_qo17__qrersreraprnoyrRCXi:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5frrxcRkAF_8vbf_onfr7frrxqveR
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5frrxcRkAF_8vbf_onfr7frrxqveR
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5frrxcRkAF_8vbf_onfr7frrxqveR,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR5frrxcRkAF_8vbf_onfr7frrxqveR:
 nop
@@ -9083,7 +9083,7 @@
 b__MAFg3__18vbf_onfr7snvyherQ1Ri:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP1REXF5_zzEXF4_
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP1REXF5_zzEXF4_
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP1REXF5_zzEXF4_,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP1REXF5_zzEXF4_:
 nop
@@ -9093,12 +9093,12 @@
 b__MAFg3__16__vgbn8__h32gbnRwCp:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVpYo0RR14qb_phee_flzobyRi
+.weak b__MAXFg3__110zbarlchapgVpYo0RR14qb_phee_flzobyRi
 .type b__MAXFg3__110zbarlchapgVpYo0RR14qb_phee_flzobyRi,%function
 b__MAXFg3__110zbarlchapgVpYo0RR14qb_phee_flzobyRi:
 nop
 .text
-.globl b__MAXFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjCX2gzpp
+.weak b__MAXFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjCX2gzpp
 .type b__MAXFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjCX2gzpp,%function
 b__MAXFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_chgRF4_EAF_8vbf_onfrRjCX2gzpp:
 nop
@@ -9133,12 +9133,12 @@
 b__MAFg3__112fgefgernzohsP1RCuyF1_:
 nop
 .text
-.globl b__MAFg3__16__fbegVEAF_6__yrffVwwRRCwRRiG0_F5_G_
+.weak b__MAFg3__16__fbegVEAF_6__yrffVwwRRCwRRiG0_F5_G_
 .type b__MAFg3__16__fbegVEAF_6__yrffVwwRRCwRRiG0_F5_G_,%function
 b__MAFg3__16__fbegVEAF_6__yrffVwwRRCwRRiG0_F5_G_:
 nop
 .data
-.globl b__MGFAFg3__117zbarlchapg_olanzrVjYo0RRR
+.weak b__MGFAFg3__117zbarlchapg_olanzrVjYo0RRR
 .type b__MGFAFg3__117zbarlchapg_olanzrVjYo0RRR,%object
 b__MGFAFg3__117zbarlchapg_olanzrVjYo0RRR:
 .space __SIZEOF_POINTER__
@@ -9153,7 +9153,7 @@
 b__MAXFg3__115__pbqrpig_hgs16VQvYo0RR9qb_yratguRE9zofgngr_gCXpF5_z:
 nop
 .text
-.globl b__MAXFg3__18zrffntrfVjR6qb_trgRyvvEXAF_12onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRR
+.weak b__MAXFg3__18zrffntrfVjR6qb_trgRyvvEXAF_12onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRR
 .type b__MAXFg3__18zrffntrfVjR6qb_trgRyvvEXAF_12onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRR,%function
 b__MAXFg3__18zrffntrfVjR6qb_trgRyvvEXAF_12onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRR:
 nop
@@ -9168,7 +9168,7 @@
 b__MGVA10__pkknovi120__fv_pynff_glcr_vasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ2Ri
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ2Ri
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ2Ri,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRQ2Ri:
 nop
@@ -9178,12 +9178,12 @@
 b__MAFg3__18vbf_onfr15flap_jvgu_fgqvbRo:
 nop
 .text
-.globl b__MAFg3__19__ahz_trgVpR17__fgntr2_vag_cercREAF_8vbf_onfrRCpEp
+.weak b__MAFg3__19__ahz_trgVpR17__fgntr2_vag_cercREAF_8vbf_onfrRCpEp
 .type b__MAFg3__19__ahz_trgVpR17__fgntr2_vag_cercREAF_8vbf_onfrRCpEp,%function
 b__MAFg3__19__ahz_trgVpR17__fgntr2_vag_cercREAF_8vbf_onfrRCpEp:
 nop
 .data
-.globl b__MGVAFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGVAFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGVAFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGVAFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
@@ -9193,17 +9193,17 @@
 b__MAFg13rkprcgvba_cgeP1REXF_:
 nop
 .text
-.globl b__MAXFg3__110zbarlchapgVpYo0RR13qb_art_sbezngRi
+.weak b__MAXFg3__110zbarlchapgVpYo0RR13qb_art_sbezngRi
 .type b__MAXFg3__110zbarlchapgVpYo0RR13qb_art_sbezngRi,%function
 b__MAXFg3__110zbarlchapgVpYo0RR13qb_art_sbezngRi:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVjYo1RR16qb_cbfvgvir_fvtaRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVjYo1RR16qb_cbfvgvir_fvtaRi
 .type b__MAXFg3__117zbarlchapg_olanzrVjYo1RR16qb_cbfvgvir_fvtaRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVjYo1RR16qb_cbfvgvir_fvtaRi:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11qb_trg_lrneRF4_F4_EAF_8vbf_onfrREwC2gz
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11qb_trg_lrneRF4_F4_EAF_8vbf_onfrREwC2gz
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11qb_trg_lrneRF4_F4_EAF_8vbf_onfrREwC2gz,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11qb_trg_lrneRF4_F4_EAF_8vbf_onfrREwC2gz:
 nop
@@ -9218,7 +9218,7 @@
 b__MGVAFg3__112pglcr_olanzrVpRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__115gvzr_chg_olanzrVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGIAFg3__115gvzr_chg_olanzrVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGIAFg3__115gvzr_chg_olanzrVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGIAFg3__115gvzr_chg_olanzrVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -9268,7 +9268,7 @@
 b__MAXFg3__15pglcrVjR10qb_fpna_vfRzCXjF3_:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR13__trg_crepragREF4_F4_EwEXAF_5pglcrVpRR
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR13__trg_crepragREF4_F4_EwEXAF_5pglcrVpRR
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR13__trg_crepragREF4_F4_EwEXAF_5pglcrVpRR,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR13__trg_crepragREF4_F4_EwEXAF_5pglcrVpRR:
 nop
@@ -9283,7 +9283,7 @@
 b__MGFo:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREo
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREo
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREo,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREo:
 nop
@@ -9298,12 +9298,12 @@
 b__MAFg3__118__gvzr_trg_fgbentrVpRP2REXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
 .data
-.globl b__MAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR
+.weak b__MAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR
 .type b__MAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR,%object
 b__MAFg3__19zbarl_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MAFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR
+.weak b__MAFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR
 .type b__MAFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR,%object
 b__MAFg3__19zbarl_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR2vqR:
 .space __SIZEOF_POINTER__
@@ -9323,7 +9323,7 @@
 b__MGFp:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRR
+.weak b__MGIAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRR
 .type b__MGIAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRR,%object
 b__MGIAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRR:
 .space __SIZEOF_POINTER__
@@ -9343,7 +9343,7 @@
 b__MGFq:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVqqRRCqRRoG0_F5_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVqqRRCqRRoG0_F5_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVqqRRCqRRoG0_F5_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVqqRRCqRRoG0_F5_G_:
 nop
@@ -9353,7 +9353,7 @@
 b__MAFg3__115shgher_pngrtbelRi:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREq
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREq
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREq,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREq:
 nop
@@ -9378,17 +9378,17 @@
 b__MAFg3__16shgherViR3trgRi:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRP2RCAF_15onfvp_fgernzohsVpF2_RR
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRP2RCAF_15onfvp_fgernzohsVpF2_RR
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRP2RCAF_15onfvp_fgernzohsVpF2_RR,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRP2RCAF_15onfvp_fgernzohsVpF2_RR:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREr
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREr
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREr,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREr:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6frgohsRCpy
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6frgohsRCpy
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6frgohsRCpy,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6frgohsRCpy:
 nop
@@ -9423,7 +9423,7 @@
 b__MAFg3__112shgher_reebeP2RAF_10reebe_pbqrR:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREs
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREs
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREs,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREs:
 nop
@@ -9453,12 +9453,12 @@
 b__MGFt:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCAF_15onfvp_fgernzohsVpF2_RR
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCAF_15onfvp_fgernzohsVpF2_RR
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCAF_15onfvp_fgernzohsVpF2_RR,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRCAF_15onfvp_fgernzohsVpF2_RR:
 nop
 .data
-.globl b__MGVAFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGVAFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGVAFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGVAFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -9478,12 +9478,12 @@
 b__MAFg9rkprcgvbaQ1Ri:
 nop
 .data
-.globl b__MGFAFg3__115zrffntrf_olanzrVjRR
+.weak b__MGFAFg3__115zrffntrf_olanzrVjRR
 .type b__MGFAFg3__115zrffntrf_olanzrVjRR,%object
 b__MGFAFg3__115zrffntrf_olanzrVjRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR4svaqRjz
+.weak b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR4svaqRjz
 .type b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR4svaqRjz,%function
 b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR4svaqRjz:
 nop
@@ -9503,17 +9503,17 @@
 b__MGFv:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREv
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREv
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREv,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREv:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR6fragelP1REF3_
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR6fragelP1REF3_
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR6fragelP1REF3_,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRR6fragelP1REF3_:
 nop
 .text
-.globl b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ0Ri
+.weak b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ0Ri
 .type b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ0Ri,%function
 b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ0Ri:
 nop
@@ -9523,7 +9523,7 @@
 b__MAXFg3__17pbqrpigVpp9zofgngr_gR11qb_rapbqvatRi:
 nop
 .text
-.globl b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwF8_
+.weak b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwF8_
 .type b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwF8_,%function
 b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwF8_:
 nop
@@ -9543,17 +9543,17 @@
 b__MGIA10__pkknovi116__fuvz_glcr_vasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREw
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREw
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREw,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREw:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRP2RCAF_15onfvp_fgernzohsVpF2_RR
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRP2RCAF_15onfvp_fgernzohsVpF2_RR
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRP2RCAF_15onfvp_fgernzohsVpF2_RR,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRP2RCAF_15onfvp_fgernzohsVpF2_RR:
 nop
 .data
-.globl b__MGVAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRR
+.weak b__MGVAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRR
 .type b__MGVAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRR,%object
 b__MGVAFg3__19onfvp_vbfVjAF_11pune_genvgfVjRRRR:
 .space __SIZEOF_POINTER__
@@ -9573,7 +9573,7 @@
 b__MGVCXy:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__17__fbeg5VEAF_6__yrffVrrRRCrRRwG0_F5_F5_F5_F5_G_
+.weak b__MAFg3__17__fbeg5VEAF_6__yrffVrrRRCrRRwG0_F5_F5_F5_F5_G_
 .type b__MAFg3__17__fbeg5VEAF_6__yrffVrrRRCrRRwG0_F5_F5_F5_F5_G_,%function
 b__MAFg3__17__fbeg5VEAF_6__yrffVrrRRCrRRwG0_F5_F5_F5_F5_G_:
 nop
@@ -9588,17 +9588,17 @@
 b__MAFg3__115__guernq_fgehpg27__znxr_ernql_ng_guernq_rkvgRCAF_17__nffbp_fho_fgngrR:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR4ernqRCjy
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR4ernqRCjy
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR4ernqRCjy,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR4ernqRCjy:
 nop
 .data
-.globl b__MAFg3__18zrffntrfVjR2vqR
+.weak b__MAFg3__18zrffntrfVjR2vqR
 .type b__MAFg3__18zrffntrfVjR2vqR,%object
 b__MAFg3__18zrffntrfVjR2vqR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__117zbarlchapg_olanzrVjYo1RRR
+.weak b__MGIAFg3__117zbarlchapg_olanzrVjYo1RRR
 .type b__MGIAFg3__117zbarlchapg_olanzrVjYo1RRR,%object
 b__MGIAFg3__117zbarlchapg_olanzrVjYo1RRR:
 .space __SIZEOF_POINTER__
@@ -9618,7 +9618,7 @@
 b__MAFg3__124__yvopcc_qroht_rkprcgvbaQ2Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREy
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREy
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREy,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREy:
 nop
@@ -9643,7 +9643,7 @@
 b__MGFz:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREz
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREz
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREz,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREz:
 nop
@@ -9678,12 +9678,12 @@
 b__MAXFg3__120__pbqrpig_hgs8_hgs16VjR13qb_znk_yratguRi:
 nop
 .data
-.globl b__MGFAFg3__110pglcr_onfrR
+.weak b__MGFAFg3__110pglcr_onfrR
 .type b__MGFAFg3__110pglcr_onfrR,%object
 b__MGFAFg3__110pglcr_onfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP1REXF5_zzEXF4_
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP1REXF5_zzEXF4_
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP1REXF5_zzEXF4_,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP1REXF5_zzEXF4_:
 nop
@@ -9698,7 +9698,7 @@
 b__MGIFg9rkprcgvba:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__114pbqrpig_olanzrVpp9zofgngr_gRR
+.weak b__MGIAFg3__114pbqrpig_olanzrVpp9zofgngr_gRR
 .type b__MGIAFg3__114pbqrpig_olanzrVpp9zofgngr_gRR,%object
 b__MGIAFg3__114pbqrpig_olanzrVpp9zofgngr_gRR:
 .space __SIZEOF_POINTER__
@@ -9723,7 +9723,7 @@
 b__MAFg3__17pbqrpigVjp9zofgngr_gRP2Rz:
 nop
 .data
-.globl b__MGVAFg3__19__ahz_chgVjRR
+.weak b__MGVAFg3__19__ahz_chgVjRR
 .type b__MGVAFg3__19__ahz_chgVjRR,%object
 b__MGVAFg3__19__ahz_chgVjRR:
 .space __SIZEOF_POINTER__
@@ -9753,7 +9753,7 @@
 b__MAFg3__18__p_abqr5__nqqRCAF_8__v_abqrR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv:
 nop
@@ -9768,7 +9768,7 @@
 b__MAXFg3__15pglcrVjR11qb_fpna_abgRzCXjF3_:
 nop
 .data
-.globl b__MGFAFg3__120__gvzr_trg_p_fgbentrVpRR
+.weak b__MGFAFg3__120__gvzr_trg_p_fgbentrVpRR
 .type b__MGFAFg3__120__gvzr_trg_p_fgbentrVpRR,%object
 b__MGFAFg3__120__gvzr_trg_p_fgbentrVpRR:
 .space __SIZEOF_POINTER__
@@ -9798,7 +9798,7 @@
 b__MAFg9rkprcgvbaQ2Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREf
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREf
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREf,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREf:
 nop
@@ -9813,12 +9813,12 @@
 b__MGIFg11enatr_reebe:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREg
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREg
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREg,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREg:
 nop
 .text
-.globl b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ1Ri
+.weak b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ1Ri
 .type b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ1Ri,%function
 b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ1Ri:
 nop
@@ -9828,7 +9828,7 @@
 b__MAFg3__18vbf_onfr4VavgQ1Ri:
 nop
 .text
-.globl b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7pbzcnerRzzEXF5_zz
+.weak b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7pbzcnerRzzEXF5_zz
 .type b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7pbzcnerRzzEXF5_zz,%function
 b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7pbzcnerRzzEXF5_zz:
 nop
@@ -9848,7 +9848,7 @@
 b__MAXFg3__120__pbqrpig_hgs8_hgs16VQvR6qb_bhgRE9zofgngr_gCXQvF5_EF5_CpF7_EF7_:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR12__trg_zvahgrREvEF4_F4_EwEXAF_5pglcrVpRR
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR12__trg_zvahgrREvEF4_F4_EwEXAF_5pglcrVpRR
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR12__trg_zvahgrREvEF4_F4_EwEXAF_5pglcrVpRR,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR12__trg_zvahgrREvEF4_F4_EwEXAF_5pglcrVpRR:
 nop
@@ -9873,7 +9873,7 @@
 b__MGFFg11ybtvp_reebe:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGIAFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGIAFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGIAFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -9903,7 +9903,7 @@
 b__MAXFg3__18ahzchapgVjR11qb_gehranzrRi:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR17__trg_juvgr_fcnprREF4_F4_EwEXAF_5pglcrVjRR
+.weak b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR17__trg_juvgr_fcnprREF4_F4_EwEXAF_5pglcrVjRR
 .type b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR17__trg_juvgr_fcnprREF4_F4_EwEXAF_5pglcrVjRR,%function
 b__MAXFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR17__trg_juvgr_fcnprREF4_F4_EwEXAF_5pglcrVjRR:
 nop
@@ -9923,7 +9923,7 @@
 b__MGIAFg3__15pglcrVjRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRQ1Ri
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRQ1Ri
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRQ1Ri,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRQ1Ri:
 nop
@@ -9953,12 +9953,12 @@
 b__MGIFg10onq_glcrvq:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP1REXF5_
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP1REXF5_
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP1REXF5_,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP1REXF5_:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREk
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREk
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREk,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREk:
 nop
@@ -9983,12 +9983,12 @@
 b__MGFl:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREl
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREl
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREl,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRRefREl:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCSEF3_F4_R
+.weak b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCSEF3_F4_R
 .type b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCSEF3_F4_R,%function
 b__MAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRyfRCSEF3_F4_R:
 nop
@@ -10013,7 +10013,7 @@
 b__MGIAFg3__17pbqrpigVpp9zofgngr_gRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEo
+.weak b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEo
 .type b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEo,%function
 b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEo:
 nop
@@ -10038,7 +10038,7 @@
 b__MGIFg16arfgrq_rkprcgvba:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__115zrffntrf_olanzrVjRR
+.weak b__MGIAFg3__115zrffntrf_olanzrVjRR
 .type b__MGIAFg3__115zrffntrf_olanzrVjRR,%object
 b__MGIAFg3__115zrffntrf_olanzrVjRR:
 .space __SIZEOF_POINTER__
@@ -10058,47 +10058,47 @@
 b__MFg15trg_arj_unaqyrei:
 nop
 .text
-.globl b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEq
+.weak b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEq
 .type b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEq,%function
 b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEq:
 nop
 .data
-.globl b__MAFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR
+.weak b__MAFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR
 .type b__MAFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR,%object
 b__MAFg3__18gvzr_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MAFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR
+.weak b__MAFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR
 .type b__MAFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR,%object
 b__MAFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR2vqR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGFAFg3__19__ahz_chgVjRR
+.weak b__MGFAFg3__19__ahz_chgVjRR
 .type b__MGFAFg3__19__ahz_chgVjRR,%object
 b__MGFAFg3__19__ahz_chgVjRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR13svaq_svefg_bsRCXjzz
+.weak b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR13svaq_svefg_bsRCXjzz
 .type b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR13svaq_svefg_bsRCXjzz,%function
 b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR13svaq_svefg_bsRCXjzz:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR10chofrrxcbfRAF_4scbfV9zofgngr_gRRw
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR10chofrrxcbfRAF_4scbfV9zofgngr_gRRw
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR10chofrrxcbfRAF_4scbfV9zofgngr_gRRw,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR10chofrrxcbfRAF_4scbfV9zofgngr_gRRw:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVpYo0RR11qb_tebhcvatRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVpYo0RR11qb_tebhcvatRi
 .type b__MAXFg3__117zbarlchapg_olanzrVpYo0RR11qb_tebhcvatRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVpYo0RR11qb_tebhcvatRi:
 nop
 .text
-.globl b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEr
+.weak b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEr
 .type b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEr,%function
 b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEr:
 nop
 .text
-.globl b__MAFg3__19__ahz_chgVpR21__jvqra_naq_tebhc_vagRCpF2_F2_F2_EF2_F3_EXAF_6ybpnyrR
+.weak b__MAFg3__19__ahz_chgVpR21__jvqra_naq_tebhc_vagRCpF2_F2_F2_EF2_F3_EXAF_6ybpnyrR
 .type b__MAFg3__19__ahz_chgVpR21__jvqra_naq_tebhc_vagRCpF2_F2_F2_EF2_F3_EXAF_6ybpnyrR,%function
 b__MAFg3__19__ahz_chgVpR21__jvqra_naq_tebhc_vagRCpF2_F2_F2_EF2_F3_EXAF_6ybpnyrR:
 nop
@@ -10108,7 +10108,7 @@
 b__MAFg3__15fgbyqREXAF_12onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRRCz:
 nop
 .text
-.globl b__MAFg3__18inyneenlVzR6erfvmrRzz
+.weak b__MAFg3__18inyneenlVzR6erfvmrRzz
 .type b__MAFg3__18inyneenlVzR6erfvmrRzz,%function
 b__MAFg3__18inyneenlVzR6erfvmrRzz:
 nop
@@ -10118,7 +10118,7 @@
 b__MGFAFg3__117__nffbp_fho_fgngrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ2Ri
+.weak b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ2Ri
 .type b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ2Ri,%function
 b__MAFg3__114onfvp_vbfgernzVpAF_11pune_genvgfVpRRRQ2Ri:
 nop
@@ -10128,12 +10128,12 @@
 b__MAFg3__18vbf_onfr4VavgQ2Ri:
 nop
 .text
-.globl b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEs
+.weak b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEs
 .type b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEs,%function
 b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEs:
 nop
 .text
-.globl b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR4pbclRCpzz
+.weak b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR4pbclRCpzz
 .type b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR4pbclRCpzz,%function
 b__MAXFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR4pbclRCpzz:
 nop
@@ -10153,7 +10153,7 @@
 b__MGIAFg3__117__nffbp_fho_fgngrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGVAFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGVAFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGVAFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGVAFg3__18gvzr_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
@@ -10163,7 +10163,7 @@
 b__MAFg3__112fgefgernzohsP1RCSCizRCSiF1_R:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRQ2Ri
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRQ2Ri
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRQ2Ri,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRQ2Ri:
 nop
@@ -10193,7 +10193,7 @@
 b__MGIAFg3__18__p_abqrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVjYo0RR16qb_qrpvzny_cbvagRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVjYo0RR16qb_qrpvzny_cbvagRi
 .type b__MAXFg3__117zbarlchapg_olanzrVjYo0RR16qb_qrpvzny_cbvagRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVjYo0RR16qb_qrpvzny_cbvagRi:
 nop
@@ -10203,7 +10203,7 @@
 b__MAXFg3__17pbqrpigVpp9zofgngr_gR9qb_yratguREF1_CXpF5_z:
 nop
 .data
-.globl b__MGFAFg3__113zrffntrf_onfrR
+.weak b__MGFAFg3__113zrffntrf_onfrR
 .type b__MGFAFg3__113zrffntrf_onfrR,%object
 b__MGFAFg3__113zrffntrf_onfrR:
 .space __SIZEOF_POINTER__
@@ -10218,7 +10218,7 @@
 b__MAXFg3__15pglcrVpR10qb_gbhccreRp:
 nop
 .text
-.globl b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEy
+.weak b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEy
 .type b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEy,%function
 b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEy:
 nop
@@ -10228,7 +10228,7 @@
 b__MAXFg3__18ahzchapgVjR16qb_qrpvzny_cbvagRi:
 nop
 .text
-.globl b__MAXFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR3chgRF4_EAF_8vbf_onfrRjCX2gzCXjFP_
+.weak b__MAXFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR3chgRF4_EAF_8vbf_onfrRjCX2gzCXjFP_
 .type b__MAXFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR3chgRF4_EAF_8vbf_onfrRjCX2gzCXjFP_,%function
 b__MAXFg3__18gvzr_chgVjAF_19bfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR3chgRF4_EAF_8vbf_onfrRjCX2gzCXjFP_:
 nop
@@ -10243,12 +10243,12 @@
 b__MAFg3__16shgherViRQ1Ri:
 nop
 .text
-.globl b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEz
+.weak b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEz
 .type b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEz,%function
 b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEz:
 nop
 .text
-.globl b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7pbzcnerRCXj
+.weak b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7pbzcnerRCXj
 .type b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7pbzcnerRCXj,%function
 b__MAXFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7pbzcnerRCXj:
 nop
@@ -10263,7 +10263,7 @@
 b__MAFg3__18ahzchapgVpRP1Rz:
 nop
 .data
-.globl b__MGVAFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
+.weak b__MGVAFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR
 .type b__MGVAFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR,%object
 b__MGVAFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRRR:
 .space __SIZEOF_POINTER__
@@ -10278,7 +10278,7 @@
 b__MGVA10__pkknovi117__pynff_glcr_vasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR7fhatrgpRi
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR7fhatrgpRi
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR7fhatrgpRi,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR7fhatrgpRi:
 nop
@@ -10293,32 +10293,32 @@
 b__MGFQa:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR5frrxtRkAF_8vbf_onfr7frrxqveR
+.weak b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR5frrxtRkAF_8vbf_onfr7frrxqveR
 .type b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR5frrxtRkAF_8vbf_onfr7frrxqveR,%function
 b__MAFg3__113onfvp_vfgernzVjAF_11pune_genvgfVjRRR5frrxtRkAF_8vbf_onfr7frrxqveR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6fohzcpRi
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6fohzcpRi
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6fohzcpRi,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR6fohzcpRi:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR18__trg_qnl_lrne_ahzREvEF4_F4_EwEXAF_5pglcrVpRR
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR18__trg_qnl_lrne_ahzREvEF4_F4_EwEXAF_5pglcrVpRR
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR18__trg_qnl_lrne_ahzREvEF4_F4_EwEXAF_5pglcrVpRR,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR18__trg_qnl_lrne_ahzREvEF4_F4_EwEXAF_5pglcrVpRR:
 nop
 .data
-.globl b__MGIAFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
+.weak b__MGIAFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR
 .type b__MGIAFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR,%object
 b__MGIAFg3__17ahz_chgVpAF_19bfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6__vavgRCXjz
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6__vavgRCXjz
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6__vavgRCXjz,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6__vavgRCXjz:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP2REXF5_
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP2REXF5_
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP2REXF5_,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRP2REXF5_:
 nop
@@ -10343,17 +10343,17 @@
 b__MGVAFg3__18ahzchapgVjRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__18zrffntrfVpRR
+.weak b__MGIAFg3__18zrffntrfVpRR
 .type b__MGIAFg3__18zrffntrfVpRR,%object
 b__MGIAFg3__18zrffntrfVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRAF_11__jenc_vgreVCXpRRp
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRAF_11__jenc_vgreVCXpRRp
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRAF_11__jenc_vgreVCXpRRp,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRAF_11__jenc_vgreVCXpRRp:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6erfvmrRzj
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6erfvmrRzj
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6erfvmrRzj,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6erfvmrRzj:
 nop
@@ -10368,12 +10368,12 @@
 b__MAFg3__112cynprubyqref2_9R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__17pbyyngrVjR12qb_genafsbezRCXjF3_
+.weak b__MAXFg3__17pbyyngrVjR12qb_genafsbezRCXjF3_
 .type b__MAXFg3__17pbyyngrVjR12qb_genafsbezRCXjF3_,%function
 b__MAXFg3__17pbyyngrVjR12qb_genafsbezRCXjF3_:
 nop
 .data
-.globl b__MGFAFg3__110zbarlchapgVjYo1RRR
+.weak b__MGFAFg3__110zbarlchapgVjYo1RRR
 .type b__MGFAFg3__110zbarlchapgVjYo1RRR,%object
 b__MGFAFg3__110zbarlchapgVjYo1RRR:
 .space __SIZEOF_POINTER__
@@ -10393,17 +10393,17 @@
 b__MAXFg3__120__pbqrpig_hgs8_hgs16VQvR5qb_vaRE9zofgngr_gCXpF5_EF5_CQvF7_EF7_:
 nop
 .text
-.globl b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEg
+.weak b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEg
 .type b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEg,%function
 b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEg:
 nop
 .data
-.globl b__MAFg3__110zbarlchapgVjYo0RR2vqR
+.weak b__MAFg3__110zbarlchapgVjYo0RR2vqR
 .type b__MAFg3__110zbarlchapgVjYo0RR2vqR,%object
 b__MAFg3__110zbarlchapgVjYo0RR2vqR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__110zbarlchapgVjYo1RRR
+.weak b__MGIAFg3__110zbarlchapgVjYo1RRR
 .type b__MGIAFg3__110zbarlchapgVjYo1RRR,%object
 b__MGIAFg3__110zbarlchapgVjYo1RRR:
 .space __SIZEOF_POINTER__
@@ -10423,12 +10423,12 @@
 b__MAFg20onq_neenl_arj_yratguQ0Ri:
 nop
 .text
-.globl b__MajzFg11nyvta_iny_g
+.weak b__MajzFg11nyvta_iny_g
 .type b__MajzFg11nyvta_iny_g,%function
 b__MajzFg11nyvta_iny_g:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5fchgaRCXpy
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5fchgaRCXpy
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5fchgaRCXpy,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR5fchgaRCXpy:
 nop
@@ -10438,12 +10438,12 @@
 b__MAFg3__17pbqrpigVjp9zofgngr_gRP1RCXpz:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5cohzcRv
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5cohzcRv
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5cohzcRv,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR5cohzcRv:
 nop
 .text
-.globl b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEo
+.weak b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEo
 .type b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEo,%function
 b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEo:
 nop
@@ -10458,12 +10458,12 @@
 b__MAXFg3__114__pbqrpig_hgs8VjR10qb_hafuvsgRE9zofgngr_gCpF4_EF4_:
 nop
 .text
-.globl b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwF8_
+.weak b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwF8_
 .type b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwF8_,%function
 b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwF8_:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRzCXpz
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRzCXpz
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRzCXpz,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR6vafregRzCXpz:
 nop
@@ -10473,17 +10473,17 @@
 b__MAFg3__16shgherViRQ2Ri:
 nop
 .text
-.globl b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEk
+.weak b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEk
 .type b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEk,%function
 b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEk:
 nop
 .text
-.globl b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEq
+.weak b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEq
 .type b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEq,%function
 b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEq:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11qb_trg_gvzrRF4_F4_EAF_8vbf_onfrREwC2gz
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11qb_trg_gvzrRF4_F4_EAF_8vbf_onfrREwC2gz
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11qb_trg_gvzrRF4_F4_EAF_8vbf_onfrREwC2gz,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR11qb_trg_gvzrRF4_F4_EAF_8vbf_onfrREwC2gz:
 nop
@@ -10493,7 +10493,7 @@
 b__MGFAFg3__119__funerq_jrnx_pbhagR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRnFRj
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRnFRj
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRnFRj,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRnFRj:
 nop
@@ -10503,17 +10503,17 @@
 b__MAXFg3__15pglcrVpR10qb_gbybjreRCpCXp:
 nop
 .text
-.globl b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEl
+.weak b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEl
 .type b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEl,%function
 b__MAXFg3__17ahz_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEl:
 nop
 .text
-.globl b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEr
+.weak b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEr
 .type b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEr,%function
 b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEr:
 nop
 .text
-.globl b__MAFg3__114pbqrpig_olanzrVpp9zofgngr_gRQ0Ri
+.weak b__MAFg3__114pbqrpig_olanzrVpp9zofgngr_gRQ0Ri
 .type b__MAFg3__114pbqrpig_olanzrVpp9zofgngr_gRQ0Ri,%function
 b__MAFg3__114pbqrpig_olanzrVpp9zofgngr_gRQ0Ri:
 nop
@@ -10533,17 +10533,17 @@
 b__MAFg3__113funerq_shgherViRnFREXF1_:
 nop
 .text
-.globl b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEs
+.weak b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEs
 .type b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEs,%function
 b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEs:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7ercynprRzzCXp
+.weak b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7ercynprRzzCXp
 .type b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7ercynprRzzCXp,%function
 b__MAFg3__112onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7ercynprRzzCXp:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7ercynprRzzCXjz
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7ercynprRzzCXjz
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7ercynprRzzCXjz,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR7ercynprRzzCXjz:
 nop
@@ -10563,7 +10563,7 @@
 b__MGFAFg3__18vbf_onfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__19__ahz_trgVpR17__fgntr2_vag_ybbcRpvCpEF2_EwpEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCwEFQ_F2_
+.weak b__MAFg3__19__ahz_trgVpR17__fgntr2_vag_ybbcRpvCpEF2_EwpEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCwEFQ_F2_
 .type b__MAFg3__19__ahz_trgVpR17__fgntr2_vag_ybbcRpvCpEF2_EwpEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCwEFQ_F2_,%function
 b__MAFg3__19__ahz_trgVpR17__fgntr2_vag_ybbcRpvCpEF2_EwpEXAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCwEFQ_F2_:
 nop
@@ -10578,7 +10578,7 @@
 b__MAFg3__118pbaqvgvba_inevnoyrQ1Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR7trgyvarRCpy
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR7trgyvarRCpy
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR7trgyvarRCpy,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR7trgyvarRCpy:
 nop
@@ -10593,12 +10593,12 @@
 b__MGVAFg3__114pbyyngr_olanzrVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nccraqREXF5_zz
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nccraqREXF5_zz
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nccraqREXF5_zz,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRR6nccraqREXF5_zz:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgREAF_15onfvp_fgernzohsVpF2_RR
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgREAF_15onfvp_fgernzohsVpF2_RR
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgREAF_15onfvp_fgernzohsVpF2_RR,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR3trgREAF_15onfvp_fgernzohsVpF2_RR:
 nop
@@ -10613,7 +10613,7 @@
 b__MAFg3__17cebzvfrViRQ1Ri:
 nop
 .text
-.globl b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEy
+.weak b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEy
 .type b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEy,%function
 b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEy:
 nop
@@ -10623,17 +10623,17 @@
 b__MGIAFg3__116__aneebj_gb_hgs8VYz16RRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRR
+.weak b__MGGAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRR
 .type b__MGGAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRR,%object
 b__MGGAFg3__113onfvp_bfgernzVjAF_11pune_genvgfVjRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__110zbarlchapgVjYo0RR13qb_cbf_sbezngRi
+.weak b__MAXFg3__110zbarlchapgVjYo0RR13qb_cbf_sbezngRi
 .type b__MAXFg3__110zbarlchapgVjYo0RR13qb_cbf_sbezngRi,%function
 b__MAXFg3__110zbarlchapgVjYo0RR13qb_cbf_sbezngRi:
 nop
 .text
-.globl b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEz
+.weak b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEz
 .type b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEz,%function
 b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEz:
 nop
@@ -10658,7 +10658,7 @@
 b__MGIA10__pkknovi129__cbvagre_gb_zrzore_glcr_vasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MqyCi
+.weak b__MqyCi
 .type b__MqyCi,%function
 b__MqyCi:
 nop
@@ -10668,7 +10668,7 @@
 b__MAFg13rkprcgvba_cgeQ1Ri:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgernzohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
@@ -10693,7 +10693,7 @@
 b__MAXFg3__120__pbqrpig_hgs8_hgs16VQfR10qb_hafuvsgRE9zofgngr_gCpF4_EF4_:
 nop
 .text
-.globl b__MAFg3__114pbqrpig_olanzrVpp9zofgngr_gRQ1Ri
+.weak b__MAFg3__114pbqrpig_olanzrVpp9zofgngr_gRQ1Ri
 .type b__MAFg3__114pbqrpig_olanzrVpp9zofgngr_gRQ1Ri,%function
 b__MAFg3__114pbqrpig_olanzrVpp9zofgngr_gRQ1Ri:
 nop
@@ -10703,7 +10703,7 @@
 b__MAFg3__17pbqrpigVpp9zofgngr_gRQ0Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR5frrxtRkAF_8vbf_onfr7frrxqveR
+.weak b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR5frrxtRkAF_8vbf_onfr7frrxqveR
 .type b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR5frrxtRkAF_8vbf_onfr7frrxqveR,%function
 b__MAFg3__113onfvp_vfgernzVpAF_11pune_genvgfVpRRR5frrxtRkAF_8vbf_onfr7frrxqveR:
 nop
@@ -10713,17 +10713,17 @@
 b__MGVAFg3__115__pbqrpig_hgs16VQfYo0RRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRP1Ri
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRP1Ri
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRP1Ri,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRP1Ri:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRnFREXF3_
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRnFREXF3_
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRnFREXF3_,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRRnFREXF3_:
 nop
 .text
-.globl b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP2REXF5_EXF4_
+.weak b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP2REXF5_EXF4_
 .type b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP2REXF5_EXF4_,%function
 b__MAFg3__112onfvp_fgevatVjAF_11pune_genvgfVjRRAF_9nyybpngbeVjRRRP2REXF5_EXF4_:
 nop
@@ -10738,17 +10738,17 @@
 b__MAFg14biresybj_reebeQ1Ri:
 nop
 .text
-.globl b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR6fragelP1REF3_
+.weak b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR6fragelP1REF3_
 .type b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR6fragelP1REF3_,%function
 b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR6fragelP1REF3_:
 nop
 .text
-.globl b__MAXFg3__117zbarlchapg_olanzrVpYo1RR11qb_tebhcvatRi
+.weak b__MAXFg3__117zbarlchapg_olanzrVpYo1RR11qb_tebhcvatRi
 .type b__MAXFg3__117zbarlchapg_olanzrVpYo1RR11qb_tebhcvatRi,%function
 b__MAXFg3__117zbarlchapg_olanzrVpYo1RR11qb_tebhcvatRi:
 nop
 .text
-.globl b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR13__trg_12_ubheREvEF4_F4_EwEXAF_5pglcrVpRR
+.weak b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR13__trg_12_ubheREvEF4_F4_EwEXAF_5pglcrVpRR
 .type b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR13__trg_12_ubheREvEF4_F4_EwEXAF_5pglcrVpRR,%function
 b__MAXFg3__18gvzr_trgVpAF_19vfgernzohs_vgrengbeVpAF_11pune_genvgfVpRRRRR13__trg_12_ubheREvEF4_F4_EwEXAF_5pglcrVpRR:
 nop
@@ -10763,12 +10763,12 @@
 b__MAFg3__118pbaqvgvba_inevnoyrQ2Ri:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9fchgonpxpRj
+.weak b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9fchgonpxpRj
 .type b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9fchgonpxpRj,%function
 b__MAFg3__115onfvp_fgernzohsVjAF_11pune_genvgfVjRRR9fchgonpxpRj:
 nop
 .text
-.globl b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEg
+.weak b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEg
 .type b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEg,%function
 b__MAXFg3__17ahz_trgVjAF_19vfgernzohs_vgrengbeVjAF_11pune_genvgfVjRRRRR6qb_trgRF4_F4_EAF_8vbf_onfrREwEg:
 nop
@@ -10793,7 +10793,7 @@
 b__MAXFg3__17pbqrpigVQvp9zofgngr_gR6qb_bhgREF1_CXQvF5_EF5_CpF7_EF7_:
 nop
 .data
-.globl b__MGFAFg3__19gvzr_onfrR
+.weak b__MGFAFg3__19gvzr_onfrR
 .type b__MGFAFg3__19gvzr_onfrR,%object
 b__MGFAFg3__19gvzr_onfrR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_064.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_064.S
index 1fd0b83..78d530d 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_064.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_064.S
@@ -13,12 +13,12 @@
 b_zrzgenpx_cebp_bgure_gbgny:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner8zrzgenpx4I1_09VZrzgenpxRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner8zrzgenpx4I1_09VZrzgenpxRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner8zrzgenpx4I1_09VZrzgenpxRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner8zrzgenpx4I1_09VZrzgenpxRRQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner8zrzgenpx4I1_014ZrzgenpxErpbeqRAF_9nyybpngbeVF5_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner8zrzgenpx4I1_014ZrzgenpxErpbeqRAF_9nyybpngbeVF5_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner8zrzgenpx4I1_014ZrzgenpxErpbeqRAF_9nyybpngbeVF5_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner8zrzgenpx4I1_014ZrzgenpxErpbeqRAF_9nyybpngbeVF5_RRR8__nccraqRz:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_065.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_065.S
index 8701048..30f4284 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_065.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_065.S
@@ -3,37 +3,37 @@
 .data
 .p2align 4
 .text
-.globl b__MA7naqebvq4onfr19FraqSvyrQrfpevcgbefVWvRRRyAF0_11obeebjrq_sqRCXizQcBG_
+.weak b__MA7naqebvq4onfr19FraqSvyrQrfpevcgbefVWvRRRyAF0_11obeebjrq_sqRCXizQcBG_
 .type b__MA7naqebvq4onfr19FraqSvyrQrfpevcgbefVWvRRRyAF0_11obeebjrq_sqRCXizQcBG_,%function
 b__MA7naqebvq4onfr19FraqSvyrQrfpevcgbefVWvRRRyAF0_11obeebjrq_sqRCXizQcBG_:
 nop
 .text
-.globl b__MA7naqebvq4onfr8CnefrVagVvRRoCXpCG_F4_F4_
+.weak b__MA7naqebvq4onfr8CnefrVagVvRRoCXpCG_F4_F4_
 .type b__MA7naqebvq4onfr8CnefrVagVvRRoCXpCG_F4_F4_,%function
 b__MA7naqebvq4onfr8CnefrVagVvRRoCXpCG_F4_F4_:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVvEF2_RRCv
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVvEF2_RRCv
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVvEF2_RRCv,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVvEF2_RRCv:
 nop
 .text
-.globl b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
+.weak b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
 .type b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR,%function
 b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR:
 nop
 .data
-.globl b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVvEF2_RR
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVvEF2_RR
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVvEF2_RR,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVvEF2_RR:
 nop
@@ -43,22 +43,22 @@
 b__M22qrohttreq_gevttre_qhzcv17QrohttreqQhzcGlcrwA7naqebvq4onfr14havdhr_sq_vzcyVAF1_13QrsnhygPybfreRRR:
 nop
 .text
-.globl b__MA7naqebvq8cebpvasb27TrgCebprffGvqfSebzCebpCvqSqVAFg3__16irpgbeVvAF2_9nyybpngbeVvRRRRRRAF2_9ranoyr_vsVKtrfgAG_10inyhr_glcrRYz4RRoR4glcrRvCF8_CAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF4_VpRRRR
+.weak b__MA7naqebvq8cebpvasb27TrgCebprffGvqfSebzCebpCvqSqVAFg3__16irpgbeVvAF2_9nyybpngbeVvRRRRRRAF2_9ranoyr_vsVKtrfgAG_10inyhr_glcrRYz4RRoR4glcrRvCF8_CAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF4_VpRRRR
 .type b__MA7naqebvq8cebpvasb27TrgCebprffGvqfSebzCebpCvqSqVAFg3__16irpgbeVvAF2_9nyybpngbeVvRRRRRRAF2_9ranoyr_vsVKtrfgAG_10inyhr_glcrRYz4RRoR4glcrRvCF8_CAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF4_VpRRRR,%function
 b__MA7naqebvq8cebpvasb27TrgCebprffGvqfSebzCebpCvqSqVAFg3__16irpgbeVvAF2_9nyybpngbeVvRRRRRRAF2_9ranoyr_vsVKtrfgAG_10inyhr_glcrRYz4RRoR4glcrRvCF8_CAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF4_VpRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6vafregRAF_11__jenc_vgreVCXvRREF5_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6vafregRAF_11__jenc_vgreVCXvRREF5_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6vafregRAF_11__jenc_vgreVCXvRREF5_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6vafregRAF_11__jenc_vgreVCXvRREF5_:
 nop
 .data
-.globl b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -78,37 +78,37 @@
 b__M30qhzc_onpxgenpr_gb_svyr_gvzrbhgv17QrohttreqQhzcGlcrvv:
 nop
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -118,22 +118,22 @@
 b__M15trg_guernq_anzrv:
 nop
 .text
-.globl b__MA7naqebvq8cebpvasb14TrgCebprffGvqfVAFg3__16irpgbeVvAF2_9nyybpngbeVvRRRRRRAF2_9ranoyr_vsVKtrfgAG_10inyhr_glcrRYz4RRoR4glcrRvCF8_CAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF4_VpRRRR
+.weak b__MA7naqebvq8cebpvasb14TrgCebprffGvqfVAFg3__16irpgbeVvAF2_9nyybpngbeVvRRRRRRAF2_9ranoyr_vsVKtrfgAG_10inyhr_glcrRYz4RRoR4glcrRvCF8_CAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF4_VpRRRR
 .type b__MA7naqebvq8cebpvasb14TrgCebprffGvqfVAFg3__16irpgbeVvAF2_9nyybpngbeVvRRRRRRAF2_9ranoyr_vsVKtrfgAG_10inyhr_glcrRYz4RRoR4glcrRvCF8_CAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF4_VpRRRR,%function
 b__MA7naqebvq8cebpvasb14TrgCebprffGvqfVAFg3__16irpgbeVvAF2_9nyybpngbeVvRRRRRRAF2_9ranoyr_vsVKtrfgAG_10inyhr_glcrRYz4RRoR4glcrRvCF8_CAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF4_VpRRRR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR12__zbir_enatrRCvF4_F4_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR12__zbir_enatrRCvF4_F4_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR12__zbir_enatrRCvF4_F4_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR12__zbir_enatrRCvF4_F4_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_066.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_066.S
index b8823de..53a2538 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_066.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_066.S
@@ -28,7 +28,7 @@
 b__MA7naqebvq11TencuvpfRai11trgVafgnaprRi:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_15TchFgngfNccVasbRRRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR
+.weak b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_15TchFgngfNccVasbRRRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR
 .type b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_15TchFgngfNccVasbRRRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR,%function
 b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_15TchFgngfNccVasbRRRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR:
 nop
@@ -38,12 +38,12 @@
 b__MA7naqebvq11TencuvpfRai13frgYnlreCngufRCAF_21AngvirYbnqreAnzrfcnprRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_11VTchFreivprRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_11VTchFreivprRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_11VTchFreivprRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_11VTchFreivprRR10baNfOvaqreRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15TchFgngfNccVasbRAF_9nyybpngbeVF2_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF2_EF4_RR
+.weak b__MAFg3__16irpgbeVA7naqebvq15TchFgngfNccVasbRAF_9nyybpngbeVF2_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF2_EF4_RR
 .type b__MAFg3__16irpgbeVA7naqebvq15TchFgngfNccVasbRAF_9nyybpngbeVF2_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF2_EF4_RR,%function
 b__MAFg3__16irpgbeVA7naqebvq15TchFgngfNccVasbRAF_9nyybpngbeVF2_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF2_EF4_RR:
 nop
@@ -63,7 +63,7 @@
 b__MA7naqebvq11VTchFreivprQ2Ri:
 nop
 .text
-.globl b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_18TchFgngfTybonyVasbRRRvEXAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR
+.weak b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_18TchFgngfTybonyVasbRRRvEXAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR
 .type b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_18TchFgngfTybonyVasbRRRvEXAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR,%function
 b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_18TchFgngfTybonyVasbRRRvEXAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR:
 nop
@@ -133,7 +133,7 @@
 b__MGIA7naqebvq11VTchFreivprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq12OcTchFreivprR
+.weak b__MGIA7naqebvq12OcTchFreivprR
 .type b__MGIA7naqebvq12OcTchFreivprR,%object
 b__MGIA7naqebvq12OcTchFreivprR:
 .space __SIZEOF_POINTER__
@@ -148,7 +148,7 @@
 b__MGPA7naqebvq12OaTchFreivprR0_AF_11VTchFreivprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq12OcTchFreivprR0_AF_11OcVagresnprVAF_11VTchFreivprRRR
+.weak b__MGPA7naqebvq12OcTchFreivprR0_AF_11OcVagresnprVAF_11VTchFreivprRRR
 .type b__MGPA7naqebvq12OcTchFreivprR0_AF_11OcVagresnprVAF_11VTchFreivprRRR,%object
 b__MGPA7naqebvq12OcTchFreivprR0_AF_11OcVagresnprVAF_11VTchFreivprRRR:
 .space __SIZEOF_POINTER__
@@ -193,7 +193,7 @@
 b__MAX7naqebvq11VTchFreivpr22trgVagresnprQrfpevcgbeRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15TchFgngfNccVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq15TchFgngfNccVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq15TchFgngfNccVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq15TchFgngfNccVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz:
 nop
@@ -203,7 +203,7 @@
 b__MGPA7naqebvq12OaTchFreivprR0_AF_11OaVagresnprVAF_11VTchFreivprRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq12OcTchFreivprR0_AF_11VTchFreivprR
+.weak b__MGPA7naqebvq12OcTchFreivprR0_AF_11VTchFreivprR
 .type b__MGPA7naqebvq12OcTchFreivprR0_AF_11VTchFreivprR,%object
 b__MGPA7naqebvq12OcTchFreivprR0_AF_11VTchFreivprR:
 .space __SIZEOF_POINTER__
@@ -228,17 +228,17 @@
 b__MA7naqebvq11TencuvpfRai18uvagNpgvivglYnhapuRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_15VErfhygErprvireRRRvCAF_2fcVG_RR
+.weak b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_15VErfhygErprvireRRRvCAF_2fcVG_RR
 .type b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_15VErfhygErprvireRRRvCAF_2fcVG_RR,%function
 b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_15VErfhygErprvireRRRvCAF_2fcVG_RR:
 nop
 .data
-.globl b__MGPA7naqebvq12OcTchFreivprR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq12OcTchFreivprR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq12OcTchFreivprR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq12OcTchFreivprR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -308,7 +308,7 @@
 b__MA7naqebvq11VTchFreivpr10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq18TchFgngfTybonyVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq18TchFgngfTybonyVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq18TchFgngfTybonyVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq18TchFgngfTybonyVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz:
 nop
@@ -318,7 +318,7 @@
 b__MGPA7naqebvq12OaTchFreivprR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq12OcTchFreivprR
+.weak b__MGGA7naqebvq12OcTchFreivprR
 .type b__MGGA7naqebvq12OcTchFreivprR,%object
 b__MGGA7naqebvq12OcTchFreivprR:
 .space __SIZEOF_POINTER__
@@ -338,7 +338,7 @@
 b__MA7naqebvq11TencuvpfRai14frgGnetrgFgngfRAF0_5FgngfRz:
 nop
 .text
-.globl b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_15TchFgngfNccVasbRRRvEXAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR
+.weak b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_15TchFgngfNccVasbRRRvEXAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR
 .type b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_15TchFgngfNccVasbRRRvEXAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR,%function
 b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_15TchFgngfNccVasbRRRvEXAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR:
 nop
@@ -358,12 +358,12 @@
 b__MA7naqebvq11TencuvpfRai25yvaxQevireAnzrfcnprYbpxrqRC19naqebvq_anzrfcnpr_g:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_18TchFgngfTybonyVasbRRRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR
+.weak b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_18TchFgngfTybonyVasbRRRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR
 .type b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_18TchFgngfTybonyVasbRRRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR,%function
 b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_18TchFgngfTybonyVasbRRRvCAFg3__16irpgbeVG_AF3_9nyybpngbeVF5_RRRR:
 nop
 .data
-.globl b__MGPA7naqebvq12OcTchFreivprR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq12OcTchFreivprR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq12OcTchFreivprR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq12OcTchFreivprR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_067.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_067.S
index f63ac42..8574ef7 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_067.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_067.S
@@ -58,12 +58,12 @@
 b__MA7naqebvq16FrafbeRiragDhrhrQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq10trgFreivprVAF_13VFrafbeFreireRRRvEXAF_8Fgevat16RCAF_2fcVG_RR
+.weak b__MA7naqebvq10trgFreivprVAF_13VFrafbeFreireRRRvEXAF_8Fgevat16RCAF_2fcVG_RR
 .type b__MA7naqebvq10trgFreivprVAF_13VFrafbeFreireRRRvEXAF_8Fgevat16RCAF_2fcVG_RR,%function
 b__MA7naqebvq10trgFreivprVAF_13VFrafbeFreireRRRvEXAF_8Fgevat16RCAF_2fcVG_RR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz:
 nop
@@ -73,12 +73,12 @@
 b__MGua8_A7naqebvq23OaFrafbeRiragPbaarpgvba10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz:
 nop
@@ -88,7 +88,7 @@
 b__MAX7naqebvq6Frafbe21trgErdhverqCrezvffvbaRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR:
 nop
@@ -233,7 +233,7 @@
 b__MGGA7naqebvq23OcFrafbeRiragPbaarpgvbaR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -248,7 +248,7 @@
 b__MA7naqebvq6Frafbe14synggraFgevat8RECiEzEXAF_7Fgevat8R:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -288,7 +288,7 @@
 b__MGi0_a24_A7naqebvq22VFrafbeRiragPbaarpgvbaQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR8qb_fcyngRCiCXiz:
 nop
@@ -298,7 +298,7 @@
 b__MA7naqebvq22VFrafbeRiragPbaarpgvbaP2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -308,12 +308,12 @@
 b__MA7naqebvq23OcFrafbeRiragPbaarpgvbaQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz:
 nop
@@ -363,7 +363,7 @@
 b__MA7naqebvq13VFrafbeFreire11nfVagresnprREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVsRR
+.weak b__MGIA7naqebvq6IrpgbeVsRR
 .type b__MGIA7naqebvq6IrpgbeVsRR,%object
 b__MGIA7naqebvq6IrpgbeVsRR:
 .space __SIZEOF_POINTER__
@@ -373,7 +373,7 @@
 b__MAX7naqebvq6Frafbe7trgAnzrRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz:
 nop
@@ -383,7 +383,7 @@
 b__MA7naqebvq14OcFrafbeFreireQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVsR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVsR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVsR8qb_fcyngRCiCXiz:
 nop
@@ -393,7 +393,7 @@
 b__MGua8_A7naqebvq14OcFrafbeFreireQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz:
 nop
@@ -408,7 +408,7 @@
 b__MAX7naqebvq22VFrafbeRiragPbaarpgvba22trgVagresnprQrfpevcgbeRi:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_13VFrafbeFreireRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_13VFrafbeFreireRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_13VFrafbeFreireRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_13VFrafbeFreireRR10baNfOvaqreRi:
 nop
@@ -423,7 +423,7 @@
 b__MGPA7naqebvq14OaFrafbeFreireR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_6FrafbeRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_6FrafbeRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_6FrafbeRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_6FrafbeRRR:
 .space __SIZEOF_POINTER__
@@ -478,12 +478,12 @@
 b__MA7naqebvq14OaFrafbeFreire10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVsR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVsR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVsR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_8Fgevat16RRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_8Fgevat16RRR
 .type b__MGIA7naqebvq6IrpgbeVAF_8Fgevat16RRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_8Fgevat16RRR:
 .space __SIZEOF_POINTER__
@@ -523,17 +523,17 @@
 b__MA7naqebvq13FrafbeZnantreQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_22VFrafbeRiragPbaarpgvbaRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_22VFrafbeRiragPbaarpgvbaRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_22VFrafbeRiragPbaarpgvbaRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_22VFrafbeRiragPbaarpgvbaRR10baNfOvaqreRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -558,7 +558,7 @@
 b__MGIA7naqebvq14OcFrafbeFreireR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz:
 nop
@@ -603,7 +603,7 @@
 b__MA7naqebvq13FrafbeZnantreP2REXAF_8Fgevat16R:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RCAF2_13FrafbeZnantreRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFV_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RCAF2_13FrafbeZnantreRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFV_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RCAF2_13FrafbeZnantreRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFV_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RCAF2_13FrafbeZnantreRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFV_RREXG_:
 nop
@@ -618,12 +618,12 @@
 b__MA7naqebvq13VFrafbeFreire12qrsnhyg_vzcyR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RCAF2_13FrafbeZnantreRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RCAF2_13FrafbeZnantreRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RCAF2_13FrafbeZnantreRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RCAF2_13FrafbeZnantreRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
@@ -638,7 +638,7 @@
 b__MA7naqebvq22VFrafbeRiragPbaarpgvbaQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVsR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVsR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVsR10qb_qrfgeblRCiz:
 nop
@@ -688,7 +688,7 @@
 b__MA7naqebvq7OvgGhorQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -708,7 +708,7 @@
 b__MA7naqebvq13FrafbeZnantre5fYbpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RCAF2_13FrafbeZnantreRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RCAF2_13FrafbeZnantreRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RCAF2_13FrafbeZnantreRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RCAF2_13FrafbeZnantreRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR4svaqVF3_RRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRREXG_:
 nop
@@ -748,7 +748,7 @@
 b__MGIA7naqebvq14OaFrafbeFreireR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVvWEvEF5_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVvWEvEF5_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVvWEvEF5_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVvWEvEF5_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_:
 nop
@@ -758,12 +758,12 @@
 b__MA7naqebvq22VFrafbeRiragPbaarpgvba14trgQrsnhygVzcyRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVsR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVsR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVsR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVsR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVsR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVsR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -773,12 +773,12 @@
 b__MAX7naqebvq6Frafbe13trgZvaQrynlAfRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -813,12 +813,12 @@
 b__MA7naqebvq13VFrafbeFreireQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_6FrafbeRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR8qb_fcyngRCiCXiz:
 nop
@@ -908,7 +908,7 @@
 b__MAX7naqebvq7OvgGhor9trgFraqSqRi:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVvRR
+.weak b__MGIA7naqebvq6IrpgbeVvRR
 .type b__MGIA7naqebvq6IrpgbeVvRR,%object
 b__MGIA7naqebvq6IrpgbeVvRR:
 .space __SIZEOF_POINTER__
@@ -958,12 +958,12 @@
 b__MA7naqebvq13VFrafbeFreireQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_15VErfhygErprvireRRRvCAF_2fcVG_RR
+.weak b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_15VErfhygErprvireRRRvCAF_2fcVG_RR
 .type b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_15VErfhygErprvireRRRvCAF_2fcVG_RR,%function
 b__MAX7naqebvq6Cnepry24ernqAhyynoyrFgebatOvaqreVAF_15VErfhygErprvireRRRvCAF_2fcVG_RR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVsR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVsR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVsR7qb_pbclRCiCXiz:
 nop
@@ -988,7 +988,7 @@
 b__MA7naqebvq13FrafbeZnantre20qrfgeblQverpgPunaaryRv:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVvRRzEXG_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVvRRzEXG_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVvRRzEXG_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq2fcVAF2_22VFrafbeRiragPbaarpgvbaRRRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVvRRzEXG_:
 nop
@@ -1053,7 +1053,7 @@
 b__MA7naqebvq13FrafbeZnantre22pbasvtherQverpgPunaaryRvvv:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RCAF2_13FrafbeZnantreRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF3_WAF_4cnveVF3_F5_RRRRRAFS_VAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RCAF2_13FrafbeZnantreRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF3_WAF_4cnveVF3_F5_RRRRRAFS_VAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RCAF2_13FrafbeZnantreRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF3_WAF_4cnveVF3_F5_RRRRRAFS_VAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq8Fgevat16RCAF2_13FrafbeZnantreRRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF3_WAF_4cnveVF3_F5_RRRRRAFS_VAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -1063,7 +1063,7 @@
 b__MA7naqebvq7OvgGhor11erpiBowrpgfREXAF_2fcVF0_RRCizz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR10qb_qrfgeblRCiz:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_068.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_068.S
index 8429df2..f560f65 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_068.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_068.S
@@ -73,7 +73,7 @@
 b__MAX7naqebvq16PnzrenCnenzrgref7synggraRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -138,12 +138,12 @@
 b__MA7naqebvq29VPnzrenErpbeqvatCebklYvfgrareQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_21VPnzrenErpbeqvatCebklRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_21VPnzrenErpbeqvatCebklRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_21VPnzrenErpbeqvatCebklRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_21VPnzrenErpbeqvatCebklRR10baNfOvaqreRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregVCXvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCwRRR4glcrRAFP_VCXwRRF8_F8_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregVCXvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCwRRR4glcrRAFP_VCXwRRF8_F8_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregVCXvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCwRRR4glcrRAFP_VCXwRRF8_F8_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregVCXvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCwRRR4glcrRAFP_VCXwRRF8_F8_:
 nop
@@ -233,12 +233,12 @@
 b__MA7naqebvq8uneqjner7pnzren217VPnzrenQrivprHfreQ0Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren214PncgherErdhrfgRAF_9nyybpngbeVF4_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren214PncgherErdhrfgRAF_9nyybpngbeVF4_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren214PncgherErdhrfgRAF_9nyybpngbeVF4_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren214PncgherErdhrfgRAF_9nyybpngbeVF4_RRR8__nccraqRz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -248,7 +248,7 @@
 b__MA7naqebvq8uneqjner26VPnzrenFreivprCebklQrsnhyg10baNfOvaqreRi:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbRRRvCAFg3__16irpgbeVG_AF6_9nyybpngbeVF8_RRRR
+.weak b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbRRRvCAFg3__16irpgbeVG_AF6_9nyybpngbeVF8_RRRR
 .type b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbRRRvCAFg3__16irpgbeVG_AF6_9nyybpngbeVF8_RRRR,%function
 b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbRRRvCAFg3__16irpgbeVG_AF6_9nyybpngbeVF8_RRRR:
 nop
@@ -273,7 +273,7 @@
 b__MA7naqebvq8uneqjner10PnzrenVasb14ernqSebzCnepryRCXAF_6CnepryR:
 nop
 .data
-.globl b__MGPA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRR0_AF_7VOvaqre14QrnguErpvcvragR
+.weak b__MGPA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRR0_AF_7VOvaqre14QrnguErpvcvragR
 .type b__MGPA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRR0_AF_7VOvaqre14QrnguErpvcvragR,%object
 b__MGPA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRR0_AF_7VOvaqre14QrnguErpvcvragR:
 .space __SIZEOF_POINTER__
@@ -298,7 +298,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner7VPnzrenQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_8uneqjner12PnzrenFgnghfRRRvEXAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR
+.weak b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_8uneqjner12PnzrenFgnghfRRRvEXAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR
 .type b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_8uneqjner12PnzrenFgnghfRRRvEXAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR,%function
 b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_8uneqjner12PnzrenFgnghfRRRvEXAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR:
 nop
@@ -318,7 +318,7 @@
 b__MA7naqebvq8uneqjner23OcPnzrenFreivprYvfgrareP2REXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz:
 nop
@@ -413,7 +413,7 @@
 b__MGPA7naqebvq6PnzrenR80_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner22VPnzrenFreivprYvfgrareRRRvCAF_2fcVG_RR
+.weak b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner22VPnzrenFreivprYvfgrareRRRvCAF_2fcVG_RR
 .type b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner22VPnzrenFreivprYvfgrareRRRvCAF_2fcVG_RR,%function
 b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner22VPnzrenFreivprYvfgrareRRRvCAF_2fcVG_RR:
 nop
@@ -453,12 +453,12 @@
 b__MA7naqebvq16PnzrenCnenzrgrefP2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVC13angvir_unaqyrAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVC13angvir_unaqyrAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVC13angvir_unaqyrAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVC13angvir_unaqyrAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -483,7 +483,7 @@
 b__MA7naqebvq8uneqjner7pnzren224VPnzrenQrivprHfreQrsnhyg17perngrVachgFgernzRvvvCv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR10qb_qrfgeblRCiz:
 nop
@@ -513,7 +513,7 @@
 b__MGIA7naqebvq8uneqjner7VPnzrenR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR18trgAhzoreBsPnzrenfRi
+.weak b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR18trgAhzoreBsPnzrenfRi
 .type b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR18trgAhzoreBsPnzrenfRi,%function
 b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR18trgAhzoreBsPnzrenfRi:
 nop
@@ -583,12 +583,12 @@
 b__MAX7naqebvq13PncgherErfhyg13jevgrGbCnepryRCAF_6CnepryR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR10qb_pbzcnerRCXiF6_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR10qb_pbzcnerRCXiF6_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR10qb_pbzcnerRCXiF6_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR10qb_pbzcnerRCXiF6_:
 nop
@@ -643,7 +643,7 @@
 b__MAX7naqebvq8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvba9tocfRdhnyREXF3_:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRRR:
 .space __SIZEOF_POINTER__
@@ -678,7 +678,7 @@
 b__MA7naqebvq8uneqjner20OcPnzrenFreivprCebklP2REXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVA7naqebvq8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbREAF_9nyybpngbeVF5_RRR12rzcynpr_onpxVWEAF1_8Fgevat16REAF1_14PnzrenZrgnqngnRRRRiQcBG_
+.weak b__MAFg3__114__fcyvg_ohssreVA7naqebvq8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbREAF_9nyybpngbeVF5_RRR12rzcynpr_onpxVWEAF1_8Fgevat16REAF1_14PnzrenZrgnqngnRRRRiQcBG_
 .type b__MAFg3__114__fcyvg_ohssreVA7naqebvq8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbREAF_9nyybpngbeVF5_RRR12rzcynpr_onpxVWEAF1_8Fgevat16REAF1_14PnzrenZrgnqngnRRRRiQcBG_,%function
 b__MAFg3__114__fcyvg_ohssreVA7naqebvq8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbREAF_9nyybpngbeVF5_RRR12rzcynpr_onpxVWEAF1_8Fgevat16REAF1_14PnzrenZrgnqngnRRRRiQcBG_:
 nop
@@ -693,12 +693,12 @@
 b__MA7naqebvq14PnzrenZrgnqngn9purpxGlcrRwu:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR8qb_fcyngRCiCXiz:
 nop
@@ -718,12 +718,12 @@
 b__MA7naqebvq8uneqjner7pnzren224VPnzrenQrivprHfreQrsnhyg17fhozvgErdhrfgYvfgREXAFg3__16irpgbeVAF1_14PncgherErdhrfgRAF3_9nyybpngbeVF5_RRRRoCAF1_5hgvyf10FhozvgVasbR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVwRR
+.weak b__MGIA7naqebvq6IrpgbeVwRR
 .type b__MGIA7naqebvq6IrpgbeVwRR,%object
 b__MGIA7naqebvq6IrpgbeVwRR:
 .space __SIZEOF_POINTER__
@@ -748,12 +748,12 @@
 b__MA7naqebvq16PnzrenCnenzrgref3frgRCXpF2_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR10qb_pbzcnerRCXiF6_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR10qb_pbzcnerRCXiF6_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR10qb_pbzcnerRCXiF6_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR10qb_pbzcnerRCXiF6_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR8qb_fcyngRCiCXiz:
 nop
@@ -798,7 +798,7 @@
 b__MA7naqebvq16PnzrenCnenzrgref17FPRAR_ZBQR_FHAFRGR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_24IraqbeGntQrfpevcgbePnpurRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_24IraqbeGntQrfpevcgbePnpurRRQ2Ri
 .type b__MA7naqebvq2fcVAF_24IraqbeGntQrfpevcgbePnpurRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_24IraqbeGntQrfpevcgbePnpurRRQ2Ri:
 nop
@@ -843,12 +843,12 @@
 b__MA7naqebvq16PnzrenCnenzrgref19CVKRY_SBEZNG_ETO565R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRRRvEXAFg3__16irpgbeVG_AF6_9nyybpngbeVF8_RRRR
+.weak b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRRRvEXAFg3__16irpgbeVG_AF6_9nyybpngbeVF8_RRRR
 .type b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRRRvEXAFg3__16irpgbeVG_AF6_9nyybpngbeVF8_RRRR,%function
 b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRRRvEXAFg3__16irpgbeVG_AF6_9nyybpngbeVF8_RRRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR10qb_qrfgeblRCiz:
 nop
@@ -903,7 +903,7 @@
 b__MA7naqebvq16PnzrenCnenzrgref25XRL_FHCCBEGRQ_FPRAR_ZBQRFR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq19IraqbeGntQrfpevcgbeR
+.weak b__MGIA7naqebvq19IraqbeGntQrfpevcgbeR
 .type b__MGIA7naqebvq19IraqbeGntQrfpevcgbeR,%object
 b__MGIA7naqebvq19IraqbeGntQrfpevcgbeR:
 .space __SIZEOF_POINTER__
@@ -943,17 +943,17 @@
 b__MA7naqebvq16PnzrenCnenzrgref15RSSRPG_FBYNEVMRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8uneqjner8OcPnzrenR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq8uneqjner8OcPnzrenR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq8uneqjner8OcPnzrenR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq8uneqjner8OcPnzrenR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq4ivrj7FhesnprRAF_9nyybpngbeVF3_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq4ivrj7FhesnprRAF_9nyybpngbeVF3_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq4ivrj7FhesnprRAF_9nyybpngbeVF3_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq4ivrj7FhesnprRAF_9nyybpngbeVF3_RRR8__nccraqRz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR12qb_pbafgehpgRCiz:
 nop
@@ -1033,7 +1033,7 @@
 b__MA7naqebvq8uneqjner7pnzren214PncgherErdhrfgP2RBF2_:
 nop
 .data
-.globl b__MGIA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRR
+.weak b__MGIA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRR
 .type b__MGIA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRR,%object
 b__MGIA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRR:
 .space __SIZEOF_POINTER__
@@ -1083,7 +1083,7 @@
 b__MGIA7naqebvq22OaPnzrenErpbeqvatCebklR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR10qb_qrfgeblRCiz:
 nop
@@ -1128,7 +1128,7 @@
 b__MA7naqebvq16PnzrenCnenzrgref26JUVGR_ONYNAPR_VAPNAQRFPRAGR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR7qb_pbclRCiCXiz:
 nop
@@ -1143,7 +1143,7 @@
 b__MGPA7naqebvq8uneqjner14OaPnzrenPyvragR0_AF_11OaVagresnprVAF0_13VPnzrenPyvragRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -1193,7 +1193,7 @@
 b__MA7naqebvq17PnzrenCnenzrgref2Q2Ri:
 nop
 .data
-.globl b__MGGA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR
+.weak b__MGGA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR
 .type b__MGGA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR,%object
 b__MGGA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR:
 .space __SIZEOF_POINTER__
@@ -1203,7 +1203,7 @@
 b__MGPA7naqebvq8uneqjner7pnzren222VPnzrenQrivprPnyyonpxfR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ2Ri
+.weak b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ2Ri
 .type b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ2Ri,%function
 b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ2Ri:
 nop
@@ -1223,12 +1223,12 @@
 b__MA7naqebvq16PnzrenCnenzrgref20CVKRY_SBEZNG_LHI422VR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR12qb_pbafgehpgRCiz:
 nop
@@ -1253,7 +1253,7 @@
 b__MA7naqebvq6Pnzren14fgnegErpbeqvatRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1263,12 +1263,12 @@
 b__MA7naqebvq6Pnzren21eryrnfrErpbeqvatSenzrREXAF_2fcVAF_7VZrzbelRRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVwR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVwR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVwR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVwR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1278,7 +1278,7 @@
 b__MGIA7naqebvq8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR7erfreirRz
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR7erfreirRz
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR7erfreirRz,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR7erfreirRz:
 nop
@@ -1308,12 +1308,12 @@
 b__MA7naqebvq16PnzrenCnenzrgref16frgCerivrjSbezngRCXp:
 nop
 .data
-.globl b__MGIA7naqebvq22OcPnzrenErpbeqvatCebklR
+.weak b__MGIA7naqebvq22OcPnzrenErpbeqvatCebklR
 .type b__MGIA7naqebvq22OcPnzrenErpbeqvatCebklR,%object
 b__MGIA7naqebvq22OcPnzrenErpbeqvatCebklR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA7naqebvq2fcVAF2_19IraqbeGntQrfpevcgbeRRRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVzWEzEF5_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA7naqebvq2fcVAF2_19IraqbeGntQrfpevcgbeRRRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVzWEzEF5_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA7naqebvq2fcVAF2_19IraqbeGntQrfpevcgbeRRRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVzWEzEF5_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA7naqebvq2fcVAF2_19IraqbeGntQrfpevcgbeRRRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVzWEzEF5_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_:
 nop
@@ -1343,7 +1343,7 @@
 b__MA7naqebvq8uneqjner23OcPnzrenFreivprYvfgrare31baPnzrenNpprffCevbevgvrfPunatrqRi:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_8uneqjner7pnzren217VPnzrenQrivprHfreRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_8uneqjner7pnzren217VPnzrenQrivprHfreRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_8uneqjner7pnzren217VPnzrenQrivprHfreRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_8uneqjner7pnzren217VPnzrenQrivprHfreRR10baNfOvaqreRi:
 nop
@@ -1363,7 +1363,7 @@
 b__MGGA7naqebvq8uneqjner14OaPnzrenPyvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz:
 nop
@@ -1398,7 +1398,7 @@
 b__MGPA7naqebvq8uneqjner7pnzren223OaPnzrenQrivprPnyyonpxfR0_AF_11OaVagresnprVAF1_22VPnzrenQrivprPnyyonpxfRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRP2Rv
+.weak b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRP2Rv
 .type b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRP2Rv,%function
 b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRP2Rv:
 nop
@@ -1473,12 +1473,12 @@
 b__MAX7naqebvq17PnzrenCnenzrgref24qhzcRvEXAF_6IrpgbeVAF_8Fgevat16RRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner7VPnzrenRRRvCAF_2fcVG_RR
+.weak b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner7VPnzrenRRRvCAF_2fcVG_RR
 .type b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner7VPnzrenRRRvCAF_2fcVG_RR,%function
 b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner7VPnzrenRRRvCAF_2fcVG_RR:
 nop
@@ -1543,7 +1543,7 @@
 b__MA7naqebvq8uneqjner7pnzren218OcPnzrenQrivprHfre28svanyvmrBhgchgPbasvthengvbafRvEXAF1_6cnenzf19BhgchgPbasvthengvbaR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR12qb_pbafgehpgRCiz:
 nop
@@ -1593,7 +1593,7 @@
 b__MA7naqebvq16PnzrenCnenzrgref16FPRAR_ZBQR_AVTUGR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR10qb_pbzcnerRCXiF9_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR10qb_pbzcnerRCXiF9_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR10qb_pbzcnerRCXiF9_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR10qb_pbzcnerRCXiF9_:
 nop
@@ -1603,12 +1603,12 @@
 b__MA7naqebvq8uneqjner14VPnzrenFreivpr12qrsnhyg_vzcyR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_19IraqbeGntQrfpevcgbeRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_19IraqbeGntQrfpevcgbeRRQ2Ri
 .type b__MA7naqebvq2fcVAF_19IraqbeGntQrfpevcgbeRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_19IraqbeGntQrfpevcgbeRRQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR12qb_pbafgehpgRCiz:
 nop
@@ -1623,12 +1623,12 @@
 b__MAX7naqebvq17PnzrenCnenzrgref224trgFhccbegrqCerivrjFvmrfREAF_6IrpgbeVAF_4FvmrRRR:
 nop
 .data
-.globl b__MGPA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR0_AF_11OcVagresnprVAF_29VPnzrenErpbeqvatCebklYvfgrareRRR
+.weak b__MGPA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR0_AF_11OcVagresnprVAF_29VPnzrenErpbeqvatCebklYvfgrareRRR
 .type b__MGPA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR0_AF_11OcVagresnprVAF_29VPnzrenErpbeqvatCebklYvfgrareRRR,%object
 b__MGPA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR0_AF_11OcVagresnprVAF_29VPnzrenErpbeqvatCebklYvfgrareRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR7qb_pbclRCiCXiz:
 nop
@@ -1718,7 +1718,7 @@
 b__MA7naqebvq17PnzrenCnenzrgref216frgCvpgherSbezngRCXp:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner12PnzrenFgnghfRAF_9nyybpngbeVF3_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner12PnzrenFgnghfRAF_9nyybpngbeVF3_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner12PnzrenFgnghfRAF_9nyybpngbeVF3_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner12PnzrenFgnghfRAF_9nyybpngbeVF3_RRR8__nccraqRz:
 nop
@@ -1753,7 +1753,7 @@
 b__MA7naqebvq14PnzrenZrgnqngn6nccraqRCX15pnzren_zrgnqngn:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_7FhesnprRRnFRCF1_
+.weak b__MA7naqebvq2fcVAF_7FhesnprRRnFRCF1_
 .type b__MA7naqebvq2fcVAF_7FhesnprRRnFRCF1_,%function
 b__MA7naqebvq2fcVAF_7FhesnprRRnFRCF1_:
 nop
@@ -1818,7 +1818,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner7pnzren222VPnzrenQrivprPnyyonpxfQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner12PnzrenFgnghfRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR
+.weak b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner12PnzrenFgnghfRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR
 .type b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner12PnzrenFgnghfRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR,%function
 b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner12PnzrenFgnghfRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR:
 nop
@@ -1848,7 +1848,7 @@
 b__MA7naqebvq6Pnzren6haybpxRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_:
 nop
@@ -1873,12 +1873,12 @@
 b__MA7naqebvq21VPnzrenErpbeqvatCebkl11nfVagresnprREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .data
-.globl b__MGPA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1898,12 +1898,12 @@
 b__MA7naqebvq16PnzrenCnenzrgref20FPRAR_ZBQR_YNAQFPNCRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren214PncgherErdhrfg22CulfvpnyPnzrenFrggvatfRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren214PncgherErdhrfg22CulfvpnyPnzrenFrggvatfRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren214PncgherErdhrfg22CulfvpnyPnzrenFrggvatfRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren214PncgherErdhrfg22CulfvpnyPnzrenFrggvatfRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbRAF_9nyybpngbeVF5_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbRAF_9nyybpngbeVF5_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbRAF_9nyybpngbeVF5_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbRAF_9nyybpngbeVF5_RRR8__nccraqRz:
 nop
@@ -1918,7 +1918,7 @@
 b__MA7naqebvq29VPnzrenErpbeqvatCebklYvfgrare12qrsnhyg_vzcyR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR9trgFgnghfRi
+.weak b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR9trgFgnghfRi
 .type b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR9trgFgnghfRi,%function
 b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR9trgFgnghfRi:
 nop
@@ -1938,12 +1938,12 @@
 b__MAX7naqebvq17PnzrenCnenzrgref231trgCersreerqCerivrjFvmrSbeIvqrbRCvF1_:
 nop
 .data
-.globl b__MGPA7naqebvq22OcPnzrenErpbeqvatCebklR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq22OcPnzrenErpbeqvatCebklR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq22OcPnzrenErpbeqvatCebklR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq22OcPnzrenErpbeqvatCebklR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1958,7 +1958,7 @@
 b__MA7naqebvq14PnzrenZrgnqngn10hcqngrVzcyRwCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner13VPnzrenPyvragRRRvCAF_2fcVG_RR
+.weak b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner13VPnzrenPyvragRRRvCAF_2fcVG_RR
 .type b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner13VPnzrenPyvragRRRvCAF_2fcVG_RR,%function
 b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner13VPnzrenPyvragRRRvCAF_2fcVG_RR:
 nop
@@ -1998,7 +1998,7 @@
 b__MA7naqebvq8uneqjner7pnzren25hgvyf10FhozvgVasb14ernqSebzCnepryRCXAF_6CnepryR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR12qb_pbafgehpgRCiz:
 nop
@@ -2038,7 +2038,7 @@
 b__MA7naqebvq14PnzrenZrgnqngn6hcqngrRwEXAF_7Fgevat8R:
 nop
 .text
-.globl b__MAFg3__16irpgbeVC13angvir_unaqyrAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVC13angvir_unaqyrAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVC13angvir_unaqyrAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVC13angvir_unaqyrAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -2113,7 +2113,7 @@
 b__MA7naqebvq13PncgherErfhyg14ernqSebzCnepryRCAF_6CnepryR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner14OcPnzrenPyvragR0_AF0_13VPnzrenPyvragR
+.weak b__MGPA7naqebvq8uneqjner14OcPnzrenPyvragR0_AF0_13VPnzrenPyvragR
 .type b__MGPA7naqebvq8uneqjner14OcPnzrenPyvragR0_AF0_13VPnzrenPyvragR,%object
 b__MGPA7naqebvq8uneqjner14OcPnzrenPyvragR0_AF0_13VPnzrenPyvragR:
 .space __SIZEOF_POINTER__
@@ -2158,7 +2158,7 @@
 b__MAX7naqebvq8uneqjner7pnzren214PncgherErdhrfg13jevgrGbCnepryRCAF_6CnepryR:
 nop
 .text
-.globl b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_4ivrj7FhesnprRRRvEXAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR
+.weak b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_4ivrj7FhesnprRRRvEXAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR
 .type b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_4ivrj7FhesnprRRRvEXAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR,%function
 b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_4ivrj7FhesnprRRRvEXAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR:
 nop
@@ -2178,7 +2178,7 @@
 b__MGIA7naqebvq8uneqjner29VPnzrenFreivprYvfgrareQrsnhygR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR8qb_fcyngRCiCXiz:
 nop
@@ -2188,7 +2188,7 @@
 b__MA7naqebvq14PnzrenZrgnqngnQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ0Ri
+.weak b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ0Ri
 .type b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ0Ri,%function
 b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ0Ri:
 nop
@@ -2243,12 +2243,12 @@
 b__MAX7naqebvq8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvba10vfQrsreerqRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVwR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVwR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVwR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVwR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVwR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVwR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVwR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVwR7qb_pbclRCiCXiz:
 nop
@@ -2273,7 +2273,7 @@
 b__MA7naqebvq16PnzrenCnenzrgref27SBPHF_ZBQR_PBAGVAHBHF_IVQRBR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR12qb_pbafgehpgRCiz:
 nop
@@ -2283,7 +2283,7 @@
 b__MA7naqebvq6Pnzren14ErpbeqvatCebklP1REXAF_2fcVF0_RR:
 nop
 .text
-.globl b__MGi0_a24_A7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ0Ri
+.weak b__MGi0_a24_A7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ0Ri
 .type b__MGi0_a24_A7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ0Ri,%function
 b__MGi0_a24_A7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ0Ri:
 nop
@@ -2303,7 +2303,7 @@
 b__MA7naqebvq8uneqjner22VPnzrenFreivprYvfgrareQ2Ri:
 nop
 .text
-.globl b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR16trgPnzrenFreivprRi
+.weak b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR16trgPnzrenFreivprRi
 .type b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR16trgPnzrenFreivprRi,%function
 b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR16trgPnzrenFreivprRi:
 nop
@@ -2333,12 +2333,12 @@
 b__MA7naqebvq8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaP1REXAF_6CnepryR:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRRRvCAFg3__16irpgbeVG_AF6_9nyybpngbeVF8_RRRR
+.weak b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRRRvCAFg3__16irpgbeVG_AF6_9nyybpngbeVF8_RRRR
 .type b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRRRvCAFg3__16irpgbeVG_AF6_9nyybpngbeVF8_RRRR,%function
 b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRRRvCAFg3__16irpgbeVG_AF6_9nyybpngbeVF8_RRRR:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_8uneqjner7VPnzrenRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_8uneqjner7VPnzrenRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_8uneqjner7VPnzrenRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_8uneqjner7VPnzrenRR10baNfOvaqreRi:
 nop
@@ -2368,7 +2368,7 @@
 b__MAX7naqebvq17PnzrenCnenzrgref216trgCerivrjSbezngRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR8qb_fcyngRCiCXiz:
 nop
@@ -2398,7 +2398,7 @@
 b__MAX7naqebvq14PnzrenZrgnqngn13jevgrGbCnepryRCAF_6CnepryR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregVCwRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVF5_RRR4glcrRAFO_VCXwRRF7_F7_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregVCwRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVF5_RRR4glcrRAFO_VCXwRRF7_F7_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregVCwRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVF5_RRR4glcrRAFO_VCXwRRF7_F7_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregVCwRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVF5_RRR4glcrRAFO_VCXwRRF7_F7_:
 nop
@@ -2438,7 +2438,7 @@
 b__MA7naqebvq8uneqjner7pnzren218OcPnzrenQrivprHfre5syhfuRCy:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2538,7 +2538,7 @@
 b__MA7naqebvq8uneqjner7pnzren224VPnzrenQrivprHfreQrsnhyg7cercnerRv:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner7pnzren214PncgherErdhrfgRRRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR
+.weak b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner7pnzren214PncgherErdhrfgRRRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR
 .type b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner7pnzren214PncgherErdhrfgRRRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR,%function
 b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_8uneqjner7pnzren214PncgherErdhrfgRRRvCAFg3__16irpgbeVG_AF5_9nyybpngbeVF7_RRRR:
 nop
@@ -2553,7 +2553,7 @@
 b__MA7naqebvq16PnzrenCnenzrgref19XRL_SBPHF_QVFGNAPRFR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner7pnzren217VPnzrenQrivprHfreRRRvCAF_2fcVG_RR
+.weak b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner7pnzren217VPnzrenQrivprHfreRRRvCAF_2fcVG_RR
 .type b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner7pnzren217VPnzrenQrivprHfreRRRvCAF_2fcVG_RR,%function
 b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner7pnzren217VPnzrenQrivprHfreRRRvCAF_2fcVG_RR:
 nop
@@ -2573,12 +2573,12 @@
 b__MAX7naqebvq8uneqjner7VPnzren22trgVagresnprQrfpevcgbeRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR8qb_fcyngRCiCXiz:
 nop
@@ -2603,17 +2603,17 @@
 b__MA7naqebvq16PnzrenCnenzrgref6erzbirRCXp:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_4ivrj7FhesnprRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR
+.weak b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_4ivrj7FhesnprRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR
 .type b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_4ivrj7FhesnprRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR,%function
 b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_4ivrj7FhesnprRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCwRRR4glcrRAFO_VCXwRRF7_F7_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCwRRR4glcrRAFO_VCXwRRF7_F7_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCwRRR4glcrRAFO_VCXwRRF7_F7_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCwRRR4glcrRAFO_VCXwRRF7_F7_:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner14OcPnzrenPyvragR
+.weak b__MGIA7naqebvq8uneqjner14OcPnzrenPyvragR
 .type b__MGIA7naqebvq8uneqjner14OcPnzrenPyvragR,%object
 b__MGIA7naqebvq8uneqjner14OcPnzrenPyvragR:
 .space __SIZEOF_POINTER__
@@ -2668,17 +2668,17 @@
 b__MA7naqebvq8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasb14ernqSebzCnepryRCXAF_6CnepryR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner14VPnzrenFreivprRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner14VPnzrenFreivprRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner14VPnzrenFreivprRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner14VPnzrenFreivprRRQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR7qb_pbclRCiCXiz:
 nop
@@ -2708,12 +2708,12 @@
 b__MA7naqebvq8uneqjner8OaPnzren10baGenafnpgRwEXAF_6CnepryRCF2_w:
 nop
 .data
-.globl b__MGPA7naqebvq22OcPnzrenErpbeqvatCebklR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq22OcPnzrenErpbeqvatCebklR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq22OcPnzrenErpbeqvatCebklR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq22OcPnzrenErpbeqvatCebklR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR8qb_fcyngRCiCXiz:
 nop
@@ -2743,12 +2743,12 @@
 b__MA7naqebvq8uneqjner7pnzren214PncgherErdhrfgP2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA7naqebvq2fcVAF2_19IraqbeGntQrfpevcgbeRRRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA7naqebvq2fcVAF2_19IraqbeGntQrfpevcgbeRRRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA7naqebvq2fcVAF2_19IraqbeGntQrfpevcgbeRRRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA7naqebvq2fcVAF2_19IraqbeGntQrfpevcgbeRRRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz:
 nop
@@ -2768,7 +2768,7 @@
 b__MA7naqebvq8uneqjner7pnzren229VPnzrenQrivprPnyyonpxfQrsnhyg12baQrivprVqyrRi:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRRR:
 .space __SIZEOF_POINTER__
@@ -2783,12 +2783,12 @@
 b__MAX7naqebvq16PnzrenCnenzrgref14trgCvpgherFvmrRCvF1_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_:
 nop
@@ -2888,7 +2888,7 @@
 b__MA7naqebvq16PnzrenCnenzrgref16RSSRPG_CBFGREVMRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz:
 nop
@@ -2898,7 +2898,7 @@
 b__MGPA7naqebvq22OaPnzrenErpbeqvatCebklR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR10qb_pbzcnerRCXiF4_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR10qb_pbzcnerRCXiF4_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR10qb_pbzcnerRCXiF4_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR10qb_pbzcnerRCXiF4_:
 nop
@@ -2913,7 +2913,7 @@
 b__MA7naqebvq16PnzrenCnenzrgref25XRL_UBEVMBAGNY_IVRJ_NATYRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8uneqjner8OcPnzrenR0_AF0_7VPnzrenR
+.weak b__MGPA7naqebvq8uneqjner8OcPnzrenR0_AF0_7VPnzrenR
 .type b__MGPA7naqebvq8uneqjner8OcPnzrenR0_AF0_7VPnzrenR,%object
 b__MGPA7naqebvq8uneqjner8OcPnzrenR0_AF0_7VPnzrenR:
 .space __SIZEOF_POINTER__
@@ -2978,7 +2978,7 @@
 b__MAX7naqebvq16PnzrenCnenzrgref24trgFhccbegrqCvpgherFvmrfREAF_6IrpgbeVAF_4FvmrRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbRAF_9nyybpngbeVF5_RRR7rzcynprVWEAF1_8Fgevat16REAF1_14PnzrenZrgnqngnRRRRAF_11__jenc_vgreVCF5_RRAFR_VCXF5_RRQcBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbRAF_9nyybpngbeVF5_RRR7rzcynprVWEAF1_8Fgevat16REAF1_14PnzrenZrgnqngnRRRRAF_11__jenc_vgreVCF5_RRAFR_VCXF5_RRQcBG_
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbRAF_9nyybpngbeVF5_RRR7rzcynprVWEAF1_8Fgevat16REAF1_14PnzrenZrgnqngnRRRRAF_11__jenc_vgreVCF5_RRAFR_VCXF5_RRQcBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbRAF_9nyybpngbeVF5_RRR7rzcynprVWEAF1_8Fgevat16REAF1_14PnzrenZrgnqngnRRRRAF_11__jenc_vgreVCF5_RRAFR_VCXF5_RRQcBG_:
 nop
@@ -3008,7 +3008,7 @@
 b__MA7naqebvq16PnzrenCnenzrgref17RSSRPG_JUVGROBNEQR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR8qb_fcyngRCiCXiz:
 nop
@@ -3028,7 +3028,7 @@
 b__MA7naqebvq8uneqjner21VPnzrenFreivprQrsnhyg17abgvslFlfgrzRiragRvEXAFg3__16irpgbeVvAF2_9nyybpngbeVvRRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner14OcPnzrenPyvragR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq8uneqjner14OcPnzrenPyvragR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq8uneqjner14OcPnzrenPyvragR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq8uneqjner14OcPnzrenPyvragR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -3138,12 +3138,12 @@
 b__MA7naqebvq8uneqjner21VPnzrenFreivprQrsnhyg23trgPnzrenIraqbeGntPnpurRCAF0_7pnzren26cnenzf24IraqbeGntQrfpevcgbePnpurR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVwR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVwR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVwR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVwR12qb_pbafgehpgRCiz:
 nop
@@ -3158,7 +3158,7 @@
 b__MA7naqebvq8uneqjner7pnzren223OcPnzrenQrivprPnyyonpxfP1REXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR11frgYvfgrareREXAF_2fcVAF_14PnzrenYvfgrareRRR
+.weak b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR11frgYvfgrareREXAF_2fcVAF_14PnzrenYvfgrareRRR
 .type b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR11frgYvfgrareREXAF_2fcVAF_14PnzrenYvfgrareRRR,%function
 b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR11frgYvfgrareREXAF_2fcVAF_14PnzrenYvfgrareRRR:
 nop
@@ -3168,7 +3168,7 @@
 b__MAX7naqebvq8uneqjner10PnzrenVasb13jevgrGbCnepryRCAF_6CnepryR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRR10qb_qrfgeblRCiz:
 nop
@@ -3263,7 +3263,7 @@
 b__MGPA7naqebvq29VPnzrenErpbeqvatCebklYvfgrareR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner7pnzren222VPnzrenQrivprPnyyonpxfRRRvCAF_2fcVG_RR
+.weak b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner7pnzren222VPnzrenQrivprPnyyonpxfRRRvCAF_2fcVG_RR
 .type b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner7pnzren222VPnzrenQrivprPnyyonpxfRRRvCAF_2fcVG_RR,%function
 b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner7pnzren222VPnzrenQrivprPnyyonpxfRRRvCAF_2fcVG_RR:
 nop
@@ -3278,7 +3278,7 @@
 b__MA7naqebvq8uneqjner7VPnzren14trgQrsnhygVzcyRi:
 nop
 .data
-.globl b__MGGA7naqebvq8uneqjner8OcPnzrenR
+.weak b__MGGA7naqebvq8uneqjner8OcPnzrenR
 .type b__MGGA7naqebvq8uneqjner8OcPnzrenR,%object
 b__MGGA7naqebvq8uneqjner8OcPnzrenR:
 .space __SIZEOF_POINTER__
@@ -3298,7 +3298,7 @@
 b__MGPA7naqebvq6Pnzren14ErpbeqvatCebklR0_AF_22OaPnzrenErpbeqvatCebklR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz:
 nop
@@ -3318,12 +3318,12 @@
 b__MGGA7naqebvq29VPnzrenErpbeqvatCebklYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RRR:
 .space __SIZEOF_POINTER__
@@ -3333,7 +3333,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner19VPnzrenFreivprCebklQ0Ri:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner14OcPnzrenPyvragR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq8uneqjner14OcPnzrenPyvragR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq8uneqjner14OcPnzrenPyvragR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq8uneqjner14OcPnzrenPyvragR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -3388,7 +3388,7 @@
 b__MGGA7naqebvq8uneqjner23OcPnzrenFreivprYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR10ovaqreQvrqREXAF_2jcVAF_7VOvaqreRRR
+.weak b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR10ovaqreQvrqREXAF_2jcVAF_7VOvaqreRRR
 .type b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR10ovaqreQvrqREXAF_2jcVAF_7VOvaqreRRR,%function
 b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR10ovaqreQvrqREXAF_2jcVAF_7VOvaqreRRR:
 nop
@@ -3443,7 +3443,7 @@
 b__MA7naqebvq16PnzrenCnenzrgref21CVKRY_SBEZNG_LHI422FCR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR7qb_pbclRCiCXiz:
 nop
@@ -3468,7 +3468,7 @@
 b__MA7naqebvq16PnzrenCnenzrgref32XRL_NHGB_RKCBFHER_YBPX_FHCCBEGRQR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -3513,17 +3513,17 @@
 b__MGPA7naqebvq8uneqjner8OaPnzrenR0_AF0_7VPnzrenR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR7qb_pbclRCiCXiz:
 nop
@@ -3548,7 +3548,7 @@
 b__MA7naqebvq17PnzrenCnenzrgref28frgSybngRCXps:
 nop
 .data
-.globl b__MGPA7naqebvq22OcPnzrenErpbeqvatCebklR0_AF_11OcVagresnprVAF_21VPnzrenErpbeqvatCebklRRR
+.weak b__MGPA7naqebvq22OcPnzrenErpbeqvatCebklR0_AF_11OcVagresnprVAF_21VPnzrenErpbeqvatCebklRRR
 .type b__MGPA7naqebvq22OcPnzrenErpbeqvatCebklR0_AF_11OcVagresnprVAF_21VPnzrenErpbeqvatCebklRRR,%object
 b__MGPA7naqebvq22OcPnzrenErpbeqvatCebklR0_AF_11OcVagresnprVAF_21VPnzrenErpbeqvatCebklRRR:
 .space __SIZEOF_POINTER__
@@ -3593,12 +3593,12 @@
 b__MA7naqebvq17PnzrenCnenzrgref218frgCerivrjScfEnatrRvv:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__113__irpgbe_onfrVA7naqebvq8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRAF_9nyybpngbeVF5_RRRQ2Ri
+.weak b__MAFg3__113__irpgbe_onfrVA7naqebvq8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRAF_9nyybpngbeVF5_RRRQ2Ri
 .type b__MAFg3__113__irpgbe_onfrVA7naqebvq8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRAF_9nyybpngbeVF5_RRRQ2Ri,%function
 b__MAFg3__113__irpgbe_onfrVA7naqebvq8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRAF_9nyybpngbeVF5_RRRQ2Ri:
 nop
@@ -3613,7 +3613,7 @@
 b__MA7naqebvq8uneqjner7pnzren218OcPnzrenQrivprHfre12perngrFgernzREXAF1_6cnenzf19BhgchgPbasvthengvbaRCv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -3648,12 +3648,12 @@
 b__MAX7naqebvq16PnzrenCnenzrgref3trgRCXp:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -3683,22 +3683,22 @@
 b__MA7naqebvq16PnzrenCnenzrgref17XRL_JUVGR_ONYNAPRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVvRR
+.weak b__MGIA7naqebvq6IrpgbeVvRR
 .type b__MGIA7naqebvq6IrpgbeVvRR,%object
 b__MGIA7naqebvq6IrpgbeVvRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_22VTencuvpOhssreCebqhpreRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_22VTencuvpOhssreCebqhpreRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_22VTencuvpOhssreCebqhpreRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_22VTencuvpOhssreCebqhpreRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_7Fgevat8RR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVwR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVwR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVwR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVwR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -3733,7 +3733,7 @@
 b__MGPA7naqebvq8uneqjner8OaPnzrenR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8uneqjner8OcPnzrenR0_AF_11OcVagresnprVAF0_7VPnzrenRRR
+.weak b__MGPA7naqebvq8uneqjner8OcPnzrenR0_AF_11OcVagresnprVAF0_7VPnzrenRRR
 .type b__MGPA7naqebvq8uneqjner8OcPnzrenR0_AF_11OcVagresnprVAF0_7VPnzrenRRR,%object
 b__MGPA7naqebvq8uneqjner8OcPnzrenR0_AF_11OcVagresnprVAF0_7VPnzrenRRR:
 .space __SIZEOF_POINTER__
@@ -3743,17 +3743,17 @@
 b__MA7naqebvq8uneqjner13VPnzrenPyvrag14trgQrsnhygVzcyRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR21__chfu_onpx_fybj_cnguVEXyRRiBG_
+.weak b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR21__chfu_onpx_fybj_cnguVEXyRRiBG_
 .type b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR21__chfu_onpx_fybj_cnguVEXyRRiBG_,%function
 b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR21__chfu_onpx_fybj_cnguVEXyRRiBG_:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner14OcPnzrenPyvragR0_AF_11OcVagresnprVAF0_13VPnzrenPyvragRRR
+.weak b__MGPA7naqebvq8uneqjner14OcPnzrenPyvragR0_AF_11OcVagresnprVAF0_13VPnzrenPyvragRRR
 .type b__MGPA7naqebvq8uneqjner14OcPnzrenPyvragR0_AF_11OcVagresnprVAF0_13VPnzrenPyvragRRR,%object
 b__MGPA7naqebvq8uneqjner14OcPnzrenPyvragR0_AF_11OcVagresnprVAF0_13VPnzrenPyvragRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA7naqebvq2fcVAF2_19IraqbeGntQrfpevcgbeRRRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA7naqebvq2fcVAF2_19IraqbeGntQrfpevcgbeRRRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA7naqebvq2fcVAF2_19IraqbeGntQrfpevcgbeRRRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA7naqebvq2fcVAF2_19IraqbeGntQrfpevcgbeRRRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz:
 nop
@@ -3783,7 +3783,7 @@
 b__MAX7naqebvq16PnzrenCnenzrgref19trgCerivrjSenzrEngrRi:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRRR:
 .space __SIZEOF_POINTER__
@@ -3818,7 +3818,7 @@
 b__MA7naqebvq17PnzrenCnenzrgref214frgCvpgherFvmrRvv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -3898,7 +3898,7 @@
 b__MGIA7naqebvq8uneqjner13VPnzrenPyvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -3908,7 +3908,7 @@
 b__MGIA7naqebvq8uneqjner7pnzren224VPnzrenQrivprHfreQrsnhygR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR14abgvslPnyyonpxRvvv
+.weak b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR14abgvslPnyyonpxRvvv
 .type b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR14abgvslPnyyonpxRvvv,%function
 b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR14abgvslPnyyonpxRvvv:
 nop
@@ -3928,12 +3928,12 @@
 b__MA7naqebvq8uneqjner7pnzren218OaPnzrenQrivprHfre10baGenafnpgRwEXAF_6CnepryRCF3_w:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17PnzrenCnenzrgref218BeqrerqXrlrqIrpgbeVAF_7Fgevat8RF3_R4CnveRR7qb_pbclRCiCXiz:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner8OcPnzrenR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq8uneqjner8OcPnzrenR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq8uneqjner8OcPnzrenR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq8uneqjner8OcPnzrenR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -3943,12 +3943,12 @@
 b__MGIA7naqebvq8uneqjner20OcPnzrenFreivprCebklR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR10qvfpbaarpgRi
+.weak b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR10qvfpbaarpgRi
 .type b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR10qvfpbaarpgRi,%function
 b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR10qvfpbaarpgRi:
 nop
 .data
-.globl b__MGIA7naqebvq13PncgherErfhygR
+.weak b__MGIA7naqebvq13PncgherErfhygR
 .type b__MGIA7naqebvq13PncgherErfhygR,%object
 b__MGIA7naqebvq13PncgherErfhygR:
 .space __SIZEOF_POINTER__
@@ -4053,7 +4053,7 @@
 b__MGIA7naqebvq21VPnzrenErpbeqvatCebklR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_8uneqjner19VPnzrenFreivprCebklRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_8uneqjner19VPnzrenFreivprCebklRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_8uneqjner19VPnzrenFreivprCebklRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_8uneqjner19VPnzrenFreivprCebklRR10baNfOvaqreRi:
 nop
@@ -4073,7 +4073,7 @@
 b__MA7naqebvq16PnzrenCnenzrgref29XRL_ZNK_AHZ_QRGRPGRQ_SNPRF_FJR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbRAF_9nyybpngbeVF5_RRR6nffvtaVCF5_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF5_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRiR4glcrRFP_FP_
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbRAF_9nyybpngbeVF5_RRR6nffvtaVCF5_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF5_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRiR4glcrRFP_FP_
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbRAF_9nyybpngbeVF5_RRR6nffvtaVCF5_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF5_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRiR4glcrRFP_FP_,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren24vzcy25CulfvpnyPncgherErfhygVasbRAF_9nyybpngbeVF5_RRR6nffvtaVCF5_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF5_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRiR4glcrRFP_FP_:
 nop
@@ -4088,7 +4088,7 @@
 b__MA7naqebvq19IraqbeGntQrfpevcgbe23perngrQrfpevcgbeSebzBcfRCX14iraqbe_gnt_bcfEAF_2fcVF0_RR:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRRR:
 .space __SIZEOF_POINTER__
@@ -4098,7 +4098,7 @@
 b__MGIA7naqebvq8uneqjner7pnzren26cnenzf19IraqbeGntQrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_8uneqjner14VPnzrenFreivprRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_8uneqjner14VPnzrenFreivprRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_8uneqjner14VPnzrenFreivprRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_8uneqjner14VPnzrenFreivprRR10baNfOvaqreRi:
 nop
@@ -4113,12 +4113,12 @@
 b__MAX7naqebvq8uneqjner7pnzren24vzcy19PncgherErfhygRkgenf13jevgrGbCnepryRCAF_6CnepryR:
 nop
 .data
-.globl b__MGPA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR0_AF_29VPnzrenErpbeqvatCebklYvfgrareR
+.weak b__MGPA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR0_AF_29VPnzrenErpbeqvatCebklYvfgrareR
 .type b__MGPA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR0_AF_29VPnzrenErpbeqvatCebklYvfgrareR,%object
 b__MGPA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR0_AF_29VPnzrenErpbeqvatCebklYvfgrareR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRR
+.weak b__MGGA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRR
 .type b__MGGA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRR,%object
 b__MGGA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRR:
 .space __SIZEOF_POINTER__
@@ -4163,7 +4163,7 @@
 b__MA7naqebvq8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaP1REXAFg3__16irpgbeVAF_2fcVAF_22VTencuvpOhssreCebqhpreRRRAF4_9nyybpngbeVF8_RRRRvEXAF_8Fgevat16Rvvvvo:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR10qb_qrfgeblRCiz:
 nop
@@ -4188,7 +4188,7 @@
 b__MA7naqebvq8uneqjner7pnzren224VPnzrenQrivprHfreQrsnhyg31vfFrffvbaPbasvthengvbaFhccbegrqREXAF1_6cnenzf20FrffvbaPbasvthengvbaRCo:
 nop
 .text
-.globl b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ1Ri
+.weak b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ1Ri
 .type b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ1Ri,%function
 b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ1Ri:
 nop
@@ -4208,7 +4208,7 @@
 b__MA7naqebvq14PnzrenZrgnqngnQ2Ri:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR:
 .space __SIZEOF_POINTER__
@@ -4223,7 +4223,7 @@
 b__MA7naqebvq16PnzrenCnenzrgref15FPRAR_ZBQR_NHGBR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_8uneqjner13VPnzrenPyvragRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_8uneqjner13VPnzrenPyvragRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_8uneqjner13VPnzrenPyvragRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_8uneqjner13VPnzrenPyvragRR10baNfOvaqreRi:
 nop
@@ -4248,7 +4248,7 @@
 b__MA7naqebvq8uneqjner7VPnzren14frgQrsnhygVzcyRAFg3__110havdhr_cgeVF1_AF2_14qrsnhyg_qryrgrVF1_RRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVwR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVwR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVwR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVwR8qb_fcyngRCiCXiz:
 nop
@@ -4258,12 +4258,12 @@
 b__MA7naqebvq8uneqjner7pnzren224VPnzrenQrivprHfreQrsnhyg5syhfuRCy:
 nop
 .text
-.globl b__MGi0_a24_A7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ1Ri
+.weak b__MGi0_a24_A7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ1Ri
 .type b__MGi0_a24_A7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ1Ri,%function
 b__MGi0_a24_A7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_:
 nop
@@ -4273,7 +4273,7 @@
 b__MA7naqebvq17PnzrenCnenzrgref219frgCerivrjSenzrEngrRv:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_8uneqjner7pnzren222VPnzrenQrivprPnyyonpxfRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_8uneqjner7pnzren222VPnzrenQrivprPnyyonpxfRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_8uneqjner7pnzren222VPnzrenQrivprPnyyonpxfRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_8uneqjner7pnzren222VPnzrenQrivprPnyyonpxfRR10baNfOvaqreRi:
 nop
@@ -4288,7 +4288,7 @@
 b__MA7naqebvq16PnzrenCnenzrgref16XRL_TCF_YNGVGHQRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR6erzbgrRi
+.weak b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR6erzbgrRi
 .type b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR6erzbgrRi,%function
 b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR6erzbgrRi:
 nop
@@ -4383,17 +4383,17 @@
 b__MA7naqebvq16PnzrenCnenzrgref21CVKRY_SBEZNG_LHI420FCR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq8uneqjner14OcPnzrenPyvragR
+.weak b__MGGA7naqebvq8uneqjner14OcPnzrenPyvragR
 .type b__MGGA7naqebvq8uneqjner14OcPnzrenPyvragR,%object
 b__MGGA7naqebvq8uneqjner14OcPnzrenPyvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq4ivrj7FhesnprRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq4ivrj7FhesnprRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq4ivrj7FhesnprRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq4ivrj7FhesnprRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_:
 nop
 .text
-.globl b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRP1Rv
+.weak b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRP1Rv
 .type b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRP1Rv,%function
 b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRRP1Rv:
 nop
@@ -4403,7 +4403,7 @@
 b__MA7naqebvq19IraqbeGntQrfpevcgbe30pyrneTybonyIraqbeGntQrfpevcgbeRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -4423,7 +4423,7 @@
 b__MA7naqebvq8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaP1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRAF_9nyybpngbeVF5_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRAF_9nyybpngbeVF5_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRAF_9nyybpngbeVF5_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner7pnzren26cnenzf19BhgchgPbasvthengvbaRAF_9nyybpngbeVF5_RRR8__nccraqRz:
 nop
@@ -4483,7 +4483,7 @@
 b__MAX7naqebvq17PnzrenCnenzrgref214trgCvpgherFvmrRCvF1_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RCAF_11XrlrqIrpgbeVF2_wRRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -4503,17 +4503,17 @@
 b__MA7naqebvq13PncgherErfhygP2REXF0_:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner8OcPnzrenR
+.weak b__MGIA7naqebvq8uneqjner8OcPnzrenR
 .type b__MGIA7naqebvq8uneqjner8OcPnzrenR,%object
 b__MGIA7naqebvq8uneqjner8OcPnzrenR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR13trgPnzrenVasbRvCAF_8uneqjner10PnzrenVasbR
+.weak b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR13trgPnzrenVasbRvCAF_8uneqjner10PnzrenVasbR
 .type b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR13trgPnzrenVasbRvCAF_8uneqjner10PnzrenVasbR,%function
 b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR13trgPnzrenVasbRvCAF_8uneqjner10PnzrenVasbR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR10qb_pbzcnerRCXiF5_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR10qb_pbzcnerRCXiF5_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR10qb_pbzcnerRCXiF5_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR10qb_pbzcnerRCXiF5_:
 nop
@@ -4593,12 +4593,12 @@
 b__MA7naqebvq8uneqjner7pnzren222VPnzrenQrivprPnyyonpxf10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq22OcPnzrenErpbeqvatCebklR
+.weak b__MGGA7naqebvq22OcPnzrenErpbeqvatCebklR
 .type b__MGGA7naqebvq22OcPnzrenErpbeqvatCebklR,%object
 b__MGGA7naqebvq22OcPnzrenErpbeqvatCebklR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_7FhesnprRRRRR:
 .space __SIZEOF_POINTER__
@@ -4688,12 +4688,12 @@
 b__MGIA7naqebvq8uneqjner8OaPnzrenR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RwRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_7Fgevat8RRRRR:
 .space __SIZEOF_POINTER__
@@ -4743,7 +4743,7 @@
 b__MA7naqebvq8uneqjner15OcPnzrenFreivpr22vfUvqqraCulfvpnyPnzrenREXAF_8Fgevat16RCo:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_29VPnzrenErpbeqvatCebklYvfgrareRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_29VPnzrenErpbeqvatCebklYvfgrareRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_29VPnzrenErpbeqvatCebklYvfgrareRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_29VPnzrenErpbeqvatCebklYvfgrareRR10baNfOvaqreRi:
 nop
@@ -4753,7 +4753,7 @@
 b__MGPA7naqebvq8uneqjner15OaPnzrenFreivprR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_8uneqjner22VPnzrenFreivprYvfgrareRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_8uneqjner22VPnzrenFreivprYvfgrareRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_8uneqjner22VPnzrenFreivprYvfgrareRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_8uneqjner22VPnzrenFreivprYvfgrareRR10baNfOvaqreRi:
 nop
@@ -4763,7 +4763,7 @@
 b__MA7naqebvq16PnzrenCnenzrgref12RSSRPG_FRCVNR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq22OcPnzrenErpbeqvatCebklR0_AF_21VPnzrenErpbeqvatCebklR
+.weak b__MGPA7naqebvq22OcPnzrenErpbeqvatCebklR0_AF_21VPnzrenErpbeqvatCebklR
 .type b__MGPA7naqebvq22OcPnzrenErpbeqvatCebklR0_AF_21VPnzrenErpbeqvatCebklR,%object
 b__MGPA7naqebvq22OcPnzrenErpbeqvatCebklR0_AF_21VPnzrenErpbeqvatCebklR:
 .space __SIZEOF_POINTER__
@@ -4838,7 +4838,7 @@
 b__MA7naqebvq17PnzrenCnenzrgref26erzbirRCXp:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwwRRR7qb_pbclRCiCXiz:
 nop
@@ -4853,7 +4853,7 @@
 b__MA7naqebvq29VPnzrenErpbeqvatCebklYvfgrare10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR10qb_pbzcnerRCXiF5_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR10qb_pbzcnerRCXiF5_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR10qb_pbzcnerRCXiF5_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwvRRR10qb_pbzcnerRCXiF5_:
 nop
@@ -4898,7 +4898,7 @@
 b__MGGA7naqebvq8uneqjner7pnzren224VPnzrenQrivprHfreQrsnhygR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR7pbaarpgRvEXAF_8Fgevat16Rvv
+.weak b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR7pbaarpgRvEXAF_8Fgevat16Rvv
 .type b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR7pbaarpgRvEXAF_8Fgevat16Rvv,%function
 b__MA7naqebvq10PnzrenOnfrVAF_6PnzrenRAF_12PnzrenGenvgfVF1_RRR7pbaarpgRvEXAF_8Fgevat16Rvv:
 nop
@@ -4928,7 +4928,7 @@
 b__MA7naqebvq16PnzrenCnenzrgref15XRL_SBPHF_NERNFR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR
+.weak b__MGIA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR
 .type b__MGIA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR,%object
 b__MGIA7naqebvq30OcPnzrenErpbeqvatCebklYvfgrareR:
 .space __SIZEOF_POINTER__
@@ -4953,12 +4953,12 @@
 b__MA7naqebvq8uneqjner7pnzren218OcPnzrenQrivprHfre12qryrgrFgernzRv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAFg3__113__irpgbe_onfrVA7naqebvq4ivrj7FhesnprRAF_9nyybpngbeVF3_RRRQ2Ri
+.weak b__MAFg3__113__irpgbe_onfrVA7naqebvq4ivrj7FhesnprRAF_9nyybpngbeVF3_RRRQ2Ri
 .type b__MAFg3__113__irpgbe_onfrVA7naqebvq4ivrj7FhesnprRAF_9nyybpngbeVF3_RRRQ2Ri,%function
 b__MAFg3__113__irpgbe_onfrVA7naqebvq4ivrj7FhesnprRAF_9nyybpngbeVF3_RRRQ2Ri:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_070.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_070.S
index 7a8310d..ddfc3d4 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_070.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_070.S
@@ -2299,16 +2299,14 @@
 DATA_WORD(local_label)
 .space (__SIZEOF_POINTER__ * 2)
 DATA_WORD(local_label)
-DATA_WORD(pread64)
-.space (__SIZEOF_POINTER__ * 1)
+.space (__SIZEOF_POINTER__ * 2)
 DATA_WORD(local_label)
 DATA_WORD(write)
 .space (__SIZEOF_POINTER__ * 1)
 DATA_WORD(local_label)
 .space (__SIZEOF_POINTER__ * 2)
 DATA_WORD(local_label)
-DATA_WORD(pwrite64)
-.space (__SIZEOF_POINTER__ * 1)
+.space (__SIZEOF_POINTER__ * 2)
 DATA_WORD(local_label)
 DATA_WORD(fchmod)
 .space (__SIZEOF_POINTER__ * 1)
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_073.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_073.S
index 9ad64a4..7cb6dc1 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_073.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_073.S
@@ -83,7 +83,7 @@
 b_ixTrgCulfvpnyQrivprSrngherf2:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -243,12 +243,12 @@
 b_ixHcqngrQrfpevcgbeFrgJvguGrzcyngr:
 nop
 .data
-.globl b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -318,7 +318,7 @@
 b_ixTrgCulfvpnyQrivprFhesnprFhccbegXUE:
 nop
 .data
-.globl b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -558,7 +558,7 @@
 b_ixGevzPbzznaqCbby:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -578,7 +578,7 @@
 b_ixTrgQrivprZrzbelPbzzvgzrag:
 nop
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -948,17 +948,17 @@
 b_ixQrfgeblQrfpevcgbeHcqngrGrzcyngr:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_074.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_074.S
index 340a9cf..fe67fa5 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_074.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_074.S
@@ -3,7 +3,7 @@
 .data
 .p2align 4
 .data
-.globl b__MGI13CebprffJevgre
+.weak b__MGI13CebprffJevgre
 .type b__MGI13CebprffJevgre,%object
 b__MGI13CebprffJevgre:
 .space __SIZEOF_POINTER__
@@ -13,7 +13,7 @@
 b__MAX13ZnccrqMvcSvyr17TrgSvyrQrfpevcgbeRi:
 nop
 .data
-.globl b__MGI11RagelErnqre
+.weak b__MGI11RagelErnqre
 .type b__MGI11RagelErnqre,%object
 b__MGI11RagelErnqre:
 .space __SIZEOF_POINTER__
@@ -78,7 +78,7 @@
 b__MA11mvc_nepuvir6JevgreQ2Ri:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
@@ -143,7 +143,7 @@
 b__MA10MvcNepuvirP1Rvo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRRP2Rz
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRRP2Rz
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRRP2Rz,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRRP2Rz:
 nop
@@ -183,7 +183,7 @@
 b__M12PybfrNepuvirC10MvcNepuvir:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz:
 nop
@@ -258,7 +258,7 @@
 b__MAX8MvcRagel19TrgZbqvsvpngvbaGvzrRi:
 nop
 .data
-.globl b__MGI10SvyrJevgre
+.weak b__MGI10SvyrJevgre
 .type b__MGI10SvyrJevgre,%object
 b__MGI10SvyrJevgre:
 .space __SIZEOF_POINTER__
@@ -328,7 +328,7 @@
 b__MA9MvcJevgrenFRBF_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA9MvcJevgre9SvyrRagelRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWF2_RRRiQcBG_
+.weak b__MAFg3__16irpgbeVA9MvcJevgre9SvyrRagelRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWF2_RRRiQcBG_
 .type b__MAFg3__16irpgbeVA9MvcJevgre9SvyrRagelRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWF2_RRRiQcBG_,%function
 b__MAFg3__16irpgbeVA9MvcJevgre9SvyrRagelRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWF2_RRRiQcBG_:
 nop
@@ -393,7 +393,7 @@
 b__MA11mvc_nepuvir7VasyngrREXAF_6ErnqreRwwCAF_6JevgreRCz:
 nop
 .data
-.globl b__MGI12ZrzbelJevgre
+.weak b__MGI12ZrzbelJevgre
 .type b__MGI12ZrzbelJevgre,%object
 b__MGI12ZrzbelJevgre:
 .space __SIZEOF_POINTER__
@@ -413,7 +413,7 @@
 b__MA9MvcJevgre11UnaqyrReebeRv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR6erfvmrRzEXp
+.weak b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR6erfvmrRzEXp
 .type b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR6erfvmrRzEXp,%function
 b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR6erfvmrRzEXp:
 nop
@@ -438,7 +438,7 @@
 b__MA9MvcJevgre10JevgrOlgrfRCXiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRzEXp
+.weak b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRzEXp
 .type b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRzEXp,%function
 b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR8__nccraqRzEXp:
 nop
@@ -460,7 +460,6 @@
 CALL(__stack_chk_fail)
 CALL(open)
 CALL(strerror)
-CALL(lseek64)
 CALL(b__MA10MvcNepuvirQ2Ri)
 CALL(memcpy)
 CALL(b__MAXFg3__121__onfvp_fgevat_pbzzbaVYo1RR20__guebj_yratgu_reebeRi)
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_078.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_078.S
index 611835f..6e2b208 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_078.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_078.S
@@ -3,12 +3,12 @@
 .data
 .p2align 4
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .data
-.globl b__MGPA7naqebvq21OcErzbgrQvfcynlPyvragR0_AF_11OcVagresnprVAF_20VErzbgrQvfcynlPyvragRRR
+.weak b__MGPA7naqebvq21OcErzbgrQvfcynlPyvragR0_AF_11OcVagresnprVAF_20VErzbgrQvfcynlPyvragRRR
 .type b__MGPA7naqebvq21OcErzbgrQvfcynlPyvragR0_AF_11OcVagresnprVAF_20VErzbgrQvfcynlPyvragRRR,%object
 b__MGPA7naqebvq21OcErzbgrQvfcynlPyvragR0_AF_11OcVagresnprVAF_20VErzbgrQvfcynlPyvragRRR:
 .space __SIZEOF_POINTER__
@@ -18,7 +18,7 @@
 b__MA7naqebvq13ZrqvnCebsvyrf19fgnegRyrzragUnaqyreRCiCXpCF3_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR10qb_qrfgeblRCiz:
 nop
@@ -33,7 +33,7 @@
 b__MGIA7naqebvq13ZrqvnErpbeqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -43,7 +43,7 @@
 b__MA7naqebvq11ZrqvnCynlre20trgIbyhzrFuncreFgngrRv:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_22VZrqvnRkgenpgbeFreivprRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_22VZrqvnRkgenpgbeFreivprRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_22VZrqvnRkgenpgbeFreivprRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_22VZrqvnRkgenpgbeFreivprRR10baNfOvaqreRi:
 nop
@@ -78,12 +78,12 @@
 b__MA7naqebvq11ZrqvnCynlre17frgNhqvbFrffvbaVqR15nhqvb_frffvba_g:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_7Fgevat8RRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_7Fgevat8RRR
 .type b__MGIA7naqebvq6IrpgbeVAF_7Fgevat8RRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_7Fgevat8RRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq23OcZrqvnRkgenpgbeFreivprR
+.weak b__MGGA7naqebvq23OcZrqvnRkgenpgbeFreivprR
 .type b__MGGA7naqebvq23OcZrqvnRkgenpgbeFreivprR,%object
 b__MGGA7naqebvq23OcZrqvnRkgenpgbeFreivprR:
 .space __SIZEOF_POINTER__
@@ -93,7 +93,7 @@
 b__MGPA7naqebvq15OaZrqvnErpbeqreR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR7qb_pbclRCiCXiz:
 nop
@@ -108,12 +108,12 @@
 b__MA7naqebvq19VZrqvnQrnguAbgvsvre19erzbirBovgErpvcvragREXAF_2jcVF0_RR:
 nop
 .data
-.globl b__MGPA7naqebvq16OcZrqvnRkgenpgbeR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq16OcZrqvnRkgenpgbeR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq16OcZrqvnRkgenpgbeR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq16OcZrqvnRkgenpgbeR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -138,7 +138,7 @@
 b__MA7naqebvq21OaErzbgrQvfcynlPyvrag10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_19VZrqvnCynlreFreivprRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_19VZrqvnCynlreFreivprRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_19VZrqvnCynlreFreivprRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_19VZrqvnCynlreFreivprRR10baNfOvaqreRi:
 nop
@@ -168,17 +168,17 @@
 b__MGGA7naqebvq20VZrqvnUGGCPbaarpgvbaR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR8qb_fcyngRCiCXiz:
 nop
@@ -188,12 +188,12 @@
 b__MAX7naqebvq22VZrqvnRkgenpgbeFreivpr22trgVagresnprQrfpevcgbeRi:
 nop
 .data
-.globl b__MGIA7naqebvq23OcErfbheprZnantrePyvragR
+.weak b__MGIA7naqebvq23OcErfbheprZnantrePyvragR
 .type b__MGIA7naqebvq23OcErfbheprZnantrePyvragR,%object
 b__MGIA7naqebvq23OcErfbheprZnantrePyvragR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq16OcFgernzYvfgrareR0_AF_11OcVagresnprVAF_15VFgernzYvfgrareRRR
+.weak b__MGPA7naqebvq16OcFgernzYvfgrareR0_AF_11OcVagresnprVAF_15VFgernzYvfgrareRRR
 .type b__MGPA7naqebvq16OcFgernzYvfgrareR0_AF_11OcVagresnprVAF_15VFgernzYvfgrareRRR,%object
 b__MGPA7naqebvq16OcFgernzYvfgrareR0_AF_11OcVagresnprVAF_15VFgernzYvfgrareRRR:
 .space __SIZEOF_POINTER__
@@ -208,17 +208,17 @@
 b__MA7naqebvq11ZrqvnCynlre18trgPheeragCbfvgvbaRCv:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVCA7naqebvq7VZrzbelRAF_4cnveVAF2_2fcVF3_RRzRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR21__rzcynpr_havdhr_vzcyVWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF4_RRRAFY_VWEXF7_EzRRRRRRAF5_VAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVCA7naqebvq7VZrzbelRAF_4cnveVAF2_2fcVF3_RRzRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR21__rzcynpr_havdhr_vzcyVWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF4_RRRAFY_VWEXF7_EzRRRRRRAF5_VAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVCA7naqebvq7VZrzbelRAF_4cnveVAF2_2fcVF3_RRzRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR21__rzcynpr_havdhr_vzcyVWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF4_RRRAFY_VWEXF7_EzRRRRRRAF5_VAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVCA7naqebvq7VZrzbelRAF_4cnveVAF2_2fcVF3_RRzRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR21__rzcynpr_havdhr_vzcyVWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF4_RRRAFY_VWEXF7_EzRRRRRRAF5_VAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRRQcBG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq2fcVAF2_7VZrzbelRRRRRAF_19__znc_inyhr_pbzcnerVzF6_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq2fcVAF2_7VZrzbelRRRRRAF_19__znc_inyhr_pbzcnerVzF6_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq2fcVAF2_7VZrzbelRRRRRAF_19__znc_inyhr_pbzcnerVzF6_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq2fcVAF2_7VZrzbelRRRRRAF_19__znc_inyhr_pbzcnerVzF6_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
 .data
-.globl b__MGPA7naqebvq20OcZrqvnCynlreFreivprR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq20OcZrqvnCynlreFreivprR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq20OcZrqvnCynlreFreivprR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq20OcZrqvnCynlreFreivprR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -233,12 +233,12 @@
 b__MA7naqebvq13ZrqvnCebsvyrf26perngrQrsnhygIvqrbQrpbqrefRCF0_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR12qb_pbafgehpgRCiz:
 nop
@@ -263,12 +263,12 @@
 b__MA7naqebvq14VZrqvnErpbeqreQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVsR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVsR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVsR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR12qb_pbafgehpgRCiz:
 nop
@@ -283,7 +283,7 @@
 b__MAX7naqebvq13ZrqvnCebsvyrf29trgVzntrRapbqvatDhnyvglYriryfRv:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -298,7 +298,7 @@
 b__MA7naqebvq17VZrqvnUGGCFreivpr12qrsnhyg_vzcyR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -388,7 +388,7 @@
 b__MGGA7naqebvq14VErzbgrQvfcynlR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq23OcErfbheprZnantrePyvragR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq23OcErfbheprZnantrePyvragR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq23OcErfbheprZnantrePyvragR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq23OcErfbheprZnantrePyvragR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -453,12 +453,12 @@
 b__MAX7naqebvq12VZrqvnCynlre22trgVagresnprQrfpevcgbeRi:
 nop
 .data
-.globl b__MGPA7naqebvq13OcZrqvnCynlreR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq13OcZrqvnCynlreR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq13OcZrqvnCynlreR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq13OcZrqvnCynlreR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -478,17 +478,17 @@
 b__MA7naqebvq13VFgernzFbhepr14frgQrsnhygVzcyRAFg3__110havdhr_cgeVF0_AF1_14qrsnhyg_qryrgrVF0_RRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_5zrqvn14ZvpebcubarVasbRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR
+.weak b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_5zrqvn14ZvpebcubarVasbRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR
 .type b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_5zrqvn14ZvpebcubarVasbRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR,%function
 b__MAX7naqebvq6Cnepry20ernqCneprynoyrIrpgbeVAF_5zrqvn14ZvpebcubarVasbRRRvCAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRRR:
 .space __SIZEOF_POINTER__
@@ -548,7 +548,7 @@
 b__MA7naqebvq19VZrqvnCynlreFreivpr14frgQrsnhygVzcyRAFg3__110havdhr_cgeVF0_AF1_14qrsnhyg_qryrgrVF0_RRRR:
 nop
 .data
-.globl b__MGIA7naqebvq21OcErzbgrQvfcynlPyvragR
+.weak b__MGIA7naqebvq21OcErzbgrQvfcynlPyvragR
 .type b__MGIA7naqebvq21OcErzbgrQvfcynlPyvragR,%object
 b__MGIA7naqebvq21OcErzbgrQvfcynlPyvragR:
 .space __SIZEOF_POINTER__
@@ -568,22 +568,22 @@
 b__MA7naqebvq13ZrqvnErfbheprP1RAF0_4GlcrRAF0_7FhoGlcrRz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF0_VsRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF0_VsRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF0_VsRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF0_VsRRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_20VErzbgrQvfcynlPyvragRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_20VErzbgrQvfcynlPyvragRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_20VErzbgrQvfcynlPyvragRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_20VErzbgrQvfcynlPyvragRR10baNfOvaqreRi:
 nop
@@ -598,7 +598,7 @@
 b__MA7naqebvq13ZrqvnCebsvyrf20fIvqrbQrpbqreAnzrZncR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -618,7 +618,7 @@
 b__MA7naqebvq12ZrqvnFpnaare9frgYbpnyrRCXp:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -633,12 +633,12 @@
 b__MA7naqebvq11ZrqvnCynlre11frgYvfgrareREXAF_2fcVAF_19ZrqvnCynlreYvfgrareRRR:
 nop
 .data
-.globl b__MGIA7naqebvq20OcZrqvnCynlreFreivprR
+.weak b__MGIA7naqebvq20OcZrqvnCynlreFreivprR
 .type b__MGIA7naqebvq20OcZrqvnCynlreFreivprR,%object
 b__MGIA7naqebvq20OcZrqvnCynlreFreivprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRRR:
 .space __SIZEOF_POINTER__
@@ -653,12 +653,12 @@
 b__MGGA7naqebvq13OaZrqvnCynlreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF0_VsRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF0_VsRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF0_VsRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF0_VsRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .data
-.globl b__MGPA7naqebvq14OcFgernzFbheprR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq14OcFgernzFbheprR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq14OcFgernzFbheprR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq14OcFgernzFbheprR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -668,7 +668,7 @@
 b__MA7naqebvq13ZrqvnErpbeqre15frgIvqrbRapbqreRv:
 nop
 .data
-.globl b__MGIA7naqebvq24OcZrqvnZrgnqngnErgevrireR
+.weak b__MGIA7naqebvq24OcZrqvnZrgnqngnErgevrireR
 .type b__MGIA7naqebvq24OcZrqvnZrgnqngnErgevrireR,%object
 b__MGIA7naqebvq24OcZrqvnZrgnqngnErgevrireR:
 .space __SIZEOF_POINTER__
@@ -678,7 +678,7 @@
 b__MGPA7naqebvq21OaZrqvnErpbeqrePyvragR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq2fcVAF2_7VZrzbelRRRRRAF_19__znc_inyhr_pbzcnerVzF6_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF6_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq2fcVAF2_7VZrzbelRRRRRAF_19__znc_inyhr_pbzcnerVzF6_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF6_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq2fcVAF2_7VZrzbelRRRRRAF_19__znc_inyhr_pbzcnerVzF6_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF6_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq2fcVAF2_7VZrzbelRRRRRAF_19__znc_inyhr_pbzcnerVzF6_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF6_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRR:
 nop
@@ -698,22 +698,22 @@
 b__MA7naqebvq23VZrqvnZrgnqngnErgevrireQ2Ri:
 nop
 .data
-.globl b__MGPA7naqebvq18OcZrqvnUGGCFreivprR0_AF_11OcVagresnprVAF_17VZrqvnUGGCFreivprRRR
+.weak b__MGPA7naqebvq18OcZrqvnUGGCFreivprR0_AF_11OcVagresnprVAF_17VZrqvnUGGCFreivprRRR
 .type b__MGPA7naqebvq18OcZrqvnUGGCFreivprR0_AF_11OcVagresnprVAF_17VZrqvnUGGCFreivprRRR,%object
 b__MGPA7naqebvq18OcZrqvnUGGCFreivprR0_AF_11OcVagresnprVAF_17VZrqvnUGGCFreivprRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq15OcErzbgrQvfcynlR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq15OcErzbgrQvfcynlR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq15OcErzbgrQvfcynlR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq15OcErzbgrQvfcynlR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq21OcErzbgrQvfcynlPyvragR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq21OcErzbgrQvfcynlPyvragR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq21OcErzbgrQvfcynlPyvragR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq21OcErzbgrQvfcynlPyvragR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_13VFgernzFbheprRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_13VFgernzFbheprRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_13VFgernzFbheprRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_13VFgernzFbheprRR10baNfOvaqreRi:
 nop
@@ -723,7 +723,7 @@
 b__MGi0_a24_A7naqebvq23VZrqvnZrgnqngnErgevrireQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR7qb_pbclRCiCXiz:
 nop
@@ -748,7 +748,7 @@
 b__MA7naqebvq23VZrqvnZrgnqngnErgevrire10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq24OcZrqvnZrgnqngnErgevrireR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq24OcZrqvnZrgnqngnErgevrireR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq24OcZrqvnZrgnqngnErgevrireR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq24OcZrqvnZrgnqngnErgevrireR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -758,7 +758,7 @@
 b__MA7naqebvq25PunenpgreRapbqvatQrgrpgbe16qrgrpgNaqPbairegRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR8qb_fcyngRCiCXiz:
 nop
@@ -768,7 +768,7 @@
 b__MA7naqebvq11ZrqvnCynlre22frgIvqrbFhesnprGrkgherREXAF_2fcVAF_22VTencuvpOhssreCebqhpreRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR8qb_fcyngRCiCXiz:
 nop
@@ -798,7 +798,7 @@
 b__MGi0_a24_A7naqebvq22VErfbheprZnantrePyvragQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -863,7 +863,7 @@
 b__MA7naqebvq25PunenpgreRapbqvatQrgrpgbe6nqqGntRCXpF2_:
 nop
 .data
-.globl b__MGPA7naqebvq12OcQngnFbheprR0_AF_11VQngnFbheprR
+.weak b__MGPA7naqebvq12OcQngnFbheprR0_AF_11VQngnFbheprR
 .type b__MGPA7naqebvq12OcQngnFbheprR0_AF_11VQngnFbheprR,%object
 b__MGPA7naqebvq12OcQngnFbheprR0_AF_11VQngnFbheprR:
 .space __SIZEOF_POINTER__
@@ -908,7 +908,7 @@
 b__MA7naqebvq15VFgernzYvfgrare10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_13bhgchg_sbezngRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_13bhgchg_sbezngRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_13bhgchg_sbezngRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_13bhgchg_sbezngRRR:
 .space __SIZEOF_POINTER__
@@ -918,7 +918,7 @@
 b__MA7naqebvq11ZrqvnCynlre5erfrgRi:
 nop
 .data
-.globl b__MGPA7naqebvq21OcZrqvnErpbeqrePyvragR0_AF_11OcVagresnprVAF_20VZrqvnErpbeqrePyvragRRR
+.weak b__MGPA7naqebvq21OcZrqvnErpbeqrePyvragR0_AF_11OcVagresnprVAF_20VZrqvnErpbeqrePyvragRRR
 .type b__MGPA7naqebvq21OcZrqvnErpbeqrePyvragR0_AF_11OcVagresnprVAF_20VZrqvnErpbeqrePyvragRRR,%object
 b__MGPA7naqebvq21OcZrqvnErpbeqrePyvragR0_AF_11OcVagresnprVAF_20VZrqvnErpbeqrePyvragRRR:
 .space __SIZEOF_POINTER__
@@ -953,12 +953,12 @@
 b__MA7naqebvq20VZrqvnErpbeqrePyvragQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVvR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVCA7naqebvq7VZrzbelRAF_4cnveVAF2_2fcVF3_RRzRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVCA7naqebvq7VZrzbelRAF_4cnveVAF2_2fcVF3_RRzRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVCA7naqebvq7VZrzbelRAF_4cnveVAF2_2fcVF3_RRzRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVCA7naqebvq7VZrzbelRAF_4cnveVAF2_2fcVF3_RRzRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR:
 nop
@@ -968,7 +968,7 @@
 b__MA7naqebvq13VFgernzFbhepr14trgQrsnhygVzcyRi:
 nop
 .data
-.globl b__MGGA7naqebvq16OcFgernzYvfgrareR
+.weak b__MGGA7naqebvq16OcFgernzYvfgrareR
 .type b__MGGA7naqebvq16OcFgernzYvfgrareR,%object
 b__MGGA7naqebvq16OcFgernzYvfgrareR:
 .space __SIZEOF_POINTER__
@@ -988,7 +988,7 @@
 b__MGPA7naqebvq24OaErfbheprZnantreFreivprR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR10qb_qrfgeblRCiz:
 nop
@@ -998,7 +998,7 @@
 b__MGIA7naqebvq14VZrqvnErpbeqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVCA7naqebvq7VZrzbelRAF_4cnveVAF2_2fcVF3_RRzRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVCA7naqebvq7VZrzbelRAF_4cnveVAF2_2fcVF3_RRzRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVCA7naqebvq7VZrzbelRAF_4cnveVAF2_2fcVF3_RRzRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVCA7naqebvq7VZrzbelRAF_4cnveVAF2_2fcVF3_RRzRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRR:
 nop
@@ -1008,7 +1008,7 @@
 b__MA7naqebvq20VErzbgrQvfcynlPyvragQ2Ri:
 nop
 .data
-.globl b__MGPA7naqebvq16OcZrqvnRkgenpgbeR0_AF_11OcVagresnprVAF_15VZrqvnRkgenpgbeRRR
+.weak b__MGPA7naqebvq16OcZrqvnRkgenpgbeR0_AF_11OcVagresnprVAF_15VZrqvnRkgenpgbeRRR
 .type b__MGPA7naqebvq16OcZrqvnRkgenpgbeR0_AF_11OcVagresnprVAF_15VZrqvnRkgenpgbeRRR,%object
 b__MGPA7naqebvq16OcZrqvnRkgenpgbeR0_AF_11OcVagresnprVAF_15VZrqvnRkgenpgbeRRR:
 .space __SIZEOF_POINTER__
@@ -1038,7 +1038,7 @@
 b__MGIA7naqebvq12ZrqvnFpnaareR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRRR:
 .space __SIZEOF_POINTER__
@@ -1068,12 +1068,12 @@
 b__MA7naqebvq22VErfbheprZnantrePyvrag10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq12OcQngnFbheprR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq12OcQngnFbheprR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq12OcQngnFbheprR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq12OcQngnFbheprR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR0_AF_11OcVagresnprVAF_20VZrqvnUGGCPbaarpgvbaRRR
+.weak b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR0_AF_11OcVagresnprVAF_20VZrqvnUGGCPbaarpgvbaRRR
 .type b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR0_AF_11OcVagresnprVAF_20VZrqvnUGGCPbaarpgvbaRRR,%object
 b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR0_AF_11OcVagresnprVAF_20VZrqvnUGGCPbaarpgvbaRRR:
 .space __SIZEOF_POINTER__
@@ -1088,7 +1088,7 @@
 b__MGGA7naqebvq20OaZrqvnCynlreFreivprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_12VZrqvnCynlreRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_12VZrqvnCynlreRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_12VZrqvnCynlreRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_12VZrqvnCynlreRR10baNfOvaqreRi:
 nop
@@ -1098,7 +1098,7 @@
 b__MAX7naqebvq12ZrqvnFpnaare6ybpnyrRi:
 nop
 .data
-.globl b__MGIA7naqebvq13OcZrqvnFbheprR
+.weak b__MGIA7naqebvq13OcZrqvnFbheprR
 .type b__MGIA7naqebvq13OcZrqvnFbheprR,%object
 b__MGIA7naqebvq13OcZrqvnFbheprR:
 .space __SIZEOF_POINTER__
@@ -1108,7 +1108,7 @@
 b__MGIA7naqebvq15VFgernzYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR7qb_pbclRCiCXiz:
 nop
@@ -1118,7 +1118,7 @@
 b__MAX7naqebvq13ZrqvnCebsvyrf20trgBhgchgSvyrSbezngfRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR10qb_qrfgeblRCiz:
 nop
@@ -1168,12 +1168,12 @@
 b__MA7naqebvq19VZrqvnQrnguAbgvsvre14fQrnguAbgvsvreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MA7naqebvq13ZrqvnCebsvyrf8kzySvyrfR
+.weak b__MA7naqebvq13ZrqvnCebsvyrf8kzySvyrfR
 .type b__MA7naqebvq13ZrqvnCebsvyrf8kzySvyrfR,%object
 b__MA7naqebvq13ZrqvnCebsvyrf8kzySvyrfR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq24OcErfbheprZnantreFreivprR0_AF_11OcVagresnprVAF_23VErfbheprZnantreFreivprRRR
+.weak b__MGPA7naqebvq24OcErfbheprZnantreFreivprR0_AF_11OcVagresnprVAF_23VErfbheprZnantreFreivprRRR
 .type b__MGPA7naqebvq24OcErfbheprZnantreFreivprR0_AF_11OcVagresnprVAF_23VErfbheprZnantreFreivprRRR,%object
 b__MGPA7naqebvq24OcErfbheprZnantreFreivprR0_AF_11OcVagresnprVAF_23VErfbheprZnantreFreivprRRR:
 .space __SIZEOF_POINTER__
@@ -1193,7 +1193,7 @@
 b__MGIA7naqebvq22VErfbheprZnantrePyvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1218,17 +1218,17 @@
 b__MGi0_a24_A7naqebvq19VZrqvnCynlreFreivprQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq21OcZrqvnErpbeqrePyvragR0_AF_20VZrqvnErpbeqrePyvragR
+.weak b__MGPA7naqebvq21OcZrqvnErpbeqrePyvragR0_AF_20VZrqvnErpbeqrePyvragR
 .type b__MGPA7naqebvq21OcZrqvnErpbeqrePyvragR0_AF_20VZrqvnErpbeqrePyvragR,%object
 b__MGPA7naqebvq21OcZrqvnErpbeqrePyvragR0_AF_20VZrqvnErpbeqrePyvragR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq13OcZrqvnFbheprR0_AF_11OcVagresnprVAF_12VZrqvnFbheprRRR
+.weak b__MGPA7naqebvq13OcZrqvnFbheprR0_AF_11OcVagresnprVAF_12VZrqvnFbheprRRR
 .type b__MGPA7naqebvq13OcZrqvnFbheprR0_AF_11OcVagresnprVAF_12VZrqvnFbheprRRR,%object
 b__MGPA7naqebvq13OcZrqvnFbheprR0_AF_11OcVagresnprVAF_12VZrqvnFbheprRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq15OcErzbgrQvfcynlR0_AF_14VErzbgrQvfcynlR
+.weak b__MGPA7naqebvq15OcErzbgrQvfcynlR0_AF_14VErzbgrQvfcynlR
 .type b__MGPA7naqebvq15OcErzbgrQvfcynlR0_AF_14VErzbgrQvfcynlR,%object
 b__MGPA7naqebvq15OcErzbgrQvfcynlR0_AF_14VErzbgrQvfcynlR:
 .space __SIZEOF_POINTER__
@@ -1238,7 +1238,7 @@
 b__MA7naqebvq15VFgernzYvfgrare12qrsnhyg_vzcyR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRRR:
 .space __SIZEOF_POINTER__
@@ -1248,12 +1248,12 @@
 b__MA7naqebvq11VQngnFbhepr10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq21OcZrqvnErpbeqrePyvragR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq21OcZrqvnErpbeqrePyvragR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq21OcZrqvnErpbeqrePyvragR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq21OcZrqvnErpbeqrePyvragR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR8qb_fcyngRCiCXiz:
 nop
@@ -1268,7 +1268,7 @@
 b__MA7naqebvq11FgevatNeenl9chfu_onpxRCXp:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1278,12 +1278,12 @@
 b__MGIA7naqebvq15OaZrqvnErpbeqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq15OcZrqvnErpbeqreR
+.weak b__MGIA7naqebvq15OcZrqvnErpbeqreR
 .type b__MGIA7naqebvq15OcZrqvnErpbeqreR,%object
 b__MGIA7naqebvq15OcZrqvnErpbeqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR10qb_qrfgeblRCiz:
 nop
@@ -1308,7 +1308,7 @@
 b__MGGA7naqebvq22ZrqvnZrgnqngnErgevrire13QrnguAbgvsvreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq16OcZrqvnRkgenpgbeR0_AF_15VZrqvnRkgenpgbeR
+.weak b__MGPA7naqebvq16OcZrqvnRkgenpgbeR0_AF_15VZrqvnRkgenpgbeR
 .type b__MGPA7naqebvq16OcZrqvnRkgenpgbeR0_AF_15VZrqvnRkgenpgbeR,%object
 b__MGPA7naqebvq16OcZrqvnRkgenpgbeR0_AF_15VZrqvnRkgenpgbeR:
 .space __SIZEOF_POINTER__
@@ -1318,12 +1318,12 @@
 b__MGi0_a24_A7naqebvq20VZrqvnErpbeqrePyvragQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .data
-.globl b__MGPA7naqebvq24OcZrqvnZrgnqngnErgevrireR0_AF_23VZrqvnZrgnqngnErgevrireR
+.weak b__MGPA7naqebvq24OcZrqvnZrgnqngnErgevrireR0_AF_23VZrqvnZrgnqngnErgevrireR
 .type b__MGPA7naqebvq24OcZrqvnZrgnqngnErgevrireR0_AF_23VZrqvnZrgnqngnErgevrireR,%object
 b__MGPA7naqebvq24OcZrqvnZrgnqngnErgevrireR0_AF_23VZrqvnZrgnqngnErgevrireR:
 .space __SIZEOF_POINTER__
@@ -1338,7 +1338,7 @@
 b__MGGA7naqebvq15OaZrqvnErpbeqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq15OcZrqvnErpbeqreR
+.weak b__MGGA7naqebvq15OcZrqvnErpbeqreR
 .type b__MGGA7naqebvq15OcZrqvnErpbeqreR,%object
 b__MGGA7naqebvq15OcZrqvnErpbeqreR:
 .space __SIZEOF_POINTER__
@@ -1413,7 +1413,7 @@
 b__MGGA7naqebvq12OaQngnFbheprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1448,7 +1448,7 @@
 b__MA7naqebvq11ZrqvnCynlre6vaibxrREXAF_6CnepryRCF1_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1473,7 +1473,7 @@
 b__MGua8_A7naqebvq24OaErfbheprZnantreFreivpr10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR12qb_pbafgehpgRCiz:
 nop
@@ -1493,7 +1493,7 @@
 b__MA7naqebvq13ZrqvnCebsvyrf21perngrNhqvbQrpbqrePncRCCXp:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -1503,7 +1503,7 @@
 b__MGi0_a24_A7naqebvq20VErzbgrQvfcynlPyvragQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR7qb_pbclRCiCXiz:
 nop
@@ -1538,12 +1538,12 @@
 b__MA7naqebvq13ZrqvnCebsvyrf26perngrQrsnhygNhqvbQrpbqrefRCF0_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1558,7 +1558,7 @@
 b__MA7naqebvq20VZrqvnErpbeqrePyvragQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR8qb_fcyngRCiCXiz:
 nop
@@ -1573,7 +1573,7 @@
 b__MA7naqebvq11ZrqvnCynlre13trgIvqrbJvqguRCv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR10qb_qrfgeblRCiz:
 nop
@@ -1603,7 +1603,7 @@
 b__MA7naqebvq20VErzbgrQvfcynlPyvragQ1Ri:
 nop
 .data
-.globl b__MGIA7naqebvq14OcFgernzFbheprR
+.weak b__MGIA7naqebvq14OcFgernzFbheprR
 .type b__MGIA7naqebvq14OcFgernzFbheprR,%object
 b__MGIA7naqebvq14OcFgernzFbheprR:
 .space __SIZEOF_POINTER__
@@ -1618,7 +1618,7 @@
 b__MGPA7naqebvq12OaQngnFbheprR0_AF_11VQngnFbheprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR7qb_pbclRCiCXiz:
 nop
@@ -1628,12 +1628,12 @@
 b__MA7naqebvq11FgevatNeenlQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq20OcZrqvnCynlreFreivprR0_AF_19VZrqvnCynlreFreivprR
+.weak b__MGPA7naqebvq20OcZrqvnCynlreFreivprR0_AF_19VZrqvnCynlreFreivprR
 .type b__MGPA7naqebvq20OcZrqvnCynlreFreivprR0_AF_19VZrqvnCynlreFreivprR,%object
 b__MGPA7naqebvq20OcZrqvnCynlreFreivprR0_AF_19VZrqvnCynlreFreivprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq15OcZrqvnErpbeqreR0_AF_14VZrqvnErpbeqreR
+.weak b__MGPA7naqebvq15OcZrqvnErpbeqreR0_AF_14VZrqvnErpbeqreR
 .type b__MGPA7naqebvq15OcZrqvnErpbeqreR0_AF_14VZrqvnErpbeqreR,%object
 b__MGPA7naqebvq15OcZrqvnErpbeqreR0_AF_14VZrqvnErpbeqreR:
 .space __SIZEOF_POINTER__
@@ -1693,7 +1693,7 @@
 b__MA7naqebvq13ZrqvnCebsvyrf11trgVafgnaprRi:
 nop
 .data
-.globl b__MGPA7naqebvq21OcErzbgrQvfcynlPyvragR0_AF_20VErzbgrQvfcynlPyvragR
+.weak b__MGPA7naqebvq21OcErzbgrQvfcynlPyvragR0_AF_20VErzbgrQvfcynlPyvragR
 .type b__MGPA7naqebvq21OcErzbgrQvfcynlPyvragR0_AF_20VErzbgrQvfcynlPyvragR,%object
 b__MGPA7naqebvq21OcErzbgrQvfcynlPyvragR0_AF_20VErzbgrQvfcynlPyvragR:
 .space __SIZEOF_POINTER__
@@ -1718,7 +1718,7 @@
 b__MA7naqebvq12VZrqvnCynlre11nfVagresnprREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .data
-.globl b__MGGA7naqebvq21OcErzbgrQvfcynlPyvragR
+.weak b__MGGA7naqebvq21OcErzbgrQvfcynlPyvragR
 .type b__MGGA7naqebvq21OcErzbgrQvfcynlPyvragR,%object
 b__MGGA7naqebvq21OcErzbgrQvfcynlPyvragR:
 .space __SIZEOF_POINTER__
@@ -1733,7 +1733,7 @@
 b__MA7naqebvq13ZrqvnCebsvyrf26perngrQrsnhygIvqrbRapbqrefRCF0_:
 nop
 .data
-.globl b__MGIA7naqebvq12OcQngnFbheprR
+.weak b__MGIA7naqebvq12OcQngnFbheprR
 .type b__MGIA7naqebvq12OcQngnFbheprR,%object
 b__MGIA7naqebvq12OcQngnFbheprR:
 .space __SIZEOF_POINTER__
@@ -1748,7 +1748,7 @@
 b__MGGA7naqebvq16OaFgernzYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1763,7 +1763,7 @@
 b__MA7naqebvq12ZrqvnFpnaareQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR7qb_pbclRCiCXiz:
 nop
@@ -1778,7 +1778,7 @@
 b__MGPA7naqebvq15OaZrqvnErpbeqreR0_AF_11OaVagresnprVAF_14VZrqvnErpbeqreRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq14OcFgernzFbheprR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq14OcFgernzFbheprR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq14OcFgernzFbheprR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq14OcFgernzFbheprR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -1798,7 +1798,7 @@
 b__MGPA7naqebvq12OaQngnFbheprR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR0_AF_19ZrqvnUGGCPbaarpgvbaR
+.weak b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR0_AF_19ZrqvnUGGCPbaarpgvbaR
 .type b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR0_AF_19ZrqvnUGGCPbaarpgvbaR,%object
 b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR0_AF_19ZrqvnUGGCPbaarpgvbaR:
 .space __SIZEOF_POINTER__
@@ -1823,7 +1823,7 @@
 b__MA7naqebvq13ZrqvnNyohzNeg8sebzQngnRvCXi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR12qb_pbafgehpgRCiz:
 nop
@@ -1848,7 +1848,7 @@
 b__MA7naqebvq12VZrqvnFbhepr14trgQrsnhygVzcyRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1898,7 +1898,7 @@
 b__MA7naqebvq5zrqvn8Zrgnqngn8purpxXrlRv:
 nop
 .data
-.globl b__MGPA7naqebvq23OcErfbheprZnantrePyvragR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq23OcErfbheprZnantrePyvragR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq23OcErfbheprZnantrePyvragR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq23OcErfbheprZnantrePyvragR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -1913,7 +1913,7 @@
 b__MA7naqebvq18yvzvgCebprffZrzbelRCXpzz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR7qb_pbclRCiCXiz:
 nop
@@ -1933,12 +1933,12 @@
 b__MGPA7naqebvq15OaErzbgrQvfcynlR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCX13HPunefrgZngpuRR
+.weak b__MGIA7naqebvq6IrpgbeVCX13HPunefrgZngpuRR
 .type b__MGIA7naqebvq6IrpgbeVCX13HPunefrgZngpuRR,%object
 b__MGIA7naqebvq6IrpgbeVCX13HPunefrgZngpuRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR10qb_pbzcnerRCXiF6_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR10qb_pbzcnerRCXiF6_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR10qb_pbzcnerRCXiF6_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR10qb_pbzcnerRCXiF6_:
 nop
@@ -1953,7 +1953,7 @@
 b__MA7naqebvq20NZrqvnSbezng_sebzZftRCAF_2fcVAF_8NZrffntrRRR:
 nop
 .data
-.globl b__MGIA7naqebvq16OcZrqvnRkgenpgbeR
+.weak b__MGIA7naqebvq16OcZrqvnRkgenpgbeR
 .type b__MGIA7naqebvq16OcZrqvnRkgenpgbeR,%object
 b__MGIA7naqebvq16OcZrqvnRkgenpgbeR:
 .space __SIZEOF_POINTER__
@@ -1963,7 +1963,7 @@
 b__MA7naqebvq13ZrqvnCebsvyrf42perngrQrsnhygPnzpbeqreGvzrYncfrDpvsCebsvyrRAF_17pnzpbeqre_dhnyvglR:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_20VZrqvnErpbeqrePyvragRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_20VZrqvnErpbeqrePyvragRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_20VZrqvnErpbeqrePyvragRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_20VZrqvnErpbeqrePyvragRR10baNfOvaqreRi:
 nop
@@ -1973,7 +1973,7 @@
 b__MA7naqebvq13ZrqvnErfbhepr14ernqSebzCnepryREXAF_6CnepryR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR10qb_qrfgeblRCiz:
 nop
@@ -1993,17 +1993,17 @@
 b__MA7naqebvq22ZrqvnZrgnqngnErgevrireP1Ri:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR7qb_pbclRCiCXiz:
 nop
@@ -2018,7 +2018,7 @@
 b__MAX7naqebvq13ZrqvnCebsvyrf24trgPnzpbeqreCebsvyrVaqrkRvAF_17pnzpbeqre_dhnyvglR:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF0_VsRRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF0_VsRRRR
 .type b__MGIA7naqebvq6IrpgbeVAF0_VsRRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF0_VsRRRR:
 .space __SIZEOF_POINTER__
@@ -2033,7 +2033,7 @@
 b__MAX7naqebvq13ZrqvnCebsvyrf16trgIvqrbQrpbqrefRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_:
 nop
@@ -2088,7 +2088,7 @@
 b__MAX7naqebvq13ZrqvnCebsvyrf16trgNhqvbQrpbqrefRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR10qb_qrfgeblRCiz:
 nop
@@ -2173,12 +2173,12 @@
 b__MA7naqebvq23VZrqvnZrgnqngnErgevrire12qrsnhyg_vzcyR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR12qb_pbafgehpgRCiz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRRR:
 .space __SIZEOF_POINTER__
@@ -2188,7 +2188,7 @@
 b__MGua8_A7naqebvq21OaZrqvnErpbeqrePyvrag10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2223,12 +2223,12 @@
 b__MA7naqebvq22ZrqvnZrgnqngnErgevrire15rkgenpgNyohzNegRi:
 nop
 .data
-.globl b__MGIA7naqebvq24OcErfbheprZnantreFreivprR
+.weak b__MGIA7naqebvq24OcErfbheprZnantreFreivprR
 .type b__MGIA7naqebvq24OcErfbheprZnantreFreivprR,%object
 b__MGIA7naqebvq24OcErfbheprZnantreFreivprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_11VQngnFbheprRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_11VQngnFbheprRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_11VQngnFbheprRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_11VQngnFbheprRR10baNfOvaqreRi:
 nop
@@ -2238,22 +2238,22 @@
 b__MA7naqebvq20VZrqvnUGGCPbaarpgvba14frgQrsnhygVzcyRAFg3__110havdhr_cgeVF0_AF1_14qrsnhyg_qryrgrVF0_RRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_22VErfbheprZnantrePyvragRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_22VErfbheprZnantrePyvragRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_22VErfbheprZnantrePyvragRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_22VErfbheprZnantrePyvragRR10baNfOvaqreRi:
 nop
@@ -2283,12 +2283,12 @@
 b__MGPA7naqebvq11ZrqvnCynlreR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_19VZrqvnQrnguAbgvsvre13QrnguAbgvsvreRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_19VZrqvnQrnguAbgvsvre13QrnguAbgvsvreRRQ2Ri
 .type b__MA7naqebvq2fcVAF_19VZrqvnQrnguAbgvsvre13QrnguAbgvsvreRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_19VZrqvnQrnguAbgvsvre13QrnguAbgvsvreRRQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2303,7 +2303,7 @@
 b__MA7naqebvq12ZrqvnFpnaareQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -2313,7 +2313,7 @@
 b__MAX7naqebvq14VErzbgrQvfcynl22trgVagresnprQrfpevcgbeRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2333,7 +2333,7 @@
 b__MA7naqebvq22ZrqvnZrgnqngnErgevrire13frgQngnFbheprREXAF_2fcVAF_17VZrqvnUGGCFreivprRRRCXpCXAF_11XrlrqIrpgbeVAF_7Fgevat8RF9_RR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVuR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVuR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVuR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVuR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -2348,7 +2348,7 @@
 b__MGGA7naqebvq13OaZrqvnFbheprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq24OcErfbheprZnantreFreivprR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq24OcErfbheprZnantreFreivprR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq24OcErfbheprZnantreFreivprR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq24OcErfbheprZnantreFreivprR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -2358,7 +2358,7 @@
 b__MA7naqebvq13ZrqvnErpbeqre13frgCnenzrgrefREXAF_7Fgevat8R:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2378,7 +2378,7 @@
 b__MA7naqebvq18VZrqvnCynlrePyvrag14frgQrsnhygVzcyRAFg3__110havdhr_cgeVF0_AF1_14qrsnhyg_qryrgrVF0_RRRR:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRRR:
 .space __SIZEOF_POINTER__
@@ -2398,7 +2398,7 @@
 b__MGua8_A7naqebvq13ZrqvnErpbeqreQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR8qb_fcyngRCiCXiz:
 nop
@@ -2408,22 +2408,22 @@
 b__MA7naqebvq11ZrqvnCynlre12cercnerNflapRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVvR10qb_qrfgeblRCiz:
 nop
 .data
-.globl b__MGPA7naqebvq13OcZrqvnFbheprR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq13OcZrqvnFbheprR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq13OcZrqvnFbheprR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq13OcZrqvnFbheprR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -2438,7 +2438,7 @@
 b__MGua8_A7naqebvq17VZrqvnUGGCFreivprQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVuR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVuR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVuR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVuR10qb_qrfgeblRCiz:
 nop
@@ -2463,12 +2463,12 @@
 b__MGIA7naqebvq14VErzbgrQvfcynlR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVsR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVsR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVsR10qb_qrfgeblRCiz:
 nop
@@ -2478,7 +2478,7 @@
 b__MAX7naqebvq20VErzbgrQvfcynlPyvrag22trgVagresnprQrfpevcgbeRi:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRRR:
 .space __SIZEOF_POINTER__
@@ -2488,7 +2488,7 @@
 b__MGPA7naqebvq21OaZrqvnErpbeqrePyvragR0_AF_20VZrqvnErpbeqrePyvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF0_VsRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF0_VsRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF0_VsRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF0_VsRRR10qb_qrfgeblRCiz:
 nop
@@ -2498,7 +2498,7 @@
 b__MA7naqebvq13ZrqvnErpbeqreQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR12qb_pbafgehpgRCiz:
 nop
@@ -2518,7 +2518,7 @@
 b__MA7naqebvq15VZrqvnRkgenpgbeQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR7qb_pbclRCiCXiz:
 nop
@@ -2528,7 +2528,7 @@
 b__MGGA7naqebvq23OaZrqvnRkgenpgbeFreivprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_:
 nop
@@ -2538,7 +2538,7 @@
 b__MA7naqebvq11ZrqvnCynlre5fgnegRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR8qb_fcyngRCiCXiz:
 nop
@@ -2553,7 +2553,7 @@
 b__MAX7naqebvq13ZrqvnErfbheprrdREXF0_:
 nop
 .data
-.globl b__MGPA7naqebvq12OcQngnFbheprR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq12OcQngnFbheprR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq12OcQngnFbheprR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq12OcQngnFbheprR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -2583,12 +2583,12 @@
 b__MA7naqebvq18ZrqvnFpnaarePyvrag7raqSvyrRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR12qb_pbafgehpgRCiz:
 nop
 .data
-.globl b__MGIA7naqebvq21OcZrqvnErpbeqrePyvragR
+.weak b__MGIA7naqebvq21OcZrqvnErpbeqrePyvragR
 .type b__MGIA7naqebvq21OcZrqvnErpbeqrePyvragR,%object
 b__MGIA7naqebvq21OcZrqvnErpbeqrePyvragR:
 .space __SIZEOF_POINTER__
@@ -2603,7 +2603,7 @@
 b__MAX7naqebvq13ZrqvnCebsvyrf26trgIvqrbRapbqreCnenzOlAnzrRCXpAF_13ivqrb_rapbqreR:
 nop
 .text
-.globl b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_5zrqvn14ZvpebcubarVasbRRRvEXAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR
+.weak b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_5zrqvn14ZvpebcubarVasbRRRvEXAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR
 .type b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_5zrqvn14ZvpebcubarVasbRRRvEXAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR,%function
 b__MA7naqebvq6Cnepry21jevgrCneprynoyrIrpgbeVAF_5zrqvn14ZvpebcubarVasbRRRvEXAFg3__16irpgbeVG_AF4_9nyybpngbeVF6_RRRR:
 nop
@@ -2623,12 +2623,12 @@
 b__MA7naqebvq19VZrqvnCynlreFreivpr10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVssRRAF_19__znc_inyhr_pbzcnerVsF2_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVssRRAF_19__znc_inyhr_pbzcnerVsF2_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVssRRAF_19__znc_inyhr_pbzcnerVsF2_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVssRRAF_19__znc_inyhr_pbzcnerVsF2_AF_4yrffVsRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
 .data
-.globl b__MGPA7naqebvq13OcZrqvnCynlreR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq13OcZrqvnCynlreR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq13OcZrqvnCynlreR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq13OcZrqvnCynlreR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -2653,12 +2653,12 @@
 b__MA7naqebvq11ZrqvnCynlre12frgCnenzrgreRvEXAF_6CnepryR:
 nop
 .data
-.globl b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR16_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR16_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR16_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR16_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_15VZrqvnRkgenpgbeRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_15VZrqvnRkgenpgbeRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_15VZrqvnRkgenpgbeRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_15VZrqvnRkgenpgbeRR10baNfOvaqreRi:
 nop
@@ -2673,7 +2673,7 @@
 b__MGPA7naqebvq21OaZrqvnErpbeqrePyvragR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq16OcFgernzYvfgrareR0_AF_15VFgernzYvfgrareR
+.weak b__MGPA7naqebvq16OcFgernzYvfgrareR0_AF_15VFgernzYvfgrareR
 .type b__MGPA7naqebvq16OcFgernzYvfgrareR0_AF_15VFgernzYvfgrareR,%object
 b__MGPA7naqebvq16OcFgernzYvfgrareR0_AF_15VFgernzYvfgrareR:
 .space __SIZEOF_POINTER__
@@ -2703,7 +2703,7 @@
 b__MGIA7naqebvq23OaErfbheprZnantrePyvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR8qb_fcyngRCiCXiz:
 nop
@@ -2713,7 +2713,7 @@
 b__MA7naqebvq13ZrqvnErpbeqre17frgCerivrjFhesnprREXAF_2fcVAF_22VTencuvpOhssreCebqhpreRRR:
 nop
 .data
-.globl b__MGPA7naqebvq18OcZrqvnUGGCFreivprR0_AF_17VZrqvnUGGCFreivprR
+.weak b__MGPA7naqebvq18OcZrqvnUGGCFreivprR0_AF_17VZrqvnUGGCFreivprR
 .type b__MGPA7naqebvq18OcZrqvnUGGCFreivprR0_AF_17VZrqvnUGGCFreivprR,%object
 b__MGPA7naqebvq18OcZrqvnUGGCFreivprR0_AF_17VZrqvnUGGCFreivprR:
 .space __SIZEOF_POINTER__
@@ -2723,7 +2723,7 @@
 b__MGIA7naqebvq16OaZrqvnRkgenpgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_23VZrqvnZrgnqngnErgevrireRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_23VZrqvnZrgnqngnErgevrireRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_23VZrqvnZrgnqngnErgevrireRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_23VZrqvnZrgnqngnErgevrireRR10baNfOvaqreRi:
 nop
@@ -2738,7 +2738,7 @@
 b__MA7naqebvq11FgevatNeenlP1Ri:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_18VZrqvnCynlrePyvragRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_18VZrqvnCynlrePyvragRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_18VZrqvnCynlrePyvragRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_18VZrqvnCynlrePyvragRR10baNfOvaqreRi:
 nop
@@ -2748,7 +2748,7 @@
 b__MGIA7naqebvq15OaErzbgrQvfcynlR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq15OcErzbgrQvfcynlR
+.weak b__MGIA7naqebvq15OcErzbgrQvfcynlR
 .type b__MGIA7naqebvq15OcErzbgrQvfcynlR,%object
 b__MGIA7naqebvq15OcErzbgrQvfcynlR:
 .space __SIZEOF_POINTER__
@@ -2758,22 +2758,22 @@
 b__MGPA7naqebvq15VZrqvnRkgenpgbeR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq23OcZrqvnRkgenpgbeFreivprR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq23OcZrqvnRkgenpgbeFreivprR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq23OcZrqvnRkgenpgbeFreivprR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq23OcZrqvnRkgenpgbeFreivprR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq23OcZrqvnRkgenpgbeFreivprR
+.weak b__MGIA7naqebvq23OcZrqvnRkgenpgbeFreivprR
 .type b__MGIA7naqebvq23OcZrqvnRkgenpgbeFreivprR,%object
 b__MGIA7naqebvq23OcZrqvnRkgenpgbeFreivprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq19OcZrqvnCynlrePyvragR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq19OcZrqvnCynlrePyvragR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq19OcZrqvnCynlrePyvragR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq19OcZrqvnCynlrePyvragR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVsR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVsR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVsR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2783,12 +2783,12 @@
 b__MA7naqebvq13ZrqvnErpbeqre17frgArkgBhgchgSvyrRv:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2798,7 +2798,7 @@
 b__MGGA7naqebvq15OaErzbgrQvfcynlR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq15OcErzbgrQvfcynlR
+.weak b__MGGA7naqebvq15OcErzbgrQvfcynlR
 .type b__MGGA7naqebvq15OcErzbgrQvfcynlR,%object
 b__MGGA7naqebvq15OcErzbgrQvfcynlR:
 .space __SIZEOF_POINTER__
@@ -2813,7 +2813,7 @@
 b__MGua8_A7naqebvq23OaZrqvnRkgenpgbeFreivpr10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF0_VsRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF0_VsRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF0_VsRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF0_VsRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2823,17 +2823,17 @@
 b__MA7naqebvq18ZrqvnFpnaarePyvragQ2Ri:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq23OcZrqvnRkgenpgbeFreivprR0_AF_11OcVagresnprVAF_22VZrqvnRkgenpgbeFreivprRRR
+.weak b__MGPA7naqebvq23OcZrqvnRkgenpgbeFreivprR0_AF_11OcVagresnprVAF_22VZrqvnRkgenpgbeFreivprRRR
 .type b__MGPA7naqebvq23OcZrqvnRkgenpgbeFreivprR0_AF_11OcVagresnprVAF_22VZrqvnRkgenpgbeFreivprRRR,%object
 b__MGPA7naqebvq23OcZrqvnRkgenpgbeFreivprR0_AF_11OcVagresnprVAF_22VZrqvnRkgenpgbeFreivprRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5zrqvn12IbyhzrFuncre13PbasvthengvbaR
+.weak b__MGIA7naqebvq5zrqvn12IbyhzrFuncre13PbasvthengvbaR
 .type b__MGIA7naqebvq5zrqvn12IbyhzrFuncre13PbasvthengvbaR,%object
 b__MGIA7naqebvq5zrqvn12IbyhzrFuncre13PbasvthengvbaR:
 .space __SIZEOF_POINTER__
@@ -2863,12 +2863,12 @@
 b__MA7naqebvq13ZrqvnCebsvyrf30perngrQrsnhygPnzpbeqreCebsvyrfRCF0_:
 nop
 .data
-.globl b__MGPA7naqebvq13OcZrqvnFbheprR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq13OcZrqvnFbheprR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq13OcZrqvnFbheprR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq13OcZrqvnFbheprR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_19VZrqvnCynlreFreivprRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_19VZrqvnCynlreFreivprRRQ2Ri
 .type b__MA7naqebvq2fcVAF_19VZrqvnCynlreFreivprRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_19VZrqvnCynlreFreivprRRQ2Ri:
 nop
@@ -2893,12 +2893,12 @@
 b__MA7naqebvq13ZrqvnCebsvyrf20fNhqvbQrpbqreAnzrZncR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVuR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVuR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVuR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVuR7qb_pbclRCiCXiz:
 nop
@@ -2908,7 +2908,7 @@
 b__MGPA7naqebvq21OaErzbgrQvfcynlPyvragR0_AF_20VErzbgrQvfcynlPyvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR8qb_fcyngRCiCXiz:
 nop
@@ -2923,17 +2923,17 @@
 b__MA7naqebvq12VZrqvnCynlre12qrsnhyg_vzcyR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_7VZrzbelRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_7VZrzbelRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_7VZrzbelRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_7VZrzbelRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR7qb_pbclRCiCXiz:
 nop
@@ -2953,7 +2953,7 @@
 b__MA7naqebvq15VZrqvnRkgenpgbe14trgQrsnhygVzcyRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -2963,7 +2963,7 @@
 b__MA7naqebvq13ZrqvnCebsvyrf26perngrQrsnhygNhqvbRapbqrefRCF0_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2993,7 +2993,7 @@
 b__MGPA7naqebvq20OaZrqvnCynlreFreivprR0_AF_11OaVagresnprVAF_19VZrqvnCynlreFreivprRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq13OcZrqvnCynlreR
+.weak b__MGGA7naqebvq13OcZrqvnCynlreR
 .type b__MGGA7naqebvq13OcZrqvnCynlreR,%object
 b__MGGA7naqebvq13OcZrqvnCynlreR:
 .space __SIZEOF_POINTER__
@@ -3018,7 +3018,7 @@
 b__MA7naqebvq13ZrqvnNyohzNeg4vavgRCF0_vCXi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_qrfgeblRCiz:
 nop
@@ -3043,7 +3043,7 @@
 b__MA7naqebvq11ZrqvnCynlre19trgCynlonpxFrggvatfRCAF_17NhqvbCynlonpxEngrR:
 nop
 .data
-.globl b__MGPA7naqebvq19OcZrqvnCynlrePyvragR0_AF_18VZrqvnCynlrePyvragR
+.weak b__MGPA7naqebvq19OcZrqvnCynlrePyvragR0_AF_18VZrqvnCynlrePyvragR
 .type b__MGPA7naqebvq19OcZrqvnCynlrePyvragR0_AF_18VZrqvnCynlrePyvragR,%object
 b__MGPA7naqebvq19OcZrqvnCynlrePyvragR0_AF_18VZrqvnCynlrePyvragR:
 .space __SIZEOF_POINTER__
@@ -3058,7 +3058,7 @@
 b__MGGA7naqebvq17VZrqvnUGGCFreivprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -3068,12 +3068,12 @@
 b__MA7naqebvq14VErzbgrQvfcynlQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq23OcErfbheprZnantrePyvragR0_AF_11OcVagresnprVAF_22VErfbheprZnantrePyvragRRR
+.weak b__MGPA7naqebvq23OcErfbheprZnantrePyvragR0_AF_11OcVagresnprVAF_22VErfbheprZnantrePyvragRRR
 .type b__MGPA7naqebvq23OcErfbheprZnantrePyvragR0_AF_11OcVagresnprVAF_22VErfbheprZnantrePyvragRRR,%object
 b__MGPA7naqebvq23OcErfbheprZnantrePyvragR0_AF_11OcVagresnprVAF_22VErfbheprZnantrePyvragRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq16OcFgernzYvfgrareR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq16OcFgernzYvfgrareR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq16OcFgernzYvfgrareR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq16OcFgernzYvfgrareR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -3108,7 +3108,7 @@
 b__MGPA7naqebvq12VZrqvnCynlreR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF0_VsRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF0_VsRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF0_VsRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF0_VsRRR12qb_pbafgehpgRCiz:
 nop
@@ -3163,12 +3163,12 @@
 b__MA7naqebvq19VZrqvnCynlreFreivprQ0Ri:
 nop
 .data
-.globl b__MGPA7naqebvq15OcZrqvnErpbeqreR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq15OcZrqvnErpbeqreR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq15OcZrqvnErpbeqreR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq15OcZrqvnErpbeqreR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_14VErzbgrQvfcynlRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_14VErzbgrQvfcynlRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_14VErzbgrQvfcynlRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_14VErzbgrQvfcynlRR10baNfOvaqreRi:
 nop
@@ -3203,27 +3203,27 @@
 b__MGIA7naqebvq20VZrqvnUGGCPbaarpgvbaR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq2fcVAF2_7VZrzbelRRRRRAF_19__znc_inyhr_pbzcnerVzF6_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVzWEzEXF5_RRRAF_4cnveVAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq2fcVAF2_7VZrzbelRRRRRAF_19__znc_inyhr_pbzcnerVzF6_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVzWEzEXF5_RRRAF_4cnveVAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq2fcVAF2_7VZrzbelRRRRRAF_19__znc_inyhr_pbzcnerVzF6_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVzWEzEXF5_RRRAF_4cnveVAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq2fcVAF2_7VZrzbelRRRRRAF_19__znc_inyhr_pbzcnerVzF6_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVzWEzEXF5_RRRAF_4cnveVAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .data
-.globl b__MGGA7naqebvq23OcErfbheprZnantrePyvragR
+.weak b__MGGA7naqebvq23OcErfbheprZnantrePyvragR
 .type b__MGGA7naqebvq23OcErfbheprZnantrePyvragR,%object
 b__MGGA7naqebvq23OcErfbheprZnantrePyvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR7qb_pbclRCiCXiz:
 nop
@@ -3233,22 +3233,22 @@
 b__MA7naqebvq18ZrqvnFpnaarePyvrag9ortvaSvyrRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR7qb_pbclRCiCXiz:
 nop
 .data
-.globl b__MGGA7naqebvq20OcZrqvnCynlreFreivprR
+.weak b__MGGA7naqebvq20OcZrqvnCynlreFreivprR
 .type b__MGGA7naqebvq20OcZrqvnCynlreFreivprR,%object
 b__MGGA7naqebvq20OcZrqvnCynlreFreivprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR10qb_qrfgeblRCiz:
 nop
@@ -3258,7 +3258,7 @@
 b__MA7naqebvq20VZrqvnUGGCPbaarpgvbaQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5zrqvn14ZvpebcubarVasbRAF_9nyybpngbeVF3_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq5zrqvn14ZvpebcubarVasbRAF_9nyybpngbeVF3_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq5zrqvn14ZvpebcubarVasbRAF_9nyybpngbeVF3_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq5zrqvn14ZvpebcubarVasbRAF_9nyybpngbeVF3_RRR8__nccraqRz:
 nop
@@ -3283,7 +3283,7 @@
 b__MGPA7naqebvq23OaErfbheprZnantrePyvragR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR8qb_fcyngRCiCXiz:
 nop
@@ -3293,7 +3293,7 @@
 b__MA7naqebvq25PunenpgreRapbqvatQrgrpgbeQ2Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVF6_RRAF_8rdhny_gbVF6_RRAF4_VF6_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVF6_RRAF_8rdhny_gbVF6_RRAF4_VF6_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVF6_RRAF_8rdhny_gbVF6_RRAF4_VF6_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVF6_RRAF_8rdhny_gbVF6_RRAF4_VF6_RRR6erunfuRz:
 nop
@@ -3303,7 +3303,7 @@
 b__MGPA7naqebvq15OaErzbgrQvfcynlR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR12qb_pbafgehpgRCiz:
 nop
@@ -3313,7 +3313,7 @@
 b__MGPA7naqebvq16OaFgernzYvfgrareR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq16OcZrqvnRkgenpgbeR
+.weak b__MGGA7naqebvq16OcZrqvnRkgenpgbeR
 .type b__MGGA7naqebvq16OcZrqvnRkgenpgbeR,%object
 b__MGGA7naqebvq16OcZrqvnRkgenpgbeR:
 .space __SIZEOF_POINTER__
@@ -3323,7 +3323,7 @@
 b__MGPA7naqebvq20OaZrqvnCynlreFreivprR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -3348,7 +3348,7 @@
 b__MGIA7naqebvq21OaErzbgrQvfcynlPyvragR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq24OcErfbheprZnantreFreivprR0_AF_23VErfbheprZnantreFreivprR
+.weak b__MGPA7naqebvq24OcErfbheprZnantreFreivprR0_AF_23VErfbheprZnantreFreivprR
 .type b__MGPA7naqebvq24OcErfbheprZnantreFreivprR0_AF_23VErfbheprZnantreFreivprR,%object
 b__MGPA7naqebvq24OcErfbheprZnantreFreivprR0_AF_23VErfbheprZnantreFreivprR:
 .space __SIZEOF_POINTER__
@@ -3358,12 +3358,12 @@
 b__MA7naqebvq5zrqvn8ZrgnqngnP1RCAF_6CnepryR:
 nop
 .data
-.globl b__MGGA7naqebvq12OcQngnFbheprR
+.weak b__MGGA7naqebvq12OcQngnFbheprR
 .type b__MGGA7naqebvq12OcQngnFbheprR,%object
 b__MGGA7naqebvq12OcQngnFbheprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR10qb_qrfgeblRCiz:
 nop
@@ -3388,7 +3388,7 @@
 b__MA7naqebvq13ZrqvnCebsvyrf12purpxKzySvyrRCXp:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRR8qb_fcyngRCiCXiz:
 nop
@@ -3398,17 +3398,17 @@
 b__MAX7naqebvq19VZrqvnCynlreFreivpr22trgVagresnprQrfpevcgbeRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVsR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVsR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVsR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVEXsRRiBG_
+.weak b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVEXsRRiBG_
 .type b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVEXsRRiBG_,%function
 b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVEXsRRiBG_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -3418,7 +3418,7 @@
 b__MA7naqebvq15VFgernzYvfgrareQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq18OcZrqvnUGGCFreivprR0_AF_16ZrqvnUGGCFreivprR
+.weak b__MGPA7naqebvq18OcZrqvnUGGCFreivprR0_AF_16ZrqvnUGGCFreivprR
 .type b__MGPA7naqebvq18OcZrqvnUGGCFreivprR0_AF_16ZrqvnUGGCFreivprR,%object
 b__MGPA7naqebvq18OcZrqvnUGGCFreivprR0_AF_16ZrqvnUGGCFreivprR:
 .space __SIZEOF_POINTER__
@@ -3453,7 +3453,7 @@
 b__MA7naqebvq17VZrqvnUGGCFreivpr14frgQrsnhygVzcyRAFg3__110havdhr_cgeVF0_AF1_14qrsnhyg_qryrgrVF0_RRRR:
 nop
 .data
-.globl b__MGIA7naqebvq18OcZrqvnUGGCFreivprR
+.weak b__MGIA7naqebvq18OcZrqvnUGGCFreivprR
 .type b__MGIA7naqebvq18OcZrqvnUGGCFreivprR,%object
 b__MGIA7naqebvq18OcZrqvnUGGCFreivprR:
 .space __SIZEOF_POINTER__
@@ -3473,7 +3473,7 @@
 b__MGi0_a24_A7naqebvq15VZrqvnRkgenpgbeQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_14VZrqvnErpbeqreRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_14VZrqvnErpbeqreRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_14VZrqvnErpbeqreRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_14VZrqvnErpbeqreRR10baNfOvaqreRi:
 nop
@@ -3518,22 +3518,22 @@
 b__MGPA7naqebvq23OaZrqvnRkgenpgbeFreivprR0_AF_11OaVagresnprVAF_22VZrqvnRkgenpgbeFreivprRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR8qb_fcyngRCiCXiz:
 nop
@@ -3568,12 +3568,12 @@
 b__MA7naqebvq13ZrqvnErpbeqre13frgPyvragAnzrREXAF_8Fgevat16R:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAFg3__113__irpgbe_onfrVA7naqebvq5zrqvn14ZvpebcubarVasbRAF_9nyybpngbeVF3_RRRQ2Ri
+.weak b__MAFg3__113__irpgbe_onfrVA7naqebvq5zrqvn14ZvpebcubarVasbRAF_9nyybpngbeVF3_RRRQ2Ri
 .type b__MAFg3__113__irpgbe_onfrVA7naqebvq5zrqvn14ZvpebcubarVasbRAF_9nyybpngbeVF3_RRRQ2Ri,%function
 b__MAFg3__113__irpgbe_onfrVA7naqebvq5zrqvn14ZvpebcubarVasbRAF_9nyybpngbeVF3_RRRQ2Ri:
 nop
@@ -3583,17 +3583,17 @@
 b__MA7naqebvq19ZrqvnErfbheprCbyvplP1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq24OcErfbheprZnantreFreivprR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq24OcErfbheprZnantreFreivprR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq24OcErfbheprZnantreFreivprR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq24OcErfbheprZnantreFreivprR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq24OcZrqvnZrgnqngnErgevrireR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq24OcZrqvnZrgnqngnErgevrireR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq24OcZrqvnZrgnqngnErgevrireR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq24OcZrqvnZrgnqngnErgevrireR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq24OcZrqvnZrgnqngnErgevrireR
+.weak b__MGGA7naqebvq24OcZrqvnZrgnqngnErgevrireR
 .type b__MGGA7naqebvq24OcZrqvnZrgnqngnErgevrireR,%object
 b__MGGA7naqebvq24OcZrqvnZrgnqngnErgevrireR:
 .space __SIZEOF_POINTER__
@@ -3618,22 +3618,22 @@
 b__MA7naqebvq19VZrqvnCynlreFreivpr12qrsnhyg_vzcyR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq20OcZrqvnCynlreFreivprR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq20OcZrqvnCynlreFreivprR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq20OcZrqvnCynlreFreivprR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq20OcZrqvnCynlreFreivprR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVF6_RRAF_8rdhny_gbVF6_RRAF4_VF6_RRR25__rzcynpr_havdhr_xrl_netfVF6_WF6_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVF6_RRAF_8rdhny_gbVF6_RRAF4_VF6_RRR25__rzcynpr_havdhr_xrl_netfVF6_WF6_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVF6_RRAF_8rdhny_gbVF6_RRAF4_VF6_RRR25__rzcynpr_havdhr_xrl_netfVF6_WF6_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVF6_RRAF_8rdhny_gbVF6_RRAF4_VF6_RRR25__rzcynpr_havdhr_xrl_netfVF6_WF6_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_:
 nop
 .data
-.globl b__MGPA7naqebvq14OcFgernzFbheprR0_AF_13VFgernzFbheprR
+.weak b__MGPA7naqebvq14OcFgernzFbheprR0_AF_13VFgernzFbheprR
 .type b__MGPA7naqebvq14OcFgernzFbheprR0_AF_13VFgernzFbheprR,%object
 b__MGPA7naqebvq14OcFgernzFbheprR0_AF_13VFgernzFbheprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_13nhqvb_qrpbqreRRR:
 .space __SIZEOF_POINTER__
@@ -3653,27 +3653,27 @@
 b__MA7naqebvq17VZrqvnUGGCFreivpr10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF0_VsRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF0_VsRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF0_VsRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF0_VsRRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVvR8qb_fcyngRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq5zrqvn14ZvpebcubarVasbR
+.weak b__MGIA7naqebvq5zrqvn14ZvpebcubarVasbR
 .type b__MGIA7naqebvq5zrqvn14ZvpebcubarVasbR,%object
 b__MGIA7naqebvq5zrqvn14ZvpebcubarVasbR:
 .space __SIZEOF_POINTER__
@@ -3688,7 +3688,7 @@
 b__MA7naqebvq22VZrqvnRkgenpgbeFreivpr14trgQrsnhygVzcyRi:
 nop
 .data
-.globl b__MGGA7naqebvq21OcZrqvnErpbeqrePyvragR
+.weak b__MGGA7naqebvq21OcZrqvnErpbeqrePyvragR
 .type b__MGGA7naqebvq21OcZrqvnErpbeqrePyvragR,%object
 b__MGGA7naqebvq21OcZrqvnErpbeqrePyvragR:
 .space __SIZEOF_POINTER__
@@ -3698,22 +3698,22 @@
 b__MA7naqebvq12VZrqvnCynlreQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVuR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVuR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVuR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVuR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR10qb_qrfgeblRCiz:
 nop
@@ -3723,7 +3723,7 @@
 b__MA7naqebvq20VZrqvnErpbeqrePyvrag10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVvRR
+.weak b__MGIA7naqebvq6IrpgbeVvRR
 .type b__MGIA7naqebvq6IrpgbeVvRR,%object
 b__MGIA7naqebvq6IrpgbeVvRR:
 .space __SIZEOF_POINTER__
@@ -3758,7 +3758,7 @@
 b__MAX7naqebvq17VZrqvnUGGCFreivpr22trgVagresnprQrfpevcgbeRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVsR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVsR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVsR8qb_fcyngRCiCXiz:
 nop
@@ -3773,7 +3773,7 @@
 b__MA7naqebvq13ZrqvnErpbeqre15frgNhqvbRapbqreRv:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRRR:
 .space __SIZEOF_POINTER__
@@ -3793,17 +3793,17 @@
 b__MA7naqebvq22VErfbheprZnantrePyvrag14frgQrsnhygVzcyRAFg3__110havdhr_cgeVF0_AF1_14qrsnhyg_qryrgrVF0_RRRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR10qb_qrfgeblRCiz:
 nop
 .data
-.globl b__MGPA7naqebvq16OcZrqvnRkgenpgbeR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq16OcZrqvnRkgenpgbeR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq16OcZrqvnRkgenpgbeR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq16OcZrqvnRkgenpgbeR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -3833,7 +3833,7 @@
 b__MA7naqebvq20VZrqvnUGGCPbaarpgvbaQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_12VZrqvnFbheprRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_12VZrqvnFbheprRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_12VZrqvnFbheprRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_12VZrqvnFbheprRR10baNfOvaqreRi:
 nop
@@ -3868,7 +3868,7 @@
 b__MGPA7naqebvq20VZrqvnErpbeqrePyvragR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -3913,7 +3913,7 @@
 b__MA7naqebvq12ZrqvnFpnaare16cebprffQverpgbelRCXpEAF_18ZrqvnFpnaarePyvragR:
 nop
 .data
-.globl b__MGPA7naqebvq15OcZrqvnErpbeqreR0_AF_11OcVagresnprVAF_14VZrqvnErpbeqreRRR
+.weak b__MGPA7naqebvq15OcZrqvnErpbeqreR0_AF_11OcVagresnprVAF_14VZrqvnErpbeqreRRR
 .type b__MGPA7naqebvq15OcZrqvnErpbeqreR0_AF_11OcVagresnprVAF_14VZrqvnErpbeqreRRR,%object
 b__MGPA7naqebvq15OcZrqvnErpbeqreR0_AF_11OcVagresnprVAF_14VZrqvnErpbeqreRRR:
 .space __SIZEOF_POINTER__
@@ -3938,7 +3938,7 @@
 b__MA7naqebvq23VZrqvnZrgnqngnErgevrire11nfVagresnprREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .data
-.globl b__MGIA7naqebvq24ErzbgrZrqvnOhssreJenccreR
+.weak b__MGIA7naqebvq24ErzbgrZrqvnOhssreJenccreR
 .type b__MGIA7naqebvq24ErzbgrZrqvnOhssreJenccreR,%object
 b__MGIA7naqebvq24ErzbgrZrqvnOhssreJenccreR:
 .space __SIZEOF_POINTER__
@@ -3973,12 +3973,12 @@
 b__MA7naqebvq13ZrqvnCebsvyrfQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR7qb_pbclRCiCXiz:
 nop
 .data
-.globl b__MGGA7naqebvq19OcZrqvnCynlrePyvragR
+.weak b__MGGA7naqebvq19OcZrqvnCynlrePyvragR
 .type b__MGGA7naqebvq19OcZrqvnCynlrePyvragR,%object
 b__MGGA7naqebvq19OcZrqvnCynlrePyvragR:
 .space __SIZEOF_POINTER__
@@ -4008,7 +4008,7 @@
 b__MA7naqebvq13ZrqvnCebsvyrf37perngrQrsnhygRapbqreBhgchgSvyrSbezngfRCF0_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR12qb_pbafgehpgRCiz:
 nop
@@ -4043,7 +4043,7 @@
 b__MGua8_A7naqebvq23OaErfbheprZnantrePyvrag10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR10qb_qrfgeblRCiz:
 nop
@@ -4058,7 +4058,7 @@
 b__MA7naqebvq11ZrqvnCynlre21purpxFgngrSbeXrlFrg_yRv:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_17VZrqvnUGGCFreivprRRnFRBF2_
+.weak b__MA7naqebvq2fcVAF_17VZrqvnUGGCFreivprRRnFRBF2_
 .type b__MA7naqebvq2fcVAF_17VZrqvnUGGCFreivprRRnFRBF2_,%function
 b__MA7naqebvq2fcVAF_17VZrqvnUGGCFreivprRRnFRBF2_:
 nop
@@ -4078,7 +4078,7 @@
 b__MGGA7naqebvq16OaZrqvnRkgenpgbeR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq19OcZrqvnCynlrePyvragR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq19OcZrqvnCynlrePyvragR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq19OcZrqvnCynlrePyvragR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq19OcZrqvnCynlrePyvragR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -4108,7 +4108,7 @@
 b__MA7naqebvq18ZrqvnFpnaarePyvrag9frgYbpnyrRCXp:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR7qb_pbclRCiCXiz:
 nop
@@ -4118,7 +4118,7 @@
 b__MAX7naqebvq13ZrqvnCebsvyrf20trgFgnegGvzrBssfrgZfRv:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR10qb_qrfgeblRCiz:
 nop
@@ -4153,7 +4153,7 @@
 b__MA7naqebvq11ZrqvnCynlre6frrxGbRvAF_10ZrqvnGenpx11ErnqBcgvbaf8FrrxZbqrR:
 nop
 .data
-.globl b__MGPA7naqebvq20OcZrqvnCynlreFreivprR0_AF_11OcVagresnprVAF_19VZrqvnCynlreFreivprRRR
+.weak b__MGPA7naqebvq20OcZrqvnCynlreFreivprR0_AF_11OcVagresnprVAF_19VZrqvnCynlreFreivprRRR
 .type b__MGPA7naqebvq20OcZrqvnCynlreFreivprR0_AF_11OcVagresnprVAF_19VZrqvnCynlreFreivprRRR,%object
 b__MGPA7naqebvq20OcZrqvnCynlreFreivprR0_AF_11OcVagresnprVAF_19VZrqvnCynlreFreivprRRR:
 .space __SIZEOF_POINTER__
@@ -4163,17 +4163,17 @@
 b__MGIA7naqebvq18ZrqvnFpnaarePyvragR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq18OcZrqvnUGGCFreivprR
+.weak b__MGGA7naqebvq18OcZrqvnUGGCFreivprR
 .type b__MGGA7naqebvq18OcZrqvnUGGCFreivprR,%object
 b__MGGA7naqebvq18OcZrqvnUGGCFreivprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq15OcZrqvnErpbeqreR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq15OcZrqvnErpbeqreR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq15OcZrqvnErpbeqreR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq15OcZrqvnErpbeqreR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -4198,12 +4198,12 @@
 b__MA7naqebvq5zrqvn8Zrgnqngn10nccraqObbyRvo:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR12qb_pbafgehpgRCiz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRRR:
 .space __SIZEOF_POINTER__
@@ -4228,12 +4228,12 @@
 b__MGPA7naqebvq19OaZrqvnCynlrePyvragR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5zrqvn12IbyhzrFuncre9BcrengvbaR
+.weak b__MGIA7naqebvq5zrqvn12IbyhzrFuncre9BcrengvbaR
 .type b__MGIA7naqebvq5zrqvn12IbyhzrFuncre9BcrengvbaR,%object
 b__MGIA7naqebvq5zrqvn12IbyhzrFuncre9BcrengvbaR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq13OcZrqvnFbheprR0_AF_12VZrqvnFbheprR
+.weak b__MGPA7naqebvq13OcZrqvnFbheprR0_AF_12VZrqvnFbheprR
 .type b__MGPA7naqebvq13OcZrqvnFbheprR0_AF_12VZrqvnFbheprR,%object
 b__MGPA7naqebvq13OcZrqvnFbheprR0_AF_12VZrqvnFbheprR:
 .space __SIZEOF_POINTER__
@@ -4253,7 +4253,7 @@
 b__MA7naqebvq12VZrqvnCynlreQ1Ri:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVuRR
+.weak b__MGIA7naqebvq6IrpgbeVuRR
 .type b__MGIA7naqebvq6IrpgbeVuRR,%object
 b__MGIA7naqebvq6IrpgbeVuRR:
 .space __SIZEOF_POINTER__
@@ -4278,7 +4278,7 @@
 b__MA7naqebvq13ZrqvnErpbeqre4vavgRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR10qb_pbzcnerRCXiF6_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR10qb_pbzcnerRCXiF6_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR10qb_pbzcnerRCXiF6_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRR10qb_pbzcnerRCXiF6_:
 nop
@@ -4293,12 +4293,12 @@
 b__MGi0_a24_A7naqebvq22ZrqvnZrgnqngnErgevrire13QrnguAbgvsvreQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR12qb_pbafgehpgRCiz:
 nop
 .data
-.globl b__MGIA7naqebvq21OcZrqvnUGGCPbaarpgvbaR
+.weak b__MGIA7naqebvq21OcZrqvnUGGCPbaarpgvbaR
 .type b__MGIA7naqebvq21OcZrqvnUGGCPbaarpgvbaR,%object
 b__MGIA7naqebvq21OcZrqvnUGGCPbaarpgvbaR:
 .space __SIZEOF_POINTER__
@@ -4313,7 +4313,7 @@
 b__MA7naqebvq11ZrqvnCynlre13frgQngnFbheprREXAF_2fcVAF_17VZrqvnUGGCFreivprRRRCXpCXAF_11XrlrqIrpgbeVAF_7Fgevat8RF9_RR:
 nop
 .data
-.globl b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR0_AF_20VZrqvnUGGCPbaarpgvbaR
+.weak b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR0_AF_20VZrqvnUGGCPbaarpgvbaR
 .type b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR0_AF_20VZrqvnUGGCPbaarpgvbaR,%object
 b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR0_AF_20VZrqvnUGGCPbaarpgvbaR:
 .space __SIZEOF_POINTER__
@@ -4358,7 +4358,7 @@
 b__MA7naqebvq13ZrqvnErpbeqre7qbErfrgRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR8qb_fcyngRCiCXiz:
 nop
@@ -4378,12 +4378,12 @@
 b__MA7naqebvq12VZrqvnFbhepr10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_15VFgernzYvfgrareRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_15VFgernzYvfgrareRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_15VFgernzYvfgrareRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_15VFgernzYvfgrareRR10baNfOvaqreRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -4393,7 +4393,7 @@
 b__MGi0_a32_A7naqebvq13ZrqvnErpbeqreQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq24OcZrqvnZrgnqngnErgevrireR0_AF_11OcVagresnprVAF_23VZrqvnZrgnqngnErgevrireRRR
+.weak b__MGPA7naqebvq24OcZrqvnZrgnqngnErgevrireR0_AF_11OcVagresnprVAF_23VZrqvnZrgnqngnErgevrireRRR
 .type b__MGPA7naqebvq24OcZrqvnZrgnqngnErgevrireR0_AF_11OcVagresnprVAF_23VZrqvnZrgnqngnErgevrireRRR,%object
 b__MGPA7naqebvq24OcZrqvnZrgnqngnErgevrireR0_AF_11OcVagresnprVAF_23VZrqvnZrgnqngnErgevrireRRR:
 .space __SIZEOF_POINTER__
@@ -4413,12 +4413,12 @@
 b__MGi0_a24_A7naqebvq11VQngnFbheprQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR10qb_qrfgeblRCiz:
 nop
 .data
-.globl b__MGPA7naqebvq23OcZrqvnRkgenpgbeFreivprR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq23OcZrqvnRkgenpgbeFreivprR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq23OcZrqvnRkgenpgbeFreivprR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq23OcZrqvnRkgenpgbeFreivprR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -4433,7 +4433,7 @@
 b__MGPA7naqebvq14OaFgernzFbheprR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR10qb_qrfgeblRCiz:
 nop
@@ -4463,12 +4463,12 @@
 b__MA7naqebvq22VErfbheprZnantrePyvrag14trgQrsnhygVzcyRi:
 nop
 .data
-.globl b__MGPA7naqebvq23OcErfbheprZnantrePyvragR0_AF_22VErfbheprZnantrePyvragR
+.weak b__MGPA7naqebvq23OcErfbheprZnantrePyvragR0_AF_22VErfbheprZnantrePyvragR
 .type b__MGPA7naqebvq23OcErfbheprZnantrePyvragR0_AF_22VErfbheprZnantrePyvragR,%object
 b__MGPA7naqebvq23OcErfbheprZnantrePyvragR0_AF_22VErfbheprZnantrePyvragR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq14OcFgernzFbheprR0_AF_11OcVagresnprVAF_13VFgernzFbheprRRR
+.weak b__MGPA7naqebvq14OcFgernzFbheprR0_AF_11OcVagresnprVAF_13VFgernzFbheprRRR
 .type b__MGPA7naqebvq14OcFgernzFbheprR0_AF_11OcVagresnprVAF_13VFgernzFbheprRRR,%object
 b__MGPA7naqebvq14OcFgernzFbheprR0_AF_11OcVagresnprVAF_13VFgernzFbheprRRR:
 .space __SIZEOF_POINTER__
@@ -4493,7 +4493,7 @@
 b__MA7naqebvq14VZrqvnErpbeqre14trgQrsnhygVzcyRi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_22ZrqvnZrgnqngnErgevrire13QrnguAbgvsvreRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_22ZrqvnZrgnqngnErgevrire13QrnguAbgvsvreRRQ2Ri
 .type b__MA7naqebvq2fcVAF_22ZrqvnZrgnqngnErgevrire13QrnguAbgvsvreRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_22ZrqvnZrgnqngnErgevrire13QrnguAbgvsvreRRQ2Ri:
 nop
@@ -4523,12 +4523,12 @@
 b__MA7naqebvq22ZrqvnZrgnqngnErgevrire15trgVzntrNgVaqrkRvvoo:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVsR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVsR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVsR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVsR7qb_pbclRCiCXiz:
 nop
@@ -4568,7 +4568,7 @@
 b__MGPA7naqebvq15OaZrqvnErpbeqreR0_AF_14VZrqvnErpbeqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq13OcZrqvnFbheprR
+.weak b__MGGA7naqebvq13OcZrqvnFbheprR
 .type b__MGGA7naqebvq13OcZrqvnFbheprR,%object
 b__MGGA7naqebvq13OcZrqvnFbheprR:
 .space __SIZEOF_POINTER__
@@ -4583,17 +4583,17 @@
 b__MA7naqebvq13ZrqvnCebsvyrf23vavgErdhverqCebsvyrErsfREXAF_6IrpgbeVvRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbRapbqrePncRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_17RkgenpgbeVafgnaprRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR8qb_fcyngRCiCXiz:
 nop
@@ -4638,7 +4638,7 @@
 b__MAX7naqebvq13ZrqvnCebsvyrf30trgPnzpbeqreCebsvyrCnenzOlAnzrRCXpvAF_17pnzpbeqre_dhnyvglR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVF6_RRAF_8rdhny_gbVF6_RRAF4_VF6_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVF6_RRAF_8rdhny_gbVF6_RRAF4_VF6_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVF6_RRAF_8rdhny_gbVF6_RRAF4_VF6_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVF6_RRAF_8rdhny_gbVF6_RRAF4_VF6_RRR8__erunfuRz:
 nop
@@ -4653,7 +4653,7 @@
 b__MA7naqebvq13ZrqvnErpbeqre31frgCersreerqZvpebcubarQverpgvbaR28nhqvb_zvpebcubar_qverpgvba_g:
 nop
 .data
-.globl b__MGPA7naqebvq13OcZrqvnCynlreR0_AF_12VZrqvnCynlreR
+.weak b__MGPA7naqebvq13OcZrqvnCynlreR0_AF_12VZrqvnCynlreR
 .type b__MGPA7naqebvq13OcZrqvnCynlreR0_AF_12VZrqvnCynlreR,%object
 b__MGPA7naqebvq13OcZrqvnCynlreR0_AF_12VZrqvnCynlreR:
 .space __SIZEOF_POINTER__
@@ -4683,7 +4683,7 @@
 b__MA7naqebvq14VZrqvnErpbeqre14frgQrsnhygVzcyRAFg3__110havdhr_cgeVF0_AF1_14qrsnhyg_qryrgrVF0_RRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR8qb_fcyngRCiCXiz:
 nop
@@ -4698,12 +4698,12 @@
 b__MA7naqebvq11ZrqvnCynlre4fgbcRi:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_7VZrzbelRRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq19OcZrqvnCynlrePyvragR0_AF_11OcVagresnprVAF_18VZrqvnCynlrePyvragRRR
+.weak b__MGPA7naqebvq19OcZrqvnCynlrePyvragR0_AF_11OcVagresnprVAF_18VZrqvnCynlrePyvragRRR
 .type b__MGPA7naqebvq19OcZrqvnCynlrePyvragR0_AF_11OcVagresnprVAF_18VZrqvnCynlrePyvragRRR,%object
 b__MGPA7naqebvq19OcZrqvnCynlrePyvragR0_AF_11OcVagresnprVAF_18VZrqvnCynlrePyvragRRR:
 .space __SIZEOF_POINTER__
@@ -4738,7 +4738,7 @@
 b__MA7naqebvq20VZrqvnUGGCPbaarpgvba11nfVagresnprREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_19ZrqvnErfbheprCbyvplRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -4748,12 +4748,12 @@
 b__MA7naqebvq24OaZrqvnZrgnqngnErgevrire10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR12qb_pbafgehpgRCiz:
 nop
 .data
-.globl b__MGPA7naqebvq21OcZrqvnErpbeqrePyvragR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq21OcZrqvnErpbeqrePyvragR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq21OcZrqvnErpbeqrePyvragR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq21OcZrqvnErpbeqrePyvragR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -4778,7 +4778,7 @@
 b__MA7naqebvq13ZrqvnNyohzNeg5pybarRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR8qb_fcyngRCiCXiz:
 nop
@@ -4788,7 +4788,7 @@
 b__MA7naqebvq17VZrqvnUGGCFreivpr14trgQrsnhygVzcyRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVuR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVuR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVuR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVuR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -4803,17 +4803,17 @@
 b__MA7naqebvq13ZrqvnCebsvyrf21perngrIvqrbQrpbqrePncRCCXp:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_pbzcnerRCXiF5_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_pbzcnerRCXiF5_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_pbzcnerRCXiF5_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvvRRR10qb_pbzcnerRCXiF5_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRRR
+.weak b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRRR
 .type b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRRR,%object
 b__MGIA7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRRR:
 .space __SIZEOF_POINTER__
@@ -4823,7 +4823,7 @@
 b__MA7naqebvq13OaZrqvnFbheprQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbQrpbqrePncRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -4833,12 +4833,12 @@
 b__MGua8_A7naqebvq20VZrqvnUGGCPbaarpgvbaQ0Ri:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCX13HPunefrgZngpuR8qb_fcyngRCiCXiz:
 nop
@@ -4878,7 +4878,7 @@
 b__MGGA7naqebvq19OaZrqvnCynlrePyvragR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq19OcZrqvnCynlrePyvragR
+.weak b__MGIA7naqebvq19OcZrqvnCynlrePyvragR
 .type b__MGIA7naqebvq19OcZrqvnCynlrePyvragR,%object
 b__MGIA7naqebvq19OcZrqvnCynlrePyvragR:
 .space __SIZEOF_POINTER__
@@ -4903,7 +4903,7 @@
 b__MAX7naqebvq13ZrqvnErpbeqre9trgCbegVqRCv:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR7qb_pbclRCiCXiz:
 nop
@@ -4913,7 +4913,7 @@
 b__MA7naqebvq14VErzbgrQvfcynl11nfVagresnprREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .data
-.globl b__MGIA7naqebvq5zrqvn12IbyhzrFuncre5FgngrR
+.weak b__MGIA7naqebvq5zrqvn12IbyhzrFuncre5FgngrR
 .type b__MGIA7naqebvq5zrqvn12IbyhzrFuncre5FgngrR,%object
 b__MGIA7naqebvq5zrqvn12IbyhzrFuncre5FgngrR:
 .space __SIZEOF_POINTER__
@@ -4938,12 +4938,12 @@
 b__MA7naqebvq25PunenpgreRapbqvatQrgrpgbeP1Ri:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15NhqvbRapbqrePncRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -4968,7 +4968,7 @@
 b__MAX7naqebvq13ZrqvnCebsvyrf30svaqVzntrRapbqvatDhnyvglYriryfRv:
 nop
 .data
-.globl b__MGPA7naqebvq18OcZrqvnUGGCFreivprR16_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq18OcZrqvnUGGCFreivprR16_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq18OcZrqvnUGGCFreivprR16_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq18OcZrqvnUGGCFreivprR16_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -4998,7 +4998,7 @@
 b__MA7naqebvq20VErzbgrQvfcynlPyvrag14trgQrsnhygVzcyRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -5038,7 +5038,7 @@
 b__MA7naqebvq11ZrqvnCynlreQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR10qb_qrfgeblRCiz:
 nop
@@ -5078,12 +5078,12 @@
 b__MA7naqebvq14qhzcRkgenpgbefRvEXAF_6IrpgbeVAF_8Fgevat16RRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13nhqvb_rapbqreRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf16PnzpbeqreCebsvyrRR8qb_fcyngRCiCXiz:
 nop
@@ -5108,12 +5108,12 @@
 b__MGPA7naqebvq21OaErzbgrQvfcynlPyvragR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq24OcErfbheprZnantreFreivprR
+.weak b__MGGA7naqebvq24OcErfbheprZnantreFreivprR
 .type b__MGGA7naqebvq24OcErfbheprZnantreFreivprR,%object
 b__MGGA7naqebvq24OcErfbheprZnantreFreivprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq12OcQngnFbheprR0_AF_11OcVagresnprVAF_11VQngnFbheprRRR
+.weak b__MGPA7naqebvq12OcQngnFbheprR0_AF_11OcVagresnprVAF_11VQngnFbheprRRR
 .type b__MGPA7naqebvq12OcQngnFbheprR0_AF_11OcVagresnprVAF_11VQngnFbheprRRR,%object
 b__MGPA7naqebvq12OcQngnFbheprR0_AF_11OcVagresnprVAF_11VQngnFbheprRRR:
 .space __SIZEOF_POINTER__
@@ -5128,22 +5128,22 @@
 b__MGi0_a24_A7naqebvq11ZrqvnCynlreQ0Ri:
 nop
 .data
-.globl b__MGIA7naqebvq13OcZrqvnCynlreR
+.weak b__MGIA7naqebvq13OcZrqvnCynlreR
 .type b__MGIA7naqebvq13OcZrqvnCynlreR,%object
 b__MGIA7naqebvq13OcZrqvnCynlreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_15ZrqvnOhssreOnfrRR12qb_pbafgehpgRCiz:
 nop
 .data
-.globl b__MGPA7naqebvq21OcErzbgrQvfcynlPyvragR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq21OcErzbgrQvfcynlPyvragR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq21OcErzbgrQvfcynlPyvragR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq21OcErzbgrQvfcynlPyvragR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq14OcFgernzFbheprR
+.weak b__MGGA7naqebvq14OcFgernzFbheprR
 .type b__MGGA7naqebvq14OcFgernzFbheprR,%object
 b__MGGA7naqebvq14OcFgernzFbheprR:
 .space __SIZEOF_POINTER__
@@ -5168,12 +5168,12 @@
 b__MGPA7naqebvq20OaZrqvnCynlreFreivprR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13ivqrb_qrpbqreRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf26VzntrRapbqvatDhnyvglYriryfRR8qb_fcyngRCiCXiz:
 nop
@@ -5233,7 +5233,7 @@
 b__MA7naqebvq12VZrqvnFbheprQ0Ri:
 nop
 .data
-.globl b__MGIA7naqebvq16OcFgernzYvfgrareR
+.weak b__MGIA7naqebvq16OcFgernzYvfgrareR
 .type b__MGIA7naqebvq16OcFgernzYvfgrareR,%object
 b__MGIA7naqebvq16OcFgernzYvfgrareR:
 .space __SIZEOF_POINTER__
@@ -5253,12 +5253,12 @@
 b__MA7naqebvq23VErfbheprZnantreFreivpr12qrsnhyg_vzcyR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_2jcVAF_19VZrqvnQrnguAbgvsvreRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -5268,7 +5268,7 @@
 b__MA7naqebvq13ZrqvnCebsvyrf18ybtIvqrbRapbqrePncREXAF0_15IvqrbRapbqrePncR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -5283,7 +5283,7 @@
 b__MA7naqebvq19VZrqvnQrnguAbgvsvre15fBovgErpvcvragfR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR12qb_pbafgehpgRCiz:
 nop
@@ -5298,17 +5298,17 @@
 b__MA7naqebvq20VErzbgrQvfcynlPyvrag11nfVagresnprREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .data
-.globl b__MGPA7naqebvq13OcZrqvnCynlreR0_AF_11OcVagresnprVAF_12VZrqvnCynlreRRR
+.weak b__MGPA7naqebvq13OcZrqvnCynlreR0_AF_11OcVagresnprVAF_12VZrqvnCynlreRRR
 .type b__MGPA7naqebvq13OcZrqvnCynlreR0_AF_11OcVagresnprVAF_12VZrqvnCynlreRRR,%object
 b__MGPA7naqebvq13OcZrqvnCynlreR0_AF_11OcVagresnprVAF_12VZrqvnCynlreRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq17CrefvfgragFhesnprR
+.weak b__MGIA7naqebvq17CrefvfgragFhesnprR
 .type b__MGIA7naqebvq17CrefvfgragFhesnprR,%object
 b__MGIA7naqebvq17CrefvfgragFhesnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_23VErfbheprZnantreFreivprRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_23VErfbheprZnantreFreivprRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_23VErfbheprZnantreFreivprRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_23VErfbheprZnantreFreivprRR10baNfOvaqreRi:
 nop
@@ -5318,7 +5318,7 @@
 b__MA7naqebvq11ZrqvnCynlre9vfCynlvatRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7Fgevat8RR12qb_pbafgehpgRCiz:
 nop
@@ -5333,17 +5333,17 @@
 b__MA7naqebvq11ZrqvnCynlre15nggnpuArjCynlreREXAF_2fcVAF_12VZrqvnCynlreRRR:
 nop
 .data
-.globl b__MGPA7naqebvq16OcFgernzYvfgrareR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq16OcFgernzYvfgrareR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq16OcFgernzYvfgrareR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq16OcFgernzYvfgrareR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13bhgchg_sbezngRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_5zrqvn12IbyhzrFuncre9BcrengvbaRRnFRCF3_
+.weak b__MA7naqebvq2fcVAF_5zrqvn12IbyhzrFuncre9BcrengvbaRRnFRCF3_
 .type b__MA7naqebvq2fcVAF_5zrqvn12IbyhzrFuncre9BcrengvbaRRnFRCF3_,%function
 b__MA7naqebvq2fcVAF_5zrqvn12IbyhzrFuncre9BcrengvbaRRnFRCF3_:
 nop
@@ -5388,7 +5388,7 @@
 b__MA7naqebvq13ZrqvnCebsvyrf20fNhqvbRapbqreAnzrZncR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVCAF_13ZrqvnCebsvyrf15IvqrbQrpbqrePncRR7qb_pbclRCiCXiz:
 nop
@@ -5403,12 +5403,12 @@
 b__MGPA7naqebvq20VZrqvnUGGCPbaarpgvbaR0_AF_19ZrqvnUGGCPbaarpgvbaR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq18OcZrqvnUGGCFreivprR8_AF_10VVagresnprR
+.weak b__MGPA7naqebvq18OcZrqvnUGGCFreivprR8_AF_10VVagresnprR
 .type b__MGPA7naqebvq18OcZrqvnUGGCFreivprR8_AF_10VVagresnprR,%object
 b__MGPA7naqebvq18OcZrqvnUGGCFreivprR8_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVsRR
+.weak b__MGIA7naqebvq6IrpgbeVsRR
 .type b__MGIA7naqebvq6IrpgbeVsRR,%object
 b__MGIA7naqebvq6IrpgbeVsRR:
 .space __SIZEOF_POINTER__
@@ -5463,7 +5463,7 @@
 b__MGIA7naqebvq12OaQngnFbheprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq21OcZrqvnUGGCPbaarpgvbaR
+.weak b__MGGA7naqebvq21OcZrqvnUGGCPbaarpgvbaR
 .type b__MGGA7naqebvq21OcZrqvnUGGCPbaarpgvbaR,%object
 b__MGGA7naqebvq21OcZrqvnUGGCPbaarpgvbaR:
 .space __SIZEOF_POINTER__
@@ -5473,17 +5473,17 @@
 b__MGIA7naqebvq21OaZrqvnErpbeqrePyvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_5zrqvn12IbyhzrFuncre13PbasvthengvbaRRnFRCF3_
+.weak b__MA7naqebvq2fcVAF_5zrqvn12IbyhzrFuncre13PbasvthengvbaRRnFRCF3_
 .type b__MA7naqebvq2fcVAF_5zrqvn12IbyhzrFuncre13PbasvthengvbaRRnFRCF3_,%function
 b__MA7naqebvq2fcVAF_5zrqvn12IbyhzrFuncre13PbasvthengvbaRRnFRCF3_:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_17CrefvfgragFhesnprRRP2RCF1_
+.weak b__MA7naqebvq2fcVAF_17CrefvfgragFhesnprRRP2RCF1_
 .type b__MA7naqebvq2fcVAF_17CrefvfgragFhesnprRRP2RCF1_,%function
 b__MA7naqebvq2fcVAF_17CrefvfgragFhesnprRRP2RCF1_:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_13ZrqvnErfbheprRRR:
 .space __SIZEOF_POINTER__
@@ -5493,12 +5493,12 @@
 b__MAX7naqebvq23VZrqvnZrgnqngnErgevrire22trgVagresnprQrfpevcgbeRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_13ivqrb_rapbqreRR8qb_fcyngRCiCXiz:
 nop
 .data
-.globl b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR8_AF_10VVagresnprR
+.weak b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR8_AF_10VVagresnprR
 .type b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR8_AF_10VVagresnprR,%object
 b__MGPA7naqebvq21OcZrqvnUGGCPbaarpgvbaR8_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -5533,12 +5533,12 @@
 b__MA7naqebvq13ZrqvnCebsvyrf9fVafgnaprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_7Fgevat8RRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVuR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVuR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVuR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVuR12qb_pbafgehpgRCiz:
 nop
@@ -5558,17 +5558,17 @@
 b__MA7naqebvq15VFgernzYvfgrare14trgQrsnhygVzcyRi:
 nop
 .data
-.globl b__MGPA7naqebvq23OcZrqvnRkgenpgbeFreivprR0_AF_22VZrqvnRkgenpgbeFreivprR
+.weak b__MGPA7naqebvq23OcZrqvnRkgenpgbeFreivprR0_AF_22VZrqvnRkgenpgbeFreivprR
 .type b__MGPA7naqebvq23OcZrqvnRkgenpgbeFreivprR0_AF_22VZrqvnRkgenpgbeFreivprR,%object
 b__MGPA7naqebvq23OcZrqvnRkgenpgbeFreivprR0_AF_22VZrqvnRkgenpgbeFreivprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq15OcErzbgrQvfcynlR0_AF_11OcVagresnprVAF_14VErzbgrQvfcynlRRR
+.weak b__MGPA7naqebvq15OcErzbgrQvfcynlR0_AF_11OcVagresnprVAF_14VErzbgrQvfcynlRRR
 .type b__MGPA7naqebvq15OcErzbgrQvfcynlR0_AF_11OcVagresnprVAF_14VErzbgrQvfcynlRRR,%object
 b__MGPA7naqebvq15OcErzbgrQvfcynlR0_AF_11OcVagresnprVAF_14VErzbgrQvfcynlRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq15OcErzbgrQvfcynlR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq15OcErzbgrQvfcynlR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq15OcErzbgrQvfcynlR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq15OcErzbgrQvfcynlR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -5578,12 +5578,12 @@
 b__MA7naqebvq11ZrqvnCynlreQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2jcVAF_12VZrqvnFbheprRRRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_079.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_079.S
index 28952f0..09c085a 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_079.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_079.S
@@ -8,7 +8,7 @@
 b__MA7naqebvq14NhqvbCnenzrgreP1REXAF_7Fgevat8R:
 nop
 .text
-.globl b__MAFg3__16irpgbeV14nhqvb_fbhepr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
+.weak b__MAFg3__16irpgbeV14nhqvb_fbhepr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
 .type b__MAFg3__16irpgbeV14nhqvb_fbhepr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_,%function
 b__MAFg3__16irpgbeV14nhqvb_fbhepr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_:
 nop
@@ -18,7 +18,7 @@
 b__MA7naqebvq14NhqvbCnenzrgre16xrlQrivprPbaarpgR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp:
 nop
@@ -28,12 +28,12 @@
 b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR6zGnoyrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw
+.weak b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw
 .type b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw,%function
 b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_6irpgbeVwAF7_VwRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_6irpgbeVwAF7_VwRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_6irpgbeVwAF7_VwRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_6irpgbeVwAF7_VwRRRRCXp:
 nop
@@ -43,17 +43,17 @@
 b__MAX7naqebvq14NhqvbCnenzrgre5trgNgRzEAF_7Fgevat8R:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_3frgVwAF3_4yrffVwRRAF7_VwRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_3frgVwAF3_4yrffVwRRAF7_VwRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_3frgVwAF3_4yrffVwRRAF7_VwRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_3frgVwAF3_4yrffVwRRAF7_VwRRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR
+.weak b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR
 .type b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR,%function
 b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR:
 nop
@@ -63,7 +63,7 @@
 b__MA7naqebvq14NhqvbCnenzrgre9xrlOgAerpR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz:
 nop
@@ -73,7 +73,7 @@
 b__MGIA7naqebvq14NhqvbCnenzrgreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR:
 nop
@@ -88,17 +88,17 @@
 b__MA7naqebvq28bhgchgPunaaryZnfxfSebzFgevatREXAFg3__112onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR:
 nop
@@ -113,7 +113,7 @@
 b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR6zGnoyrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp:
 nop
@@ -128,27 +128,27 @@
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR6zGnoyrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw
+.weak b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw
 .type b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw,%function
 b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp:
 nop
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -158,27 +158,27 @@
 b__MA7naqebvq14NhqvbCnenzrgre25xrlFgernzFhccbegrqSbezngfR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRREAF4_6irpgbeVwAF8_VwRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRREAF4_6irpgbeVwAF8_VwRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRREAF4_6irpgbeVwAF8_VwRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRREAF4_6irpgbeVwAF8_VwRRRRCXp:
 nop
 .text
-.globl b__MAFg3__16irpgbeV19nhqvb_fgernz_glcr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
+.weak b__MAFg3__16irpgbeV19nhqvb_fgernz_glcr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
 .type b__MAFg3__16irpgbeV19nhqvb_fgernz_glcr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_,%function
 b__MAFg3__16irpgbeV19nhqvb_fgernz_glcr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_:
 nop
@@ -198,17 +198,17 @@
 b__MA7naqebvq14NhqvbCnenzrgre19xrlQrivprQvfpbaarpgR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR
+.weak b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR
 .type b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR,%function
 b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp:
 nop
@@ -233,17 +233,17 @@
 b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR6zGnoyrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeV19nhqvb_vachg_syntf_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
+.weak b__MAFg3__16irpgbeV19nhqvb_vachg_syntf_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
 .type b__MAFg3__16irpgbeV19nhqvb_vachg_syntf_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_,%function
 b__MAFg3__16irpgbeV19nhqvb_vachg_syntf_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp:
 nop
@@ -253,7 +253,7 @@
 b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR6zGnoyrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
@@ -263,7 +263,7 @@
 b__MAX7naqebvq14NhqvbCnenzrgre5trgNgRzEAF_7Fgevat8RF2_:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw
+.weak b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw
 .type b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw,%function
 b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw:
 nop
@@ -283,22 +283,22 @@
 b__MA7naqebvq14NhqvbCnenzrgre6nqqVagREXAF_7Fgevat8Rv:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRREw
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRREw
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRREw,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRREw:
 nop
@@ -308,22 +308,22 @@
 b__MA7naqebvq16qrivprSebzFgevatREXAFg3__112onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRREw:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_6irpgbeVwAF7_VwRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_6irpgbeVwAF7_VwRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_6irpgbeVwAF7_VwRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_6irpgbeVwAF7_VwRRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR
+.weak b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR
 .type b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR,%function
 b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR:
 nop
@@ -333,7 +333,7 @@
 b__MA7naqebvq14NhqvbCnenzrgreQ2Ri:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRCXp:
 nop
@@ -348,32 +348,32 @@
 b__MA7naqebvq21punaaryZnfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_6irpgbeVwAF7_VwRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_6irpgbeVwAF7_VwRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_6irpgbeVwAF7_VwRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_6irpgbeVwAF7_VwRRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw
+.weak b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw
 .type b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw,%function
 b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MAFg3__16irpgbeV12nhqvb_zbqr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
+.weak b__MAFg3__16irpgbeV12nhqvb_zbqr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
 .type b__MAFg3__16irpgbeV12nhqvb_zbqr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_,%function
 b__MAFg3__16irpgbeV12nhqvb_zbqr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_:
 nop
@@ -393,12 +393,12 @@
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR6zGnoyrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -408,7 +408,7 @@
 b__MA7naqebvq14NhqvbCnenzrgre16xrlFgernzPbaarpgR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR:
 nop
@@ -418,7 +418,7 @@
 b__MA7naqebvq27vachgPunaaryZnfxfSebzFgevatREXAFg3__112onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR:
 nop
@@ -428,17 +428,17 @@
 b__MA7naqebvq14NhqvbCnenzrgre11xrlUjNiFlapR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
@@ -453,12 +453,12 @@
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR6zGnoyrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR
+.weak b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR
 .type b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR,%function
 b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeV20nhqvb_bhgchg_syntf_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
+.weak b__MAFg3__16irpgbeV20nhqvb_bhgchg_syntf_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
 .type b__MAFg3__16irpgbeV20nhqvb_bhgchg_syntf_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_,%function
 b__MAFg3__16irpgbeV20nhqvb_bhgchg_syntf_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_:
 nop
@@ -478,17 +478,17 @@
 b__MA7naqebvq14NhqvbCnenzrgre26xrlFgernzFhccbegrqPunaaryfR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw
+.weak b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw
 .type b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw,%function
 b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -508,22 +508,22 @@
 b__MAX7naqebvq14NhqvbCnenzrgre6trgVagREXAF_7Fgevat8REv:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR
+.weak b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR
 .type b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR,%function
 b__MA7naqebvq13GlcrPbairegreVAF_18PunaaryVaqrkGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR:
 nop
@@ -533,17 +533,17 @@
 b__MA7naqebvq14NhqvbCnenzrgre24xrlErpbasvtN2qcFhccbegrqR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREAF5_6irpgbeVF2_AF9_VF2_RRRRCXp:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
@@ -558,7 +558,7 @@
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR6zGnoyrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -573,22 +573,22 @@
 b__MAX7naqebvq14NhqvbCnenzrgre8trgSybngREXAF_7Fgevat8REs:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR
+.weak b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR
 .type b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR,%function
 b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR:
 nop
@@ -603,12 +603,12 @@
 b__MA7naqebvq14NhqvbCnenzrgre15xrlFnzcyvatEngrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR8gbFgevatREXF2_EAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp:
 nop
@@ -618,17 +618,17 @@
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_vachg_syntf_gRRR6zGnoyrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw
+.weak b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw
 .type b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw,%function
 b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREw:
 nop
 .text
-.globl b__MAFg3__16irpgbeV14nhqvb_sbezng_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
+.weak b__MAFg3__16irpgbeV14nhqvb_sbezng_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
 .type b__MAFg3__16irpgbeV14nhqvb_sbezng_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_,%function
 b__MAFg3__16irpgbeV14nhqvb_sbezng_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_:
 nop
@@ -653,12 +653,12 @@
 b__MA7naqebvq14NhqvbCnenzrgre18inyhrYvfgFrcnengbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV20nhqvb_bhgchg_syntf_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp:
 nop
@@ -668,7 +668,7 @@
 b__MA7naqebvq14NhqvbCnenzrgre31xrlFgernzFhccbegrqFnzcyvatEngrfR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz:
 nop
@@ -678,12 +678,12 @@
 b__MAX7naqebvq14NhqvbCnenzrgre12gbFgevatVzcyRo:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV12nhqvb_zbqr_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp:
 nop
@@ -703,17 +703,17 @@
 b__MA7naqebvq14NhqvbCnenzrgre8nqqSybngREXAF_7Fgevat8Rs:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_fbhepr_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_15NhqvbSyntGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_3frgVwAF3_4yrffVwRRAF7_VwRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_3frgVwAF3_4yrffVwRRAF7_VwRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_3frgVwAF3_4yrffVwRRAF7_VwRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_18VachgPunaaryGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_3frgVwAF3_4yrffVwRRAF7_VwRRRRCXp:
 nop
@@ -723,12 +723,12 @@
 b__MA7naqebvq14NhqvbCnenzrgreQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_17VachgQrivprGenvgfRR14znfxSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp:
 nop
@@ -748,17 +748,17 @@
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV13nhqvb_hfntr_gRRR6zGnoyrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_18BhgchgQrivprGenvgfRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCXp:
 nop
 .data
-.globl b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -768,47 +768,47 @@
 b__MA7naqebvq14NhqvbCnenzrgre17xrlCerfragngvbaVqR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR12znfxGbFgevatRwEAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF6_11pune_genvgfVpRRAF6_9nyybpngbeVpRRRR
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF6_11pune_genvgfVpRRAF6_9nyybpngbeVpRRRR
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF6_11pune_genvgfVpRRAF6_9nyybpngbeVpRRRR,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfVwRRR8gbFgevatREXwEAFg3__112onfvp_fgevatVpAF6_11pune_genvgfVpRRAF6_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeV13nhqvb_hfntr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
+.weak b__MAFg3__16irpgbeV13nhqvb_hfntr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
 .type b__MAFg3__16irpgbeV13nhqvb_hfntr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_,%function
 b__MAFg3__16irpgbeV13nhqvb_hfntr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV19nhqvb_fgernz_glcr_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_
+.weak b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_
 .type b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_,%function
 b__MA7naqebvq13GlcrPbairegreVAF_13QrsnhygGenvgfV14nhqvb_sbezng_gRRR10sebzFgevatREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREF2_:
 nop
 .text
-.globl b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_3frgVwAF3_4yrffVwRRAF7_VwRRRRCXp
+.weak b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_3frgVwAF3_4yrffVwRRAF7_VwRRRRCXp
 .type b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_3frgVwAF3_4yrffVwRRAF7_VwRRRRCXp,%function
 b__MA7naqebvq13GlcrPbairegreVAF_19BhgchgPunaaryGenvgfRR20pbyyrpgvbaSebzFgevatREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREAF3_3frgVwAF3_4yrffVwRRAF7_VwRRRRCXp:
 nop
@@ -818,7 +818,7 @@
 b__MA7naqebvq17sbezngfSebzFgevatREXAFg3__112onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRRCXp:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_080.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_080.S
index 6f44a1b..0ba831d 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_080.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_080.S
@@ -8,12 +8,12 @@
 b__MA7naqebvq18ZrqvnNanylgvpfVgrz8svaqCebcRCXp:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_25ZrqvnZrgevpfQrnguAbgvsvreRRnFRCF1_
+.weak b__MA7naqebvq2fcVAF_25ZrqvnZrgevpfQrnguAbgvsvreRRnFRCF1_
 .type b__MA7naqebvq2fcVAF_25ZrqvnZrgevpfQrnguAbgvsvreRRnFRCF1_,%function
 b__MA7naqebvq2fcVAF_25ZrqvnZrgevpfQrnguAbgvsvreRRnFRCF1_:
 nop
 .data
-.globl b__MGGA7naqebvq23OcZrqvnNanylgvpfFreivprR
+.weak b__MGGA7naqebvq23OcZrqvnNanylgvpfFreivprR
 .type b__MGGA7naqebvq23OcZrqvnNanylgvpfFreivprR,%object
 b__MGGA7naqebvq23OcZrqvnNanylgvpfFreivprR:
 .space __SIZEOF_POINTER__
@@ -33,17 +33,17 @@
 b_zrqvnzrgevpf_frgVag64:
 nop
 .data
-.globl b__MGIA7naqebvq25ZrqvnZrgevpfQrnguAbgvsvreR
+.weak b__MGIA7naqebvq25ZrqvnZrgevpfQrnguAbgvsvreR
 .type b__MGIA7naqebvq25ZrqvnZrgevpfQrnguAbgvsvreR,%object
 b__MGIA7naqebvq25ZrqvnZrgevpfQrnguAbgvsvreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq23OcZrqvnNanylgvpfFreivprR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq23OcZrqvnNanylgvpfFreivprR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq23OcZrqvnNanylgvpfFreivprR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq23OcZrqvnNanylgvpfFreivprR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq23OcZrqvnNanylgvpfFreivprR
+.weak b__MGIA7naqebvq23OcZrqvnNanylgvpfFreivprR
 .type b__MGIA7naqebvq23OcZrqvnNanylgvpfFreivprR,%object
 b__MGIA7naqebvq23OcZrqvnNanylgvpfFreivprR:
 .space __SIZEOF_POINTER__
@@ -183,7 +183,7 @@
 b__MGPA7naqebvq23OaZrqvnNanylgvpfFreivprR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq23OcZrqvnNanylgvpfFreivprR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq23OcZrqvnNanylgvpfFreivprR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq23OcZrqvnNanylgvpfFreivprR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq23OcZrqvnNanylgvpfFreivprR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -333,7 +333,7 @@
 b__MA7naqebvq18ZrqvnNanylgvpfVgrz7frgEngrRCXpyy:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_22VZrqvnNanylgvpfFreivprRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_22VZrqvnNanylgvpfFreivprRRQ2Ri
 .type b__MA7naqebvq2fcVAF_22VZrqvnNanylgvpfFreivprRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_22VZrqvnNanylgvpfFreivprRRQ2Ri:
 nop
@@ -438,12 +438,12 @@
 b__MA7naqebvq18ZrqvnNanylgvpfVgrz9frgQbhoyrRCXpq:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_25ZrqvnZrgevpfQrnguAbgvsvreRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_25ZrqvnZrgevpfQrnguAbgvsvreRRQ2Ri
 .type b__MA7naqebvq2fcVAF_25ZrqvnZrgevpfQrnguAbgvsvreRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_25ZrqvnZrgevpfQrnguAbgvsvreRRQ2Ri:
 nop
 .data
-.globl b__MGPA7naqebvq23OcZrqvnNanylgvpfFreivprR0_AF_11OcVagresnprVAF_22VZrqvnNanylgvpfFreivprRRR
+.weak b__MGPA7naqebvq23OcZrqvnNanylgvpfFreivprR0_AF_11OcVagresnprVAF_22VZrqvnNanylgvpfFreivprRRR
 .type b__MGPA7naqebvq23OcZrqvnNanylgvpfFreivprR0_AF_11OcVagresnprVAF_22VZrqvnNanylgvpfFreivprRRR,%object
 b__MGPA7naqebvq23OcZrqvnNanylgvpfFreivprR0_AF_11OcVagresnprVAF_22VZrqvnNanylgvpfFreivprRRR:
 .space __SIZEOF_POINTER__
@@ -603,7 +603,7 @@
 b__MA7naqebvq22VZrqvnNanylgvpfFreivpr11nfVagresnprREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .data
-.globl b__MGPA7naqebvq23OcZrqvnNanylgvpfFreivprR0_AF_22VZrqvnNanylgvpfFreivprR
+.weak b__MGPA7naqebvq23OcZrqvnNanylgvpfFreivprR0_AF_22VZrqvnNanylgvpfFreivprR
 .type b__MGPA7naqebvq23OcZrqvnNanylgvpfFreivprR0_AF_22VZrqvnNanylgvpfFreivprR,%object
 b__MGPA7naqebvq23OcZrqvnNanylgvpfFreivprR0_AF_22VZrqvnNanylgvpfFreivprR:
 .space __SIZEOF_POINTER__
@@ -623,7 +623,7 @@
 b_zrqvnzrgevpf_trgQbhoyr:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_22VZrqvnNanylgvpfFreivprRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_22VZrqvnNanylgvpfFreivprRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_22VZrqvnNanylgvpfFreivprRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_22VZrqvnNanylgvpfFreivprRR10baNfOvaqreRi:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_081.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_081.S
index 410c57a..2d9342a 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_081.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_081.S
@@ -28,7 +28,7 @@
 b__MA7naqebvq7zrzvasb18SbeRnpuIznSebzSvyrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRREXAF1_8shapgvbaVSiEXAF0_3IznRRRR:
 nop
 .text
-.globl b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
+.weak b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
 .type b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR,%function
 b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR:
 nop
@@ -68,7 +68,7 @@
 b__MA7naqebvq7zrzvasb21FzncfBeEbyyhcSebzSvyrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCAF0_8ZrzHfntrR:
 nop
 .text
-.globl b__MA7naqebvq8cebpvasb18ErnqZncSvyrPbagragVAFg3__18shapgvbaVSizzgzzCXpRRRRRoCpEXG_
+.weak b__MA7naqebvq8cebpvasb18ErnqZncSvyrPbagragVAFg3__18shapgvbaVSizzgzzCXpRRRRRoCpEXG_
 .type b__MA7naqebvq8cebpvasb18ErnqZncSvyrPbagragVAFg3__18shapgvbaVSizzgzzCXpRRRRRoCpEXG_,%function
 b__MA7naqebvq8cebpvasb18ErnqZncSvyrPbagragVAFg3__18shapgvbaVSizzgzzCXpRRRRRoCpEXG_:
 nop
@@ -93,12 +93,12 @@
 b__MA7naqebvq7zrzvasb11CebpZrzVasb5FzncfREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRzRRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRzRRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRzRRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRzRRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_:
 nop
 .data
-.globl b__MTIMA7naqebvq7zrzvasb8CntrNppg8VafgnaprRiR8vafgnapr
+.weak b__MTIMA7naqebvq7zrzvasb8CntrNppg8VafgnaprRiR8vafgnapr
 .type b__MTIMA7naqebvq7zrzvasb8CntrNppg8VafgnaprRiR8vafgnapr,%object
 b__MTIMA7naqebvq7zrzvasb8CntrNppg8VafgnaprRiR8vafgnapr:
 .space __SIZEOF_POINTER__
@@ -133,7 +133,7 @@
 b__MA7naqebvq7zrzvasb10FlfZrzVasb11ErnqZrzVasbREXAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRCAF3_VzAF7_VzRRRREXF9_:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
@@ -153,7 +153,7 @@
 b__MA7naqebvq7zrzvasb24FzncfBeEbyyhcCffSebzSvyrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCz:
 nop
 .data
-.globl b__MMA7naqebvq7zrzvasb8CntrNppg8VafgnaprRiR8vafgnapr
+.weak b__MMA7naqebvq7zrzvasb8CntrNppg8VafgnaprRiR8vafgnapr
 .type b__MMA7naqebvq7zrzvasb8CntrNppg8VafgnaprRiR8vafgnapr,%object
 b__MMA7naqebvq7zrzvasb8CntrNppg8VafgnaprRiR8vafgnapr:
 .space __SIZEOF_POINTER__
@@ -168,7 +168,7 @@
 b__MA7naqebvq7zrzvasb11CebpZrzVasb15ErfrgJbexvatFrgRv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVgAF_9nyybpngbeVgRRR24__rzcynpr_onpx_fybj_cnguVWlRRRiQcBG_
+.weak b__MAFg3__16irpgbeVgAF_9nyybpngbeVgRRR24__rzcynpr_onpx_fybj_cnguVWlRRRiQcBG_
 .type b__MAFg3__16irpgbeVgAF_9nyybpngbeVgRRR24__rzcynpr_onpx_fybj_cnguVWlRRRiQcBG_,%function
 b__MAFg3__16irpgbeVgAF_9nyybpngbeVgRRR24__rzcynpr_onpx_fybj_cnguVWlRRRiQcBG_:
 nop
@@ -203,7 +203,7 @@
 b__MAX7naqebvq7zrzvasb11CebpZrzVasb16FzncfBeEbyyhcCffRCz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq7zrzvasb3IznRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWF3_RRRiQcBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq7zrzvasb3IznRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWF3_RRRiQcBG_
 .type b__MAFg3__16irpgbeVA7naqebvq7zrzvasb3IznRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWF3_RRRiQcBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq7zrzvasb3IznRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWF3_RRRiQcBG_:
 nop
@@ -213,7 +213,7 @@
 b__MA7naqebvq7zrzvasb8cntrfvmrRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq7zrzvasb3IznRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEXF3_RRRiQcBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq7zrzvasb3IznRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEXF3_RRRiQcBG_
 .type b__MAFg3__16irpgbeVA7naqebvq7zrzvasb3IznRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEXF3_RRRiQcBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq7zrzvasb3IznRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEXF3_RRRiQcBG_:
 nop
@@ -228,7 +228,7 @@
 b__MA7naqebvq7zrzvasb15ErnqIznyybpVasbREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -248,7 +248,7 @@
 b__MAX7naqebvq7zrzvasb11CebpZrzVasb13FzncfBeEbyyhcRCAF0_8ZrzHfntrR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR8__nccraqRz:
 nop
@@ -272,11 +272,9 @@
 CALL(b__MA7naqebvq4onfr10YbtZrffntrQ1Ri)
 CALL(__stack_chk_fail)
 CALL(b__MA7naqebvq7zrzvasb8CntrNppg12VavgCntrNppgRo)
-CALL(pread64)
 CALL(b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRRyfRz)
 CALL(b__MAX7naqebvq7zrzvasb8CntrNppg12ZnexCntrVqyrRz)
 CALL(b__MAX7naqebvq7zrzvasb8CntrNppg11TrgCntrVqyrRz)
-CALL(pwrite64)
 CALL(b__MAFg3__113onfvp_bfgernzVpAF_11pune_genvgfVpRRR6fragelP1REF3_)
 CALL(b__MAXFg3__18vbf_onfr6trgybpRi)
 CALL(b__MAXFg3__16ybpnyr9hfr_snprgREAF0_2vqR)
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_082.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_082.S
index 0702a21..2376c27 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_082.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_082.S
@@ -3,7 +3,7 @@
 .data
 .p2align 4
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
@@ -33,7 +33,7 @@
 b__MAX7naqebvq9NhqvbTnva6rdhnyfREXAF_2fcVF0_RR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_9NhqvbTnvaRRRAF_9nyybpngbeVF4_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_9NhqvbTnvaRRRAF_9nyybpngbeVF4_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_9NhqvbTnvaRRRAF_9nyybpngbeVF4_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_9NhqvbTnvaRRRAF_9nyybpngbeVF4_RRR8__nccraqRz:
 nop
@@ -63,7 +63,7 @@
 b__MGua16_A7naqebvq12NhqvbCebsvyr14ernqSebzCnepryRCXAF_6CnepryR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
@@ -93,7 +93,7 @@
 b__MAX7naqebvq18NhqvbCebsvyrIrpgbe19trgFhccbegrqSbezngfRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeV14nhqvb_sbezng_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeV14nhqvb_sbezng_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeV14nhqvb_sbezng_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeV14nhqvb_sbezng_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -108,7 +108,7 @@
 b__MGua104_A7naqebvq20QrivprQrfpevcgbeOnfr14ernqSebzCnepryRCXAF_6CnepryR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -138,12 +138,12 @@
 b__MA7naqebvq8gbFgevatREXAFg3__16irpgbeVAF_2fcVAF_20QrivprQrfpevcgbeOnfrRRRAF0_9nyybpngbeVF4_RRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR12__svaq_rdhnyVwRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwF8_RRyRRECAF_15__gerr_raq_abqrVFN_RRFO_EXG_
+.weak b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR12__svaq_rdhnyVwRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwF8_RRyRRECAF_15__gerr_raq_abqrVFN_RRFO_EXG_
 .type b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR12__svaq_rdhnyVwRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwF8_RRyRRECAF_15__gerr_raq_abqrVFN_RRFO_EXG_,%function
 b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR12__svaq_rdhnyVwRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwF8_RRyRRECAF_15__gerr_raq_abqrVFN_RRFO_EXG_:
 nop
 .data
-.globl b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -153,7 +153,7 @@
 b__MAX7naqebvq18NhqvbCebsvyrIrpgbe17unfQlanzvpEngrSbeR14nhqvb_sbezng_g:
 nop
 .data
-.globl b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -163,7 +163,7 @@
 b__MA7naqebvq30qrivprGlcrNqqefSebzQrfpevcgbefREXAFg3__16irpgbeVAF_2fcVAF_20QrivprQrfpevcgbeOnfrRRRAF0_9nyybpngbeVF4_RRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq19NhqvbQrivprGlcrNqqeRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq19NhqvbQrivprGlcrNqqeRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq19NhqvbQrivprGlcrNqqeRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq19NhqvbQrivprGlcrNqqeRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -173,7 +173,7 @@
 b__MGIA7naqebvq20QrivprQrfpevcgbeOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -223,7 +223,7 @@
 b__MA7naqebvq20QrivprQrfpevcgbeOnfrP2RwEXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
@@ -258,7 +258,7 @@
 b__MAX7naqebvq18NhqvbCebsvyrIrpgbe4qhzcRCAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12NhqvbCebsvyrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12NhqvbCebsvyrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12NhqvbCebsvyrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12NhqvbCebsvyrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_:
 nop
@@ -268,7 +268,7 @@
 b__MAX7naqebvq20QrivprQrfpevcgbeOnfr3ybtRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwCiRRyRRRRiG_FQ_
+.weak b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwCiRRyRRRRiG_FQ_
 .type b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwCiRRyRRRRiG_FQ_,%function
 b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwCiRRyRRRRiG_FQ_:
 nop
@@ -283,7 +283,7 @@
 b__MGua104_AX7naqebvq20QrivprQrfpevcgbeOnfr17gbNhqvbCbegPbasvtRC17nhqvb_cbeg_pbasvtCXF1_:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
@@ -308,12 +308,12 @@
 b__MGua104_AX7naqebvq20QrivprQrfpevcgbeOnfr13jevgrGbCnepryRCAF_6CnepryR:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -468,7 +468,7 @@
 b__MA7naqebvq26trgNhqvbQrivprBhgNyyHfoFrgRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRRP2VCXvRRG_AF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVF7_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRF7_R4glcrR
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRRP2VCXvRRG_AF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVF7_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRF7_R4glcrR
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRRP2VCXvRRG_AF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVF7_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRF7_R4glcrR,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRRP2VCXvRRG_AF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVF7_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRF7_R4glcrR:
 nop
@@ -488,7 +488,7 @@
 b__MA7naqebvq12NhqvbCebsvyrP1R14nhqvb_sbezng_gEXAFg3__13frgVwAF2_4yrffVwRRAF2_9nyybpngbeVwRRRRFN_:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -518,7 +518,7 @@
 b__MGIA7naqebvq18NhqvbCebsvyrIrpgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
@@ -563,7 +563,7 @@
 b__MA7naqebvq18NhqvbCebsvyrIrpgbe14ernqSebzCnepryRCXAF_6CnepryR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12NhqvbCebsvyrRRRAF_9nyybpngbeVF4_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12NhqvbCebsvyrRRRAF_9nyybpngbeVF4_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12NhqvbCebsvyrRRRAF_9nyybpngbeVF4_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12NhqvbCebsvyrRRRAF_9nyybpngbeVF4_RRR8__nccraqRz:
 nop
@@ -573,7 +573,7 @@
 b__MGua16_AX7naqebvq12NhqvbCebsvyr13jevgrGbCnepryRCAF_6CnepryR:
 nop
 .text
-.globl b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR7qrfgeblRCAF_11__gerr_abqrVwCiRR
+.weak b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR7qrfgeblRCAF_11__gerr_abqrVwCiRR
 .type b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR7qrfgeblRCAF_11__gerr_abqrVwCiRR,%function
 b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR7qrfgeblRCAF_11__gerr_abqrVwCiRR:
 nop
@@ -593,7 +593,7 @@
 b__MAX7naqebvq20QrivprQrfpevcgbeOnfr4qhzcRCAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRvvCXpo:
 nop
 .data
-.globl b__MGIA7naqebvq10CneprynoyrR
+.weak b__MGIA7naqebvq10CneprynoyrR
 .type b__MGIA7naqebvq10CneprynoyrR,%object
 b__MGIA7naqebvq10CneprynoyrR:
 .space __SIZEOF_POINTER__
@@ -603,7 +603,7 @@
 b__MA7naqebvq23trgNhqvbQrivprBhgNyyFrgRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
@@ -613,7 +613,7 @@
 b__MAX7naqebvq12NhqvbCebsvyr6rdhnyfREXAF_2fcVF0_RR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6nffvtaVAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwCiRRyRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRiR4glcrRFP_FP_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6nffvtaVAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwCiRRyRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRiR4glcrRFP_FP_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6nffvtaVAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwCiRRyRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRiR4glcrRFP_FP_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6nffvtaVAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwCiRRyRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRiR4glcrRFP_FP_:
 nop
@@ -638,7 +638,7 @@
 b__MGGA7naqebvq9NhqvbCbegR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRRP2VAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwCiRRyRRRRG_AF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVFO_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRFO_R4glcrR
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRRP2VAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwCiRRyRRRRG_AF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVFO_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRFO_R4glcrR
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRRP2VAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwCiRRyRRRRG_AF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVFO_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRFO_R4glcrR,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRRP2VAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwCiRRyRRRRG_AF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVFO_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRFO_R4glcrR:
 nop
@@ -653,12 +653,12 @@
 b__MGIA7naqebvq19NhqvbQrivprGlcrNqqeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrV14nhqvb_sbezng_gAF_4yrffVF1_RRAF_9nyybpngbeVF1_RRR7qrfgeblRCAF_11__gerr_abqrVF1_CiRR
+.weak b__MAFg3__16__gerrV14nhqvb_sbezng_gAF_4yrffVF1_RRAF_9nyybpngbeVF1_RRR7qrfgeblRCAF_11__gerr_abqrVF1_CiRR
 .type b__MAFg3__16__gerrV14nhqvb_sbezng_gAF_4yrffVF1_RRAF_9nyybpngbeVF1_RRR7qrfgeblRCAF_11__gerr_abqrVF1_CiRR,%function
 b__MAFg3__16__gerrV14nhqvb_sbezng_gAF_4yrffVF1_RRAF_9nyybpngbeVF1_RRR7qrfgeblRCAF_11__gerr_abqrVF1_CiRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR26__rzcynpr_uvag_havdhr_vzcyVWEvRRRAF_15__gerr_vgrengbeVwCAF_11__gerr_abqrVwCiRRyRRAF_21__gerr_pbafg_vgrengbeVwFP_yRRQcBG_
+.weak b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR26__rzcynpr_uvag_havdhr_vzcyVWEvRRRAF_15__gerr_vgrengbeVwCAF_11__gerr_abqrVwCiRRyRRAF_21__gerr_pbafg_vgrengbeVwFP_yRRQcBG_
 .type b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR26__rzcynpr_uvag_havdhr_vzcyVWEvRRRAF_15__gerr_vgrengbeVwCAF_11__gerr_abqrVwCiRRyRRAF_21__gerr_pbafg_vgrengbeVwFP_yRRQcBG_,%function
 b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR26__rzcynpr_uvag_havdhr_vzcyVWEvRRRAF_15__gerr_vgrengbeVwCAF_11__gerr_abqrVwCiRRyRRAF_21__gerr_pbafg_vgrengbeVwFP_yRRQcBG_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_083.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_083.S
index 121c6aa..9c65444 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_083.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_083.S
@@ -83,7 +83,7 @@
 b__MA7naqebvq20NhqvbCebqhpgFgengrtl17nggevohgrfZngpurfR18nhqvb_nggevohgrf_gF1_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15NhqvbNggevohgrfRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq15NhqvbNggevohgrfRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq15NhqvbNggevohgrfRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq15NhqvbNggevohgrfRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -108,12 +108,12 @@
 b__MGIA7naqebvq20NhqvbCebqhpgFgengrtlR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeV18nhqvb_nggevohgrf_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeV18nhqvb_nggevohgrf_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeV18nhqvb_nggevohgrf_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeV18nhqvb_nggevohgrf_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeV19nhqvb_fgernz_glcr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
+.weak b__MAFg3__16irpgbeV19nhqvb_fgernz_glcr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
 .type b__MAFg3__16irpgbeV19nhqvb_fgernz_glcr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_,%function
 b__MAFg3__16irpgbeV19nhqvb_fgernz_glcr_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_087.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_087.S
index b9285aa..67c70d9 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_087.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_087.S
@@ -138,7 +138,7 @@
 b__M13TrgAnzrSebzGGCXuww:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpRrdREXF1_
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpRrdREXF1_
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpRrdREXF1_,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpRrdREXF1_:
 nop
@@ -183,7 +183,7 @@
 b__MAX5skpeg10JvqrFgevatygREXF0_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_9nyybpngbeVF5_RRR24__rzcynpr_onpx_fybj_cnguVWEC14PCQSFQX_JvqtrgRRRiQcBG_
+.weak b__MAFg3__16irpgbeVA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_9nyybpngbeVF5_RRR24__rzcynpr_onpx_fybj_cnguVWEC14PCQSFQX_JvqtrgRRRiQcBG_
 .type b__MAFg3__16irpgbeVA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_9nyybpngbeVF5_RRR24__rzcynpr_onpx_fybj_cnguVWEC14PCQSFQX_JvqtrgRRRiQcBG_,%function
 b__MAFg3__16irpgbeVA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_9nyybpngbeVF5_RRR24__rzcynpr_onpx_fybj_cnguVWEC14PCQSFQX_JvqtrgRRRiQcBG_:
 nop
@@ -338,7 +338,7 @@
 b__MA16PSK_PGGTFHOGnoyr10GFhoGnoyr2Q0Ri:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRREyAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF7_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRREyAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF7_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRREyAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF7_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRREyAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF7_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -363,12 +363,12 @@
 b__MA22PCQSFQX_ONNaabgUnaqyre15BaEOhggbaQoyPyxRC16PCQSFQX_CntrIvrjCA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRwEX13PSK_CGrzcyngrVsR:
 nop
 .text
-.globl b__MAFg3__16irpgbeV13PSK_SybngErpgAF_9nyybpngbeVF1_RRR24__rzcynpr_onpx_fybj_cnguVWF1_RRRiQcBG_
+.weak b__MAFg3__16irpgbeV13PSK_SybngErpgAF_9nyybpngbeVF1_RRR24__rzcynpr_onpx_fybj_cnguVWF1_RRRiQcBG_
 .type b__MAFg3__16irpgbeV13PSK_SybngErpgAF_9nyybpngbeVF1_RRR24__rzcynpr_onpx_fybj_cnguVWF1_RRRiQcBG_,%function
 b__MAFg3__16irpgbeV13PSK_SybngErpgAF_9nyybpngbeVF1_RRR24__rzcynpr_onpx_fybj_cnguVWF1_RRRiQcBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVC8PCJY_JaqAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVC8PCJY_JaqAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVC8PCJY_JaqAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVC8PCJY_JaqAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -563,7 +563,7 @@
 b__MA11PCQS_Bowrpg9NfObbyrnaRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA11PCQS_Cnefre10BowrpgVasbRRRAF_19__znc_inyhr_pbzcnerVwF4_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA11PCQS_Cnefre10BowrpgVasbRRRAF_19__znc_inyhr_pbzcnerVwF4_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA11PCQS_Cnefre10BowrpgVasbRRRAF_19__znc_inyhr_pbzcnerVwF4_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA11PCQS_Cnefre10BowrpgVasbRRRAF_19__znc_inyhr_pbzcnerVwF4_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR:
 nop
@@ -583,7 +583,7 @@
 b__MA13PSCS_FxvnSbag13TrgTylcuVaqrkRj:
 nop
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVpR6PerngrRCXpz
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVpR6PerngrRCXpz
 .type b__MA5skpeg18FgevatQngnGrzcyngrVpR6PerngrRCXpz,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVpR6PerngrRCXpz:
 nop
@@ -643,7 +643,7 @@
 b__MAX14PCJY_FpebyyOne17TrgFpebyyOneJvqguRi:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR4YrsgRz
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR4YrsgRz
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR4YrsgRz,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR4YrsgRz:
 nop
@@ -653,7 +653,7 @@
 b__M13SK_HGS8RapbqrEXA5skpeg18FgevatIvrjGrzcyngrVjRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_BowrpgC18PCQS_PbhagrqBowrpgV15PCQS_PbybeFcnprRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_BowrpgC18PCQS_PbhagrqBowrpgV15PCQS_PbybeFcnprRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_BowrpgC18PCQS_PbhagrqBowrpgV15PCQS_PbybeFcnprRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_BowrpgC18PCQS_PbhagrqBowrpgV15PCQS_PbybeFcnprRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR:
 nop
@@ -728,7 +728,7 @@
 b__MA9PCJY_Rqvg8BaQryrgrREX14PCIG_JbeqCynprF2_:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_:
 nop
@@ -753,7 +753,7 @@
 b__pzfJevgrNyvtazrag:
 nop
 .text
-.globl b__MAFg3__16__gerrVC15PCQS_QvpgvbanelAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVF2_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FN_RRyRRECAF_15__gerr_raq_abqrVFP_RRFQ_EXG_
+.weak b__MAFg3__16__gerrVC15PCQS_QvpgvbanelAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVF2_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FN_RRyRRECAF_15__gerr_raq_abqrVFP_RRFQ_EXG_
 .type b__MAFg3__16__gerrVC15PCQS_QvpgvbanelAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVF2_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FN_RRyRRECAF_15__gerr_raq_abqrVFP_RRFQ_EXG_,%function
 b__MAFg3__16__gerrVC15PCQS_QvpgvbanelAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVF2_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FN_RRyRRECAF_15__gerr_raq_abqrVFP_RRFQ_EXG_:
 nop
@@ -813,7 +813,7 @@
 b__MA9PCQS_AnzrP1RA5skpeg7JrnxCgeVAF0_18FgevatCbbyGrzcyngrVAF0_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF4_RRRREXF3_:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN17_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN17_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN17_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN17_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -863,7 +863,7 @@
 b__MAX9PCQS_Anzr9TrgFgevatRi:
 nop
 .text
-.globl b__MAFg3__113zbir_onpxjneqV13CNTRPUNE_VASBCF1_EF1_CF2_yYy56RF1_F2_F3_F4_yYy56RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAF5_VG_G0_G1_G2_G3_KG4_RRRFU_FO_
+.weak b__MAFg3__113zbir_onpxjneqV13CNTRPUNE_VASBCF1_EF1_CF2_yYy56RF1_F2_F3_F4_yYy56RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAF5_VG_G0_G1_G2_G3_KG4_RRRFU_FO_
 .type b__MAFg3__113zbir_onpxjneqV13CNTRPUNE_VASBCF1_EF1_CF2_yYy56RF1_F2_F3_F4_yYy56RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAF5_VG_G0_G1_G2_G3_KG4_RRRFU_FO_,%function
 b__MAFg3__113zbir_onpxjneqV13CNTRPUNE_VASBCF1_EF1_CF2_yYy56RF1_F2_F3_F4_yYy56RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAF5_VG_G0_G1_G2_G3_KG4_RRRFU_FO_:
 nop
@@ -933,12 +933,12 @@
 b__MA20PSK_VzntrGenafsbezre9PnypPbybeREXAF_8PnypQngnR12SKQVO_Sbezngv:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1RCXjz
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1RCXjz
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1RCXjz,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1RCXjz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVC13PCQSFQX_NaabgAF_9nyybpngbeVF2_RRRP2REXF5_
+.weak b__MAFg3__16irpgbeVC13PCQSFQX_NaabgAF_9nyybpngbeVF2_RRRP2REXF5_
 .type b__MAFg3__16irpgbeVC13PCQSFQX_NaabgAF_9nyybpngbeVF2_RRRP2REXF5_,%function
 b__MAFg3__16irpgbeVC13PCQSFQX_NaabgAF_9nyybpngbeVF2_RRRP2REXF5_:
 nop
@@ -993,12 +993,12 @@
 b__MA5skpeg10OlgrFgevatP2RBF0_:
 nop
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVjR6PerngrRz
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVjR6PerngrRz
 .type b__MA5skpeg18FgevatQngnGrzcyngrVjR6PerngrRz,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVjR6PerngrRz:
 nop
 .data
-.globl b__MGFAFg3__117onq_shapgvba_pnyyR
+.weak b__MGFAFg3__117onq_shapgvba_pnyyR
 .type b__MGFAFg3__117onq_shapgvba_pnyyR,%object
 b__MGFAFg3__117onq_shapgvba_pnyyR:
 .space __SIZEOF_POINTER__
@@ -1058,7 +1058,7 @@
 b__MA11PCQS_AhzoreQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCuAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCuAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCuAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCuAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -1238,7 +1238,7 @@
 b__MA14PSK_TencuFgngrP2REXF_:
 nop
 .text
-.globl b__MAFg3__118__vafregvba_fbeg_3VECSoCX13PCQSFQX_NaabgF3_RCCF1_RRiG0_F9_G_
+.weak b__MAFg3__118__vafregvba_fbeg_3VECSoCX13PCQSFQX_NaabgF3_RCCF1_RRiG0_F9_G_
 .type b__MAFg3__118__vafregvba_fbeg_3VECSoCX13PCQSFQX_NaabgF3_RCCF1_RRiG0_F9_G_,%function
 b__MAFg3__118__vafregvba_fbeg_3VECSoCX13PCQSFQX_NaabgF3_RCCF1_RRiG0_F9_G_:
 nop
@@ -1258,7 +1258,7 @@
 b__MA24PCQS_FgernzPbagragCnefre19Unaqyr_PbapngZngevkRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA5skpeg10OlgrFgevatRAF_9nyybpngbeVF2_RRRP2Rz
+.weak b__MAFg3__16irpgbeVA5skpeg10OlgrFgevatRAF_9nyybpngbeVF2_RRRP2Rz
 .type b__MAFg3__16irpgbeVA5skpeg10OlgrFgevatRAF_9nyybpngbeVF2_RRRP2Rz,%function
 b__MAFg3__16irpgbeVA5skpeg10OlgrFgevatRAF_9nyybpngbeVF2_RRRP2Rz:
 nop
@@ -1298,7 +1298,7 @@
 b__MA3ntt10iptra_qnfuP1Ri:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR4YrsgRz
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR4YrsgRz
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR4YrsgRz,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR4YrsgRz:
 nop
@@ -1383,7 +1383,7 @@
 b__MA14PCQS_BPPbagrkg18PurpxBowrpgIvfvoyrRCX15PCQS_CntrBowrpg:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN7_XjRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN7_XjRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN7_XjRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN7_XjRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -1398,7 +1398,7 @@
 b__MAX15PCQS_CntrBowrpg6VfCnguRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCyEAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCyEAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_
 .type b__MAFg3__114__fcyvg_ohssreVCyEAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCyEAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_:
 nop
@@ -1483,7 +1483,7 @@
 b__MA14PCQS_FgehpgXvqQ1Ri:
 nop
 .data
-.globl b__MGVFg11ybtvp_reebe
+.weak b__MGVFg11ybtvp_reebe
 .type b__MGVFg11ybtvp_reebe,%object
 b__MGVFg11ybtvp_reebe:
 .space __SIZEOF_POINTER__
@@ -1683,7 +1683,7 @@
 b__MAX15PCQS_Qvpgvbanel13TrgVagrtreSbeREXA5skpeg10OlgrFgevatR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
 .type b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_:
 nop
@@ -1973,7 +1973,7 @@
 b__MA16PCQSFQX_CntrIvrj12YbnqSKNaabgfRi:
 nop
 .data
-.globl b__MGIA8PCJY_Jaq13CebivqreVsnprR
+.weak b__MGIA8PCJY_Jaq13CebivqreVsnprR
 .type b__MGIA8PCJY_Jaq13CebivqreVsnprR,%object
 b__MGIA8PCJY_Jaq13CebivqreVsnprR:
 .space __SIZEOF_POINTER__
@@ -2468,7 +2468,7 @@
 b__MA21PCQSFQX_JvqtrgUnaqyre11BaZbhfrZbirRC16PCQSFQX_CntrIvrjCA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRwEX13PSK_CGrzcyngrVsR:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR19__nqq_onpx_pncnpvglRi:
 nop
@@ -2828,7 +2828,7 @@
 b__MA21WOvt2_QbphzragPbagrkgQ1Ri:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF6_RRR10chfu_sebagRBF6_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF6_RRR10chfu_sebagRBF6_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF6_RRR10chfu_sebagRBF6_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF6_RRR10chfu_sebagRBF6_:
 nop
@@ -3228,7 +3228,7 @@
 b__MA22CJY_FPEBYY_CEVINGRQNGN14FrgPyvragJvqguRs:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREXF5_RRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREXF5_RRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREXF5_RRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREXF5_RRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -3258,7 +3258,7 @@
 b__M14CQS_QrpbqrGrkgCXuw:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_:
 nop
@@ -3278,7 +3278,7 @@
 b__MA14PCQS_QngnNinvy9PurpxCntrRi:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR4eraqRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR4eraqRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR4eraqRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR4eraqRi:
 nop
@@ -3408,7 +3408,7 @@
 b__MA17PCQS_InevnoyrGrkgQ2Ri:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjRrdRCXj
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjRrdRCXj
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjRrdRCXj,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjRrdRCXj:
 nop
@@ -3543,7 +3543,7 @@
 b__MA15PWOvt2_TEEQCebp22qrpbqr_Grzcyngr0_habcgRC19PWOvt2_NevguQrpbqreC13WOvt2NevguPgk:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR6eortvaRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR6eortvaRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR6eortvaRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR6eortvaRi:
 nop
@@ -3593,7 +3593,7 @@
 b__MAX12PSK_CnguQngn14TrgObhaqvatObkRss:
 nop
 .text
-.globl b__MAFg3__15qrdhrVwAF_9nyybpngbeVwRRR13__zbir_nffvtaREF3_AF_17vagrteny_pbafgnagVoYo1RRR
+.weak b__MAFg3__15qrdhrVwAF_9nyybpngbeVwRRR13__zbir_nffvtaREF3_AF_17vagrteny_pbafgnagVoYo1RRR
 .type b__MAFg3__15qrdhrVwAF_9nyybpngbeVwRRR13__zbir_nffvtaREF3_AF_17vagrteny_pbafgnagVoYo1RRR,%function
 b__MAFg3__15qrdhrVwAF_9nyybpngbeVwRRR13__zbir_nffvtaREF3_AF_17vagrteny_pbafgnagVoYo1RRR:
 nop
@@ -3678,7 +3678,7 @@
 b__M13SK_BcraSbyqreCXp:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVA5skpeg10JvqrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVA5skpeg10JvqrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVA5skpeg10JvqrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVA5skpeg10JvqrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR8__erunfuRz:
 nop
@@ -3733,7 +3733,7 @@
 b_pzfBcraCebsvyrSebzZrz:
 nop
 .text
-.globl b__MA3ntt9cbq_qrdhrVAF_15iregrk_qvfg_pzqRYw6RR14nyybpngr_oybpxRw
+.weak b__MA3ntt9cbq_qrdhrVAF_15iregrk_qvfg_pzqRYw6RR14nyybpngr_oybpxRw
 .type b__MA3ntt9cbq_qrdhrVAF_15iregrk_qvfg_pzqRYw6RR14nyybpngr_oybpxRw,%function
 b__MA3ntt9cbq_qrdhrVAF_15iregrk_qvfg_pzqRYw6RR14nyybpngr_oybpxRw:
 nop
@@ -3853,7 +3853,7 @@
 b__MA16PCQS_SbezPbageby8TrgPbybeREvEXA5skpeg10OlgrFgevatR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV10PCQS_NaabgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV10PCQS_NaabgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV10PCQS_NaabgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV10PCQS_NaabgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -3863,7 +3863,7 @@
 b__MA13PCJY_YvfgPgey10FrgGbcVgrzRv:
 nop
 .text
-.globl b__MA3ntt15iregrk_frdhraprVAF_11iregrk_qvfgRYw6RR5pybfrRo
+.weak b__MA3ntt15iregrk_frdhraprVAF_11iregrk_qvfgRYw6RR5pybfrRo
 .type b__MA3ntt15iregrk_frdhraprVAF_11iregrk_qvfgRYw6RR5pybfrRo,%function
 b__MA3ntt15iregrk_frdhraprVAF_11iregrk_qvfgRYw6RR5pybfrRo:
 nop
@@ -3923,12 +3923,12 @@
 b__MA23PSK_QrsnhygEraqreQrivprQ2Ri:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR3ZvqRzz
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR3ZvqRzz
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR3ZvqRzz,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR3ZvqRzz:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR4eraqRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR4eraqRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR4eraqRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR4eraqRi:
 nop
@@ -4153,7 +4153,7 @@
 b__MA10PCQS_VzntrP1RC13PCQS_Qbphzrag:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjRygREXF1_
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjRygREXF1_
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjRygREXF1_,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjRygREXF1_:
 nop
@@ -4198,12 +4198,12 @@
 b__MAX13PCJY_RqvgPgey12TrgPnergVasbRC13PSK_CGrzcyngrVsRF2_:
 nop
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVjRP1Rzz
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVjRP1Rzz
 .type b__MA5skpeg18FgevatQngnGrzcyngrVjRP1Rzz,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVjRP1Rzz:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
@@ -4253,7 +4253,7 @@
 b__MA14PCQS_QngnNinvy11YbnqQbpCntrRw:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVAF_10havdhr_cgeV8PFrpgvbaAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_
+.weak b__MAFg3__114__fcyvg_ohssreVAF_10havdhr_cgeV8PFrpgvbaAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_
 .type b__MAFg3__114__fcyvg_ohssreVAF_10havdhr_cgeV8PFrpgvbaAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_,%function
 b__MAFg3__114__fcyvg_ohssreVAF_10havdhr_cgeV8PFrpgvbaAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_:
 nop
@@ -4263,7 +4263,7 @@
 b__MA13PCJY_YvfgPgey16FpebyyGbYvfgVgrzRv:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR4SvaqRp
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR4SvaqRp
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR4SvaqRp,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR4SvaqRp:
 nop
@@ -4278,7 +4278,7 @@
 b__M14CQS_AnzrQrpbqrEXA5skpeg10OlgrFgevatR:
 nop
 .text
-.globl b__MAFg3__112__qrdhr_onfrVAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR5pyrneRi
+.weak b__MAFg3__112__qrdhr_onfrVAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR5pyrneRi
 .type b__MAFg3__112__qrdhr_onfrVAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR5pyrneRi,%function
 b__MAFg3__112__qrdhr_onfrVAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR5pyrneRi:
 nop
@@ -4308,7 +4308,7 @@
 b__MA8PCJY_Jaq15BaYOhggbaQoyPyxREX13PSK_CGrzcyngrVsRw:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjRarRCXj
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjRarRCXj
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjRarRCXj,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjRarRCXj:
 nop
@@ -4378,7 +4378,7 @@
 b__MA16PPbqrp_SnkZbqhyr13PerngrQrpbqreRCXuwvvvooovv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA5skpeg10HabjarqCgeV16PCQS_SbezPbagebyRRAF_9nyybpngbeVF4_RRR24__rzcynpr_onpx_fybj_cnguVWECF3_RRRiQcBG_
+.weak b__MAFg3__16irpgbeVA5skpeg10HabjarqCgeV16PCQS_SbezPbagebyRRAF_9nyybpngbeVF4_RRR24__rzcynpr_onpx_fybj_cnguVWECF3_RRRiQcBG_
 .type b__MAFg3__16irpgbeVA5skpeg10HabjarqCgeV16PCQS_SbezPbagebyRRAF_9nyybpngbeVF4_RRR24__rzcynpr_onpx_fybj_cnguVWECF3_RRRiQcBG_,%function
 b__MAFg3__16irpgbeVA5skpeg10HabjarqCgeV16PCQS_SbezPbagebyRRAF_9nyybpngbeVF4_RRR24__rzcynpr_onpx_fybj_cnguVWECF3_RRRiQcBG_:
 nop
@@ -4468,7 +4468,7 @@
 b__MA18PCQS_FgehpgRyrzragQ0Ri:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2REp
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2REp
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2REp,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2REp:
 nop
@@ -4583,7 +4583,7 @@
 b__MA14PCQS_QVOFbhepr19PbagvahrYbnqZnfxQVORC18VSK_CnhfrVaqvpngbe:
 nop
 .text
-.globl b__MAFg3__16irpgbeVC14PCQS_SbezSvryqAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVC14PCQS_SbezSvryqAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVC14PCQS_SbezSvryqAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVC14PCQS_SbezSvryqAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -4638,7 +4638,7 @@
 b__MAX11PCQS_Bowrpg7VfNeenlRi:
 nop
 .text
-.globl b__MA3ntt15iregrk_frdhraprVAF_15iregrk_qvfg_pzqRYw6RR5pybfrRo
+.weak b__MA3ntt15iregrk_frdhraprVAF_15iregrk_qvfg_pzqRYw6RR5pybfrRo
 .type b__MA3ntt15iregrk_frdhraprVAF_15iregrk_qvfg_pzqRYw6RR5pybfrRo,%function
 b__MA3ntt15iregrk_frdhraprVAF_15iregrk_qvfg_pzqRYw6RR5pybfrRo:
 nop
@@ -4653,7 +4653,7 @@
 b__pzfPbzcvyrCebsvyrFrdhrapr:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR3ZvqRzz
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR3ZvqRzz
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR3ZvqRzz,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR3ZvqRzz:
 nop
@@ -4723,7 +4723,7 @@
 b__MAX14PCQS_VagreSbez19PurpxErdhverqSvryqfRCXAFg3__16irpgbeVC14PCQS_SbezSvryqAF0_9nyybpngbeVF3_RRRRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_4cnveVwwRRAF_6irpgbeVwAF_9nyybpngbeVwRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_4cnveVwwRRAF_6irpgbeVwAF_9nyybpngbeVwRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_4cnveVwwRRAF_6irpgbeVwAF_9nyybpngbeVwRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_4cnveVwwRRAF_6irpgbeVwAF_9nyybpngbeVwRRRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR:
 nop
@@ -4833,7 +4833,7 @@
 b_xSKGrkgYnlbhgOvqvZveebe:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN8_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN8_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN8_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN8_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -4873,7 +4873,7 @@
 b__MA10PCQS_Naabg14QenjNccrnenaprRC9PCQS_CntrC16PSK_EraqreQrivprEX10PSK_ZngevkAF_14NccrnenaprZbqrRCX18PCQS_EraqreBcgvbaf:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_10havdhr_cgeV14PCQS_Glcr3PuneAF_14qrsnhyg_qryrgrVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVwF7_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_10havdhr_cgeV14PCQS_Glcr3PuneAF_14qrsnhyg_qryrgrVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVwF7_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_10havdhr_cgeV14PCQS_Glcr3PuneAF_14qrsnhyg_qryrgrVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVwF7_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_10havdhr_cgeV14PCQS_Glcr3PuneAF_14qrsnhyg_qryrgrVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVwF7_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR:
 nop
@@ -4883,7 +4883,7 @@
 b__MA14PFgergpuRatvar12PJrvtugGnoyr4PnypRvvvvvvv:
 nop
 .text
-.globl b__MA5skpeg18FgevatCbbyGrzcyngrVAF_10OlgrFgevatRR6VagreaREXF1_
+.weak b__MA5skpeg18FgevatCbbyGrzcyngrVAF_10OlgrFgevatRR6VagreaREXF1_
 .type b__MA5skpeg18FgevatCbbyGrzcyngrVAF_10OlgrFgevatRR6VagreaREXF1_,%function
 b__MA5skpeg18FgevatCbbyGrzcyngrVAF_10OlgrFgevatRR6VagreaREXF1_:
 nop
@@ -4938,7 +4938,7 @@
 b__MA14PCQS_BPPbagrkg8TrgBPTIRRC10PCQS_Neenlv:
 nop
 .text
-.globl b__MAFg3__16irpgbeV14PCQS_FgehpgXvqAF_9nyybpngbeVF1_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeV14PCQS_FgehpgXvqAF_9nyybpngbeVF1_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeV14PCQS_FgehpgXvqAF_9nyybpngbeVF1_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeV14PCQS_FgehpgXvqAF_9nyybpngbeVF1_RRR8__nccraqRz:
 nop
@@ -5013,7 +5013,7 @@
 b__MA5skpeg10OlgrFgevatP1RBF0_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA16PCQS_FnzcyrqShap16FnzcyrQrpbqrVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA16PCQS_FnzcyrqShap16FnzcyrQrpbqrVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA16PCQS_FnzcyrqShap16FnzcyrQrpbqrVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA16PCQS_FnzcyrqShap16FnzcyrQrpbqrVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz:
 nop
@@ -5093,7 +5093,7 @@
 b__MA13PCJY_RqvgVzcy15CnvagVafregGrkgREX14PCIG_JbeqCynprF2_:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR9TrgYratguRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR9TrgYratguRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR9TrgYratguRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR9TrgYratguRi:
 nop
@@ -5103,7 +5103,7 @@
 b__MA10PCQS_Pbybe13EryrnfrOhssreRi:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRF5_RRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRF5_RRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRF5_RRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRF5_RRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -5133,7 +5133,7 @@
 b__MA26PSSY_VagrenpgvirSbezSvyyre13BaYOhggbaQbjaRC16PCQSFQX_CntrIvrjCA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRwEX13PSK_CGrzcyngrVsR:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN6_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN6_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN6_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN6_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -5148,7 +5148,7 @@
 b__MA24PCQS_FgernzPbagragCnefre15Unaqyr_FubjGrkgRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV8PSK_SbagAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV8PSK_SbagAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV8PSK_SbagAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV8PSK_SbagAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -5178,7 +5178,7 @@
 b__MA16PSK_PGGTFHOGnoyr20TrgIregvpnyTylcuFho2RwCwCAF_7GYbbxhcR:
 nop
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVjR7EryrnfrRi
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVjR7EryrnfrRi
 .type b__MA5skpeg18FgevatQngnGrzcyngrVjR7EryrnfrRi,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVjR7EryrnfrRi:
 nop
@@ -5278,7 +5278,7 @@
 b__MA17PCQS_GehrGlcrSbagP2Ri:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVC13CNTRPUNE_VASBEAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_
+.weak b__MAFg3__114__fcyvg_ohssreVC13CNTRPUNE_VASBEAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_
 .type b__MAFg3__114__fcyvg_ohssreVC13CNTRPUNE_VASBEAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_,%function
 b__MAFg3__114__fcyvg_ohssreVC13CNTRPUNE_VASBEAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_:
 nop
@@ -5298,7 +5298,7 @@
 b__MA21PWOvt2_UhssznaQrpbqreQ1Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_5ghcyrVWwvvvoRRRAF_10havdhr_cgeV12PSK_CnguQngnAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_5ghcyrVWwvvvoRRRAF_10havdhr_cgeV12PSK_CnguQngnAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_5ghcyrVWwvvvoRRRAF_10havdhr_cgeV12PSK_CnguQngnAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_5ghcyrVWwvvvoRRRAF_10havdhr_cgeV12PSK_CnguQngnAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR:
 nop
@@ -5373,7 +5373,7 @@
 b__MAX12PKZY_Ryrzrag10TrgRyrzragREXA5skpeg18FgevatIvrjGrzcyngrVpRRF4_z:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_:
 nop
@@ -5433,7 +5433,7 @@
 b__MA22PCJY_RqvgVzcy_Cebivqre19TrgQrsnhygSbagVaqrkRi:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR4SvaqRj
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR4SvaqRj
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR4SvaqRj,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR4SvaqRj:
 nop
@@ -5463,7 +5463,7 @@
 b__MA16PCQSFQX_CntrIvrj14TrgCQSQbphzragRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVC15PCQS_QvpgvbanelAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVC15PCQS_QvpgvbanelAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVC15PCQS_QvpgvbanelAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVC15PCQS_QvpgvbanelAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -5478,7 +5478,7 @@
 b__MA14PWOvt2_Pbagrkg21qrpbqrEnaqbzSvefgCntrRC18VSK_CnhfrVaqvpngbe:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA14PSK_SbagZnccre8SnprQngnRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA14PSK_SbagZnccre8SnprQngnRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVA14PSK_SbagZnccre8SnprQngnRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA14PSK_SbagZnccre8SnprQngnRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -5493,7 +5493,7 @@
 b__MA11PKZY_Cnefre20CnefrRyrzragVagreanyRC12PKZY_Ryrzragov:
 nop
 .text
-.globl b__MAFg3__16irpgbeVC14PCQS_SbezSvryqAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVC14PCQS_SbezSvryqAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVC14PCQS_SbezSvryqAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVC14PCQS_SbezSvryqAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -5523,7 +5523,7 @@
 b__MA15PSSY_SbezSvyyre13BaEOhggbaQbjaRC16PCQSFQX_CntrIvrjC13PCQSFQX_NaabgwEX13PSK_CGrzcyngrVsR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV15PCQS_GrkgBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV15PCQS_GrkgBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV15PCQS_GrkgBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV15PCQS_GrkgBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -5578,7 +5578,7 @@
 b__MAX8PCJY_Jaq13TrgIFpebyyOneRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR13fuevax_gb_svgRi
+.weak b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR13fuevax_gb_svgRi
 .type b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR13fuevax_gb_svgRi,%function
 b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR13fuevax_gb_svgRi:
 nop
@@ -5708,7 +5708,7 @@
 b__MA14PWOvt2_Pbagrkg12qrpbqrEnaqbzRC18VSK_CnhfrVaqvpngbe:
 nop
 .data
-.globl b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -5783,7 +5783,7 @@
 b__M16SCQS_TrgShyyAnzrC15PCQS_Qvpgvbanel:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV19PCJY_SbagZnc_AngvirAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV19PCJY_SbagZnc_AngvirAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV19PCJY_SbagZnc_AngvirAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV19PCJY_SbagZnc_AngvirAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -5828,7 +5828,7 @@
 b__MA18PPbqrp_SyngrZbqhyr16SyngrBeYMJQrpbqrRoCXuwovvvvwCCuCw:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV16PCQS_Glcr3TylcufAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV16PCQS_Glcr3TylcufAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV16PCQS_Glcr3TylcufAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV16PCQS_Glcr3TylcufAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR:
 nop
@@ -5878,7 +5878,7 @@
 b__MAX17PCQS_InevnoyrGrkg8Vgrengbe7TrgJbeqRE9PCIG_Jbeq:
 nop
 .text
-.globl b__MAFg3__16irpgbeV11CQSGRKG_BowAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
+.weak b__MAFg3__16irpgbeV11CQSGRKG_BowAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
 .type b__MAFg3__16irpgbeV11CQSGRKG_BowAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_,%function
 b__MAFg3__16irpgbeV11CQSGRKG_BowAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_:
 nop
@@ -6188,7 +6188,7 @@
 b__MA3ntt12cngu_fgbentrQ1Ri:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjRvkRz
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjRvkRz
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjRvkRz,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjRvkRz:
 nop
@@ -6198,7 +6198,7 @@
 b_bcw_jevgr_qbhoyr_YR:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN15_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN15_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN15_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN15_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -6298,7 +6298,7 @@
 b__MA8PSK_Sbag9YbnqFhofgREXA5skpeg10OlgrFgevatRowvvvo:
 nop
 .text
-.globl b__MAFg3__14zbirVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRCF5_EF5_CF6_yYy512RF5_F6_F7_F8_yYy512RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAF9_VG_G0_G1_G2_G3_KG4_RRRFY_FS_
+.weak b__MAFg3__14zbirVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRCF5_EF5_CF6_yYy512RF5_F6_F7_F8_yYy512RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAF9_VG_G0_G1_G2_G3_KG4_RRRFY_FS_
 .type b__MAFg3__14zbirVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRCF5_EF5_CF6_yYy512RF5_F6_F7_F8_yYy512RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAF9_VG_G0_G1_G2_G3_KG4_RRRFY_FS_,%function
 b__MAFg3__14zbirVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRCF5_EF5_CF6_yYy512RF5_F6_F7_F8_yYy512RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAF9_VG_G0_G1_G2_G3_KG4_RRRFY_FS_:
 nop
@@ -6323,7 +6323,7 @@
 b__MAX14PCQS_SbezSvryq19TrgNqqvgvbanyNpgvbaRi:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRREXzAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF8_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRREXzAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF8_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRREXzAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF8_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRREXzAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF8_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -6413,7 +6413,7 @@
 b__MA3ntt10iptra_qnfu6erjvaqRw:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1Ri
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1Ri
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1Ri,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1Ri:
 nop
@@ -6433,7 +6433,7 @@
 b__MA17PCQSFQX_VagreSbez17OrsberInyhrPunatrRC14PCQS_SbezSvryqEXA5skpeg10JvqrFgevatR:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN13_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN13_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN13_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN13_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -6463,7 +6463,7 @@
 b__MA15PCQS_ZrfuIregrkP2REXF_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_BowrpgAF_10havdhr_cgeV20PCQS_CntrBowrpgNinvyAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVF4_FN_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_BowrpgAF_10havdhr_cgeV20PCQS_CntrBowrpgNinvyAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVF4_FN_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_BowrpgAF_10havdhr_cgeV20PCQS_CntrBowrpgNinvyAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVF4_FN_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_BowrpgAF_10havdhr_cgeV20PCQS_CntrBowrpgNinvyAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVF4_FN_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR:
 nop
@@ -6478,7 +6478,7 @@
 b__MAX13PCJY_YvfgPgey7VfInyvqRv:
 nop
 .text
-.globl b__MAFg3__16irpgbeV13PSK_SybngErpgAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeV13PSK_SybngErpgAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeV13PSK_SybngErpgAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeV13PSK_SybngErpgAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -6608,7 +6608,7 @@
 b__MA13PCJY_RqvgVzcy12FrgFryrpgvbaRvv:
 nop
 .text
-.globl b__MAFg3__16__gerrVCA5skpeg10BofreinoyrV8PCJY_JaqR11BofreirqCgeRAF_4yrffVF6_RRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVCA5skpeg10BofreinoyrV8PCJY_JaqR11BofreirqCgeRAF_4yrffVF6_RRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVCA5skpeg10BofreinoyrV8PCJY_JaqR11BofreirqCgeRAF_4yrffVF6_RRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVCA5skpeg10BofreinoyrV8PCJY_JaqR11BofreirqCgeRAF_4yrffVF6_RRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
@@ -6698,7 +6698,7 @@
 b__MA3ntt10bhgyvar_nn14nyybpngr_oybpxRi:
 nop
 .data
-.globl b__MGVFg12yratgu_reebe
+.weak b__MGVFg12yratgu_reebe
 .type b__MGVFg12yratgu_reebe,%object
 b__MGVFg12yratgu_reebe:
 .space __SIZEOF_POINTER__
@@ -6723,7 +6723,7 @@
 b_bcw_w2x_rapbqr:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF7_RRR9chfu_onpxRBF7_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF7_RRR9chfu_onpxRBF7_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF7_RRR9chfu_onpxRBF7_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF7_RRR9chfu_onpxRBF7_:
 nop
@@ -6758,7 +6758,7 @@
 b__MGI14PCQS_Glcr1Sbag:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVpR6ErgnvaRi
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVpR6ErgnvaRi
 .type b__MA5skpeg18FgevatQngnGrzcyngrVpR6ErgnvaRi,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVpR6ErgnvaRi:
 nop
@@ -6793,7 +6793,7 @@
 b__M27GrkgEraqrevatZbqrVfPyvcZbqrEX17GrkgEraqrevatZbqr:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrVAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrVAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrVAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR19__nqq_onpx_pncnpvglRi:
 nop
@@ -6808,7 +6808,7 @@
 b__MA16PCQS_QbpCntrQngn8TrgVzntrRw:
 nop
 .text
-.globl b__MAFg3__16__gerrVyAF_4yrffVyRRAF_9nyybpngbeVyRRR7qrfgeblRCAF_11__gerr_abqrVyCiRR
+.weak b__MAFg3__16__gerrVyAF_4yrffVyRRAF_9nyybpngbeVyRRR7qrfgeblRCAF_11__gerr_abqrVyCiRR
 .type b__MAFg3__16__gerrVyAF_4yrffVyRRAF_9nyybpngbeVyRRR7qrfgeblRCAF_11__gerr_abqrVyCiRR,%function
 b__MAFg3__16__gerrVyAF_4yrffVyRRAF_9nyybpngbeVyRRR7qrfgeblRCAF_11__gerr_abqrVyCiRR:
 nop
@@ -6828,7 +6828,7 @@
 b__MAX16PCQS_SbezPbageby5TrgZXRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVC16PCQS_SbezPbagebyC14PCQSFQX_JvqtrgRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVC16PCQS_SbezPbagebyC14PCQSFQX_JvqtrgRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVC16PCQS_SbezPbagebyC14PCQSFQX_JvqtrgRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVC16PCQS_SbezPbagebyC14PCQSFQX_JvqtrgRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
@@ -6853,7 +6853,7 @@
 b__MA15PCQS_SbezBowrpgQ0Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVwC13PSCS_FxvnSbagRRAF_19__znc_inyhr_pbzcnerVwF4_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVwC13PSCS_FxvnSbagRRAF_19__znc_inyhr_pbzcnerVwF4_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVwC13PSCS_FxvnSbagRRAF_19__znc_inyhr_pbzcnerVwF4_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVwC13PSCS_FxvnSbagRRAF_19__znc_inyhr_pbzcnerVwF4_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR:
 nop
@@ -6968,7 +6968,7 @@
 b__MA3ntt10bhgyvar_nnQ1Ri:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR3raqRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR3raqRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR3raqRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR3raqRi:
 nop
@@ -7048,7 +7048,7 @@
 b__MAX14PCQS_Ersrerapr9TrgAhzoreRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVCX11PCQS_BowrpgAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR7qrfgeblRCAF_11__gerr_abqrVF3_CiRR
+.weak b__MAFg3__16__gerrVCX11PCQS_BowrpgAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR7qrfgeblRCAF_11__gerr_abqrVF3_CiRR
 .type b__MAFg3__16__gerrVCX11PCQS_BowrpgAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR7qrfgeblRCAF_11__gerr_abqrVF3_CiRR,%function
 b__MAFg3__16__gerrVCX11PCQS_BowrpgAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR7qrfgeblRCAF_11__gerr_abqrVF3_CiRR:
 nop
@@ -7378,7 +7378,7 @@
 b__MA3ntt10iptra_qnfu6iregrkRCsF1_:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpRarREXF1_
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpRarREXF1_
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpRarREXF1_,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpRarREXF1_:
 nop
@@ -7418,12 +7418,12 @@
 b__MA22CJY_FPEBYY_CEVINGRQNGN6FrgCbfRs:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR12VfInyvqVaqrkRz
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR12VfInyvqVaqrkRz
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR12VfInyvqVaqrkRz,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR12VfInyvqVaqrkRz:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2Ri
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2Ri
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2Ri,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2Ri:
 nop
@@ -7453,7 +7453,7 @@
 b__MA11PCQS_FgernzQ0Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeV13WOvt2NevguPgkAF_9nyybpngbeVF1_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeV13WOvt2NevguPgkAF_9nyybpngbeVF1_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeV13WOvt2NevguPgkAF_9nyybpngbeVF1_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeV13WOvt2NevguPgkAF_9nyybpngbeVF1_RRR8__nccraqRz:
 nop
@@ -7503,7 +7503,7 @@
 b__MA17PCQS_GrkgEraqrere12QenjGrkgCnguRC16PSK_EraqreQrivprEXAFg3__16irpgbeVwAF2_9nyybpngbeVwRRRREXAF3_VsAF4_VsRRRRC9PCQS_SbagsCX10PSK_ZngevkFU_CX18PSK_TencuFgngrQngnwwC12PSK_CnguQngnv:
 nop
 .text
-.globl b__MAFg3__16__gerrVC15PCQS_QvpgvbanelAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVC15PCQS_QvpgvbanelAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVC15PCQS_QvpgvbanelAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVC15PCQS_QvpgvbanelAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
@@ -7563,7 +7563,7 @@
 b__MA17PCQS_TrarenyFgngr13FrgFzbbguarffRs:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRzEXu
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRzEXu
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRzEXu,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRzEXu:
 nop
@@ -7643,7 +7643,7 @@
 b__MA9PCQS_Cngu6NccraqREXF_CX10PSK_Zngevk:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREXAF2_10JvqrFgevatRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREXAF2_10JvqrFgevatRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREXAF2_10JvqrFgevatRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREXAF2_10JvqrFgevatRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -7713,7 +7713,7 @@
 b__pzfErnqHVag16Ahzore:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRF5_RRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRF5_RRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRF5_RRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRF5_RRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -7748,7 +7748,7 @@
 b_pzfPunatrOhssrefSbezng:
 nop
 .data
-.globl b__MGFFg11ybtvp_reebe
+.weak b__MGFFg11ybtvp_reebe
 .type b__MGFFg11ybtvp_reebe,%object
 b__MGFFg11ybtvp_reebe:
 .space __SIZEOF_POINTER__
@@ -7808,7 +7808,7 @@
 b__MA15PCQS_PZncCnefre19PunefrgSebzBeqrevatREXA5skpeg18FgevatIvrjGrzcyngrVpRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVC14PCQS_Glcr3SbagAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVC14PCQS_Glcr3SbagAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVC14PCQS_Glcr3SbagAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVC14PCQS_Glcr3SbagAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -7893,7 +7893,7 @@
 b_SCQSCnguFrtzrag_TrgPybfr:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVC13PCQS_QbphzragAF_10havdhr_cgeV18PSK_FgbpxSbagNeenlAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVC13PCQS_QbphzragAF_10havdhr_cgeV18PSK_FgbpxSbagNeenlAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVC13PCQS_QbphzragAF_10havdhr_cgeV18PSK_FgbpxSbagNeenlAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVC13PCQS_QbphzragAF_10havdhr_cgeV18PSK_FgbpxSbagNeenlAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR:
 nop
@@ -8023,7 +8023,7 @@
 b__MA11PCQS_Fgevat8NfFgevatRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_3zncVwAF_10havdhr_cgeV15PSK_TylcuOvgzncAF_14qrsnhyg_qryrgrVF6_RRRRAF_4yrffVwRRAF_9nyybpngbeVAF_4cnveVXwF9_RRRRRRRRAF_19__znc_inyhr_pbzcnerVF3_FV_AFN_VF3_RRYo1RRRAFP_VFV_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFF_VWRRRRRRAFQ_VAF_15__gerr_vgrengbeVFV_CAF_11__gerr_abqrVFV_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_3zncVwAF_10havdhr_cgeV15PSK_TylcuOvgzncAF_14qrsnhyg_qryrgrVF6_RRRRAF_4yrffVwRRAF_9nyybpngbeVAF_4cnveVXwF9_RRRRRRRRAF_19__znc_inyhr_pbzcnerVF3_FV_AFN_VF3_RRYo1RRRAFP_VFV_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFF_VWRRRRRRAFQ_VAF_15__gerr_vgrengbeVFV_CAF_11__gerr_abqrVFV_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_3zncVwAF_10havdhr_cgeV15PSK_TylcuOvgzncAF_14qrsnhyg_qryrgrVF6_RRRRAF_4yrffVwRRAF_9nyybpngbeVAF_4cnveVXwF9_RRRRRRRRAF_19__znc_inyhr_pbzcnerVF3_FV_AFN_VF3_RRYo1RRRAFP_VFV_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFF_VWRRRRRRAFQ_VAF_15__gerr_vgrengbeVFV_CAF_11__gerr_abqrVFV_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_3zncVwAF_10havdhr_cgeV15PSK_TylcuOvgzncAF_14qrsnhyg_qryrgrVF6_RRRRAF_4yrffVwRRAF_9nyybpngbeVAF_4cnveVXwF9_RRRRRRRRAF_19__znc_inyhr_pbzcnerVF3_FV_AFN_VF3_RRYo1RRRAFP_VFV_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFF_VWRRRRRRAFQ_VAF_15__gerr_vgrengbeVFV_CAF_11__gerr_abqrVFV_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -8083,7 +8083,7 @@
 b_pzfWbvaGbarPheir:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF2_9ErgnvaCgeV9PCQS_PZncRRRRAF_19__znc_inyhr_pbzcnerVF3_F7_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF2_9ErgnvaCgeV9PCQS_PZncRRRRAF_19__znc_inyhr_pbzcnerVF3_F7_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF2_9ErgnvaCgeV9PCQS_PZncRRRRAF_19__znc_inyhr_pbzcnerVF3_F7_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF2_9ErgnvaCgeV9PCQS_PZncRRRRAF_19__znc_inyhr_pbzcnerVF3_F7_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR:
 nop
@@ -8108,7 +8108,7 @@
 b__MA19PSK_NaqebvqSbagVasb14TrgSbagPunefrgRCiCv:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrVAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrVAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrVAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR19__nqq_onpx_pncnpvglRi:
 nop
@@ -8118,7 +8118,7 @@
 b_SCQS_EraqreCntr_Pbagvahr:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVwEAF_9nyybpngbeVwRRR9chfu_onpxRBw
+.weak b__MAFg3__114__fcyvg_ohssreVwEAF_9nyybpngbeVwRRR9chfu_onpxRBw
 .type b__MAFg3__114__fcyvg_ohssreVwEAF_9nyybpngbeVwRRR9chfu_onpxRBw,%function
 b__MAFg3__114__fcyvg_ohssreVwEAF_9nyybpngbeVwRRR9chfu_onpxRBw:
 nop
@@ -8163,7 +8163,7 @@
 b__MAX15PSK_SvygrerqQVO18QbjaFnzcyrFpnayvarRvCuvvovv:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR5SvefgRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR5SvefgRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR5SvefgRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR5SvefgRi:
 nop
@@ -8528,7 +8528,7 @@
 b_bcw_ovb_syhfu:
 nop
 .text
-.globl b__MAFg3__113zbir_onpxjneqVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRCF5_EF5_CF6_yYy512RF5_F6_F7_F8_yYy512RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAF9_VG_G0_G1_G2_G3_KG4_RRRFY_FS_
+.weak b__MAFg3__113zbir_onpxjneqVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRCF5_EF5_CF6_yYy512RF5_F6_F7_F8_yYy512RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAF9_VG_G0_G1_G2_G3_KG4_RRRFY_FS_
 .type b__MAFg3__113zbir_onpxjneqVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRCF5_EF5_CF6_yYy512RF5_F6_F7_F8_yYy512RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAF9_VG_G0_G1_G2_G3_KG4_RRRFY_FS_,%function
 b__MAFg3__113zbir_onpxjneqVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRCF5_EF5_CF6_yYy512RF5_F6_F7_F8_yYy512RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAF9_VG_G0_G1_G2_G3_KG4_RRRFY_FS_:
 nop
@@ -8563,7 +8563,7 @@
 b__MA14PCQS_VagreSbez9ErfrgSbezRo:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjRrdREXF1_
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjRrdREXF1_
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjRrdREXF1_,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjRrdREXF1_:
 nop
@@ -8598,12 +8598,12 @@
 b_bcw_gyf_frg:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVC13PCQSFQX_NaabgAF_10havdhr_cgeV15PSSY_SbezSvyyreAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVC13PCQSFQX_NaabgAF_10havdhr_cgeV15PSSY_SbezSvyyreAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVC13PCQSFQX_NaabgAF_10havdhr_cgeV15PSSY_SbezSvyyreAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVC13PCQSFQX_NaabgAF_10havdhr_cgeV15PSSY_SbezSvyyreAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeV20PCQS_PbagragZnexVgrzAF_9nyybpngbeVF1_RRRP2REXF4_
+.weak b__MAFg3__16irpgbeV20PCQS_PbagragZnexVgrzAF_9nyybpngbeVF1_RRRP2REXF4_
 .type b__MAFg3__16irpgbeV20PCQS_PbagragZnexVgrzAF_9nyybpngbeVF1_RRRP2REXF4_,%function
 b__MAFg3__16irpgbeV20PCQS_PbagragZnexVgrzAF_9nyybpngbeVF1_RRRP2REXF4_:
 nop
@@ -8668,7 +8668,7 @@
 b__MA13PSCS_FxvnSbag13TrgSnzvylAnzrRi:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR13VfInyvqYratguRz
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR13VfInyvqYratguRz
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR13VfInyvqYratguRz,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR13VfInyvqYratguRz:
 nop
@@ -8708,7 +8708,7 @@
 b__MA13PCQS_PyvcCngu11NccraqGrkgfRCAFg3__16irpgbeVAF0_10havdhr_cgeV15PCQS_GrkgBowrpgAF0_14qrsnhyg_qryrgrVF3_RRRRAF0_9nyybpngbeVF6_RRRR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRREAF_9nyybpngbeVF7_RRR10chfu_sebagREXF7_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRREAF_9nyybpngbeVF7_RRR10chfu_sebagREXF7_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRREAF_9nyybpngbeVF7_RRR10chfu_sebagREXF7_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRREAF_9nyybpngbeVF7_RRR10chfu_sebagREXF7_:
 nop
@@ -8788,7 +8788,7 @@
 b__MA13PSK_QVOFbhepr14TrgBireyncErpgREvF0_F0_F0_vvF0_F0_CX11PSK_PyvcEta:
 nop
 .text
-.globl b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR8__nccraqRz:
 nop
@@ -8923,7 +8923,7 @@
 b__M18OvtBeqre64OvgfZbq3Cu:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PGGSbagQrfpAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF3_RRRAFY_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PGGSbagQrfpAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF3_RRRAFY_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PGGSbagQrfpAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF3_RRRAFY_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PGGSbagQrfpAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF3_RRRAFY_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -8958,7 +8958,7 @@
 b__MAX14PCQS_QVOFbhepr9GenafZnfxRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeV12SK_CNGUCBVAGAF_9nyybpngbeVF1_RRR6vafregVAF_11__jenc_vgreVCXF1_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF1_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRAF6_VCF1_RRR4glcrRF9_FO_FO_
+.weak b__MAFg3__16irpgbeV12SK_CNGUCBVAGAF_9nyybpngbeVF1_RRR6vafregVAF_11__jenc_vgreVCXF1_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF1_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRAF6_VCF1_RRR4glcrRF9_FO_FO_
 .type b__MAFg3__16irpgbeV12SK_CNGUCBVAGAF_9nyybpngbeVF1_RRR6vafregVAF_11__jenc_vgreVCXF1_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF1_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRAF6_VCF1_RRR4glcrRF9_FO_FO_,%function
 b__MAFg3__16irpgbeV12SK_CNGUCBVAGAF_9nyybpngbeVF1_RRR6vafregVAF_11__jenc_vgreVCXF1_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF1_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRAF6_VCF1_RRR4glcrRF9_FO_FO_:
 nop
@@ -9033,7 +9033,7 @@
 b__pzfNqwhfgRaqvnarff16:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -9203,7 +9203,7 @@
 b__MA15PSSY_SbezSvyyreQ2Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX15PCQS_QvpgvbanelC18PCQS_PbhagrqBowrpgV9PCQS_SbagRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX15PCQS_QvpgvbanelC18PCQS_PbhagrqBowrpgV9PCQS_SbagRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX15PCQS_QvpgvbanelC18PCQS_PbhagrqBowrpgV9PCQS_SbagRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX15PCQS_QvpgvbanelC18PCQS_PbhagrqBowrpgV9PCQS_SbagRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR:
 nop
@@ -9238,7 +9238,7 @@
 b__MA24PCQS_FgernzPbagragCnefre12PbagragCnenzP2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6vafregVCXuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCuRRR4glcrRAFP_VF6_RRF8_F8_
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6vafregVCXuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCuRRR4glcrRAFP_VF6_RRF8_F8_
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6vafregVCXuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCuRRR4glcrRAFP_VF6_RRF8_F8_,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6vafregVCXuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCuRRR4glcrRAFP_VF6_RRF8_F8_:
 nop
@@ -9283,7 +9283,7 @@
 b__MA16PSK_PGGTFHOGnoyr13GFpevcgErpbeqQ2Ri:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR3raqRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR3raqRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR3raqRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR3raqRi:
 nop
@@ -9463,7 +9463,7 @@
 b__MA21PCQSFQX_NpgvbaUnaqyre19QbNpgvba_VzcbegQngnREX11PCQS_NpgvbaC27PCQSFQX_SbezSvyyRaivebazrag:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRREwAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF7_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRREwAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF7_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRREwAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF7_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRREwAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF7_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -9678,7 +9678,7 @@
 b__MA15PCQS_SbezBowrpgP2RAFg3__110havdhr_cgeV9PCQS_SbezAF0_14qrsnhyg_qryrgrVF2_RRRREX10PSK_Zngevk:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVwF7_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVwF7_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVwF7_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVwF7_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR:
 nop
@@ -9688,7 +9688,7 @@
 b__MA13PCQS_GrkgCntr13VfPbagebyPuneREX13CNTRPUNE_VASB:
 nop
 .text
-.globl b__MA5skpeg18FgevatCbbyGrzcyngrVAF_10JvqrFgevatRR5PyrneRi
+.weak b__MA5skpeg18FgevatCbbyGrzcyngrVAF_10JvqrFgevatRR5PyrneRi
 .type b__MA5skpeg18FgevatCbbyGrzcyngrVAF_10JvqrFgevatRR5PyrneRi,%function
 b__MA5skpeg18FgevatCbbyGrzcyngrVAF_10JvqrFgevatRR5PyrneRi:
 nop
@@ -9753,7 +9753,7 @@
 b__MA13PCJY_PurpxObkP2Ri:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_
+.weak b__MAFg3__114__fcyvg_ohssreVAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_
 .type b__MAFg3__114__fcyvg_ohssreVAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_,%function
 b__MAFg3__114__fcyvg_ohssreVAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_:
 nop
@@ -9763,12 +9763,12 @@
 b__MAX12PCJY_YvfgObk14TrgPbagragErpgRi:
 nop
 .text
-.globl b__MA5skpeg18FgevatCbbyGrzcyngrVAF_10JvqrFgevatRR6VagreaREXF1_
+.weak b__MA5skpeg18FgevatCbbyGrzcyngrVAF_10JvqrFgevatRR6VagreaREXF1_
 .type b__MA5skpeg18FgevatCbbyGrzcyngrVAF_10JvqrFgevatRR6VagreaREXF1_,%function
 b__MA5skpeg18FgevatCbbyGrzcyngrVAF_10JvqrFgevatRR6VagreaREXF1_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV14PWOvt2_FrtzragAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV14PWOvt2_FrtzragAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV14PWOvt2_FrtzragAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV14PWOvt2_FrtzragAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -9793,7 +9793,7 @@
 b__MAX17PCQS_InevnoyrGrkg15TrgRaqJbeqCynprRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeV13PSK_SybngErpgAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
+.weak b__MAFg3__16irpgbeV13PSK_SybngErpgAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
 .type b__MAFg3__16irpgbeV13PSK_SybngErpgAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_,%function
 b__MAFg3__16irpgbeV13PSK_SybngErpgAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_:
 nop
@@ -9898,7 +9898,7 @@
 b__MA18PCQS_GvyvatCnggreaP2RC13PCQS_QbphzragC11PCQS_BowrpgEX10PSK_Zngevk:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR14__renfr_havdhrVF3_RRzEXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR14__renfr_havdhrVF3_RRzEXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR14__renfr_havdhrVF3_RRzEXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR14__renfr_havdhrVF3_RRzEXG_:
 nop
@@ -9958,7 +9958,7 @@
 b__MA14PCQS_FgehpgXvqP2Ri:
 nop
 .text
-.globl b__MAFg3__14zbirV13CNTRPUNE_VASBCF1_EF1_CF2_yYy56RF1_F2_F3_F4_yYy56RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAF5_VG_G0_G1_G2_G3_KG4_RRRFU_FO_
+.weak b__MAFg3__14zbirV13CNTRPUNE_VASBCF1_EF1_CF2_yYy56RF1_F2_F3_F4_yYy56RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAF5_VG_G0_G1_G2_G3_KG4_RRRFU_FO_
 .type b__MAFg3__14zbirV13CNTRPUNE_VASBCF1_EF1_CF2_yYy56RF1_F2_F3_F4_yYy56RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAF5_VG_G0_G1_G2_G3_KG4_RRRFU_FO_,%function
 b__MAFg3__14zbirV13CNTRPUNE_VASBCF1_EF1_CF2_yYy56RF1_F2_F3_F4_yYy56RRRAF_16__qrdhr_vgrengbeVG5_G6_G7_G8_G9_KG10_RRRAF5_VG_G0_G1_G2_G3_KG4_RRRFU_FO_:
 nop
@@ -9968,7 +9968,7 @@
 b_pzfPVR2000QrygnR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregRAF_11__jenc_vgreVCXwRREF5_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregRAF_11__jenc_vgreVCXwRREF5_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregRAF_11__jenc_vgreVCXwRREF5_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregRAF_11__jenc_vgreVCXwRREF5_:
 nop
@@ -9983,7 +9983,7 @@
 b__MA15PCQS_CntrBowrpg6NfSbezRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregRAF_11__jenc_vgreVCXwRRBw
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregRAF_11__jenc_vgreVCXwRRBw
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregRAF_11__jenc_vgreVCXwRRBw,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6vafregRAF_11__jenc_vgreVCXwRRBw:
 nop
@@ -10003,7 +10003,7 @@
 b__MA16PSSY_EnqvbOhggba14TrgEnqvbOhggbaRC16PCQSFQX_CntrIvrjo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_FgernzA5skpeg9ErgnvaCgeV14PCQS_FgernzNppRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_FgernzA5skpeg9ErgnvaCgeV14PCQS_FgernzNppRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_FgernzA5skpeg9ErgnvaCgeV14PCQS_FgernzNppRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_FgernzA5skpeg9ErgnvaCgeV14PCQS_FgernzNppRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR:
 nop
@@ -10073,7 +10073,7 @@
 b__MA11PCQS_Cnefre16IrevslPebffErsI4Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVC11PCQS_BowrpgAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVC11PCQS_BowrpgAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVC11PCQS_BowrpgAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVC11PCQS_BowrpgAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -10188,7 +10188,7 @@
 b__MGI10PCQS_Neenl:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA9PCQS_PZnc9PbqrEnatrRAF_9nyybpngbeVF2_RRRP2REXF5_
+.weak b__MAFg3__16irpgbeVA9PCQS_PZnc9PbqrEnatrRAF_9nyybpngbeVF2_RRRP2REXF5_
 .type b__MAFg3__16irpgbeVA9PCQS_PZnc9PbqrEnatrRAF_9nyybpngbeVF2_RRRP2REXF5_,%function
 b__MAFg3__16irpgbeVA9PCQS_PZnc9PbqrEnatrRAF_9nyybpngbeVF2_RRRP2REXF5_:
 nop
@@ -10218,7 +10218,7 @@
 b__MAX15PCQS_FvzcyrSbag19HavpbqrSebzPunePbqrRw:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVC13CNTRPUNE_VASBAF_9nyybpngbeVF2_RRR10chfu_sebagRBF2_
+.weak b__MAFg3__114__fcyvg_ohssreVC13CNTRPUNE_VASBAF_9nyybpngbeVF2_RRR10chfu_sebagRBF2_
 .type b__MAFg3__114__fcyvg_ohssreVC13CNTRPUNE_VASBAF_9nyybpngbeVF2_RRR10chfu_sebagRBF2_,%function
 b__MAFg3__114__fcyvg_ohssreVC13CNTRPUNE_VASBAF_9nyybpngbeVF2_RRR10chfu_sebagRBF2_:
 nop
@@ -10233,7 +10233,7 @@
 b__MA14PCJY_FpebyyOneQ0Ri:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVpRnFREXF1_
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVpRnFREXF1_
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVpRnFREXF1_,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVpRnFREXF1_:
 nop
@@ -10253,7 +10253,7 @@
 b__MA18PSK_VzntrFgergpure5FgnegRi:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR6PuneNgRz
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR6PuneNgRz
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR6PuneNgRz,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR6PuneNgRz:
 nop
@@ -10263,7 +10263,7 @@
 b__MA18PCQS_EraqrePbagrkg13TrgOnpxtebhaqREXA5skpeg9ErgnvaCgeV12PSK_QVOvgzncRRCX15PCQS_CntrBowrpgCX18PCQS_EraqreBcgvbafC10PSK_Zngevk:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVA5skpeg10JvqrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVA5skpeg10JvqrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVA5skpeg10JvqrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVA5skpeg10JvqrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR6erunfuRz:
 nop
@@ -10278,7 +10278,7 @@
 b__pzfIRP3vavg:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX15PCQS_QvpgvbaneloRRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX15PCQS_QvpgvbaneloRRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX15PCQS_QvpgvbaneloRRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX15PCQS_QvpgvbaneloRRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR:
 nop
@@ -10288,7 +10288,7 @@
 b_SCQS_FgehpgRyrzrag_TrgZnexrqPbagragVQ:
 nop
 .text
-.globl b__MAFg3__16irpgbeVgAF_9nyybpngbeVgRRR21__chfu_onpx_fybj_cnguVEXgRRiBG_
+.weak b__MAFg3__16irpgbeVgAF_9nyybpngbeVgRRR21__chfu_onpx_fybj_cnguVEXgRRiBG_
 .type b__MAFg3__16irpgbeVgAF_9nyybpngbeVgRRR21__chfu_onpx_fybj_cnguVEXgRRiBG_,%function
 b__MAFg3__16irpgbeVgAF_9nyybpngbeVgRRR21__chfu_onpx_fybj_cnguVEXgRRiBG_:
 nop
@@ -10378,7 +10378,7 @@
 b__M18PELCG_FUN512SvavfuC18PELCG_fun2_pbagrkgCu:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN4_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN4_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN4_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN4_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -10453,7 +10453,7 @@
 b__MA13PCJY_RqvgVzcy10VafregJbeqRgvoo:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR9TrgYratguRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR9TrgYratguRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR9TrgYratguRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR9TrgYratguRi:
 nop
@@ -10473,12 +10473,12 @@
 b__MGI14PCQS_NyyFgngrf:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVA5skpeg10OlgrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVA5skpeg10OlgrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVA5skpeg10OlgrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVA5skpeg10OlgrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR8__erunfuRz:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR12GevzzrqEvtugRp
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR12GevzzrqEvtugRp
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR12GevzzrqEvtugRp,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR12GevzzrqEvtugRp:
 nop
@@ -10508,7 +10508,7 @@
 b_SKFLF_jpfvpzc:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjRarREXF1_
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjRarREXF1_
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjRarREXF1_,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjRarREXF1_:
 nop
@@ -10523,7 +10523,7 @@
 b__MA17PCQS_GbHavpbqrZncP2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR8__nccraqRz:
 nop
@@ -10558,7 +10558,7 @@
 b__MA18PCQS_FgehpgRyrzragP1RC15PCQS_FgehpgGerrCF_C15PCQS_Qvpgvbanel:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVA5skpeg10JvqrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVA5skpeg10JvqrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVA5skpeg10JvqrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVA5skpeg10JvqrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_:
 nop
@@ -10598,7 +10598,7 @@
 b__MA26PSSY_VagrenpgvirSbezSvyyre9VfIvfvoyrRC14PCQSFQX_Jvqtrg:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrV8SbagQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR16__pbafgehpg_abqrVWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF2_RRRAFU_VWRRRRRRAF_10havdhr_cgeVAF_11__gerr_abqrVF5_CiRRAF_22__gerr_abqr_qrfgehpgbeVAFN_VFC_RRRRRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrV8SbagQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR16__pbafgehpg_abqrVWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF2_RRRAFU_VWRRRRRRAF_10havdhr_cgeVAF_11__gerr_abqrVF5_CiRRAF_22__gerr_abqr_qrfgehpgbeVAFN_VFC_RRRRRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrV8SbagQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR16__pbafgehpg_abqrVWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF2_RRRAFU_VWRRRRRRAF_10havdhr_cgeVAF_11__gerr_abqrVF5_CiRRAF_22__gerr_abqr_qrfgehpgbeVAFN_VFC_RRRRRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrV8SbagQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR16__pbafgehpg_abqrVWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF2_RRRAFU_VWRRRRRRAF_10havdhr_cgeVAF_11__gerr_abqrVF5_CiRRAF_22__gerr_abqr_qrfgehpgbeVAFN_VFC_RRRRRRQcBG_:
 nop
@@ -10663,7 +10663,7 @@
 b__MA12PCIG_SbagZnc15TrgCQSSbagNyvnfRv:
 nop
 .data
-.globl b__MGI15PWF_EhagvzrFgho
+.weak b__MGI15PWF_EhagvzrFgho
 .type b__MGI15PWF_EhagvzrFgho,%object
 b__MGI15PWF_EhagvzrFgho:
 .space __SIZEOF_POINTER__
@@ -10703,7 +10703,7 @@
 b__MA17PSK_VzntrEraqrereP1REXA5skpeg9ErgnvaCgeV12PSK_QVOvgzncRRCX11PSK_PyvcEtaEXAF1_V13PSK_QVOFbheprRRvwCX10PSK_Zngevkwo:
 nop
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVpR7EryrnfrRi
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVpR7EryrnfrRi
 .type b__MA5skpeg18FgevatQngnGrzcyngrVpR7EryrnfrRi,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVpR7EryrnfrRi:
 nop
@@ -10823,7 +10823,7 @@
 b__MA18PWOvt2_CnggreaQvpgQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PSK_PyvcEtaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PSK_PyvcEtaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PSK_PyvcEtaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PSK_PyvcEtaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -11068,7 +11068,7 @@
 b__MA27PPbqrp_SyngrFpnayvarQrpbqreQ0Ri:
 nop
 .text
-.globl b__MAFg3__116__pbcl_hanyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo0RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_
+.weak b__MAFg3__116__pbcl_hanyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo0RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_
 .type b__MAFg3__116__pbcl_hanyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo0RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_,%function
 b__MAFg3__116__pbcl_hanyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo0RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_:
 nop
@@ -11103,7 +11103,7 @@
 b__MA19PWOvt2_NevguQrpbqreQ2Ri:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREAF2_10JvqrFgevatRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREAF2_10JvqrFgevatRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREAF2_10JvqrFgevatRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREAF2_10JvqrFgevatRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -11338,7 +11338,7 @@
 b__MA9PCQS_QrfgQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR7erfreirRz
+.weak b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR7erfreirRz
 .type b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR7erfreirRz,%function
 b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR7erfreirRz:
 nop
@@ -11378,7 +11378,7 @@
 b__MA21PCQSFQX_NpgvbaUnaqyre24QbNpgvba_SvryqWninFpevcgREX11PCQS_NpgvbaA12PCQS_NNpgvba11NNpgvbaGlcrRC27PCQSFQX_SbezSvyyRaivebazragC14PCQS_SbezSvryqE18CQSFQX_SvryqNpgvba:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -11448,7 +11448,7 @@
 b__MA14PCQS_QVOFbhepr18PbagvahrGbYbnqZnfxRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVC9PCQS_SbagA5skpeg9ErgnvaCgeV15PCQS_Glcr3PnpurRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVC9PCQS_SbagA5skpeg9ErgnvaCgeV15PCQS_Glcr3PnpurRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVC9PCQS_SbagA5skpeg9ErgnvaCgeV15PCQS_Glcr3PnpurRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVC9PCQS_SbagA5skpeg9ErgnvaCgeV15PCQS_Glcr3PnpurRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR:
 nop
@@ -11523,7 +11523,7 @@
 b__MAX13PSK_SybngErpg14TrgPybfrfgErpgRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA9PCQS_PZnc8PVQEnatrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA9PCQS_PZnc8PVQEnatrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVA9PCQS_PZnc8PVQEnatrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA9PCQS_PZnc8PVQEnatrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -11598,7 +11598,7 @@
 b__MA12PCQS_PVQSbag16YbnqZrgevpfNeenlRC10PCQS_NeenlCAFg3__16irpgbeVwAF2_9nyybpngbeVwRRRRv:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN11_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN11_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN11_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN11_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -11748,7 +11748,7 @@
 b__MA17PCQS_GehrGlcrSbag14NfGehrGlcrSbagRi:
 nop
 .data
-.globl b__MGVAFg3__117onq_shapgvba_pnyyR
+.weak b__MGVAFg3__117onq_shapgvba_pnyyR
 .type b__MGVAFg3__117onq_shapgvba_pnyyR,%object
 b__MGVAFg3__117onq_shapgvba_pnyyR:
 .space __SIZEOF_POINTER__
@@ -11793,7 +11793,7 @@
 b__MA16PSCS_FxvnSbagZte10PerngrSbagREXA5skpeg18FgevatIvrjGrzcyngrVpRRuww:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_5ghcyrVWwvvvoRRRAF_10havdhr_cgeV12PSK_CnguQngnAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF2_VWEXF3_RRRAF2_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_5ghcyrVWwvvvoRRRAF_10havdhr_cgeV12PSK_CnguQngnAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF2_VWEXF3_RRRAF2_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_5ghcyrVWwvvvoRRRAF_10havdhr_cgeV12PSK_CnguQngnAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF2_VWEXF3_RRRAF2_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_5ghcyrVWwvvvoRRRAF_10havdhr_cgeV12PSK_CnguQngnAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF2_VWEXF3_RRRAF2_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -11903,12 +11903,12 @@
 b_pzfQvpgArkgRagel:
 nop
 .text
-.globl b__MAFg3__17__fbeg4VECSoCX13PCQSFQX_NaabgF3_RCCF1_RRwG0_F9_F9_F9_G_
+.weak b__MAFg3__17__fbeg4VECSoCX13PCQSFQX_NaabgF3_RCCF1_RRwG0_F9_F9_F9_G_
 .type b__MAFg3__17__fbeg4VECSoCX13PCQSFQX_NaabgF3_RCCF1_RRwG0_F9_F9_F9_G_,%function
 b__MAFg3__17__fbeg4VECSoCX13PCQSFQX_NaabgF3_RCCF1_RRwG0_F9_F9_F9_G_:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF6_RRR10chfu_sebagRBF6_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF6_RRR10chfu_sebagRBF6_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF6_RRR10chfu_sebagRBF6_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF6_RRR10chfu_sebagRBF6_:
 nop
@@ -12003,7 +12003,7 @@
 b__MA16PSK_EraqreQrivprP1Ri:
 nop
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVpRP1Rzz
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVpRP1Rzz
 .type b__MA5skpeg18FgevatQngnGrzcyngrVpRP1Rzz,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVpRP1Rzz:
 nop
@@ -12078,7 +12078,7 @@
 b_SBEZ_BaXrlQbja:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVA5skpeg10OlgrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVA5skpeg10OlgrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVA5skpeg10OlgrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVA5skpeg10OlgrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR6erunfuRz:
 nop
@@ -12168,7 +12168,7 @@
 b__MA14PCQS_Glcr1Sbag20TylcuSebzPunePbqrRkgRw:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_FgernzA5skpeg9ErgnvaCgeV15PCQS_VppCebsvyrRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_FgernzA5skpeg9ErgnvaCgeV15PCQS_VppCebsvyrRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_FgernzA5skpeg9ErgnvaCgeV15PCQS_VppCebsvyrRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_FgernzA5skpeg9ErgnvaCgeV15PCQS_VppCebsvyrRRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR:
 nop
@@ -12303,7 +12303,7 @@
 b__MA15PCQS_GrkgBowrpg11FrgFrtzragfRCXA5skpeg10OlgrFgevatRCXsv:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR13VfInyvqYratguRz
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR13VfInyvqYratguRz
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR13VfInyvqYratguRz,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR13VfInyvqYratguRz:
 nop
@@ -12368,7 +12368,7 @@
 b__M18PELCG_FUN1TrarengrCXuwCu:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVA5skpeg10OlgrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVA5skpeg10OlgrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVA5skpeg10OlgrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVA5skpeg10OlgrFgevatRAF_4unfuVF2_RRAF_8rdhny_gbVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_:
 nop
@@ -12383,7 +12383,7 @@
 b__MA22VSK_EraqreQrivprQevire12RaqEraqrevatRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA12PCYFG_Fryrpg5FgngrRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA12PCYFG_Fryrpg5FgngrRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA12PCYFG_Fryrpg5FgngrRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA12PCYFG_Fryrpg5FgngrRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR:
 nop
@@ -12443,7 +12443,7 @@
 b__MA16PSK_OvgzncFgbere7FrgVasbRvv12SKQVO_SbezngCw:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVpRajRz
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVpRajRz
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVpRajRz,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVpRajRz:
 nop
@@ -12453,7 +12453,7 @@
 b_SCQSVzntrBow_YbnqWcrtSvyr:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11SG_SnprErp_AF_10havdhr_cgeVA13PSK_SbagPnpur16PbhagrqSnprPnpurRAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_FN_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVFN_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFN_CAF_11__gerr_abqrVFN_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11SG_SnprErp_AF_10havdhr_cgeVA13PSK_SbagPnpur16PbhagrqSnprPnpurRAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_FN_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVFN_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFN_CAF_11__gerr_abqrVFN_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11SG_SnprErp_AF_10havdhr_cgeVA13PSK_SbagPnpur16PbhagrqSnprPnpurRAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_FN_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVFN_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFN_CAF_11__gerr_abqrVFN_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11SG_SnprErp_AF_10havdhr_cgeVA13PSK_SbagPnpur16PbhagrqSnprPnpurRAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_FN_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVFN_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFN_CAF_11__gerr_abqrVFN_CiRRyRR:
 nop
@@ -12648,7 +12648,7 @@
 b__MA18PCQS_PebffErsNinvyP2RC17PCQS_FlagnkCnefrey:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_10havdhr_cgeV20PCQS_CntrBowrpgNinvyAF_14qrsnhyg_qryrgrVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVwF7_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_10havdhr_cgeV20PCQS_CntrBowrpgNinvyAF_14qrsnhyg_qryrgrVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVwF7_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_10havdhr_cgeV20PCQS_CntrBowrpgNinvyAF_14qrsnhyg_qryrgrVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVwF7_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_10havdhr_cgeV20PCQS_CntrBowrpgNinvyAF_14qrsnhyg_qryrgrVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVwF7_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR:
 nop
@@ -12738,7 +12738,7 @@
 b__MA14PCJY_FpebyyOne17AbgvslYOhggbaQbjaRC8PCJY_JaqEX13PSK_CGrzcyngrVsR:
 nop
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVjR14PbclPbagragfNgRzCXjz
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVjR14PbclPbagragfNgRzCXjz
 .type b__MA5skpeg18FgevatQngnGrzcyngrVjR14PbclPbagragfNgRzCXjz,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVjR14PbclPbagragfNgRzCXjz:
 nop
@@ -12758,7 +12758,7 @@
 b__MGIA16PSK_PGGTFHOGnoyr16GPbirentrSbezng2R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2RCXp
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2RCXp
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2RCXp,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2RCXp:
 nop
@@ -12858,7 +12858,7 @@
 b__MA22PCQS_CntrEraqrePbagrkgQ2Ri:
 nop
 .text
-.globl b__MAFg3__114__pbcl_nyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo1RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_
+.weak b__MAFg3__114__pbcl_nyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo1RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_
 .type b__MAFg3__114__pbcl_nyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo1RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_,%function
 b__MAFg3__114__pbcl_nyvtarqVAF_6irpgbeVoAF_9nyybpngbeVoRRRRYo1RRRAF_14__ovg_vgrengbeVG_Yo0RKYv0RRRRAF5_VF6_KG0_RKYv0RRRRF8_F7_:
 nop
@@ -12873,7 +12873,7 @@
 b__MAX9PCQS_CFBC13TrgSybngInyhrRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVAF_10havdhr_cgeV13PCIG_JbeqVasbAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_
+.weak b__MAFg3__114__fcyvg_ohssreVAF_10havdhr_cgeV13PCIG_JbeqVasbAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_
 .type b__MAFg3__114__fcyvg_ohssreVAF_10havdhr_cgeV13PCIG_JbeqVasbAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_,%function
 b__MAFg3__114__fcyvg_ohssreVAF_10havdhr_cgeV13PCIG_JbeqVasbAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF5_RRR9chfu_onpxRBF5_:
 nop
@@ -13113,7 +13113,7 @@
 b__MGI15PCQS_FvzcyrSbag:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpRtgREXF1_
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpRtgREXF1_
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpRtgREXF1_,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpRtgREXF1_:
 nop
@@ -13208,7 +13208,7 @@
 b__MA15PCQS_FvzcyrSbagP2Ri:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN10_XpoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN10_XpoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN10_XpoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN10_XpoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -13313,7 +13313,7 @@
 b__MA16PSK_EraqreQrivprQ2Ri:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_
 .type b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_:
 nop
@@ -13383,7 +13383,7 @@
 b_pzfCyhtva:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1REXAFg3__16irpgbeVuAF2_9nyybpngbeVuRRRR
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1REXAFg3__16irpgbeVuAF2_9nyybpngbeVuRRRR
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1REXAFg3__16irpgbeVuAF2_9nyybpngbeVuRRRR,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1REXAFg3__16irpgbeVuAF2_9nyybpngbeVuRRRR:
 nop
@@ -13483,7 +13483,7 @@
 b__MA10PCQS_Naabg18TrarengrNCVsArrqrqRi:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVjRnFREXF1_
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVjRnFREXF1_
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVjRnFREXF1_,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVjRnFREXF1_:
 nop
@@ -13633,7 +13633,7 @@
 b_pzfAnzrqPbybeVaqrk:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRF5_oRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRF5_oRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRF5_oRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRF5_oRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -13693,12 +13693,12 @@
 b_SCQSGrkg_TrgErpg:
 nop
 .text
-.globl b__MAFg3__16__gerrVC11PCQS_BowrpgAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVC11PCQS_BowrpgAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVC11PCQS_BowrpgAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVC11PCQS_BowrpgAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCwEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCwEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
 .type b__MAFg3__114__fcyvg_ohssreVCwEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCwEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_:
 nop
@@ -13813,7 +13813,7 @@
 b__MA5skpeg10OlgrFgevatP2RCXp:
 nop
 .text
-.globl b__MAFg3__16irpgbeV13PKZY_NggeVgrzAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeV13PKZY_NggeVgrzAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeV13PKZY_NggeVgrzAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeV13PKZY_NggeVgrzAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -13878,7 +13878,7 @@
 b__MA11PKZY_CnefreQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR
+.weak b__MAFg3__16irpgbeVA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR
 .type b__MAFg3__16irpgbeVA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR,%function
 b__MAFg3__16irpgbeVA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR:
 nop
@@ -13888,12 +13888,12 @@
 b__MAX11PCQS_Npgvba12TrgFhoNpgvbaRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA5skpeg9ErgnvaCgeV14PCQS_FgernzNppRRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA5skpeg9ErgnvaCgeV14PCQS_FgernzNppRRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA5skpeg9ErgnvaCgeV14PCQS_FgernzNppRRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA5skpeg9ErgnvaCgeV14PCQS_FgernzNppRRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_3zncVwAF_10havdhr_cgeV15PSK_TylcuOvgzncAF_14qrsnhyg_qryrgrVF6_RRRRAF_4yrffVwRRAF_9nyybpngbeVAF_4cnveVXwF9_RRRRRRRRAF_19__znc_inyhr_pbzcnerVF3_FV_AFN_VF3_RRYo1RRRAFP_VFV_RRR7qrfgeblRCAF_11__gerr_abqrVFV_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_3zncVwAF_10havdhr_cgeV15PSK_TylcuOvgzncAF_14qrsnhyg_qryrgrVF6_RRRRAF_4yrffVwRRAF_9nyybpngbeVAF_4cnveVXwF9_RRRRRRRRAF_19__znc_inyhr_pbzcnerVF3_FV_AFN_VF3_RRYo1RRRAFP_VFV_RRR7qrfgeblRCAF_11__gerr_abqrVFV_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_3zncVwAF_10havdhr_cgeV15PSK_TylcuOvgzncAF_14qrsnhyg_qryrgrVF6_RRRRAF_4yrffVwRRAF_9nyybpngbeVAF_4cnveVXwF9_RRRRRRRRAF_19__znc_inyhr_pbzcnerVF3_FV_AFN_VF3_RRYo1RRRAFP_VFV_RRR7qrfgeblRCAF_11__gerr_abqrVFV_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_3zncVwAF_10havdhr_cgeV15PSK_TylcuOvgzncAF_14qrsnhyg_qryrgrVF6_RRRRAF_4yrffVwRRAF_9nyybpngbeVAF_4cnveVXwF9_RRRRRRRRAF_19__znc_inyhr_pbzcnerVF3_FV_AFN_VF3_RRYo1RRRAFP_VFV_RRR7qrfgeblRCAF_11__gerr_abqrVFV_CiRR:
 nop
@@ -13913,7 +13913,7 @@
 b__MA11PCQS_AhzoreP2REXA5skpeg18FgevatIvrjGrzcyngrVpRR:
 nop
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVjR6PerngrRCXjz
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVjR6PerngrRCXjz
 .type b__MA5skpeg18FgevatQngnGrzcyngrVjR6PerngrRCXjz,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVjR6PerngrRCXjz:
 nop
@@ -14048,7 +14048,7 @@
 b__MAX14PCQSFQX_Jvqtrg12TrgSvyyPbybeREw:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV13PCQS_QbphzragWQaRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV13PCQS_QbphzragWQaRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV13PCQS_QbphzragWQaRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV13PCQS_QbphzragWQaRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -14248,7 +14248,7 @@
 b__MAX8PCJY_Jaq15TrgCneragJvaqbjRi:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1REXAFg3__16irpgbeVwAF2_9nyybpngbeVwRRRR
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1REXAFg3__16irpgbeVwAF2_9nyybpngbeVwRRRR
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1REXAFg3__16irpgbeVwAF2_9nyybpngbeVwRRRR,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1REXAFg3__16irpgbeVwAF2_9nyybpngbeVwRRRR:
 nop
@@ -14373,7 +14373,7 @@
 b__MA8PSK_Sbag7TrgOObkRE7SK_ERPG:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA16PSK_PGGTFHOGnoyr14GSrngherErpbeqRAF_9nyybpngbeVF2_RRRP2Rz
+.weak b__MAFg3__16irpgbeVA16PSK_PGGTFHOGnoyr14GSrngherErpbeqRAF_9nyybpngbeVF2_RRRP2Rz
 .type b__MAFg3__16irpgbeVA16PSK_PGGTFHOGnoyr14GSrngherErpbeqRAF_9nyybpngbeVF2_RRRP2Rz,%function
 b__MAFg3__16irpgbeVA16PSK_PGGTFHOGnoyr14GSrngherErpbeqRAF_9nyybpngbeVF2_RRRP2Rz:
 nop
@@ -14498,7 +14498,7 @@
 b__MAX14PCQS_SbezSvryq14TrgBcgvbaYnoryRv:
 nop
 .data
-.globl b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -14508,7 +14508,7 @@
 b_t_SKPZNC_XFP_RHP_U_0:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA5skpeg9ErgnvaCgeV10PCQS_VzntrRRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA5skpeg9ErgnvaCgeV10PCQS_VzntrRRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA5skpeg9ErgnvaCgeV10PCQS_VzntrRRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA5skpeg9ErgnvaCgeV10PCQS_VzntrRRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
@@ -14663,7 +14663,7 @@
 b__MAX15PCQS_NcFrggvatf11TrgEbgngvbaRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCyEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCyEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
 .type b__MAFg3__114__fcyvg_ohssreVCyEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCyEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_:
 nop
@@ -14728,12 +14728,12 @@
 b__MA14PCQSFQX_Jvqtrg14TrgSbezPbagebyRC14PCQS_VagreSbezCX15PCQS_Qvpgvbanel:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRC11PCQS_FgernzRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFV_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRC11PCQS_FgernzRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFV_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRC11PCQS_FgernzRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFV_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRC11PCQS_FgernzRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFV_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6vafregVCuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVF5_RRR4glcrRAFO_VCXuRRF7_F7_
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6vafregVCuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVF5_RRR4glcrRAFO_VCXuRRF7_F7_
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6vafregVCuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVF5_RRR4glcrRAFO_VCXuRRF7_F7_,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6vafregVCuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVF5_RRR4glcrRAFO_VCXuRRF7_F7_:
 nop
@@ -14763,7 +14763,7 @@
 b__MAX15PCQSFQX_ONNaabg7TrgErpgRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF6_RRR10chfu_sebagREXF6_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF6_RRR10chfu_sebagREXF6_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF6_RRR10chfu_sebagREXF6_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF6_RRR10chfu_sebagREXF6_:
 nop
@@ -14818,7 +14818,7 @@
 b__MAX5PYvar17TrgOrtvaJbeqCynprRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
@@ -14863,7 +14863,7 @@
 b__MA13PCIG_JbeqVasbP2Rgvv:
 nop
 .text
-.globl b__MAFg3__113zbir_onpxjneqVC13CNTRPUNE_VASBF1_F2_EF1_CF2_yYy56RRRAF_16__qrdhr_vgrengbeVG0_G1_G2_G3_G4_KG5_RRRG_FP_FO_CAF_9ranoyr_vsVKfe27__vf_enaqbz_npprff_vgrengbeVFP_RR5inyhrRiR4glcrR
+.weak b__MAFg3__113zbir_onpxjneqVC13CNTRPUNE_VASBF1_F2_EF1_CF2_yYy56RRRAF_16__qrdhr_vgrengbeVG0_G1_G2_G3_G4_KG5_RRRG_FP_FO_CAF_9ranoyr_vsVKfe27__vf_enaqbz_npprff_vgrengbeVFP_RR5inyhrRiR4glcrR
 .type b__MAFg3__113zbir_onpxjneqVC13CNTRPUNE_VASBF1_F2_EF1_CF2_yYy56RRRAF_16__qrdhr_vgrengbeVG0_G1_G2_G3_G4_KG5_RRRG_FP_FO_CAF_9ranoyr_vsVKfe27__vf_enaqbz_npprff_vgrengbeVFP_RR5inyhrRiR4glcrR,%function
 b__MAFg3__113zbir_onpxjneqVC13CNTRPUNE_VASBF1_F2_EF1_CF2_yYy56RRRAF_16__qrdhr_vgrengbeVG0_G1_G2_G3_G4_KG5_RRRG_FP_FO_CAF_9ranoyr_vsVKfe27__vf_enaqbz_npprff_vgrengbeVFP_RR5inyhrRiR4glcrR:
 nop
@@ -14883,7 +14883,7 @@
 b__pzfErnqHVag8Ahzore:
 nop
 .text
-.globl b__MAFg3__16__gerrVCA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_4yrffVF6_RRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVCA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_4yrffVF6_RRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVCA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_4yrffVF6_RRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVCA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_4yrffVF6_RRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
@@ -14993,7 +14993,7 @@
 b__MAX13PCJY_RqvgVzcy8TrgPnergRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVwwRRAF_19__znc_inyhr_pbzcnerVwF2_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVwwRRAF_19__znc_inyhr_pbzcnerVwF2_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVwwRRAF_19__znc_inyhr_pbzcnerVwF2_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVwwRRAF_19__znc_inyhr_pbzcnerVwF2_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
@@ -15013,7 +15013,7 @@
 b__MA17PCQS_InevnoyrGrkgQ1Ri:
 nop
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVpR6PerngrRz
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVpR6PerngrRz
 .type b__MA5skpeg18FgevatQngnGrzcyngrVpR6PerngrRz,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVpR6PerngrRz:
 nop
@@ -15408,7 +15408,7 @@
 b_bcw_ovb_vavg_rap:
 nop
 .data
-.globl b__MGI20PSK_RkgreanySbagVasb
+.weak b__MGI20PSK_RkgreanySbagVasb
 .type b__MGI20PSK_RkgreanySbagVasb,%object
 b__MGI20PSK_RkgreanySbagVasb:
 .space __SIZEOF_POINTER__
@@ -15493,7 +15493,7 @@
 b__MA16PSK_ZrzbelFgernzP2Ro:
 nop
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVjR12PbclPbagragfREXF1_
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVjR12PbclPbagragfREXF1_
 .type b__MA5skpeg18FgevatQngnGrzcyngrVjR12PbclPbagragfREXF1_,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVjR12PbclPbagragfREXF1_:
 nop
@@ -15583,7 +15583,7 @@
 b__MAX13PCQSFQX_Naabg7TrgErpgRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz:
 nop
@@ -15718,7 +15718,7 @@
 b_UhssznaGnoyr_O1_Fvmr:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN2_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN2_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN2_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN2_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -15778,7 +15778,7 @@
 b__MA8PCJY_Jaq16PerngrZftPbagebyRi:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR5EvtugRz
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR5EvtugRz
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR5EvtugRz,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR5EvtugRz:
 nop
@@ -15868,7 +15868,7 @@
 b__MA18PCQS_GvyvatCnggreaQ0Ri:
 nop
 .text
-.globl b__MA3ntt15fgebxr_pnyp_nepVAF_9cbq_qrdhrVAF_10cbvag_glcrRYw6RRRRRiEG_ssssssss
+.weak b__MA3ntt15fgebxr_pnyp_nepVAF_9cbq_qrdhrVAF_10cbvag_glcrRYw6RRRRRiEG_ssssssss
 .type b__MA3ntt15fgebxr_pnyp_nepVAF_9cbq_qrdhrVAF_10cbvag_glcrRYw6RRRRRiEG_ssssssss,%function
 b__MA3ntt15fgebxr_pnyp_nepVAF_9cbq_qrdhrVAF_10cbvag_glcrRYw6RRRRRiEG_ssssssss:
 nop
@@ -15883,7 +15883,7 @@
 b__MA15PSSY_GrkgBowrpg14ErfrgCQSJvaqbjRC16PCQSFQX_CntrIvrjo:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
 .type b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_:
 nop
@@ -15898,7 +15898,7 @@
 b__MA18PSK_VzntrFgergpure17FgnegDhvpxFgergpuRi:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1RCXp
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1RCXp
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1RCXp,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1RCXp:
 nop
@@ -15913,7 +15913,7 @@
 b__MAX8PSK_Sbag10TrgQrfpragRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR:
 nop
@@ -15983,7 +15983,7 @@
 b__MA12PCQS_PVQSbag11TrgPuneOObkRw:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV12PWOvt2_VzntrAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV12PWOvt2_VzntrAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV12PWOvt2_VzntrAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV12PWOvt2_VzntrAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -16003,7 +16003,7 @@
 b__MA17PON_NaabgVgrengbeP2RC16PCQSFQX_CntrIvrjA10PCQS_Naabg7FhoglcrR:
 nop
 .text
-.globl b__MAFg3__112__qrdhr_onfrV13CNTRPUNE_VASBAF_9nyybpngbeVF1_RRRQ2Ri
+.weak b__MAFg3__112__qrdhr_onfrV13CNTRPUNE_VASBAF_9nyybpngbeVF1_RRRQ2Ri
 .type b__MAFg3__112__qrdhr_onfrV13CNTRPUNE_VASBAF_9nyybpngbeVF1_RRRQ2Ri,%function
 b__MAFg3__112__qrdhr_onfrV13CNTRPUNE_VASBAF_9nyybpngbeVF1_RRRQ2Ri:
 nop
@@ -16023,7 +16023,7 @@
 b__MAX5skpeg10JvqrFgevat10TrgVagrtreRi:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR4YnfgRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR4YnfgRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR4YnfgRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR4YnfgRi:
 nop
@@ -16108,7 +16108,7 @@
 b_SCQSYvax_TrgYvaxMBeqreNgCbvag:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2RCXpz
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2RCXpz
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2RCXpz,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2RCXpz:
 nop
@@ -16118,7 +16118,7 @@
 b__MAX11PKZY_Bowrpg9NfRyrzragRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVCA5skpeg10BofreinoyrVA8PCJY_Jaq13CebivqreVsnprRR11BofreirqCgeRAF_4yrffVF7_RRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR
+.weak b__MAFg3__16__gerrVCA5skpeg10BofreinoyrVA8PCJY_Jaq13CebivqreVsnprRR11BofreirqCgeRAF_4yrffVF7_RRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR
 .type b__MAFg3__16__gerrVCA5skpeg10BofreinoyrVA8PCJY_Jaq13CebivqreVsnprRR11BofreirqCgeRAF_4yrffVF7_RRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR,%function
 b__MAFg3__16__gerrVCA5skpeg10BofreinoyrVA8PCJY_Jaq13CebivqreVsnprRR11BofreirqCgeRAF_4yrffVF7_RRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR:
 nop
@@ -16143,7 +16143,7 @@
 b__MA16PSK_EraqreQrivpr13HcqngrPyvcObkRi:
 nop
 .text
-.globl b__MAX5skpeg18FgevatQngnGrzcyngrVjR17PnaBcrengrVaCynprRz
+.weak b__MAX5skpeg18FgevatQngnGrzcyngrVjR17PnaBcrengrVaCynprRz
 .type b__MAX5skpeg18FgevatQngnGrzcyngrVjR17PnaBcrengrVaCynprRz,%function
 b__MAX5skpeg18FgevatQngnGrzcyngrVjR17PnaBcrengrVaCynprRz:
 nop
@@ -16283,7 +16283,7 @@
 b__MA15PCQS_FvzcyrSbagQ0Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRC11PCQS_FgernzRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRC11PCQS_FgernzRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRC11PCQS_FgernzRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRC11PCQS_FgernzRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
@@ -16328,7 +16328,7 @@
 b__MA12PCJY_SbagZnc8SvaqSbagREXA5skpeg10OlgrFgevatRv:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjRtgREXF1_
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjRtgREXF1_
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjRtgREXF1_,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjRtgREXF1_:
 nop
@@ -16428,7 +16428,7 @@
 b__MA14PSSY_GrkgSvryqQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA9PCQS_PZnc9PbqrEnatrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA9PCQS_PZnc9PbqrEnatrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVA9PCQS_PZnc9PbqrEnatrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA9PCQS_PZnc9PbqrEnatrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -16473,7 +16473,7 @@
 b__MA15PSK_JvqrGrkgOhsyfRq:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREF5_RRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREF5_RRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREF5_RRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREF5_RRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -16523,7 +16523,7 @@
 b_bcw_qjg_pnyp_rkcyvpvg_fgrcfvmrf:
 nop
 .text
-.globl b__MAFg3__16irpgbeVC13PCQSFQX_NaabgAF_9nyybpngbeVF2_RRR6vafregRAF_11__jenc_vgreVCXF2_RREF7_
+.weak b__MAFg3__16irpgbeVC13PCQSFQX_NaabgAF_9nyybpngbeVF2_RRR6vafregRAF_11__jenc_vgreVCXF2_RREF7_
 .type b__MAFg3__16irpgbeVC13PCQSFQX_NaabgAF_9nyybpngbeVF2_RRR6vafregRAF_11__jenc_vgreVCXF2_RREF7_,%function
 b__MAFg3__16irpgbeVC13PCQSFQX_NaabgAF_9nyybpngbeVF2_RRR6vafregRAF_11__jenc_vgreVCXF2_RREF7_:
 nop
@@ -16548,7 +16548,7 @@
 b__MA11PCQS_CFCebp7RkrphgrRC13PCQS_CFRatvar:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR18hagrezvangrq_p_fgeRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR18hagrezvangrq_p_fgeRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR18hagrezvangrq_p_fgeRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR18hagrezvangrq_p_fgeRi:
 nop
@@ -16603,12 +16603,12 @@
 b__MA12PKZY_RyrzragQ0Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_9nyybpngbeVF5_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_9nyybpngbeVF5_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_9nyybpngbeVF5_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_9nyybpngbeVF5_RRR7erfreirRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveV9PCQS_CnguuRRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_4cnveV9PCQS_CnguuRRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
 .type b__MAFg3__16irpgbeVAF_4cnveV9PCQS_CnguuRRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_4cnveV9PCQS_CnguuRRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_:
 nop
@@ -16653,7 +16653,7 @@
 b__MGI9PCQS_PZnc:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX15PCQS_QvpgvbanelAF_10havdhr_cgeV16PCQS_SbezPbagebyAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVF4_FN_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX15PCQS_QvpgvbanelAF_10havdhr_cgeV16PCQS_SbezPbagebyAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVF4_FN_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX15PCQS_QvpgvbanelAF_10havdhr_cgeV16PCQS_SbezPbagebyAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVF4_FN_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX15PCQS_QvpgvbanelAF_10havdhr_cgeV16PCQS_SbezPbagebyAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVF4_FN_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR:
 nop
@@ -16743,7 +16743,7 @@
 b__MAX8PFrpgvba16TrgArkgJbeqCynprREX14PCIG_JbeqCynpr:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR4YnfgRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR4YnfgRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR4YnfgRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR4YnfgRi:
 nop
@@ -16763,7 +16763,7 @@
 b__MA17PCQS_InevnoyrGrkg13TrgJbeqNfpragREX13PCIG_JbeqVasb:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR7enj_fgeRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR7enj_fgeRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR7enj_fgeRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR7enj_fgeRi:
 nop
@@ -17053,7 +17053,7 @@
 b__MA9PCJY_VpbaP2Ri:
 nop
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVjR12PbclPbagragfRCXjz
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVjR12PbclPbagragfRCXjz
 .type b__MA5skpeg18FgevatQngnGrzcyngrVjR12PbclPbagragfRCXjz,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVjR12PbclPbagragfRCXjz:
 nop
@@ -17088,7 +17088,7 @@
 b__MAX5skpeg10OlgrFgevat11ErirefrSvaqRp:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1REj
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1REj
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1REj,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1REj:
 nop
@@ -17123,7 +17123,7 @@
 b__MA16PCJY_EnqvbOhggba6BaPuneRgw:
 nop
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVjRP2Rzz
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVjRP2Rzz
 .type b__MA5skpeg18FgevatQngnGrzcyngrVjRP2Rzz,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVjRP2Rzz:
 nop
@@ -17163,7 +17163,7 @@
 b__MAX12PCQS_NNpgvba9TrgNpgvbaRAF_11NNpgvbaGlcrR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR6erfvmrRzo
+.weak b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR6erfvmrRzo
 .type b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR6erfvmrRzo,%function
 b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR6erfvmrRzo:
 nop
@@ -17468,7 +17468,7 @@
 b__MA18PCQS_PelcgbUnaqyre11CbchyngrXrlRwwCu:
 nop
 .text
-.globl b__MA3ntt16eraqre_fpnayvarfVAF_22enfgrevmre_fpnayvar_nnRAF_10fpnayvar_hVuRRAF_27eraqrere_fpnayvar_nn_bssfrgVAF_13eraqrere_onfrVAF_18cvkry_sbezngf_tenlVAF_12oyraqre_tenlVAF_5tenl8RRRYw1RYw0RRRRRRRRRiEG_EG0_EG1_o
+.weak b__MA3ntt16eraqre_fpnayvarfVAF_22enfgrevmre_fpnayvar_nnRAF_10fpnayvar_hVuRRAF_27eraqrere_fpnayvar_nn_bssfrgVAF_13eraqrere_onfrVAF_18cvkry_sbezngf_tenlVAF_12oyraqre_tenlVAF_5tenl8RRRYw1RYw0RRRRRRRRRiEG_EG0_EG1_o
 .type b__MA3ntt16eraqre_fpnayvarfVAF_22enfgrevmre_fpnayvar_nnRAF_10fpnayvar_hVuRRAF_27eraqrere_fpnayvar_nn_bssfrgVAF_13eraqrere_onfrVAF_18cvkry_sbezngf_tenlVAF_12oyraqre_tenlVAF_5tenl8RRRYw1RYw0RRRRRRRRRiEG_EG0_EG1_o,%function
 b__MA3ntt16eraqre_fpnayvarfVAF_22enfgrevmre_fpnayvar_nnRAF_10fpnayvar_hVuRRAF_27eraqrere_fpnayvar_nn_bssfrgVAF_13eraqrere_onfrVAF_18cvkry_sbezngf_tenlVAF_12oyraqre_tenlVAF_5tenl8RRRYw1RYw0RRRRRRRRRiEG_EG0_EG1_o:
 nop
@@ -17563,7 +17563,7 @@
 b__MA21PCQSFQX_JvqtrgUnaqyre11TrgIvrjOObkRC16PCQSFQX_CntrIvrjC13PCQSFQX_Naabg:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6nffvtaVCwRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6nffvtaVCwRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6nffvtaVCwRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6nffvtaVCwRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_:
 nop
@@ -17593,7 +17593,7 @@
 b__MA15PCQSFQX_ONNaabg10TrgNNpgvbaRA12PCQS_NNpgvba11NNpgvbaGlcrR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WAF_4cnveVF3_F8_RRRRRAFV_VAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WAF_4cnveVF3_F8_RRRRRAFV_VAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WAF_4cnveVF3_F8_RRRRRAFV_VAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WAF_4cnveVF3_F8_RRRRRAFV_VAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -17613,7 +17613,7 @@
 b__MA16PCQS_PbagragZnexP1REXF_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR8__nccraqRz:
 nop
@@ -17753,7 +17753,7 @@
 b__MA24PCQS_FgernzPbagragCnefre18Unaqyr_FrgGrkgEvfrRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA18PCQS_EraqrePbagrkg5YnlreRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWRRRiQcBG_
+.weak b__MAFg3__16irpgbeVA18PCQS_EraqrePbagrkg5YnlreRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWRRRiQcBG_
 .type b__MAFg3__16irpgbeVA18PCQS_EraqrePbagrkg5YnlreRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWRRRiQcBG_,%function
 b__MAFg3__16irpgbeVA18PCQS_EraqrePbagrkg5YnlreRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWRRRiQcBG_:
 nop
@@ -17858,7 +17858,7 @@
 b__MA13PSSY_PbzobObk19VfNpgvbaQngnPunatrqRA12PCQS_NNpgvba11NNpgvbaGlcrREX18CQSFQX_SvryqNpgvbaF4_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveV9PCQS_CnguuRRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_
+.weak b__MAFg3__16irpgbeVAF_4cnveV9PCQS_CnguuRRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_
 .type b__MAFg3__16irpgbeVAF_4cnveV9PCQS_CnguuRRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_,%function
 b__MAFg3__16irpgbeVAF_4cnveV9PCQS_CnguuRRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_:
 nop
@@ -18053,7 +18053,7 @@
 b__MAX16PCQS_SbezPbageby16VfQrsnhygPurpxrqRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVC10PCQS_NeenlAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVC10PCQS_NeenlAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVC10PCQS_NeenlAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVC10PCQS_NeenlAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -18083,7 +18083,7 @@
 b__MA22PCJY_RqvgVzcy_CebivqreP1RC12VCIG_SbagZnc:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVyEAF_9nyybpngbeVyRRR9chfu_onpxRBy
+.weak b__MAFg3__114__fcyvg_ohssreVyEAF_9nyybpngbeVyRRR9chfu_onpxRBy
 .type b__MAFg3__114__fcyvg_ohssreVyEAF_9nyybpngbeVyRRR9chfu_onpxRBy,%function
 b__MAFg3__114__fcyvg_ohssreVyEAF_9nyybpngbeVyRRR9chfu_onpxRBy:
 nop
@@ -18093,7 +18093,7 @@
 b__MA14PCQS_VagreSbez23TrarengrArjErfbheprAnzrRCX15PCQS_QvpgvbanelCXpvF4_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV8PFrpgvbaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR6vafregRAF_11__jenc_vgreVCXF5_RRBF5_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV8PFrpgvbaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR6vafregRAF_11__jenc_vgreVCXF5_RRBF5_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV8PFrpgvbaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR6vafregRAF_11__jenc_vgreVCXF5_RRBF5_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV8PFrpgvbaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR6vafregRAF_11__jenc_vgreVCXF5_RRBF5_:
 nop
@@ -18293,7 +18293,7 @@
 b__MAX13PCJY_RqvgVzcy7PnaErqbRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_
 .type b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_:
 nop
@@ -18413,7 +18413,7 @@
 b__MAX23PSCS_FxvnSbagQrfpevcgbe7TrgGlcrRi:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR7VfRzcglRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR7VfRzcglRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR7VfRzcglRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR7VfRzcglRi:
 nop
@@ -18463,7 +18463,7 @@
 b__MAX9PCQS_Sbag9PbhagPuneRCXpv:
 nop
 .text
-.globl b__MAFg3__16irpgbeV11CQSGRKG_BowAF_9nyybpngbeVF1_RRR6vafregRAF_11__jenc_vgreVCXF1_RREF6_
+.weak b__MAFg3__16irpgbeV11CQSGRKG_BowAF_9nyybpngbeVF1_RRR6vafregRAF_11__jenc_vgreVCXF1_RREF6_
 .type b__MAFg3__16irpgbeV11CQSGRKG_BowAF_9nyybpngbeVF1_RRR6vafregRAF_11__jenc_vgreVCXF1_RREF6_,%function
 b__MAFg3__16irpgbeV11CQSGRKG_BowAF_9nyybpngbeVF1_RRR6vafregRAF_11__jenc_vgreVCXF1_RREF6_:
 nop
@@ -18508,7 +18508,7 @@
 b__MA13PSCS_FxvnSbag12TrgTylcuOObkRvE7SK_ERPG:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV17PCJY_SbagZnc_QngnAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV17PCJY_SbagZnc_QngnAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV17PCJY_SbagZnc_QngnAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV17PCJY_SbagZnc_QngnAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -18613,12 +18613,12 @@
 b_SCQS_EraqreCntr_Pybfr:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN9_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN9_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN9_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN9_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR:
 nop
@@ -18638,7 +18638,7 @@
 b__MA15PSSY_SbezSvyyre9GvzreCebpRi:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVpRnFRCXp
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVpRnFRCXp
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVpRnFRCXp,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVpRnFRCXp:
 nop
@@ -18648,7 +18648,7 @@
 b__MA23PCQSFQX_NaabgUnaqyreZte17Naabg_BaYOhggbaHcRC16PCQSFQX_CntrIvrjCA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRwEX13PSK_CGrzcyngrVsR:
 nop
 .text
-.globl b__MAFg3__15qrdhrV13CNTRPUNE_VASBAF_9nyybpngbeVF1_RRR5renfrRAF_16__qrdhr_vgrengbeVF1_CXF1_EF6_CXF7_yYy56RRR
+.weak b__MAFg3__15qrdhrV13CNTRPUNE_VASBAF_9nyybpngbeVF1_RRR5renfrRAF_16__qrdhr_vgrengbeVF1_CXF1_EF6_CXF7_yYy56RRR
 .type b__MAFg3__15qrdhrV13CNTRPUNE_VASBAF_9nyybpngbeVF1_RRR5renfrRAF_16__qrdhr_vgrengbeVF1_CXF1_EF6_CXF7_yYy56RRR,%function
 b__MAFg3__15qrdhrV13CNTRPUNE_VASBAF_9nyybpngbeVF1_RRR5renfrRAF_16__qrdhr_vgrengbeVF1_CXF1_EF6_CXF7_yYy56RRR:
 nop
@@ -18733,7 +18733,7 @@
 b__MA13PSQS_Qbphzrag11CnefrZrzbelRCuw:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
@@ -18863,7 +18863,7 @@
 b__MAX14PCQS_SbezSvryq16VfBcgvbaFryrpgrqRv:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1Ri
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1Ri
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1Ri,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1Ri:
 nop
@@ -18878,7 +18878,7 @@
 b_t_SKPZNC_TO_RHP_U_0:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRRP2Rz
+.weak b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRRP2Rz
 .type b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRRP2Rz,%function
 b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRRP2Rz:
 nop
@@ -18903,7 +18903,7 @@
 b_SKFLF_jgbv:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR5EvtugRz
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR5EvtugRz
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR5EvtugRz,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR5EvtugRz:
 nop
@@ -19008,7 +19008,7 @@
 b__MA21PCQSFQX_JvqtrgUnaqyre15BaYOhggbaQoyPyxRC16PCQSFQX_CntrIvrjCA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRwEX13PSK_CGrzcyngrVsR:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR8PbagnvafRp
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR8PbagnvafRp
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR8PbagnvafRp,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR8PbagnvafRp:
 nop
@@ -19033,7 +19033,7 @@
 b__MA17PCQS_TrarenyFgngr9FgngrQngnP1REXF0_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz:
 nop
@@ -19218,7 +19218,7 @@
 b__MA13PSCS_FxvnSbag13TrgTylcuJvqguRv:
 nop
 .text
-.globl b__MAFg3__16irpgbeV12SK_CNGUCBVAGAF_9nyybpngbeVF1_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeV12SK_CNGUCBVAGAF_9nyybpngbeVF1_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeV12SK_CNGUCBVAGAF_9nyybpngbeVF1_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeV12SK_CNGUCBVAGAF_9nyybpngbeVF1_RRR8__nccraqRz:
 nop
@@ -19238,7 +19238,7 @@
 b__MA12PCJY_YvfgObk11FrgSbagFvmrRs:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCuAF_9nyybpngbeVF1_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVCuAF_9nyybpngbeVF1_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVCuAF_9nyybpngbeVF1_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVCuAF_9nyybpngbeVF1_RRR8__nccraqRz:
 nop
@@ -19268,7 +19268,7 @@
 b_pzfFgntrNyybpPYhgSybng:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -19438,7 +19438,7 @@
 b__MA12PCQS_PVQSbagP1Ri:
 nop
 .data
-.globl b__MGI8PZrzSvyr
+.weak b__MGI8PZrzSvyr
 .type b__MGI8PZrzSvyr,%object
 b__MGI8PZrzSvyr:
 .space __SIZEOF_POINTER__
@@ -19543,7 +19543,7 @@
 b_bcw_ernq_olgrf_OR:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN18_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN18_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN18_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN18_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -19583,7 +19583,7 @@
 b__MA14PWOvt2_TEQCebp12qrpbqr_NevguRC18VSK_CnhfrVaqvpngbeC19PWOvt2_NevguQrpbqre:
 nop
 .text
-.globl b__MA3ntt18pbai_nqncgbe_iptraVAF_9pbai_qnfuVAF_12cngu_fgbentrRAF_12ahyy_znexrefRRRAF_12iptra_fgebxrRF3_R6iregrkRCsF7_
+.weak b__MA3ntt18pbai_nqncgbe_iptraVAF_9pbai_qnfuVAF_12cngu_fgbentrRAF_12ahyy_znexrefRRRAF_12iptra_fgebxrRF3_R6iregrkRCsF7_
 .type b__MA3ntt18pbai_nqncgbe_iptraVAF_9pbai_qnfuVAF_12cngu_fgbentrRAF_12ahyy_znexrefRRRAF_12iptra_fgebxrRF3_R6iregrkRCsF7_,%function
 b__MA3ntt18pbai_nqncgbe_iptraVAF_9pbai_qnfuVAF_12cngu_fgbentrRAF_12ahyy_znexrefRRRAF_12iptra_fgebxrRF3_R6iregrkRCsF7_:
 nop
@@ -19638,7 +19638,7 @@
 b__MA16PSK_PGGTFHOGnoyr23CnefrFvatyrFhofgSbezng1RCXuCAF_10GFhoGnoyr1R:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVC15PCQS_QvpgvbanelzRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_4cnveVC15PCQS_QvpgvbanelzRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
 .type b__MAFg3__16irpgbeVAF_4cnveVC15PCQS_QvpgvbanelzRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_4cnveVC15PCQS_QvpgvbanelzRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_:
 nop
@@ -19653,7 +19653,7 @@
 b__MAX13PCJY_RqvgPgey11TrgSbagFvmrRi:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRCXpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRCXpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRCXpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRCXpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -19753,7 +19753,7 @@
 b__MA8PCJY_Jaq11FrgPyvcErpgREX13PSK_SybngErpg:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF6_RRR10chfu_sebagREXF6_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF6_RRR10chfu_sebagREXF6_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF6_RRR10chfu_sebagREXF6_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF6_RRR10chfu_sebagREXF6_:
 nop
@@ -19768,7 +19768,7 @@
 b__MA13PSSY_PurpxObkQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR6vafregRAF_11__jenc_vgreVCXyRREF5_
+.weak b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR6vafregRAF_11__jenc_vgreVCXyRREF5_
 .type b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR6vafregRAF_11__jenc_vgreVCXyRREF5_,%function
 b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR6vafregRAF_11__jenc_vgreVCXyRREF5_:
 nop
@@ -19778,7 +19778,7 @@
 b__MA15PCQSFQX_ONNaabg15FrgFgehpgCneragRv:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREXF5_oRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREXF5_oRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREXF5_oRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREXF5_oRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -19808,7 +19808,7 @@
 b__pzfTrgGntGlcrUnaqyre:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN16_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN16_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN16_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN16_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -19848,12 +19848,12 @@
 b__MA11PCQS_Bowrpg7NfNeenlRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVCA5skpeg10BofreinoyrV15PCJY_ZftPbagebyR11BofreirqCgeRAF_4yrffVF6_RRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVCA5skpeg10BofreinoyrV15PCJY_ZftPbagebyR11BofreirqCgeRAF_4yrffVF6_RRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVCA5skpeg10BofreinoyrV15PCJY_ZftPbagebyR11BofreirqCgeRAF_4yrffVF6_RRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVCA5skpeg10BofreinoyrV15PCJY_ZftPbagebyR11BofreirqCgeRAF_4yrffVF6_RRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
 .text
-.globl b__MA3ntt16fgebxr_pnyp_wbvaVAF_9cbq_qrdhrVAF_10cbvag_glcrRYw6RRRRRiEG_EXAF_11iregrk_qvfgRF8_F8_sssAF_11yvar_wbva_rRAF_12vaare_wbva_rRsss
+.weak b__MA3ntt16fgebxr_pnyp_wbvaVAF_9cbq_qrdhrVAF_10cbvag_glcrRYw6RRRRRiEG_EXAF_11iregrk_qvfgRF8_F8_sssAF_11yvar_wbva_rRAF_12vaare_wbva_rRsss
 .type b__MA3ntt16fgebxr_pnyp_wbvaVAF_9cbq_qrdhrVAF_10cbvag_glcrRYw6RRRRRiEG_EXAF_11iregrk_qvfgRF8_F8_sssAF_11yvar_wbva_rRAF_12vaare_wbva_rRsss,%function
 b__MA3ntt16fgebxr_pnyp_wbvaVAF_9cbq_qrdhrVAF_10cbvag_glcrRYw6RRRRRiEG_EXAF_11iregrk_qvfgRF8_F8_sssAF_11yvar_wbva_rRAF_12vaare_wbva_rRsss:
 nop
@@ -19973,7 +19973,7 @@
 b__pzfTrgPbagrkg:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrV12TencuvpfQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrV12TencuvpfQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrV12TencuvpfQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrV12TencuvpfQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR:
 nop
@@ -20008,7 +20008,7 @@
 b__MA5skpeg10OlgrFgevat6SbezngRCXpm:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCuAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCuAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
 .type b__MAFg3__16irpgbeVCuAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCuAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_:
 nop
@@ -20108,7 +20108,7 @@
 b__MA22CJY_FPEBYY_CEVINGRQNGN12FrgFznyyFgrcRs:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1RCXpz
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1RCXpz
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1RCXpz,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1RCXpz:
 nop
@@ -20168,7 +20168,7 @@
 b__MA17PCQS_GehrGlcrSbag4YbnqRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeV15PCQS_ZrfuIregrkAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeV15PCQS_ZrfuIregrkAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeV15PCQS_ZrfuIregrkAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeV15PCQS_ZrfuIregrkAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -20178,7 +20178,7 @@
 b__MA21PCQS_YvarnevmrqUrnqre5CnefrRC17PCQS_FlagnkCnefre:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2REXAFg3__16irpgbeVuAF2_9nyybpngbeVuRRRR
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2REXAFg3__16irpgbeVuAF2_9nyybpngbeVuRRRR
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2REXAFg3__16irpgbeVuAF2_9nyybpngbeVuRRRR,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2REXAFg3__16irpgbeVuAF2_9nyybpngbeVuRRRR:
 nop
@@ -20233,7 +20233,7 @@
 b__MAX5skpeg10OlgrFgevat7PbzcnerREXAF_18FgevatIvrjGrzcyngrVpRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV13PCQS_ShapgvbaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV13PCQS_ShapgvbaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV13PCQS_ShapgvbaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV13PCQS_ShapgvbaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -20263,7 +20263,7 @@
 b_SCQSNaabg_FrgSyntf:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVEXvRRiBG_:
 nop
@@ -20318,7 +20318,7 @@
 b__MA19PCQS_FunqvatCnggrea16NfFunqvatCnggreaRi:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2RCXj
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2RCXj
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2RCXj,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2RCXj:
 nop
@@ -20378,7 +20378,7 @@
 b__MAX13PCQS_AnzrGerr11YbbxhcInyhrREXA5skpeg10JvqrFgevatR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6nffvtaVCuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6nffvtaVCuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6nffvtaVCuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6nffvtaVCuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_:
 nop
@@ -20408,7 +20408,7 @@
 b__M14CQS_AnzrQrpbqrEXA5skpeg18FgevatIvrjGrzcyngrVpRR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCwEAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCwEAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_
 .type b__MAFg3__114__fcyvg_ohssreVCwEAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCwEAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_:
 nop
@@ -20653,7 +20653,7 @@
 b__MA11PCQS_AhzoreP1Rs:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWQavAFg3__110havdhr_cgeV15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF4_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWQavAFg3__110havdhr_cgeV15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF4_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWQavAFg3__110havdhr_cgeV15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF4_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWQavAFg3__110havdhr_cgeV15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF4_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -20663,7 +20663,7 @@
 b__MA12PCQS_Perngbe15JevgrQbp_Fgntr2Ri:
 nop
 .text
-.globl b__MAX5skpeg18FgevatQngnGrzcyngrVpR17PnaBcrengrVaCynprRz
+.weak b__MAX5skpeg18FgevatQngnGrzcyngrVpR17PnaBcrengrVaCynprRz
 .type b__MAX5skpeg18FgevatQngnGrzcyngrVpR17PnaBcrengrVaCynprRz,%function
 b__MAX5skpeg18FgevatQngnGrzcyngrVpR17PnaBcrengrVaCynprRz:
 nop
@@ -20883,7 +20883,7 @@
 b__MA26PSSY_VagrenpgvirSbezSvyyre13Naabg_UvgGrfgRC16PCQSFQX_CntrIvrjC13PCQSFQX_NaabgEX13PSK_CGrzcyngrVsR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA16PSK_PGGTFHOGnoyr14GYnatFlfErpbeqRAF_9nyybpngbeVF2_RRRP2Rz
+.weak b__MAFg3__16irpgbeVA16PSK_PGGTFHOGnoyr14GYnatFlfErpbeqRAF_9nyybpngbeVF2_RRRP2Rz
 .type b__MAFg3__16irpgbeVA16PSK_PGGTFHOGnoyr14GYnatFlfErpbeqRAF_9nyybpngbeVF2_RRRP2Rz,%function
 b__MAFg3__16irpgbeVA16PSK_PGGTFHOGnoyr14GYnatFlfErpbeqRAF_9nyybpngbeVF2_RRRP2Rz:
 nop
@@ -20898,7 +20898,7 @@
 b__MA5skpeg10OlgrFgevatP1REXF0_:
 nop
 .text
-.globl b__MAFg3__113zbir_onpxjneqVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRF5_F6_EF5_CF6_yYy512RRRAF_16__qrdhr_vgrengbeVG0_G1_G2_G3_G4_KG5_RRRG_FT_FS_CAF_9ranoyr_vsVKfe27__vf_enaqbz_npprff_vgrengbeVFT_RR5inyhrRiR4glcrR
+.weak b__MAFg3__113zbir_onpxjneqVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRF5_F6_EF5_CF6_yYy512RRRAF_16__qrdhr_vgrengbeVG0_G1_G2_G3_G4_KG5_RRRG_FT_FS_CAF_9ranoyr_vsVKfe27__vf_enaqbz_npprff_vgrengbeVFT_RR5inyhrRiR4glcrR
 .type b__MAFg3__113zbir_onpxjneqVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRF5_F6_EF5_CF6_yYy512RRRAF_16__qrdhr_vgrengbeVG0_G1_G2_G3_G4_KG5_RRRG_FT_FS_CAF_9ranoyr_vsVKfe27__vf_enaqbz_npprff_vgrengbeVFT_RR5inyhrRiR4glcrR,%function
 b__MAFg3__113zbir_onpxjneqVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRF5_F6_EF5_CF6_yYy512RRRAF_16__qrdhr_vgrengbeVG0_G1_G2_G3_G4_KG5_RRRG_FT_FS_CAF_9ranoyr_vsVKfe27__vf_enaqbz_npprff_vgrengbeVFT_RR5inyhrRiR4glcrR:
 nop
@@ -20953,7 +20953,7 @@
 b__MGI13PSK_OvanelOhs:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__fbegVECSoCX13PCQSFQX_NaabgF3_RCCF1_RRiG0_F9_G_
+.weak b__MAFg3__16__fbegVECSoCX13PCQSFQX_NaabgF3_RCCF1_RRiG0_F9_G_
 .type b__MAFg3__16__fbegVECSoCX13PCQSFQX_NaabgF3_RCCF1_RRiG0_F9_G_,%function
 b__MAFg3__16__fbegVECSoCX13PCQSFQX_NaabgF3_RCCF1_RRiG0_F9_G_:
 nop
@@ -20998,7 +20998,7 @@
 b__MA17PCQS_FgernzCnefreP2RCXuw:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV15PCQS_GrkgBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV15PCQS_GrkgBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV15PCQS_GrkgBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV15PCQS_GrkgBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR8__nccraqRz:
 nop
@@ -21008,7 +21008,7 @@
 b__MA15PCQS_PbybeFcnpr4YbnqRC13PCQS_QbphzragC11PCQS_BowrpgCAFg3__13frgVF3_AF4_4yrffVF3_RRAF4_9nyybpngbeVF3_RRRR:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2REXAFg3__16irpgbeVwAF2_9nyybpngbeVwRRRR
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2REXAFg3__16irpgbeVwAF2_9nyybpngbeVwRRRR
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2REXAFg3__16irpgbeVwAF2_9nyybpngbeVwRRRR,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2REXAFg3__16irpgbeVwAF2_9nyybpngbeVwRRRR:
 nop
@@ -21238,7 +21238,7 @@
 b__MA21PCQS_CntrBowrpgUbyqreQ2Ri:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpRvkRz
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpRvkRz
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpRvkRz,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpRvkRz:
 nop
@@ -21483,7 +21483,7 @@
 b__MA22PSK_FpnayvarPbzcbfvgbe21PbzcbfvgrOlgrZnfxYvarRCuCXuvF2_F0_:
 nop
 .data
-.globl b__MGVFg9rkprcgvba
+.weak b__MGVFg9rkprcgvba
 .type b__MGVFg9rkprcgvba,%object
 b__MGVFg9rkprcgvba:
 .space __SIZEOF_POINTER__
@@ -21493,7 +21493,7 @@
 b_SCQSCntr_TrgZrqvnObk:
 nop
 .text
-.globl b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR19__nqq_onpx_pncnpvglRi:
 nop
@@ -21513,7 +21513,7 @@
 b__MAX16PCQS_QbpCntrQngn14SvaqCnggreaCgeRC11PCQS_Bowrpg:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -21593,7 +21593,7 @@
 b__MA14PWOvt2_TEQCebp27qrpbqr_Nevgu_Grzcyngr2_bcg3RC12PWOvt2_VzntrC19PWOvt2_NevguQrpbqreC13WOvt2NevguPgkC18VSK_CnhfrVaqvpngbe:
 nop
 .text
-.globl b__MAFg3__16irpgbeV22PCJY_RqvgVzcy_YvarErpgAF_9nyybpngbeVF1_RRR24__rzcynpr_onpx_fybj_cnguVWF1_RRRiQcBG_
+.weak b__MAFg3__16irpgbeV22PCJY_RqvgVzcy_YvarErpgAF_9nyybpngbeVF1_RRR24__rzcynpr_onpx_fybj_cnguVWF1_RRRiQcBG_
 .type b__MAFg3__16irpgbeV22PCJY_RqvgVzcy_YvarErpgAF_9nyybpngbeVF1_RRR24__rzcynpr_onpx_fybj_cnguVWF1_RRRiQcBG_,%function
 b__MAFg3__16irpgbeV22PCJY_RqvgVzcy_YvarErpgAF_9nyybpngbeVF1_RRR24__rzcynpr_onpx_fybj_cnguVWF1_RRRiQcBG_:
 nop
@@ -21608,7 +21608,7 @@
 b__MA15PCQS_Qvpgvbanel9ErzbirSbeREXA5skpeg10OlgrFgevatR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA9PCQS_PZnc9PbqrEnatrRAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_
+.weak b__MAFg3__16irpgbeVA9PCQS_PZnc9PbqrEnatrRAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_
 .type b__MAFg3__16irpgbeVA9PCQS_PZnc9PbqrEnatrRAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_,%function
 b__MAFg3__16irpgbeVA9PCQS_PZnc9PbqrEnatrRAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_:
 nop
@@ -21638,7 +21638,7 @@
 b__MA16PSK_EraqreQrivpr18FrgPyvc_CnguFgebxrRCX12PSK_CnguQngnCX10PSK_ZngevkCX18PSK_TencuFgngrQngn:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR5ortvaRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR5ortvaRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR5ortvaRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR5ortvaRi:
 nop
@@ -21738,7 +21738,7 @@
 b__MA11PSK_SbagZte11EryrnfrSnprRC11SG_SnprErp_:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR5renfrRAF_16__qrdhr_vgrengbeVF5_CXF5_EFN_CXFO_yYy512RRR
+.weak b__MAFg3__15qrdhrVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR5renfrRAF_16__qrdhr_vgrengbeVF5_CXF5_EFN_CXFO_yYy512RRR
 .type b__MAFg3__15qrdhrVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR5renfrRAF_16__qrdhr_vgrengbeVF5_CXF5_EFN_CXFO_yYy512RRR,%function
 b__MAFg3__15qrdhrVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR5renfrRAF_16__qrdhr_vgrengbeVF5_CXF5_EFN_CXFO_yYy512RRR:
 nop
@@ -21783,7 +21783,7 @@
 b__MA16PCQSFQX_QngrGvzr7NqqQnlfRf:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA5skpeg10HabjarqCgeV15PCQS_CntrBowrpgRRAF_9nyybpngbeVF4_RRR24__rzcynpr_onpx_fybj_cnguVWCF3_RRRiQcBG_
+.weak b__MAFg3__16irpgbeVA5skpeg10HabjarqCgeV15PCQS_CntrBowrpgRRAF_9nyybpngbeVF4_RRR24__rzcynpr_onpx_fybj_cnguVWCF3_RRRiQcBG_
 .type b__MAFg3__16irpgbeVA5skpeg10HabjarqCgeV15PCQS_CntrBowrpgRRAF_9nyybpngbeVF4_RRR24__rzcynpr_onpx_fybj_cnguVWCF3_RRRiQcBG_,%function
 b__MAFg3__16irpgbeVA5skpeg10HabjarqCgeV15PCQS_CntrBowrpgRRAF_9nyybpngbeVF4_RRR24__rzcynpr_onpx_fybj_cnguVWCF3_RRRiQcBG_:
 nop
@@ -21828,7 +21828,7 @@
 b__MA18PSK_TencuFgngrQngn12FrgQnfuPbhagRv:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrV8SbagQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrV8SbagQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrV8SbagQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrV8SbagQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR:
 nop
@@ -21938,7 +21938,7 @@
 b__MA14PCQS_QVOFbhepr10QrgnpuZnfxRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVC23PSCS_FxvnSbagQrfpevcgbeAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVC23PSCS_FxvnSbagQrfpevcgbeAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVC23PSCS_FxvnSbagQrfpevcgbeAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVC23PSCS_FxvnSbagQrfpevcgbeAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -21948,7 +21948,7 @@
 b__MA17PCQS_FgernzCnefre11TrgArkgJbeqREo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeVA14PCQS_QngnNinvy8CntrAbqrRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeVA14PCQS_QngnNinvy8CntrAbqrRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeVA14PCQS_QngnNinvy8CntrAbqrRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeVA14PCQS_QngnNinvy8CntrAbqrRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_:
 nop
@@ -21963,7 +21963,7 @@
 b__MGI11PCQS_Ahzore:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__15qrdhrVwAF_9nyybpngbeVwRRR13fuevax_gb_svgRi
+.weak b__MAFg3__15qrdhrVwAF_9nyybpngbeVwRRR13fuevax_gb_svgRi
 .type b__MAFg3__15qrdhrVwAF_9nyybpngbeVwRRR13fuevax_gb_svgRi,%function
 b__MAFg3__15qrdhrVwAF_9nyybpngbeVwRRR13fuevax_gb_svgRi:
 nop
@@ -22063,7 +22063,7 @@
 b__M23PELCG_NepSbhePelcgOybpxCuwCXuw:
 nop
 .text
-.globl b__MAFg3__16irpgbeVC14PCQS_Glcr3SbagAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_
+.weak b__MAFg3__16irpgbeVC14PCQS_Glcr3SbagAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_
 .type b__MAFg3__16irpgbeVC14PCQS_Glcr3SbagAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_,%function
 b__MAFg3__16irpgbeVC14PCQS_Glcr3SbagAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_:
 nop
@@ -22338,7 +22338,7 @@
 b__MA8PCJY_Jaq10FrgPncgherRi:
 nop
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVpR6PerngrREXF1_
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVpR6PerngrREXF1_
 .type b__MA5skpeg18FgevatQngnGrzcyngrVpR6PerngrREXF1_,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVpR6PerngrREXF1_:
 nop
@@ -22378,7 +22378,7 @@
 b__MA17PSK_VzntrEraqrereQ2Ri:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR7enj_fgeRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR7enj_fgeRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR7enj_fgeRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR7enj_fgeRi:
 nop
@@ -22473,7 +22473,7 @@
 b__MA13PCIG_JbeqVasbQ1Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PGGSbagQrfpAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PGGSbagQrfpAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PGGSbagQrfpAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PGGSbagQrfpAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRR:
 nop
@@ -22603,7 +22603,7 @@
 b__MA13PCJY_RqvgVzcy12FrgCyngrErpgREX13PSK_SybngErpg:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2REXF1_
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2REXF1_
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2REXF1_,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2REXF1_:
 nop
@@ -22913,7 +22913,7 @@
 b__MA13PSK_FhofgSbagP2Ri:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR5TrgVQRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR5TrgVQRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR5TrgVQRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR5TrgVQRi:
 nop
@@ -22923,7 +22923,7 @@
 b_t_SKPZNC_Rkg_EXFW_I_2:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV13PCQS_ShapgvbaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV13PCQS_ShapgvbaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV13PCQS_ShapgvbaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV13PCQS_ShapgvbaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR8__nccraqRz:
 nop
@@ -22998,7 +22998,7 @@
 b__MA11PSKRH_PyrneP1RC13PCJY_RqvgVzcyEX14PCIG_JbeqEnatrEXA5skpeg10JvqrFgevatR:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR18hagrezvangrq_p_fgeRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR18hagrezvangrq_p_fgeRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR18hagrezvangrq_p_fgeRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR18hagrezvangrq_p_fgeRi:
 nop
@@ -23108,7 +23108,7 @@
 b__MA17PCQS_EraqreFgnghfP1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA12PSK_OvqvPune7FrtzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA12PSK_OvqvPune7FrtzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVA12PSK_OvqvPune7FrtzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA12PSK_OvqvPune7FrtzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -23143,7 +23143,7 @@
 b__MA14PCQS_CnggreaPF22VavgvnyvmrFgbpxCnggreaRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV14PCQS_NyyFgngrfAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV14PCQS_NyyFgngrfAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV14PCQS_NyyFgngrfAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV14PCQS_NyyFgngrfAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -23273,7 +23273,7 @@
 b__MGI26PSSY_VagrenpgvirSbezSvyyre:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVC15PCQS_QvpgvbanelA5skpeg9ErgnvaCgeV18PCQS_FgehpgRyrzragRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF8_RRR14__renfr_havdhrVF3_RRzEXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVC15PCQS_QvpgvbanelA5skpeg9ErgnvaCgeV18PCQS_FgehpgRyrzragRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF8_RRR14__renfr_havdhrVF3_RRzEXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVC15PCQS_QvpgvbanelA5skpeg9ErgnvaCgeV18PCQS_FgehpgRyrzragRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF8_RRR14__renfr_havdhrVF3_RRzEXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVC15PCQS_QvpgvbanelA5skpeg9ErgnvaCgeV18PCQS_FgehpgRyrzragRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF8_RRR14__renfr_havdhrVF3_RRzEXG_:
 nop
@@ -23533,7 +23533,7 @@
 b__MAX13PCQS_GrkgCntr12TrgPuneJvqguRwC9PCQS_Sbag:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA5skpeg10OlgrFgevatRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA5skpeg10OlgrFgevatRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVA5skpeg10OlgrFgevatRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA5skpeg10OlgrFgevatRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -23543,7 +23543,7 @@
 b__MA17PCQS_TrarenyFgngr9FrgBCZbqrRv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR21__chfu_onpx_fybj_cnguVEXyRRiBG_
+.weak b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR21__chfu_onpx_fybj_cnguVEXyRRiBG_
 .type b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR21__chfu_onpx_fybj_cnguVEXyRRiBG_,%function
 b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR21__chfu_onpx_fybj_cnguVEXyRRiBG_:
 nop
@@ -23623,7 +23623,7 @@
 b__MA13PSSY_PbzobObkP2RC27PCQSFQX_SbezSvyyRaivebazragC14PCQSFQX_Jvqtrg:
 nop
 .text
-.globl b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR6nffvtaVCsRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVsAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
+.weak b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR6nffvtaVCsRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVsAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
 .type b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR6nffvtaVCsRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVsAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_,%function
 b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR6nffvtaVCsRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVsAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_:
 nop
@@ -23713,7 +23713,7 @@
 b__MA17PPbqrp_WcrtZbqhyr13TrgNinvyVachgRCAF_7PbagrkgRCCu:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1RCXj
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1RCXj
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1RCXj,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1RCXj:
 nop
@@ -23753,7 +23753,7 @@
 b__MA15PCQS_NcFrggvatfQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeV13PSK_CGrzcyngrVsRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeV13PSK_CGrzcyngrVsRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeV13PSK_CGrzcyngrVsRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeV13PSK_CGrzcyngrVsRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -23768,7 +23768,7 @@
 b__MA12PCQS_PerngbeP1RC13PCQS_QbphzragEXA5skpeg9ErgnvaCgeV15VSK_JevgrFgernzRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVvvRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_4cnveVvvRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVAF_4cnveVvvRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_4cnveVvvRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -23898,7 +23898,7 @@
 b__MA15PSSY_SbezSvyyre16FrgSbphfSbeNaabgRC13PCQSFQX_Naabgw:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRRvAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF6_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRRvAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF6_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRRvAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF6_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRRvAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF6_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -24108,7 +24108,7 @@
 b__MA13PSCS_FxvnSbag6ErgnvaRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeV15SKGRKG_TYLCUCBFAF_9nyybpngbeVF1_RRRP2Rz
+.weak b__MAFg3__16irpgbeV15SKGRKG_TYLCUCBFAF_9nyybpngbeVF1_RRRP2Rz
 .type b__MAFg3__16irpgbeV15SKGRKG_TYLCUCBFAF_9nyybpngbeVF1_RRRP2Rz,%function
 b__MAFg3__16irpgbeV15SKGRKG_TYLCUCBFAF_9nyybpngbeVF1_RRRP2Rz:
 nop
@@ -24118,7 +24118,7 @@
 b__MA14PCQSFQX_JvqtrgP1RC10PCQS_NaabgC16PCQSFQX_CntrIvrjC17PCQSFQX_VagreSbez:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrV8SbagQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF2_RRRAFU_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrV8SbagQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF2_RRRAFU_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrV8SbagQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF2_RRRAFU_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrV8SbagQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF2_RRRAFU_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -24148,7 +24148,7 @@
 b__MA23PCQSFQX_NaabgUnaqyreZteQ2Ri:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN7_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN7_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN7_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN7_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -24243,7 +24243,7 @@
 b__MA24PCQS_FgernzPbagragCnefre13Unaqyr_RBPyvcRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11PCQS_BowrpgA5skpeg9ErgnvaCgeV17PCQS_GenafsreShapRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11PCQS_BowrpgA5skpeg9ErgnvaCgeV17PCQS_GenafsreShapRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11PCQS_BowrpgA5skpeg9ErgnvaCgeV17PCQS_GenafsreShapRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11PCQS_BowrpgA5skpeg9ErgnvaCgeV17PCQS_GenafsreShapRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR:
 nop
@@ -24253,7 +24253,7 @@
 b__MA11CQSGRKG_BowQ2Ri:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR7VfRzcglRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR7VfRzcglRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR7VfRzcglRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR7VfRzcglRi:
 nop
@@ -24368,7 +24368,7 @@
 b__MA19PWOvt2_NevguQrpbqreP2RC16PWOvt2_OvgFgernz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV12PWOvt2_VzntrAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRRP2Rz
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV12PWOvt2_VzntrAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRRP2Rz
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV12PWOvt2_VzntrAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRRP2Rz,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV12PWOvt2_VzntrAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRRP2Rz:
 nop
@@ -24408,12 +24408,12 @@
 b__MA21WOvt2_QbphzragPbagrkgQ2Ri:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN5_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN5_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN5_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN5_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PKZY_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PKZY_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PKZY_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PKZY_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -24503,7 +24503,7 @@
 b_SCQSNaabg_FrgNggnpuzragCbvagf:
 nop
 .text
-.globl b__MAFg3__15qrdhrVwAF_9nyybpngbeVwRRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrVwAF_9nyybpngbeVwRRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrVwAF_9nyybpngbeVwRRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrVwAF_9nyybpngbeVwRRR19__nqq_onpx_pncnpvglRi:
 nop
@@ -24513,7 +24513,7 @@
 b__MA14PCQS_QVOFbhepr13FgnegYbnqZnfxRi:
 nop
 .text
-.globl b__MAFg3__14zbirVC13CNTRPUNE_VASBF1_F2_EF1_CF2_yYy56RRRAF_16__qrdhr_vgrengbeVG0_G1_G2_G3_G4_KG5_RRRG_FP_FO_CAF_9ranoyr_vsVKfe27__vf_enaqbz_npprff_vgrengbeVFP_RR5inyhrRiR4glcrR
+.weak b__MAFg3__14zbirVC13CNTRPUNE_VASBF1_F2_EF1_CF2_yYy56RRRAF_16__qrdhr_vgrengbeVG0_G1_G2_G3_G4_KG5_RRRG_FP_FO_CAF_9ranoyr_vsVKfe27__vf_enaqbz_npprff_vgrengbeVFP_RR5inyhrRiR4glcrR
 .type b__MAFg3__14zbirVC13CNTRPUNE_VASBF1_F2_EF1_CF2_yYy56RRRAF_16__qrdhr_vgrengbeVG0_G1_G2_G3_G4_KG5_RRRG_FP_FO_CAF_9ranoyr_vsVKfe27__vf_enaqbz_npprff_vgrengbeVFP_RR5inyhrRiR4glcrR,%function
 b__MAFg3__14zbirVC13CNTRPUNE_VASBF1_F2_EF1_CF2_yYy56RRRAF_16__qrdhr_vgrengbeVG0_G1_G2_G3_G4_KG5_RRRG_FP_FO_CAF_9ranoyr_vsVKfe27__vf_enaqbz_npprff_vgrengbeVFP_RR5inyhrRiR4glcrR:
 nop
@@ -24528,7 +24528,7 @@
 b__MAX9PSK_Pbybe9GbSKPbybeRv:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR6PuneNgRz
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR6PuneNgRz
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR6PuneNgRz,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR6PuneNgRz:
 nop
@@ -24563,7 +24563,7 @@
 b__MA9PCQS_YvaxP2REXF_:
 nop
 .text
-.globl b__MAFg3__112__qrdhr_onfrVAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR5pyrneRi
+.weak b__MAFg3__112__qrdhr_onfrVAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR5pyrneRi
 .type b__MAFg3__112__qrdhr_onfrVAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR5pyrneRi,%function
 b__MAFg3__112__qrdhr_onfrVAF_10havdhr_cgeV17VSK_Rqvg_HaqbVgrzAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR5pyrneRi:
 nop
@@ -24593,12 +24593,12 @@
 b__MA15PCQS_FgvgpuShapP2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV12PWOvt2_VzntrAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV12PWOvt2_VzntrAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV12PWOvt2_VzntrAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV12PWOvt2_VzntrAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR8__nccraqRz:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
@@ -24733,7 +24733,7 @@
 b__MA20PCQS_VzntrPnpurRagel20FgnegTrgPnpurqOvgzncRC15PCQS_QvpgvbanelF1_owoC17PCQS_EraqreFgnghf:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1REp
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1REp
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1REp,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1REp:
 nop
@@ -24753,7 +24753,7 @@
 b__MA26PSSY_VagrenpgvirSbezSvyyreP2RC27PCQSFQX_SbezSvyyRaivebazrag:
 nop
 .text
-.globl b__MAFg3__15qrdhrV13CNTRPUNE_VASBAF_9nyybpngbeVF1_RRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrV13CNTRPUNE_VASBAF_9nyybpngbeVF1_RRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrV13CNTRPUNE_VASBAF_9nyybpngbeVF1_RRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrV13CNTRPUNE_VASBAF_9nyybpngbeVF1_RRR19__nqq_onpx_pncnpvglRi:
 nop
@@ -24778,7 +24778,7 @@
 b__MA15PCQS_PbybeFgngr9PbybeQngnP2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR6vafregRAF_11__jenc_vgreVCXF5_RRBF5_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR6vafregRAF_11__jenc_vgreVCXF5_RRBF5_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR6vafregRAF_11__jenc_vgreVCXF5_RRBF5_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR6vafregRAF_11__jenc_vgreVCXF5_RRBF5_:
 nop
@@ -24998,12 +24998,12 @@
 b_SCQSObbxznex_Svaq:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_10havdhr_cgeV15PSK_TylcuOvgzncAF_14qrsnhyg_qryrgrVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVwF7_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_10havdhr_cgeV15PSK_TylcuOvgzncAF_14qrsnhyg_qryrgrVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVwF7_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_10havdhr_cgeV15PSK_TylcuOvgzncAF_14qrsnhyg_qryrgrVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVwF7_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_10havdhr_cgeV15PSK_TylcuOvgzncAF_14qrsnhyg_qryrgrVF3_RRRRRRAF_19__znc_inyhr_pbzcnerVwF7_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR:
 nop
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVpR12PbclPbagragfRCXpz
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVpR12PbclPbagragfRCXpz
 .type b__MA5skpeg18FgevatQngnGrzcyngrVpR12PbclPbagragfRCXpz,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVpR12PbclPbagragfRCXpz:
 nop
@@ -25168,7 +25168,7 @@
 b__MA14PCQS_Glcr3Sbag11TrgPuneOObkRw:
 nop
 .data
-.globl b__MGIAFg3__117onq_shapgvba_pnyyR
+.weak b__MGIAFg3__117onq_shapgvba_pnyyR
 .type b__MGIAFg3__117onq_shapgvba_pnyyR,%object
 b__MGIAFg3__117onq_shapgvba_pnyyR:
 .space __SIZEOF_POINTER__
@@ -25193,7 +25193,7 @@
 b__MA13PCJY_RqvgPgey17FrgFpebyyCbfvgvbaRs:
 nop
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVpRP2Rzz
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVpRP2Rzz
 .type b__MA5skpeg18FgevatQngnGrzcyngrVpRP2Rzz,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVpRP2Rzz:
 nop
@@ -25238,7 +25238,7 @@
 b__MA18PCQS_FunqvatBowrpgQ0Ri:
 nop
 .text
-.globl b__MA3ntt18pbai_nqncgbe_iptraVAF_12cngu_fgbentrRAF_10iptra_qnfuRAF_12ahyy_znexrefRR6iregrkRCsF5_
+.weak b__MA3ntt18pbai_nqncgbe_iptraVAF_12cngu_fgbentrRAF_10iptra_qnfuRAF_12ahyy_znexrefRR6iregrkRCsF5_
 .type b__MA3ntt18pbai_nqncgbe_iptraVAF_12cngu_fgbentrRAF_10iptra_qnfuRAF_12ahyy_znexrefRR6iregrkRCsF5_,%function
 b__MA3ntt18pbai_nqncgbe_iptraVAF_12cngu_fgbentrRAF_10iptra_qnfuRAF_12ahyy_znexrefRR6iregrkRCsF5_:
 nop
@@ -25263,7 +25263,7 @@
 b__MA14PCQS_QVOFbhepr13PerngrQrpbqreRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVC9PCQS_CntrAF_10havdhr_cgeV16PCQSFQX_CntrIvrjAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVC9PCQS_CntrAF_10havdhr_cgeV16PCQSFQX_CntrIvrjAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVC9PCQS_CntrAF_10havdhr_cgeV16PCQSFQX_CntrIvrjAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVC9PCQS_CntrAF_10havdhr_cgeV16PCQSFQX_CntrIvrjAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR:
 nop
@@ -25378,7 +25378,7 @@
 b__MA14PCJY_FpebyyOne13BaYOhggbaQbjaREX13PSK_CGrzcyngrVsRw:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVjRajRz
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVjRajRz
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVjRajRz,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVjRajRz:
 nop
@@ -25583,7 +25583,7 @@
 b__M24PSCS_TrgFxvnQrivprZbqhyri:
 nop
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSoCX13PCQSFQX_NaabgF3_RCCF1_RRoG0_F9_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSoCX13PCQSFQX_NaabgF3_RCCF1_RRoG0_F9_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSoCX13PCQSFQX_NaabgF3_RCCF1_RRoG0_F9_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSoCX13PCQSFQX_NaabgF3_RCCF1_RRoG0_F9_G_:
 nop
@@ -25608,7 +25608,7 @@
 b__MAX17PCQSFQX_VagreSbez23TrgCntrVaqrkOlNaabgQvpgRC13PCQS_QbphzragC15PCQS_Qvpgvbanel:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA5skpeg10OlgrFgevatRAF_9nyybpngbeVF2_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA5skpeg10OlgrFgevatRAF_9nyybpngbeVF2_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA5skpeg10OlgrFgevatRAF_9nyybpngbeVF2_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA5skpeg10OlgrFgevatRAF_9nyybpngbeVF2_RRR8__nccraqRz:
 nop
@@ -25743,7 +25743,7 @@
 b__MA21PCQSFQX_JvqtrgUnaqyreP2RC27PCQSFQX_SbezSvyyRaivebazrag:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN12_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN12_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN12_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN12_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -25798,7 +25798,7 @@
 b__MA25PCQS_VaqverpgBowrpgUbyqre19CnefrVaqverpgBowrpgRw:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN5_XpoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN5_XpoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN5_XpoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN5_XpoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -25903,7 +25903,7 @@
 b__MA14PFgergpuRatvarQ1Ri:
 nop
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVjR6ErgnvaRi
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVjR6ErgnvaRi
 .type b__MA5skpeg18FgevatQngnGrzcyngrVjR6ErgnvaRi,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVjR6ErgnvaRi:
 nop
@@ -26048,7 +26048,7 @@
 b__MA18PCQS_FgehpgRyrzragQ1Ri:
 nop
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVpR12PbclPbagragfREXF1_
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVpR12PbclPbagragfREXF1_
 .type b__MA5skpeg18FgevatQngnGrzcyngrVpR12PbclPbagragfREXF1_,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVpR12PbclPbagragfREXF1_:
 nop
@@ -26163,7 +26163,7 @@
 b__MA16PCQS_SbezPbageby20TrgQrsnhygNccrnenaprRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV16PCQS_Glcr3TylcufAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFY_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV16PCQS_Glcr3TylcufAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFY_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV16PCQS_Glcr3TylcufAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFY_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV16PCQS_Glcr3TylcufAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFY_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -26173,7 +26173,7 @@
 b__MGI18PSK_OvgzncPbzcbfre:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA3ntt12fubegra_cnguVAF_15iregrk_frdhraprVAF_11iregrk_qvfgRYw6RRRRRiEG_sw
+.weak b__MA3ntt12fubegra_cnguVAF_15iregrk_frdhraprVAF_11iregrk_qvfgRYw6RRRRRiEG_sw
 .type b__MA3ntt12fubegra_cnguVAF_15iregrk_frdhraprVAF_11iregrk_qvfgRYw6RRRRRiEG_sw,%function
 b__MA3ntt12fubegra_cnguVAF_15iregrk_frdhraprVAF_11iregrk_qvfgRYw6RRRRRiEG_sw:
 nop
@@ -26398,7 +26398,7 @@
 b__MAX18PCQS_ErnqInyvqngbe20VfQngnEnatrNinvynoyrRyz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA5skpeg9ErgnvaCgeV18PCQS_FgehpgRyrzragRRAF_9nyybpngbeVF4_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA5skpeg9ErgnvaCgeV18PCQS_FgehpgRyrzragRRAF_9nyybpngbeVF4_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA5skpeg9ErgnvaCgeV18PCQS_FgehpgRyrzragRRAF_9nyybpngbeVF4_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA5skpeg9ErgnvaCgeV18PCQS_FgehpgRyrzragRRAF_9nyybpngbeVF4_RRR8__nccraqRz:
 nop
@@ -26528,12 +26528,12 @@
 b__MA14PCQS_ZbqhyrZte3TrgRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrV12TencuvpfQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF2_RRRAFU_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrV12TencuvpfQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF2_RRRAFU_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrV12TencuvpfQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF2_RRRAFU_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrV12TencuvpfQngnA5skpeg10OlgrFgevatRRRAF_19__znc_inyhr_pbzcnerVF2_F5_AF_4yrffVF2_RRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF2_RRRAFU_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVC13CNTRPUNE_VASBAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_
+.weak b__MAFg3__114__fcyvg_ohssreVC13CNTRPUNE_VASBAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_
 .type b__MAFg3__114__fcyvg_ohssreVC13CNTRPUNE_VASBAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_,%function
 b__MAFg3__114__fcyvg_ohssreVC13CNTRPUNE_VASBAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_:
 nop
@@ -26708,12 +26708,12 @@
 b__MA18PCQS_PelcgbUnaqyreP2RvCXuv:
 nop
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVpR14PbclPbagragfNgRzCXpz
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVpR14PbclPbagragfNgRzCXpz
 .type b__MA5skpeg18FgevatQngnGrzcyngrVpR14PbclPbagragfNgRzCXpz,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVpR14PbclPbagragfNgRzCXpz:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVjRnFRCXj
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVjRnFRCXj
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVjRnFRCXj,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVjRnFRCXj:
 nop
@@ -26808,7 +26808,7 @@
 b__MA9PCQS_Cntr10FgnegCnefrRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVC12PWOvt2_VzntrAF_9nyybpngbeVF2_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVC12PWOvt2_VzntrAF_9nyybpngbeVF2_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVC12PWOvt2_VzntrAF_9nyybpngbeVF2_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVC12PWOvt2_VzntrAF_9nyybpngbeVF2_RRR8__nccraqRz:
 nop
@@ -27168,7 +27168,7 @@
 b__MAX13PKZY_NggeVgrz7ZngpurfREXA5skpeg10OlgrFgevatRF3_:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
@@ -27263,12 +27263,12 @@
 b__MAX16PCQS_VzntrBowrpg7NfVzntrRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA11PCQS_Cnefre15PebffErsBowQngnRAF_9nyybpngbeVF2_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA11PCQS_Cnefre15PebffErsBowQngnRAF_9nyybpngbeVF2_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA11PCQS_Cnefre15PebffErsBowQngnRAF_9nyybpngbeVF2_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA11PCQS_Cnefre15PebffErsBowQngnRAF_9nyybpngbeVF2_RRR8__nccraqRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA5skpeg10JvqrFgevatRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA5skpeg10JvqrFgevatRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVA5skpeg10JvqrFgevatRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA5skpeg10JvqrFgevatRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -27403,7 +27403,7 @@
 b__MA14PCQS_QngnNinvy9PurpxVasbRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF7_RRR10chfu_sebagRBF7_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF7_RRR10chfu_sebagRBF7_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF7_RRR10chfu_sebagRBF7_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF7_RRR10chfu_sebagRBF7_:
 nop
@@ -27458,7 +27458,7 @@
 b_pzfNyybpAnzrqPbybeYvfg:
 nop
 .data
-.globl b__MGFFg9rkprcgvba
+.weak b__MGFFg9rkprcgvba
 .type b__MGFFg9rkprcgvba,%object
 b__MGFFg9rkprcgvba:
 .space __SIZEOF_POINTER__
@@ -27543,7 +27543,7 @@
 b__MA5skpeg10JvqrFgevatP1REXAF_18FgevatIvrjGrzcyngrVjRRF4_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV5PYvarAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV5PYvarAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV5PYvarAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV5PYvarAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -27628,7 +27628,7 @@
 b_bcw_fgernz_jevgr_frrx:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11PCQS_FgernzAF_10havdhr_cgeV9PCQS_SbezAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11PCQS_FgernzAF_10havdhr_cgeV9PCQS_SbezAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11PCQS_FgernzAF_10havdhr_cgeV9PCQS_SbezAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11PCQS_FgernzAF_10havdhr_cgeV9PCQS_SbezAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR:
 nop
@@ -27848,7 +27848,7 @@
 b__MAX20PSK_VzntrGenafsbezre12NqwhfgPbbeqfRCvF0_:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR6eortvaRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR6eortvaRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR6eortvaRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR6eortvaRi:
 nop
@@ -28018,12 +28018,12 @@
 b__MA16PSK_OvgzncFgbereQ2Ri:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2Ri
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2Ri
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2Ri,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVpRP2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVgAF_9nyybpngbeVgRRR21__chfu_onpx_fybj_cnguVgRRiBG_
+.weak b__MAFg3__16irpgbeVgAF_9nyybpngbeVgRRR21__chfu_onpx_fybj_cnguVgRRiBG_
 .type b__MAFg3__16irpgbeVgAF_9nyybpngbeVgRRR21__chfu_onpx_fybj_cnguVgRRiBG_,%function
 b__MAFg3__16irpgbeVgAF_9nyybpngbeVgRRR21__chfu_onpx_fybj_cnguVgRRiBG_:
 nop
@@ -28068,12 +28068,12 @@
 b__MAX14PCQS_QngnNinvy15TrgFlagnkCnefreRi:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN6_XpoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN6_XpoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN6_XpoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN6_XpoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRREAF_9nyybpngbeVF7_RRR9chfu_onpxRBF7_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRREAF_9nyybpngbeVF7_RRR9chfu_onpxRBF7_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRREAF_9nyybpngbeVF7_RRR9chfu_onpxRBF7_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeVA17PCQS_BowrpgJnyxre17FhobowrpgVgrengbeRAF_14qrsnhyg_qryrgrVF3_RRRREAF_9nyybpngbeVF7_RRR9chfu_onpxRBF7_:
 nop
@@ -28238,7 +28238,7 @@
 b__M18SK_Enaqbz_ZG_Fgnegw:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRREvAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF7_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRREvAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF7_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRREvAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF7_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgernzWAFg3__110havdhr_cgeVu13SkSerrQryrgreRREvAF3_V15PCQS_QvpgvbanelAF2_14qrsnhyg_qryrgrVF7_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -28353,7 +28353,7 @@
 b__MA21PCJY_RqvgVzcy_Erserfu3NqqREX13PSK_SybngErpg:
 nop
 .text
-.globl b__MA3ntt9cbq_qrdhrVAF_10cbvag_glcrRYw6RR14nyybpngr_oybpxRw
+.weak b__MA3ntt9cbq_qrdhrVAF_10cbvag_glcrRYw6RR14nyybpngr_oybpxRw
 .type b__MA3ntt9cbq_qrdhrVAF_10cbvag_glcrRYw6RR14nyybpngr_oybpxRw,%function
 b__MA3ntt9cbq_qrdhrVAF_10cbvag_glcrRYw6RR14nyybpngr_oybpxRw:
 nop
@@ -28678,7 +28678,7 @@
 b__MA18VSK_FrrxnoyrFgernz18PerngrSebzSvyranzrRCXpw:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_:
 nop
@@ -28698,7 +28698,7 @@
 b__MA18PCQS_TencuvpFgngrfQ2Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVwZ24PCQS_FgernzPbagragCnefreSiiRRRAF_19__znc_inyhr_pbzcnerVwF5_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF5_RRR12__svaq_rdhnyVwRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_FS_RRyRRECAF_15__gerr_raq_abqrVFU_RRFV_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVwZ24PCQS_FgernzPbagragCnefreSiiRRRAF_19__znc_inyhr_pbzcnerVwF5_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF5_RRR12__svaq_rdhnyVwRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_FS_RRyRRECAF_15__gerr_raq_abqrVFU_RRFV_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVwZ24PCQS_FgernzPbagragCnefreSiiRRRAF_19__znc_inyhr_pbzcnerVwF5_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF5_RRR12__svaq_rdhnyVwRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_FS_RRyRRECAF_15__gerr_raq_abqrVFU_RRFV_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVwZ24PCQS_FgernzPbagragCnefreSiiRRRAF_19__znc_inyhr_pbzcnerVwF5_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF5_RRR12__svaq_rdhnyVwRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_FS_RRyRRECAF_15__gerr_raq_abqrVFU_RRFV_EXG_:
 nop
@@ -28798,7 +28798,7 @@
 b__MA14PCQS_QngnNinvy12YbnqQbpCntrfRi:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR12VfInyvqVaqrkRz
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR12VfInyvqVaqrkRz
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR12VfInyvqVaqrkRz,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR12VfInyvqVaqrkRz:
 nop
@@ -28893,7 +28893,7 @@
 b__MA22PCJY_RqvgVzcy_CebivqreP2RC12VCIG_SbagZnc:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVC16PCQSFQX_CntrIvrjC8PCJY_JaqRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVC16PCQSFQX_CntrIvrjC8PCJY_JaqRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVC16PCQSFQX_CntrIvrjC8PCJY_JaqRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVC16PCQSFQX_CntrIvrjC8PCJY_JaqRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
@@ -28923,7 +28923,7 @@
 b__MA6cqsvhz4onfr10NyybpCntrfRCizzAF0_30CntrNpprffvovyvglPbasvthengvbaR:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRECXpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRECXpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRECXpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRRECXpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -28953,7 +28953,7 @@
 b__MA9PCQS_CntrQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA16PCQS_YvaxRkgenpg4YvaxRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA16PCQS_YvaxRkgenpg4YvaxRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVA16PCQS_YvaxRkgenpg4YvaxRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA16PCQS_YvaxRkgenpg4YvaxRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -28983,7 +28983,7 @@
 b__MA16PCQS_SbezPbageby21TrgQrsnhygPbagebySbagRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR18__pbafgehpg_ng_raqVAF_14__ovg_vgrengbeVF3_Yo0RYz0RRRRRAF_9ranoyr_vsVKfe21__vf_sbejneq_vgrengbeVG_RR5inyhrRiR4glcrRF8_F8_
+.weak b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR18__pbafgehpg_ng_raqVAF_14__ovg_vgrengbeVF3_Yo0RYz0RRRRRAF_9ranoyr_vsVKfe21__vf_sbejneq_vgrengbeVG_RR5inyhrRiR4glcrRF8_F8_
 .type b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR18__pbafgehpg_ng_raqVAF_14__ovg_vgrengbeVF3_Yo0RYz0RRRRRAF_9ranoyr_vsVKfe21__vf_sbejneq_vgrengbeVG_RR5inyhrRiR4glcrRF8_F8_,%function
 b__MAFg3__16irpgbeVoAF_9nyybpngbeVoRRR18__pbafgehpg_ng_raqVAF_14__ovg_vgrengbeVF3_Yo0RYz0RRRRRAF_9ranoyr_vsVKfe21__vf_sbejneq_vgrengbeVG_RR5inyhrRiR4glcrRF8_F8_:
 nop
@@ -29023,7 +29023,7 @@
 b_pzfPerngrYvarnevmngvbaQrivprYvaxGUE:
 nop
 .text
-.globl b__MAFg3__16irpgbeV12SK_CNGUCBVAGAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeV12SK_CNGUCBVAGAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeV12SK_CNGUCBVAGAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeV12SK_CNGUCBVAGAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -29078,7 +29078,7 @@
 b__M14Erivfvba6_UnfuEXA5skpeg10OlgrFgevatRCXuF4_Cu:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpRrdRCXp
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpRrdRCXp
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpRrdRCXp,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpRrdRCXp:
 nop
@@ -29198,7 +29198,7 @@
 b__MAX11PCQS_Ahzore10TrgVagrtreRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVA5skpeg10OlgrFgevatRC11PCQS_BowrpgRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_4cnveVA5skpeg10OlgrFgevatRC11PCQS_BowrpgRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_4cnveVA5skpeg10OlgrFgevatRC11PCQS_BowrpgRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_4cnveVA5skpeg10OlgrFgevatRC11PCQS_BowrpgRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_:
 nop
@@ -29308,7 +29308,7 @@
 b__MA23PCQSFQX_NaabgUnaqyreZte12EryrnfrNaabgRC13PCQSFQX_Naabg:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeVA10PSvryqGerr4AbqrRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeVA10PSvryqGerr4AbqrRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeVA10PSvryqGerr4AbqrRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeVA10PSvryqGerr4AbqrRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_:
 nop
@@ -29353,7 +29353,7 @@
 b__MA21PCQSFQX_JvqtrgUnaqyre11BaXvyySbphfRCA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRw:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRREAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_:
 nop
@@ -29363,7 +29363,7 @@
 b__MA9PCQS_Sbag14TrgFgevatJvqguRCXpv:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpRygREXF1_
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpRygREXF1_
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpRygREXF1_,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpRygREXF1_:
 nop
@@ -29383,7 +29383,7 @@
 b__MAX13PCJY_RqvgPgey7TrgGrkgRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVCX11PCQS_BowrpgAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_FO_RRyRRECAF_15__gerr_raq_abqrVFQ_RRFR_EXG_
+.weak b__MAFg3__16__gerrVCX11PCQS_BowrpgAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_FO_RRyRRECAF_15__gerr_raq_abqrVFQ_RRFR_EXG_
 .type b__MAFg3__16__gerrVCX11PCQS_BowrpgAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_FO_RRyRRECAF_15__gerr_raq_abqrVFQ_RRFR_EXG_,%function
 b__MAFg3__16__gerrVCX11PCQS_BowrpgAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_FO_RRyRRECAF_15__gerr_raq_abqrVFQ_RRFR_EXG_:
 nop
@@ -29488,7 +29488,7 @@
 b__MAX15PCQSFQX_ONNaabg9TrgNCQvpgRi:
 nop
 .text
-.globl b__MA3ntt17fgebxr_pnyp_zvgreVAF_9cbq_qrdhrVAF_10cbvag_glcrRYw6RRRRRiEG_EXAF_11iregrk_qvfgRF8_F8_sssssAF_11yvar_wbva_rRss
+.weak b__MA3ntt17fgebxr_pnyp_zvgreVAF_9cbq_qrdhrVAF_10cbvag_glcrRYw6RRRRRiEG_EXAF_11iregrk_qvfgRF8_F8_sssssAF_11yvar_wbva_rRss
 .type b__MA3ntt17fgebxr_pnyp_zvgreVAF_9cbq_qrdhrVAF_10cbvag_glcrRYw6RRRRRiEG_EXAF_11iregrk_qvfgRF8_F8_sssssAF_11yvar_wbva_rRss,%function
 b__MA3ntt17fgebxr_pnyp_zvgreVAF_9cbq_qrdhrVAF_10cbvag_glcrRYw6RRRRRiEG_EXAF_11iregrk_qvfgRF8_F8_sssssAF_11yvar_wbva_rRss:
 nop
@@ -29678,7 +29678,7 @@
 b__MAX14PCQS_VagreSbez11PbhagSvryqfREXA5skpeg10JvqrFgevatR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11SG_SnprErp_AF_10havdhr_cgeVA13PSK_SbagPnpur16PbhagrqSnprPnpurRAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_FN_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11SG_SnprErp_AF_10havdhr_cgeVA13PSK_SbagPnpur16PbhagrqSnprPnpurRAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_FN_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11SG_SnprErp_AF_10havdhr_cgeVA13PSK_SbagPnpur16PbhagrqSnprPnpurRAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_FN_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11SG_SnprErp_AF_10havdhr_cgeVA13PSK_SbagPnpur16PbhagrqSnprPnpurRAF_14qrsnhyg_qryrgrVF6_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_FN_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVFN_RRR7qrfgeblRCAF_11__gerr_abqrVFN_CiRR:
 nop
@@ -29788,7 +29788,7 @@
 b__MAX10PCQS_Neenl7TrgGlcrRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVC13CNTRPUNE_VASBEAF_9nyybpngbeVF2_RRR10chfu_sebagREXF2_
+.weak b__MAFg3__114__fcyvg_ohssreVC13CNTRPUNE_VASBEAF_9nyybpngbeVF2_RRR10chfu_sebagREXF2_
 .type b__MAFg3__114__fcyvg_ohssreVC13CNTRPUNE_VASBEAF_9nyybpngbeVF2_RRR10chfu_sebagREXF2_,%function
 b__MAFg3__114__fcyvg_ohssreVC13CNTRPUNE_VASBEAF_9nyybpngbeVF2_RRR10chfu_sebagREXF2_:
 nop
@@ -29903,7 +29903,7 @@
 b_t_SKPZNC_HavWVF_HPF2_UJ_I_4:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVwyRRAF_19__znc_inyhr_pbzcnerVwF2_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVwyRRAF_19__znc_inyhr_pbzcnerVwF2_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVwyRRAF_19__znc_inyhr_pbzcnerVwF2_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVwyRRAF_19__znc_inyhr_pbzcnerVwF2_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
@@ -29918,7 +29918,7 @@
 b__MA22VSK_EraqreQrivprQevire11QenjFunqvatRCX19PCQS_FunqvatCnggreaCX10PSK_ZngevkEX7SK_ERPGvo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR21__chfu_onpx_fybj_cnguVuRRiBG_
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR21__chfu_onpx_fybj_cnguVuRRiBG_
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR21__chfu_onpx_fybj_cnguVuRRiBG_,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR21__chfu_onpx_fybj_cnguVuRRiBG_:
 nop
@@ -29973,7 +29973,7 @@
 b_pzfYPu2Yno:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpRarRCXp
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpRarRCXp
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpRarRCXp,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpRarRCXp:
 nop
@@ -29993,7 +29993,7 @@
 b__MA12PCJY_YvfgObk9BaPerngrqRi:
 nop
 .text
-.globl b__MA5skpeg18FgevatQngnGrzcyngrVjR6PerngrREXF1_
+.weak b__MA5skpeg18FgevatQngnGrzcyngrVjR6PerngrREXF1_
 .type b__MA5skpeg18FgevatQngnGrzcyngrVjR6PerngrREXF1_,%function
 b__MA5skpeg18FgevatQngnGrzcyngrVjR6PerngrREXF1_:
 nop
@@ -30038,7 +30038,7 @@
 b__MGI11PON_SbagZnc:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVA5skpeg10OlgrFgevatRF3_RRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_4cnveVA5skpeg10OlgrFgevatRF3_RRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
 .type b__MAFg3__16irpgbeVAF_4cnveVA5skpeg10OlgrFgevatRF3_RRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_4cnveVA5skpeg10OlgrFgevatRF3_RRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_:
 nop
@@ -30133,7 +30133,7 @@
 b__MA15PCQS_AhzoreGerrP1RC15PCQS_Qvpgvbanel:
 nop
 .text
-.globl b__MAFg3__16irpgbeV13WOvt2NevguPgkAF_9nyybpngbeVF1_RRR6nffvtaVCF1_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF1_AF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRiR4glcrRF8_F8_
+.weak b__MAFg3__16irpgbeV13WOvt2NevguPgkAF_9nyybpngbeVF1_RRR6nffvtaVCF1_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF1_AF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRiR4glcrRF8_F8_
 .type b__MAFg3__16irpgbeV13WOvt2NevguPgkAF_9nyybpngbeVF1_RRR6nffvtaVCF1_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF1_AF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRiR4glcrRF8_F8_,%function
 b__MAFg3__16irpgbeV13WOvt2NevguPgkAF_9nyybpngbeVF1_RRR6nffvtaVCF1_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF1_AF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRiR4glcrRF8_F8_:
 nop
@@ -30148,7 +30148,7 @@
 b__MA14PCQS_SbezSvryq12PurpxPbagebyRvoo:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1REXF1_
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1REXF1_
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1REXF1_,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVpRP1REXF1_:
 nop
@@ -30203,7 +30203,7 @@
 b_bcw_gpq_perngr:
 nop
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -30218,17 +30218,17 @@
 b_bcw_wc2_qrpbqr:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2RCXjz
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2RCXjz
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2RCXjz,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2RCXjz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF3_RRRAFY_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF3_RRRAFY_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF3_RRRAFY_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PCQS_BowrpgAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF3_RRRAFY_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF9_CAF_11__gerr_abqrVF9_CiRRyRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN1_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN1_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN1_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN1_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -30263,7 +30263,7 @@
 b__M14FgevatGbSKNETOEXA5skpeg18FgevatIvrjGrzcyngrVjRR:
 nop
 .text
-.globl b__MA3ntt18pbai_nqncgbe_iptraVAF_12cngu_fgbentrRAF_12iptra_fgebxrRAF_12ahyy_znexrefRR6iregrkRCsF5_
+.weak b__MA3ntt18pbai_nqncgbe_iptraVAF_12cngu_fgbentrRAF_12iptra_fgebxrRAF_12ahyy_znexrefRR6iregrkRCsF5_
 .type b__MA3ntt18pbai_nqncgbe_iptraVAF_12cngu_fgbentrRAF_12iptra_fgebxrRAF_12ahyy_znexrefRR6iregrkRCsF5_,%function
 b__MA3ntt18pbai_nqncgbe_iptraVAF_12cngu_fgbentrRAF_12iptra_fgebxrRAF_12ahyy_znexrefRR6iregrkRCsF5_:
 nop
@@ -30408,7 +30408,7 @@
 b__MA9PCJY_VpbaQ2Ri:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR5ortvaRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR5ortvaRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR5ortvaRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR5ortvaRi:
 nop
@@ -30423,7 +30423,7 @@
 b__MA14PCQS_QngnNinvy13CnefrQbphzragRCXp:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN7_XpoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN7_XpoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN7_XpoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN7_XpoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -30463,7 +30463,7 @@
 b__MA12PCJY_YvfgObk18QenjGuvfNccrnenaprRC16PSK_EraqreQrivprEX10PSK_Zngevk:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2REj
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2REj
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2REj,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2REj:
 nop
@@ -30803,7 +30803,7 @@
 b_UhssznaGnoyr_O13:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA3ntt9cbq_qrdhrVAF_11iregrk_qvfgRYw6RR14nyybpngr_oybpxRw
+.weak b__MA3ntt9cbq_qrdhrVAF_11iregrk_qvfgRYw6RR14nyybpngr_oybpxRw
 .type b__MA3ntt9cbq_qrdhrVAF_11iregrk_qvfgRYw6RR14nyybpngr_oybpxRw,%function
 b__MA3ntt9cbq_qrdhrVAF_11iregrk_qvfgRYw6RR14nyybpngr_oybpxRw:
 nop
@@ -30813,7 +30813,7 @@
 b__MAX9PCQS_Sbag14VfGehrGlcrSbagRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA16PCQS_FnzcyrqShap16FnzcyrRapbqrVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA16PCQS_FnzcyrqShap16FnzcyrRapbqrVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA16PCQS_FnzcyrqShap16FnzcyrRapbqrVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA16PCQS_FnzcyrqShap16FnzcyrRapbqrVasbRAF_9nyybpngbeVF2_RRR8__nccraqRz:
 nop
@@ -30833,7 +30833,7 @@
 b_pzfSerrCebsvyrFrdhraprQrfpevcgvba:
 nop
 .text
-.globl b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVEXzRRiBG_
+.weak b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVEXzRRiBG_
 .type b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVEXzRRiBG_,%function
 b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVEXzRRiBG_:
 nop
@@ -30848,7 +30848,7 @@
 b_UhssznaGnoyr_O15:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA3ntt15fgebxr_pnyp_pncVAF_9cbq_qrdhrVAF_10cbvag_glcrRYw6RRRRRiEG_EXAF_11iregrk_qvfgRF8_sAF_10yvar_pnc_rRss
+.weak b__MA3ntt15fgebxr_pnyp_pncVAF_9cbq_qrdhrVAF_10cbvag_glcrRYw6RRRRRiEG_EXAF_11iregrk_qvfgRF8_sAF_10yvar_pnc_rRss
 .type b__MA3ntt15fgebxr_pnyp_pncVAF_9cbq_qrdhrVAF_10cbvag_glcrRYw6RRRRRiEG_EXAF_11iregrk_qvfgRF8_sAF_10yvar_pnc_rRss,%function
 b__MA3ntt15fgebxr_pnyp_pncVAF_9cbq_qrdhrVAF_10cbvag_glcrRYw6RRRRRiEG_EXAF_11iregrk_qvfgRF8_sAF_10yvar_pnc_rRss:
 nop
@@ -30938,7 +30938,7 @@
 b__MA16PSKRH_VafregJbeqQ1Ri:
 nop
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
@@ -31023,7 +31023,7 @@
 b__MA19FpbcrqSbagGenafsbezP2RC11SG_SnprErp_C10SG_Zngevk_:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR8PbagnvafRj
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR8PbagnvafRj
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR8PbagnvafRj,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR8PbagnvafRj:
 nop
@@ -31093,7 +31093,7 @@
 b__MAX14PCQS_VagreSbez17TrgPbagebyNgCbvagRC9PCQS_CntrEX13PSK_CGrzcyngrVsRCv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVsRRiBG_
+.weak b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVsRRiBG_
 .type b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVsRRiBG_,%function
 b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVsRRiBG_:
 nop
@@ -31168,12 +31168,12 @@
 b__MA22PCQSFQX_ONNaabgUnaqyre12EryrnfrNaabgRC13PCQSFQX_Naabg:
 nop
 .text
-.globl b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR
+.weak b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR
 .type b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR,%function
 b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVC15PCQS_QvpgvbanelA5skpeg9ErgnvaCgeV18PCQS_FgehpgRyrzragRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVC15PCQS_QvpgvbanelA5skpeg9ErgnvaCgeV18PCQS_FgehpgRyrzragRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVC15PCQS_QvpgvbanelA5skpeg9ErgnvaCgeV18PCQS_FgehpgRyrzragRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVC15PCQS_QvpgvbanelA5skpeg9ErgnvaCgeV18PCQS_FgehpgRyrzragRRRRAF_19__znc_inyhr_pbzcnerVF3_F8_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR:
 nop
@@ -31253,12 +31253,12 @@
 b__MAX16PCQS_PbagragZnex8ZnexQngn18TrgZnexrqPbagragVQRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_BowrpgC18PCQS_PbhagrqBowrpgV12PCQS_CnggreaRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_BowrpgC18PCQS_PbhagrqBowrpgV12PCQS_CnggreaRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_BowrpgC18PCQS_PbhagrqBowrpgV12PCQS_CnggreaRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVCX11PCQS_BowrpgC18PCQS_PbhagrqBowrpgV12PCQS_CnggreaRRRAF_19__znc_inyhr_pbzcnerVF4_F9_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV9PCQS_CFBCAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV9PCQS_CFBCAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV9PCQS_CFBCAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV9PCQS_CFBCAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -31283,12 +31283,12 @@
 b__MA14PCQSFQX_Jvqtrg16PyrneNccZbqvsvrqRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeV20PCQS_PbagragZnexVgrzAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeV20PCQS_PbagragZnexVgrzAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeV20PCQS_PbagragZnexVgrzAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeV20PCQS_PbagragZnexVgrzAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN10_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN10_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN10_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV9PCQS_AnzrWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREN10_XpRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -31298,7 +31298,7 @@
 b__MA11PSKRH_PyrneQ0Ri:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2REXF1_
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2REXF1_
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2REXF1_,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVjRP2REXF1_:
 nop
@@ -31393,7 +31393,7 @@
 b__MA15PCQS_CntrBowrpg6NfCnguRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVwZ24PCQS_FgernzPbagragCnefreSiiRRRAF_19__znc_inyhr_pbzcnerVwF5_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVwZ24PCQS_FgernzPbagragCnefreSiiRRRAF_19__znc_inyhr_pbzcnerVwF5_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVwZ24PCQS_FgernzPbagragCnefreSiiRRRAF_19__znc_inyhr_pbzcnerVwF5_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVwZ24PCQS_FgernzPbagragCnefreSiiRRRAF_19__znc_inyhr_pbzcnerVwF5_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR:
 nop
@@ -31408,7 +31408,7 @@
 b__MA11PSKRH_Pyrne4HaqbRi:
 nop
 .text
-.globl b__MA5skpeg18FgevatCbbyGrzcyngrVAF_10OlgrFgevatRR5PyrneRi
+.weak b__MA5skpeg18FgevatCbbyGrzcyngrVAF_10OlgrFgevatRR5PyrneRi
 .type b__MA5skpeg18FgevatCbbyGrzcyngrVAF_10OlgrFgevatRR5PyrneRi,%function
 b__MA5skpeg18FgevatCbbyGrzcyngrVAF_10OlgrFgevatRR5PyrneRi:
 nop
@@ -31423,7 +31423,7 @@
 b__M14QrsnhygTrgSbagC17_SCQS_FLFSBAGVASBCXp:
 nop
 .text
-.globl b__MAFg3__16irpgbeVC15PCQS_QvpgvbanelAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVC15PCQS_QvpgvbanelAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVC15PCQS_QvpgvbanelAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVC15PCQS_QvpgvbanelAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -31513,7 +31513,7 @@
 b__MA14SCQS_PUNE_VASBQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA5skpeg10JvqrFgevatRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA5skpeg10JvqrFgevatRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVA5skpeg10JvqrFgevatRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA5skpeg10JvqrFgevatRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -31558,7 +31558,7 @@
 b__MA19PCQS_GrkgBowrpgVgrzP1Ri:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR5TrgVQRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR5TrgVQRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR5TrgVQRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR5TrgVQRi:
 nop
@@ -31633,7 +31633,7 @@
 b__MA5skpegyfREAFg3__113onfvp_bfgernzVpAF0_11pune_genvgfVpRRRREXAF_18FgevatIvrjGrzcyngrVpRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA5skpeg9ErgnvaCgeV14PCQS_FgernzNppRRAF_9nyybpngbeVF4_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA5skpeg9ErgnvaCgeV14PCQS_FgernzNppRRAF_9nyybpngbeVF4_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA5skpeg9ErgnvaCgeV14PCQS_FgernzNppRRAF_9nyybpngbeVF4_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA5skpeg9ErgnvaCgeV14PCQS_FgernzNppRRAF_9nyybpngbeVF4_RRR8__nccraqRz:
 nop
@@ -31953,7 +31953,7 @@
 b__MA13PCQS_ObbxznexQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV13PCIG_JbeqVasbAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR6vafregRAF_11__jenc_vgreVCXF5_RRBF5_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV13PCIG_JbeqVasbAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR6vafregRAF_11__jenc_vgreVCXF5_RRBF5_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV13PCIG_JbeqVasbAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR6vafregRAF_11__jenc_vgreVCXF5_RRBF5_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV13PCIG_JbeqVasbAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR6vafregRAF_11__jenc_vgreVCXF5_RRBF5_:
 nop
@@ -31963,12 +31963,12 @@
 b__MA10PCJY_GvzreQ1Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_4cnveVwwRRwRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_4cnveVwwRRwRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_4cnveVwwRRwRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_4cnveVwwRRwRRAF_19__znc_inyhr_pbzcnerVF3_F4_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF2_9ErgnvaCgeV9PCQS_PZncRRRRAF_19__znc_inyhr_pbzcnerVF3_F7_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF2_9ErgnvaCgeV9PCQS_PZncRRRRAF_19__znc_inyhr_pbzcnerVF3_F7_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF2_9ErgnvaCgeV9PCQS_PZncRRRRAF_19__znc_inyhr_pbzcnerVF3_F7_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF2_9ErgnvaCgeV9PCQS_PZncRRRRAF_19__znc_inyhr_pbzcnerVF3_F7_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF3_RRRAFW_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -32023,7 +32023,7 @@
 b__MA13PCJY_PbzobObk15FrgSvyyreAbgvslRC18VCJY_Svyyre_Abgvsl:
 nop
 .text
-.globl b__MAFg3__112__qrdhr_onfrVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR5pyrneRi
+.weak b__MAFg3__112__qrdhr_onfrVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR5pyrneRi
 .type b__MAFg3__112__qrdhr_onfrVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR5pyrneRi,%function
 b__MAFg3__112__qrdhr_onfrVAF_10havdhr_cgeV15PCQS_CntrBowrpgAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR5pyrneRi:
 nop
@@ -32133,7 +32133,7 @@
 b_pzfCvcryvarNyybp:
 nop
 .data
-.globl b__MGFFg12yratgu_reebe
+.weak b__MGFFg12yratgu_reebe
 .type b__MGFFg12yratgu_reebe,%object
 b__MGFFg12yratgu_reebe:
 .space __SIZEOF_POINTER__
@@ -32148,7 +32148,7 @@
 b__MA18PCQS_PelcgbUnaqyre11PelcgSvavfuRCiE13PSK_OvanelOhso:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg9ErgnvaCgeV14PCQS_FgernzNppRRAF_3zncVwwAF_4yrffVwRRAF_9nyybpngbeVAF_4cnveVXwwRRRRRRRRAF_19__znc_inyhr_pbzcnerVF5_FS_AF7_VF5_RRYo1RRRAF9_VFS_RRR7qrfgeblRCAF_11__gerr_abqrVFS_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg9ErgnvaCgeV14PCQS_FgernzNppRRAF_3zncVwwAF_4yrffVwRRAF_9nyybpngbeVAF_4cnveVXwwRRRRRRRRAF_19__znc_inyhr_pbzcnerVF5_FS_AF7_VF5_RRYo1RRRAF9_VFS_RRR7qrfgeblRCAF_11__gerr_abqrVFS_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg9ErgnvaCgeV14PCQS_FgernzNppRRAF_3zncVwwAF_4yrffVwRRAF_9nyybpngbeVAF_4cnveVXwwRRRRRRRRAF_19__znc_inyhr_pbzcnerVF5_FS_AF7_VF5_RRYo1RRRAF9_VFS_RRR7qrfgeblRCAF_11__gerr_abqrVFS_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg9ErgnvaCgeV14PCQS_FgernzNppRRAF_3zncVwwAF_4yrffVwRRAF_9nyybpngbeVAF_4cnveVXwwRRRRRRRRAF_19__znc_inyhr_pbzcnerVF5_FS_AF7_VF5_RRYo1RRRAF9_VFS_RRR7qrfgeblRCAF_11__gerr_abqrVFS_CiRR:
 nop
@@ -32188,7 +32188,7 @@
 b_w2x_qhzc_vzntr_urnqre:
 nop
 .text
-.globl b__MAFg3__16irpgbeVC13PCQSFQX_NaabgAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVC13PCQSFQX_NaabgAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVC13PCQSFQX_NaabgAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVC13PCQSFQX_NaabgAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -32573,7 +32573,7 @@
 b__MA13PSK_SnprPnpur17YbbxHcTylcuOvgzncRCX8PSK_SbagCX10PSK_ZngevkEXA5skpeg10OlgrFgevatRwovv:
 nop
 .text
-.globl b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR7qrfgeblRCAF_11__gerr_abqrVwCiRR
+.weak b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR7qrfgeblRCAF_11__gerr_abqrVwCiRR
 .type b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR7qrfgeblRCAF_11__gerr_abqrVwCiRR,%function
 b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR7qrfgeblRCAF_11__gerr_abqrVwCiRR:
 nop
@@ -32598,7 +32598,7 @@
 b__MA19PSK_NttQrivprQevire18FrgPyvc_CnguFgebxrRCX12PSK_CnguQngnCX10PSK_ZngevkCX18PSK_TencuFgngrQngn:
 nop
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVjR12GevzzrqEvtugRj
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVjR12GevzzrqEvtugRj
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVjR12GevzzrqEvtugRj,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVjR12GevzzrqEvtugRj:
 nop
@@ -32638,7 +32638,7 @@
 b__M23PSKSybngErpgSebzSFERPGSEX10_SF_ERPGS_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV13WOvt2CntrVasbAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV13WOvt2CntrVasbAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV13WOvt2CntrVasbAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV13WOvt2CntrVasbAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -32778,7 +32778,7 @@
 b__MA16PCQS_QbpCntrQngn15TrgFgnaqneqSbagREXA5skpeg10OlgrFgevatRC17PCQS_SbagRapbqvat:
 nop
 .text
-.globl b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR21__chfu_onpx_fybj_cnguVyRRiBG_
+.weak b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR21__chfu_onpx_fybj_cnguVyRRiBG_
 .type b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR21__chfu_onpx_fybj_cnguVyRRiBG_,%function
 b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR21__chfu_onpx_fybj_cnguVyRRiBG_:
 nop
@@ -32798,7 +32798,7 @@
 b__MA14PCQS_NyyFgngrf12CebprffRkgTFRC15PCQS_QvpgvbanelC24PCQS_FgernzPbagragCnefre:
 nop
 .text
-.globl b__MAFg3__16irpgbeV15SKGRKG_TYLCUCBFAF_9nyybpngbeVF1_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeV15SKGRKG_TYLCUCBFAF_9nyybpngbeVF1_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeV15SKGRKG_TYLCUCBFAF_9nyybpngbeVF1_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeV15SKGRKG_TYLCUCBFAF_9nyybpngbeVF1_RRR8__nccraqRz:
 nop
@@ -32903,7 +32903,7 @@
 b_pzfPerngrYno2Cebsvyr:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV13PCQS_QbphzragWAFg3__110havdhr_cgeV11PCQS_CnefreAF2_14qrsnhyg_qryrgrVF4_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV13PCQS_QbphzragWAFg3__110havdhr_cgeV11PCQS_CnefreAF2_14qrsnhyg_qryrgrVF4_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV13PCQS_QbphzragWAFg3__110havdhr_cgeV11PCQS_CnefreAF2_14qrsnhyg_qryrgrVF4_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV13PCQS_QbphzragWAFg3__110havdhr_cgeV11PCQS_CnefreAF2_14qrsnhyg_qryrgrVF4_RRRRRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -32923,7 +32923,7 @@
 b__MAX5skpeg10OlgrFgevat4SvaqREXAF_18FgevatIvrjGrzcyngrVpRRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_:
 nop
@@ -32988,7 +32988,7 @@
 b__MA27PPbqrp_SyngrFpnayvarQrpbqreQ1Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVCXuAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVCXuAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVCXuAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVCXuAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
@@ -32998,7 +32998,7 @@
 b__MA14PCQS_QngnNinvy21CnefrVaqverpgBowrpgNgRywC25PCQS_VaqverpgBowrpgUbyqre:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_6irpgbeVC15PCQS_QvpgvbanelAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVwF8_AF_4yrffVwRRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_6irpgbeVC15PCQS_QvpgvbanelAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVwF8_AF_4yrffVwRRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_6irpgbeVC15PCQS_QvpgvbanelAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVwF8_AF_4yrffVwRRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVwAF_6irpgbeVC15PCQS_QvpgvbanelAF_9nyybpngbeVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVwF8_AF_4yrffVwRRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR:
 nop
@@ -33018,17 +33018,17 @@
 b__MGI20PCQS_QVOGenafsreShap:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PGGSbagQrfpAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PGGSbagQrfpAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PGGSbagQrfpAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA5skpeg10OlgrFgevatRAF_10havdhr_cgeV11PGGSbagQrfpAF_14qrsnhyg_qryrgrVF5_RRRRRRAF_19__znc_inyhr_pbzcnerVF3_F9_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF9_RRR7qrfgeblRCAF_11__gerr_abqrVF9_CiRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_9nyybpngbeVF5_RRR24__rzcynpr_onpx_fybj_cnguVWECF3_RRRiQcBG_
+.weak b__MAFg3__16irpgbeVA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_9nyybpngbeVF5_RRR24__rzcynpr_onpx_fybj_cnguVWECF3_RRRiQcBG_
 .type b__MAFg3__16irpgbeVA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_9nyybpngbeVF5_RRR24__rzcynpr_onpx_fybj_cnguVWECF3_RRRiQcBG_,%function
 b__MAFg3__16irpgbeVA5skpeg10BofreinoyrV13PCQSFQX_NaabgR11BofreirqCgeRAF_9nyybpngbeVF5_RRR24__rzcynpr_onpx_fybj_cnguVWECF3_RRRiQcBG_:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREF5_oRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREF5_oRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREF5_oRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREF5_oRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -33083,7 +33083,7 @@
 b__MA14PCQS_ErsreraprP1RC25PCQS_VaqverpgBowrpgUbyqrew:
 nop
 .text
-.globl b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREF5_EoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
+.weak b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREF5_EoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_
 .type b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREF5_EoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_,%function
 b__MA6cqsvhz10ZnxrHavdhrV11PCQS_FgevatWEA5skpeg7JrnxCgeVAF2_18FgevatCbbyGrzcyngrVAF2_10OlgrFgevatRRRAFg3__114qrsnhyg_qryrgrVF6_RRRREF5_EoRRRAF_8vagreany16ZnxrHavdhrErfhygVG_R6FpnyneRQcBG0_:
 nop
@@ -33098,7 +33098,7 @@
 b__MA12PCYFG_Fryrpg4QbarRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVCA5skpeg10BofreinoyrV27PCQSFQX_SbezSvyyRaivebazragR11BofreirqCgeRAF_4yrffVF6_RRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVCA5skpeg10BofreinoyrV27PCQSFQX_SbezSvyyRaivebazragR11BofreirqCgeRAF_4yrffVF6_RRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVCA5skpeg10BofreinoyrV27PCQSFQX_SbezSvyyRaivebazragR11BofreirqCgeRAF_4yrffVF6_RRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVCA5skpeg10BofreinoyrV27PCQSFQX_SbezSvyyRaivebazragR11BofreirqCgeRAF_4yrffVF6_RRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
@@ -33118,7 +33118,7 @@
 b__MA15PCQS_GrkgBowrpgP2Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11PCQS_FgernzC20PCQS_VzntrPnpurRagelRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11PCQS_FgernzC20PCQS_VzntrPnpurRagelRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11PCQS_FgernzC20PCQS_VzntrPnpurRagelRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVC11PCQS_FgernzC20PCQS_VzntrPnpurRagelRRAF_19__znc_inyhr_pbzcnerVF3_F6_AF_4yrffVF3_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
@@ -33328,7 +33328,7 @@
 b__MAX9PCQS_Anzr7JevgrGbRC17VSK_NepuvirFgernz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR6vafregRAF_11__jenc_vgreVCXyRRBy
+.weak b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR6vafregRAF_11__jenc_vgreVCXyRRBy
 .type b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR6vafregRAF_11__jenc_vgreVCXyRRBy,%function
 b__MAFg3__16irpgbeVyAF_9nyybpngbeVyRRR6vafregRAF_11__jenc_vgreVCXyRRBy:
 nop
@@ -33338,7 +33338,7 @@
 b__MGI16PSKRH_VafregGrkg:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX5skpeg18FgevatIvrjGrzcyngrVpR5SvefgRi
+.weak b__MAX5skpeg18FgevatIvrjGrzcyngrVpR5SvefgRi
 .type b__MAX5skpeg18FgevatIvrjGrzcyngrVpR5SvefgRi,%function
 b__MAX5skpeg18FgevatIvrjGrzcyngrVpR5SvefgRi:
 nop
@@ -33473,7 +33473,7 @@
 b__MAX13PCJY_RqvgVzcy12TrgEnatrGrkgREX14PCIG_JbeqEnatr:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeVA13PCJY_YvfgPgey4VgrzRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeVA13PCJY_YvfgPgey4VgrzRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeVA13PCJY_YvfgPgey4VgrzRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeVA13PCJY_YvfgPgey4VgrzRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_:
 nop
@@ -33553,7 +33553,7 @@
 b__MA13PSK_SybngErpgP2REX7SK_ERPG:
 nop
 .text
-.globl b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1REXF1_
+.weak b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1REXF1_
 .type b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1REXF1_,%function
 b__MA5skpeg18FgevatIvrjGrzcyngrVjRP1REXF1_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_088.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_088.S
index 8311e94..0dd8d59 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_088.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_088.S
@@ -33,7 +33,7 @@
 b__MA7naqebvq9vzt_hgvyf12RaqvnaBhgchg5jevgrRCXvzz:
 nop
 .text
-.globl b__MA7naqebvq9vzt_hgvyf10GvssJevgre19hapurpxrqOhvyqRagelVwRRAF_2fcVAF0_9GvssRagelRRRgAF0_7GntGlcrRwAF0_10RaqvnaarffRCXG_
+.weak b__MA7naqebvq9vzt_hgvyf10GvssJevgre19hapurpxrqOhvyqRagelVwRRAF_2fcVAF0_9GvssRagelRRRgAF0_7GntGlcrRwAF0_10RaqvnaarffRCXG_
 .type b__MA7naqebvq9vzt_hgvyf10GvssJevgre19hapurpxrqOhvyqRagelVwRRAF_2fcVAF0_9GvssRagelRRRgAF0_7GntGlcrRwAF0_10RaqvnaarffRCXG_,%function
 b__MA7naqebvq9vzt_hgvyf10GvssJevgre19hapurpxrqOhvyqRagelVwRRAF_2fcVAF0_9GvssRagelRRRgAF0_7GntGlcrRwAF0_10RaqvnaarffRCXG_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_090.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_090.S
index 26e4e1a..b19c79e 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_090.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_090.S
@@ -28,7 +28,7 @@
 b__MGPA7naqebvq14OaFbhaqGevttreR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq20OcFbhaqGevttrePyvragR
+.weak b__MGGA7naqebvq20OcFbhaqGevttrePyvragR
 .type b__MGGA7naqebvq20OcFbhaqGevttrePyvragR,%object
 b__MGGA7naqebvq20OcFbhaqGevttrePyvragR:
 .space __SIZEOF_POINTER__
@@ -83,7 +83,7 @@
 b__MGPA7naqebvq12FbhaqGevttreR0_AF_19VFbhaqGevttrePyvragR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq14OcFbhaqGevttreR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq14OcFbhaqGevttreR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq14OcFbhaqGevttreR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq14OcFbhaqGevttreR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -93,7 +93,7 @@
 b__MGGA7naqebvq14OaFbhaqGevttreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq20OcFbhaqGevttrePyvragR
+.weak b__MGIA7naqebvq20OcFbhaqGevttrePyvragR
 .type b__MGIA7naqebvq20OcFbhaqGevttrePyvragR,%object
 b__MGIA7naqebvq20OcFbhaqGevttrePyvragR:
 .space __SIZEOF_POINTER__
@@ -103,7 +103,7 @@
 b__MA7naqebvq22VFbhaqGevttreUjFreivpr10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq23OcFbhaqGevttreUjFreivprR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq23OcFbhaqGevttreUjFreivprR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq23OcFbhaqGevttreUjFreivprR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq23OcFbhaqGevttreUjFreivprR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -128,7 +128,7 @@
 b__MA7naqebvq12FbhaqGevttre11yvfgZbqhyrfREXAF_8Fgevat16RC31fbhaq_gevttre_zbqhyr_qrfpevcgbeCw:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_13VFbhaqGevttreRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_13VFbhaqGevttreRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_13VFbhaqGevttreRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_13VFbhaqGevttreRR10baNfOvaqreRi:
 nop
@@ -138,7 +138,7 @@
 b__MA7naqebvq13VFbhaqGevttre14trgQrsnhygVzcyRi:
 nop
 .data
-.globl b__MGGA7naqebvq14OcFbhaqGevttreR
+.weak b__MGGA7naqebvq14OcFbhaqGevttreR
 .type b__MGGA7naqebvq14OcFbhaqGevttreR,%object
 b__MGGA7naqebvq14OcFbhaqGevttreR:
 .space __SIZEOF_POINTER__
@@ -168,7 +168,7 @@
 b__MA7naqebvq12FbhaqGevttre12thvqGbFgevatRCX12nhqvb_hhvq_fCpz:
 nop
 .data
-.globl b__MGIA7naqebvq14OcFbhaqGevttreR
+.weak b__MGIA7naqebvq14OcFbhaqGevttreR
 .type b__MGIA7naqebvq14OcFbhaqGevttreR,%object
 b__MGIA7naqebvq14OcFbhaqGevttreR:
 .space __SIZEOF_POINTER__
@@ -208,12 +208,12 @@
 b__MGPA7naqebvq22VFbhaqGevttreUjFreivprR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_19VFbhaqGevttrePyvragRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_19VFbhaqGevttrePyvragRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_19VFbhaqGevttrePyvragRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_19VFbhaqGevttrePyvragRR10baNfOvaqreRi:
 nop
 .data
-.globl b__MGPA7naqebvq14OcFbhaqGevttreR0_AF_11OcVagresnprVAF_13VFbhaqGevttreRRR
+.weak b__MGPA7naqebvq14OcFbhaqGevttreR0_AF_11OcVagresnprVAF_13VFbhaqGevttreRRR
 .type b__MGPA7naqebvq14OcFbhaqGevttreR0_AF_11OcVagresnprVAF_13VFbhaqGevttreRRR,%object
 b__MGPA7naqebvq14OcFbhaqGevttreR0_AF_11OcVagresnprVAF_13VFbhaqGevttreRRR:
 .space __SIZEOF_POINTER__
@@ -228,7 +228,7 @@
 b__MA7naqebvq19VFbhaqGevttrePyvrag14trgQrsnhygVzcyRi:
 nop
 .data
-.globl b__MGPA7naqebvq23OcFbhaqGevttreUjFreivprR0_AF_11OcVagresnprVAF_22VFbhaqGevttreUjFreivprRRR
+.weak b__MGPA7naqebvq23OcFbhaqGevttreUjFreivprR0_AF_11OcVagresnprVAF_22VFbhaqGevttreUjFreivprRRR
 .type b__MGPA7naqebvq23OcFbhaqGevttreUjFreivprR0_AF_11OcVagresnprVAF_22VFbhaqGevttreUjFreivprRRR,%object
 b__MGPA7naqebvq23OcFbhaqGevttreUjFreivprR0_AF_11OcVagresnprVAF_22VFbhaqGevttreUjFreivprRRR:
 .space __SIZEOF_POINTER__
@@ -253,7 +253,7 @@
 b__MGPA7naqebvq12FbhaqGevttreR32_AF_7VOvaqre14QrnguErpvcvragR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq20OcFbhaqGevttrePyvragR0_AF_11OcVagresnprVAF_19VFbhaqGevttrePyvragRRR
+.weak b__MGPA7naqebvq20OcFbhaqGevttrePyvragR0_AF_11OcVagresnprVAF_19VFbhaqGevttrePyvragRRR
 .type b__MGPA7naqebvq20OcFbhaqGevttrePyvragR0_AF_11OcVagresnprVAF_19VFbhaqGevttrePyvragRRR,%object
 b__MGPA7naqebvq20OcFbhaqGevttrePyvragR0_AF_11OcVagresnprVAF_19VFbhaqGevttrePyvragRRR:
 .space __SIZEOF_POINTER__
@@ -328,7 +328,7 @@
 b__MA7naqebvq14OaFbhaqGevttre10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .data
-.globl b__MGPA7naqebvq20OcFbhaqGevttrePyvragR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq20OcFbhaqGevttrePyvragR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq20OcFbhaqGevttrePyvragR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq20OcFbhaqGevttrePyvragR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -388,7 +388,7 @@
 b__MA7naqebvq12FbhaqGevttre24trgFbhaqGevttreUjFreivprRi:
 nop
 .data
-.globl b__MGPA7naqebvq14OcFbhaqGevttreR0_AF_13VFbhaqGevttreR
+.weak b__MGPA7naqebvq14OcFbhaqGevttreR0_AF_13VFbhaqGevttreR
 .type b__MGPA7naqebvq14OcFbhaqGevttreR0_AF_13VFbhaqGevttreR,%object
 b__MGPA7naqebvq14OcFbhaqGevttreR0_AF_13VFbhaqGevttreR:
 .space __SIZEOF_POINTER__
@@ -398,7 +398,7 @@
 b__MGPA7naqebvq23OaFbhaqGevttreUjFreivprR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq23OcFbhaqGevttreUjFreivprR0_AF_22VFbhaqGevttreUjFreivprR
+.weak b__MGPA7naqebvq23OcFbhaqGevttreUjFreivprR0_AF_22VFbhaqGevttreUjFreivprR
 .type b__MGPA7naqebvq23OcFbhaqGevttreUjFreivprR0_AF_22VFbhaqGevttreUjFreivprR,%object
 b__MGPA7naqebvq23OcFbhaqGevttreUjFreivprR0_AF_22VFbhaqGevttreUjFreivprR:
 .space __SIZEOF_POINTER__
@@ -418,17 +418,17 @@
 b__MA7naqebvq13VFbhaqGevttre10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq14OcFbhaqGevttreR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq14OcFbhaqGevttreR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq14OcFbhaqGevttreR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq14OcFbhaqGevttreR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq20OcFbhaqGevttrePyvragR0_AF_19VFbhaqGevttrePyvragR
+.weak b__MGPA7naqebvq20OcFbhaqGevttrePyvragR0_AF_19VFbhaqGevttrePyvragR
 .type b__MGPA7naqebvq20OcFbhaqGevttrePyvragR0_AF_19VFbhaqGevttrePyvragR,%object
 b__MGPA7naqebvq20OcFbhaqGevttrePyvragR0_AF_19VFbhaqGevttrePyvragR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq23OcFbhaqGevttreUjFreivprR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq23OcFbhaqGevttreUjFreivprR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq23OcFbhaqGevttreUjFreivprR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq23OcFbhaqGevttreUjFreivprR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -463,7 +463,7 @@
 b__MGua8_A7naqebvq12FbhaqGevttreQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_22VFbhaqGevttreUjFreivprRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_22VFbhaqGevttreUjFreivprRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_22VFbhaqGevttreUjFreivprRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_22VFbhaqGevttreUjFreivprRR10baNfOvaqreRi:
 nop
@@ -473,7 +473,7 @@
 b__MA7naqebvq22VFbhaqGevttreUjFreivpr14trgQrsnhygVzcyRi:
 nop
 .data
-.globl b__MGGA7naqebvq23OcFbhaqGevttreUjFreivprR
+.weak b__MGGA7naqebvq23OcFbhaqGevttreUjFreivprR
 .type b__MGGA7naqebvq23OcFbhaqGevttreUjFreivprR,%object
 b__MGGA7naqebvq23OcFbhaqGevttreUjFreivprR:
 .space __SIZEOF_POINTER__
@@ -498,7 +498,7 @@
 b__MA7naqebvq13VFbhaqGevttre14frgQrsnhygVzcyRAFg3__110havdhr_cgeVF0_AF1_14qrsnhyg_qryrgrVF0_RRRR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_22VFbhaqGevttreUjFreivprRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_22VFbhaqGevttreUjFreivprRRQ2Ri
 .type b__MA7naqebvq2fcVAF_22VFbhaqGevttreUjFreivprRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_22VFbhaqGevttreUjFreivprRRQ2Ri:
 nop
@@ -508,7 +508,7 @@
 b__MGPA7naqebvq20OaFbhaqGevttrePyvragR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq23OcFbhaqGevttreUjFreivprR
+.weak b__MGIA7naqebvq23OcFbhaqGevttreUjFreivprR
 .type b__MGIA7naqebvq23OcFbhaqGevttreUjFreivprR,%object
 b__MGIA7naqebvq23OcFbhaqGevttreUjFreivprR:
 .space __SIZEOF_POINTER__
@@ -643,7 +643,7 @@
 b__MA7naqebvq13VFbhaqGevttreQ2Ri:
 nop
 .data
-.globl b__MGPA7naqebvq20OcFbhaqGevttrePyvragR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq20OcFbhaqGevttrePyvragR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq20OcFbhaqGevttrePyvragR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq20OcFbhaqGevttrePyvragR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_091.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_091.S
index 30107ba..dca915a 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_091.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_091.S
@@ -3,7 +3,7 @@
 .data
 .p2align 4
 .text
-.globl b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR6erunfuRz:
 nop
@@ -23,12 +23,12 @@
 b__MAX7zvavxva14SbagPbyyrpgvba7vgrzvmrRAF_14H16FgevatCvrprRAF_9SbagFglyrRwAF_13SnzvylInevnagRw:
 nop
 .text
-.globl b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRRQ0Ri
+.weak b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRRQ0Ri
 .type b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRRQ0Ri,%function
 b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRRQ0Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12ZvavxvaCnvagRwRRAF_22__habeqrerq_znc_unfureVF3_F4_AF2_12YnlbhgCvrprf11CnvagUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF3_F4_AF_8rdhny_gbVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WAF_4cnveVF3_wRRRRRAFU_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12ZvavxvaCnvagRwRRAF_22__habeqrerq_znc_unfureVF3_F4_AF2_12YnlbhgCvrprf11CnvagUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF3_F4_AF_8rdhny_gbVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WAF_4cnveVF3_wRRRRRAFU_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12ZvavxvaCnvagRwRRAF_22__habeqrerq_znc_unfureVF3_F4_AF2_12YnlbhgCvrprf11CnvagUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF3_F4_AF_8rdhny_gbVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WAF_4cnveVF3_wRRRRRAFU_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12ZvavxvaCnvagRwRRAF_22__habeqrerq_znc_unfureVF3_F4_AF2_12YnlbhgCvrprf11CnvagUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF3_F4_AF_8rdhny_gbVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVF3_WAF_4cnveVF3_wRRRRRAFU_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_:
 nop
@@ -48,22 +48,22 @@
 b__MA7zvavxva17rzbwvOvqvBireevqrRCXiv:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCXA7zvavxva4SbagRwRRAF_22__habeqrerq_znc_unfureVF5_F6_AF_4unfuVF5_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F6_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF5_WAF_4cnveVF5_uRRRRRAFW_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCXA7zvavxva4SbagRwRRAF_22__habeqrerq_znc_unfureVF5_F6_AF_4unfuVF5_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F6_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF5_WAF_4cnveVF5_uRRRRRAFW_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCXA7zvavxva4SbagRwRRAF_22__habeqrerq_znc_unfureVF5_F6_AF_4unfuVF5_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F6_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF5_WAF_4cnveVF5_uRRRRRAFW_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCXA7zvavxva4SbagRwRRAF_22__habeqrerq_znc_unfureVF5_F6_AF_4unfuVF5_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F6_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF5_WAF_4cnveVF5_uRRRRRAFW_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7zvavxva10SbagSnzvylRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7zvavxva10SbagSnzvylRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7zvavxva10SbagSnzvylRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7zvavxva10SbagSnzvylRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeV14uo_inevngvba_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeV14uo_inevngvba_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeV14uo_inevngvba_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeV14uo_inevngvba_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz:
 nop
@@ -88,12 +88,12 @@
 b__MA7zvavxva15YbpnyrYvfgPnpur12xRzcglYvfgVqR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR21__rzcynpr_havdhr_vzcyVWAF_4cnveVCXpwRRRRRAFX_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRRQcBG_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR21__rzcynpr_havdhr_vzcyVWAF_4cnveVCXpwRRRRRAFX_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRRQcBG_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR21__rzcynpr_havdhr_vzcyVWAF_4cnveVCXpwRRRRRAFX_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRRQcBG_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR21__rzcynpr_havdhr_vzcyVWAF_4cnveVCXpwRRRRRAFX_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRRQcBG_:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_cbvagreVCA7zvavxva10SbagSnzvylRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
+.weak b__MGIAFg3__120__funerq_cge_cbvagreVCA7zvavxva10SbagSnzvylRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
 .type b__MGIAFg3__120__funerq_cge_cbvagreVCA7zvavxva10SbagSnzvylRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR,%object
 b__MGIAFg3__120__funerq_cge_cbvagreVCA7zvavxva10SbagSnzvylRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR:
 .space __SIZEOF_POINTER__
@@ -128,22 +128,22 @@
 b__MA7zvavxva16oernxYvarBcgvznyREXAF_14H16FgevatCvrprREXAF_12ZrnfherqGrkgREXAF_9YvarJvqguRAF_13OernxFgengrtlRAF_20UlcurangvbaSerdhraplRo:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR8__erunfuRz:
 nop
 .text
-.globl b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR6erzbirREXF2_
+.weak b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR6erzbirREXF2_
 .type b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR6erzbirREXF2_,%function
 b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR6erzbirREXF2_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva11YnlbhgTylcuRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF1_9SnxrqSbagRwsEXsRRRiQcBG_
+.weak b__MAFg3__16irpgbeVA7zvavxva11YnlbhgTylcuRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF1_9SnxrqSbagRwsEXsRRRiQcBG_
 .type b__MAFg3__16irpgbeVA7zvavxva11YnlbhgTylcuRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF1_9SnxrqSbagRwsEXsRRRiQcBG_,%function
 b__MAFg3__16irpgbeVA7zvavxva11YnlbhgTylcuRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEXAF1_9SnxrqSbagRwsEXsRRRiQcBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7zvavxva12FcnefrOvgFrgRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7zvavxva12FcnefrOvgFrgRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7zvavxva12FcnefrOvgFrgRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7zvavxva12FcnefrOvgFrgRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR8__nccraqRz:
 nop
@@ -158,12 +158,12 @@
 b__MA7zvavxva6Ybpnyr17erfbyirRzbwvFglyrRCXpz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva11UlcuraOernxRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEwEXAF1_15UlcurangvbaGlcrREXsFP_RRRiQcBG_
+.weak b__MAFg3__16irpgbeVA7zvavxva11UlcuraOernxRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEwEXAF1_15UlcurangvbaGlcrREXsFP_RRRiQcBG_
 .type b__MAFg3__16irpgbeVA7zvavxva11UlcuraOernxRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEwEXAF1_15UlcurangvbaGlcrREXsFP_RRRiQcBG_,%function
 b__MAFg3__16irpgbeVA7zvavxva11UlcuraOernxRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEwEXAF1_15UlcurangvbaGlcrREXsFP_RRRiQcBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva9SnxrqSbagRAF_9nyybpngbeVF2_RRRP2REXF5_
+.weak b__MAFg3__16irpgbeVA7zvavxva9SnxrqSbagRAF_9nyybpngbeVF2_RRRP2REXF5_
 .type b__MAFg3__16irpgbeVA7zvavxva9SnxrqSbagRAF_9nyybpngbeVF2_RRRP2REXF5_,%function
 b__MAFg3__16irpgbeVA7zvavxva9SnxrqSbagRAF_9nyybpngbeVF2_RRRP2REXF5_:
 nop
@@ -178,7 +178,7 @@
 b__MA7zvavxva10SbagSnzvylP2RAF_13SnzvylInevnagRBAFg3__16irpgbeVAF_4SbagRAF2_9nyybpngbeVF4_RRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva9SnxrqSbagRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7zvavxva9SnxrqSbagRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7zvavxva9SnxrqSbagRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7zvavxva9SnxrqSbagRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -213,12 +213,12 @@
 b__MA7zvavxva10UlcurangbeP2RCXuzzAF0_17UlcurangvbaYbpnyrR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF9_WF9_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF9_WF9_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF9_WF9_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR25__rzcynpr_havdhr_xrl_netfVF9_WF9_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR8__nccraqRzEXs
+.weak b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR8__nccraqRzEXs
 .type b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR8__nccraqRzEXs,%function
 b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR8__nccraqRzEXs:
 nop
@@ -243,7 +243,7 @@
 b__MA7zvavxva10YbpnyrYvfgP2RBAFg3__16irpgbeVAF_6YbpnyrRAF1_9nyybpngbeVF3_RRRR:
 nop
 .text
-.globl b__MAXFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12YnlbhgCvrprf3XrlRAF2_11YnlbhgCvrprRRRAF_22__habeqrerq_znc_unfureVF4_F6_AF3_9XrlUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_F6_AF_8rdhny_gbVF4_RRYo1RRRAF_9nyybpngbeVF6_RRR4svaqVF4_RRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRREXG_
+.weak b__MAXFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12YnlbhgCvrprf3XrlRAF2_11YnlbhgCvrprRRRAF_22__habeqrerq_znc_unfureVF4_F6_AF3_9XrlUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_F6_AF_8rdhny_gbVF4_RRYo1RRRAF_9nyybpngbeVF6_RRR4svaqVF4_RRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRREXG_
 .type b__MAXFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12YnlbhgCvrprf3XrlRAF2_11YnlbhgCvrprRRRAF_22__habeqrerq_znc_unfureVF4_F6_AF3_9XrlUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_F6_AF_8rdhny_gbVF4_RRYo1RRRAF_9nyybpngbeVF6_RRR4svaqVF4_RRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRREXG_,%function
 b__MAXFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12YnlbhgCvrprf3XrlRAF2_11YnlbhgCvrprRRRAF_22__habeqrerq_znc_unfureVF4_F6_AF3_9XrlUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_F6_AF_8rdhny_gbVF4_RRYo1RRRAF_9nyybpngbeVF6_RRR4svaqVF4_RRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRREXG_:
 nop
@@ -268,17 +268,17 @@
 b__MA7zvavxva18nqqUlcurangbeNyvnfREXAFg3__112onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRRF8_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva11YnlbhgTylcuRAF_9nyybpngbeVF2_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVA7zvavxva11YnlbhgTylcuRAF_9nyybpngbeVF2_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVA7zvavxva11YnlbhgTylcuRAF_9nyybpngbeVF2_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVA7zvavxva11YnlbhgTylcuRAF_9nyybpngbeVF2_RRR7erfreirRz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR7erfreirRz
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR7erfreirRz
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR7erfreirRz,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR7erfreirRz:
 nop
@@ -328,22 +328,22 @@
 b__MAX7zvavxva10Ulcurangbe9ulcurangrREXAF_14H16FgevatCvrprRCAF_15UlcurangvbaGlcrR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCX18uo_ynathntr_vzcy_gAF_9nyybpngbeVF3_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVCX18uo_ynathntr_vzcy_gAF_9nyybpngbeVF3_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVCX18uo_ynathntr_vzcy_gAF_9nyybpngbeVF3_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVCX18uo_ynathntr_vzcy_gAF_9nyybpngbeVF3_RRR7erfreirRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva6YbpnyrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7zvavxva6YbpnyrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7zvavxva6YbpnyrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7zvavxva6YbpnyrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeVA7zvavxva14SbagPbyyrpgvbaRRRRRAF_19__znc_inyhr_pbzcnerVF7_FP_AF_4yrffVF7_RRYo1RRRAF5_VFP_RRR7qrfgeblRCAF_11__gerr_abqrVFP_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeVA7zvavxva14SbagPbyyrpgvbaRRRRRAF_19__znc_inyhr_pbzcnerVF7_FP_AF_4yrffVF7_RRYo1RRRAF5_VFP_RRR7qrfgeblRCAF_11__gerr_abqrVFP_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeVA7zvavxva14SbagPbyyrpgvbaRRRRRAF_19__znc_inyhr_pbzcnerVF7_FP_AF_4yrffVF7_RRYo1RRRAF5_VFP_RRR7qrfgeblRCAF_11__gerr_abqrVFP_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeVA7zvavxva14SbagPbyyrpgvbaRRRRRAF_19__znc_inyhr_pbzcnerVF7_FP_AF_4yrffVF7_RRYo1RRRAF5_VFP_RRR7qrfgeblRCAF_11__gerr_abqrVFP_CiRR:
 nop
@@ -353,17 +353,17 @@
 b__MAX7zvavxva13UlcurangbeZnc18ybbxhcOlVqragvsvreRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeV12uo_srngher_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
+.weak b__MAFg3__16irpgbeV12uo_srngher_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
 .type b__MAFg3__16irpgbeV12uo_srngher_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_,%function
 b__MAFg3__16irpgbeV12uo_srngher_gAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVsRRiBG_
+.weak b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVsRRiBG_
 .type b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVsRRiBG_,%function
 b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVsRRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva5CbvagRAF_9nyybpngbeVF2_RRR13fuevax_gb_svgRi
+.weak b__MAFg3__16irpgbeVA7zvavxva5CbvagRAF_9nyybpngbeVF2_RRR13fuevax_gb_svgRi
 .type b__MAFg3__16irpgbeVA7zvavxva5CbvagRAF_9nyybpngbeVF2_RRR13fuevax_gb_svgRi,%function
 b__MAFg3__16irpgbeVA7zvavxva5CbvagRAF_9nyybpngbeVF2_RRR13fuevax_gb_svgRi:
 nop
@@ -383,12 +383,12 @@
 b__MA7zvavxva28gnvyberqTencurzrPyhfgreOernxRw:
 nop
 .text
-.globl b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVEXsRRiBG_
+.weak b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVEXsRRiBG_
 .type b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVEXsRRiBG_,%function
 b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR21__chfu_onpx_fybj_cnguVEXsRRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRRP2REXF3_
+.weak b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRRP2REXF3_
 .type b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRRP2REXF3_,%function
 b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRRP2REXF3_:
 nop
@@ -428,7 +428,7 @@
 b__MAX7zvavxva14SbagPbyyrpgvba20unfInevngvbaFryrpgbeRww:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR21__chfu_onpx_fybj_cnguVuRRiBG_
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR21__chfu_onpx_fybj_cnguVuRRiBG_
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR21__chfu_onpx_fybj_cnguVuRRiBG_,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR21__chfu_onpx_fybj_cnguVuRRiBG_:
 nop
@@ -438,7 +438,7 @@
 b__MAX7zvavxva6Ybpnyr16fhccbegfUoFpevcgR11uo_fpevcg_g:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF7_WAF_4cnveVF7_wRRRRRAFX_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF7_WAF_4cnveVF7_wRRRRRAFX_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF7_WAF_4cnveVF7_wRRRRRAFX_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF7_WAF_4cnveVF7_wRRRRRAFX_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_:
 nop
@@ -458,12 +458,12 @@
 b__MA7zvavxva10SbagSnzvylP2RwAF_13SnzvylInevnagRBAFg3__16irpgbeVAF_4SbagRAF2_9nyybpngbeVF4_RRRRo:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRR:
 nop
 .data
-.globl b__MGIA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR5RagelR
+.weak b__MGIA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR5RagelR
 .type b__MGIA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR5RagelR,%object
 b__MGIA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR5RagelR:
 .space __SIZEOF_POINTER__
@@ -483,17 +483,17 @@
 b__MAX7zvavxva6Ybpnyr16trgCnegvnyYbpnyrRAF_10FhogntOvgfR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV9uo_sbag_gA7zvavxva13UoSbagQryrgreRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV9uo_sbag_gA7zvavxva13UoSbagQryrgreRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV9uo_sbag_gA7zvavxva13UoSbagQryrgreRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV9uo_sbag_gA7zvavxva13UoSbagQryrgreRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva15UlcurangvbaGlcrRAF_9nyybpngbeVF2_RRR6vafregRAF_11__jenc_vgreVCXF2_RRzEF7_
+.weak b__MAFg3__16irpgbeVA7zvavxva15UlcurangvbaGlcrRAF_9nyybpngbeVF2_RRR6vafregRAF_11__jenc_vgreVCXF2_RRzEF7_
 .type b__MAFg3__16irpgbeVA7zvavxva15UlcurangvbaGlcrRAF_9nyybpngbeVF2_RRR6vafregRAF_11__jenc_vgreVCXF2_RRzEF7_,%function
 b__MAFg3__16irpgbeVA7zvavxva15UlcurangvbaGlcrRAF_9nyybpngbeVF2_RRR6vafregRAF_11__jenc_vgreVCXF2_RRzEF7_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12YnlbhgCvrprf3XrlRAF2_11YnlbhgCvrprRRRAF_22__habeqrerq_znc_unfureVF4_F6_AF3_9XrlUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_F6_AF_8rdhny_gbVF4_RRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12YnlbhgCvrprf3XrlRAF2_11YnlbhgCvrprRRRAF_22__habeqrerq_znc_unfureVF4_F6_AF3_9XrlUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_F6_AF_8rdhny_gbVF4_RRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12YnlbhgCvrprf3XrlRAF2_11YnlbhgCvrprRRRAF_22__habeqrerq_znc_unfureVF4_F6_AF3_9XrlUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_F6_AF_8rdhny_gbVF4_RRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12YnlbhgCvrprf3XrlRAF2_11YnlbhgCvrprRRRAF_22__habeqrerq_znc_unfureVF4_F6_AF3_9XrlUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_F6_AF_8rdhny_gbVF4_RRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz:
 nop
@@ -503,7 +503,7 @@
 b__MA7zvavxva10SbagSnzvyl15pbzchgrPbirentrRi:
 nop
 .data
-.globl b__MGIA7zvavxva11YnlbhgPnpurR
+.weak b__MGIA7zvavxva11YnlbhgPnpurR
 .type b__MGIA7zvavxva11YnlbhgPnpurR,%object
 b__MGIA7zvavxva11YnlbhgPnpurR:
 .space __SIZEOF_POINTER__
@@ -523,7 +523,7 @@
 b__MA7zvavxva14SbagPbyyrpgvbaP2RBAFg3__110funerq_cgeVAF_10SbagSnzvylRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva5CbvagRAF_9nyybpngbeVF2_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVA7zvavxva5CbvagRAF_9nyybpngbeVF2_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVA7zvavxva5CbvagRAF_9nyybpngbeVF2_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVA7zvavxva5CbvagRAF_9nyybpngbeVF2_RRR7erfreirRz:
 nop
@@ -533,12 +533,12 @@
 b__MA7zvavxva8OvqvGrkgP1REXAF_14H16FgevatCvrprREXAF_5EnatrRAF_4OvqvR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_cbvagreVCA7zvavxva14SbagPbyyrpgvbaRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
+.weak b__MGIAFg3__120__funerq_cge_cbvagreVCA7zvavxva14SbagPbyyrpgvbaRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
 .type b__MGIAFg3__120__funerq_cge_cbvagreVCA7zvavxva14SbagPbyyrpgvbaRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR,%object
 b__MGIAFg3__120__funerq_cge_cbvagreVCA7zvavxva14SbagPbyyrpgvbaRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR:
 .space __SIZEOF_POINTER__
@@ -558,27 +558,27 @@
 b__MA7zvavxva6Ybpnyr21erfbyirYvarOernxFglyrRCXpz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR6erunfuRz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR25__rzcynpr_havdhr_xrl_netfVwWEXwRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVwCiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR25__rzcynpr_havdhr_xrl_netfVwWEXwRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVwCiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR25__rzcynpr_havdhr_xrl_netfVwWEXwRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVwCiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR25__rzcynpr_havdhr_xrl_netfVwWEXwRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVwCiRRRRoRREXG_QcBG0_:
 nop
 .data
-.globl b__MGIA7zvavxva11JbeqOernxreR
+.weak b__MGIA7zvavxva11JbeqOernxreR
 .type b__MGIA7zvavxva11JbeqOernxreR,%object
 b__MGIA7zvavxva11JbeqOernxreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MMA7zvavxva11YnlbhgPnpur11trgVafgnaprRiR5pnpur
+.weak b__MMA7zvavxva11YnlbhgPnpur11trgVafgnaprRiR5pnpur
 .type b__MMA7zvavxva11YnlbhgPnpur11trgVafgnaprRiR5pnpur,%object
 b__MMA7zvavxva11YnlbhgPnpur11trgVafgnaprRiR5pnpur:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7zvavxva12FcnefrOvgFrgRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR13fuevax_gb_svgRi
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7zvavxva12FcnefrOvgFrgRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR13fuevax_gb_svgRi
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7zvavxva12FcnefrOvgFrgRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR13fuevax_gb_svgRi,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7zvavxva12FcnefrOvgFrgRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR13fuevax_gb_svgRi:
 nop
@@ -593,7 +593,7 @@
 b__MA7zvavxva12vfCherXvyyreRw:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVA7zvavxva10YbpnyrYvfgREAF_9nyybpngbeVF2_RRRQ2Ri
+.weak b__MAFg3__114__fcyvg_ohssreVA7zvavxva10YbpnyrYvfgREAF_9nyybpngbeVF2_RRRQ2Ri
 .type b__MAFg3__114__fcyvg_ohssreVA7zvavxva10YbpnyrYvfgREAF_9nyybpngbeVF2_RRRQ2Ri,%function
 b__MAFg3__114__fcyvg_ohssreVA7zvavxva10YbpnyrYvfgREAF_9nyybpngbeVF2_RRRQ2Ri:
 nop
@@ -608,7 +608,7 @@
 b__MA7zvavxva6Ynlbhg12nccraqYnlbhgREXAF_11YnlbhgCvrprRzs:
 nop
 .data
-.globl b__MGIA7zvavxva11FlfgrzSbagfR
+.weak b__MGIA7zvavxva11FlfgrzSbagfR
 .type b__MGIA7zvavxva11FlfgrzSbagfR,%object
 b__MGIA7zvavxva11FlfgrzSbagfR:
 .space __SIZEOF_POINTER__
@@ -623,7 +623,7 @@
 b__MAX7zvavxva6Ybpnyr13vfRdhnyFpevcgREXF0_:
 nop
 .text
-.globl b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR5pyrneRi
+.weak b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR5pyrneRi
 .type b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR5pyrneRi,%function
 b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR5pyrneRi:
 nop
@@ -633,52 +633,52 @@
 b__MAX7zvavxva8FglyrEha9trgObhaqfREXAF_14H16FgevatCvrprREXAF_5EnatrREXAF_12YnlbhgCvrprfR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12ZvavxvaCnvagRwRRAF_22__habeqrerq_znc_unfureVF3_F4_AF2_12YnlbhgCvrprf11CnvagUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF3_F4_AF_8rdhny_gbVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12ZvavxvaCnvagRwRRAF_22__habeqrerq_znc_unfureVF3_F4_AF2_12YnlbhgCvrprf11CnvagUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF3_F4_AF_8rdhny_gbVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12ZvavxvaCnvagRwRRAF_22__habeqrerq_znc_unfureVF3_F4_AF2_12YnlbhgCvrprf11CnvagUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF3_F4_AF_8rdhny_gbVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12ZvavxvaCnvagRwRRAF_22__habeqrerq_znc_unfureVF3_F4_AF2_12YnlbhgCvrprf11CnvagUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF3_F4_AF_8rdhny_gbVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12ZvavxvaCnvagRwRRAF_22__habeqrerq_znc_unfureVF3_F4_AF2_12YnlbhgCvrprf11CnvagUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF3_F4_AF_8rdhny_gbVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12ZvavxvaCnvagRwRRAF_22__habeqrerq_znc_unfureVF3_F4_AF2_12YnlbhgCvrprf11CnvagUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF3_F4_AF_8rdhny_gbVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12ZvavxvaCnvagRwRRAF_22__habeqrerq_znc_unfureVF3_F4_AF2_12YnlbhgCvrprf11CnvagUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF3_F4_AF_8rdhny_gbVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12ZvavxvaCnvagRwRRAF_22__habeqrerq_znc_unfureVF3_F4_AF2_12YnlbhgCvrprf11CnvagUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF3_F4_AF_8rdhny_gbVF3_RRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz:
 nop
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeVA7zvavxva14SbagPbyyrpgvbaRRRRRAF_19__znc_inyhr_pbzcnerVF7_FP_AF_4yrffVF7_RRYo1RRRAF5_VFP_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFP_CAF_11__gerr_abqrVFP_CiRRyRREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeVA7zvavxva14SbagPbyyrpgvbaRRRRRAF_19__znc_inyhr_pbzcnerVF7_FP_AF_4yrffVF7_RRYo1RRRAF5_VFP_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFP_CAF_11__gerr_abqrVFP_CiRRyRREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeVA7zvavxva14SbagPbyyrpgvbaRRRRRAF_19__znc_inyhr_pbzcnerVF7_FP_AF_4yrffVF7_RRYo1RRRAF5_VFP_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFP_CAF_11__gerr_abqrVFP_CiRRyRREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeVA7zvavxva14SbagPbyyrpgvbaRRRRRAF_19__znc_inyhr_pbzcnerVF7_FP_AF_4yrffVF7_RRYo1RRRAF5_VFP_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFP_CAF_11__gerr_abqrVFP_CiRRyRREXG_:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7zvavxva14SbagPbyyrpgvbaRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7zvavxva14SbagPbyyrpgvbaRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7zvavxva14SbagPbyyrpgvbaRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7zvavxva14SbagPbyyrpgvbaRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10funerq_cgeVA7zvavxva10SbagSnzvylRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10funerq_cgeVA7zvavxva10SbagSnzvylRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10funerq_cgeVA7zvavxva10SbagSnzvylRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10funerq_cgeVA7zvavxva10SbagSnzvylRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR21__chfu_onpx_fybj_cnguVEXuRRiBG_
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR21__chfu_onpx_fybj_cnguVEXuRRiBG_
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR21__chfu_onpx_fybj_cnguVEXuRRiBG_,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR21__chfu_onpx_fybj_cnguVEXuRRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR13fuevax_gb_svgRi
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR13fuevax_gb_svgRi
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR13fuevax_gb_svgRi,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR13fuevax_gb_svgRi:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7zvavxva14SbagPbyyrpgvbaRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7zvavxva14SbagPbyyrpgvbaRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7zvavxva14SbagPbyyrpgvbaRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7zvavxva14SbagPbyyrpgvbaRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva14SbagPbyyrpgvba5EnatrRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
+.weak b__MAFg3__16irpgbeVA7zvavxva14SbagPbyyrpgvba5EnatrRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
 .type b__MAFg3__16irpgbeVA7zvavxva14SbagPbyyrpgvba5EnatrRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_,%function
 b__MAFg3__16irpgbeVA7zvavxva14SbagPbyyrpgvba5EnatrRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_:
 nop
 .data
-.globl b__MTIMA7zvavxva22VPHYvarOernxreCbbyVzcy11trgVafgnaprRiR4cbby
+.weak b__MTIMA7zvavxva22VPHYvarOernxreCbbyVzcy11trgVafgnaprRiR4cbby
 .type b__MTIMA7zvavxva22VPHYvarOernxreCbbyVzcy11trgVafgnaprRiR4cbby,%object
 b__MTIMA7zvavxva22VPHYvarOernxreCbbyVzcy11trgVafgnaprRiR4cbby:
 .space __SIZEOF_POINTER__
@@ -698,12 +698,12 @@
 b__MA7zvavxva13UlcurangbeZnc16nqqNyvnfVagreanyREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRF9_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva5CbvagRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWssRRRiQcBG_
+.weak b__MAFg3__16irpgbeVA7zvavxva5CbvagRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWssRRRiQcBG_
 .type b__MAFg3__16irpgbeVA7zvavxva5CbvagRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWssRRRiQcBG_,%function
 b__MAFg3__16irpgbeVA7zvavxva5CbvagRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWssRRRiQcBG_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR4svaqVF7_RRAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRREXG_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR4svaqVF7_RRAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRREXG_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR4svaqVF7_RRAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRREXG_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRwRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR4svaqVF7_RRAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRREXG_:
 nop
@@ -738,7 +738,7 @@
 b__MA7zvavxva13UlcurangbeZnc13pyrneVagreanyRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva10YbpnyrYvfgRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7zvavxva10YbpnyrYvfgRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7zvavxva10YbpnyrYvfgRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7zvavxva10YbpnyrYvfgRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -748,7 +748,7 @@
 b__MA7zvavxva19trgBssfrgSbeNqinaprRCXsCXgzzs:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_:
 nop
@@ -768,7 +768,7 @@
 b__MA7zvavxva10trgIfVaqrkRw:
 nop
 .data
-.globl b__MTIMA7zvavxva15YbpnyrYvfgPnpur11trgVafgnaprRiR8vafgnapr
+.weak b__MTIMA7zvavxva15YbpnyrYvfgPnpur11trgVafgnaprRiR8vafgnapr
 .type b__MTIMA7zvavxva15YbpnyrYvfgPnpur11trgVafgnaprRiR8vafgnapr,%object
 b__MTIMA7zvavxva15YbpnyrYvfgPnpur11trgVafgnaprRiR8vafgnapr:
 .space __SIZEOF_POINTER__
@@ -788,12 +788,12 @@
 b__MAX7zvavxva11JbeqOernxre7jbeqRaqRi:
 nop
 .data
-.globl b__MMA7zvavxva22VPHYvarOernxreCbbyVzcy11trgVafgnaprRiR4cbby
+.weak b__MMA7zvavxva22VPHYvarOernxreCbbyVzcy11trgVafgnaprRiR4cbby
 .type b__MMA7zvavxva22VPHYvarOernxreCbbyVzcy11trgVafgnaprRiR4cbby,%object
 b__MMA7zvavxva22VPHYvarOernxreCbbyVzcy11trgVafgnaprRiR4cbby:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR3chgREXF2_EXF4_
+.weak b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR3chgREXF2_EXF4_
 .type b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR3chgREXF2_EXF4_,%function
 b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR3chgREXF2_EXF4_:
 nop
@@ -808,7 +808,7 @@
 b__MA7zvavxva6Ybpnyr14fhccbegfFpevcgRuu:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR8__erunfuRz:
 nop
@@ -828,7 +828,7 @@
 b__MA7zvavxva13TencurzrOernx15vfTencurzrOernxRCXsCXgzzz:
 nop
 .data
-.globl b__MMA7zvavxva13UlcurangbeZnc11trgVafgnaprRiR3znc
+.weak b__MMA7zvavxva13UlcurangbeZnc11trgVafgnaprRiR3znc
 .type b__MMA7zvavxva13UlcurangbeZnc11trgVafgnaprRiR3znc,%object
 b__MMA7zvavxva13UlcurangbeZnc11trgVafgnaprRiR3znc:
 .space __SIZEOF_POINTER__
@@ -848,12 +848,12 @@
 b__MA7zvavxva11JbeqOernxre6svavfuRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCX18uo_ynathntr_vzcy_gAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
+.weak b__MAFg3__16irpgbeVCX18uo_ynathntr_vzcy_gAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
 .type b__MAFg3__16irpgbeVCX18uo_ynathntr_vzcy_gAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_,%function
 b__MAFg3__16irpgbeVCX18uo_ynathntr_vzcy_gAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR25__rzcynpr_havdhr_xrl_netfVzWzRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVzCiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR25__rzcynpr_havdhr_xrl_netfVzWzRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVzCiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR25__rzcynpr_havdhr_xrl_netfVzWzRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVzCiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR25__rzcynpr_havdhr_xrl_netfVzWzRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVzCiRRRRoRREXG_QcBG0_:
 nop
@@ -868,7 +868,7 @@
 b__MA7zvavxva4Sbag11cercnerSbagREXAFg3__110funerq_cgeVAF_11ZvavxvaSbagRRR:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7zvavxva10SbagSnzvylRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7zvavxva10SbagSnzvylRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7zvavxva10SbagSnzvylRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7zvavxva10SbagSnzvylRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -878,7 +878,7 @@
 b__MA7zvavxva11YnlbhgCvrprP1REXAF_14H16FgevatCvrprREXAF_5EnatrRoEXAF_12ZvavxvaCnvagRAF_15FgnegUlcuraRqvgRAF_13RaqUlcuraRqvgR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva4SbagRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7zvavxva4SbagRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7zvavxva4SbagRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7zvavxva4SbagRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -888,17 +888,17 @@
 b__MA7zvavxva13UlcurangbeZnc14ybbxhcVagreanyREXAF_6YbpnyrR:
 nop
 .data
-.globl b__MGIA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRRR
+.weak b__MGIA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRRR
 .type b__MGIA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRRR,%object
 b__MGIA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVAF_10havdhr_cgeVA7zvavxva12FcnefrOvgFrgRAF_14qrsnhyg_qryrgrVF3_RRRREAF_9nyybpngbeVF6_RRRQ2Ri
+.weak b__MAFg3__114__fcyvg_ohssreVAF_10havdhr_cgeVA7zvavxva12FcnefrOvgFrgRAF_14qrsnhyg_qryrgrVF3_RRRREAF_9nyybpngbeVF6_RRRQ2Ri
 .type b__MAFg3__114__fcyvg_ohssreVAF_10havdhr_cgeVA7zvavxva12FcnefrOvgFrgRAF_14qrsnhyg_qryrgrVF3_RRRREAF_9nyybpngbeVF6_RRRQ2Ri,%function
 b__MAFg3__114__fcyvg_ohssreVAF_10havdhr_cgeVA7zvavxva12FcnefrOvgFrgRAF_14qrsnhyg_qryrgrVF3_RRRREAF_9nyybpngbeVF6_RRRQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva10YbpnyrYvfgRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWRRRiQcBG_
+.weak b__MAFg3__16irpgbeVA7zvavxva10YbpnyrYvfgRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWRRRiQcBG_
 .type b__MAFg3__16irpgbeVA7zvavxva10YbpnyrYvfgRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWRRRiQcBG_,%function
 b__MAFg3__16irpgbeVA7zvavxva10YbpnyrYvfgRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWRRRiQcBG_:
 nop
@@ -908,7 +908,7 @@
 b__MA7zvavxva11JbeqOernxreP1RCAF_18VPHYvarOernxreCbbyR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVzCXA7zvavxva10UlcurangbeRRRAF_19__znc_inyhr_pbzcnerVzF6_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVzCXA7zvavxva10UlcurangbeRRRAF_19__znc_inyhr_pbzcnerVzF6_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVzCXA7zvavxva10UlcurangbeRRRAF_19__znc_inyhr_pbzcnerVzF6_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVzCXA7zvavxva10UlcurangbeRRRAF_19__znc_inyhr_pbzcnerVzF6_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
@@ -918,7 +918,7 @@
 b__MAX7zvavxva10Ulcurangbe23ulcurangrJvguAbCnggreafREXAF_14H16FgevatCvrprRCAF_15UlcurangvbaGlcrR:
 nop
 .data
-.globl b__MTIMA7zvavxva11YnlbhgPnpur11trgVafgnaprRiR5pnpur
+.weak b__MTIMA7zvavxva11YnlbhgPnpur11trgVafgnaprRiR5pnpur
 .type b__MTIMA7zvavxva11YnlbhgPnpur11trgVafgnaprRiR5pnpur,%object
 b__MTIMA7zvavxva11YnlbhgPnpur11trgVafgnaprRiR5pnpur:
 .space __SIZEOF_POINTER__
@@ -933,12 +933,12 @@
 b__MAX7zvavxva8FglyrEha9trgRkgragREXAF_14H16FgevatCvrprREXAF_5EnatrREXAF_12YnlbhgCvrprfR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva14SbagPbyyrpgvba3EhaRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
+.weak b__MAFg3__16irpgbeVA7zvavxva14SbagPbyyrpgvba3EhaRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
 .type b__MAFg3__16irpgbeVA7zvavxva14SbagPbyyrpgvba3EhaRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_,%function
 b__MAFg3__16irpgbeVA7zvavxva14SbagPbyyrpgvba3EhaRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeV14uo_inevngvba_gAF_9nyybpngbeVF1_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeV14uo_inevngvba_gAF_9nyybpngbeVF1_RRR7erfreirRz
 .type b__MAFg3__16irpgbeV14uo_inevngvba_gAF_9nyybpngbeVF1_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeV14uo_inevngvba_gAF_9nyybpngbeVF1_RRR7erfreirRz:
 nop
@@ -973,7 +973,7 @@
 b__MA7zvavxva6YbpnyrP2REXAF_11FgevatCvrprR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva5CbvagRAF_9nyybpngbeVF2_RRRP2REXF5_
+.weak b__MAFg3__16irpgbeVA7zvavxva5CbvagRAF_9nyybpngbeVF2_RRRP2REXF5_
 .type b__MAFg3__16irpgbeVA7zvavxva5CbvagRAF_9nyybpngbeVF2_RRRP2REXF5_,%function
 b__MAFg3__16irpgbeVA7zvavxva5CbvagRAF_9nyybpngbeVF2_RRRP2REXF5_:
 nop
@@ -993,7 +993,7 @@
 b__MA7zvavxva14SbagPbyyrpgvba24pnypInevnagZngpuvatFpberRAF_13SnzvylInevnagREXAF_10SbagSnzvylR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVwAF_4unfuVwRRAF_8rdhny_gbVwRRAF_9nyybpngbeVwRRR6erunfuRz:
 nop
@@ -1013,7 +1013,7 @@
 b__MA7zvavxva10Ulcurangbe20vfYvarOernxvatUlcuraRw:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR4svaqVF9_RRAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRREXG_
+.weak b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR4svaqVF9_RRAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRREXG_
 .type b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR4svaqVF9_RRAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRREXG_,%function
 b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR4svaqVF9_RRAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF9_CiRRRREXG_:
 nop
@@ -1038,12 +1038,12 @@
 b__MA7zvavxva6Ynlbhg11zrnfherGrkgREXAF_14H16FgevatCvrprREXAF_5EnatrRAF_4OvqvREXAF_12ZvavxvaCnvagRAF_15FgnegUlcuraRqvgRAF_13RaqUlcuraRqvgRCs:
 nop
 .data
-.globl b__MGIA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR14RagelSbeFrnepuR
+.weak b__MGIA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR14RagelSbeFrnepuR
 .type b__MGIA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR14RagelSbeFrnepuR,%object
 b__MGIA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRR14RagelSbeFrnepuR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva15UlcurangvbaGlcrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7zvavxva15UlcurangvbaGlcrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7zvavxva15UlcurangvbaGlcrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7zvavxva15UlcurangvbaGlcrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -1053,7 +1053,7 @@
 b__MAX7zvavxva8FglyrEha10trgZrgevpfREXAF_14H16FgevatCvrprRCAFg3__16irpgbeVsAF4_9nyybpngbeVsRRRRCAF_12YnlbhgCvrprfRFO_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12YnlbhgCvrprf3XrlRAF2_11YnlbhgCvrprRRRAF_22__habeqrerq_znc_unfureVF4_F6_AF3_9XrlUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_F6_AF_8rdhny_gbVF4_RRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12YnlbhgCvrprf3XrlRAF2_11YnlbhgCvrprRRRAF_22__habeqrerq_znc_unfureVF4_F6_AF3_9XrlUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_F6_AF_8rdhny_gbVF4_RRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12YnlbhgCvrprf3XrlRAF2_11YnlbhgCvrprRRRAF_22__habeqrerq_znc_unfureVF4_F6_AF3_9XrlUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_F6_AF_8rdhny_gbVF4_RRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVA7zvavxva12YnlbhgCvrprf3XrlRAF2_11YnlbhgCvrprRRRAF_22__habeqrerq_znc_unfureVF4_F6_AF3_9XrlUnfureRYo1RRRAF_21__habeqrerq_znc_rdhnyVF4_F6_AF_8rdhny_gbVF4_RRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz:
 nop
@@ -1063,7 +1063,7 @@
 b__MA7zvavxva22VPHYvarOernxreCbbyVzcy7eryrnfrRBAF_18VPHYvarOernxreCbby4FybgR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCXA7zvavxva4SbagRwRRAF_22__habeqrerq_znc_unfureVF5_F6_AF_4unfuVF5_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F6_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCXA7zvavxva4SbagRwRRAF_22__habeqrerq_znc_unfureVF5_F6_AF_4unfuVF5_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F6_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCXA7zvavxva4SbagRwRRAF_22__habeqrerq_znc_unfureVF5_F6_AF_4unfuVF5_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F6_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCXA7zvavxva4SbagRwRRAF_22__habeqrerq_znc_unfureVF5_F6_AF_4unfuVF5_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F6_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz:
 nop
@@ -1088,7 +1088,7 @@
 b__MA7zvavxva15oernxYvarTerrqlREXAF_14H16FgevatCvrprREXAF_12ZrnfherqGrkgREXAF_9YvarJvqguREXAF_8GnoFgbcfRo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_:
 nop
@@ -1098,7 +1098,7 @@
 b__MA7zvavxva6Ynlbhg12qbYnlbhgJbeqRCXgzzzoEXAF_12ZvavxvaCnvagRzAF_15FgnegUlcuraRqvgRAF_13RaqUlcuraRqvgRCF0_Cs:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVCA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF3_11YnlbhgCvrprRR10XrlrqRagelRAF7_12UnfuSbeRagelRAF7_24RdhnyvglSbeUnfurqRagevrfRAF_9nyybpngbeVF9_RRR8__erunfuRz:
 nop
@@ -1108,12 +1108,12 @@
 b__MA7zvavxva14oernxVagbYvarfREXAF_14H16FgevatCvrprRAF_13OernxFgengrtlRAF_20UlcurangvbaSerdhraplRoEXAF_12ZrnfherqGrkgREXAF_9YvarJvqguREXAF_8GnoFgbcfR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7zvavxva15UlcurangvbaGlcrRAF_9nyybpngbeVF2_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7zvavxva15UlcurangvbaGlcrRAF_9nyybpngbeVF2_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7zvavxva15UlcurangvbaGlcrRAF_9nyybpngbeVF2_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7zvavxva15UlcurangvbaGlcrRAF_9nyybpngbeVF2_RRR8__nccraqRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRRP2REXF3_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRRP2REXF3_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRRP2REXF3_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRRP2REXF3_:
 nop
@@ -1128,7 +1128,7 @@
 b__MAX7zvavxva10Ulcurangbe14nycunorgYbbxhcRCgEXAF_14H16FgevatCvrprR:
 nop
 .text
-.globl b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRRQ2Ri
+.weak b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRRQ2Ri
 .type b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRRQ2Ri,%function
 b__MA7naqebvq8YehPnpurVA7zvavxva14YnlbhgPnpurXrlRCAF1_11YnlbhgCvrprRRQ2Ri:
 nop
@@ -1143,7 +1143,7 @@
 b__MA7zvavxva11JbeqOernxre25svaqArkgOernxVaRznvyBeHeyRi:
 nop
 .data
-.globl b__MMA7zvavxva15YbpnyrYvfgPnpur11trgVafgnaprRiR8vafgnapr
+.weak b__MMA7zvavxva15YbpnyrYvfgPnpur11trgVafgnaprRiR8vafgnapr
 .type b__MMA7zvavxva15YbpnyrYvfgPnpur11trgVafgnaprRiR8vafgnapr,%object
 b__MMA7zvavxva15YbpnyrYvfgPnpur11trgVafgnaprRiR8vafgnapr:
 .space __SIZEOF_POINTER__
@@ -1158,7 +1158,7 @@
 b__MAX7zvavxva12ZrnfherqGrkg9trgRkgragREXAF_14H16FgevatCvrprREXAF_5EnatrR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCXA7zvavxva4SbagRwRRAF_22__habeqrerq_znc_unfureVF5_F6_AF_4unfuVF5_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F6_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCXA7zvavxva4SbagRwRRAF_22__habeqrerq_znc_unfureVF5_F6_AF_4unfuVF5_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F6_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCXA7zvavxva4SbagRwRRAF_22__habeqrerq_znc_unfureVF5_F6_AF_4unfuVF5_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F6_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVCXA7zvavxva4SbagRwRRAF_22__habeqrerq_znc_unfureVF5_F6_AF_4unfuVF5_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF5_F6_AF_8rdhny_gbVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz:
 nop
@@ -1168,7 +1168,7 @@
 b__MAX7zvavxva14SbagPbyyrpgvba15pnypSnzvylFpberRwwAF_13SnzvylInevnagRwEXAFg3__110funerq_cgeVAF_10SbagSnzvylRRR:
 nop
 .data
-.globl b__MTIMA7zvavxva13UlcurangbeZnc11trgVafgnaprRiR3znc
+.weak b__MTIMA7zvavxva13UlcurangbeZnc11trgVafgnaprRiR3znc
 .type b__MTIMA7zvavxva13UlcurangbeZnc11trgVafgnaprRiR3znc,%object
 b__MTIMA7zvavxva13UlcurangbeZnc11trgVafgnaprRiR3znc:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_092.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_092.S
index edafa55..955b96a 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_092.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_092.S
@@ -3,7 +3,7 @@
 .data
 .p2align 4
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVCXpRRG_F7_F7_:
 nop
@@ -18,12 +18,12 @@
 b__MAX4Wfba5Inyhr9nfPFgevatRi:
 nop
 .text
-.globl b__MAXFg3__111__zngpu_nalVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__111__zngpu_nalVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__111__zngpu_nalVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__111__zngpu_nalVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVCXpRRG_F7_F7_:
 nop
@@ -43,12 +43,12 @@
 b__MAX4Wfba5Inyhr7pbzcnerREXF0_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVCXpRRG_F7_F7_:
 nop
@@ -68,7 +68,7 @@
 b__MA4Wfba12FglyrqJevgre5jevgrREXAF_5InyhrR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVCXpRRG_F7_F7_:
 nop
@@ -88,7 +88,7 @@
 b__MA4Wfba18FglyrqFgernzJevgreP1RAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAXFg3__110__onpx_ersVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__110__onpx_ersVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__110__onpx_ersVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__110__onpx_ersVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -113,17 +113,17 @@
 b__MAX4Wfba17InyhrVgrengbeOnfr7vfRdhnyREXF0_:
 nop
 .text
-.globl b__MAXFg3__110__y_napubeVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__110__y_napubeVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__110__y_napubeVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__110__y_napubeVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__117__bjaf_gjb_fgngrfVpRQ2Ri
+.weak b__MAFg3__117__bjaf_gjb_fgngrfVpRQ2Ri
 .type b__MAFg3__117__bjaf_gjb_fgngrfVpRQ2Ri,%function
 b__MAFg3__117__bjaf_gjb_fgngrfVpRQ2Ri:
 nop
 .data
-.globl b__MGIAFg3__117__bjaf_gjb_fgngrfVpRR
+.weak b__MGIAFg3__117__bjaf_gjb_fgngrfVpRR
 .type b__MGIAFg3__117__bjaf_gjb_fgngrfVpRR,%object
 b__MGIAFg3__117__bjaf_gjb_fgngrfVpRR:
 .space __SIZEOF_POINTER__
@@ -138,7 +138,7 @@
 b__MA4Wfba6Ernqre8nqqReebeREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRREAF0_5GbxraRCXp:
 nop
 .text
-.globl b__MAFg3__15qrdhrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR6erfvmrRz
+.weak b__MAFg3__15qrdhrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR6erfvmrRz
 .type b__MAFg3__15qrdhrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR6erfvmrRz,%function
 b__MAFg3__15qrdhrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR6erfvmrRz:
 nop
@@ -158,17 +158,17 @@
 b__MA4Wfba5Inyhr4fjncREF0_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR15__chfu_onpx_ersRv
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR15__chfu_onpx_ersRv
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR15__chfu_onpx_ersRv,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR15__chfu_onpx_ersRv:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
 .data
-.globl b__MGIAFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -193,7 +193,7 @@
 b__MAX4Wfba5Inyhr8nfQbhoyrRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_
+.weak b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_
 .type b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_,%function
 b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_:
 nop
@@ -228,12 +228,12 @@
 b__MAX11GnfxCebsvyr17RkrphgrSbeCebprffRwv:
 nop
 .text
-.globl b__MAXFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -248,17 +248,17 @@
 b__MAX9PtebhcZnc5CevagRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_:
 nop
@@ -283,7 +283,7 @@
 b__MAX4Wfba5Inyhr14gbFglyrqFgevatRi:
 nop
 .text
-.globl b__MAFg3__116__bjaf_bar_fgngrVpRQ0Ri
+.weak b__MAFg3__116__bjaf_bar_fgngrVpRQ0Ri
 .type b__MAFg3__116__bjaf_bar_fgngrVpRQ0Ri,%function
 b__MAFg3__116__bjaf_bar_fgngrVpRQ0Ri:
 nop
@@ -308,7 +308,7 @@
 b__MA4Wfba5Inyhr8PMFgevatP1REXF1_:
 nop
 .text
-.globl b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_
+.weak b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_
 .type b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_,%function
 b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_:
 nop
@@ -318,7 +318,7 @@
 b__MA4Wfba18InyhrPbafgVgrengbeP1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA4Wfba12CnguNethzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA4Wfba12CnguNethzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVA4Wfba12CnguNethzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA4Wfba12CnguNethzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -353,7 +353,7 @@
 b__MAX4Wfba5Inyhr8PMFgevat5vaqrkRi:
 nop
 .data
-.globl b__MGIAFg3__111__raq_fgngrVpRR
+.weak b__MGIAFg3__111__raq_fgngrVpRR
 .type b__MGIAFg3__111__raq_fgngrVpRR,%object
 b__MGIAFg3__111__raq_fgngrVpRR:
 .space __SIZEOF_POINTER__
@@ -368,12 +368,12 @@
 b__MGIA4Wfba10SnfgJevgreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__123__zngpu_nal_ohg_arjyvarVpRR
+.weak b__MGIAFg3__123__zngpu_nal_ohg_arjyvarVpRR
 .type b__MGIAFg3__123__zngpu_nal_ohg_arjyvarVpRR,%object
 b__MGIAFg3__123__zngpu_nal_ohg_arjyvarVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -398,27 +398,27 @@
 b__MAX4Wfba17InyhrVgrengbeOnfr15pbzchgrQvfgnaprREXF0_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_
 .type b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_:
 nop
 .data
-.globl b__MGIAFg3__113__rzcgl_fgngrVpRR
+.weak b__MGIAFg3__113__rzcgl_fgngrVpRR
 .type b__MGIAFg3__113__rzcgl_fgngrVpRR,%object
 b__MGIAFg3__113__rzcgl_fgngrVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10havdhr_cgeV16CebsvyrNggevohgrAF_14qrsnhyg_qryrgrVF9_RRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF_4yrffVF7_RRYo1RRRAF5_VFQ_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFQ_CAF_11__gerr_abqrVFQ_CiRRyRREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10havdhr_cgeV16CebsvyrNggevohgrAF_14qrsnhyg_qryrgrVF9_RRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF_4yrffVF7_RRYo1RRRAF5_VFQ_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFQ_CAF_11__gerr_abqrVFQ_CiRRyRREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10havdhr_cgeV16CebsvyrNggevohgrAF_14qrsnhyg_qryrgrVF9_RRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF_4yrffVF7_RRYo1RRRAF5_VFQ_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFQ_CAF_11__gerr_abqrVFQ_CiRRyRREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10havdhr_cgeV16CebsvyrNggevohgrAF_14qrsnhyg_qryrgrVF9_RRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF_4yrffVF7_RRYo1RRRAF5_VFQ_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFQ_CAF_11__gerr_abqrVFQ_CiRRyRREXG_:
 nop
@@ -433,17 +433,17 @@
 b__MAX4Wfba5Inyhr3trgRCXpEXF0_:
 nop
 .text
-.globl b__MAXFg3__126__raq_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__126__raq_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__126__raq_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__126__raq_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVCXpRRG_F7_F7_:
 nop
@@ -453,7 +453,7 @@
 b__MAX4Wfba5Inyhr8PMFgevatygREXF1_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVCXpRRG_F7_F7_:
 nop
@@ -473,7 +473,7 @@
 b__MA4Wfba5Inyhr8PMFgevatP1RCXpAF1_17QhcyvpngvbaCbyvplR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
@@ -498,7 +498,7 @@
 b__MAX4Wfba5InyhrygREXF0_:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -533,12 +533,12 @@
 b__MA4Wfba5InyhrP2Rw:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_:
 nop
@@ -558,7 +558,7 @@
 b__MA4Wfba12FglyrqJevgre8havaqragRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVCXpRRG_F7_F7_:
 nop
@@ -623,7 +623,7 @@
 b__MAX4Wfba5InyhrvkRv:
 nop
 .text
-.globl b__MAXFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -638,7 +638,7 @@
 b__MA4Wfba5Inyhr8PMFgevatP2REXF1_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
@@ -653,7 +653,7 @@
 b_PtebhcTrgPbagebyyreCngu:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeV13CebsvyrNpgvbaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeV13CebsvyrNpgvbaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeV13CebsvyrNpgvbaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeV13CebsvyrNpgvbaAF_14qrsnhyg_qryrgrVF2_RRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -663,7 +663,7 @@
 b__MA4Wfba5Inyhr6znkVagR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__15qrdhrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRz
+.weak b__MAFg3__15qrdhrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRz
 .type b__MAFg3__15qrdhrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRz,%function
 b__MAFg3__15qrdhrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRz:
 nop
@@ -678,7 +678,7 @@
 b__MA4Wfba5Inyhr6zvaVagR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -693,12 +693,12 @@
 b__MAX4Wfba5Inyhr6nfObbyRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__116__bjaf_bar_fgngrVpRQ2Ri
+.weak b__MAFg3__116__bjaf_bar_fgngrVpRQ2Ri
 .type b__MAFg3__116__bjaf_bar_fgngrVpRQ2Ri,%function
 b__MAFg3__116__bjaf_bar_fgngrVpRQ2Ri:
 nop
@@ -733,22 +733,22 @@
 b__MAX4Wfba5Inyhr8vfZrzoreRCXp:
 nop
 .text
-.globl b__MAXFg3__111__raq_fgngrVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__111__raq_fgngrVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__111__raq_fgngrVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__111__raq_fgngrVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
+.weak b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
 .type b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_,%function
 b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_:
 nop
 .data
-.globl b__MGIAFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -768,12 +768,12 @@
 b__MAX4Wfba6Ernqre24trgSbezngrqReebeZrffntrfRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCCA4Wfba5InyhrRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCCA4Wfba5InyhrRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_
 .type b__MAFg3__114__fcyvg_ohssreVCCA4Wfba5InyhrRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCCA4Wfba5InyhrRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
@@ -798,12 +798,12 @@
 b__MA4Wfba12FglyrqJevgre18unfPbzzragSbeInyhrREXAF_5InyhrR:
 nop
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -828,17 +828,17 @@
 b__MAX4Wfba5InyhrtrREXF0_:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_:
 nop
 .text
-.globl b__MAFg3__15qrdhrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRR:
 nop
@@ -868,7 +868,7 @@
 b__MAX18FrgNggevohgrNpgvba14RkrphgrSbeGnfxRv:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_rzcynprV11GnfxCebsvyrAF_9nyybpngbeVF1_RRRR
+.weak b__MGIAFg3__120__funerq_cge_rzcynprV11GnfxCebsvyrAF_9nyybpngbeVF1_RRRR
 .type b__MGIAFg3__120__funerq_cge_rzcynprV11GnfxCebsvyrAF_9nyybpngbeVF1_RRRR,%object
 b__MGIAFg3__120__funerq_cge_rzcynprV11GnfxCebsvyrAF_9nyybpngbeVF1_RRRR:
 .space __SIZEOF_POINTER__
@@ -903,7 +903,7 @@
 b__MAX9PtebhcZnc14SvaqPbagebyyreREXAFg3__112onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRR:
 nop
 .data
-.globl b__MGIAFg3__112__zngpu_puneVpRR
+.weak b__MGIAFg3__112__zngpu_puneVpRR
 .type b__MGIAFg3__112__zngpu_puneVpRR,%object
 b__MGIAFg3__112__zngpu_puneVpRR:
 .space __SIZEOF_POINTER__
@@ -923,7 +923,7 @@
 b__MA4Wfba12FglyrqJevgre12abeznyvmrRBYREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__chfu_ybbxnurnqREXF3_ow
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__chfu_ybbxnurnqREXF3_ow
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__chfu_ybbxnurnqREXF3_ow,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__chfu_ybbxnurnqREXF3_ow:
 nop
@@ -943,17 +943,17 @@
 b__MAX4Wfba5Inyhr7nfSybngRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__112__qrdhr_onfrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR5pyrneRi
+.weak b__MAFg3__112__qrdhr_onfrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR5pyrneRi
 .type b__MAFg3__112__qrdhr_onfrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR5pyrneRi,%function
 b__MAFg3__112__qrdhr_onfrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR5pyrneRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR
+.weak b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR
 .type b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR,%function
 b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR:
 nop
@@ -963,12 +963,12 @@
 b__MA4Wfba17InyhrVgrengbeOnfr9vaperzragRi:
 nop
 .text
-.globl b__MAXFg3__16__ybbcVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR
+.weak b__MAXFg3__16__ybbcVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR
 .type b__MAXFg3__16__ybbcVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR,%function
 b__MAXFg3__16__ybbcVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_puneRp
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_puneRp
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_puneRp,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_puneRp:
 nop
@@ -983,7 +983,7 @@
 b__MA4Wfba8xAhyyErsR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
@@ -998,12 +998,12 @@
 b__MAX4Wfba5Inyhr7nfVag64Ri:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR9genafsbezVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_
+.weak b__MAXFg3__112ertrk_genvgfVpR9genafsbezVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_
 .type b__MAXFg3__112ertrk_genvgfVpR9genafsbezVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_,%function
 b__MAXFg3__112ertrk_genvgfVpR9genafsbezVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVppRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_4cnveVppRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVAF_4cnveVppRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_4cnveVppRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -1033,7 +1033,7 @@
 b__MA4Wfba12FglyrqJevgre9chfuInyhrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAXFg3__117__ercrng_bar_ybbcVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__117__ercrng_bar_ybbcVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__117__ercrng_bar_ybbcVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__117__ercrng_bar_ybbcVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -1048,7 +1048,7 @@
 b__MAX4Wfba6Ernqre25trgSbeznggrqReebeZrffntrfRi:
 nop
 .text
-.globl b__MAFg3__125__yrkvpbtencuvpny_pbzcnerVEAF_6__yrffVAF_4cnveVXA4Wfba5Inyhr8PMFgevatRF4_RRF7_RRAF_20__znc_pbafg_vgrengbeVAF_21__gerr_pbafg_vgrengbeVAF_12__inyhr_glcrVF5_F4_RRCAF_11__gerr_abqrVFQ_CiRRyRRRRFW_RRoG0_FX_G1_FY_G_
+.weak b__MAFg3__125__yrkvpbtencuvpny_pbzcnerVEAF_6__yrffVAF_4cnveVXA4Wfba5Inyhr8PMFgevatRF4_RRF7_RRAF_20__znc_pbafg_vgrengbeVAF_21__gerr_pbafg_vgrengbeVAF_12__inyhr_glcrVF5_F4_RRCAF_11__gerr_abqrVFQ_CiRRyRRRRFW_RRoG0_FX_G1_FY_G_
 .type b__MAFg3__125__yrkvpbtencuvpny_pbzcnerVEAF_6__yrffVAF_4cnveVXA4Wfba5Inyhr8PMFgevatRF4_RRF7_RRAF_20__znc_pbafg_vgrengbeVAF_21__gerr_pbafg_vgrengbeVAF_12__inyhr_glcrVF5_F4_RRCAF_11__gerr_abqrVFQ_CiRRyRRRRFW_RRoG0_FX_G1_FY_G_,%function
 b__MAFg3__125__yrkvpbtencuvpny_pbzcnerVEAF_6__yrffVAF_4cnveVXA4Wfba5Inyhr8PMFgevatRF4_RRF7_RRAF_20__znc_pbafg_vgrengbeVAF_21__gerr_pbafg_vgrengbeVAF_12__inyhr_glcrVF5_F4_RRCAF_11__gerr_abqrVFQ_CiRRyRRRRFW_RRoG0_FX_G1_FY_G_:
 nop
@@ -1063,7 +1063,7 @@
 b__MA4Wfba18FglyrqFgernzJevgre15jevgrNeenlInyhrREXAF_5InyhrR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
@@ -1078,17 +1078,17 @@
 b__MAX16PtebhcPbagebyyre4anzrRi:
 nop
 .text
-.globl b__MAXFg3__121__rzcgl_aba_bja_fgngrVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__121__rzcgl_aba_bja_fgngrVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__121__rzcgl_aba_bja_fgngrVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__121__rzcgl_aba_bja_fgngrVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVCXpRRG_F7_F7_:
 nop
 .data
-.globl b__MGIAFg3__111__nygreangrVpRR
+.weak b__MGIAFg3__111__nygreangrVpRR
 .type b__MGIAFg3__111__nygreangrVpRR,%object
 b__MGIAFg3__111__nygreangrVpRR:
 .space __SIZEOF_POINTER__
@@ -1118,7 +1118,7 @@
 b__MGIA4Wfba6JevgreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1148,7 +1148,7 @@
 b__MAX4Wfba5Inyhr6vfObbyRi:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
+.weak b__MGIAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
 .type b__MGIAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR,%object
 b__MGIAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR:
 .space __SIZEOF_POINTER__
@@ -1188,7 +1188,7 @@
 b__MA4Wfba5Inyhr8PMFgevatP2Rw:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p
+.weak b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p
 .type b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p,%function
 b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p:
 nop
@@ -1203,12 +1203,12 @@
 b__MA4Wfba5Inyhr16erfbyirErsreraprRCXpo:
 nop
 .text
-.globl b__MAXFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_
+.weak b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_
 .type b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_,%function
 b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_:
 nop
@@ -1223,12 +1223,12 @@
 b__MA4WfbayfREAFg3__113onfvp_bfgernzVpAF0_11pune_genvgfVpRRRREXAF_5InyhrR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprV11GnfxCebsvyrAF_9nyybpngbeVF1_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_rzcynprV11GnfxCebsvyrAF_9nyybpngbeVF1_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_rzcynprV11GnfxCebsvyrAF_9nyybpngbeVF1_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_rzcynprV11GnfxCebsvyrAF_9nyybpngbeVF1_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -1263,7 +1263,7 @@
 b_trg_pchfrg_cbyvpl_cebsvyr_anzr:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10havdhr_cgeV16CebsvyrNggevohgrAF_14qrsnhyg_qryrgrVF9_RRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF_4yrffVF7_RRYo1RRRAF5_VFQ_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFB_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10havdhr_cgeV16CebsvyrNggevohgrAF_14qrsnhyg_qryrgrVF9_RRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF_4yrffVF7_RRYo1RRRAF5_VFQ_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFB_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10havdhr_cgeV16CebsvyrNggevohgrAF_14qrsnhyg_qryrgrVF9_RRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF_4yrffVF7_RRYo1RRRAF5_VFQ_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFB_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10havdhr_cgeV16CebsvyrNggevohgrAF_14qrsnhyg_qryrgrVF9_RRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF_4yrffVF7_RRYo1RRRAF5_VFQ_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFB_RREXG_:
 nop
@@ -1278,17 +1278,17 @@
 b__MAX4Wfba5Inyhr5ortvaRi:
 nop
 .text
-.globl b__MAXFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__113ertrk_ercynprVAF_20onpx_vafreg_vgrengbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_11__jenc_vgreVCXpRRAF_12ertrk_genvgfVpRRpRRG_FS_G0_FT_EXAF_11onfvp_ertrkVG2_G1_RRCXFV_AF_15ertrk_pbafgnagf15zngpu_synt_glcrR
+.weak b__MAFg3__113ertrk_ercynprVAF_20onpx_vafreg_vgrengbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_11__jenc_vgreVCXpRRAF_12ertrk_genvgfVpRRpRRG_FS_G0_FT_EXAF_11onfvp_ertrkVG2_G1_RRCXFV_AF_15ertrk_pbafgnagf15zngpu_synt_glcrR
 .type b__MAFg3__113ertrk_ercynprVAF_20onpx_vafreg_vgrengbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_11__jenc_vgreVCXpRRAF_12ertrk_genvgfVpRRpRRG_FS_G0_FT_EXAF_11onfvp_ertrkVG2_G1_RRCXFV_AF_15ertrk_pbafgnagf15zngpu_synt_glcrR,%function
 b__MAFg3__113ertrk_ercynprVAF_20onpx_vafreg_vgrengbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_11__jenc_vgreVCXpRRAF_12ertrk_genvgfVpRRpRRG_FS_G0_FT_EXAF_11onfvp_ertrkVG2_G1_RRCXFV_AF_15ertrk_pbafgnagf15zngpu_synt_glcrR:
 nop
 .data
-.globl b__MGIAFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1298,17 +1298,17 @@
 b__MA4Wfba5InyhrvkRCXp:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA4Wfba6Ernqre9ReebeVasbREAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCA4Wfba6Ernqre9ReebeVasbREAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_
 .type b__MAFg3__114__fcyvg_ohssreVCA4Wfba6Ernqre9ReebeVasbREAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCA4Wfba6Ernqre9ReebeVasbREAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_:
 nop
 .data
-.globl b__MGIAFg3__110__y_napubeVpRR
+.weak b__MGIAFg3__110__y_napubeVpRR
 .type b__MGIAFg3__110__y_napubeVpRR,%object
 b__MGIAFg3__110__y_napubeVpRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1333,12 +1333,12 @@
 b__MA4Wfba18FglyrqFgernzJevgre32jevgrPbzzragNsgreInyhrBaFnzrYvarREXAF_5InyhrR:
 nop
 .text
-.globl b__MAXFg3__111__nygreangrVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__111__nygreangrVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__111__nygreangrVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__111__nygreangrVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_p
+.weak b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_p
 .type b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_p,%function
 b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_p:
 nop
@@ -1368,7 +1368,7 @@
 b__MAX4Wfba5Inyhr12vfInyvqVaqrkRw:
 nop
 .text
-.globl b__MAXFg3__113zngpu_erfhygfVAF_11__jenc_vgreVCXpRRAF_9nyybpngbeVAF_9fho_zngpuVF4_RRRRR6sbezngVAF_20onpx_vafreg_vgrengbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF5_VpRRRRRRRRG_FV_F3_F3_AF_15ertrk_pbafgnagf15zngpu_synt_glcrR
+.weak b__MAXFg3__113zngpu_erfhygfVAF_11__jenc_vgreVCXpRRAF_9nyybpngbeVAF_9fho_zngpuVF4_RRRRR6sbezngVAF_20onpx_vafreg_vgrengbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF5_VpRRRRRRRRG_FV_F3_F3_AF_15ertrk_pbafgnagf15zngpu_synt_glcrR
 .type b__MAXFg3__113zngpu_erfhygfVAF_11__jenc_vgreVCXpRRAF_9nyybpngbeVAF_9fho_zngpuVF4_RRRRR6sbezngVAF_20onpx_vafreg_vgrengbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF5_VpRRRRRRRRG_FV_F3_F3_AF_15ertrk_pbafgnagf15zngpu_synt_glcrR,%function
 b__MAXFg3__113zngpu_erfhygfVAF_11__jenc_vgreVCXpRRAF_9nyybpngbeVAF_9fho_zngpuVF4_RRRRR6sbezngVAF_20onpx_vafreg_vgrengbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF5_VpRRRRRRRRG_FV_F3_F3_AF_15ertrk_pbafgnagf15zngpu_synt_glcrR:
 nop
@@ -1383,7 +1383,7 @@
 b__MA9PtebhcZnc10YbnqEpSvyrRi:
 nop
 .text
-.globl b__MAXFg3__128__ortva_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__128__ortva_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__128__ortva_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__128__ortva_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -1398,7 +1398,7 @@
 b_xvyyCebprffTebhc:
 nop
 .text
-.globl b__MAFg3__112__qrdhr_onfrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR5pyrneRi
+.weak b__MAFg3__112__qrdhr_onfrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR5pyrneRi
 .type b__MAFg3__112__qrdhr_onfrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR5pyrneRi,%function
 b__MAFg3__112__qrdhr_onfrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR5pyrneRi:
 nop
@@ -1413,22 +1413,22 @@
 b__MA4Wfba13InyhrVgrengbeP2REXAFg3__114__znc_vgrengbeVAF1_15__gerr_vgrengbeVAF1_12__inyhr_glcrVAF_5Inyhr8PMFgevatRF5_RRCAF1_11__gerr_abqrVF7_CiRRyRRRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww:
 nop
 .data
-.globl b__MGIAFg3__111__zngpu_nalVpRR
+.weak b__MGIAFg3__111__zngpu_nalVpRR
 .type b__MGIAFg3__111__zngpu_nalVpRR,%object
 b__MGIAFg3__111__zngpu_nalVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi
+.weak b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi
 .type b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi,%function
 b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi:
 nop
@@ -1438,7 +1438,7 @@
 b__MA4Wfba5InyhrP1Ro:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_:
 nop
@@ -1453,22 +1453,22 @@
 b__MA4Wfba6Ernqre16erpbireSebzReebeRAF0_9GbxraGlcrR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVCXpRRG_F7_F7_:
 nop
 .data
-.globl b__MGIAFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1528,12 +1528,12 @@
 b__MA4Wfba5InyhrP1REXF0_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRAF_9nyybpngbeVF6_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRAF_9nyybpngbeVF6_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRAF_9nyybpngbeVF6_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRAF_9nyybpngbeVF6_RRR8__nccraqRz:
 nop
 .text
-.globl b__MAFg3__15qrdhrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVF3_CXF3_EF8_CXF9_yYy73RRR
+.weak b__MAFg3__15qrdhrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVF3_CXF3_EF8_CXF9_yYy73RRR
 .type b__MAFg3__15qrdhrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVF3_CXF3_EF8_CXF9_yYy73RRR,%function
 b__MAFg3__15qrdhrVA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF3_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVF3_CXF3_EF8_CXF9_yYy73RRR:
 nop
@@ -1543,12 +1543,12 @@
 b__MA4Wfba5InyhrP2REXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .data
-.globl b__MGIAFg3__116__bjaf_bar_fgngrVpRR
+.weak b__MGIAFg3__116__bjaf_bar_fgngrVpRR
 .type b__MGIAFg3__116__bjaf_bar_fgngrVpRR,%object
 b__MGIAFg3__116__bjaf_bar_fgngrVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -1578,7 +1578,7 @@
 b__MA9PtebhcZncP1Ri:
 nop
 .text
-.globl b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR27__zngpu_ng_fgneg_cbfvk_fhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
+.weak b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR27__zngpu_ng_fgneg_cbfvk_fhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
 .type b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR27__zngpu_ng_fgneg_cbfvk_fhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo,%function
 b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR27__zngpu_ng_fgneg_cbfvk_fhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo:
 nop
@@ -1598,12 +1598,12 @@
 b__MA4Wfba5InyhrP1Rv:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeV11GnfxCebsvyrRRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFZ_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeV11GnfxCebsvyrRRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFZ_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeV11GnfxCebsvyrRRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFZ_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeV11GnfxCebsvyrRRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFZ_RREXG_:
 nop
@@ -1633,7 +1633,7 @@
 b__MA4Wfba18FglyrqFgernzJevgre18unfPbzzragSbeInyhrREXAF_5InyhrR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCCA4Wfba5InyhrREAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCCA4Wfba5InyhrREAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_
 .type b__MAFg3__114__fcyvg_ohssreVCCA4Wfba5InyhrREAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCCA4Wfba5InyhrREAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_:
 nop
@@ -1643,7 +1643,7 @@
 b__MA4Wfba6JevgreQ2Ri:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVCXpRRG_F7_F7_:
 nop
@@ -1693,7 +1693,7 @@
 b__MAX4Wfba5Inyhr5nfVagRi:
 nop
 .text
-.globl b__MAXFg3__16__ybbcVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__16__ybbcVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__16__ybbcVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__16__ybbcVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -1703,7 +1703,7 @@
 b__MAX4Wfba5InyhrrdREXF0_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10havdhr_cgeV16CebsvyrNggevohgrAF_14qrsnhyg_qryrgrVF9_RRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF_4yrffVF7_RRYo1RRRAF5_VFQ_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFQ_CAF_11__gerr_abqrVFQ_CiRRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10havdhr_cgeV16CebsvyrNggevohgrAF_14qrsnhyg_qryrgrVF9_RRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF_4yrffVF7_RRYo1RRRAF5_VFQ_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFQ_CAF_11__gerr_abqrVFQ_CiRRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10havdhr_cgeV16CebsvyrNggevohgrAF_14qrsnhyg_qryrgrVF9_RRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF_4yrffVF7_RRYo1RRRAF5_VFQ_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFQ_CAF_11__gerr_abqrVFQ_CiRRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10havdhr_cgeV16CebsvyrNggevohgrAF_14qrsnhyg_qryrgrVF9_RRRRRRAF_19__znc_inyhr_pbzcnerVF7_FQ_AF_4yrffVF7_RRYo1RRRAF5_VFQ_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFQ_CAF_11__gerr_abqrVFQ_CiRRyRREXG_:
 nop
@@ -1723,12 +1723,12 @@
 b__MA4Wfba13inyhrGbFgevatRo:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVCXpRRgG_F5_op
+.weak b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVCXpRRgG_F5_op
 .type b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVCXpRRgG_F5_op,%function
 b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVCXpRRgG_F5_op:
 nop
@@ -1753,12 +1753,12 @@
 b__MA4Wfba10SnfgJevgre23ranoyrLNZYPbzcngvovyvglRi:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCXpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FO_p
+.weak b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCXpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FO_p
 .type b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCXpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FO_p,%function
 b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCXpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FO_p:
 nop
 .data
-.globl b__MGIAFg3__121__rzcgl_aba_bja_fgngrVpRR
+.weak b__MGIAFg3__121__rzcgl_aba_bja_fgngrVpRR
 .type b__MGIAFg3__121__rzcgl_aba_bja_fgngrVpRR,%object
 b__MGIAFg3__121__rzcgl_aba_bja_fgngrVpRR:
 .space __SIZEOF_POINTER__
@@ -1783,7 +1783,7 @@
 b__MA4Wfba13inyhrGbFgevatRq:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCXA4Wfba12CnguNethzragRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
+.weak b__MAFg3__16irpgbeVCXA4Wfba12CnguNethzragRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
 .type b__MAFg3__16irpgbeVCXA4Wfba12CnguNethzragRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_,%function
 b__MAFg3__16irpgbeVCXA4Wfba12CnguNethzragRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_:
 nop
@@ -1808,7 +1808,7 @@
 b__MAX15FrgPynzcfNpgvba17RkrphgrSbeCebprffRwv:
 nop
 .text
-.globl b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR29__zngpu_ng_fgneg_cbfvk_abfhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
+.weak b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR29__zngpu_ng_fgneg_cbfvk_abfhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
 .type b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR29__zngpu_ng_fgneg_cbfvk_abfhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo,%function
 b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR29__zngpu_ng_fgneg_cbfvk_abfhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo:
 nop
@@ -1843,7 +1843,7 @@
 b__MAX16PtebhcPbagebyyre16TrgCebpfSvyrCnguREXAFg3__112onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRRwv:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi:
 nop
@@ -1863,12 +1863,12 @@
 b__MAX4Wfba5Inyhr6vfAhyyRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
@@ -1893,7 +1893,7 @@
 b__MA4Wfba18FglyrqFgernzJevgre11jevgrVaqragRi:
 nop
 .data
-.globl b__MGIAFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1913,7 +1913,7 @@
 b__MA4Wfba8Srngherf3nyyRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCCA4Wfba5InyhrREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCCA4Wfba5InyhrREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
 .type b__MAFg3__114__fcyvg_ohssreVCCA4Wfba5InyhrREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCCA4Wfba5InyhrREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_:
 nop
@@ -1938,17 +1938,17 @@
 b__MAX16PtebhcPbagebyyre7irefvbaRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_ybbcRzzCAF_16__bjaf_bar_fgngrVpRRzzo
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_ybbcRzzCAF_16__bjaf_bar_fgngrVpRRzzo
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_ybbcRzzCAF_16__bjaf_bar_fgngrVpRRzzo,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_ybbcRzzCAF_16__bjaf_bar_fgngrVpRRzzo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeV11GnfxCebsvyrRRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeV11GnfxCebsvyrRRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeV11GnfxCebsvyrRRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeV11GnfxCebsvyrRRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRREXG_:
 nop
@@ -1963,7 +1963,7 @@
 b__MA4Wfba5Inyhr6erfvmrRw:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_:
 nop
@@ -1988,17 +1988,17 @@
 b__MA4Wfba18FglyrqFgernzJevgre6vaqragRi:
 nop
 .text
-.globl b__MAXFg3__112__zngpu_puneVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__112__zngpu_puneVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__112__zngpu_puneVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__112__zngpu_puneVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi:
 nop
 .data
-.globl b__MGIAFg3__117__ercrng_bar_ybbcVpRR
+.weak b__MGIAFg3__117__ercrng_bar_ybbcVpRR
 .type b__MGIAFg3__117__ercrng_bar_ybbcVpRR,%object
 b__MGIAFg3__117__ercrng_bar_ybbcVpRR:
 .space __SIZEOF_POINTER__
@@ -2018,22 +2018,22 @@
 b__MA4Wfba4CnguP2REXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRREXAF_12CnguNethzragRFP_FP_FP_FP_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA4Wfba12CnguNethzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA4Wfba12CnguNethzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVA4Wfba12CnguNethzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA4Wfba12CnguNethzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
 .text
-.globl b__MAXFg3__110__e_napubeVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__110__e_napubeVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__110__e_napubeVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__110__e_napubeVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAXFg3__113__rzcgl_fgngrVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__113__rzcgl_fgngrVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__113__rzcgl_fgngrVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__113__rzcgl_fgngrVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10funerq_cgeV11GnfxCebsvyrRRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10funerq_cgeV11GnfxCebsvyrRRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10funerq_cgeV11GnfxCebsvyrRRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10funerq_cgeV11GnfxCebsvyrRRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_:
 nop
@@ -2048,12 +2048,12 @@
 b__MA4Wfba4Cngu11vainyvqCnguREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRv:
 nop
 .text
-.globl b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
+.weak b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
 .type b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR,%function
 b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR:
 nop
 .data
-.globl b__MGIAFg3__126__raq_znexrq_fhorkcerffvbaVpRR
+.weak b__MGIAFg3__126__raq_znexrq_fhorkcerffvbaVpRR
 .type b__MGIAFg3__126__raq_znexrq_fhorkcerffvbaVpRR,%object
 b__MGIAFg3__126__raq_znexrq_fhorkcerffvbaVpRR:
 .space __SIZEOF_POINTER__
@@ -2073,7 +2073,7 @@
 b__MA15FrgPtebhcNpgvba18VfNccQrcraqragCnguREXAFg3__112onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA4Wfba6Ernqre9ReebeVasbREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCA4Wfba6Ernqre9ReebeVasbREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
 .type b__MAFg3__114__fcyvg_ohssreVCA4Wfba6Ernqre9ReebeVasbREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCA4Wfba6Ernqre9ReebeVasbREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_:
 nop
@@ -2103,7 +2103,7 @@
 b__MA4Wfba10SnfgJevgreP2Ri:
 nop
 .text
-.globl b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__zngpu_ng_fgneg_rpznVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
+.weak b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__zngpu_ng_fgneg_rpznVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
 .type b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__zngpu_ng_fgneg_rpznVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo,%function
 b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__zngpu_ng_fgneg_rpznVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo:
 nop
@@ -2128,17 +2128,17 @@
 b__MA4Wfba5InyhrP1REXAF_12FgngvpFgevatR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
 .data
-.globl b__MGIAFg3__110__e_napubeVpRR
+.weak b__MGIAFg3__110__e_napubeVpRR
 .type b__MGIAFg3__110__e_napubeVpRR,%object
 b__MGIAFg3__110__e_napubeVpRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__16__ybbcVpRR
+.weak b__MGIAFg3__16__ybbcVpRR
 .type b__MGIAFg3__16__ybbcVpRR,%object
 b__MGIAFg3__16__ybbcVpRR:
 .space __SIZEOF_POINTER__
@@ -2148,12 +2148,12 @@
 b__MA4Wfba18FglyrqFgernzJevgre14vfZhygvarNeenlREXAF_5InyhrR:
 nop
 .text
-.globl b__MAXFg3__111__nygreangrVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR
+.weak b__MAXFg3__111__nygreangrVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR
 .type b__MAXFg3__111__nygreangrVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR,%function
 b__MAXFg3__111__nygreangrVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR8__frnepuVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrR
+.weak b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR8__frnepuVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrR
 .type b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR8__frnepuVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrR,%function
 b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR8__frnepuVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrR:
 nop
@@ -2168,7 +2168,7 @@
 b__MAX16PtebhcPbagebyyre12TrgGnfxTebhcRvCAFg3__112onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRzEXF4_
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRzEXF4_
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRzEXF4_,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRzEXF4_:
 nop
@@ -2208,7 +2208,7 @@
 b__MA4Wfba13inyhrGbFgevatRl:
 nop
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
@@ -2238,12 +2238,12 @@
 b__MA4Wfba6ErnqreP1REXAF_8SrngherfR:
 nop
 .data
-.globl b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__114ertrk_vgrengbeVAF_11__jenc_vgreVCXpRRpAF_12ertrk_genvgfVpRRRccRi
+.weak b__MAFg3__114ertrk_vgrengbeVAF_11__jenc_vgreVCXpRRpAF_12ertrk_genvgfVpRRRccRi
 .type b__MAFg3__114ertrk_vgrengbeVAF_11__jenc_vgreVCXpRRpAF_12ertrk_genvgfVpRRRccRi,%function
 b__MAFg3__114ertrk_vgrengbeVAF_11__jenc_vgreVCXpRRpAF_12ertrk_genvgfVpRRRccRi:
 nop
@@ -2263,12 +2263,12 @@
 b__MAX16PtebhcPbagebyyre8UnfInyhrRi:
 nop
 .text
-.globl b__MAFg3__117__bjaf_gjb_fgngrfVpRQ0Ri
+.weak b__MAFg3__117__bjaf_gjb_fgngrfVpRQ0Ri
 .type b__MAFg3__117__bjaf_gjb_fgngrfVpRQ0Ri,%function
 b__MAFg3__117__bjaf_gjb_fgngrfVpRQ0Ri:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprV11GnfxCebsvyrAF_9nyybpngbeVF1_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_rzcynprV11GnfxCebsvyrAF_9nyybpngbeVF1_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_rzcynprV11GnfxCebsvyrAF_9nyybpngbeVF1_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_rzcynprV11GnfxCebsvyrAF_9nyybpngbeVF1_RRR16__ba_mreb_funerqRi:
 nop
@@ -2288,12 +2288,12 @@
 b__MAX4Wfba6Ernqre4tbbqRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCCA4Wfba5InyhrRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCCA4Wfba5InyhrRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
 .type b__MAFg3__114__fcyvg_ohssreVCCA4Wfba5InyhrRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCCA4Wfba5InyhrRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF4_WEXAF_4cnveVXF4_F3_RRRRRAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF5_FA_yRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF4_WEXAF_4cnveVXF4_F3_RRRRRAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF5_FA_yRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF4_WEXAF_4cnveVXF4_F3_RRRRRAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF5_FA_yRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF4_WEXAF_4cnveVXF4_F3_RRRRRAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF5_FA_yRREXG_QcBG0_:
 nop
@@ -2303,7 +2303,7 @@
 b__MA4Wfba12FglyrqJevgre11jevgrVaqragRi:
 nop
 .text
-.globl b__MAXFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -2338,12 +2338,12 @@
 b__MA4Wfba18FglyrqFgernzJevgre12abeznyvmrRBYREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p
+.weak b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p
 .type b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p,%function
 b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -2353,7 +2353,7 @@
 b__MAX4Wfba5Inyhr7vfVag64Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR7erfreirRz:
 nop
@@ -2368,7 +2368,7 @@
 b__MA11GnfxCebsvyr21RanoyrErfbheprPnpuvatRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_:
 nop
@@ -2388,7 +2388,7 @@
 b__MAX4Wfba5Inyhr12nfYnetrfgVagRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR12__svaq_rdhnyVF4_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_FS_RRyRRECAF_15__gerr_raq_abqrVFU_RRFV_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR12__svaq_rdhnyVF4_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_FS_RRyRRECAF_15__gerr_raq_abqrVFU_RRFV_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR12__svaq_rdhnyVF4_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_FS_RRyRRECAF_15__gerr_raq_abqrVFU_RRFV_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR12__svaq_rdhnyVF4_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_FS_RRyRRECAF_15__gerr_raq_abqrVFU_RRFV_EXG_:
 nop
@@ -2398,12 +2398,12 @@
 b_FrgGnfxCebsvyrf:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
 .type b__MAFg3__114__fcyvg_ohssreVCA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_:
 nop
 .text
-.globl b__MAFg3__15qrdhrVCA4Wfba5InyhrRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrVCA4Wfba5InyhrRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrVCA4Wfba5InyhrRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrVCA4Wfba5InyhrRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRi:
 nop
@@ -2453,7 +2453,7 @@
 b__MA15FrgPtebhcNpgvbaP2REX16PtebhcPbagebyyreEXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeV11GnfxCebsvyrRRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeV11GnfxCebsvyrRRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeV11GnfxCebsvyrRRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_10funerq_cgeV11GnfxCebsvyrRRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRREXG_:
 nop
@@ -2463,7 +2463,7 @@
 b__MA4Wfba8Srngherf10fgevpgZbqrRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA4Wfba6Ernqre15FgehpgherqReebeRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
+.weak b__MAFg3__16irpgbeVA4Wfba6Ernqre15FgehpgherqReebeRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
 .type b__MAFg3__16irpgbeVA4Wfba6Ernqre15FgehpgherqReebeRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_,%function
 b__MAFg3__16irpgbeVA4Wfba6Ernqre15FgehpgherqReebeRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_:
 nop
@@ -2498,12 +2498,12 @@
 b__MA4Wfba12FglyrqJevgreP2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaRzEXF4_
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaRzEXF4_
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaRzEXF4_,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaRzEXF4_:
 nop
 .data
-.globl b__MGIAFg3__110__onpx_ersVpRR
+.weak b__MGIAFg3__110__onpx_ersVpRR
 .type b__MGIAFg3__110__onpx_ersVpRR,%object
 b__MGIAFg3__110__onpx_ersVpRR:
 .space __SIZEOF_POINTER__
@@ -2528,12 +2528,12 @@
 b__MAX4Wfba5Inyhr8vfHVag64Ri:
 nop
 .data
-.globl b__MGIAFg3__128__ortva_znexrq_fhorkcerffvbaVpRR
+.weak b__MGIAFg3__128__ortva_znexrq_fhorkcerffvbaVpRR
 .type b__MGIAFg3__128__ortva_znexrq_fhorkcerffvbaVpRR,%object
 b__MGIAFg3__128__ortva_znexrq_fhorkcerffvbaVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_
 .type b__MAFg3__114__fcyvg_ohssreVCA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCA4Wfba6Ernqre9ReebeVasbRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_096.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_096.S
index 8d1e00e..2db402f 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_096.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_096.S
@@ -8,12 +8,12 @@
 b__MA7naqebvq5ivags17tIrefvbaPbairegreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
+.weak b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
 .type b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR,%function
 b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_15ZnavsrfgKzySvyrRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_15ZnavsrfgKzySvyrRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_15ZnavsrfgKzySvyrRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_15ZnavsrfgKzySvyrRRR:
 .space __SIZEOF_POINTER__
@@ -28,12 +28,12 @@
 b__MA7naqebvq5ivags22XrearyPbasvtGlcrqInyhrP1RAF0_8GevfgngrR:
 nop
 .text
-.globl b__MAXFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeV5AnzrqVA7naqebvq5ivags19PbzcngvovyvglZngevkRRAF_9nyybpngbeVF5_RRR24__rzcynpr_onpx_fybj_cnguVWF5_RRRiQcBG_
+.weak b__MAFg3__16irpgbeV5AnzrqVA7naqebvq5ivags19PbzcngvovyvglZngevkRRAF_9nyybpngbeVF5_RRR24__rzcynpr_onpx_fybj_cnguVWF5_RRRiQcBG_
 .type b__MAFg3__16irpgbeV5AnzrqVA7naqebvq5ivags19PbzcngvovyvglZngevkRRAF_9nyybpngbeVF5_RRR24__rzcynpr_onpx_fybj_cnguVWF5_RRRiQcBG_,%function
 b__MAFg3__16irpgbeV5AnzrqVA7naqebvq5ivags19PbzcngvovyvglZngevkRRAF_9nyybpngbeVF5_RRR24__rzcynpr_onpx_fybj_cnguVWF5_RRRiQcBG_:
 nop
@@ -43,17 +43,17 @@
 b__MA7naqebvq5ivags10cnefrEnatrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCAF1_4cnveVzzRR:
 nop
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR20__rzcynpr_uvag_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRAF_21__gerr_pbafg_vgrengbeVFO_FF_yRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR20__rzcynpr_uvag_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRAF_21__gerr_pbafg_vgrengbeVFO_FF_yRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR20__rzcynpr_uvag_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRAF_21__gerr_pbafg_vgrengbeVFO_FF_yRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR20__rzcynpr_uvag_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRAF_21__gerr_pbafg_vgrengbeVFO_FF_yRRQcBG_:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_9IraqbeAqxRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_9IraqbeAqxRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_9IraqbeAqxRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_9IraqbeAqxRRR:
 .space __SIZEOF_POINTER__
@@ -63,7 +63,7 @@
 b__MAX7naqebvq5ivags11UnyZnavsrfg4glcrRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6vafregRAF_11__jenc_vgreVCXF6_RRBF6_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6vafregRAF_11__jenc_vgreVCXF6_RRBF6_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6vafregRAF_11__jenc_vgreVCXF6_RRBF6_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6vafregRAF_11__jenc_vgreVCXF6_RRBF6_:
 nop
@@ -93,12 +93,12 @@
 b__MAX7naqebvq5ivags14ZngevkVafgnapr7vfErtrkRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAFg3__14cnveVAF0_15XrearyPbasvtXrlRAF0_22XrearyPbasvtGlcrqInyhrRRRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAFg3__14cnveVAF0_15XrearyPbasvtXrlRAF0_22XrearyPbasvtGlcrqInyhrRRRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAFg3__14cnveVAF0_15XrearyPbasvtXrlRAF0_22XrearyPbasvtGlcrqInyhrRRRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAFg3__14cnveVAF0_15XrearyPbasvtXrlRAF0_22XrearyPbasvtGlcrqInyhrRRRRR:
 .space __SIZEOF_POINTER__
@@ -108,7 +108,7 @@
 b__MAX7naqebvq5ivags7qrgnvyf19SvyrFlfgrzHaqreCngu5srgpuREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCF9_FP_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVCXpRRG_F7_F7_:
 nop
@@ -118,7 +118,7 @@
 b__MA7naqebvq5ivags20cnefrXrearyPbasvtVagREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCz:
 nop
 .text
-.globl b__MAXFg3__111__raq_fgngrVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__111__raq_fgngrVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__111__raq_fgngrVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__111__raq_fgngrVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -133,7 +133,7 @@
 b__MA7naqebvq5ivagsyfREAFg3__113onfvp_bfgernzVpAF1_11pune_genvgfVpRRRRAF0_9GenafcbegR:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags18IraqbeAqxPbairegreR
+.weak b__MGIA7naqebvq5ivags18IraqbeAqxPbairegreR
 .type b__MGIA7naqebvq5ivags18IraqbeAqxPbairegreR,%object
 b__MGIA7naqebvq5ivags18IraqbeAqxPbairegreR:
 .space __SIZEOF_POINTER__
@@ -143,22 +143,22 @@
 b__MA7naqebvq5ivags9ZngevkUny19vafregIrefvbaEnatrfREXAFg3__16irpgbeVAF0_12IrefvbaEnatrRAF2_9nyybpngbeVF4_RRRR:
 nop
 .text
-.globl b__MAXFg3__16__ybbcVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__16__ybbcVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__16__ybbcVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__16__ybbcVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR4svaqVF7_RRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRREXG_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR6erunfuRz:
 nop
 .text
-.globl b__MAFg3__113__irpgbe_onfrVA7naqebvq5ivags15ZnavsrfgKzySvyrRAF_9nyybpngbeVF3_RRRQ2Ri
+.weak b__MAFg3__113__irpgbe_onfrVA7naqebvq5ivags15ZnavsrfgKzySvyrRAF_9nyybpngbeVF3_RRRQ2Ri
 .type b__MAFg3__113__irpgbe_onfrVA7naqebvq5ivags15ZnavsrfgKzySvyrRAF_9nyybpngbeVF3_RRRQ2Ri,%function
 b__MAFg3__113__irpgbe_onfrVA7naqebvq5ivags15ZnavsrfgKzySvyrRAF_9nyybpngbeVF3_RRRQ2Ri:
 nop
@@ -168,22 +168,22 @@
 b__MGIA7naqebvq5ivags19PbzcngvovyvglZngevkR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR29__zngpu_ng_fgneg_cbfvk_abfhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
+.weak b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR29__zngpu_ng_fgneg_cbfvk_abfhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
 .type b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR29__zngpu_ng_fgneg_cbfvk_abfhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo,%function
 b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR29__zngpu_ng_fgneg_cbfvk_abfhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRREXG_:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags8UnyTebhcVAF0_9ZngevkUnyRRR
+.weak b__MGIA7naqebvq5ivags8UnyTebhcVAF0_9ZngevkUnyRRR
 .type b__MGIA7naqebvq5ivags8UnyTebhcVAF0_9ZngevkUnyRRR,%object
 b__MGIA7naqebvq5ivags8UnyTebhcVAF0_9ZngevkUnyRRR:
 .space __SIZEOF_POINTER__
@@ -213,22 +213,22 @@
 b__MA7naqebvq5ivags16ZnavsrfgVafgnaprP2RBAF_10SdVafgnaprRBAF0_13GenafcbegNepuRAF0_9UnySbezngR:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVAF0_22XrearyPbasvtGlcrqInyhrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVAF0_22XrearyPbasvtGlcrqInyhrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVAF0_22XrearyPbasvtGlcrqInyhrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVAF0_22XrearyPbasvtGlcrqInyhrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_12IrefvbaEnatrRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_12IrefvbaEnatrRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_12IrefvbaEnatrRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_12IrefvbaEnatrRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq4onfr4WbvaVAFg3__13frgVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_4yrffVF9_RRAF7_VF9_RRRRCXpRRF9_EXG_G0_
+.weak b__MA7naqebvq4onfr4WbvaVAFg3__13frgVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_4yrffVF9_RRAF7_VF9_RRRRCXpRRF9_EXG_G0_
 .type b__MA7naqebvq4onfr4WbvaVAFg3__13frgVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_4yrffVF9_RRAF7_VF9_RRRRCXpRRF9_EXG_G0_,%function
 b__MA7naqebvq4onfr4WbvaVAFg3__13frgVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_4yrffVF9_RRAF7_VF9_RRRRCXpRRF9_EXG_G0_:
 nop
@@ -238,7 +238,7 @@
 b__MAX7naqebvq5ivags16ZnavsrfgVafgnapr9genafcbegRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR19__cnefr_nygreangvirVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR19__cnefr_nygreangvirVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR19__cnefr_nygreangvirVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR19__cnefr_nygreangvirVCXpRRG_F7_F7_:
 nop
@@ -253,22 +253,22 @@
 b__MAX7naqebvq5ivags11EhagvzrVasb13xrearyPbasvtfRi:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags21ZngevkXrearyPbairegreR
+.weak b__MGIA7naqebvq5ivags21ZngevkXrearyPbairegreR
 .type b__MGIA7naqebvq5ivags21ZngevkXrearyPbairegreR,%object
 b__MGIA7naqebvq5ivags21ZngevkXrearyPbairegreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR4flapRi
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR4flapRi
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR4flapRi,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR4flapRi:
 nop
 .text
-.globl b__MAXFg3__126__raq_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__126__raq_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__126__raq_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__126__raq_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVCXpRRG_F7_F7_:
 nop
@@ -283,17 +283,17 @@
 b__MA7naqebvq5ivagsyfREAFg3__113onfvp_bfgernzVpAF1_11pune_genvgfVpRRRREXAF0_13XrearyIrefvbaR:
 nop
 .text
-.globl b__MA7naqebvq5ivags15zhygvyvarVaqragVAFg3__13frgVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_4yrffVF9_RRAF7_VF9_RRRRRRiEAF2_13onfvp_bfgernzVpF6_RRzEXG_
+.weak b__MA7naqebvq5ivags15zhygvyvarVaqragVAFg3__13frgVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_4yrffVF9_RRAF7_VF9_RRRRRRiEAF2_13onfvp_bfgernzVpF6_RRzEXG_
 .type b__MA7naqebvq5ivags15zhygvyvarVaqragVAFg3__13frgVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_4yrffVF9_RRAF7_VF9_RRRRRRiEAF2_13onfvp_bfgernzVpF6_RRzEXG_,%function
 b__MA7naqebvq5ivags15zhygvyvarVaqragVAFg3__13frgVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_4yrffVF9_RRAF7_VF9_RRRRRRiEAF2_13onfvp_bfgernzVpF6_RRzEXG_:
 nop
 .text
-.globl b__MAXFg3__111__nygreangrVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__111__nygreangrVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__111__nygreangrVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__111__nygreangrVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRz:
 nop
@@ -308,12 +308,12 @@
 b__MA7naqebvq5ivags11IvagsBowrpg18purpxPbzcngvovyvglRCAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF0_10PurpxSyntf4GlcrR:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_10XrearyVasbRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_10XrearyVasbRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_10XrearyVasbRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_10XrearyVasbRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_9FlfgrzFqxRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_9FlfgrzFqxRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_9FlfgrzFqxRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_9FlfgrzFqxRRR:
 .space __SIZEOF_POINTER__
@@ -323,12 +323,12 @@
 b__MA7naqebvq5ivags19PbzcngvovyvglZngevk9nqqXrearyRBAF0_12ZngevkXrearyRCAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF6_RRR9chfu_onpxRBF6_
+.weak b__MAFg3__114__fcyvg_ohssreVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF6_RRR9chfu_onpxRBF6_
 .type b__MAFg3__114__fcyvg_ohssreVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF6_RRR9chfu_onpxRBF6_,%function
 b__MAFg3__114__fcyvg_ohssreVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF4_VF6_RRR9chfu_onpxRBF6_:
 nop
@@ -338,7 +338,7 @@
 b__MAX7naqebvq5ivags12UnyVagresnpr15sbeRnpuVafgnaprREXAFg3__18shapgvbaVSoEXAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRFO_oRRR:
 nop
 .text
-.globl b__MAFg3__116__bjaf_bar_fgngrVpRQ0Ri
+.weak b__MAFg3__116__bjaf_bar_fgngrVpRQ0Ri
 .type b__MAFg3__116__bjaf_bar_fgngrVpRQ0Ri,%function
 b__MAFg3__116__bjaf_bar_fgngrVpRQ0Ri:
 nop
@@ -358,7 +358,7 @@
 b__MA7naqebvq5ivags25iaqxIrefvbaEnatrPbairegreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags4IaqxRAF_9nyybpngbeVF3_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags4IaqxRAF_9nyybpngbeVF3_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags4IaqxRAF_9nyybpngbeVF3_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags4IaqxRAF_9nyybpngbeVF3_RRR8__nccraqRz:
 nop
@@ -368,12 +368,12 @@
 b__MAX7naqebvq5ivags19PbzcngvovyvglZngevk24sbeRnpuVafgnaprBsIrefvbaRAF0_9UnySbezngREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXAF0_7IrefvbaREXAF3_8shapgvbaVSoEXAF0_14ZngevkVafgnaprRRRR:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9haqresybjRi
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9haqresybjRi
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9haqresybjRi,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9haqresybjRi:
 nop
 .text
-.globl b__MAXFg3__113__rzcgl_fgngrVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__113__rzcgl_fgngrVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__113__rzcgl_fgngrVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__113__rzcgl_fgngrVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -418,22 +418,22 @@
 b__MA7naqebvq5ivags7qrgnvyf12qhzcSvyrYvfgRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WXF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WXF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WXF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WXF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags11ZnavsrfgUnyRAF_9nyybpngbeVF3_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF3_EF5_RR
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags11ZnavsrfgUnyRAF_9nyybpngbeVF3_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF3_EF5_RR
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags11ZnavsrfgUnyRAF_9nyybpngbeVF3_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF3_EF5_RR,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags11ZnavsrfgUnyRAF_9nyybpngbeVF3_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF3_EF5_RR:
 nop
 .data
-.globl b__MGGAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGGAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGGAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGGAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__128__ortva_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__128__ortva_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__128__ortva_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__128__ortva_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -443,7 +443,7 @@
 b__MA7naqebvq5ivagsyfREAFg3__113onfvp_bfgernzVpAF1_11pune_genvgfVpRRRRAF0_8GevfgngrR:
 nop
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -453,7 +453,7 @@
 b__MA7naqebvq5ivags19PbzcngvovyvglZngevk13nqqNyyXrearyfRCF1_CAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ0Ri
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ0Ri
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ0Ri,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ0Ri:
 nop
@@ -463,12 +463,12 @@
 b__MAX7naqebvq5ivags11UnyZnavsrfg16trgUvqyGenafcbegREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF0_7IrefvbaRFN_FN_:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv:
 nop
 .data
-.globl b__MGIAFg3__112__zngpu_puneVpRR
+.weak b__MGIAFg3__112__zngpu_puneVpRR
 .type b__MGIAFg3__112__zngpu_puneVpRR,%object
 b__MGIAFg3__112__zngpu_puneVpRR:
 .space __SIZEOF_POINTER__
@@ -483,27 +483,27 @@
 b__MA7naqebvq5ivags7qrgnvyf5ErtrkQ2Ri:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWF7_FN_RRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWF7_FN_RRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWF7_FN_RRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWF7_FN_RRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVA7naqebvq5ivags15XrearyPbasvtXrlRAF3_22XrearyPbasvtGlcrqInyhrRRRAF_9nyybpngbeVF6_RRR6vafregVAF_11__jenc_vgreVCXF6_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF6_AF_15vgrengbe_genvgfVFT_R9ersreraprRRR5inyhrRAFO_VCF6_RRR4glcrRFR_FT_FT_
+.weak b__MAFg3__16irpgbeVAF_4cnveVA7naqebvq5ivags15XrearyPbasvtXrlRAF3_22XrearyPbasvtGlcrqInyhrRRRAF_9nyybpngbeVF6_RRR6vafregVAF_11__jenc_vgreVCXF6_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF6_AF_15vgrengbe_genvgfVFT_R9ersreraprRRR5inyhrRAFO_VCF6_RRR4glcrRFR_FT_FT_
 .type b__MAFg3__16irpgbeVAF_4cnveVA7naqebvq5ivags15XrearyPbasvtXrlRAF3_22XrearyPbasvtGlcrqInyhrRRRAF_9nyybpngbeVF6_RRR6vafregVAF_11__jenc_vgreVCXF6_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF6_AF_15vgrengbe_genvgfVFT_R9ersreraprRRR5inyhrRAFO_VCF6_RRR4glcrRFR_FT_FT_,%function
 b__MAFg3__16irpgbeVAF_4cnveVA7naqebvq5ivags15XrearyPbasvtXrlRAF3_22XrearyPbasvtGlcrqInyhrRRRAF_9nyybpngbeVF6_RRR6vafregVAF_11__jenc_vgreVCXF6_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF6_AF_15vgrengbe_genvgfVFT_R9ersreraprRRR5inyhrRAFO_VCF6_RRR4glcrRFR_FT_FT_:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags8UnyTebhcVAF0_11ZnavsrfgUnyRRR
+.weak b__MGIA7naqebvq5ivags8UnyTebhcVAF0_11ZnavsrfgUnyRRR
 .type b__MGIA7naqebvq5ivags8UnyTebhcVAF0_11ZnavsrfgUnyRRR,%object
 b__MGIA7naqebvq5ivags8UnyTebhcVAF0_11ZnavsrfgUnyRRR:
 .space __SIZEOF_POINTER__
@@ -528,7 +528,7 @@
 b__MA7naqebvq5ivags5cnefrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCAF0_13GenafcbegNepuR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_:
 nop
@@ -543,7 +543,7 @@
 b__MA7naqebvq5ivags11UnyZnavsrfg6nqqNyyRCF1_CAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRR:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_9nyybpngbeVF3_RRRR
+.weak b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_9nyybpngbeVF3_RRRR
 .type b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_9nyybpngbeVF3_RRRR,%object
 b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_9nyybpngbeVF3_RRRR:
 .space __SIZEOF_POINTER__
@@ -563,7 +563,7 @@
 b__MA7naqebvq5ivags11IvagsBowrpg14TrgEhagvzrVasbRow:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags7IrefvbaRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags7IrefvbaRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags7IrefvbaRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags7IrefvbaRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_:
 nop
@@ -578,12 +578,12 @@
 b__MA7naqebvq5ivags25flfgrzFqxIrefvbaPbairegreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVAF0_9UnySbezngRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVAF0_9UnySbezngRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVAF0_9UnySbezngRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVAF0_9UnySbezngRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVA7naqebvq5ivags15XrearyPbasvtXrlRAF3_22XrearyPbasvtGlcrqInyhrRRRAF_9nyybpngbeVF6_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_4cnveVA7naqebvq5ivags15XrearyPbasvtXrlRAF3_22XrearyPbasvtGlcrqInyhrRRRAF_9nyybpngbeVF6_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_4cnveVA7naqebvq5ivags15XrearyPbasvtXrlRAF3_22XrearyPbasvtGlcrqInyhrRRRAF_9nyybpngbeVF6_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_4cnveVA7naqebvq5ivags15XrearyPbasvtXrlRAF3_22XrearyPbasvtGlcrqInyhrRRRAF_9nyybpngbeVF6_RRR8__nccraqRz:
 nop
@@ -593,12 +593,12 @@
 b__MA7naqebvq5ivags7qrgnvyf19xIraqbeYrtnplZngevkR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR:
 nop
@@ -613,7 +613,7 @@
 b__MAX7naqebvq5ivags11UnyZnavsrfg24trarengrPbzcngvoyrZngevkRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRRRiG_FV_
+.weak b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRRRiG_FV_
 .type b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRRRiG_FV_,%function
 b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRRRiG_FV_:
 nop
@@ -638,7 +638,7 @@
 b__MA7naqebvq5ivags18EhagvzrVasbSrgpure23srgpuXrearyFrcbyvplIrefRi:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags24ZnavsrfgKzySvyrPbairegreR
+.weak b__MGIA7naqebvq5ivags24ZnavsrfgKzySvyrPbairegreR
 .type b__MGIA7naqebvq5ivags24ZnavsrfgKzySvyrPbairegreR,%object
 b__MGIA7naqebvq5ivags24ZnavsrfgKzySvyrPbairegreR:
 .space __SIZEOF_POINTER__
@@ -648,7 +648,7 @@
 b__MAX7naqebvq5ivags11UnyZnavsrfg15purpxHahfrqUnyfREXAF0_19PbzcngvovyvglZngevkR:
 nop
 .text
-.globl b__MA7naqebvq4onfr9CnefrHvagVzRRoCXpCG_F4_o
+.weak b__MA7naqebvq4onfr9CnefrHvagVzRRoCXpCG_F4_o
 .type b__MA7naqebvq4onfr9CnefrHvagVzRRoCXpCG_F4_o,%function
 b__MA7naqebvq4onfr9CnefrHvagVzRRoCXpCG_F4_o:
 nop
@@ -658,17 +658,17 @@
 b__MA7naqebvq5ivags18zngevkUnyPbairegreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR:
 nop
 .text
-.globl b__MAFg3__117__bjaf_gjb_fgngrfVpRQ2Ri
+.weak b__MAFg3__117__bjaf_gjb_fgngrfVpRQ2Ri
 .type b__MAFg3__117__bjaf_gjb_fgngrfVpRQ2Ri,%function
 b__MAFg3__117__bjaf_gjb_fgngrfVpRQ2Ri:
 nop
 .data
-.globl b__MGIAFg3__117__bjaf_gjb_fgngrfVpRR
+.weak b__MGIAFg3__117__bjaf_gjb_fgngrfVpRR
 .type b__MGIAFg3__117__bjaf_gjb_fgngrfVpRR,%object
 b__MGIAFg3__117__bjaf_gjb_fgngrfVpRR:
 .space __SIZEOF_POINTER__
@@ -683,7 +683,7 @@
 b__MA7naqebvq5ivags5cnefrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCAF0_8GevfgngrR:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -693,12 +693,12 @@
 b__MA7naqebvq5ivags20iaqxYvoenelPbairegreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags12NioPbairegreR
+.weak b__MGIA7naqebvq5ivags12NioPbairegreR
 .type b__MGIA7naqebvq5ivags12NioPbairegreR,%object
 b__MGIA7naqebvq5ivags12NioPbairegreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_21XrearyFrcbyvplIrefvbaRRR
+.weak b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_21XrearyFrcbyvplIrefvbaRRR
 .type b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_21XrearyFrcbyvplIrefvbaRRR,%object
 b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_21XrearyFrcbyvplIrefvbaRRR:
 .space __SIZEOF_POINTER__
@@ -713,7 +713,7 @@
 b__MAX7naqebvq5ivags13GenafcbegNepu7vfInyvqRi:
 nop
 .text
-.globl b__MAXFg3__121__rzcgl_aba_bja_fgngrVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__121__rzcgl_aba_bja_fgngrVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__121__rzcgl_aba_bja_fgngrVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__121__rzcgl_aba_bja_fgngrVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -723,7 +723,7 @@
 b__MA7naqebvq5ivags11IvagsBowrpg11TrgVafgnaprRi:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags20UnyZnavsrfgPbairegreR
+.weak b__MGIA7naqebvq5ivags20UnyZnavsrfgPbairegreR
 .type b__MGIA7naqebvq5ivags20UnyZnavsrfgPbairegreR,%object
 b__MGIA7naqebvq5ivags20UnyZnavsrfgPbairegreR:
 .space __SIZEOF_POINTER__
@@ -743,17 +743,17 @@
 b__MA7naqebvq5ivags7qrgnvyf18xBqzYrtnplZnavsrfgR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_16IaqxIrefvbaEnatrRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_16IaqxIrefvbaEnatrRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_16IaqxIrefvbaEnatrRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_16IaqxIrefvbaEnatrRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR:
 nop
@@ -763,12 +763,12 @@
 b__MAX7naqebvq5ivags7qrgnvyf19SvyrFlfgrzHaqreCngu10trgEbbgQveRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_:
 nop
@@ -778,7 +778,7 @@
 b__MA7naqebvq5ivags14gbSDAnzrFgevatREXAF0_12IrefvbaEnatrREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRFP_:
 nop
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVzRRAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVzRRAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVzRRAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVzRRAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXG_:
 nop
@@ -793,7 +793,7 @@
 b__MAX7naqebvq5ivags11EhagvzrVasb21xrearyFrcbyvplIrefvbaRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
@@ -808,7 +808,7 @@
 b__MA7naqebvq5ivags12UnyVagresnpr14erzbirVafgnaprREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF8_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF8_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF8_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF8_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_:
 nop
@@ -818,7 +818,7 @@
 b__MA7naqebvq5ivags14gbSDAnzrFgevatREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRF9_:
 nop
 .data
-.globl b__MGPAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -828,12 +828,12 @@
 b__MA7naqebvq5ivags14gbSDAnzrFgevatREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRREXAF0_12IrefvbaEnatrRF9_F9_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR:
 nop
 .data
-.globl b__MGIAFg3__123__zngpu_nal_ohg_arjyvarVpRR
+.weak b__MGIAFg3__123__zngpu_nal_ohg_arjyvarVpRR
 .type b__MGIAFg3__123__zngpu_nal_ohg_arjyvarVpRR,%object
 b__MGIAFg3__123__zngpu_nal_ohg_arjyvarVpRR:
 .space __SIZEOF_POINTER__
@@ -843,7 +843,7 @@
 b__MAX7naqebvq5ivags11EhagvzrVasb11xrearyYriryRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_CiRRyRR
+.weak b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_CiRRyRR
 .type b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_CiRRyRR,%function
 b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_CiRRyRR:
 nop
@@ -853,12 +853,12 @@
 b__MA7naqebvq5ivags9ZngevkUny14erzbirVafgnaprREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRFN_o:
 nop
 .data
-.globl b__MGIAFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq5ivags5YriryRAF_6irpgbeVCXAF3_12ZngevkXrearyRAF_9nyybpngbeVF8_RRRRRRAF_19__znc_inyhr_pbzcnerVF4_FP_AF_4yrffVF4_RRYo1RRRAF9_VFP_RRR7qrfgeblRCAF_11__gerr_abqrVFP_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq5ivags5YriryRAF_6irpgbeVCXAF3_12ZngevkXrearyRAF_9nyybpngbeVF8_RRRRRRAF_19__znc_inyhr_pbzcnerVF4_FP_AF_4yrffVF4_RRYo1RRRAF9_VFP_RRR7qrfgeblRCAF_11__gerr_abqrVFP_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq5ivags5YriryRAF_6irpgbeVCXAF3_12ZngevkXrearyRAF_9nyybpngbeVF8_RRRRRRAF_19__znc_inyhr_pbzcnerVF4_FP_AF_4yrffVF4_RRYo1RRRAF9_VFP_RRR7qrfgeblRCAF_11__gerr_abqrVFP_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA7naqebvq5ivags5YriryRAF_6irpgbeVCXAF3_12ZngevkXrearyRAF_9nyybpngbeVF8_RRRRRRAF_19__znc_inyhr_pbzcnerVF4_FP_AF_4yrffVF4_RRYo1RRRAF9_VFP_RRR7qrfgeblRCAF_11__gerr_abqrVFP_CiRR:
 nop
@@ -883,7 +883,7 @@
 b__MA7naqebvq5ivags11UnyZnavsrfg3nqqRBAF0_11ZnavsrfgUnyR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
@@ -913,7 +913,7 @@
 b__MA7naqebvq5ivags11FcyvgFgevatREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRp:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXF7_FN_RRRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXF7_FN_RRRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXF7_FN_RRRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXF7_FN_RRRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -923,7 +923,7 @@
 b__MA7naqebvq5ivags19PbzcngvovyvglZngevk12nqqIraqbeAqxRCF1_CAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRR:
 nop
 .data
-.globl b__MGIAFg3__111__raq_fgngrVpRR
+.weak b__MGIAFg3__111__raq_fgngrVpRR
 .type b__MGIAFg3__111__raq_fgngrVpRR,%object
 b__MGIAFg3__111__raq_fgngrVpRR:
 .space __SIZEOF_POINTER__
@@ -938,7 +938,7 @@
 b__MA7naqebvq5ivags19xrearyVasbPbairegreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_11ZnavsrfgUnyRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_11ZnavsrfgUnyRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_11ZnavsrfgUnyRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_11ZnavsrfgUnyRRR:
 .space __SIZEOF_POINTER__
@@ -948,7 +948,7 @@
 b__MGIA7naqebvq5ivags7qrgnvyf14SvyrFlfgrzVzcyR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__zngpu_ng_fgneg_rpznVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
+.weak b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__zngpu_ng_fgneg_rpznVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
 .type b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__zngpu_ng_fgneg_rpznVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo,%function
 b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__zngpu_ng_fgneg_rpznVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo:
 nop
@@ -963,12 +963,12 @@
 b__MA7naqebvq5ivags14ZngevkVafgnaprP1RAF0_9UnySbezngRBAF_10SdVafgnaprRBAF0_12IrefvbaEnatrRoo:
 nop
 .text
-.globl b__MA7naqebvq5ivags15zhygvyvarVaqragVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRRRiEAF2_13onfvp_bfgernzVpF6_RRzEXG_
+.weak b__MA7naqebvq5ivags15zhygvyvarVaqragVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRRRiEAF2_13onfvp_bfgernzVpF6_RRzEXG_
 .type b__MA7naqebvq5ivags15zhygvyvarVaqragVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRRRiEAF2_13onfvp_bfgernzVpF6_RRzEXG_,%function
 b__MA7naqebvq5ivags15zhygvyvarVaqragVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRRRiEAF2_13onfvp_bfgernzVpF6_RRzEXG_:
 nop
 .data
-.globl b__MGIAFg3__116__bjaf_bar_fgngrVpRR
+.weak b__MGIAFg3__116__bjaf_bar_fgngrVpRR
 .type b__MGIAFg3__116__bjaf_bar_fgngrVpRR,%object
 b__MGIAFg3__116__bjaf_bar_fgngrVpRR:
 .space __SIZEOF_POINTER__
@@ -983,22 +983,22 @@
 b__MA7naqebvq5ivags18EhagvzrVasbSrgpure12srgpuPchVasbRi:
 nop
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags12IrefvbaEnatrRAF_9nyybpngbeVF3_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags12IrefvbaEnatrRAF_9nyybpngbeVF3_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags12IrefvbaEnatrRAF_9nyybpngbeVF3_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags12IrefvbaEnatrRAF_9nyybpngbeVF3_RRR8__nccraqRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_
+.weak b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_
 .type b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_,%function
 b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_:
 nop
@@ -1008,22 +1008,22 @@
 b__MAX7naqebvq5ivags14ZngevkVafgnapr8bcgvbanyRi:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_11UnyZnavsrfgRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_11UnyZnavsrfgRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_11UnyZnavsrfgRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_11UnyZnavsrfgRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRR
+.weak b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRR
 .type b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRR,%object
 b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRR:
 .space __SIZEOF_POINTER__
@@ -1043,17 +1043,17 @@
 b__MA7naqebvq5ivags7qrgnvyf26xFlfgrzZnavsrfgSentzragQveR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVCXpRRG_F7_F7_:
 nop
 .data
-.globl b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_:
 nop
@@ -1078,12 +1078,12 @@
 b__MA7naqebvq5ivagsyfREAFg3__113onfvp_bfgernzVpAF1_11pune_genvgfVpRRRREXAF0_7IrefvbaR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCXA7naqebvq5ivags11ZnavsrfgUnyRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVCXA7naqebvq5ivags11ZnavsrfgUnyRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVCXA7naqebvq5ivags11ZnavsrfgUnyRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVCXA7naqebvq5ivags11ZnavsrfgUnyRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi:
 nop
@@ -1093,7 +1093,7 @@
 b__MA7naqebvq5ivags14gbSDAnzrFgevatREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRF9_F9_F9_:
 nop
 .text
-.globl b__MA7naqebvq5ivags5cnefrVAF0_7IrefvbaRRRoEXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCAF3_6irpgbeVG_AF7_VFQ_RRRR
+.weak b__MA7naqebvq5ivags5cnefrVAF0_7IrefvbaRRRoEXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCAF3_6irpgbeVG_AF7_VFQ_RRRR
 .type b__MA7naqebvq5ivags5cnefrVAF0_7IrefvbaRRRoEXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCAF3_6irpgbeVG_AF7_VFQ_RRRR,%function
 b__MA7naqebvq5ivags5cnefrVAF0_7IrefvbaRRRoEXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCAF3_6irpgbeVG_AF7_VFQ_RRRR:
 nop
@@ -1103,7 +1103,7 @@
 b__MA7naqebvq5ivags12UnyVagresnpr14vafregVafgnaprREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRo:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_7IrefvbaRRR
+.weak b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_7IrefvbaRRR
 .type b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_7IrefvbaRRR,%object
 b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_7IrefvbaRRR:
 .space __SIZEOF_POINTER__
@@ -1113,12 +1113,12 @@
 b__MA7naqebvq5ivags11IvagsBowrpg15VfUnyQrcerpngrqREXAF0_9ZngevkUnyREXAF0_19PbzcngvovyvglZngevkREXAFg3__18shapgvbaVSAF8_6irpgbeVAF8_4cnveVAF8_12onfvp_fgevatVpAF8_11pune_genvgfVpRRAF8_9nyybpngbeVpRRRRAF0_7IrefvbaRRRAFS_VFW_RRRREXFU_FV_FA_EXAFN_VFU_AFS_VFU_RRRRRRRCFU_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags12ZngevkXrearyRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags12ZngevkXrearyRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags12ZngevkXrearyRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags12ZngevkXrearyRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR15__rzcynpr_zhygvVWEXF3_RRRAF_15__gerr_vgrengbeVF3_CAF_11__gerr_abqrVF3_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR15__rzcynpr_zhygvVWEXF3_RRRAF_15__gerr_vgrengbeVF3_CAF_11__gerr_abqrVF3_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR15__rzcynpr_zhygvVWEXF3_RRRAF_15__gerr_vgrengbeVF3_CAF_11__gerr_abqrVF3_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR15__rzcynpr_zhygvVWEXF3_RRRAF_15__gerr_vgrengbeVF3_CAF_11__gerr_abqrVF3_CiRRyRRQcBG_:
 nop
@@ -1128,12 +1128,12 @@
 b__MA7naqebvq5ivags14ZngevkVafgnaprP1REXF1_:
 nop
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRRF8_EXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRRF8_EXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRRF8_EXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRRF8_EXG_:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags31ZngevkXrearyPbaqvgvbafPbairegreR
+.weak b__MGIA7naqebvq5ivags31ZngevkXrearyPbaqvgvbafPbairegreR
 .type b__MGIA7naqebvq5ivags31ZngevkXrearyPbaqvgvbafPbairegreR,%object
 b__MGIA7naqebvq5ivags31ZngevkXrearyPbaqvgvbafPbairegreR:
 .space __SIZEOF_POINTER__
@@ -1148,7 +1148,7 @@
 b__MA7naqebvq5ivags14ZngevkVafgnaprP2RAF0_9UnySbezngRAF_10SdVafgnaprREXAF0_12IrefvbaEnatrRoo:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_15XrearyPbasvtXrlRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_15XrearyPbasvtXrlRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_15XrearyPbasvtXrlRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_15XrearyPbasvtXrlRRR:
 .space __SIZEOF_POINTER__
@@ -1163,37 +1163,37 @@
 b__MA7naqebvq5ivags11EhagvzrVasb19srgpuNyyVasbezngvbaRw:
 nop
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVAF_10SdVafgnaprRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVAF_10SdVafgnaprRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVAF_10SdVafgnaprRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVAF_10SdVafgnaprRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyCnvePbairegreVAFg3__14cnveVAF0_15XrearyPbasvtXrlRAF0_22XrearyPbasvtGlcrqInyhrRRRRR
+.weak b__MGIA7naqebvq5ivags16KzyCnvePbairegreVAFg3__14cnveVAF0_15XrearyPbasvtXrlRAF0_22XrearyPbasvtGlcrqInyhrRRRRR
 .type b__MGIA7naqebvq5ivags16KzyCnvePbairegreVAFg3__14cnveVAF0_15XrearyPbasvtXrlRAF0_22XrearyPbasvtGlcrqInyhrRRRRR,%object
 b__MGIA7naqebvq5ivags16KzyCnvePbairegreVAFg3__14cnveVAF0_15XrearyPbasvtXrlRAF0_22XrearyPbasvtGlcrqInyhrRRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_:
 nop
 .text
-.globl b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR27__zngpu_ng_fgneg_cbfvk_fhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
+.weak b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR27__zngpu_ng_fgneg_cbfvk_fhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
 .type b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR27__zngpu_ng_fgneg_cbfvk_fhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo,%function
 b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR27__zngpu_ng_fgneg_cbfvk_fhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_puneRp
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_puneRp
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_puneRp,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_puneRp:
 nop
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVAF0_8GevfgngrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVAF0_8GevfgngrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVAF0_8GevfgngrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVAF0_8GevfgngrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_:
 nop
@@ -1203,7 +1203,7 @@
 b__MA7naqebvq5ivagsyfREAFg3__113onfvp_bfgernzVpAF1_11pune_genvgfVpRRRREXAF0_11ZnavsrfgUnyR:
 nop
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVAF0_10FpurznGlcrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVAF0_10FpurznGlcrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVAF0_10FpurznGlcrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVAF0_10FpurznGlcrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_:
 nop
@@ -1213,7 +1213,7 @@
 b__MAX7naqebvq5ivags16ZnavsrfgVafgnapr8vafgnaprRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR21__rzcynpr_havdhr_vzcyVWEXAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRF7_RRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR21__rzcynpr_havdhr_vzcyVWEXAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRF7_RRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR21__rzcynpr_havdhr_vzcyVWEXAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRF7_RRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR21__rzcynpr_havdhr_vzcyVWEXAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRF7_RRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRRQcBG_:
 nop
@@ -1238,12 +1238,12 @@
 b__MA7naqebvq5ivags21irefvbaEnatrPbairegreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_12IrefvbaEnatrRRR
+.weak b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_12IrefvbaEnatrRRR
 .type b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_12IrefvbaEnatrRRR,%object
 b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_12IrefvbaEnatrRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR6frgohsRCpy
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR6frgohsRCpy
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR6frgohsRCpy,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR6frgohsRCpy:
 nop
@@ -1263,17 +1263,17 @@
 b__MAX7naqebvq5ivags13GenafcbegNepu5rzcglRi:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags20ZnavsrfgUnyPbairegreR
+.weak b__MGIA7naqebvq5ivags20ZnavsrfgUnyPbairegreR
 .type b__MGIA7naqebvq5ivags20ZnavsrfgUnyPbairegreR,%object
 b__MGIA7naqebvq5ivags20ZnavsrfgUnyPbairegreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags18ZngevkUnyPbairegreR
+.weak b__MGIA7naqebvq5ivags18ZngevkUnyPbairegreR
 .type b__MGIA7naqebvq5ivags18ZngevkUnyPbairegreR,%object
 b__MGIA7naqebvq5ivags18ZngevkUnyPbairegreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR
+.weak b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR
 .type b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR,%object
 b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR:
 .space __SIZEOF_POINTER__
@@ -1288,12 +1288,12 @@
 b__MA7naqebvq5ivags24znavsrfgKzySvyrPbairegreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVAF0_15KzyFpurznSbezngRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVAF0_15KzyFpurznSbezngRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVAF0_15KzyFpurznSbezngRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVAF0_15KzyFpurznSbezngRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_4IaqxRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_4IaqxRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_4IaqxRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_4IaqxRRR:
 .space __SIZEOF_POINTER__
@@ -1308,22 +1308,22 @@
 b__MA7naqebvq5ivags11UnyZnavsrfg19srgpuNyyVasbezngvbaRCXAF0_10SvyrFlfgrzREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCFO_:
 nop
 .data
-.globl b__MGIAFg3__111__zngpu_nalVpRR
+.weak b__MGIAFg3__111__zngpu_nalVpRR
 .type b__MGIAFg3__111__zngpu_nalVpRR,%object
 b__MGIAFg3__111__zngpu_nalVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11UnyZnavsrfgRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11UnyZnavsrfgRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11UnyZnavsrfgRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11UnyZnavsrfgRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR8__nccraqRz:
 nop
 .data
-.globl b__MGIAFg3__110__e_napubeVpRR
+.weak b__MGIAFg3__110__e_napubeVpRR
 .type b__MGIAFg3__110__e_napubeVpRR,%object
 b__MGIAFg3__110__e_napubeVpRR:
 .space __SIZEOF_POINTER__
@@ -1353,32 +1353,32 @@
 b__MAX7naqebvq5ivags12ZngevkXrearyrdREXF1_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCA7naqebvq5ivags9ZngevkUnyRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
+.weak b__MAFg3__16irpgbeVCA7naqebvq5ivags9ZngevkUnyRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
 .type b__MAFg3__16irpgbeVCA7naqebvq5ivags9ZngevkUnyRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_,%function
 b__MAFg3__16irpgbeVCA7naqebvq5ivags9ZngevkUnyRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11IvagsBowrpgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR
+.weak b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11IvagsBowrpgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR
 .type b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11IvagsBowrpgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR,%object
 b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11IvagsBowrpgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_ybbcRzzCAF_16__bjaf_bar_fgngrVpRRzzo
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_ybbcRzzCAF_16__bjaf_bar_fgngrVpRRzzo
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_ybbcRzzCAF_16__bjaf_bar_fgngrVpRRzzo,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_ybbcRzzCAF_16__bjaf_bar_fgngrVpRRzzo:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__chfu_ybbxnurnqREXF3_ow
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__chfu_ybbxnurnqREXF3_ow
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__chfu_ybbxnurnqREXF3_ow,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__chfu_ybbxnurnqREXF3_ow:
 nop
@@ -1388,27 +1388,27 @@
 b__MA7naqebvq5ivags11IvagsBowrpg19srgpuBarUnyZnavsrfgREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCAF0_11UnyZnavsrfgRCF8_:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
 .text
-.globl b__MAFg3__112__qrdhr_onfrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR5pyrneRi
+.weak b__MAFg3__112__qrdhr_onfrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR5pyrneRi
 .type b__MAFg3__112__qrdhr_onfrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR5pyrneRi,%function
 b__MAFg3__112__qrdhr_onfrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR5pyrneRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR25__rzcynpr_havdhr_xrl_netfVF7_WF7_FN_RRRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR25__rzcynpr_havdhr_xrl_netfVF7_WF7_FN_RRRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR25__rzcynpr_havdhr_xrl_netfVF7_WF7_FN_RRRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR25__rzcynpr_havdhr_xrl_netfVF7_WF7_FN_RRRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags12IrefvbaEnatrRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags12IrefvbaEnatrRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags12IrefvbaEnatrRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags12IrefvbaEnatrRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw:
 nop
@@ -1418,7 +1418,7 @@
 b__MA7naqebvq5ivags14ZngevkVafgnaprP2Ri:
 nop
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVAF0_4NepuRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVAF0_4NepuRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVAF0_4NepuRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVAF0_4NepuRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_:
 nop
@@ -1428,22 +1428,22 @@
 b__MA7naqebvq5ivags19PbzcngvovyvglZngevk7pbzovarRAF0_5YriryRCAFg3__16irpgbeV5AnzrqVF1_RAF3_9nyybpngbeVF6_RRRRCAF3_12onfvp_fgevatVpAF3_11pune_genvgfVpRRAF7_VpRRRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF7_WEAF_4cnveVF7_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FA_yRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF7_WEAF_4cnveVF7_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FA_yRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF7_WEAF_4cnveVF7_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FA_yRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF7_WEAF_4cnveVF7_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF8_FA_yRREXG_QcBG0_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags12IrefvbaEnatrRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags12IrefvbaEnatrRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags12IrefvbaEnatrRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags12IrefvbaEnatrRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_:
 nop
 .text
-.globl b__MA7naqebvq5ivags7qrgnvyf19srgpuNyyVasbezngvbaVAF0_11UnyZnavsrfgRRRvCXAF0_10SvyrFlfgrzREXAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRREXAF0_12KzyPbairegreVG_RRCFU_CFQ_
+.weak b__MA7naqebvq5ivags7qrgnvyf19srgpuNyyVasbezngvbaVAF0_11UnyZnavsrfgRRRvCXAF0_10SvyrFlfgrzREXAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRREXAF0_12KzyPbairegreVG_RRCFU_CFQ_
 .type b__MA7naqebvq5ivags7qrgnvyf19srgpuNyyVasbezngvbaVAF0_11UnyZnavsrfgRRRvCXAF0_10SvyrFlfgrzREXAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRREXAF0_12KzyPbairegreVG_RRCFU_CFQ_,%function
 b__MA7naqebvq5ivags7qrgnvyf19srgpuNyyVasbezngvbaVAF0_11UnyZnavsrfgRRRvCXAF0_10SvyrFlfgrzREXAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRREXAF0_12KzyPbairegreVG_RRCFU_CFQ_:
 nop
@@ -1463,12 +1463,12 @@
 b__MA7naqebvq5ivagsyfREAFg3__113onfvp_bfgernzVpAF1_11pune_genvgfVpRRRRAF0_5YriryR:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_13ZngevkKzySvyrRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_13ZngevkKzySvyrRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_13ZngevkKzySvyrRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_13ZngevkKzySvyrRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
@@ -1478,7 +1478,7 @@
 b__MA7naqebvq5ivags31zngevkXrearyPbaqvgvbafPbairegreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_:
 nop
@@ -1488,7 +1488,7 @@
 b__MA7naqebvq5ivags5cnefrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCAF0_5YriryR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags9ZngevkUnyRAF_9nyybpngbeVF3_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags9ZngevkUnyRAF_9nyybpngbeVF3_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags9ZngevkUnyRAF_9nyybpngbeVF3_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags9ZngevkUnyRAF_9nyybpngbeVF3_RRR8__nccraqRz:
 nop
@@ -1503,47 +1503,47 @@
 b__MA7naqebvq5ivags21tUnyZnavsrfgPbairegreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags12KzySvyrTebhcVAF0_13ZngevkKzySvyrRRR
+.weak b__MGIA7naqebvq5ivags12KzySvyrTebhcVAF0_13ZngevkKzySvyrRRR
 .type b__MGIA7naqebvq5ivags12KzySvyrTebhcVAF0_13ZngevkKzySvyrRRR,%object
 b__MGIA7naqebvq5ivags12KzySvyrTebhcVAF0_13ZngevkKzySvyrRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR21__rzcynpr_havdhr_vzcyVWAF1_10SdVafgnaprREAF2_13GenafcbegNepuREAF2_9UnySbezngRRRRAF_4cnveVAF_15__gerr_vgrengbeVF3_CAF_11__gerr_abqrVF3_CiRRyRRoRRQcBG_
+.weak b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR21__rzcynpr_havdhr_vzcyVWAF1_10SdVafgnaprREAF2_13GenafcbegNepuREAF2_9UnySbezngRRRRAF_4cnveVAF_15__gerr_vgrengbeVF3_CAF_11__gerr_abqrVF3_CiRRyRRoRRQcBG_
 .type b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR21__rzcynpr_havdhr_vzcyVWAF1_10SdVafgnaprREAF2_13GenafcbegNepuREAF2_9UnySbezngRRRRAF_4cnveVAF_15__gerr_vgrengbeVF3_CAF_11__gerr_abqrVF3_CiRRyRRoRRQcBG_,%function
 b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR21__rzcynpr_havdhr_vzcyVWAF1_10SdVafgnaprREAF2_13GenafcbegNepuREAF2_9UnySbezngRRRRAF_4cnveVAF_15__gerr_vgrengbeVF3_CAF_11__gerr_abqrVF3_CiRRyRRoRRQcBG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_FQ_RRyRRECAF_15__gerr_raq_abqrVFS_RRFT_EXG_
+.weak b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_FQ_RRyRRECAF_15__gerr_raq_abqrVFS_RRFT_EXG_
 .type b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_FQ_RRyRRECAF_15__gerr_raq_abqrVFS_RRFT_EXG_,%function
 b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_FQ_RRyRRECAF_15__gerr_raq_abqrVFS_RRFT_EXG_:
 nop
 .text
-.globl b__MAXFg3__110__y_napubeVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__110__y_napubeVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__110__y_napubeVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__110__y_napubeVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_12UnyVagresnprRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_12UnyVagresnprRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_12UnyVagresnprRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_12UnyVagresnprRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_12ZngevkXrearyRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_12ZngevkXrearyRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_12ZngevkXrearyRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_12ZngevkXrearyRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVCXpRRG_F7_F7_:
 nop
@@ -1553,22 +1553,22 @@
 b__MA7naqebvq5ivags21zngevkXrearyPbairegreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_:
 nop
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVAF0_15XrearyPbasvtXrlRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVAF0_15XrearyPbasvtXrlRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVAF0_15XrearyPbasvtXrlRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVAF0_15XrearyPbasvtXrlRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_FX_RRyRRECAF_15__gerr_raq_abqrVFZ_RRFA_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_FX_RRyRRECAF_15__gerr_raq_abqrVFZ_RRFA_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_FX_RRyRRECAF_15__gerr_raq_abqrVFZ_RRFA_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_FX_RRyRRECAF_15__gerr_raq_abqrVFZ_RRFA_EXG_:
 nop
@@ -1588,7 +1588,7 @@
 b__MA7naqebvq5ivags22XrearyPbasvtGlcrqInyhrP2RBAFg3__14cnveVzzRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
@@ -1603,7 +1603,7 @@
 b__MA7naqebvq5ivags15rkcnaqVafgnaprfREXAF0_9ZngevkUnyREXAF0_12IrefvbaEnatrRo:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_22XrearyPbasvtGlcrqInyhrRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_22XrearyPbasvtGlcrqInyhrRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_22XrearyPbasvtGlcrqInyhrRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_22XrearyPbasvtGlcrqInyhrRRR:
 .space __SIZEOF_POINTER__
@@ -1613,12 +1613,12 @@
 b__MAX7naqebvq5ivags7qrgnvyf14SvyrFlfgrzAbBc9yvfgSvyrfREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCAF3_6irpgbeVF9_AF7_VF9_RRRRCF9_:
 nop
 .text
-.globl b__MAFg3__117__bjaf_gjb_fgngrfVpRQ0Ri
+.weak b__MAFg3__117__bjaf_gjb_fgngrfVpRQ0Ri
 .type b__MAFg3__117__bjaf_gjb_fgngrfVpRQ0Ri,%function
 b__MAFg3__117__bjaf_gjb_fgngrfVpRQ0Ri:
 nop
 .data
-.globl b__MGIAFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1628,12 +1628,12 @@
 b__MA7naqebvq5ivags16ZnavsrfgVafgnaprP1RBF1_:
 nop
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVAF0_7IrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVAF0_7IrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVAF0_7IrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVAF0_7IrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_:
 nop
@@ -1643,7 +1643,7 @@
 b__MA7naqebvq5ivags22XrearyPbasvtGlcrqInyhrP2RBAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_:
 nop
@@ -1653,17 +1653,17 @@
 b__MA7naqebvq5ivags5cnefrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCAF0_9ZngevkUnyR:
 nop
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVF2_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FN_RRyRRECAF_15__gerr_raq_abqrVFP_RRFQ_EXG_
+.weak b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVF2_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FN_RRyRRECAF_15__gerr_raq_abqrVFP_RRFQ_EXG_
 .type b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVF2_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FN_RRyRRECAF_15__gerr_raq_abqrVFP_RRFQ_EXG_,%function
 b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR12__svaq_rdhnyVF2_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF2_CAF_11__gerr_abqrVF2_FN_RRyRRECAF_15__gerr_raq_abqrVFP_RRFQ_EXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCXA7naqebvq5ivags9ZngevkUnyRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVCXA7naqebvq5ivags9ZngevkUnyRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVCXA7naqebvq5ivags9ZngevkUnyRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVCXA7naqebvq5ivags9ZngevkUnyRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCXA7naqebvq5ivags12ZngevkXrearyRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVCXA7naqebvq5ivags12ZngevkXrearyRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVCXA7naqebvq5ivags12ZngevkXrearyRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVCXA7naqebvq5ivags12ZngevkXrearyRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -1673,7 +1673,7 @@
 b__MGIA7naqebvq5ivags7qrgnvyf19CebcreglSrgpureVzcyR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11IvagsBowrpgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11IvagsBowrpgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11IvagsBowrpgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11IvagsBowrpgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi:
 nop
@@ -1683,7 +1683,7 @@
 b__MA7naqebvq5ivags19PbzcngvovyvglZngevk6nqqNyyRC5AnzrqVF1_RCAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR11__svaq_yrnsRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRECAF_15__gerr_raq_abqrVCAF_16__gerr_abqr_onfrVFX_RRRREXF7_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR11__svaq_yrnsRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRECAF_15__gerr_raq_abqrVCAF_16__gerr_abqr_onfrVFX_RRRREXF7_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR11__svaq_yrnsRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRECAF_15__gerr_raq_abqrVCAF_16__gerr_abqr_onfrVFX_RRRREXF7_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR11__svaq_yrnsRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRECAF_15__gerr_raq_abqrVCAF_16__gerr_abqr_onfrVFX_RRRREXF7_:
 nop
@@ -1693,32 +1693,32 @@
 b__MA7naqebvq5ivags18XrearyPbasvtCnefre16cebprffNaqSvavfuREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRR:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
+.weak b__MGIAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
 .type b__MGIAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR,%object
 b__MGIAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags19XrearyVasbPbairegreR
+.weak b__MGIA7naqebvq5ivags19XrearyVasbPbairegreR
 .type b__MGIA7naqebvq5ivags19XrearyVasbPbairegreR,%object
 b__MGIA7naqebvq5ivags19XrearyVasbPbairegreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVCXpRRG_F7_F7_:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyCnvePbairegreVAFg3__14cnveVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRF9_RRRR
+.weak b__MGIA7naqebvq5ivags16KzyCnvePbairegreVAFg3__14cnveVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRF9_RRRR
 .type b__MGIA7naqebvq5ivags16KzyCnvePbairegreVAFg3__14cnveVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRF9_RRRR,%object
 b__MGIA7naqebvq5ivags16KzyCnvePbairegreVAFg3__14cnveVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRF9_RRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_:
 nop
@@ -1728,7 +1728,7 @@
 b__MAX7naqebvq5ivags11UnyZnavsrfg5yriryRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags9IraqbeAqxRAF_9nyybpngbeVF3_RRR6vafregVAF_11__jenc_vgreVCF3_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRFN_R4glcrRAF8_VCXF3_RRFP_FP_
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags9IraqbeAqxRAF_9nyybpngbeVF3_RRR6vafregVAF_11__jenc_vgreVCF3_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRFN_R4glcrRAF8_VCXF3_RRFP_FP_
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags9IraqbeAqxRAF_9nyybpngbeVF3_RRR6vafregVAF_11__jenc_vgreVCF3_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRFN_R4glcrRAF8_VCXF3_RRFP_FP_,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags9IraqbeAqxRAF_9nyybpngbeVF3_RRR6vafregVAF_11__jenc_vgreVCF3_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRFN_R4glcrRAF8_VCXF3_RRFP_FP_:
 nop
@@ -1743,7 +1743,7 @@
 b__MA7naqebvq5ivags14ZngevkVafgnaprP2REXF1_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags4IaqxRAF_9nyybpngbeVF3_RRR6vafregVAF_11__jenc_vgreVCF3_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRFN_R4glcrRAF8_VCXF3_RRFP_FP_
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags4IaqxRAF_9nyybpngbeVF3_RRR6vafregVAF_11__jenc_vgreVCF3_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRFN_R4glcrRAF8_VCXF3_RRFP_FP_
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags4IaqxRAF_9nyybpngbeVF3_RRR6vafregVAF_11__jenc_vgreVCF3_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRFN_R4glcrRAF8_VCXF3_RRFP_FP_,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags4IaqxRAF_9nyybpngbeVF3_RRR6vafregVAF_11__jenc_vgreVCF3_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRFN_R4glcrRAF8_VCXF3_RRFP_FP_:
 nop
@@ -1753,17 +1753,17 @@
 b__MAX7naqebvq5ivags14ZngevkVafgnapr20vagresnprQrfpevcgvbaRAF0_7IrefvbaR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_
 .type b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags13BowrpgSnpgbelVAF0_11EhagvzrVasbRRR
+.weak b__MGIA7naqebvq5ivags13BowrpgSnpgbelVAF0_11EhagvzrVasbRRR
 .type b__MGIA7naqebvq5ivags13BowrpgSnpgbelVAF0_11EhagvzrVasbRRR,%object
 b__MGIA7naqebvq5ivags13BowrpgSnpgbelVAF0_11EhagvzrVasbRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVAF0_12IrefvbaEnatrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVAF0_12IrefvbaEnatrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVAF0_12IrefvbaEnatrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVAF0_12IrefvbaEnatrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_:
 nop
@@ -1778,17 +1778,17 @@
 b__MAX7naqebvq5ivags9ZngevkUny12vfPbzcngvoyrREXAFg3__13frgVAF_10SdVafgnaprRAF2_4yrffVF4_RRAF2_9nyybpngbeVF4_RRRREXAF3_VAF0_7IrefvbaRAF5_VFP_RRAF7_VFP_RRRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR15__chfu_onpx_ersRv
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR15__chfu_onpx_ersRv
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR15__chfu_onpx_ersRv,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR15__chfu_onpx_ersRv:
 nop
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq5ivags7IrefvbaRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR7qrfgeblRCAF_11__gerr_abqrVF3_CiRR
+.weak b__MAFg3__16__gerrVA7naqebvq5ivags7IrefvbaRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR7qrfgeblRCAF_11__gerr_abqrVF3_CiRR
 .type b__MAFg3__16__gerrVA7naqebvq5ivags7IrefvbaRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR7qrfgeblRCAF_11__gerr_abqrVF3_CiRR,%function
 b__MAFg3__16__gerrVA7naqebvq5ivags7IrefvbaRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR7qrfgeblRCAF_11__gerr_abqrVF3_CiRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWF7_FN_RRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWF7_FN_RRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWF7_FN_RRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWF7_FN_RRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_:
 nop
@@ -1798,27 +1798,27 @@
 b__MA7naqebvq5ivags22XrearyPbasvtGlcrqInyhr14tZvffvatPbasvtR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_grezVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_grezVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_grezVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_grezVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_:
 nop
 .data
-.globl b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF2_WEXF2_RRRAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF2_FS_yRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF2_WEXF2_RRRAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF2_FS_yRREXG_QcBG0_
 .type b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF2_WEXF2_RRRAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF2_FS_yRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF2_WEXF2_RRRAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF2_FS_yRREXG_QcBG0_:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR8biresybjRv
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR8biresybjRv
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR8biresybjRv,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR8biresybjRv:
 nop
@@ -1833,12 +1833,12 @@
 b__MA7naqebvq5ivags5cnefrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCAF0_4NepuR:
 nop
 .data
-.globl b__MGIAFg3__111__nygreangrVpRR
+.weak b__MGIAFg3__111__nygreangrVpRR
 .type b__MGIAFg3__111__nygreangrVpRR,%object
 b__MGIAFg3__111__nygreangrVpRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags7qrgnvyf22IvagsBowrpgNsgreHcqngrR
+.weak b__MGIA7naqebvq5ivags7qrgnvyf22IvagsBowrpgNsgreHcqngrR
 .type b__MGIA7naqebvq5ivags7qrgnvyf22IvagsBowrpgNsgreHcqngrR,%object
 b__MGIA7naqebvq5ivags7qrgnvyf22IvagsBowrpgNsgreHcqngrR:
 .space __SIZEOF_POINTER__
@@ -1848,17 +1848,17 @@
 b__MAX7naqebvq5ivags11EhagvzrVasb10uneqjnerVqRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags12ZngevkXrearyRAF_9nyybpngbeVF3_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags12ZngevkXrearyRAF_9nyybpngbeVF3_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags12ZngevkXrearyRAF_9nyybpngbeVF3_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags12ZngevkXrearyRAF_9nyybpngbeVF3_RRR8__nccraqRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_
+.weak b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_
 .type b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_,%function
 b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_:
 nop
 .data
-.globl b__MGIAFg3__117__ercrng_bar_ybbcVpRR
+.weak b__MGIAFg3__117__ercrng_bar_ybbcVpRR
 .type b__MGIAFg3__117__ercrng_bar_ybbcVpRR,%object
 b__MGIAFg3__117__ercrng_bar_ybbcVpRR:
 .space __SIZEOF_POINTER__
@@ -1873,12 +1873,12 @@
 b__MA7naqebvq5ivags18EhagvzrVasbSrgpure18cnefrXrearyIrefvbaRi:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11UnyZnavsrfgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11UnyZnavsrfgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11UnyZnavsrfgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11UnyZnavsrfgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags12UnyVagresnprRAF_9nyybpngbeVF3_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags12UnyVagresnprRAF_9nyybpngbeVF3_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags12UnyVagresnprRAF_9nyybpngbeVF3_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags12UnyVagresnprRAF_9nyybpngbeVF3_RRR8__nccraqRz:
 nop
@@ -1913,12 +1913,12 @@
 b__MA7naqebvq5ivagsyfREAFg3__113onfvp_bfgernzVpAF1_11pune_genvgfVpRRRRAF0_9UnySbezngR:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags13IaqxPbairegreR
+.weak b__MGIA7naqebvq5ivags13IaqxPbairegreR
 .type b__MGIA7naqebvq5ivags13IaqxPbairegreR,%object
 b__MGIA7naqebvq5ivags13IaqxPbairegreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVA7naqebvq10SdVafgnaprRAF_4yrffVF2_RRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVF2_WEXF2_RRRAF_4cnveVAF_15__gerr_vgrengbeVF2_CAF_11__gerr_abqrVF2_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -1938,12 +1938,12 @@
 b__MA7naqebvq5ivags7qrgnvyf21xIraqbeYrtnplZnavsrfgR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_15XrearyPbasvtXrlRRR
+.weak b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_15XrearyPbasvtXrlRRR
 .type b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_15XrearyPbasvtXrlRRR,%object
 b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_15XrearyPbasvtXrlRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags31XrearyPbasvtGlcrqInyhrPbairegreR
+.weak b__MGIA7naqebvq5ivags31XrearyPbasvtGlcrqInyhrPbairegreR
 .type b__MGIA7naqebvq5ivags31XrearyPbasvtGlcrqInyhrPbairegreR,%object
 b__MGIA7naqebvq5ivags31XrearyPbasvtGlcrqInyhrPbairegreR:
 .space __SIZEOF_POINTER__
@@ -1963,12 +1963,12 @@
 b__MA7naqebvq5ivags18XrearyPbasvtCnefre16cebprffNaqSvavfuRCXpz:
 nop
 .text
-.globl b__MAXFg3__16__ybbcVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR
+.weak b__MAXFg3__16__ybbcVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR
 .type b__MAXFg3__16__ybbcVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR,%function
 b__MAXFg3__16__ybbcVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_:
 nop
@@ -1983,7 +1983,7 @@
 b__MA7naqebvq5ivags7qrgnvyf26xIraqbeZnavsrfgSentzragQveR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113__irpgbe_onfrVA7naqebvq5ivags13ZngevkKzySvyrRAF_9nyybpngbeVF3_RRRQ2Ri
+.weak b__MAFg3__113__irpgbe_onfrVA7naqebvq5ivags13ZngevkKzySvyrRAF_9nyybpngbeVF3_RRRQ2Ri
 .type b__MAFg3__113__irpgbe_onfrVA7naqebvq5ivags13ZngevkKzySvyrRAF_9nyybpngbeVF3_RRRQ2Ri,%function
 b__MAFg3__113__irpgbe_onfrVA7naqebvq5ivags13ZngevkKzySvyrRAF_9nyybpngbeVF3_RRRQ2Ri:
 nop
@@ -1998,12 +1998,12 @@
 b__MAX7naqebvq5ivags10XrearyVasb28trgZngpurqXrearyErdhverzragfREXAFg3__16irpgbeVAF0_12ZngevkXrearyRAF2_9nyybpngbeVF4_RRRRAF0_5YriryRCAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF5_VpRRRR:
 nop
 .text
-.globl b__MAXFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11EhagvzrVasbRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11EhagvzrVasbRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11EhagvzrVasbRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11EhagvzrVasbRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi:
 nop
@@ -2018,7 +2018,7 @@
 b__MAX7naqebvq5ivags7qrgnvyf19CebcreglSrgpureAbBc15trgHvagCebcreglREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRzz:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi:
 nop
@@ -2038,7 +2038,7 @@
 b__MAX7naqebvq5ivags14ZngevkVafgnapr13rknpgVafgnaprRi:
 nop
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVAF0_5YriryRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVAF0_5YriryRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVAF0_5YriryRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVAF0_5YriryRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_:
 nop
@@ -2048,7 +2048,7 @@
 b__MAX7naqebvq5ivags12ZngevkXreary20trgFbheprZngevkYriryRi:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags17FrcbyvplPbairegreR
+.weak b__MGIA7naqebvq5ivags17FrcbyvplPbairegreR
 .type b__MGIA7naqebvq5ivags17FrcbyvplPbairegreR,%object
 b__MGIA7naqebvq5ivags17FrcbyvplPbairegreR:
 .space __SIZEOF_POINTER__
@@ -2063,7 +2063,7 @@
 b__MA7naqebvq5ivags11UnyZnavsrfg7frgGlcrRAF0_10FpurznGlcrR:
 nop
 .text
-.globl b__MA7naqebvq5ivags15zhygvyvarVaqragVAFg3__13frgVAF0_7IrefvbaRAF2_4yrffVF4_RRAF2_9nyybpngbeVF4_RRRRRRiEAF2_13onfvp_bfgernzVpAF2_11pune_genvgfVpRRRRzEXG_
+.weak b__MA7naqebvq5ivags15zhygvyvarVaqragVAFg3__13frgVAF0_7IrefvbaRAF2_4yrffVF4_RRAF2_9nyybpngbeVF4_RRRRRRiEAF2_13onfvp_bfgernzVpAF2_11pune_genvgfVpRRRRzEXG_
 .type b__MA7naqebvq5ivags15zhygvyvarVaqragVAFg3__13frgVAF0_7IrefvbaRAF2_4yrffVF4_RRAF2_9nyybpngbeVF4_RRRRRRiEAF2_13onfvp_bfgernzVpAF2_11pune_genvgfVpRRRRzEXG_,%function
 b__MA7naqebvq5ivags15zhygvyvarVaqragVAFg3__13frgVAF0_7IrefvbaRAF2_4yrffVF4_RRAF2_9nyybpngbeVF4_RRRRRRiEAF2_13onfvp_bfgernzVpAF2_11pune_genvgfVpRRRRzEXG_:
 nop
@@ -2078,12 +2078,12 @@
 b__MAX7naqebvq5ivags11UnyZnavsrfg16trgNvqyVafgnaprfREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRFN_:
 nop
 .text
-.globl b__MAXFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
 .data
-.globl b__MGIAFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -2093,7 +2093,7 @@
 b__MA7naqebvq5ivags7qrgnvyf16xCebqhpgIvagsQveR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__126__raq_znexrq_fhorkcerffvbaVpRR
+.weak b__MGIAFg3__126__raq_znexrq_fhorkcerffvbaVpRR
 .type b__MGIAFg3__126__raq_znexrq_fhorkcerffvbaVpRR,%object
 b__MGIAFg3__126__raq_znexrq_fhorkcerffvbaVpRR:
 .space __SIZEOF_POINTER__
@@ -2108,17 +2108,17 @@
 b__MA7naqebvq5ivags21tZnavsrfgUnyPbairegreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_13GenafcbegNepuRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_13GenafcbegNepuRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_13GenafcbegNepuRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_13GenafcbegNepuRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags28UnyZnavsrfgFrcbyvplPbairegreR
+.weak b__MGIA7naqebvq5ivags28UnyZnavsrfgFrcbyvplPbairegreR
 .type b__MGIA7naqebvq5ivags28UnyZnavsrfgFrcbyvplPbairegreR,%object
 b__MGIA7naqebvq5ivags28UnyZnavsrfgFrcbyvplPbairegreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVCXpRRG_F7_F7_:
 nop
@@ -2138,27 +2138,27 @@
 b__MA7naqebvq5ivags15rkcnaqVafgnaprfREXAF0_9ZngevkUnyR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6vafregRAF_11__jenc_vgreVCXF6_RREFN_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6vafregRAF_11__jenc_vgreVCXF6_RREFN_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6vafregRAF_11__jenc_vgreVCXF6_RREFN_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6vafregRAF_11__jenc_vgreVCXF6_RREFN_:
 nop
 .text
-.globl b__MAXFg3__117__ercrng_bar_ybbcVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__117__ercrng_bar_ybbcVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__117__ercrng_bar_ybbcVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__117__ercrng_bar_ybbcVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11UnyZnavsrfgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11UnyZnavsrfgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11UnyZnavsrfgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11UnyZnavsrfgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_9ZngevkUnyRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_9ZngevkUnyRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_9ZngevkUnyRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_9ZngevkUnyRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRCXpRRF9_EXG_G0_
+.weak b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRCXpRRF9_EXG_G0_
 .type b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRCXpRRF9_EXG_G0_,%function
 b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRCXpRRF9_EXG_G0_:
 nop
@@ -2168,7 +2168,7 @@
 b__MAX7naqebvq5ivags16ZnavsrfgVafgnaprrdREXF1_:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRP2Ri
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRP2Ri
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRP2Ri,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRP2Ri:
 nop
@@ -2193,17 +2193,17 @@
 b__MA7naqebvq5ivags11UnyZnavsrfg14vafregVafgnaprREXAF_10SdVafgnaprRAF0_9GenafcbegRAF0_4NepuRAF0_9UnySbezngRCAFg3__112onfvp_fgevatVpAF8_11pune_genvgfVpRRAF8_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVCXpRRG_F7_F7_:
 nop
 .data
-.globl b__MGIAFg3__110__onpx_ersVpRR
+.weak b__MGIAFg3__110__onpx_ersVpRR
 .type b__MGIAFg3__110__onpx_ersVpRR,%object
 b__MGIAFg3__110__onpx_ersVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11IvagsBowrpgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11IvagsBowrpgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11IvagsBowrpgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11IvagsBowrpgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -2213,7 +2213,7 @@
 b__MAX7naqebvq5ivags13ZngevkKzySvyrrdREXF1_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
@@ -2228,7 +2228,7 @@
 b__MA7naqebvq5ivags11IvagsBowrpg28TrgQrivprPbzcngvovyvglZngevkRo:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11UnyZnavsrfgRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11UnyZnavsrfgRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11UnyZnavsrfgRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11UnyZnavsrfgRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi:
 nop
@@ -2238,12 +2238,12 @@
 b__MAX7naqebvq5ivags11EhagvzrVasb7pchVasbRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq10SdVafgnaprRAF_9nyybpngbeVF2_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq10SdVafgnaprRAF_9nyybpngbeVF2_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq10SdVafgnaprRAF_9nyybpngbeVF2_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq10SdVafgnaprRAF_9nyybpngbeVF2_RRR8__nccraqRz:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_19PbzcngvovyvglZngevkRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_19PbzcngvovyvglZngevkRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_19PbzcngvovyvglZngevkRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_19PbzcngvovyvglZngevkRRR:
 .space __SIZEOF_POINTER__
@@ -2253,7 +2253,7 @@
 b__MAX7naqebvq5ivags16ZnavsrfgVafgnapr4nepuRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_4yrffVF8_RRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
+.weak b__MAFg3__16__gerrVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_4yrffVF8_RRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
 .type b__MAFg3__16__gerrVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_4yrffVF8_RRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR,%function
 b__MAFg3__16__gerrVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_4yrffVF8_RRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR:
 nop
@@ -2263,7 +2263,7 @@
 b__MAX7naqebvq5ivags11UnyZnavsrfg15frcbyvplIrefvbaRi:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -2278,12 +2278,12 @@
 b__MA7naqebvq5ivags11IvagsBowrpg28trgQrivprPbzcngvovyvglZngevkRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_:
 nop
 .text
-.globl b__MA7naqebvq5ivags5cnefrVAF0_12IrefvbaEnatrRRRoEXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCAF3_6irpgbeVG_AF7_VFQ_RRRR
+.weak b__MA7naqebvq5ivags5cnefrVAF0_12IrefvbaEnatrRRRoEXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCAF3_6irpgbeVG_AF7_VFQ_RRRR
 .type b__MA7naqebvq5ivags5cnefrVAF0_12IrefvbaEnatrRRRoEXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCAF3_6irpgbeVG_AF7_VFQ_RRRR,%function
 b__MA7naqebvq5ivags5cnefrVAF0_12IrefvbaEnatrRRRoEXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCAF3_6irpgbeVG_AF7_VFQ_RRRR:
 nop
@@ -2298,17 +2298,17 @@
 b__MA7naqebvq5ivags32tXrearyPbasvtGlcrqInyhrPbairegreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR16__pbafgehpg_abqrVWEXAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRREN2_FV_RRRAF_10havdhr_cgeVAF_11__gerr_abqrVF8_CiRRAF_22__gerr_abqr_qrfgehpgbeVAF5_VFG_RRRRRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR16__pbafgehpg_abqrVWEXAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRREN2_FV_RRRAF_10havdhr_cgeVAF_11__gerr_abqrVF8_CiRRAF_22__gerr_abqr_qrfgehpgbeVAF5_VFG_RRRRRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR16__pbafgehpg_abqrVWEXAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRREN2_FV_RRRAF_10havdhr_cgeVAF_11__gerr_abqrVF8_CiRRAF_22__gerr_abqr_qrfgehpgbeVAF5_VFG_RRRRRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR16__pbafgehpg_abqrVWEXAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRREN2_FV_RRRAF_10havdhr_cgeVAF_11__gerr_abqrVF8_CiRRAF_22__gerr_abqr_qrfgehpgbeVAF5_VFG_RRRRRRQcBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCXA7naqebvq5ivags12ZngevkXrearyRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_
+.weak b__MAFg3__16irpgbeVCXA7naqebvq5ivags12ZngevkXrearyRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_
 .type b__MAFg3__16irpgbeVCXA7naqebvq5ivags12ZngevkXrearyRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_,%function
 b__MAFg3__16irpgbeVCXA7naqebvq5ivags12ZngevkXrearyRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_:
 nop
@@ -2328,7 +2328,7 @@
 b__MA7naqebvq5ivags13iaqxPbairegreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR20__rzcynpr_uvag_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRAF_21__gerr_pbafg_vgrengbeVFO_FF_yRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR20__rzcynpr_uvag_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRAF_21__gerr_pbafg_vgrengbeVFO_FF_yRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR20__rzcynpr_uvag_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRAF_21__gerr_pbafg_vgrengbeVFO_FF_yRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR20__rzcynpr_uvag_zhygvVWEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRAF_21__gerr_pbafg_vgrengbeVFO_FF_yRRQcBG_:
 nop
@@ -2338,7 +2338,7 @@
 b__MAX7naqebvq5ivags11ZnavsrfgUny17nccraqNyyIrefvbafRCAFg3__13frgVAF0_7IrefvbaRAF2_4yrffVF4_RRAF2_9nyybpngbeVF4_RRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVppRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_4cnveVppRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVAF_4cnveVppRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_4cnveVppRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -2353,22 +2353,22 @@
 b__MA7naqebvq5ivags11ZnavsrfgUny15vafregVafgnaprfREXAFg3__13frgVAF_10SdVafgnaprRAF2_4yrffVF4_RRAF2_9nyybpngbeVF4_RRRRCAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF7_VpRRRR:
 nop
 .text
-.globl b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RREXF9_FO_
+.weak b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RREXF9_FO_
 .type b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RREXF9_FO_,%function
 b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RREXF9_FO_:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p
+.weak b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p
 .type b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p,%function
 b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRAF_9nyybpngbeVF6_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRAF_9nyybpngbeVF6_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRAF_9nyybpngbeVF6_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRAF_9nyybpngbeVF6_RRR8__nccraqRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRRRiG_FC_:
 nop
@@ -2378,7 +2378,7 @@
 b__MAX7naqebvq5ivags16ZnavsrfgVafgnapr6sbezngRi:
 nop
 .data
-.globl b__MGIAFg3__121__rzcgl_aba_bja_fgngrVpRR
+.weak b__MGIAFg3__121__rzcgl_aba_bja_fgngrVpRR
 .type b__MGIAFg3__121__rzcgl_aba_bja_fgngrVpRR,%object
 b__MGIAFg3__121__rzcgl_aba_bja_fgngrVpRR:
 .space __SIZEOF_POINTER__
@@ -2393,7 +2393,7 @@
 b__MAX7naqebvq5ivags11EhagvzrVasb9bfIrefvbaRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR4svaqVF6_RRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR4svaqVF6_RRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRREXG_
 .type b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR4svaqVF6_RRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR4svaqVF6_RRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRREXG_:
 nop
@@ -2403,7 +2403,7 @@
 b__MA7naqebvq5ivags19PbzcngvovyvglZngevk20nqqNyyUnyfNfBcgvbanyRCF1_CAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAXFg3__111__zngpu_nalVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__111__zngpu_nalVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__111__zngpu_nalVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__111__zngpu_nalVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -2418,7 +2418,7 @@
 b__MA7naqebvq5ivags22genafcbegNepuPbairegreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWF7_FN_RRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWF7_FN_RRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWF7_FN_RRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWF7_FN_RRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_:
 nop
@@ -2438,7 +2438,7 @@
 b__MGIA7naqebvq5ivags11UnyZnavsrfgR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR9genafsbezVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_
+.weak b__MAXFg3__112ertrk_genvgfVpR9genafsbezVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_
 .type b__MAXFg3__112ertrk_genvgfVpR9genafsbezVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_,%function
 b__MAXFg3__112ertrk_genvgfVpR9genafsbezVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_:
 nop
@@ -2448,27 +2448,27 @@
 b__MA7naqebvq5ivags14gbSDAnzrFgevatREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRREXAF0_7IrefvbaRF9_F9_:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags7IrefvbaRAF_9nyybpngbeVF3_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags7IrefvbaRAF_9nyybpngbeVF3_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags7IrefvbaRAF_9nyybpngbeVF3_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags7IrefvbaRAF_9nyybpngbeVF3_RRR8__nccraqRz:
 nop
 .text
-.globl b__MAXFg3__112__zngpu_puneVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__112__zngpu_puneVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__112__zngpu_puneVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__112__zngpu_puneVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAXFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi:
 nop
@@ -2498,7 +2498,7 @@
 b__MA7naqebvq5ivags10XrearyVasb5zretrRCF1_CAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVAF0_21XrearyFrcbyvplIrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVAF0_21XrearyFrcbyvplIrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVAF0_21XrearyFrcbyvplIrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVAF0_21XrearyFrcbyvplIrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_:
 nop
@@ -2523,12 +2523,12 @@
 b__MA7naqebvq5ivagsyfREAFg3__113onfvp_bfgernzVpAF1_11pune_genvgfVpRRRREXAF0_16IaqxIrefvbaEnatrR:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_7IrefvbaRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_7IrefvbaRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_7IrefvbaRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_7IrefvbaRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags15ZnavsrfgKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_:
 nop
@@ -2538,7 +2538,7 @@
 b__MA7naqebvq5ivags29tPbzcngvovyvglZngevkPbairegreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags22GenafcbegNepuPbairegreR
+.weak b__MGIA7naqebvq5ivags22GenafcbegNepuPbairegreR
 .type b__MGIA7naqebvq5ivags22GenafcbegNepuPbairegreR,%object
 b__MGIA7naqebvq5ivags22GenafcbegNepuPbairegreR:
 .space __SIZEOF_POINTER__
@@ -2548,7 +2548,7 @@
 b__MAX7naqebvq5ivags9ZngevkUny15sbeRnpuVafgnaprREXAFg3__18shapgvbaVSoEXAF2_6irpgbeVAF0_12IrefvbaEnatrRAF2_9nyybpngbeVF5_RRRREXAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF6_VpRRRRFU_oRRR:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi:
 nop
@@ -2563,7 +2563,7 @@
 b__MA7naqebvq5ivags11IvagsBowrpg18trgCebcreglSrgpureRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags7IrefvbaRRRAF5_VFO_RRR21__chfu_onpx_fybj_cnguVFO_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags7IrefvbaRRRAF5_VFO_RRR21__chfu_onpx_fybj_cnguVFO_RRiBG_
 .type b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags7IrefvbaRRRAF5_VFO_RRR21__chfu_onpx_fybj_cnguVFO_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags7IrefvbaRRRAF5_VFO_RRR21__chfu_onpx_fybj_cnguVFO_RRiBG_:
 nop
@@ -2608,12 +2608,12 @@
 b__MA7naqebvq5ivags7qrgnvyf5Ertrk7pbzcvyrREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAXFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags28PbzcngvovyvglZngevkPbairegreR
+.weak b__MGIA7naqebvq5ivags28PbzcngvovyvglZngevkPbairegreR
 .type b__MGIA7naqebvq5ivags28PbzcngvovyvglZngevkPbairegreR,%object
 b__MGIA7naqebvq5ivags28PbzcngvovyvglZngevkPbairegreR:
 .space __SIZEOF_POINTER__
@@ -2623,7 +2623,7 @@
 b__MAX7naqebvq5ivags11UnyZnavsrfg15unfUvqyVafgnaprREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF0_7IrefvbaRFN_FN_:
 nop
 .text
-.globl b__MAXFg3__110__e_napubeVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__110__e_napubeVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__110__e_napubeVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__110__e_napubeVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -2648,7 +2648,7 @@
 b__MA7naqebvq5ivags28unyZnavsrfgFrcbyvplPbairegreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAFg3__16irpgbeVAF2_4cnveVAF0_15XrearyPbasvtXrlRAF0_22XrearyPbasvtGlcrqInyhrRRRAF2_9nyybpngbeVF7_RRRRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAFg3__16irpgbeVAF2_4cnveVAF0_15XrearyPbasvtXrlRAF0_22XrearyPbasvtGlcrqInyhrRRRAF2_9nyybpngbeVF7_RRRRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAFg3__16irpgbeVAF2_4cnveVAF0_15XrearyPbasvtXrlRAF0_22XrearyPbasvtGlcrqInyhrRRRAF2_9nyybpngbeVF7_RRRRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAFg3__16irpgbeVAF2_4cnveVAF0_15XrearyPbasvtXrlRAF0_22XrearyPbasvtGlcrqInyhrRRRAF2_9nyybpngbeVF7_RRRRRR:
 .space __SIZEOF_POINTER__
@@ -2658,7 +2658,7 @@
 b__MAX7naqebvq5ivags9ZngevkUny15sbeRnpuVafgnaprREXAFg3__18shapgvbaVSoEXAF0_14ZngevkVafgnaprRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR15__rzcynpr_zhygvVWEXF6_RRRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR15__rzcynpr_zhygvVWEXF6_RRRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR15__rzcynpr_zhygvVWEXF6_RRRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR15__rzcynpr_zhygvVWEXF6_RRRAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRQcBG_:
 nop
@@ -2668,12 +2668,12 @@
 b__MAX7naqebvq5ivags11UnyZnavsrfg12trgVafgnaprfRAF0_9UnySbezngREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXAF0_7IrefvbaRFO_:
 nop
 .text
-.globl b__MAXFg3__110__onpx_ersVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__110__onpx_ersVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__110__onpx_ersVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__110__onpx_ersVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVCXpRRG_F7_F7_:
 nop
@@ -2723,7 +2723,7 @@
 b__MAX7naqebvq5ivags11UnyZnavsrfg9fubhyqNqqREXAF0_11ZnavsrfgUnyR:
 nop
 .text
-.globl b__MAFg3__116__frg_qvssreraprVEAF_6__yrffVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRFS_AF_15vafreg_vgrengbeVAF_6irpgbeVF7_AF5_VF7_RRRRRRRRG2_G0_FZ_G1_FA_FY_G_
+.weak b__MAFg3__116__frg_qvssreraprVEAF_6__yrffVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRFS_AF_15vafreg_vgrengbeVAF_6irpgbeVF7_AF5_VF7_RRRRRRRRG2_G0_FZ_G1_FA_FY_G_
 .type b__MAFg3__116__frg_qvssreraprVEAF_6__yrffVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRFS_AF_15vafreg_vgrengbeVAF_6irpgbeVF7_AF5_VF7_RRRRRRRRG2_G0_FZ_G1_FA_FY_G_,%function
 b__MAFg3__116__frg_qvssreraprVEAF_6__yrffVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRFS_AF_15vafreg_vgrengbeVAF_6irpgbeVF7_AF5_VF7_RRRRRRRRG2_G0_FZ_G1_FA_FY_G_:
 nop
@@ -2738,22 +2738,22 @@
 b__MGIA7naqebvq5ivags7qrgnvyf19SvyrFlfgrzHaqreCnguR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi
+.weak b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi
 .type b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi,%function
 b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi:
 nop
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVAF0_13XrearyIrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVAF0_13XrearyIrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVAF0_13XrearyIrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVAF0_13XrearyIrefvbaRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
@@ -2763,7 +2763,7 @@
 b__MGIA7naqebvq5ivags11EhagvzrVasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFS_RREXG_
+.weak b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFS_RREXG_
 .type b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFS_RREXG_,%function
 b__MAFg3__16__gerrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4yrffVF6_RRAF4_VF6_RRR12__svaq_rdhnyVF6_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFS_RREXG_:
 nop
@@ -2783,12 +2783,12 @@
 b__MGua32_AX7naqebvq5ivags11UnyZnavsrfg16fubhyqNqqKzySvyrREXAF0_15ZnavsrfgKzySvyrR:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p
+.weak b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p
 .type b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p,%function
 b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRRRiG_FZ_:
 nop
@@ -2803,7 +2803,7 @@
 b__MA7naqebvq5ivagsyfREAFg3__113onfvp_bfgernzVpAF1_11pune_genvgfVpRRRRAF0_16XrearyPbasvtGlcrR:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags22ZngevkKzySvyrPbairegreR
+.weak b__MGIA7naqebvq5ivags22ZngevkKzySvyrPbairegreR
 .type b__MGIA7naqebvq5ivags22ZngevkKzySvyrPbairegreR,%object
 b__MGIA7naqebvq5ivags22ZngevkKzySvyrPbairegreR:
 .space __SIZEOF_POINTER__
@@ -2843,12 +2843,12 @@
 b__MAX7naqebvq5ivags18XrearyPbasvtCnefre7pbasvtfRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR8__erunfuRz:
 nop
@@ -2858,22 +2858,22 @@
 b__MA7naqebvq5ivags7qrgnvyf12xBqzZnavsrfgR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVAF0_9GenafcbegRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVAF0_9GenafcbegRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVAF0_9GenafcbegRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVAF0_9GenafcbegRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_:
 nop
 .data
-.globl b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF8_CAF_11__gerr_abqrVF8_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_8FrcbyvplRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_8FrcbyvplRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_8FrcbyvplRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_8FrcbyvplRRR:
 .space __SIZEOF_POINTER__
@@ -2888,12 +2888,12 @@
 b__MA7naqebvq5ivags19PbzcngvovyvglZngevk16nqqNyyNfBcgvbanyRC5AnzrqVF1_RCAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRzEXF4_
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRzEXF4_
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRzEXF4_,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRzEXF4_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRR:
 nop
@@ -2913,7 +2913,7 @@
 b__MAX7naqebvq5ivags11UnyZnavsrfg21purpxVapbzcngvoyrUnyfREXAF0_19PbzcngvovyvglZngevkR:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -2933,7 +2933,7 @@
 b__MAX7naqebvq5ivags10XrearyVasbrdREXF1_:
 nop
 .data
-.globl b__MGIAFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -2948,22 +2948,22 @@
 b__MA7naqebvq5ivags11EhagvzrVasb14frgXrearyYriryRAF0_5YriryR:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11UnyZnavsrfgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR
+.weak b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11UnyZnavsrfgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR
 .type b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11UnyZnavsrfgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR,%object
 b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags11UnyZnavsrfgRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFZ_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFZ_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFZ_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFZ_RREXG_:
 nop
 .text
-.globl b__MAFg3__116__bjaf_bar_fgngrVpRQ2Ri
+.weak b__MAFg3__116__bjaf_bar_fgngrVpRQ2Ri
 .type b__MAFg3__116__bjaf_bar_fgngrVpRQ2Ri,%function
 b__MAFg3__116__bjaf_bar_fgngrVpRQ2Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR21__rzcynpr_havdhr_vzcyVWEXAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRREN2_FV_RRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR21__rzcynpr_havdhr_vzcyVWEXAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRREN2_FV_RRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR21__rzcynpr_havdhr_vzcyVWEXAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRREN2_FV_RRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR21__rzcynpr_havdhr_vzcyVWEXAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRREN2_FV_RRRAF_4cnveVAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRRQcBG_:
 nop
@@ -2973,7 +2973,7 @@
 b__MAX7naqebvq5ivags16ZnavsrfgVafgnapr19trgFvzcyrSdVafgnaprRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags11ZnavsrfgUnyRAF_9nyybpngbeVF3_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags11ZnavsrfgUnyRAF_9nyybpngbeVF3_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags11ZnavsrfgUnyRAF_9nyybpngbeVF3_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags11ZnavsrfgUnyRAF_9nyybpngbeVF3_RRR8__nccraqRz:
 nop
@@ -2988,17 +2988,17 @@
 b__MA7naqebvq5ivags11IvagsBowrpg25srgpuSenzrjbexUnyZnavsrfgRCAF0_11UnyZnavsrfgRCAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR15__rzcynpr_zhygvVWEXAF_4cnveVXF7_F7_RRRRRAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRQcBG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq5ivags7IrefvbaRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_FO_RRyRRECAF_15__gerr_raq_abqrVFQ_RRFR_EXG_
+.weak b__MAFg3__16__gerrVA7naqebvq5ivags7IrefvbaRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_FO_RRyRRECAF_15__gerr_raq_abqrVFQ_RRFR_EXG_
 .type b__MAFg3__16__gerrVA7naqebvq5ivags7IrefvbaRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_FO_RRyRRECAF_15__gerr_raq_abqrVFQ_RRFR_EXG_,%function
 b__MAFg3__16__gerrVA7naqebvq5ivags7IrefvbaRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_FO_RRyRRECAF_15__gerr_raq_abqrVFQ_RRFR_EXG_:
 nop
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVyRRAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVyRRAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVyRRAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVyRRAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXG_:
 nop
@@ -3018,7 +3018,7 @@
 b__MAX7naqebvq5ivags12UnyVagresnpr14unfNalVafgnaprRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww:
 nop
@@ -3028,12 +3028,12 @@
 b__MA7naqebvq5ivags16ZnavsrfgVafgnaprP2RBF1_:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11EhagvzrVasbRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11EhagvzrVasbRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11EhagvzrVasbRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11EhagvzrVasbRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi:
 nop
 .data
-.globl b__MGIAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGIAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGIAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGIAFg3__114onfvp_vsfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -3043,7 +3043,7 @@
 b__MA7naqebvq5ivags22XrearyPbasvtGlcrqInyhrP2Ri:
 nop
 .data
-.globl b__MGIAFg3__110__y_napubeVpRR
+.weak b__MGIAFg3__110__y_napubeVpRR
 .type b__MGIAFg3__110__y_napubeVpRR,%object
 b__MGIAFg3__110__y_napubeVpRR:
 .space __SIZEOF_POINTER__
@@ -3058,17 +3058,17 @@
 b__MA7naqebvq5ivags11IvagsBowrpg20VfVafgnaprQrcerpngrqREXAF0_14ZngevkVafgnaprREXAF0_19PbzcngvovyvglZngevkREXAFg3__18shapgvbaVSAF8_6irpgbeVAF8_4cnveVAF8_12onfvp_fgevatVpAF8_11pune_genvgfVpRRAF8_9nyybpngbeVpRRRRAF0_7IrefvbaRRRAFS_VFW_RRRREXFU_FV_FA_EXAFN_VFU_AFS_VFU_RRRRRRRCFU_:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ2Ri
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ2Ri
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ2Ri,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ2Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR25__rzcynpr_havdhr_xrl_netfVzWEXzRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVzCiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR25__rzcynpr_havdhr_xrl_netfVzWEXzRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVzCiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR25__rzcynpr_havdhr_xrl_netfVzWEXzRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVzCiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVzAF_4unfuVzRRAF_8rdhny_gbVzRRAF_9nyybpngbeVzRRR25__rzcynpr_havdhr_xrl_netfVzWEXzRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVzCiRRRRoRREXG_QcBG0_:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags21UnyVagresnprPbairegreR
+.weak b__MGIA7naqebvq5ivags21UnyVagresnprPbairegreR
 .type b__MGIA7naqebvq5ivags21UnyVagresnprPbairegreR,%object
 b__MGIA7naqebvq5ivags21UnyVagresnprPbairegreR:
 .space __SIZEOF_POINTER__
@@ -3078,7 +3078,7 @@
 b__MAX7naqebvq5ivags9FlfgrzFqx14erzbirIrefvbafREXF1_:
 nop
 .text
-.globl b__MAFg3__116__frg_qvssreraprVEAF_6__yrffVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRFS_AF_15vafreg_vgrengbeVAF_3frgVF7_AF_4yrffVF7_RRAF5_VF7_RRRRRRRRG2_G0_FB_G1_FC_FA_G_
+.weak b__MAFg3__116__frg_qvssreraprVEAF_6__yrffVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRFS_AF_15vafreg_vgrengbeVAF_3frgVF7_AF_4yrffVF7_RRAF5_VF7_RRRRRRRRG2_G0_FB_G1_FC_FA_G_
 .type b__MAFg3__116__frg_qvssreraprVEAF_6__yrffVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRFS_AF_15vafreg_vgrengbeVAF_3frgVF7_AF_4yrffVF7_RRAF5_VF7_RRRRRRRRG2_G0_FB_G1_FC_FA_G_,%function
 b__MAFg3__116__frg_qvssreraprVEAF_6__yrffVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRRFS_AF_15vafreg_vgrengbeVAF_3frgVF7_AF_4yrffVF7_RRAF5_VF7_RRRRRRRRG2_G0_FB_G1_FC_FA_G_:
 nop
@@ -3093,17 +3093,17 @@
 b__MA7naqebvq5ivags18iraqbeAqxPbairegreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags13ZngevkKzySvyrRAF_9nyybpngbeVF3_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags13ZngevkKzySvyrRAF_9nyybpngbeVF3_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags13ZngevkKzySvyrRAF_9nyybpngbeVF3_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags13ZngevkKzySvyrRAF_9nyybpngbeVF3_RRR8__nccraqRz:
 nop
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww:
 nop
@@ -3123,12 +3123,12 @@
 b__MA7naqebvq5ivags11IvagsBowrpg16PurpxQrcerpngvbaRCAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRR:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAFg3__14cnveVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRF9_RRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAFg3__14cnveVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRF9_RRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAFg3__14cnveVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRF9_RRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAFg3__14cnveVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRF9_RRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVCXpRRG_F7_F7_:
 nop
@@ -3158,7 +3158,7 @@
 b__MAX7naqebvq5ivags14ZngevkVafgnapr11qrfpevcgvbaRAF0_7IrefvbaR:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_16IaqxIrefvbaEnatrRRR
+.weak b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_16IaqxIrefvbaEnatrRRR
 .type b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_16IaqxIrefvbaEnatrRRR,%object
 b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF0_16IaqxIrefvbaEnatrRRR:
 .space __SIZEOF_POINTER__
@@ -3173,17 +3173,17 @@
 b__MAX7naqebvq5ivags14ZngevkVafgnapr13zngpuVafgnaprREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_:
 nop
 .data
-.globl b__MGIAFg3__128__ortva_znexrq_fhorkcerffvbaVpRR
+.weak b__MGIAFg3__128__ortva_znexrq_fhorkcerffvbaVpRR
 .type b__MGIAFg3__128__ortva_znexrq_fhorkcerffvbaVpRR,%object
 b__MGIAFg3__128__ortva_znexrq_fhorkcerffvbaVpRR:
 .space __SIZEOF_POINTER__
@@ -3203,7 +3203,7 @@
 b__MGIA7naqebvq5ivags11IvagsBowrpgR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11UnyZnavsrfgRAF_9nyybpngbeVF3_RRRR
+.weak b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11UnyZnavsrfgRAF_9nyybpngbeVF3_RRRR
 .type b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11UnyZnavsrfgRAF_9nyybpngbeVF3_RRRR,%object
 b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11UnyZnavsrfgRAF_9nyybpngbeVF3_RRRR:
 .space __SIZEOF_POINTER__
@@ -3218,17 +3218,17 @@
 b__MAX7naqebvq5ivags16ZnavsrfgVafgnapr7irefvbaRi:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVCXpRRgG_F5_op
+.weak b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVCXpRRgG_F5_op
 .type b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVCXpRRgG_F5_op,%function
 b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVCXpRRgG_F5_op:
 nop
 .data
-.globl b__MGIAFg3__113__rzcgl_fgngrVpRR
+.weak b__MGIAFg3__113__rzcgl_fgngrVpRR
 .type b__MGIAFg3__113__rzcgl_fgngrVpRR,%object
 b__MGIAFg3__113__rzcgl_fgngrVpRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -3248,7 +3248,7 @@
 b__MA7naqebvq5ivags11IvagsBowrpg20trgQrivprUnyZnavsrfgRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_4yrffVF8_RRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF8_WF8_RRRAF1_VAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_4yrffVF8_RRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF8_WF8_RRRAF1_VAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_4yrffVF8_RRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF8_WF8_RRRAF1_VAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_4yrffVF8_RRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF8_WF8_RRRAF1_VAF_15__gerr_vgrengbeVF8_CAF_11__gerr_abqrVF8_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -3258,7 +3258,7 @@
 b__MAX7naqebvq5ivags11UnyZnavsrfg15unfNvqyVafgnaprREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRFN_FN_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVCXpRRG_F7_F7_:
 nop
@@ -3268,12 +3268,12 @@
 b__MA7naqebvq5ivags11IvagsBowrpg14trgEhagvzrVasbRow:
 nop
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVAF0_16IaqxIrefvbaEnatrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVAF0_16IaqxIrefvbaEnatrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVAF0_16IaqxIrefvbaEnatrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVAF0_16IaqxIrefvbaEnatrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVCXpRRG_F7_F7_:
 nop
@@ -3283,12 +3283,12 @@
 b__MAX7naqebvq5ivags7qrgnvyf19CebcreglSrgpureVzcy11trgCebcreglREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRFO_:
 nop
 .data
-.globl b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq5ivags9gb_fgevatVAF0_16XrearyPbasvtGlcrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
+.weak b__MA7naqebvq5ivags9gb_fgevatVAF0_16XrearyPbasvtGlcrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_
 .type b__MA7naqebvq5ivags9gb_fgevatVAF0_16XrearyPbasvtGlcrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_,%function
 b__MA7naqebvq5ivags9gb_fgevatVAF0_16XrearyPbasvtGlcrRRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXG_:
 nop
@@ -3298,12 +3298,12 @@
 b__MAX7naqebvq5ivags11UnyZnavsrfg14trgZrgnIrefvbaRi:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF_10SdVafgnaprRRR
+.weak b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF_10SdVafgnaprRRR
 .type b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF_10SdVafgnaprRRR,%object
 b__MGIA7naqebvq5ivags16KzyGrkgPbairegreVAF_10SdVafgnaprRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq5ivags7qrgnvyf19srgpuNyyVasbezngvbaVAF0_19PbzcngvovyvglZngevkRRRvCXAF0_10SvyrFlfgrzREXAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRREXAF0_12KzyPbairegreVG_RRCFU_CFQ_
+.weak b__MA7naqebvq5ivags7qrgnvyf19srgpuNyyVasbezngvbaVAF0_19PbzcngvovyvglZngevkRRRvCXAF0_10SvyrFlfgrzREXAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRREXAF0_12KzyPbairegreVG_RRCFU_CFQ_
 .type b__MA7naqebvq5ivags7qrgnvyf19srgpuNyyVasbezngvbaVAF0_19PbzcngvovyvglZngevkRRRvCXAF0_10SvyrFlfgrzREXAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRREXAF0_12KzyPbairegreVG_RRCFU_CFQ_,%function
 b__MA7naqebvq5ivags7qrgnvyf19srgpuNyyVasbezngvbaVAF0_19PbzcngvovyvglZngevkRRRvCXAF0_10SvyrFlfgrzREXAFg3__112onfvp_fgevatVpAF7_11pune_genvgfVpRRAF7_9nyybpngbeVpRRRREXAF0_12KzyPbairegreVG_RRCFU_CFQ_:
 nop
@@ -3313,12 +3313,12 @@
 b__MA7naqebvq5ivags11UnyZnavsrfg10erzbirUnyfREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRz:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_p
+.weak b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_p
 .type b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_p,%function
 b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_p:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags18FlfgrzFqxPbairegreR
+.weak b__MGIA7naqebvq5ivags18FlfgrzFqxPbairegreR
 .type b__MGIA7naqebvq5ivags18FlfgrzFqxPbairegreR,%object
 b__MGIA7naqebvq5ivags18FlfgrzFqxPbairegreR:
 .space __SIZEOF_POINTER__
@@ -3328,42 +3328,42 @@
 b__MAX7naqebvq5ivags19PbzcngvovyvglZngevk13zngpuVafgnaprRAF0_9UnySbezngREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRREXAF0_7IrefvbaRFO_FO_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF7_WEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRAF_21__gerr_pbafg_vgrengbeVFO_FF_yRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF7_WEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRAF_21__gerr_pbafg_vgrengbeVFO_FF_yRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF7_WEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRAF_21__gerr_pbafg_vgrengbeVFO_FF_yRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags12UnyVagresnprRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF7_WEXAF_4cnveVXF7_FN_RRRRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRAF_21__gerr_pbafg_vgrengbeVFO_FF_yRREXG_QcBG0_:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags12KzySvyrTebhcVAF0_15ZnavsrfgKzySvyrRRR
+.weak b__MGIA7naqebvq5ivags12KzySvyrTebhcVAF0_15ZnavsrfgKzySvyrRRR
 .type b__MGIA7naqebvq5ivags12KzySvyrTebhcVAF0_15ZnavsrfgKzySvyrRRR,%object
 b__MGIA7naqebvq5ivags12KzySvyrTebhcVAF0_15ZnavsrfgKzySvyrRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCXpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FO_p
+.weak b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCXpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FO_p
 .type b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCXpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FO_p,%function
 b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCXpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FO_p:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_
+.weak b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_
 .type b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_,%function
 b__MAXFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags9ZngevkUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR19__rdhny_enatr_zhygvVF7_RRAF_4cnveVAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRFC_RREXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
+.weak b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
 .type b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_,%function
 b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_:
 nop
 .data
-.globl b__MGIAFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_FO_RRyRRECAF_15__gerr_raq_abqrVFQ_RRFR_EXG_
+.weak b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_FO_RRyRRECAF_15__gerr_raq_abqrVFQ_RRFR_EXG_
 .type b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_FO_RRyRRECAF_15__gerr_raq_abqrVFQ_RRFR_EXG_,%function
 b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR12__svaq_rdhnyVF3_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_FO_RRyRRECAF_15__gerr_raq_abqrVFQ_RRFR_EXG_:
 nop
@@ -3373,12 +3373,12 @@
 b__MAX7naqebvq5ivags11EhagvzrVasb8abqrAnzrRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR8__nccraqRz:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF_10SdVafgnaprRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF_10SdVafgnaprRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF_10SdVafgnaprRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF_10SdVafgnaprRRR:
 .space __SIZEOF_POINTER__
@@ -3393,7 +3393,7 @@
 b__MA7naqebvq5ivags16ZnavsrfgVafgnaprP2REXAF_10SdVafgnaprREXAF0_13GenafcbegNepuRAF0_9UnySbezngR:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11EhagvzrVasbRAF_9nyybpngbeVF3_RRRR
+.weak b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11EhagvzrVasbRAF_9nyybpngbeVF3_RRRR
 .type b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11EhagvzrVasbRAF_9nyybpngbeVF3_RRRR,%object
 b__MGIAFg3__120__funerq_cge_rzcynprVA7naqebvq5ivags11EhagvzrVasbRAF_9nyybpngbeVF3_RRRR:
 .space __SIZEOF_POINTER__
@@ -3403,12 +3403,12 @@
 b__MAX7naqebvq5ivags15ZnavsrfgKzySvyrrdREXF1_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR7qrfgeblRCAF_11__gerr_abqrVFO_CiRR:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq5ivags19PbzcngvovyvglZngevkRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -3418,7 +3418,7 @@
 b__MA7naqebvq5ivags5cnefrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCAF0_10FpurznGlcrR:
 nop
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR7qrfgeblRCAF_11__gerr_abqrVF3_CiRR
+.weak b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR7qrfgeblRCAF_11__gerr_abqrVF3_CiRR
 .type b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR7qrfgeblRCAF_11__gerr_abqrVF3_CiRR,%function
 b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR7qrfgeblRCAF_11__gerr_abqrVF3_CiRR:
 nop
@@ -3428,7 +3428,7 @@
 b__MA7naqebvq5ivags19PbzcngvovyvglZngevk13fcyvgVafgnaprRCAF0_9ZngevkUnyREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRFP_o:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWF7_FN_RRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWF7_FN_RRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWF7_FN_RRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags11ZnavsrfgUnyRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR15__rzcynpr_zhygvVWF7_FN_RRRAF_15__gerr_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRQcBG_:
 nop
@@ -3438,7 +3438,7 @@
 b__MAX7naqebvq5ivags7qrgnvyf19CebcreglSrgpureAbBc11trgCebcreglREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRFO_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR11__svaq_yrnsRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRECAF_15__gerr_raq_abqrVCAF_16__gerr_abqr_onfrVFX_RRRREXF7_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR11__svaq_yrnsRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRECAF_15__gerr_raq_abqrVCAF_16__gerr_abqr_onfrVFX_RRRREXF7_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR11__svaq_yrnsRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRECAF_15__gerr_raq_abqrVCAF_16__gerr_abqr_onfrVFX_RRRREXF7_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRA7naqebvq5ivags13ZngevkKzySvyrRRRAF_19__znc_inyhr_pbzcnerVF7_FO_AF_4yrffVF7_RRYo1RRRAF5_VFO_RRR11__svaq_yrnsRAF_21__gerr_pbafg_vgrengbeVFO_CAF_11__gerr_abqrVFO_CiRRyRRECAF_15__gerr_raq_abqrVCAF_16__gerr_abqr_onfrVFX_RRRREXF7_:
 nop
@@ -3453,7 +3453,7 @@
 b__MAX7naqebvq5ivags11ZnavsrfgUnyrdREXF1_:
 nop
 .text
-.globl b__MAFg3__16__gerrVzAF_4yrffVzRRAF_9nyybpngbeVzRRR7qrfgeblRCAF_11__gerr_abqrVzCiRR
+.weak b__MAFg3__16__gerrVzAF_4yrffVzRRAF_9nyybpngbeVzRRR7qrfgeblRCAF_11__gerr_abqrVzCiRR
 .type b__MAFg3__16__gerrVzAF_4yrffVzRRAF_9nyybpngbeVzRRR7qrfgeblRCAF_11__gerr_abqrVzCiRR,%function
 b__MAFg3__16__gerrVzAF_4yrffVzRRAF_9nyybpngbeVzRRR7qrfgeblRCAF_11__gerr_abqrVzCiRR:
 nop
@@ -3463,12 +3463,12 @@
 b__MA7naqebvq5ivags7qrgnvyf14xCebqhpgZngevkR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags15ZnavsrfgKzySvyrRAF_9nyybpngbeVF3_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags15ZnavsrfgKzySvyrRAF_9nyybpngbeVF3_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags15ZnavsrfgKzySvyrRAF_9nyybpngbeVF3_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags15ZnavsrfgKzySvyrRAF_9nyybpngbeVF3_RRR8__nccraqRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags12IrefvbaEnatrRAF_9nyybpngbeVF3_RRRP2REXF6_
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags12IrefvbaEnatrRAF_9nyybpngbeVF3_RRRP2REXF6_
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags12IrefvbaEnatrRAF_9nyybpngbeVF3_RRRP2REXF6_,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags12IrefvbaEnatrRAF_9nyybpngbeVF3_RRRP2REXF6_:
 nop
@@ -3478,17 +3478,17 @@
 b__MA7naqebvq5ivags19nioIrefvbaPbairegreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags12UnyVagresnprRAF_9nyybpngbeVF3_RRR6erfvmrRz
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags12UnyVagresnprRAF_9nyybpngbeVF3_RRR6erfvmrRz
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags12UnyVagresnprRAF_9nyybpngbeVF3_RRR6erfvmrRz,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags12UnyVagresnprRAF_9nyybpngbeVF3_RRR6erfvmrRz:
 nop
 .text
-.globl b__MAXFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -3498,7 +3498,7 @@
 b__MA7naqebvq5ivags11IvagsBowrpg16PurpxQrcerpngvbaREXAFg3__18shapgvbaVSAF2_6irpgbeVAF2_4cnveVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF0_7IrefvbaRRRAF9_VFQ_RRRREXFO_FP_FU_EXAF4_VFO_AF9_VFO_RRRRRRRCFO_:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
@@ -3508,12 +3508,12 @@
 b__MA7naqebvq5ivags20unyZnavsrfgPbairegreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__111__nygreangrVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR
+.weak b__MAXFg3__111__nygreangrVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR
 .type b__MAXFg3__111__nygreangrVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR,%function
 b__MAXFg3__111__nygreangrVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaRzEXF4_
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaRzEXF4_
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaRzEXF4_,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaRzEXF4_:
 nop
@@ -3528,7 +3528,7 @@
 b__MA7naqebvq5ivags9FlfgrzFqx6nqqNyyRCF1_:
 nop
 .text
-.globl b__MAXFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -3538,12 +3538,12 @@
 b__MA7naqebvq5ivags14ZngevkVafgnaprP1RAF0_9UnySbezngRAF_10SdVafgnaprREXAF0_12IrefvbaEnatrRoo:
 nop
 .text
-.globl b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_CiRRyRRRRiG_FT_
+.weak b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_CiRRyRRRRiG_FT_
 .type b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_CiRRyRRRRiG_FT_,%function
 b__MAFg3__16__gerrVA7naqebvq5ivags16ZnavsrfgVafgnaprRAF_4yrffVF3_RRAF_9nyybpngbeVF3_RRR14__nffvta_zhygvVAF_21__gerr_pbafg_vgrengbeVF3_CAF_11__gerr_abqrVF3_CiRRyRRRRiG_FT_:
 nop
 .data
-.globl b__MGIAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRR
+.weak b__MGIAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRR
 .type b__MGIAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRR,%object
 b__MGIAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -3553,17 +3553,17 @@
 b__MAX7naqebvq5ivags11UnyZnavsrfg16trgUvqyVafgnaprfREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF0_7IrefvbaRFN_:
 nop
 .data
-.globl b__MGIAFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags7IrefvbaRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags7IrefvbaRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags7IrefvbaRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags7IrefvbaRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCA8gvalkzy210KZYRyrzragRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
+.weak b__MAFg3__16irpgbeVCA8gvalkzy210KZYRyrzragRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
 .type b__MAFg3__16irpgbeVCA8gvalkzy210KZYRyrzragRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_,%function
 b__MAFg3__16irpgbeVCA8gvalkzy210KZYRyrzragRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_:
 nop
@@ -3583,7 +3583,7 @@
 b__MA7naqebvq5ivags11IvagsBowrpg16purpxQrcerpngvbaRCAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
@@ -3603,12 +3603,12 @@
 b__MA7naqebvq5ivags5cnefrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCAF0_13XrearyIrefvbaR:
 nop
 .data
-.globl b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_21XrearyFrcbyvplIrefvbaRRR
+.weak b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_21XrearyFrcbyvplIrefvbaRRR
 .type b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_21XrearyFrcbyvplIrefvbaRRR,%object
 b__MGIA7naqebvq5ivags16KzyAbqrPbairegreVAF0_21XrearyFrcbyvplIrefvbaRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR8__frnepuVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrR
+.weak b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR8__frnepuVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrR
 .type b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR8__frnepuVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrR,%function
 b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR8__frnepuVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrR:
 nop
@@ -3623,12 +3623,12 @@
 b__MA7naqebvq5ivags11ZnavsrfgUny14vafregVafgnaprREXAF_10SdVafgnaprRCAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
 .data
-.globl b__MGIAFg3__16__ybbcVpRR
+.weak b__MGIAFg3__16__ybbcVpRR
 .type b__MGIAFg3__16__ybbcVpRR,%object
 b__MGIAFg3__16__ybbcVpRR:
 .space __SIZEOF_POINTER__
@@ -3673,7 +3673,7 @@
 b__MA7naqebvq5ivags27cnefrXrearyPbasvtGlcrqInyhrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCAF0_22XrearyPbasvtGlcrqInyhrR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq5ivags9IraqbeAqxRAF_9nyybpngbeVF3_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq5ivags9IraqbeAqxRAF_9nyybpngbeVF3_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq5ivags9IraqbeAqxRAF_9nyybpngbeVF3_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq5ivags9IraqbeAqxRAF_9nyybpngbeVF3_RRR8__nccraqRz:
 nop
@@ -3688,7 +3688,7 @@
 b__MAX7naqebvq5ivags11EhagvzrVasb9bfEryrnfrRi:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -3698,7 +3698,7 @@
 b__MAX7naqebvq5ivags11ZnavsrfgUny15sbeRnpuVafgnaprREXAFg3__18shapgvbaVSoEXAF0_16ZnavsrfgVafgnaprRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_098.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_098.S
index 9cc9c2b..34c81be 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_098.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_098.S
@@ -23,7 +23,7 @@
 b__MA7naqebvq4hgvy15gel_fgngf_jevgrRvvCXpy:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVvF6_AF_4yrffVvRRYo1RRRAF3_VF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVvF6_AF_4yrffVvRRYo1RRRAF3_VF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVvF6_AF_4yrffVvRRYo1RRRAF3_VF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_6irpgbeVvAF_9nyybpngbeVvRRRRRRAF_19__znc_inyhr_pbzcnerVvF6_AF_4yrffVvRRYo1RRRAF3_VF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
@@ -63,12 +63,12 @@
 b__MA7naqebvq4hgvy11fgngf_jevgrRvEXAF0_10OlgrfSvryqRyv:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_:
 nop
@@ -173,7 +173,7 @@
 b__MA7naqebvq4hgvy27gel_fgngf_jevgr_aba_punvarqRvvCXpv:
 nop
 .text
-.globl b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVvCAF_11__gerr_abqrVvF8_RRyRRECAF_15__gerr_raq_abqrVFN_RRFO_EXG_
+.weak b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVvCAF_11__gerr_abqrVvF8_RRyRRECAF_15__gerr_raq_abqrVFN_RRFO_EXG_
 .type b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVvCAF_11__gerr_abqrVvF8_RRyRRECAF_15__gerr_raq_abqrVFN_RRFO_EXG_,%function
 b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVvCAF_11__gerr_abqrVvF8_RRyRRECAF_15__gerr_raq_abqrVFN_RRFO_EXG_:
 nop
@@ -438,7 +438,7 @@
 b__MA7naqebvq4hgvy15gel_fgngf_jevgrRvEXAF0_10OlgrfSvryqRvvvvvy:
 nop
 .text
-.globl b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR
+.weak b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR
 .type b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR,%function
 b__MAFg3__16__gerrVvAF_4yrffVvRRAF_9nyybpngbeVvRRR7qrfgeblRCAF_11__gerr_abqrVvCiRR:
 nop
@@ -1178,7 +1178,7 @@
 b__MA7naqebvq4hgvy15gel_fgngf_jevgrRvvvyo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6nffvtaVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6nffvtaVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6nffvtaVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6nffvtaVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_:
 nop
@@ -1308,7 +1308,7 @@
 b__MA7naqebvq4hgvy9NgbzfVasb17xJuvgryvfgrqNgbzfR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq4hgvy21FgngrNgbzSvryqBcgvbafRRRAF_19__znc_inyhr_pbzcnerVvF5_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq4hgvy21FgngrNgbzSvryqBcgvbafRRRAF_19__znc_inyhr_pbzcnerVvF5_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq4hgvy21FgngrNgbzSvryqBcgvbafRRRAF_19__znc_inyhr_pbzcnerVvF5_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq4hgvy21FgngrNgbzSvryqBcgvbafRRRAF_19__znc_inyhr_pbzcnerVvF5_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR:
 nop
@@ -1368,7 +1368,7 @@
 b__MA7naqebvq4hgvy15gel_fgngf_jevgrRvvCXpv:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_099.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_099.S
index dc3951a..2bc83a1 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_099.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_099.S
@@ -13,12 +13,12 @@
 b__MA25freire_pbasvthenoyr_syntf28FreirePbasvthenoyrSyntfErfrgRAF_9ErfrgZbqrR:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
 .text
-.globl b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
+.weak b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
 .type b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR,%function
 b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_100.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_100.S
index b78c5c6..415b964 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_100.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_100.S
@@ -63,7 +63,7 @@
 b_svkrq_ssg_erny:
 nop
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -133,7 +133,7 @@
 b_qbjazvk_gb_zbab_v16_sebz_fgrerb_v16:
 nop
 .data
-.globl b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -168,7 +168,7 @@
 b_zrzpcl_gb_v32_sebz_sybng:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR8__nccraqRz:
 nop
@@ -238,7 +238,7 @@
 b_tnva_sebz_sybng:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
@@ -263,7 +263,7 @@
 b__MAX7naqebvq11nhqvb_hgvyf7Onynapr20pbzchgrFgrerbOnynaprRsCsF2_:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -288,7 +288,7 @@
 b__MA40ErsVaqrkQrsreerqFgberEryrnfrQrsreerqJnxrQ1Ri:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -358,12 +358,12 @@
 b__MA7naqebvq11nhqvb_hgvyf7Onynapr14frgPunaaryZnfxRw:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -408,7 +408,7 @@
 b_perngr_erfnzcyre:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
@@ -433,7 +433,7 @@
 b_abaMrebZbab16:
 nop
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
@@ -463,7 +463,7 @@
 b_npphzhyngr_sybng:
 nop
 .text
-.globl b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR6nffvtaVCsRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVsAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
+.weak b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR6nffvtaVCsRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVsAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
 .type b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR6nffvtaVCsRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVsAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_,%function
 b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR6nffvtaVCsRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVsAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_:
 nop
@@ -598,7 +598,7 @@
 b__MA40ErsVaqrkQrsreerqFgberEryrnfrQrsreerqJnxrP1RE22nhqvb_hgvyf_svsb_vaqrk:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVsoRRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEXsoRRRiQcBG_
+.weak b__MAFg3__16irpgbeVAF_4cnveVsoRRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEXsoRRRiQcBG_
 .type b__MAFg3__16irpgbeVAF_4cnveVsoRRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEXsoRRRiQcBG_,%function
 b__MAFg3__16irpgbeVAF_4cnveVsoRRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEXsoRRRiQcBG_:
 nop
@@ -683,7 +683,7 @@
 b_zrzpcl_gb_sybng_sebz_v16:
 nop
 .data
-.globl b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -703,7 +703,7 @@
 b_zrzpcl_gb_sybng_sebz_d4_27:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
@@ -743,17 +743,17 @@
 b__MA23nhqvb_hgvyf_svsb_jevgreQ1Ri:
 nop
 .text
-.globl b__M20nhqvb_hgvyf_ybt_cybgVAFg3__111__jenc_vgreVCAF0_4cnveVsoRRRRRAF0_12onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRRG_FP_
+.weak b__M20nhqvb_hgvyf_ybt_cybgVAFg3__111__jenc_vgreVCAF0_4cnveVsoRRRRRAF0_12onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRRG_FP_
 .type b__M20nhqvb_hgvyf_ybt_cybgVAFg3__111__jenc_vgreVCAF0_4cnveVsoRRRRRAF0_12onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRRG_FP_,%function
 b__M20nhqvb_hgvyf_ybt_cybgVAFg3__111__jenc_vgreVCAF0_4cnveVsoRRRRRAF0_12onfvp_fgevatVpAF0_11pune_genvgfVpRRAF0_9nyybpngbeVpRRRRG_FP_:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVsAF_9nyybpngbeVsRRR8__nccraqRz:
 nop
@@ -833,7 +833,7 @@
 b__MA37ErsVaqrkPnpurqYbnqNpdhverQrsreerqJnvg3trgRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVsoRRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEsoRRRiQcBG_
+.weak b__MAFg3__16irpgbeVAF_4cnveVsoRRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEsoRRRiQcBG_
 .type b__MAFg3__16irpgbeVAF_4cnveVsoRRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEsoRRRiQcBG_,%function
 b__MAFg3__16irpgbeVAF_4cnveVsoRRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWEsoRRRiQcBG_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_101.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_101.S
index b5bcd54..93b951b 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_101.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_101.S
@@ -13,7 +13,7 @@
 b__MA7naqebvq13VNhqvbZnantreQ2Ri:
 nop
 .data
-.globl b__MGIA7naqebvq14OcNhqvbZnantreR
+.weak b__MGIA7naqebvq14OcNhqvbZnantreR
 .type b__MGIA7naqebvq14OcNhqvbZnantreR,%object
 b__MGIA7naqebvq14OcNhqvbZnantreR:
 .space __SIZEOF_POINTER__
@@ -28,7 +28,7 @@
 b__MA7naqebvq13VNhqvbZnantreQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq14OcNhqvbZnantreR0_AF_13VNhqvbZnantreR
+.weak b__MGPA7naqebvq14OcNhqvbZnantreR0_AF_13VNhqvbZnantreR
 .type b__MGPA7naqebvq14OcNhqvbZnantreR0_AF_13VNhqvbZnantreR,%object
 b__MGPA7naqebvq14OcNhqvbZnantreR0_AF_13VNhqvbZnantreR:
 .space __SIZEOF_POINTER__
@@ -78,17 +78,17 @@
 b__MGPA7naqebvq13VNhqvbZnantreR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq14OcNhqvbZnantreR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq14OcNhqvbZnantreR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq14OcNhqvbZnantreR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq14OcNhqvbZnantreR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq14OcNhqvbZnantreR0_AF_11OcVagresnprVAF_13VNhqvbZnantreRRR
+.weak b__MGPA7naqebvq14OcNhqvbZnantreR0_AF_11OcVagresnprVAF_13VNhqvbZnantreRRR
 .type b__MGPA7naqebvq14OcNhqvbZnantreR0_AF_11OcVagresnprVAF_13VNhqvbZnantreRRR,%object
 b__MGPA7naqebvq14OcNhqvbZnantreR0_AF_11OcVagresnprVAF_13VNhqvbZnantreRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq14OcNhqvbZnantreR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq14OcNhqvbZnantreR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq14OcNhqvbZnantreR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq14OcNhqvbZnantreR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -98,7 +98,7 @@
 b__MGGA7naqebvq13VNhqvbZnantreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq14OcNhqvbZnantreR
+.weak b__MGGA7naqebvq14OcNhqvbZnantreR
 .type b__MGGA7naqebvq14OcNhqvbZnantreR,%object
 b__MGGA7naqebvq14OcNhqvbZnantreR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_102.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_102.S
index 599a318..0e33b57 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_102.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_102.S
@@ -18,7 +18,7 @@
 b__MGIA7naqebvq11CebprffVasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR8qb_fcyngRCiCXiz:
 nop
@@ -58,7 +58,7 @@
 b__MA7naqebvq19ZrqvnCnpxntrZnantre22ergervirCnpxntrZnantreRi:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRR11unfVafgnaprRi
+.weak b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRR11unfVafgnaprRi
 .type b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRR11unfVafgnaprRi,%function
 b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRR11unfVafgnaprRi:
 nop
@@ -68,7 +68,7 @@
 b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRR9fVafgnaprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVwvRRAF_19__znc_inyhr_pbzcnerVwF2_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVwvRRAF_19__znc_inyhr_pbzcnerVwF2_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVwvRRAF_19__znc_inyhr_pbzcnerVwF2_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVwvRRAF_19__znc_inyhr_pbzcnerVwF2_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
@@ -78,7 +78,7 @@
 b__MA7naqebvq24VFpurqhyvatCbyvplFreivpr14frgQrsnhygVzcyRAFg3__110havdhr_cgeVF0_AF1_14qrsnhyg_qryrgrVF0_RRRR:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
@@ -88,7 +88,7 @@
 b_nflap_fnsr_sbezng_ybt:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRRP1Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRRP1Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRRP1Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRRP1Ri:
 nop
@@ -98,7 +98,7 @@
 b__MA7naqebvq24VFpurqhyvatCbyvplFreivprQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR12qb_pbafgehpgRCiz:
 nop
@@ -173,12 +173,12 @@
 b__MGi0_a24_A7naqebvq24VFpurqhyvatCbyvplFreivprQ1Ri:
 nop
 .data
-.globl b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR7qb_pbclRCiCXiz:
 nop
@@ -188,12 +188,12 @@
 b__MA7naqebvq9GvzrPurpx15GvzrPurpxGuernqQ2Ri:
 nop
 .data
-.globl b__MGPA7naqebvq25OcFpurqhyvatCbyvplFreivprR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq25OcFpurqhyvatCbyvplFreivprR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq25OcFpurqhyvatCbyvplFreivprR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq25OcFpurqhyvatCbyvplFreivprR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
@@ -203,7 +203,7 @@
 b__MA7naqebvq9GvzrPurpx15GvzrPurpxGuernq14fgbcZbavgbevatRy:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6nffvtaVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6nffvtaVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6nffvtaVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR6nffvtaVCvRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVvAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_:
 nop
@@ -233,7 +233,7 @@
 b__MA7naqebvq15OnggrelAbgvsvre19trgOnggrelFreivpr_yRi:
 nop
 .data
-.globl b__MGGA7naqebvq25OcFpurqhyvatCbyvplFreivprR
+.weak b__MGGA7naqebvq25OcFpurqhyvatCbyvplFreivprR
 .type b__MGGA7naqebvq25OcFpurqhyvatCbyvplFreivprR,%object
 b__MGGA7naqebvq25OcFpurqhyvatCbyvplFreivprR:
 .space __SIZEOF_POINTER__
@@ -253,7 +253,7 @@
 b_nflap_fnsr_sngny_in_yvfg:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -298,12 +298,12 @@
 b__MA7naqebvq15OnggrelAbgvsvreP1Ri:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRRP2Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRRP2Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRRP2Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRRP2Ri:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -313,7 +313,7 @@
 b__MA7naqebvq24VFpurqhyvatCbyvplFreivpr11nfVagresnprREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .data
-.globl b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -338,7 +338,7 @@
 b__MA7naqebvq18erdhrfgPchfrgObbfgRoEXAF_2fcVAF_10VVagresnprRRR:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_8Fgevat16RRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_8Fgevat16RRR
 .type b__MGIA7naqebvq6IrpgbeVAF_8Fgevat16RRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_8Fgevat16RRR:
 .space __SIZEOF_POINTER__
@@ -348,7 +348,7 @@
 b__MA7naqebvq15OnggrelAbgvsvre14abgrFgbcPnzrenREXAF_7Fgevat8Rw:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRR11trgVafgnaprRi
+.weak b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRR11trgVafgnaprRi
 .type b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRR11trgVafgnaprRi,%function
 b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRR11trgVafgnaprRi:
 nop
@@ -358,7 +358,7 @@
 b__MGPA7naqebvq25OaFpurqhyvatCbyvplFreivprR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR10qb_qrfgeblRCiz:
 nop
@@ -383,7 +383,7 @@
 b__MGGA7naqebvq24VFpurqhyvatCbyvplFreivprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
@@ -418,7 +418,7 @@
 b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRR5fYbpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq25OcFpurqhyvatCbyvplFreivprR0_AF_24VFpurqhyvatCbyvplFreivprR
+.weak b__MGPA7naqebvq25OcFpurqhyvatCbyvplFreivprR0_AF_24VFpurqhyvatCbyvplFreivprR
 .type b__MGPA7naqebvq25OcFpurqhyvatCbyvplFreivprR0_AF_24VFpurqhyvatCbyvplFreivprR,%object
 b__MGPA7naqebvq25OcFpurqhyvatCbyvplFreivprR0_AF_24VFpurqhyvatCbyvplFreivprR:
 .space __SIZEOF_POINTER__
@@ -433,7 +433,7 @@
 b__MA7naqebvq21pncgherUbgjbeqNyybjrqREXAF_8Fgevat16Rvw:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR8qb_fcyngRCiCXiz:
 nop
@@ -448,7 +448,7 @@
 b__MA7naqebvq9GvzrPurpxP1RCXpw:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRRQ1Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRRQ1Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRRQ1Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRRQ1Ri:
 nop
@@ -458,7 +458,7 @@
 b__MAX7naqebvq24VFpurqhyvatCbyvplFreivpr22trgVagresnprQrfpevcgbeRi:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -483,12 +483,12 @@
 b__MA7naqebvq19ZrqvnCnpxntrZnantre11qbVfNyybjrqRw:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -498,12 +498,12 @@
 b__MA7naqebvq9GvzrPurpx18npprffNhqvbUnyCvqfRCAFg3__16irpgbeVvAF1_9nyybpngbeVvRRRRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVC8ZncRagel15pbzcner_ragevrfAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVC8ZncRagel15pbzcner_ragevrfAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVC8ZncRagel15pbzcner_ragevrfAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVC8ZncRagel15pbzcner_ragevrfAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -533,7 +533,7 @@
 b__MA7naqebvq24VFpurqhyvatCbyvplFreivprP2Ri:
 nop
 .data
-.globl b__MGPA7naqebvq25OcFpurqhyvatCbyvplFreivprR0_AF_11OcVagresnprVAF_24VFpurqhyvatCbyvplFreivprRRR
+.weak b__MGPA7naqebvq25OcFpurqhyvatCbyvplFreivprR0_AF_11OcVagresnprVAF_24VFpurqhyvatCbyvplFreivprRRR
 .type b__MGPA7naqebvq25OcFpurqhyvatCbyvplFreivprR0_AF_11OcVagresnprVAF_24VFpurqhyvatCbyvplFreivprRRR,%object
 b__MGPA7naqebvq25OcFpurqhyvatCbyvplFreivprR0_AF_11OcVagresnprVAF_24VFpurqhyvatCbyvplFreivprRRR:
 .space __SIZEOF_POINTER__
@@ -558,7 +558,7 @@
 b__MA7naqebvq15OnggrelAbgvsvre13abgrFgbcIvqrbRw:
 nop
 .data
-.globl b__MGIA7naqebvq25OcFpurqhyvatCbyvplFreivprR
+.weak b__MGIA7naqebvq25OcFpurqhyvatCbyvplFreivprR
 .type b__MGIA7naqebvq25OcFpurqhyvatCbyvplFreivprR,%object
 b__MGIA7naqebvq25OcFpurqhyvatCbyvplFreivprR:
 .space __SIZEOF_POINTER__
@@ -598,17 +598,17 @@
 b__MA7naqebvq15OnggrelAbgvsvreQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRRQ2Ri
+.weak b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRRQ2Ri
 .type b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRRQ2Ri,%function
 b__MA7naqebvq9FvatyrgbaVAF_15OnggrelAbgvsvreRRQ2Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_4cnveVA7naqebvq7Fgevat8RwRRoRRAF_19__znc_inyhr_pbzcnerVF5_F6_AF_4yrffVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_4cnveVA7naqebvq7Fgevat8RwRRoRRAF_19__znc_inyhr_pbzcnerVF5_F6_AF_4yrffVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_4cnveVA7naqebvq7Fgevat8RwRRoRRAF_19__znc_inyhr_pbzcnerVF5_F6_AF_4yrffVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_4cnveVA7naqebvq7Fgevat8RwRRoRRAF_19__znc_inyhr_pbzcnerVF5_F6_AF_4yrffVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq19ZrqvnCnpxntrZnantre7CnpxntrRAF_9nyybpngbeVF3_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq19ZrqvnCnpxntrZnantre7CnpxntrRAF_9nyybpngbeVF3_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq19ZrqvnCnpxntrZnantre7CnpxntrRAF_9nyybpngbeVF3_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq19ZrqvnCnpxntrZnantre7CnpxntrRAF_9nyybpngbeVF3_RRR8__nccraqRz:
 nop
@@ -623,7 +623,7 @@
 b__MA7naqebvq15frggvatfNyybjrqRi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_9GvzrPurpx15GvzrPurpxGuernqRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_9GvzrPurpx15GvzrPurpxGuernqRRQ2Ri
 .type b__MA7naqebvq2fcVAF_9GvzrPurpx15GvzrPurpxGuernqRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_9GvzrPurpx15GvzrPurpxGuernqRRQ2Ri:
 nop
@@ -633,7 +633,7 @@
 b__MGGA7naqebvq25OaFpurqhyvatCbyvplFreivprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
@@ -663,17 +663,17 @@
 b__MA7naqebvq25zbqvslNhqvbEbhgvatNyybjrqRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_8Fgevat16RR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR7qb_pbclRCiCXiz:
 nop
@@ -688,12 +688,12 @@
 b__MA7naqebvq15OnggrelAbgvsvre24baOnggrelFgngFreivprQvrqRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_4cnveVA7naqebvq7Fgevat8RwRRoRRAF_19__znc_inyhr_pbzcnerVF5_F6_AF_4yrffVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF5_RRRAFV_VWRRRRRRAF2_VAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_4cnveVA7naqebvq7Fgevat8RwRRoRRAF_19__znc_inyhr_pbzcnerVF5_F6_AF_4yrffVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF5_RRRAFV_VWRRRRRRAF2_VAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_4cnveVA7naqebvq7Fgevat8RwRRoRRAF_19__znc_inyhr_pbzcnerVF5_F6_AF_4yrffVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF5_RRRAFV_VWRRRRRRAF2_VAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_4cnveVA7naqebvq7Fgevat8RwRRoRRAF_19__znc_inyhr_pbzcnerVF5_F6_AF_4yrffVF5_RRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVF5_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF5_RRRAFV_VWRRRRRRAF2_VAF_15__gerr_vgrengbeVF6_CAF_11__gerr_abqrVF6_CiRRyRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_24VFpurqhyvatCbyvplFreivprRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_24VFpurqhyvatCbyvplFreivprRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_24VFpurqhyvatCbyvplFreivprRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_24VFpurqhyvatCbyvplFreivprRR10baNfOvaqreRi:
 nop
@@ -703,7 +703,7 @@
 b__MGIA7naqebvq25OaFpurqhyvatCbyvplFreivprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
@@ -718,12 +718,12 @@
 b__MA7naqebvq9GvzrPurpxQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_24VFpurqhyvatCbyvplFreivprRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_24VFpurqhyvatCbyvplFreivprRRQ2Ri
 .type b__MA7naqebvq2fcVAF_24VFpurqhyvatCbyvplFreivprRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_24VFpurqhyvatCbyvplFreivprRRQ2Ri:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_9GvzrPurpx15GvzrPurpxGuernqRRP2RCF2_
+.weak b__MA7naqebvq2fcVAF_9GvzrPurpx15GvzrPurpxGuernqRRP2RCF2_
 .type b__MA7naqebvq2fcVAF_9GvzrPurpx15GvzrPurpxGuernqRRP2RCF2_,%function
 b__MA7naqebvq2fcVAF_9GvzrPurpx15GvzrPurpxGuernqRRP2RCF2_:
 nop
@@ -738,7 +738,7 @@
 b_nflap_fnsr_sngny_ab_nobeg:
 nop
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -748,7 +748,7 @@
 b__MA7naqebvq11CebprffVasb11trgCevbevglRvCv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR10qb_pbzcnerRCXiF7_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR10qb_pbzcnerRCXiF7_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR10qb_pbzcnerRCXiF7_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR10qb_pbzcnerRCXiF7_:
 nop
@@ -768,7 +768,7 @@
 b__MA7naqebvq9GvzrPurpx15GvzrPurpxGuernqQ1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRR12qb_pbafgehpgRCiz:
 nop
@@ -788,7 +788,7 @@
 b__MGPA7naqebvq25OaFpurqhyvatCbyvplFreivprR0_AF_11OaVagresnprVAF_24VFpurqhyvatCbyvplFreivprRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
@@ -803,7 +803,7 @@
 b__MGPA7naqebvq25OaFpurqhyvatCbyvplFreivprR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq25OcFpurqhyvatCbyvplFreivprR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq25OcFpurqhyvatCbyvplFreivprR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq25OcFpurqhyvatCbyvplFreivprR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq25OcFpurqhyvatCbyvplFreivprR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -813,7 +813,7 @@
 b__MA7naqebvq15svavfuErpbeqvatREXAF_8Fgevat16Rw:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVyCXpRRRR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_103.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_103.S
index 2b5dbed..fa824d2 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_103.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_103.S
@@ -8,7 +8,7 @@
 b__MA7naqebvq17ErcbegCresbeznapr4qhzcRvvEAFg3__13zncVvAF2_VzAF0_19CresbeznaprNanylfvfRAF1_4yrffVzRRAF1_9nyybpngbeVAF1_4cnveVXzF3_RRRRRRAF4_VvRRAF6_VAF7_VXvFO_RRRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVzA7naqebvq17ErcbegCresbeznapr19CresbeznaprNanylfvfRAF_4yrffVzRRAF_9nyybpngbeVAF_4cnveVXzF5_RRRRRRRRAF_19__znc_inyhr_pbzcnerVvFR_AF6_VvRRYo1RRRAF8_VFR_RRR7qrfgeblRCAF_11__gerr_abqrVFR_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVzA7naqebvq17ErcbegCresbeznapr19CresbeznaprNanylfvfRAF_4yrffVzRRAF_9nyybpngbeVAF_4cnveVXzF5_RRRRRRRRAF_19__znc_inyhr_pbzcnerVvFR_AF6_VvRRYo1RRRAF8_VFR_RRR7qrfgeblRCAF_11__gerr_abqrVFR_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVzA7naqebvq17ErcbegCresbeznapr19CresbeznaprNanylfvfRAF_4yrffVzRRAF_9nyybpngbeVAF_4cnveVXzF5_RRRRRRRRAF_19__znc_inyhr_pbzcnerVvFR_AF6_VvRRYo1RRRAF8_VFR_RRR7qrfgeblRCAF_11__gerr_abqrVFR_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvAF_3zncVzA7naqebvq17ErcbegCresbeznapr19CresbeznaprNanylfvfRAF_4yrffVzRRAF_9nyybpngbeVAF_4cnveVXzF5_RRRRRRRRAF_19__znc_inyhr_pbzcnerVvFR_AF6_VvRRYo1RRRAF8_VFR_RRR7qrfgeblRCAF_11__gerr_abqrVFR_CiRR:
 nop
@@ -28,17 +28,17 @@
 b__MAX4Wfba5Inyhr12nfYnetrfgVagRi:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR19__nqq_onpx_pncnpvglRz
+.weak b__MAFg3__15qrdhrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR19__nqq_onpx_pncnpvglRz
 .type b__MAFg3__15qrdhrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR19__nqq_onpx_pncnpvglRz,%function
 b__MAFg3__15qrdhrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR19__nqq_onpx_pncnpvglRz:
 nop
 .text
-.globl b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR6erfvmrRz
+.weak b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR6erfvmrRz
 .type b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR6erfvmrRz,%function
 b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR6erfvmrRz:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR6frgohsRCpy
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR6frgohsRCpy
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR6frgohsRCpy,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR6frgohsRCpy:
 nop
@@ -73,7 +73,7 @@
 b__MA7naqebvq5AOYbt11ZretrGuernqP1REAF0_6ZretreREAF0_11ZretrErnqreR:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ2Ri
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ2Ri
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ2Ri,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ2Ri:
 nop
@@ -98,7 +98,7 @@
 b__MAX7naqebvq17ErcbegCresbeznapr9Uvfgbtenz8gbFgevatRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_
 .type b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_:
 nop
@@ -143,7 +143,7 @@
 b__MA4Wfba18FglyrqFgernzJevgre11jevgrVaqragRi:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_4cnveVqyRRAF_9nyybpngbeVF2_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVF2_CXF2_EF7_CXF8_yYy256RRR
+.weak b__MAFg3__15qrdhrVAF_4cnveVqyRRAF_9nyybpngbeVF2_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVF2_CXF2_EF7_CXF8_yYy256RRR
 .type b__MAFg3__15qrdhrVAF_4cnveVqyRRAF_9nyybpngbeVF2_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVF2_CXF2_EF7_CXF8_yYy256RRR,%function
 b__MAFg3__15qrdhrVAF_4cnveVqyRRAF_9nyybpngbeVF2_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVF2_CXF2_EF7_CXF8_yYy256RRR:
 nop
@@ -193,7 +193,7 @@
 b__MA7naqebvq5AOYbt6Ernqre11trgFancfubgRo:
 nop
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
@@ -208,17 +208,17 @@
 b__MA7naqebvq5AOYbt13NofgenpgRagel10ohvyqRagelRCXu:
 nop
 .data
-.globl b__MM26nhqvb_hgvyf_cybg_uvfgbtenzEXAFg3__13zncVqvAF_4yrffVqRRAF_9nyybpngbeVAF_4cnveVXqvRRRRRRCXpFP_vR11haqrefpberf
+.weak b__MM26nhqvb_hgvyf_cybg_uvfgbtenzEXAFg3__13zncVqvAF_4yrffVqRRAF_9nyybpngbeVAF_4cnveVXqvRRRRRRCXpFP_vR11haqrefpberf
 .type b__MM26nhqvb_hgvyf_cybg_uvfgbtenzEXAFg3__13zncVqvAF_4yrffVqRRAF_9nyybpngbeVAF_4cnveVXqvRRRRRRCXpFP_vR11haqrefpberf,%object
 b__MM26nhqvb_hgvyf_cybg_uvfgbtenzEXAFg3__13zncVqvAF_4yrffVqRRAF_9nyybpngbeVAF_4cnveVXqvRRRRRRCXpFP_vR11haqrefpberf:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFO_RRR10chfu_sebagREXFO_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFO_RRR10chfu_sebagREXFO_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFO_RRR10chfu_sebagREXFO_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFO_RRR10chfu_sebagREXFO_:
 nop
@@ -233,7 +233,7 @@
 b__MA4Wfba5InyhrP2REXAF_12FgngvpFgevatR:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
@@ -288,17 +288,17 @@
 b__MA4Wfba8xAhyyErsR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MTIM26nhqvb_hgvyf_cybg_uvfgbtenzEXAFg3__13zncVqvAF_4yrffVqRRAF_9nyybpngbeVAF_4cnveVXqvRRRRRRCXpFP_vR6fcnprf
+.weak b__MTIM26nhqvb_hgvyf_cybg_uvfgbtenzEXAFg3__13zncVqvAF_4yrffVqRRAF_9nyybpngbeVAF_4cnveVXqvRRRRRRCXpFP_vR6fcnprf
 .type b__MTIM26nhqvb_hgvyf_cybg_uvfgbtenzEXAFg3__13zncVqvAF_4yrffVqRRAF_9nyybpngbeVAF_4cnveVXqvRRRRRRCXpFP_vR6fcnprf,%object
 b__MTIM26nhqvb_hgvyf_cybg_uvfgbtenzEXAFg3__13zncVqvAF_4yrffVqRRAF_9nyybpngbeVAF_4cnveVXqvRRRRRRCXpFP_vR6fcnprf:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__15qrdhrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR6erfvmrRz
+.weak b__MAFg3__15qrdhrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR6erfvmrRz
 .type b__MAFg3__15qrdhrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR6erfvmrRz,%function
 b__MAFg3__15qrdhrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR6erfvmrRz:
 nop
 .text
-.globl b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR19__nqq_onpx_pncnpvglRz
+.weak b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR19__nqq_onpx_pncnpvglRz
 .type b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR19__nqq_onpx_pncnpvglRz,%function
 b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR19__nqq_onpx_pncnpvglRz:
 nop
@@ -323,7 +323,7 @@
 b__MAX7naqebvq5AOYbt14UvfgbtenzRagel14pbclJvguNhgubeREAFg3__110havdhr_cgeV23nhqvb_hgvyf_svsb_jevgreAF2_14qrsnhyg_qryrgrVF4_RRRRv:
 nop
 .text
-.globl b__MAFg3__112__qrdhr_onfrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR5pyrneRi
+.weak b__MAFg3__112__qrdhr_onfrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR5pyrneRi
 .type b__MAFg3__112__qrdhr_onfrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR5pyrneRi,%function
 b__MAFg3__112__qrdhr_onfrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR5pyrneRi:
 nop
@@ -333,7 +333,7 @@
 b__MA7naqebvq17ErcbegCresbeznapr19CresbeznaprNanylfvf18qrgrpgNaqFgberCrnxRqy:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR5vzohrREXAF_6ybpnyrR:
 nop
@@ -403,7 +403,7 @@
 b__MAX4Wfba5Inyhr6nfObbyRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
@@ -438,12 +438,12 @@
 b__MAX7naqebvq17ErcbegCresbeznapr9Uvfgbtenz10gbgnyPbhagRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCyEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCyEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
 .type b__MAFg3__114__fcyvg_ohssreVCyEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCyEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ0Ri
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ0Ri
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ0Ri,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRQ0Ri:
 nop
@@ -458,7 +458,7 @@
 b__MAX7naqebvq5AOYbt13RagelVgrengbearREXF1_:
 nop
 .data
-.globl b__MM26nhqvb_hgvyf_cybg_uvfgbtenzEXAFg3__13zncVqvAF_4yrffVqRRAF_9nyybpngbeVAF_4cnveVXqvRRRRRRCXpFP_vR6fcnprf
+.weak b__MM26nhqvb_hgvyf_cybg_uvfgbtenzEXAFg3__13zncVqvAF_4yrffVqRRAF_9nyybpngbeVAF_4cnveVXqvRRRRRRCXpFP_vR6fcnprf
 .type b__MM26nhqvb_hgvyf_cybg_uvfgbtenzEXAFg3__13zncVqvAF_4yrffVqRRAF_9nyybpngbeVAF_4cnveVXqvRRRRRRCXpFP_vR6fcnprf,%object
 b__MM26nhqvb_hgvyf_cybg_uvfgbtenzEXAFg3__13zncVqvAF_4yrffVqRRAF_9nyybpngbeVAF_4cnveVXqvRRRRRRCXpFP_vR6fcnprf:
 .space __SIZEOF_POINTER__
@@ -473,7 +473,7 @@
 b__MAX4Wfba5Inyhr8PMFgevatrdREXF1_:
 nop
 .data
-.globl b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -483,7 +483,7 @@
 b__MA7naqebvq5AOYbt11ZretrGuernq12frgGvzrbhgHfRv:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
@@ -573,7 +573,7 @@
 b__MA4Wfba13inyhrGbFgevatRo:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -653,7 +653,7 @@
 b__MA4Wfba5Inyhr8PMFgevatQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_5AOYbt6ErnqreRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_5AOYbt6ErnqreRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_5AOYbt6ErnqreRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_5AOYbt6ErnqreRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_:
 nop
@@ -673,17 +673,17 @@
 b__MA7naqebvq5AOYbt11ZretrErnqre12unaqyrNhgubeREXAF0_13NofgenpgRagelRCAF_7Fgevat8R:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFO_RRR10chfu_sebagRBFO_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFO_RRR10chfu_sebagRBFO_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFO_RRR10chfu_sebagRBFO_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFO_RRR10chfu_sebagRBFO_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVqvRRAF_19__znc_inyhr_pbzcnerVqF2_AF_4yrffVqRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVqvRRAF_19__znc_inyhr_pbzcnerVqF2_AF_4yrffVqRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVqvRRAF_19__znc_inyhr_pbzcnerVqF2_AF_4yrffVqRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVqvRRAF_19__znc_inyhr_pbzcnerVqF2_AF_4yrffVqRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRP2Ri
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRP2Ri
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRP2Ri,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRP2Ri:
 nop
@@ -698,7 +698,7 @@
 b__MA7naqebvq5AOYbt6Jevgre10ybtISbezngRCXpzFg9__in_yvfg:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVFN_CXFN_EFR_CXFS_yYy128RRR
+.weak b__MAFg3__15qrdhrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVFN_CXFN_EFR_CXFS_yYy128RRR
 .type b__MAFg3__15qrdhrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVFN_CXFN_EFR_CXFS_yYy128RRR,%function
 b__MAFg3__15qrdhrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVFN_CXFN_EFR_CXFS_yYy128RRR:
 nop
@@ -768,7 +768,7 @@
 b__MA4Wfba5InyhrP1Ro:
 nop
 .data
-.globl b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -793,7 +793,7 @@
 b__MA4Wfba5Inyhr6znkVagR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -833,12 +833,12 @@
 b__MA4WfbayfREAFg3__113onfvp_bfgernzVpAF0_11pune_genvgfVpRRRREXAF_5InyhrR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFO_RRR9chfu_onpxRBFO_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFO_RRR9chfu_onpxRBFO_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFO_RRR9chfu_onpxRBFO_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFO_RRR9chfu_onpxRBFO_:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9haqresybjRi
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9haqresybjRi
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9haqresybjRi,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9haqresybjRi:
 nop
@@ -863,7 +863,7 @@
 b__MAX4Wfba5Inyhr8PMFgevat5p_fgeRi:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_4cnveVA7naqebvq5AOYbt5RiragRyRRAF_9nyybpngbeVF5_RRR20__nqq_sebag_pncnpvglRi
+.weak b__MAFg3__15qrdhrVAF_4cnveVA7naqebvq5AOYbt5RiragRyRRAF_9nyybpngbeVF5_RRR20__nqq_sebag_pncnpvglRi
 .type b__MAFg3__15qrdhrVAF_4cnveVA7naqebvq5AOYbt5RiragRyRRAF_9nyybpngbeVF5_RRR20__nqq_sebag_pncnpvglRi,%function
 b__MAFg3__15qrdhrVAF_4cnveVA7naqebvq5AOYbt5RiragRyRRAF_9nyybpngbeVF5_RRR20__nqq_sebag_pncnpvglRi:
 nop
@@ -878,7 +878,7 @@
 b__MAX4Wfba5InyhrrdREXF0_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF4_WEXAF_4cnveVXF4_F3_RRRRRAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF5_FA_yRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF4_WEXAF_4cnveVXF4_F3_RRRRRAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF5_FA_yRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF4_WEXAF_4cnveVXF4_F3_RRRRRAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF5_FA_yRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR30__rzcynpr_uvag_havdhr_xrl_netfVF4_WEXAF_4cnveVXF4_F3_RRRRRAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRAF_21__gerr_pbafg_vgrengbeVF5_FA_yRREXG_QcBG0_:
 nop
@@ -888,12 +888,12 @@
 b__MAX7naqebvq5AOYbt11SbezngRagel4unfuRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_:
 nop
@@ -913,7 +913,7 @@
 b__MAX4Wfba5Inyhr8vfQbhoyrRi:
 nop
 .text
-.globl b__MAFg3__125__yrkvpbtencuvpny_pbzcnerVEAF_6__yrffVAF_4cnveVXA4Wfba5Inyhr8PMFgevatRF4_RRF7_RRAF_20__znc_pbafg_vgrengbeVAF_21__gerr_pbafg_vgrengbeVAF_12__inyhr_glcrVF5_F4_RRCAF_11__gerr_abqrVFQ_CiRRyRRRRFW_RRoG0_FX_G1_FY_G_
+.weak b__MAFg3__125__yrkvpbtencuvpny_pbzcnerVEAF_6__yrffVAF_4cnveVXA4Wfba5Inyhr8PMFgevatRF4_RRF7_RRAF_20__znc_pbafg_vgrengbeVAF_21__gerr_pbafg_vgrengbeVAF_12__inyhr_glcrVF5_F4_RRCAF_11__gerr_abqrVFQ_CiRRyRRRRFW_RRoG0_FX_G1_FY_G_
 .type b__MAFg3__125__yrkvpbtencuvpny_pbzcnerVEAF_6__yrffVAF_4cnveVXA4Wfba5Inyhr8PMFgevatRF4_RRF7_RRAF_20__znc_pbafg_vgrengbeVAF_21__gerr_pbafg_vgrengbeVAF_12__inyhr_glcrVF5_F4_RRCAF_11__gerr_abqrVFQ_CiRRyRRRRFW_RRoG0_FX_G1_FY_G_,%function
 b__MAFg3__125__yrkvpbtencuvpny_pbzcnerVEAF_6__yrffVAF_4cnveVXA4Wfba5Inyhr8PMFgevatRF4_RRF7_RRAF_20__znc_pbafg_vgrengbeVAF_21__gerr_pbafg_vgrengbeVAF_12__inyhr_glcrVF5_F4_RRCAF_11__gerr_abqrVFQ_CiRRyRRRRFW_RRoG0_FX_G1_FY_G_:
 nop
@@ -938,7 +938,7 @@
 b__MA4Wfba18FglyrqFgernzJevgre14vfZhygvarNeenlREXAF_5InyhrR:
 nop
 .data
-.globl b__MGIAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRR
+.weak b__MGIAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRR
 .type b__MGIAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRR,%object
 b__MGIAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -958,12 +958,12 @@
 b__MA7naqebvq5AOYbt6ZretreP1RCXiz:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRREAF5_VFO_RRR10chfu_sebagREXFO_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRREAF5_VFO_RRR10chfu_sebagREXFO_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRREAF5_VFO_RRR10chfu_sebagREXFO_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRREAF5_VFO_RRR10chfu_sebagREXFO_:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_4cnveVqyRRAF_9nyybpngbeVF2_RRR6erfvmrRz
+.weak b__MAFg3__15qrdhrVAF_4cnveVqyRRAF_9nyybpngbeVF2_RRR6erfvmrRz
 .type b__MAFg3__15qrdhrVAF_4cnveVqyRRAF_9nyybpngbeVF2_RRR6erfvmrRz,%function
 b__MAFg3__15qrdhrVAF_4cnveVqyRRAF_9nyybpngbeVF2_RRR6erfvmrRz:
 nop
@@ -1008,7 +1008,7 @@
 b__MAX7naqebvq5AOYbt13RagelVgrengbe4arkgRi:
 nop
 .data
-.globl b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1113,7 +1113,7 @@
 b__MAX7naqebvq5AOYbt11SbezngRagel4netfRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVA7naqebvq5AOYbt5RiragRyRRAF_9nyybpngbeVF6_RRR10chfu_sebagRBF6_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVA7naqebvq5AOYbt5RiragRyRRAF_9nyybpngbeVF6_RRR10chfu_sebagRBF6_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVA7naqebvq5AOYbt5RiragRyRRAF_9nyybpngbeVF6_RRR10chfu_sebagRBF6_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVA7naqebvq5AOYbt5RiragRyRRAF_9nyybpngbeVF6_RRR10chfu_sebagRBF6_:
 nop
@@ -1128,12 +1128,12 @@
 b__MA7naqebvq17ErcbegCresbeznapr18fraqGbZrqvnZrgevpfREXAF0_15CresbeznaprQngnR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
 .text
-.globl b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVyCXyEF5_CXF6_yYy512RRR
+.weak b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVyCXyEF5_CXF6_yYy512RRR
 .type b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVyCXyEF5_CXF6_yYy512RRR,%function
 b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVyCXyEF5_CXF6_yYy512RRR:
 nop
@@ -1148,17 +1148,17 @@
 b__MA4Wfba12FglyrqJevgre15jevgrJvguVaqragREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__114onfvp_bsfgernzVpAF_11pune_genvgfVpRRR4bcraREXAF_12onfvp_fgevatVpF2_AF_9nyybpngbeVpRRRRw
+.weak b__MAFg3__114onfvp_bsfgernzVpAF_11pune_genvgfVpRRR4bcraREXAF_12onfvp_fgevatVpF2_AF_9nyybpngbeVpRRRRw
 .type b__MAFg3__114onfvp_bsfgernzVpAF_11pune_genvgfVpRRR4bcraREXAF_12onfvp_fgevatVpF2_AF_9nyybpngbeVpRRRRw,%function
 b__MAFg3__114onfvp_bsfgernzVpAF_11pune_genvgfVpRRR4bcraREXAF_12onfvp_fgevatVpF2_AF_9nyybpngbeVpRRRRw:
 nop
@@ -1203,7 +1203,7 @@
 b__MA7naqebvq17ErcbegCresbeznapr9qhzcCybgfRvEXAFg3__13zncVvAF0_15CresbeznaprQngnRAF1_4yrffVvRRAF1_9nyybpngbeVAF1_4cnveVXvF3_RRRRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -1248,7 +1248,7 @@
 b__MA7naqebvq17ErcbegCresbeznapr19CresbeznaprNanylfvf17unaqyrFgngrPunatrRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq17ErcbegCresbeznapr15CresbeznaprQngnRRRAF_19__znc_inyhr_pbzcnerVvF5_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFU_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq17ErcbegCresbeznapr15CresbeznaprQngnRRRAF_19__znc_inyhr_pbzcnerVvF5_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFU_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq17ErcbegCresbeznapr15CresbeznaprQngnRRRAF_19__znc_inyhr_pbzcnerVvF5_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFU_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq17ErcbegCresbeznapr15CresbeznaprQngnRRRAF_19__znc_inyhr_pbzcnerVvF5_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFU_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -1308,7 +1308,7 @@
 b__MAX4Wfba5Inyhr4fvmrRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA4Wfba12CnguNethzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA4Wfba12CnguNethzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVA4Wfba12CnguNethzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA4Wfba12CnguNethzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -1323,7 +1323,7 @@
 b__MA4Wfba5InyhrP1RAF_9InyhrGlcrR:
 nop
 .data
-.globl b__MGPAFg3__114onfvp_bsfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__114onfvp_bsfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__114onfvp_bsfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__114onfvp_bsfgernzVpAF_11pune_genvgfVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -1348,12 +1348,12 @@
 b__MAX4Wfba17InyhrVgrengbeOnfr3xrlRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
 .type b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVA7naqebvq5AOYbt5RiragRAF_4unfuVF3_RRAF_8rdhny_gbVF3_RRAF_9nyybpngbeVF3_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXF3_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF3_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVA7naqebvq5AOYbt5RiragRAF_4unfuVF3_RRAF_8rdhny_gbVF3_RRAF_9nyybpngbeVF3_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXF3_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF3_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVA7naqebvq5AOYbt5RiragRAF_4unfuVF3_RRAF_8rdhny_gbVF3_RRAF_9nyybpngbeVF3_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXF3_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF3_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVA7naqebvq5AOYbt5RiragRAF_4unfuVF3_RRAF_8rdhny_gbVF3_RRAF_9nyybpngbeVF3_RRR25__rzcynpr_havdhr_xrl_netfVF3_WEXF3_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF3_CiRRRRoRREXG_QcBG0_:
 nop
@@ -1363,7 +1363,7 @@
 b__MAX4Wfba4Cngu4znxrREAF_5InyhrR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRR:
 nop
@@ -1403,12 +1403,12 @@
 b__MAX4Wfba5Inyhr5rzcglRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA4Wfba12CnguNethzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA4Wfba12CnguNethzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVA4Wfba12CnguNethzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA4Wfba12CnguNethzragRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCXA4Wfba12CnguNethzragRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
+.weak b__MAFg3__16irpgbeVCXA4Wfba12CnguNethzragRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
 .type b__MAFg3__16irpgbeVCXA4Wfba12CnguNethzragRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_,%function
 b__MAFg3__16irpgbeVCXA4Wfba12CnguNethzragRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_:
 nop
@@ -1423,17 +1423,17 @@
 b__MA7naqebvq5AOYbt6JevgreP1REXAF_2fcVAF_7VZrzbelRRRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq17ErcbegCresbeznapr19CresbeznaprNanylfvfRRRAF_19__znc_inyhr_pbzcnerVzF5_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq17ErcbegCresbeznapr19CresbeznaprNanylfvfRRRAF_19__znc_inyhr_pbzcnerVzF5_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq17ErcbegCresbeznapr19CresbeznaprNanylfvfRRRAF_19__znc_inyhr_pbzcnerVzF5_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq17ErcbegCresbeznapr19CresbeznaprNanylfvfRRRAF_19__znc_inyhr_pbzcnerVzF5_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_:
 nop
 .data
-.globl b__MGGAFg3__114onfvp_bsfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGGAFg3__114onfvp_bsfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGGAFg3__114onfvp_bsfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGGAFg3__114onfvp_bsfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1453,7 +1453,7 @@
 b__MA7naqebvq17ErcbegCresbeznapr9qhzcErgebRvEXAFg3__13zncVvAF0_15CresbeznaprQngnRAF1_4yrffVvRRAF1_9nyybpngbeVAF1_4cnveVXvF3_RRRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq17ErcbegCresbeznapr19CresbeznaprNanylfvfRRRAF_19__znc_inyhr_pbzcnerVzF5_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBzRRRAFU_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq17ErcbegCresbeznapr19CresbeznaprNanylfvfRRRAF_19__znc_inyhr_pbzcnerVzF5_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBzRRRAFU_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq17ErcbegCresbeznapr19CresbeznaprNanylfvfRRRAF_19__znc_inyhr_pbzcnerVzF5_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBzRRRAFU_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA7naqebvq17ErcbegCresbeznapr19CresbeznaprNanylfvfRRRAF_19__znc_inyhr_pbzcnerVzF5_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF5_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBzRRRAFU_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF5_CAF_11__gerr_abqrVF5_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -1483,7 +1483,7 @@
 b__MA4Wfba18FglyrqFgernzJevgre10jevgrInyhrREXAF_5InyhrR:
 nop
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1528,17 +1528,17 @@
 b__MAX7naqebvq17ErcbegCresbeznapr9Uvfgbtenz14nfpvvNegFgevatRz:
 nop
 .data
-.globl b__MGIAFg3__114onfvp_bsfgernzVpAF_11pune_genvgfVpRRRR
+.weak b__MGIAFg3__114onfvp_bsfgernzVpAF_11pune_genvgfVpRRRR
 .type b__MGIAFg3__114onfvp_bsfgernzVpAF_11pune_genvgfVpRRRR,%object
 b__MGIAFg3__114onfvp_bsfgernzVpAF_11pune_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MTIM26nhqvb_hgvyf_cybg_uvfgbtenzEXAFg3__13zncVqvAF_4yrffVqRRAF_9nyybpngbeVAF_4cnveVXqvRRRRRRCXpFP_vR11haqrefpberf
+.weak b__MTIM26nhqvb_hgvyf_cybg_uvfgbtenzEXAFg3__13zncVqvAF_4yrffVqRRAF_9nyybpngbeVAF_4cnveVXqvRRRRRRCXpFP_vR11haqrefpberf
 .type b__MTIM26nhqvb_hgvyf_cybg_uvfgbtenzEXAFg3__13zncVqvAF_4yrffVqRRAF_9nyybpngbeVAF_4cnveVXqvRRRRRRCXpFP_vR11haqrefpberf,%object
 b__MTIM26nhqvb_hgvyf_cybg_uvfgbtenzEXAFg3__13zncVqvAF_4yrffVqRRAF_9nyybpngbeVAF_4cnveVXqvRRRRRRCXpFP_vR11haqrefpberf:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR7frrxcbfRAF_4scbfV9zofgngr_gRRw:
 nop
@@ -1568,7 +1568,7 @@
 b__MA7naqebvq5AOYbt10QhzcErnqre12unaqyrSbezngREXAF0_11SbezngRagelRCAF_7Fgevat8RF6_:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR8biresybjRv
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR8biresybjRv
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR8biresybjRv,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR8biresybjRv:
 nop
@@ -1608,7 +1608,7 @@
 b__MA4Wfba18FglyrqFgernzJevgre12abeznyvmrRBYREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -1618,7 +1618,7 @@
 b__MAX7naqebvq5AOYbt6Ernqre9vfVZrzbelREXAF_2fcVAF_7VZrzbelRRR:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR9conpxsnvyRv:
 nop
@@ -1628,7 +1628,7 @@
 b__MA4Wfba12FglyrqJevgre14vfZhygvarNeenlREXAF_5InyhrR:
 nop
 .data
-.globl b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1703,7 +1703,7 @@
 b__MAX7naqebvq5AOYbt11SbezngRagel18sbezngFgevatYratguRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVA7naqebvq5AOYbt5RiragRAF_4unfuVF3_RRAF_8rdhny_gbVF3_RRAF_9nyybpngbeVF3_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVA7naqebvq5AOYbt5RiragRAF_4unfuVF3_RRAF_8rdhny_gbVF3_RRAF_9nyybpngbeVF3_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVA7naqebvq5AOYbt5RiragRAF_4unfuVF3_RRAF_8rdhny_gbVF3_RRAF_9nyybpngbeVF3_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVA7naqebvq5AOYbt5RiragRAF_4unfuVF3_RRAF_8rdhny_gbVF3_RRAF_9nyybpngbeVF3_RRR6erunfuRz:
 nop
@@ -1743,12 +1743,12 @@
 b__MA4Wfba5Inyhr12erzbirZrzoreRCXp:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR12__svaq_rdhnyVF4_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_FS_RRyRRECAF_15__gerr_raq_abqrVFU_RRFV_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR12__svaq_rdhnyVF4_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_FS_RRyRRECAF_15__gerr_raq_abqrVFU_RRFV_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR12__svaq_rdhnyVF4_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_FS_RRyRRECAF_15__gerr_raq_abqrVFU_RRFV_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVA4Wfba5Inyhr8PMFgevatRF3_RRAF_19__znc_inyhr_pbzcnerVF4_F5_AF_4yrffVF4_RRYo1RRRAF_9nyybpngbeVF5_RRR12__svaq_rdhnyVF4_RRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF5_CAF_11__gerr_abqrVF5_FS_RRyRRECAF_15__gerr_raq_abqrVFU_RRFV_EXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_:
 nop
@@ -1823,7 +1823,7 @@
 b__MAX4Wfba5Inyhr8vfHVag64Ri:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCyEAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCyEAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_
 .type b__MAFg3__114__fcyvg_ohssreVCyEAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCyEAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_:
 nop
@@ -1838,7 +1838,7 @@
 b__MA7naqebvq5AOYbt11ZretrErnqre23purpxChfuGbZrqvnZrgevpfRi:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
@@ -1858,7 +1858,7 @@
 b__MAX4Wfba5Inyhr3trgRwEXF0_:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_
 .type b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCyAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_:
 nop
@@ -1868,12 +1868,12 @@
 b__MA4Wfba18InyhrPbafgVgrengbeP1REXAFg3__114__znc_vgrengbeVAF1_15__gerr_vgrengbeVAF1_12__inyhr_glcrVAF_5Inyhr8PMFgevatRF5_RRCAF1_11__gerr_abqrVF7_CiRRyRRRR:
 nop
 .data
-.globl b__MGIA7naqebvq5AOYbt6ZretreR
+.weak b__MGIA7naqebvq5AOYbt6ZretreR
 .type b__MGIA7naqebvq5AOYbt6ZretreR,%object
 b__MGIA7naqebvq5AOYbt6ZretreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_:
 nop
@@ -1883,7 +1883,7 @@
 b__MA7naqebvq5AOYbt10QhzcErnqre15nccraqGvzrfgnzcRCAF_7Fgevat8RCXi:
 nop
 .text
-.globl b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR4flapRi
+.weak b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR4flapRi
 .type b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR4flapRi,%function
 b__MAFg3__113onfvp_svyrohsVpAF_11pune_genvgfVpRRR4flapRi:
 nop
@@ -1908,7 +1908,7 @@
 b__MA7naqebvq5AOYbt11ZretrGuernqQ1Ri:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
@@ -1918,7 +1918,7 @@
 b__MAX4Wfba5Inyhr7nfSybngRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR7erfreirRz:
 nop
@@ -1928,7 +1928,7 @@
 b__MAX7naqebvq5AOYbt13RagelVgrengbe4ceriRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVA7naqebvq5AOYbt5RiragRyRRAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVA7naqebvq5AOYbt5RiragRyRRAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVA7naqebvq5AOYbt5RiragRyRRAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVA7naqebvq5AOYbt5RiragRyRRAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_:
 nop
@@ -1948,7 +1948,7 @@
 b__MAX4Wfba5Inyhr8vfZrzoreREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR20__nqq_sebag_pncnpvglRi
+.weak b__MAFg3__15qrdhrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR20__nqq_sebag_pncnpvglRi
 .type b__MAFg3__15qrdhrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR20__nqq_sebag_pncnpvglRi,%function
 b__MAFg3__15qrdhrVAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRRAF5_VFN_RRR20__nqq_sebag_pncnpvglRi:
 nop
@@ -1963,12 +1963,12 @@
 b__MAX4Wfba5Inyhr6vfObbyRi:
 nop
 .data
-.globl b__MGIA7naqebvq5AOYbt11ZretrErnqreR
+.weak b__MGIA7naqebvq5AOYbt11ZretrErnqreR
 .type b__MGIA7naqebvq5AOYbt11ZretrErnqreR,%object
 b__MGIA7naqebvq5AOYbt11ZretrErnqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__15qrdhrVAF_4cnveVqyRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi
+.weak b__MAFg3__15qrdhrVAF_4cnveVqyRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi
 .type b__MAFg3__15qrdhrVAF_4cnveVqyRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi,%function
 b__MAFg3__15qrdhrVAF_4cnveVqyRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi:
 nop
@@ -1988,12 +1988,12 @@
 b__MA4Wfba18FglyrqFgernzJevgre8havaqragRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVqyRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_4cnveVqyRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRz
+.weak b__MAFg3__15qrdhrVAF_4cnveVqyRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRz
 .type b__MAFg3__15qrdhrVAF_4cnveVqyRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRz,%function
 b__MAFg3__15qrdhrVAF_4cnveVqyRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRz:
 nop
@@ -2013,7 +2013,7 @@
 b__MAX4Wfba5InyhryrREXF0_:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -2033,7 +2033,7 @@
 b__MAX4Wfba5Inyhr13nfYnetrfgHVagRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVA7naqebvq5AOYbt5RiragRAF_4unfuVF3_RRAF_8rdhny_gbVF3_RRAF_9nyybpngbeVF3_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVA7naqebvq5AOYbt5RiragRAF_4unfuVF3_RRAF_8rdhny_gbVF3_RRAF_9nyybpngbeVF3_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVA7naqebvq5AOYbt5RiragRAF_4unfuVF3_RRAF_8rdhny_gbVF3_RRAF_9nyybpngbeVF3_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVA7naqebvq5AOYbt5RiragRAF_4unfuVF3_RRAF_8rdhny_gbVF3_RRAF_9nyybpngbeVF3_RRR8__erunfuRz:
 nop
@@ -2053,7 +2053,7 @@
 b__MA4Wfba5InyhrvkRv:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq17ErcbegCresbeznapr15CresbeznaprQngnRRRAF_19__znc_inyhr_pbzcnerVvF5_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq17ErcbegCresbeznapr15CresbeznaprQngnRRRAF_19__znc_inyhr_pbzcnerVvF5_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq17ErcbegCresbeznapr15CresbeznaprQngnRRRAF_19__znc_inyhr_pbzcnerVvF5_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq17ErcbegCresbeznapr15CresbeznaprQngnRRRAF_19__znc_inyhr_pbzcnerVvF5_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF5_RRR7qrfgeblRCAF_11__gerr_abqrVF5_CiRR:
 nop
@@ -2158,22 +2158,22 @@
 b__MA4Wfba10SnfgJevgreP2Ri:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVA7naqebvq5AOYbt5RiragRyRREAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVA7naqebvq5AOYbt5RiragRyRREAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVA7naqebvq5AOYbt5RiragRyRREAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVA7naqebvq5AOYbt5RiragRyRREAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRREAF5_VFO_RRR9chfu_onpxRBFO_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRREAF5_VFO_RRR9chfu_onpxRBFO_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRREAF5_VFO_RRR9chfu_onpxRBFO_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVyAF_3zncVvvAF_4yrffVvRRAF_9nyybpngbeVAF1_VXvvRRRRRRRREAF5_VFO_RRR9chfu_onpxRBFO_:
 nop
 .text
-.globl b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR20__nqq_sebag_pncnpvglRi
+.weak b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR20__nqq_sebag_pncnpvglRi
 .type b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR20__nqq_sebag_pncnpvglRi,%function
 b__MAFg3__15qrdhrVyAF_9nyybpngbeVyRRR20__nqq_sebag_pncnpvglRi:
 nop
@@ -2188,7 +2188,7 @@
 b__MA4Wfba5InyhrP1REXF0_:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVA7naqebvq5AOYbt5RiragRyRRAF_9nyybpngbeVF6_RRR10chfu_sebagREXF6_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVA7naqebvq5AOYbt5RiragRyRRAF_9nyybpngbeVF6_RRR10chfu_sebagREXF6_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVA7naqebvq5AOYbt5RiragRyRRAF_9nyybpngbeVF6_RRR10chfu_sebagREXF6_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_4cnveVA7naqebvq5AOYbt5RiragRyRRAF_9nyybpngbeVF6_RRR10chfu_sebagREXF6_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_104.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_104.S
index 5dc9a61..a4cc55e 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_104.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_104.S
@@ -113,7 +113,7 @@
 b__MGPA7naqebvq2bf31VRkgreanyIvoengbeFreivprQrsnhygR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_2bf28VRkgreanyIvoengvbaPbagebyyreRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_2bf28VRkgreanyIvoengvbaPbagebyyreRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_2bf28VRkgreanyIvoengvbaPbagebyyreRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_2bf28VRkgreanyIvoengvbaPbagebyyreRR10baNfOvaqreRi:
 nop
@@ -253,7 +253,7 @@
 b__MGGA7naqebvq2bf25OcRkgreanyIvoengbeFreivprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq10CneprynoyrR
+.weak b__MGIA7naqebvq10CneprynoyrR
 .type b__MGIA7naqebvq10CneprynoyrR,%object
 b__MGIA7naqebvq10CneprynoyrR:
 .space __SIZEOF_POINTER__
@@ -468,7 +468,7 @@
 b__MA7naqebvq2bf29OaRkgreanyIvoengvbaPbagebyyre10baGenafnpgRwEXAF_6CnepryRCF2_w:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_2bf24VRkgreanyIvoengbeFreivprRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_2bf24VRkgreanyIvoengbeFreivprRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_2bf24VRkgreanyIvoengbeFreivprRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_2bf24VRkgreanyIvoengbeFreivprRR10baNfOvaqreRi:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_105.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_105.S
index 4878f2e..6c72e89 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_105.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_105.S
@@ -23,17 +23,17 @@
 b__MA7naqebvq18VCPGuernqFgngrOnfrP2Ri:
 nop
 .text
-.globl b__MAFg3__112__qrdhr_onfrVA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF3_RRR5pyrneRi
+.weak b__MAFg3__112__qrdhr_onfrVA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF3_RRR5pyrneRi
 .type b__MAFg3__112__qrdhr_onfrVA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF3_RRR5pyrneRi,%function
 b__MAFg3__112__qrdhr_onfrVA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF3_RRR5pyrneRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
 .type b__MAFg3__114__fcyvg_ohssreVCA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_:
 nop
 .text
-.globl b__MAFg3__15qrdhrVA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrVA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrVA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrVA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF3_RRR19__nqq_onpx_pncnpvglRi:
 nop
@@ -53,22 +53,22 @@
 b__MA7naqebvq18VCPGuernqFgngrOnfr4frysRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrREAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrREAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_
 .type b__MAFg3__114__fcyvg_ohssreVCA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrREAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrREAF_9nyybpngbeVF4_RRR10chfu_sebagREXF4_:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_
 .type b__MAFg3__114__fcyvg_ohssreVCA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrREAF_9nyybpngbeVF4_RRR9chfu_onpxRBF4_:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_
+.weak b__MAFg3__114__fcyvg_ohssreVCA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_
 .type b__MAFg3__114__fcyvg_ohssreVCA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_,%function
 b__MAFg3__114__fcyvg_ohssreVCA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF4_RRR10chfu_sebagRBF4_:
 nop
 .text
-.globl b__MAFg3__15qrdhrVA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF3_RRR12rzcynpr_onpxVWEF3_RRRF8_QcBG_
+.weak b__MAFg3__15qrdhrVA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF3_RRR12rzcynpr_onpxVWEF3_RRRF8_QcBG_
 .type b__MAFg3__15qrdhrVA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF3_RRR12rzcynpr_onpxVWEF3_RRRF8_QcBG_,%function
 b__MAFg3__15qrdhrVA7naqebvq18VCPGuernqFgngrOnfr9PnyyFgngrRAF_9nyybpngbeVF3_RRR12rzcynpr_onpxVWEF3_RRRF8_QcBG_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_107.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_107.S
index 099c3b9..1d6117f 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_107.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_107.S
@@ -53,7 +53,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_019OcUjXrlznfgreQrivpr9qryrgrXrlREXAF0_8uvqy_irpVuRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -113,12 +113,12 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_021jevgrRzorqqrqGbCnepryREXAF2_17UneqjnerNhguGbxraRCAF0_6CnepryRzz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -193,7 +193,7 @@
 b__MGua16_A7naqebvq8uneqjner9xrlznfgre4I4_019OcUjXrlznfgreQrivpr15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_9xrlznfgre4I4_019OcUjXrlznfgreQrivprRAF4_16VXrlznfgreQrivprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_9xrlznfgre4I4_019OcUjXrlznfgreQrivprRAF4_16VXrlznfgreQrivprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_9xrlznfgre4I4_019OcUjXrlznfgreQrivprRAF4_16VXrlznfgreQrivprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_9xrlznfgre4I4_019OcUjXrlznfgreQrivprRAF4_16VXrlznfgreQrivprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -218,12 +218,12 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_019OcUjXrlznfgreQrivpr15_uvqy_nggrfgXrlRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeREXAF0_8uvqy_irpVuRREXAF9_VAF2_12XrlCnenzrgreRRRAFg3__18shapgvbaVSiAF2_9ReebePbqrREXAF9_VFN_RRRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner9xrlznfgre4I4_017OfXrlznfgreQrivprR0_AF2_16VXrlznfgreQrivprR
+.weak b__MGPA7naqebvq8uneqjner9xrlznfgre4I4_017OfXrlznfgreQrivprR0_AF2_16VXrlznfgreQrivprR
 .type b__MGPA7naqebvq8uneqjner9xrlznfgre4I4_017OfXrlznfgreQrivprR0_AF2_16VXrlznfgreQrivprR,%object
 b__MGPA7naqebvq8uneqjner9xrlznfgre4I4_017OfXrlznfgreQrivprR0_AF2_16VXrlznfgreQrivprR:
 .space __SIZEOF_POINTER__
@@ -273,12 +273,12 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_019OcUjXrlznfgreQrivprP1REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -398,7 +398,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_019OcUjXrlznfgreQrivpr15_uvqy_qryrgrXrlRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeREXAF0_8uvqy_irpVuRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -418,7 +418,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_019OcUjXrlznfgreQrivpr17pbzchgrFunerqUznpREXAF0_8uvqy_irpVAF2_21UznpFunevatCnenzrgrefRRRAFg3__18shapgvbaVSiAF2_9ReebePbqrREXAF4_VuRRRRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner9xrlznfgre4I4_017OfXrlznfgreQrivprR
+.weak b__MGIA7naqebvq8uneqjner9xrlznfgre4I4_017OfXrlznfgreQrivprR
 .type b__MGIA7naqebvq8uneqjner9xrlznfgre4I4_017OfXrlznfgreQrivprR,%object
 b__MGIA7naqebvq8uneqjner9xrlznfgre4I4_017OfXrlznfgreQrivprR:
 .space __SIZEOF_POINTER__
@@ -463,12 +463,12 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_019OcUjXrlznfgreQrivpr19irevslNhgubevmngvbaRzEXAF0_8uvqy_irpVAF2_12XrlCnenzrgreRRREXAF2_17UneqjnerNhguGbxraRAFg3__18shapgvbaVSiAF2_9ReebePbqrREXAF2_17IrevsvpngvbaGbxraRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_9xrlznfgre4I4_016VXrlznfgreQrivprRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjXrlznfgreQrivprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_9xrlznfgre4I4_016VXrlznfgreQrivprRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjXrlznfgreQrivprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_9xrlznfgre4I4_016VXrlznfgreQrivprRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjXrlznfgreQrivprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_9xrlznfgre4I4_016VXrlznfgreQrivprRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjXrlznfgreQrivprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -558,7 +558,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_019OaUjXrlznfgreQrivpr25_uvqy_irevslNhgubevmngvbaRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -593,7 +593,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_019OcUjXrlznfgreQrivpr19_uvqy_qryrgrNyyXrlfRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -683,7 +683,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_019OaUjXrlznfgreQrivpr4cvatRi:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -713,7 +713,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_021jevgrRzorqqrqGbCnepryREXAF2_18XrlPunenpgrevfgvpfRCAF0_6CnepryRzz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_108.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_108.S
index d3676c3..6434cf5 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_108.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_108.S
@@ -23,7 +23,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_023NhgubevmngvbaFrgOhvyqre10FvtavatXrlRi:
 nop
 .data
-.globl b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -53,12 +53,12 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_023XZ_XRL_QRFPEVCGVBA_serrRCAF2_18xz_xrl_qrfpevcgvbaR:
 nop
 .text
-.globl b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
+.weak b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
 .type b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR,%function
 b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR12__zbir_enatrRCF5_F9_F9_
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR12__zbir_enatrRCF5_F9_F9_
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR12__zbir_enatrRCF5_F9_F9_,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR12__zbir_enatrRCF5_F9_F9_:
 nop
@@ -78,7 +78,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg10Xrlznfgre36hcqngrRzEXAF0_8uvqy_irpVAF2_12XrlCnenzrgreRRREXAF5_VuRREXAF2_17UneqjnerNhguGbxraREXAF2_17IrevsvpngvbaGbxraRAFg3__18shapgvbaVSiAF2_9ReebePbqrRwF9_FP_RRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR536870918RRRiCX21fgnpx_fg_NFA1_VAGRTREAF2_8GlcrqGntVYAF2_7GntGlcrR536870912RKG_RRRCAF2_16NhgubevmngvbaFrgR
+.weak b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR536870918RRRiCX21fgnpx_fg_NFA1_VAGRTREAF2_8GlcrqGntVYAF2_7GntGlcrR536870912RKG_RRRCAF2_16NhgubevmngvbaFrgR
 .type b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR536870918RRRiCX21fgnpx_fg_NFA1_VAGRTREAF2_8GlcrqGntVYAF2_7GntGlcrR536870912RKG_RRRCAF2_16NhgubevmngvbaFrgR,%function
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR536870918RRRiCX21fgnpx_fg_NFA1_VAGRTREAF2_8GlcrqGntVYAF2_7GntGlcrR536870912RKG_RRRCAF2_16NhgubevmngvbaFrgR:
 nop
@@ -93,7 +93,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg10Xrlznfgre310hctenqrXrlREXAF0_8uvqy_irpVuRREXAF5_VAF2_12XrlCnenzrgreRRRAFg3__18shapgvbaVSiAF2_9ReebePbqrRF8_RRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRAF_9nyybpngbeVF5_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRAF_9nyybpngbeVF5_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRAF_9nyybpngbeVF5_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRAF_9nyybpngbeVF5_RRR7erfreirRz:
 nop
@@ -113,7 +113,7 @@
 b__MA7naqebvq8uneqjneryfREAFg3__113onfvp_bfgernzVpAF1_11pune_genvgfVpRRRREXAF0_8uvqy_irpVuRR:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7qrfgeblRi:
 nop
@@ -128,27 +128,27 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg10Xrlznfgre39rkcbegXrlRAF2_9XrlSbezngREXAF0_8uvqy_irpVuRRF9_F9_AFg3__18shapgvbaVSiAF2_9ReebePbqrRF9_RRR:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7qrfgeblRi:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR18qrfgebl_qrnyybpngrRi:
 nop
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRoG0_FN_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRoG0_FN_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRoG0_FN_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRoG0_FN_G_:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RRR
+.weak b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RRR
 .type b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RRR,%object
 b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1610613137RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1610612736RKG_RRRCAF2_16NhgubevmngvbaFrgR
+.weak b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1610613137RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1610612736RKG_RRRCAF2_16NhgubevmngvbaFrgR
 .type b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1610613137RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1610612736RKG_RRRCAF2_16NhgubevmngvbaFrgR,%function
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1610613137RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1610612736RKG_RRRCAF2_16NhgubevmngvbaFrgR:
 nop
@@ -163,7 +163,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_016NhgubevmngvbaFrg5renfrRv:
 nop
 .text
-.globl b__MAFg3__118__vafregvba_fbeg_3VEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRiG0_FN_G_
+.weak b__MAFg3__118__vafregvba_fbeg_3VEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRiG0_FN_G_
 .type b__MAFg3__118__vafregvba_fbeg_3VEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRiG0_FN_G_,%function
 b__MAFg3__118__vafregvba_fbeg_3VEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRiG0_FN_G_:
 nop
@@ -183,7 +183,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_023NhgubevmngvbaFrgOhvyqre8RpqfnXrlRAF2_7RpPheirR:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7__pybarRi:
 nop
@@ -198,12 +198,12 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_016NhgubevmngvbaFrgvkRv:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
 .data
-.globl b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -228,17 +228,17 @@
 b__MAX7naqebvq8uneqjner9xrlznfgre4I4_016NhgubevmngvbaFrgvkRv:
 nop
 .text
-.globl b__MAFg3__17__fbeg3VECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRwG0_FP_FP_G_
+.weak b__MAFg3__17__fbeg3VECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRwG0_FP_FP_G_
 .type b__MAFg3__17__fbeg3VECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRwG0_FP_FP_G_,%function
 b__MAFg3__17__fbeg3VECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRwG0_FP_FP_G_:
 nop
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg9XrlznfgreRAF_14qrsnhyg_qryrgrVF7_RRRRAF_9nyybpngbeVFN_RRR6vafregVAF_13zbir_vgrengbeVAF_11__jenc_vgreVCFN_RRRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVFN_AF_15vgrengbe_genvgfVFY_R9ersreraprRRR5inyhrRFV_R4glcrRAFT_VCXFN_RRFY_FY_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg9XrlznfgreRAF_14qrsnhyg_qryrgrVF7_RRRRAF_9nyybpngbeVFN_RRR6vafregVAF_13zbir_vgrengbeVAF_11__jenc_vgreVCFN_RRRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVFN_AF_15vgrengbe_genvgfVFY_R9ersreraprRRR5inyhrRFV_R4glcrRAFT_VCXFN_RRFY_FY_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg9XrlznfgreRAF_14qrsnhyg_qryrgrVF7_RRRRAF_9nyybpngbeVFN_RRR6vafregVAF_13zbir_vgrengbeVAF_11__jenc_vgreVCFN_RRRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVFN_AF_15vgrengbe_genvgfVFY_R9ersreraprRRR5inyhrRFV_R4glcrRAFT_VCXFN_RRFY_FY_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg9XrlznfgreRAF_14qrsnhyg_qryrgrVF7_RRRRAF_9nyybpngbeVFN_RRR6vafregVAF_13zbir_vgrengbeVAF_11__jenc_vgreVCFN_RRRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVFN_AF_15vgrengbe_genvgfVFY_R9ersreraprRRR5inyhrRFV_R4glcrRAFT_VCXFN_RRFY_FY_:
 nop
@@ -263,22 +263,22 @@
 b__MAX7naqebvq8uneqjner9xrlznfgre4I4_016NhgubevmngvbaFrg11TrgGntPbhagRAF2_3GntR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR536870913RRRiCX21fgnpx_fg_NFA1_VAGRTREAF2_8GlcrqGntVYAF2_7GntGlcrR536870912RKG_RRRCAF2_16NhgubevmngvbaFrgR
+.weak b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR536870913RRRiCX21fgnpx_fg_NFA1_VAGRTREAF2_8GlcrqGntVYAF2_7GntGlcrR536870912RKG_RRRCAF2_16NhgubevmngvbaFrgR
 .type b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR536870913RRRiCX21fgnpx_fg_NFA1_VAGRTREAF2_8GlcrqGntVYAF2_7GntGlcrR536870912RKG_RRRCAF2_16NhgubevmngvbaFrgR,%function
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR536870913RRRiCX21fgnpx_fg_NFA1_VAGRTREAF2_8GlcrqGntVYAF2_7GntGlcrR536870912RKG_RRRCAF2_16NhgubevmngvbaFrgR:
 nop
 .text
-.globl b__MAFg3__118__vafregvba_fbeg_3VECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRiG0_FP_G_
+.weak b__MAFg3__118__vafregvba_fbeg_3VECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRiG0_FP_G_
 .type b__MAFg3__118__vafregvba_fbeg_3VECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRiG0_FP_G_,%function
 b__MAFg3__118__vafregvba_fbeg_3VECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRiG0_FP_G_:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RRpyRFH_
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RRpyRFH_
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RRpyRFH_,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RRpyRFH_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg9XrlznfgreRAF_14qrsnhyg_qryrgrVF7_RRRRAF_9nyybpngbeVFN_RRR21__chfu_onpx_fybj_cnguVFN_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg9XrlznfgreRAF_14qrsnhyg_qryrgrVF7_RRRRAF_9nyybpngbeVFN_RRR21__chfu_onpx_fybj_cnguVFN_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg9XrlznfgreRAF_14qrsnhyg_qryrgrVF7_RRRRAF_9nyybpngbeVFN_RRR21__chfu_onpx_fybj_cnguVFN_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg9XrlznfgreRAF_14qrsnhyg_qryrgrVF7_RRRRAF_9nyybpngbeVFN_RRR21__chfu_onpx_fybj_cnguVFN_RRiBG_:
 nop
@@ -308,12 +308,12 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_016NhgubevmngvbaFrg11QrfrevnyvmrRCAFg3__113onfvp_vfgernzVpAF4_11pune_genvgfVpRRRR:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7__pybarRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_:
 nop
@@ -338,7 +338,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_023NhgubevmngvbaFrgOhvyqre22GevcyrQrfRapelcgvbaXrlRw:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -378,12 +378,12 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg10Xrlznfgre313qryrgrNyyXrlfRi:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -398,7 +398,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_023NhgubevmngvbaFrgOhvyqre12GevcyrQrfXrlRw:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
@@ -408,17 +408,17 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbegyfREAFg3__113onfvp_bfgernzVpAF4_11pune_genvgfVpRRRREXAF3_9XrlznfgreR:
 nop
 .text
-.globl b__MAFg3__16__fbegVEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRiG0_FN_G_
+.weak b__MAFg3__16__fbegVEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRiG0_FN_G_
 .type b__MAFg3__16__fbegVEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRiG0_FN_G_,%function
 b__MAFg3__16__fbegVEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRiG0_FN_G_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF3_10Xrlznfgre3RRRAFg3__16irpgbeVAF6_10havdhr_cgeVAF3_9XrlznfgreRAF6_14qrsnhyg_qryrgrVF9_RRRRAF6_9nyybpngbeVFP_RRRREXAF_2fcVAF_4uvqy7znantre4I1_215VFreivprZnantreRRR
+.weak b__MA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF3_10Xrlznfgre3RRRAFg3__16irpgbeVAF6_10havdhr_cgeVAF3_9XrlznfgreRAF6_14qrsnhyg_qryrgrVF9_RRRRAF6_9nyybpngbeVFP_RRRREXAF_2fcVAF_4uvqy7znantre4I1_215VFreivprZnantreRRR
 .type b__MA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF3_10Xrlznfgre3RRRAFg3__16irpgbeVAF6_10havdhr_cgeVAF3_9XrlznfgreRAF6_14qrsnhyg_qryrgrVF9_RRRRAF6_9nyybpngbeVFP_RRRREXAF_2fcVAF_4uvqy7znantre4I1_215VFreivprZnantreRRR,%function
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF3_10Xrlznfgre3RRRAFg3__16irpgbeVAF6_10havdhr_cgeVAF3_9XrlznfgreRAF6_14qrsnhyg_qryrgrVF9_RRRRAF6_9nyybpngbeVFP_RRRREXAF_2fcVAF_4uvqy7znantre4I1_215VFreivprZnantreRRR:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RRpyRFH_
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RRpyRFH_
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RRpyRFH_,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RRpyRFH_:
 nop
@@ -433,12 +433,12 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_019cnefr_ebbg_bs_gehfgRCXuzCAF0_8uvqy_irpVuRRCAF2_25xrlznfgre_irevsvrq_obbg_gRCoF7_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR8__nccraqRz:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg10Xrlznfgre4R
+.weak b__MGIA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg10Xrlznfgre4R
 .type b__MGIA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg10Xrlznfgre4R,%object
 b__MGIA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg10Xrlznfgre4R:
 .space __SIZEOF_POINTER__
@@ -458,17 +458,17 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_09frevnyvmrREAF2_10BhgFgernzfREXAF2_12XrlCnenzrgreR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RRCF5_
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RRCF5_
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RRCF5_,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RRCF5_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -478,17 +478,17 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_09frevnyvmrREAFg3__113onfvp_bfgernzVpAF3_11pune_genvgfVpRRRREXAF3_6irpgbeVAF2_12XrlCnenzrgreRAF3_9nyybpngbeVFN_RRRR:
 nop
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRoG0_FP_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRoG0_FP_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRoG0_FP_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRoG0_FP_G_:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -528,17 +528,17 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_023NhgubevmngvbaFrgOhvyqre16TpzZbqrZvaZnpYraRw:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg10Xrlznfgre4R0_AF3_9XrlznfgreR
+.weak b__MGPA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg10Xrlznfgre4R0_AF3_9XrlznfgreR
 .type b__MGPA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg10Xrlznfgre4R0_AF3_9XrlznfgreR,%object
 b__MGPA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg10Xrlznfgre4R0_AF3_9XrlznfgreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1610613136RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1610612736RKG_RRRCAF2_16NhgubevmngvbaFrgR
+.weak b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1610613136RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1610612736RKG_RRRCAF2_16NhgubevmngvbaFrgR
 .type b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1610613136RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1610612736RKG_RRRCAF2_16NhgubevmngvbaFrgR,%function
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1610613136RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1610612736RKG_RRRCAF2_16NhgubevmngvbaFrgR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1610613138RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1610612736RKG_RRRCAF2_16NhgubevmngvbaFrgR
+.weak b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1610613138RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1610612736RKG_RRRCAF2_16NhgubevmngvbaFrgR
 .type b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1610613138RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1610612736RKG_RRRCAF2_16NhgubevmngvbaFrgR,%function
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1610613138RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1610612736RKG_RRRCAF2_16NhgubevmngvbaFrgR:
 nop
@@ -548,7 +548,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_023NhgubevmngvbaFrgOhvyqre6NrfXrlRw:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
@@ -568,7 +568,7 @@
 b__MGPA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg10Xrlznfgre3R0_AF3_9XrlznfgreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1342177480RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1342177280RKG_RRRCAF2_16NhgubevmngvbaFrgR
+.weak b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1342177480RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1342177280RKG_RRRCAF2_16NhgubevmngvbaFrgR
 .type b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1342177480RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1342177280RKG_RRRCAF2_16NhgubevmngvbaFrgR,%function
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1342177480RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1342177280RKG_RRRCAF2_16NhgubevmngvbaFrgR:
 nop
@@ -578,7 +578,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_016XZ_NHGU_YVFG_arjRi:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
@@ -593,22 +593,22 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_023NhgubevmngvbaFrgOhvyqre15RpqfnFvtavatXrlRAF2_7RpPheirR:
 nop
 .text
-.globl b__MAFg3__16__fbegVECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRiG0_FP_G_
+.weak b__MAFg3__16__fbegVECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRiG0_FP_G_
 .type b__MAFg3__16__fbegVECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRiG0_FP_G_,%function
 b__MAFg3__16__fbegVECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRiG0_FP_G_:
 nop
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR18qrfgebl_qrnyybpngrRi:
 nop
@@ -628,7 +628,7 @@
 b__MAX7naqebvq8uneqjner9xrlznfgre4I4_016NhgubevmngvbaFrg8TrgRagelRAF2_3GntR:
 nop
 .text
-.globl b__MAFg3__17__fbeg4VECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRwG0_FP_FP_FP_G_
+.weak b__MAFg3__17__fbeg4VECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRwG0_FP_FP_FP_G_
 .type b__MAFg3__17__fbeg4VECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRwG0_FP_FP_FP_G_,%function
 b__MAFg3__17__fbeg4VECSoEXA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRF7_RCF5_RRwG0_FP_FP_FP_G_:
 nop
@@ -638,12 +638,12 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_023NhgubevmngvbaFrgOhvyqre7UznpXrlRw:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR6vafregVAF_11__jenc_vgreVCXF5_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF5_AF_15vgrengbe_genvgfVFS_R9ersreraprRRR5inyhrRAFN_VCF5_RRR4glcrRFQ_FS_FS_
+.weak b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR6vafregVAF_11__jenc_vgreVCXF5_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF5_AF_15vgrengbe_genvgfVFS_R9ersreraprRRR5inyhrRAFN_VCF5_RRR4glcrRFQ_FS_FS_
 .type b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR6vafregVAF_11__jenc_vgreVCXF5_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF5_AF_15vgrengbe_genvgfVFS_R9ersreraprRRR5inyhrRAFN_VCF5_RRR4glcrRFQ_FS_FS_,%function
 b__MAFg3__16irpgbeVA7naqebvq8uneqjner9xrlznfgre4I4_012XrlCnenzrgreRAF_9nyybpngbeVF5_RRR6vafregVAF_11__jenc_vgreVCXF5_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF5_AF_15vgrengbe_genvgfVFS_R9ersreraprRRR5inyhrRAFN_VCF5_RRR4glcrRFQ_FS_FS_:
 nop
@@ -658,27 +658,27 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg17uvqyIrp2NhguGbxraREXAF0_8uvqy_irpVuRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjneryfVAF0_9xrlznfgre4I4_021UznpFunevatCnenzrgrefRRREAFg3__113onfvp_bfgernzVpAF5_11pune_genvgfVpRRRRFN_EXAF0_8uvqy_irpVG_RR
+.weak b__MA7naqebvq8uneqjneryfVAF0_9xrlznfgre4I4_021UznpFunevatCnenzrgrefRRREAFg3__113onfvp_bfgernzVpAF5_11pune_genvgfVpRRRRFN_EXAF0_8uvqy_irpVG_RR
 .type b__MA7naqebvq8uneqjneryfVAF0_9xrlznfgre4I4_021UznpFunevatCnenzrgrefRRREAFg3__113onfvp_bfgernzVpAF5_11pune_genvgfVpRRRRFN_EXAF0_8uvqy_irpVG_RR,%function
 b__MA7naqebvq8uneqjneryfVAF0_9xrlznfgre4I4_021UznpFunevatCnenzrgrefRRREAFg3__113onfvp_bfgernzVpAF5_11pune_genvgfVpRRRRFN_EXAF0_8uvqy_irpVG_RR:
 nop
 .text
-.globl b__MAFg3__17__fbeg4VEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRwG0_FN_FN_FN_G_
+.weak b__MAFg3__17__fbeg4VEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRwG0_FN_FN_FN_G_
 .type b__MAFg3__17__fbeg4VEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRwG0_FN_FN_FN_G_,%function
 b__MAFg3__17__fbeg4VEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRwG0_FN_FN_FN_G_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR536870917RRRiCX21fgnpx_fg_NFA1_VAGRTREAF2_8GlcrqGntVYAF2_7GntGlcrR536870912RKG_RRRCAF2_16NhgubevmngvbaFrgR
+.weak b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR536870917RRRiCX21fgnpx_fg_NFA1_VAGRTREAF2_8GlcrqGntVYAF2_7GntGlcrR536870912RKG_RRRCAF2_16NhgubevmngvbaFrgR
 .type b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR536870917RRRiCX21fgnpx_fg_NFA1_VAGRTREAF2_8GlcrqGntVYAF2_7GntGlcrR536870912RKG_RRRCAF2_16NhgubevmngvbaFrgR,%function
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR536870917RRRiCX21fgnpx_fg_NFA1_VAGRTREAF2_8GlcrqGntVYAF2_7GntGlcrR536870912RKG_RRRCAF2_16NhgubevmngvbaFrgR:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7__pybarRCAF0_6__onfrVFK_RR
+.weak b__MAXFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7__pybarRCAF0_6__onfrVFK_RR
 .type b__MAXFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7__pybarRCAF0_6__onfrVFK_RR,%function
 b__MAXFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7__pybarRCAF0_6__onfrVFK_RR:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7__pybarRCAF0_6__onfrVFK_RR
+.weak b__MAXFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7__pybarRCAF0_6__onfrVFK_RR
 .type b__MAXFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7__pybarRCAF0_6__onfrVFK_RR,%function
 b__MAXFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre4RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RR7__pybarRCAF0_6__onfrVFK_RR:
 nop
@@ -703,7 +703,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg10Xrlznfgre35ortvaRAF2_10XrlChecbfrREXAF0_8uvqy_irpVuRREXAF6_VAF2_12XrlCnenzrgreRRREXAF2_17UneqjnerNhguGbxraRAFg3__18shapgvbaVSiAF2_9ReebePbqrRFQ_zRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1610613437RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1610612736RKG_RRRCAF2_16NhgubevmngvbaFrgR
+.weak b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1610613437RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1610612736RKG_RRRCAF2_16NhgubevmngvbaFrgR
 .type b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1610613437RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1610612736RKG_RRRCAF2_16NhgubevmngvbaFrgR,%function
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_011pbclNhguGntVYAF2_3GntR1610613437RRRiCX14nfa1_fgevat_fgAF2_8GlcrqGntVYAF2_7GntGlcrR1610612736RKG_RRRCAF2_16NhgubevmngvbaFrgR:
 nop
@@ -728,7 +728,7 @@
 b__MAX7naqebvq8uneqjner9xrlznfgre4I4_016NhgubevmngvbaFrg9FrevnyvmrRCAFg3__113onfvp_bfgernzVpAF4_11pune_genvgfVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF3_10Xrlznfgre4RRRAFg3__16irpgbeVAF6_10havdhr_cgeVAF3_9XrlznfgreRAF6_14qrsnhyg_qryrgrVF9_RRRRAF6_9nyybpngbeVFP_RRRREXAF_2fcVAF_4uvqy7znantre4I1_215VFreivprZnantreRRR
+.weak b__MA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF3_10Xrlznfgre4RRRAFg3__16irpgbeVAF6_10havdhr_cgeVAF3_9XrlznfgreRAF6_14qrsnhyg_qryrgrVF9_RRRRAF6_9nyybpngbeVFP_RRRREXAF_2fcVAF_4uvqy7znantre4I1_215VFreivprZnantreRRR
 .type b__MA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF3_10Xrlznfgre4RRRAFg3__16irpgbeVAF6_10havdhr_cgeVAF3_9XrlznfgreRAF6_14qrsnhyg_qryrgrVF9_RRRRAF6_9nyybpngbeVFP_RRRREXAF_2fcVAF_4uvqy7znantre4I1_215VFreivprZnantreRRR,%function
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF3_10Xrlznfgre4RRRAFg3__16irpgbeVAF6_10havdhr_cgeVAF3_9XrlznfgreRAF6_14qrsnhyg_qryrgrVF9_RRRRAF6_9nyybpngbeVFP_RRRREXAF_2fcVAF_4uvqy7znantre4I1_215VFreivprZnantreRRR:
 nop
@@ -743,12 +743,12 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I4_023NhgubevmngvbaFrgOhvyqre17AbQvtrfgBeCnqqvatRi:
 nop
 .text
-.globl b__MAFg3__17__fbeg3VEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRwG0_FN_FN_G_
+.weak b__MAFg3__17__fbeg3VEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRwG0_FN_FN_G_
 .type b__MAFg3__17__fbeg3VEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRwG0_FN_FN_G_,%function
 b__MAFg3__17__fbeg3VEAF_6__yrffVA7naqebvq8uneqjner9xrlznfgre4I4_021UznpFunevatCnenzrgrefRF6_RRCF6_RRwG0_FN_FN_G_:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RRR
+.weak b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RRR
 .type b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RRR,%object
 b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq8uneqjner9xrlznfgre4I4_07fhccbeg16rahzrengrQrivprfVAF6_10Xrlznfgre3RRRAF_6irpgbeVAF_10havdhr_cgeVAF6_9XrlznfgreRAF_14qrsnhyg_qryrgrVFO_RRRRAF_9nyybpngbeVFR_RRRREXAF2_2fcVAF2_4uvqy7znantre4I1_215VFreivprZnantreRRRRHyEXAF3_8uvqy_irpVAF3_11uvqy_fgevatRRRR_AFS_VFI_RRSiFH_RRR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_110.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_110.S
index 1e1e0f5..9fb772a 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_110.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_110.S
@@ -103,7 +103,7 @@
 b__MA7naqebvq8frphevgl9xrlznfgre12RkcbegErfhygP1Ri:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry14ernqCneprynoyrVAF_8frphevgl9xrlznfgre25XrlNggrfgngvbaCnpxntrVasbRRRvCAFg3__110havdhr_cgeVG_AF5_14qrsnhyg_qryrgrVF7_RRRR
+.weak b__MAX7naqebvq6Cnepry14ernqCneprynoyrVAF_8frphevgl9xrlznfgre25XrlNggrfgngvbaCnpxntrVasbRRRvCAFg3__110havdhr_cgeVG_AF5_14qrsnhyg_qryrgrVF7_RRRR
 .type b__MAX7naqebvq6Cnepry14ernqCneprynoyrVAF_8frphevgl9xrlznfgre25XrlNggrfgngvbaCnpxntrVasbRRRvCAFg3__110havdhr_cgeVG_AF5_14qrsnhyg_qryrgrVF7_RRRR,%function
 b__MAX7naqebvq6Cnepry14ernqCneprynoyrVAF_8frphevgl9xrlznfgre25XrlNggrfgngvbaCnpxntrVasbRRRvCAFg3__110havdhr_cgeVG_AF5_14qrsnhyg_qryrgrVF7_RRRR:
 nop
@@ -223,7 +223,7 @@
 b__MA7naqebvq8frphevgl9xrlznfgre27XrlNggrfgngvbaNccyvpngvbaVqP1RAFg3__110havdhr_cgeVAF1_25XrlNggrfgngvbaCnpxntrVasbRAF3_14qrsnhyg_qryrgrVF5_RRRR:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry14ernqCneprynoyrVAF_7pbagrag2cz9FvtangherRRRvCAFg3__110havdhr_cgeVG_AF5_14qrsnhyg_qryrgrVF7_RRRR
+.weak b__MAX7naqebvq6Cnepry14ernqCneprynoyrVAF_7pbagrag2cz9FvtangherRRRvCAFg3__110havdhr_cgeVG_AF5_14qrsnhyg_qryrgrVF7_RRRR
 .type b__MAX7naqebvq6Cnepry14ernqCneprynoyrVAF_7pbagrag2cz9FvtangherRRRvCAFg3__110havdhr_cgeVG_AF5_14qrsnhyg_qryrgrVF7_RRRR,%function
 b__MAX7naqebvq6Cnepry14ernqCneprynoyrVAF_7pbagrag2cz9FvtangherRRRvCAFg3__110havdhr_cgeVG_AF5_14qrsnhyg_qryrgrVF7_RRRR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_111.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_111.S
index a7e22f1..ace2448 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_111.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_111.S
@@ -3,7 +3,7 @@
 .data
 .p2align 4
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR7ErfreirRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR7ErfreirRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR7ErfreirRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR7ErfreirRv:
 nop
@@ -13,22 +13,22 @@
 b__MAX6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg8OlgrFvmrRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR7ErfreirRv
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR7ErfreirRv
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR7ErfreirRv,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR7ErfreirRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR15HafnsrNeranFjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR15HafnsrNeranFjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR15HafnsrNeranFjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR15HafnsrNeranFjncRCF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4eraqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4eraqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4eraqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4eraqRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR18VagreanyQrnyybpngrRCAF2_3ErcRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR18VagreanyQrnyybpngrRCAF2_3ErcRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR18VagreanyQrnyybpngrRCAF2_3ErcRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR18VagreanyQrnyybpngrRCAF2_3ErcRv:
 nop
@@ -38,7 +38,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr7NqqJrnxRCXAF0_11ZrffntrYvgrR:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8TrgNeranRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8TrgNeranRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8TrgNeranRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8TrgNeranRi:
 nop
@@ -48,7 +48,7 @@
 b__MAX6tbbtyr8cebgbohs11ZrffntrYvgr17FrevnyvmrGbFgevatRCAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR7ErfreirRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR7ErfreirRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR7ErfreirRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR7ErfreirRv:
 nop
@@ -68,22 +68,22 @@
 b__MA6tbbtyr8cebgbohs2vb15SvyrVachgFgernz22PbclvatSvyrVachgFgernz4FxvcRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5renfrRCXs
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5renfrRCXs
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5renfrRCXs,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5renfrRCXs:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR6eortvaRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR6eortvaRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR6eortvaRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR6eortvaRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzRvkRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzRvkRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzRvkRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzRvkRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR7ErfreirRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR7ErfreirRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR7ErfreirRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR7ErfreirRv:
 nop
@@ -93,12 +93,12 @@
 b__MA6tbbtyr8cebgbohs2vb16NeenlVachgFgernzP1RCXivv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR6eortvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR6eortvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR6eortvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR6eortvaRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8ryrzragfRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8ryrzragfRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8ryrzragfRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8ryrzragfRi:
 nop
@@ -118,12 +118,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany23TrgBjarqZrffntrVagreanyRCAF0_5NeranRCAF0_11ZrffntrYvgrRF3_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR18VagreanyQrnyybpngrRCAF2_3ErcRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR18VagreanyQrnyybpngrRCAF2_3ErcRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR18VagreanyQrnyybpngrRCAF2_3ErcRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR18VagreanyQrnyybpngrRCAF2_3ErcRv:
 nop
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
@@ -138,27 +138,27 @@
 b__MA6tbbtyr8cebgbohs8vagreany32vzcyvpvg_jrnx_zrffntr_bapr_vavg_R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR9PbclNeenlRCzCXzv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR9PbclNeenlRCzCXzv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR9PbclNeenlRCzCXzv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR9PbclNeenlRCzCXzv:
 nop
 .data
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR14xErcUrnqreFvmrR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR14xErcUrnqreFvmrR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR14xErcUrnqreFvmrR,%object
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR14xErcUrnqreFvmrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5rzcglRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5rzcglRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5rzcglRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5rzcglRi:
 nop
 .data
-.globl b__MTIMA6tbbtyr8cebgbohs8vagreany12FuhgqbjaQngn3trgRiR4qngn
+.weak b__MTIMA6tbbtyr8cebgbohs8vagreany12FuhgqbjaQngn3trgRiR4qngn
 .type b__MTIMA6tbbtyr8cebgbohs8vagreany12FuhgqbjaQngn3trgRiR4qngn,%object
 b__MTIMA6tbbtyr8cebgbohs8vagreany12FuhgqbjaQngn3trgRiR4qngn:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR7ErfreirRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR7ErfreirRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR7ErfreirRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR7ErfreirRv:
 nop
@@ -183,12 +183,12 @@
 b__MA6tbbtyr8cebgbohs2vb15SvyrVachgFgernz4ArkgRCCXiCv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5renfrRAF0_8vagreany19ErcrngrqCgeVgrengbeVXF8_RR
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5renfrRAF0_8vagreany19ErcrngrqCgeVgrengbeVXF8_RR
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5renfrRAF0_8vagreany19ErcrngrqCgeVgrengbeVXF8_RR,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5renfrRAF0_8vagreany19ErcrngrqCgeVgrengbeVXF8_RR:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5rzcglRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5rzcglRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5rzcglRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5rzcglRi:
 nop
@@ -213,7 +213,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany11NalZrgnqngnP1RCAF1_14NeranFgevatCgeRF4_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR7ErfreirRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR7ErfreirRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR7ErfreirRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR7ErfreirRv:
 nop
@@ -223,22 +223,22 @@
 b__MAX6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg20SvaqBeAhyyVaYnetrZncRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3NqqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3NqqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3NqqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3NqqRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5renfrRCXw
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5renfrRCXw
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5renfrRCXw,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5renfrRCXw:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8ryrzragfRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8ryrzragfRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8ryrzragfRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8ryrzragfRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs18fnsr_hvag_vagreanyVwRRoAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCG_
+.weak b__MA6tbbtyr8cebgbohs18fnsr_hvag_vagreanyVwRRoAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCG_
 .type b__MA6tbbtyr8cebgbohs18fnsr_hvag_vagreanyVwRRoAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCG_,%function
 b__MA6tbbtyr8cebgbohs18fnsr_hvag_vagreanyVwRRoAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCG_:
 nop
@@ -263,12 +263,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany16ErnqFvmrSnyyonpxRCXpw:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR9ZbirNeenlRCsF3_v
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR9ZbirNeenlRCsF3_v
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR9ZbirNeenlRCsF3_v,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR9ZbirNeenlRCsF3_v:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5rzcglRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5rzcglRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5rzcglRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5rzcglRi:
 nop
@@ -283,12 +283,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg7FrgRahzRvuvCXAF0_15SvryqQrfpevcgbeR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5renfrRCXvF4_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5renfrRCXvF4_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5renfrRCXvF4_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5renfrRCXvF4_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5rzcglRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5rzcglRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5rzcglRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5rzcglRi:
 nop
@@ -318,12 +318,12 @@
 b__MA6tbbtyr8cebgbohs2vb26PbclvatBhgchgFgernzNqncgbeP2RCAF1_19PbclvatBhgchgFgernzRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR6ErfvmrRvEXs
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR6ErfvmrRvEXs
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR6ErfvmrRvEXs,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR6ErfvmrRvEXs:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoRvkRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoRvkRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoRvkRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoRvkRv:
 nop
@@ -343,12 +343,12 @@
 b__MA6tbbtyr8cebgbohs2vb25PbclvatVachgFgernzNqncgbeQ0Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo1RRRoCAF0_2vb19MrebPbclVachgFgernzRCAF0_11ZrffntrYvgrR
+.weak b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo1RRRoCAF0_2vb19MrebPbclVachgFgernzRCAF0_11ZrffntrYvgrR
 .type b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo1RRRoCAF0_2vb19MrebPbclVachgFgernzRCAF0_11ZrffntrYvgrR,%function
 b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo1RRRoCAF0_2vb19MrebPbclVachgFgernzRCAF0_11ZrffntrYvgrR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4FjncRCF9_
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4FjncRCF9_
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4FjncRCF9_,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4FjncRCF9_:
 nop
@@ -373,12 +373,12 @@
 b__MA6tbbtyr8cebgbohs2vb17NeenlBhgchgFgernz6OnpxHcRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5renfrRCXy
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5renfrRCXy
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5renfrRCXy,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5renfrRCXy:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5rzcglRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5rzcglRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5rzcglRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5rzcglRi:
 nop
@@ -393,22 +393,22 @@
 b__MA6tbbtyr8cebgbohs2vb19BfgernzBhgchgFgernzP1RCAFg3__113onfvp_bfgernzVpAF3_11pune_genvgfVpRRRRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8GehapngrRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8GehapngrRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8GehapngrRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8GehapngrRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5renfrRAF0_8vagreany19ErcrngrqCgeVgrengbeVXF8_RRFQ_
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5renfrRAF0_8vagreany19ErcrngrqCgeVgrengbeVXF8_RRFQ_
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5renfrRAF0_8vagreany19ErcrngrqCgeVgrengbeVXF8_RRFQ_,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5renfrRAF0_8vagreany19ErcrngrqCgeVgrengbeVXF8_RRFQ_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4praqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4praqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4praqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4praqRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4qngnRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4qngnRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4qngnRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4qngnRi:
 nop
@@ -428,12 +428,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr8PybfrTncRvv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5rzcglRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5rzcglRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5rzcglRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5rzcglRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3ercRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3ercRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3ercRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3ercRi:
 nop
@@ -448,17 +448,17 @@
 b__MA6tbbtyr8cebgbohs15FgevcJuvgrfcnprRCAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr18ZretrSebzVaareYbbcVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11GlcrUnaqyreRRRiCCiFS_vv
+.weak b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr18ZretrSebzVaareYbbcVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11GlcrUnaqyreRRRiCCiFS_vv
 .type b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr18ZretrSebzVaareYbbcVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11GlcrUnaqyreRRRiCCiFS_vv,%function
 b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr18ZretrSebzVaareYbbcVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11GlcrUnaqyreRRRiCCiFS_vv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5PyrneRi
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5PyrneRi
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5PyrneRi,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5PyrneRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRQ1Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRQ1Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRQ1Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRQ1Ri:
 nop
@@ -468,7 +468,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany18TrarevpGlcrUnaqyreVAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRR5ZretrREXF9_CF9_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5rzcglRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5rzcglRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5rzcglRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5rzcglRi:
 nop
@@ -483,7 +483,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany18TrarevpGlcrUnaqyreVAF0_11ZrffntrYvgrRR5ZretrREXF3_CF3_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5PyrneRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5PyrneRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5PyrneRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5PyrneRi:
 nop
@@ -503,17 +503,17 @@
 b__MGIA6tbbtyr8cebgbohs2vb25PbclvatVachgFgernzNqncgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR18NqqNyernqlErfreirqREXy
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR18NqqNyernqlErfreirqREXy
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR18NqqNyernqlErfreirqREXy,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR18NqqNyernqlErfreirqREXy:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5PyrneRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5PyrneRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5PyrneRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5PyrneRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8GehapngrRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8GehapngrRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8GehapngrRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8GehapngrRv:
 nop
@@ -533,7 +533,7 @@
 b__MA6tbbtyr8cebgbohs2vb25PbclvatVachgFgernzNqncgbe6OnpxHcRv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4eraqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4eraqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4eraqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4eraqRi:
 nop
@@ -548,17 +548,17 @@
 b__MA6tbbtyr8cebgbohs2vb16SvyrBhgchgFgernz23PbclvatSvyrBhgchgFgernzQ0Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP2RCAF0_5NeranR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP2RCAF0_5NeranR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP2RCAF0_5NeranR,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP2RCAF0_5NeranR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5PyrneRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5PyrneRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5PyrneRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5PyrneRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3raqRi
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3raqRi
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3raqRi,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3raqRi:
 nop
@@ -573,7 +573,7 @@
 b__MA6tbbtyr8cebgbohs11ZrffntrYvgr37ZretrCnegvnySebzObhaqrqMrebPbclFgernzRCAF0_2vb19MrebPbclVachgFgernzRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5PyrneRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5PyrneRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5PyrneRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5PyrneRi:
 nop
@@ -583,7 +583,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany17CevagHGS8ReebeYbtRCXpF3_o:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8PncnpvglRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8PncnpvglRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8PncnpvglRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8PncnpvglRi:
 nop
@@ -618,7 +618,7 @@
 b__MGIA6tbbtyr8cebgbohs2vb19BfgernzBhgchgFgernz26PbclvatBfgernzBhgchgFgernzR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRvkRv
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRvkRv
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRvkRv,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRvkRv:
 nop
@@ -638,7 +638,7 @@
 b__MA6tbbtyr8cebgbohs2vb15SvyrVachgFgernz6OnpxHcRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5PyrneRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5PyrneRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5PyrneRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5PyrneRi:
 nop
@@ -663,22 +663,22 @@
 b__MA6tbbtyr8cebgbohs8vagreany17FrevnyvmrVagreanyRCXuCXAF1_13SvryqZrgnqngnRvCAF0_2vb17PbqrqBhgchgFgernzR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP1RBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP1RBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP1RBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP1RBF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3raqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3raqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3raqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3raqRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRQ2Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRQ2Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRQ2Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRQ2Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP2RBF9_
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP2RBF9_
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP2RBF9_,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP2RBF9_:
 nop
@@ -693,17 +693,17 @@
 b__MA6tbbtyr8cebgbohs2vb25PbclvatVachgFgernzNqncgbeP1RCAF1_18PbclvatVachgFgernzRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5PyrneRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5PyrneRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5PyrneRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5PyrneRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8PbclSebzREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8PbclSebzREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8PbclSebzREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8PbclSebzREXF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR2ngRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR2ngRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR2ngRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR2ngRv:
 nop
@@ -713,7 +713,7 @@
 b__MAX6tbbtyr8cebgbohs11FgevatCvrpr17svaq_svefg_abg_bsRpz:
 nop
 .data
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR14xErcUrnqreFvmrR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR14xErcUrnqreFvmrR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR14xErcUrnqreFvmrR,%object
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR14xErcUrnqreFvmrR:
 .space __SIZEOF_POINTER__
@@ -733,7 +733,7 @@
 b__MA6tbbtyr8cebgbohs2vb15SvyrVachgFgernz4FxvcRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5PyrneRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5PyrneRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5PyrneRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5PyrneRi:
 nop
@@ -743,17 +743,17 @@
 b__MA6tbbtyr8cebgbohs7fgevatf8NycunAhzP1RAF1_3UrkR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany11SvryqCnefreVAF1_28HaxabjaSvryqYvgrCnefreUrycreRRRCXpzEG_F5_CAF1_12CnefrPbagrkgR
+.weak b__MA6tbbtyr8cebgbohs8vagreany11SvryqCnefreVAF1_28HaxabjaSvryqYvgrCnefreUrycreRRRCXpzEG_F5_CAF1_12CnefrPbagrkgR
 .type b__MA6tbbtyr8cebgbohs8vagreany11SvryqCnefreVAF1_28HaxabjaSvryqYvgrCnefreUrycreRRRCXpzEG_F5_CAF1_12CnefrPbagrkgR,%function
 b__MA6tbbtyr8cebgbohs8vagreany11SvryqCnefreVAF1_28HaxabjaSvryqYvgrCnefreUrycreRRRCXpzEG_F5_CAF1_12CnefrPbagrkgR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR15RkgenpgFhoenatrRvvCs
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR15RkgenpgFhoenatrRvvCs
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR15RkgenpgFhoenatrRvvCs,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR15RkgenpgFhoenatrRvvCs:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3FrgRvEXy
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3FrgRvEXy
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3FrgRvEXy,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3FrgRvEXy:
 nop
@@ -763,7 +763,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany9NeranVzcy5OybpxP2RzCF3_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVwYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_
+.weak b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVwYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_
 .type b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVwYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_,%function
 b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVwYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_:
 nop
@@ -788,37 +788,37 @@
 b__MA6tbbtyr8cebgbohs2vb24PbapngrangvatVachgFgernzP2RCXCAF1_19MrebPbclVachgFgernzRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR12VagreanyFjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR12VagreanyFjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR12VagreanyFjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR12VagreanyFjncRCF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3ercRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3ercRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3ercRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3ercRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR12FjncRyrzragfRvv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR12FjncRyrzragfRvv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR12FjncRyrzragfRvv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR12FjncRyrzragfRvv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVwRRRRiCi
+.weak b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVwRRRRiCi
 .type b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVwRRRRiCi,%function
 b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVwRRRRiCi:
 nop
 .text
-.globl b__MAFg3__117__pnyy_bapr_cebklVAF_5ghcyrVWESiiRRRRRRiCi
+.weak b__MAFg3__117__pnyy_bapr_cebklVAF_5ghcyrVWESiiRRRRRRiCi
 .type b__MAFg3__117__pnyy_bapr_cebklVAF_5ghcyrVWESiiRRRRRRiCi,%function
 b__MAFg3__117__pnyy_bapr_cebklVAF_5ghcyrVWESiiRRRRRRiCi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany19neran_qryrgr_bowrpgVAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRRRiCi
+.weak b__MA6tbbtyr8cebgbohs8vagreany19neran_qryrgr_bowrpgVAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRRRiCi
 .type b__MA6tbbtyr8cebgbohs8vagreany19neran_qryrgr_bowrpgVAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRRRiCi,%function
 b__MA6tbbtyr8cebgbohs8vagreany19neran_qryrgr_bowrpgVAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRRRiCi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR22FcnprHfrqRkpyhqvatFrysRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR22FcnprHfrqRkpyhqvatFrysRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR22FcnprHfrqRkpyhqvatFrysRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR22FcnprHfrqRkpyhqvatFrysRi:
 nop
@@ -843,7 +843,7 @@
 b__MAX6tbbtyr8cebgbohs11ZrffntrYvgr18FrevnyvmrGbBfgernzRCAFg3__113onfvp_bfgernzVpAF2_11pune_genvgfVpRRRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR12zhgnoyr_qngnRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR12zhgnoyr_qngnRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR12zhgnoyr_qngnRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR12zhgnoyr_qngnRi:
 nop
@@ -858,7 +858,7 @@
 b__MA6tbbtyr8cebgbohs2vb18PbclvatVachgFgernz4FxvcRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR10NqqPyrnerqRCF8_
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR10NqqPyrnerqRCF8_
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR10NqqPyrnerqRCF8_,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR10NqqPyrnerqRCF8_:
 nop
@@ -868,7 +868,7 @@
 b__MA6tbbtyr8cebgbohs11FgevatCvrpr7PbafhzrRF1_:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -878,17 +878,17 @@
 b__MA6tbbtyr8cebgbohs8vagreany21VavgvnyvmrRahzFgevatfRCXAF1_9RahzRagelRCXvzCAF1_21RkcyvpvgylPbafgehpgrqVAFg3__112onfvp_fgevatVpAF8_11pune_genvgfVpRRAF8_9nyybpngbeVpRRRRRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR9ZbirNeenlRCvF3_v
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR9ZbirNeenlRCvF3_v
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR9ZbirNeenlRCvF3_v,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR9ZbirNeenlRCvF3_v:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR10ErzbirYnfgRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR10ErzbirYnfgRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR10ErzbirYnfgRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR10ErzbirYnfgRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3TrgRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3TrgRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3TrgRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3TrgRv:
 nop
@@ -908,12 +908,12 @@
 b__MAX6tbbtyr8cebgbohs2vb24PbapngrangvatVachgFgernz9OlgrPbhagRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP1Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP1Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP1Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP1Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP2Ri
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP2Ri
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP2Ri,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP2Ri:
 nop
@@ -923,7 +923,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg7FrgObbyRvuoCXAF0_15SvryqQrfpevcgbeR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR2ngRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR2ngRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR2ngRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR2ngRv:
 nop
@@ -943,7 +943,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany38VavgVzcyvpvgJrnxZrffntrQrsnhygVafgnaprRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR6eortvaRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR6eortvaRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR6eortvaRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR6eortvaRi:
 nop
@@ -953,7 +953,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany14JverSbezngYvgr13JevgrFSvkrq64RvyCAF0_2vb17PbqrqBhgchgFgernzR:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4fvmrRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4fvmrRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4fvmrRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4fvmrRi:
 nop
@@ -973,12 +973,12 @@
 b__MGIA6tbbtyr8cebgbohs2vb19BfgernzBhgchgFgernzR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR14xErcUrnqreFvmrR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR14xErcUrnqreFvmrR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR14xErcUrnqreFvmrR,%object
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR14xErcUrnqreFvmrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR17TrgNeranAbIveghnyRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR17TrgNeranAbIveghnyRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR17TrgNeranAbIveghnyRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR17TrgNeranAbIveghnyRi:
 nop
@@ -1013,7 +1013,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany19RkgrafvbaFrevnyvmreRCXuwwwCAF0_2vb17PbqrqBhgchgFgernzR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3FrgRvEXo
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3FrgRvEXo
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3FrgRvEXo,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3FrgRvEXo:
 nop
@@ -1028,17 +1028,17 @@
 b__MA6tbbtyr8cebgbohs8vagreany17CnpxrqVag32CnefreRCiCXpCAF1_12CnefrPbagrkgR:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4praqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4praqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4praqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4praqRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4qngnRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4qngnRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4qngnRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4qngnRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR22FcnprHfrqRkpyhqvatFrysRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR22FcnprHfrqRkpyhqvatFrysRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR22FcnprHfrqRkpyhqvatFrysRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR22FcnprHfrqRkpyhqvatFrysRi:
 nop
@@ -1053,7 +1053,7 @@
 b__MA6tbbtyr8cebgbohs11ZrffntrYvgr20CnefrSebzPbqrqFgernzRCAF0_2vb16PbqrqVachgFgernzR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR13cbvagre_ortvaRi
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR13cbvagre_ortvaRi
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR13cbvagre_ortvaRi,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR13cbvagre_ortvaRi:
 nop
@@ -1068,12 +1068,12 @@
 b__MA6tbbtyr8cebgbohs2vb24PbapngrangvatVachgFgernz4ArkgRCCXiCv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR2ngRv
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR2ngRv
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR2ngRv,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR2ngRv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR6portvaRi
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR6portvaRi
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR6portvaRi,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR6portvaRi:
 nop
@@ -1093,17 +1093,17 @@
 b__MA6tbbtyr8cebgbohs8vagreany18CnpxrqHVag32CnefreRCiCXpCAF1_12CnefrPbagrkgR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP1RCAF0_5NeranR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP1RCAF0_5NeranR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP1RCAF0_5NeranR,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP1RCAF0_5NeranR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP1RBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP1RBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP1RBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP1RBF2_:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
@@ -1133,17 +1133,17 @@
 b__MA6tbbtyr8cebgbohs2vb16PbqrqVachgFgernz7ErnqEnjRCiv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3NqqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3NqqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3NqqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3NqqRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR15HafnsrNeranFjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR15HafnsrNeranFjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR15HafnsrNeranFjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR15HafnsrNeranFjncRCF2_:
 nop
 .data
-.globl b__MMA6tbbtyr8cebgbohs8vagreany12FuhgqbjaQngn3trgRiR4qngn
+.weak b__MMA6tbbtyr8cebgbohs8vagreany12FuhgqbjaQngn3trgRiR4qngn
 .type b__MMA6tbbtyr8cebgbohs8vagreany12FuhgqbjaQngn3trgRiR4qngn,%object
 b__MMA6tbbtyr8cebgbohs8vagreany12FuhgqbjaQngn3trgRiR4qngn:
 .space __SIZEOF_POINTER__
@@ -1173,7 +1173,7 @@
 b__MAX6tbbtyr8cebgbohs11ZrffntrYvgr23FrevnyvmrCnegvnyGbNeenlRCiv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR12zhgnoyr_qngnRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR12zhgnoyr_qngnRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR12zhgnoyr_qngnRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR12zhgnoyr_qngnRi:
 nop
@@ -1188,12 +1188,12 @@
 b__MA6tbbtyr8cebgbohs24HarfpncrPRfpncrFrdhraprfRCXpCpCAFg3__16irpgbeVAF4_12onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRAF9_VFO_RRRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRQ1Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRQ1Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRQ1Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRQ1Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR18NqqNyernqlErfreirqREXv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR18NqqNyernqlErfreirqREXv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR18NqqNyernqlErfreirqREXv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR18NqqNyernqlErfreirqREXv:
 nop
@@ -1223,7 +1223,7 @@
 b__MAX6tbbtyr8cebgbohs11ZrffntrYvgr24FrevnyvmrCnegvnyNfFgevatRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR2ngRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR2ngRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR2ngRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR2ngRv:
 nop
@@ -1238,7 +1238,7 @@
 b__MA6tbbtyr8cebgbohs7fgevatf8OlgrFvax5SyhfuRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRnFRBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRnFRBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRnFRBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRnFRBF2_:
 nop
@@ -1248,7 +1248,7 @@
 b__MA6tbbtyr8cebgbohs23FuhgqbjaCebgbohsYvoenelRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_16ErcrngrqCgeSvryqVAF0_11ZrffntrYvgrRRRRRiCi
+.weak b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_16ErcrngrqCgeSvryqVAF0_11ZrffntrYvgrRRRRRiCi
 .type b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_16ErcrngrqCgeSvryqVAF0_11ZrffntrYvgrRRRRRiCi,%function
 b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_16ErcrngrqCgeSvryqVAF0_11ZrffntrYvgrRRRRRiCi:
 nop
@@ -1268,12 +1268,12 @@
 b__MGIA6tbbtyr8cebgbohs2vb19YvzvgvatVachgFgernzR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR9ZretrSebzREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR9ZretrSebzREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR9ZretrSebzREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR9ZretrSebzREXF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3raqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3raqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3raqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3raqRi:
 nop
@@ -1298,17 +1298,17 @@
 b__MA6tbbtyr8cebgbohs11ZrffntrYvgr23CnefrCnegvnySebzVfgernzRCAFg3__113onfvp_vfgernzVpAF2_11pune_genvgfVpRRRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP2RBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP2RBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP2RBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP2RBF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR26FcnprHfrqRkpyhqvatFrysYbatRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR26FcnprHfrqRkpyhqvatFrysYbatRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR26FcnprHfrqRkpyhqvatFrysYbatRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR26FcnprHfrqRkpyhqvatFrysYbatRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR12FjncRyrzragfRvv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR12FjncRyrzragfRvv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR12FjncRyrzragfRvv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR12FjncRyrzragfRvv:
 nop
@@ -1328,22 +1328,22 @@
 b__MAX6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg16TrgErcrngrqVag32Rvv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR9PbclNeenlRCvCXvv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR9PbclNeenlRCvCXvv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR9PbclNeenlRCvCXvv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR9PbclNeenlRCvCXvv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRvkRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRvkRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRvkRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRvkRv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR15hafnsr_ryrzragfRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR15hafnsr_ryrzragfRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR15hafnsr_ryrzragfRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR15hafnsr_ryrzragfRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4eraqRi
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4eraqRi
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4eraqRi,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4eraqRi:
 nop
@@ -1378,27 +1378,27 @@
 b__MAX6tbbtyr8cebgbohs2vb16SvyrBhgchgFgernz9OlgrPbhagRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP2RCAF0_5NeranR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP2RCAF0_5NeranR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP2RCAF0_5NeranR,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP2RCAF0_5NeranR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR23HafnsrNeranNqqNyybpngrqRCF8_
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR23HafnsrNeranNqqNyybpngrqRCF8_
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR23HafnsrNeranNqqNyybpngrqRCF8_,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR23HafnsrNeranNqqNyybpngrqRCF8_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR6portvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR6portvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR6portvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR6portvaRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR9ZbirNeenlRCyF3_v
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR9ZbirNeenlRCyF3_v
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR9ZbirNeenlRCyF3_v,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR9ZbirNeenlRCyF3_v:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyRvkRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyRvkRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyRvkRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyRvkRv:
 nop
@@ -1413,7 +1413,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany12SvryqFxvccre11FxvcZrffntrRCAF0_2vb16PbqrqVachgFgernzR:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR15hafnsr_ryrzragfRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR15hafnsr_ryrzragfRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR15hafnsr_ryrzragfRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR15hafnsr_ryrzragfRi:
 nop
@@ -1428,17 +1428,17 @@
 b__MA6tbbtyr8cebgbohs8vagreany17HaxabjaSvryqCnefrRwCAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCXpCAF1_12CnefrPbagrkgR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR6ErfvmrRvEXq
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR6ErfvmrRvEXq
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR6ErfvmrRvEXq,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR6ErfvmrRvEXq:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4praqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4praqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4praqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4praqRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4qngnRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4qngnRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4qngnRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4qngnRi:
 nop
@@ -1458,7 +1458,7 @@
 b__MAX6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg17TrgErcrngrqHVag32Rvv:
 nop
 .data
-.globl b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg20xZnkvzhzSyngPncnpvglR
+.weak b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg20xZnkvzhzSyngPncnpvglR
 .type b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg20xZnkvzhzSyngPncnpvglR,%object
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg20xZnkvzhzSyngPncnpvglR:
 .space __SIZEOF_POINTER__
@@ -1473,7 +1473,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg8FrgSybngRvusCXAF0_15SvryqQrfpevcgbeR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3raqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3raqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3raqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3raqRi:
 nop
@@ -1483,7 +1483,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany14JverSbezngYvgr21xJverGlcrSbeSvryqGlcrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9RkgrafvbaRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9RkgrafvbaRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9RkgrafvbaRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9RkgrafvbaRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRR:
 nop
@@ -1493,22 +1493,22 @@
 b__MA6tbbtyr8cebgbohs8vagreany26HaxabjaSvryqFrevnyvmreYvgrRCXuwwwCAF0_2vb17PbqrqBhgchgFgernzR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRvkRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRvkRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRvkRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRvkRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8PbclSebzREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8PbclSebzREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8PbclSebzREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8PbclSebzREXF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR17TrgNeranAbIveghnyRi
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR17TrgNeranAbIveghnyRi
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR17TrgNeranAbIveghnyRi,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR17TrgNeranAbIveghnyRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs17fnsr_vag_vagreanyVvRRoAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCG_
+.weak b__MA6tbbtyr8cebgbohs17fnsr_vag_vagreanyVvRRoAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCG_
 .type b__MA6tbbtyr8cebgbohs17fnsr_vag_vagreanyVvRRoAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCG_,%function
 b__MA6tbbtyr8cebgbohs17fnsr_vag_vagreanyVvRRoAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCG_:
 nop
@@ -1528,7 +1528,7 @@
 b__MAX6tbbtyr8cebgbohs2vb18FgevatBhgchgFgernz9OlgrPbhagRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR17TrgNeranAbIveghnyRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR17TrgNeranAbIveghnyRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR17TrgNeranAbIveghnyRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR17TrgNeranAbIveghnyRi:
 nop
@@ -1538,17 +1538,17 @@
 b__MAX6tbbtyr8cebgbohs11ZrffntrYvgr32FrevnyvmrCnegvnyGbSvyrQrfpevcgbeRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR10ErzbirYnfgRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR10ErzbirYnfgRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR10ErzbirYnfgRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR10ErzbirYnfgRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR22FcnprHfrqRkpyhqvatFrysRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR22FcnprHfrqRkpyhqvatFrysRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR22FcnprHfrqRkpyhqvatFrysRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR22FcnprHfrqRkpyhqvatFrysRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8PncnpvglRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8PncnpvglRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8PncnpvglRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8PncnpvglRi:
 nop
@@ -1558,17 +1558,17 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg13QryrgrSyngZncRCXAF2_8XrlInyhrRg:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP1Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP1Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP1Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP1Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR12VagreanyFjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR12VagreanyFjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR12VagreanyFjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR12VagreanyFjncRCF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP2Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP2Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP2Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP2Ri:
 nop
@@ -1583,12 +1583,12 @@
 b__MA6tbbtyr8cebgbohs2vb18VfgernzVachgFgernz4FxvcRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4eraqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4eraqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4eraqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4eraqRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR6eortvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR6eortvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR6eortvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR6eortvaRi:
 nop
@@ -1603,7 +1603,7 @@
 b__MA6tbbtyr8cebgbohs2vb19YvzvgvatVachgFgernz4ArkgRCCXiCv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR18VagreanyQrnyybpngrRCAF2_3ErcRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR18VagreanyQrnyybpngrRCAF2_3ErcRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR18VagreanyQrnyybpngrRCAF2_3ErcRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR18VagreanyQrnyybpngrRCAF2_3ErcRv:
 nop
@@ -1618,7 +1618,7 @@
 b__MA6tbbtyr8cebgbohs6tugbayRw:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
@@ -1628,12 +1628,12 @@
 b__MA6tbbtyr8cebgbohs9FgeNccraqRCAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRREXAF0_7fgevatf8NycunAhzR:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3ercRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3ercRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3ercRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3ercRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRQ1Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRQ1Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRQ1Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRQ1Ri:
 nop
@@ -1643,7 +1643,7 @@
 b__MA6tbbtyr8cebgbohs2vb16SvyrBhgchgFgernz4ArkgRCCiCv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR8TrgNeranRi
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR8TrgNeranRi
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR8TrgNeranRi,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR8TrgNeranRi:
 nop
@@ -1653,12 +1653,12 @@
 b__MA6tbbtyr8cebgbohs2vb16SvyrBhgchgFgernzQ2Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR15HafnsrNeranFjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR15HafnsrNeranFjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR15HafnsrNeranFjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR15HafnsrNeranFjncRCF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3TrgRv
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3TrgRv
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3TrgRv,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3TrgRv:
 nop
@@ -1678,12 +1678,12 @@
 b__MAX6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg10TrgZrffntrRvEXAF0_11ZrffntrYvgrR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo1RRRoAF1_11ObhaqrqMPVFRCAF0_11ZrffntrYvgrR
+.weak b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo1RRRoAF1_11ObhaqrqMPVFRCAF0_11ZrffntrYvgrR
 .type b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo1RRRoAF1_11ObhaqrqMPVFRCAF0_11ZrffntrYvgrR,%function
 b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo1RRRoAF1_11ObhaqrqMPVFRCAF0_11ZrffntrYvgrR:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR26FcnprHfrqRkpyhqvatFrysYbatRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR26FcnprHfrqRkpyhqvatFrysYbatRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR26FcnprHfrqRkpyhqvatFrysYbatRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR26FcnprHfrqRkpyhqvatFrysYbatRi:
 nop
@@ -1713,22 +1713,22 @@
 b__MAX6tbbtyr8cebgbohs2vb26PbclvatBhgchgFgernzNqncgbe9OlgrPbhagRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVzRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR
+.weak b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVzRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR
 .type b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVzRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR,%function
 b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVzRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP2Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP2Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP2Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP2Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR18NqqNyernqlErfreirqREXs
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR18NqqNyernqlErfreirqREXs
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR18NqqNyernqlErfreirqREXs,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR18NqqNyernqlErfreirqREXs:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR22FcnprHfrqRkpyhqvatFrysRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR22FcnprHfrqRkpyhqvatFrysRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR22FcnprHfrqRkpyhqvatFrysRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR22FcnprHfrqRkpyhqvatFrysRi:
 nop
@@ -1738,7 +1738,7 @@
 b__MAX6tbbtyr8cebgbohs2vb25PbclvatVachgFgernzNqncgbe9OlgrPbhagRi:
 nop
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1748,7 +1748,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg20SvaqBeAhyyVaYnetrZncRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR23RkgenpgFhoenatrVagreanyRvvCCF8_AF2_17vagrteny_pbafgnagVoYo1RRR
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR23RkgenpgFhoenatrVagreanyRvvCCF8_AF2_17vagrteny_pbafgnagVoYo1RRR
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR23RkgenpgFhoenatrVagreanyRvvCCF8_AF2_17vagrteny_pbafgnagVoYo1RRR,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR23RkgenpgFhoenatrVagreanyRvvCCF8_AF2_17vagrteny_pbafgnagVoYo1RRR:
 nop
@@ -1778,7 +1778,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany20JevgrYratguQryvzvgrqRwAF0_11FgevatCvrprRCAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRnFRBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRnFRBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRnFRBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRnFRBF2_:
 nop
@@ -1793,7 +1793,7 @@
 b__MA6tbbtyr8cebgbohs2vb16PbqrqVachgFgernz22ErnqYratguNaqChfuYvzvgRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP2RCAF0_5NeranR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP2RCAF0_5NeranR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP2RCAF0_5NeranR,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP2RCAF0_5NeranR:
 nop
@@ -1803,17 +1803,17 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg32SvaqRkgrafvbaVasbSebzSvryqAhzoreRvvCAF1_15RkgrafvbaSvaqreRCAF1_13RkgrafvbaVasbRCo:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3NqqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3NqqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3NqqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3NqqRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP1RBF9_
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP1RBF9_
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP1RBF9_,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP1RBF9_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR6eortvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR6eortvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR6eortvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR6eortvaRi:
 nop
@@ -1843,7 +1843,7 @@
 b__MA6tbbtyr8cebgbohs2vb16PbqrqVachgFgernzQ1Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP1RCAF0_5NeranR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP1RCAF0_5NeranR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP1RCAF0_5NeranR,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP1RCAF0_5NeranR:
 nop
@@ -1853,22 +1853,22 @@
 b__MA6tbbtyr8cebgbohs21HarfpncrPRfpncrFgevatREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCF7_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR18NqqNyernqlErfreirqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR18NqqNyernqlErfreirqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR18NqqNyernqlErfreirqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR18NqqNyernqlErfreirqRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR15RkgenpgFhoenatrRvvCz
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR15RkgenpgFhoenatrRvvCz
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR15RkgenpgFhoenatrRvvCz,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR15RkgenpgFhoenatrRvvCz:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8TrgNeranRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8TrgNeranRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8TrgNeranRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8TrgNeranRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR15HafnsrNeranFjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR15HafnsrNeranFjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR15HafnsrNeranFjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR15HafnsrNeranFjncRCF2_:
 nop
@@ -1888,7 +1888,7 @@
 b__MAX6tbbtyr8cebgbohs11ZrffntrYvgr11QrohtFgevatRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4fvmrRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4fvmrRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4fvmrRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4fvmrRi:
 nop
@@ -1898,22 +1898,22 @@
 b__MA6tbbtyr8cebgbohs7fgevatf20TebjvatNeenlOlgrFvaxP1Rz:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8PbclSebzREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8PbclSebzREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8PbclSebzREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8PbclSebzREXF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR9ZretrSebzREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR9ZretrSebzREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR9ZretrSebzREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR9ZretrSebzREXF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR22FcnprHfrqRkpyhqvatFrysRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR22FcnprHfrqRkpyhqvatFrysRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR22FcnprHfrqRkpyhqvatFrysRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR22FcnprHfrqRkpyhqvatFrysRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4eraqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4eraqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4eraqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4eraqRi:
 nop
@@ -1928,7 +1928,7 @@
 b__MA6tbbtyr8cebgbohs7PRfpncrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany19neran_qryrgr_bowrpgVAF0_11ZrffntrYvgrRRRiCi
+.weak b__MA6tbbtyr8cebgbohs8vagreany19neran_qryrgr_bowrpgVAF0_11ZrffntrYvgrRRRiCi
 .type b__MA6tbbtyr8cebgbohs8vagreany19neran_qryrgr_bowrpgVAF0_11ZrffntrYvgrRRRiCi,%function
 b__MA6tbbtyr8cebgbohs8vagreany19neran_qryrgr_bowrpgVAF0_11ZrffntrYvgrRRRiCi:
 nop
@@ -1948,7 +1948,7 @@
 b__MA6tbbtyr8cebgbohs2vb26PbclvatBhgchgFgernzNqncgbe5SyhfuRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8TrgNeranRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8TrgNeranRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8TrgNeranRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8TrgNeranRi:
 nop
@@ -1973,7 +1973,7 @@
 b__MA6tbbtyr8cebgbohs2vb18VfgernzVachgFgernz25PbclvatVfgernzVachgFgernzP2RCAFg3__113onfvp_vfgernzVpAF4_11pune_genvgfVpRRRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo1RRRoAF0_11FgevatCvrprRCAF0_11ZrffntrYvgrR
+.weak b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo1RRRoAF0_11FgevatCvrprRCAF0_11ZrffntrYvgrR
 .type b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo1RRRoAF0_11FgevatCvrprRCAF0_11ZrffntrYvgrR,%function
 b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo1RRRoAF0_11FgevatCvrprRCAF0_11ZrffntrYvgrR:
 nop
@@ -1993,7 +1993,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany14QrfgeblZrffntrRCXi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR2ngRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR2ngRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR2ngRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR2ngRv:
 nop
@@ -2013,7 +2013,7 @@
 b__MA6tbbtyr8cebgbohs2vb19BfgernzBhgchgFgernz26PbclvatBfgernzBhgchgFgernzP1RCAFg3__113onfvp_bfgernzVpAF4_11pune_genvgfVpRRRR:
 nop
 .data
-.globl b__MMA6tbbtyr8cebgbohs8vagreany17QrsnhygYbtUnaqyreRAF0_8YbtYriryRCXpvEXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR18naqebvq_ybt_yriryf
+.weak b__MMA6tbbtyr8cebgbohs8vagreany17QrsnhygYbtUnaqyreRAF0_8YbtYriryRCXpvEXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR18naqebvq_ybt_yriryf
 .type b__MMA6tbbtyr8cebgbohs8vagreany17QrsnhygYbtUnaqyreRAF0_8YbtYriryRCXpvEXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR18naqebvq_ybt_yriryf,%object
 b__MMA6tbbtyr8cebgbohs8vagreany17QrsnhygYbtUnaqyreRAF0_8YbtYriryRCXpvEXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR18naqebvq_ybt_yriryf:
 .space __SIZEOF_POINTER__
@@ -2028,12 +2028,12 @@
 b__MA6tbbtyr8cebgbohs11ZrffntrYvgr27CnefrCnegvnySebzPbqrqFgernzRCAF0_2vb16PbqrqVachgFgernzR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3FrgRvEXw
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3FrgRvEXw
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3FrgRvEXw,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3FrgRvEXw:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsRvkRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsRvkRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsRvkRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsRvkRv:
 nop
@@ -2043,12 +2043,12 @@
 b__MA6tbbtyr8cebgbohs4hgvy6Fgnghf9PNAPRYYRQR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR15hafnsr_ryrzragfRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR15hafnsr_ryrzragfRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR15hafnsr_ryrzragfRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR15hafnsr_ryrzragfRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR9ZbirNeenlRCqF3_v
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR9ZbirNeenlRCqF3_v
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR9ZbirNeenlRCqF3_v,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR9ZbirNeenlRCqF3_v:
 nop
@@ -2058,7 +2058,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg8FrgVag32RvuvCXAF0_15SvryqQrfpevcgbeR:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8ryrzragfRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8ryrzragfRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8ryrzragfRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8ryrzragfRi:
 nop
@@ -2088,7 +2088,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg24SvaqRkgrafvbaVasbSebzGntRwCAF1_15RkgrafvbaSvaqreRCvCAF1_13RkgrafvbaVasbRCo:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3raqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3raqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3raqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3raqRi:
 nop
@@ -2143,7 +2143,7 @@
 b__MA6tbbtyr8cebgbohs2vb24PbapngrangvatVachgFgernzP1RCXCAF1_19MrebPbclVachgFgernzRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3raqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3raqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3raqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3raqRi:
 nop
@@ -2173,7 +2173,7 @@
 b__MA6tbbtyr8cebgbohs2vb15SvyrVachgFgernzP1Rvv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRnFRBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRnFRBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRnFRBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRnFRBF2_:
 nop
@@ -2193,12 +2193,12 @@
 b__MA6tbbtyr8cebgbohs2vb25PbclvatVachgFgernzNqncgbeQ1Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8GehapngrRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8GehapngrRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8GehapngrRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8GehapngrRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRnFREXF9_
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRnFREXF9_
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRnFREXF9_,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRnFREXF9_:
 nop
@@ -2213,12 +2213,12 @@
 b__MA6tbbtyr8cebgbohs2vb16PbqrqVachgFgernz8CbcYvzvgRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP2RBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP2RBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP2RBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP2RBF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR26FcnprHfrqRkpyhqvatFrysYbatRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR26FcnprHfrqRkpyhqvatFrysYbatRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR26FcnprHfrqRkpyhqvatFrysYbatRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR26FcnprHfrqRkpyhqvatFrysYbatRi:
 nop
@@ -2233,7 +2233,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany9NeranVzcy12guernq_pnpurRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR15RkgenpgFhoenatrRvvCq
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR15RkgenpgFhoenatrRvvCq
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR15RkgenpgFhoenatrRvvCq,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR15RkgenpgFhoenatrRvvCq:
 nop
@@ -2253,7 +2253,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany20CnpxrqFSvkrq32CnefreRCiCXpCAF1_12CnefrPbagrkgR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3NqqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3NqqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3NqqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3NqqRi:
 nop
@@ -2268,7 +2268,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany14JverSbezngYvgr9FxvcSvryqRCAF0_2vb16PbqrqVachgFgernzRw:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVsRRRRiCi
+.weak b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVsRRRRiCi
 .type b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVsRRRRiCi,%function
 b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVsRRRRiCi:
 nop
@@ -2278,12 +2278,12 @@
 b__MA6tbbtyr8cebgbohs2vb16SvyrBhgchgFgernzP1Rvv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4FjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4FjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4FjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4FjncRCF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR12VagreanyFjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR12VagreanyFjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR12VagreanyFjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR12VagreanyFjncRCF2_:
 nop
@@ -2308,37 +2308,37 @@
 b__MAX6tbbtyr8cebgbohs11ZrffntrYvgr25FrevnyvmrGbMrebPbclFgernzRCAF0_2vb20MrebPbclBhgchgFgernzR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR12VagreanyFjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR12VagreanyFjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR12VagreanyFjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR12VagreanyFjncRCF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRQ2Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRQ2Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRQ2Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRQ2Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVwRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR
+.weak b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVwRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR
 .type b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVwRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR,%function
 b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVwRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP2RCAF0_5NeranR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP2RCAF0_5NeranR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP2RCAF0_5NeranR,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP2RCAF0_5NeranR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR6ErfvmrRvEXo
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR6ErfvmrRvEXo
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR6ErfvmrRvEXo,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR6ErfvmrRvEXo:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4FjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4FjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4FjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4FjncRCF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3TrgRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3TrgRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3TrgRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3TrgRv:
 nop
@@ -2348,7 +2348,7 @@
 b__MA6tbbtyr8cebgbohs2vb17PbqrqBhgchgFgernz26JevgrFgevatJvguFvmrGbNeenlREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCu:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP1RCAF0_5NeranR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP1RCAF0_5NeranR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP1RCAF0_5NeranR,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP1RCAF0_5NeranR:
 nop
@@ -2358,7 +2358,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany14JverSbezngYvgr21xZrffntrFrgZrffntrGntR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAFg3__13zncVvAF1_12RkgrafvbaFrg9RkgrafvbaRAF3_4yrffVvRRAF3_9nyybpngbeVAF3_4cnveVXvF6_RRRRRRRRiCi
+.weak b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAFg3__13zncVvAF1_12RkgrafvbaFrg9RkgrafvbaRAF3_4yrffVvRRAF3_9nyybpngbeVAF3_4cnveVXvF6_RRRRRRRRiCi
 .type b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAFg3__13zncVvAF1_12RkgrafvbaFrg9RkgrafvbaRAF3_4yrffVvRRAF3_9nyybpngbeVAF3_4cnveVXvF6_RRRRRRRRiCi,%function
 b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAFg3__13zncVvAF1_12RkgrafvbaFrg9RkgrafvbaRAF3_4yrffVvRRAF3_9nyybpngbeVAF3_4cnveVXvF6_RRRRRRRRiCi:
 nop
@@ -2378,7 +2378,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg13ZhgnoyrFgevatRvuCXAF0_15SvryqQrfpevcgbeR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4FjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4FjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4FjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4FjncRCF2_:
 nop
@@ -2393,7 +2393,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany11JevgrInevagRwzCAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP1RBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP1RBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP1RBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP1RBF2_:
 nop
@@ -2413,7 +2413,7 @@
 b__MA6tbbtyr8cebgbohs2vb19YvzvgvatVachgFgernzQ0Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany16JverSbezngCnefreVAF1_28HaxabjaSvryqYvgrCnefreUrycreRRRCXpEG_F5_CAF1_12CnefrPbagrkgR
+.weak b__MA6tbbtyr8cebgbohs8vagreany16JverSbezngCnefreVAF1_28HaxabjaSvryqYvgrCnefreUrycreRRRCXpEG_F5_CAF1_12CnefrPbagrkgR
 .type b__MA6tbbtyr8cebgbohs8vagreany16JverSbezngCnefreVAF1_28HaxabjaSvryqYvgrCnefreUrycreRRRCXpEG_F5_CAF1_12CnefrPbagrkgR,%function
 b__MA6tbbtyr8cebgbohs8vagreany16JverSbezngCnefreVAF1_28HaxabjaSvryqYvgrCnefreUrycreRRRCXpEG_F5_CAF1_12CnefrPbagrkgR:
 nop
@@ -2423,27 +2423,27 @@
 b__MA6tbbtyr8cebgbohs8vagreany28VayvarTerrqlFgevatCnefreHGS8RCAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCXpCAF1_12CnefrPbagrkgRFO_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR12zhgnoyr_qngnRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR12zhgnoyr_qngnRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR12zhgnoyr_qngnRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR12zhgnoyr_qngnRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4eraqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4eraqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4eraqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4eraqRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8PbclSebzREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8PbclSebzREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8PbclSebzREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8PbclSebzREXF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4FjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4FjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4FjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4FjncRCF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRvkRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRvkRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRvkRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRvkRv:
 nop
@@ -2478,7 +2478,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz12FxvcSnyyonpxRCXpv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4eraqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4eraqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4eraqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4eraqRi:
 nop
@@ -2493,12 +2493,12 @@
 b__MA6tbbtyr8cebgbohs2vb16SvyrBhgchgFgernz23PbclvatSvyrBhgchgFgernz5JevgrRCXiv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5renfrRCXsF4_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5renfrRCXsF4_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5renfrRCXsF4_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5renfrRCXsF4_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4FjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4FjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4FjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4FjncRCF2_:
 nop
@@ -2508,7 +2508,7 @@
 b__MA6tbbtyr8cebgbohs2vb16PbqrqVachgFgernz28OnpxHcVachgGbPheeragCbfvgvbaRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVyYo1RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_
+.weak b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVyYo1RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_
 .type b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVyYo1RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_,%function
 b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVyYo1RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_:
 nop
@@ -2518,7 +2518,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany23VfFgehpghenyylInyvqHGS8RCXpv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR6eortvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR6eortvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR6eortvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR6eortvaRi:
 nop
@@ -2583,27 +2583,27 @@
 b__MAX6tbbtyr8cebgbohs11FgevatCvrpr4svaqRpz:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany18FrevnyvmrZrffntrGbVAF0_2vb17PbqrqBhgchgFgernzRRRiCXAF0_11ZrffntrYvgrRCXiCG_
+.weak b__MA6tbbtyr8cebgbohs8vagreany18FrevnyvmrZrffntrGbVAF0_2vb17PbqrqBhgchgFgernzRRRiCXAF0_11ZrffntrYvgrRCXiCG_
 .type b__MA6tbbtyr8cebgbohs8vagreany18FrevnyvmrZrffntrGbVAF0_2vb17PbqrqBhgchgFgernzRRRiCXAF0_11ZrffntrYvgrRCXiCG_,%function
 b__MA6tbbtyr8cebgbohs8vagreany18FrevnyvmrZrffntrGbVAF0_2vb17PbqrqBhgchgFgernzRRRiCXAF0_11ZrffntrYvgrRCXiCG_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR15RkgenpgFhoenatrRvvCy
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR15RkgenpgFhoenatrRvvCy
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR15RkgenpgFhoenatrRvvCy,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR15RkgenpgFhoenatrRvvCy:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3raqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3raqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3raqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3raqRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR17TrgNeranAbIveghnyRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR17TrgNeranAbIveghnyRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR17TrgNeranAbIveghnyRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR17TrgNeranAbIveghnyRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4fvmrRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4fvmrRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4fvmrRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4fvmrRi:
 nop
@@ -2618,7 +2618,7 @@
 b__MA6tbbtyr8cebgbohs9FgeNccraqRCAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRREXAF0_7fgevatf8NycunAhzRFP_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRQ1Ri
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRQ1Ri
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRQ1Ri,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRQ1Ri:
 nop
@@ -2653,7 +2653,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany18CnpxrqHVag64CnefreRCiCXpCAF1_12CnefrPbagrkgR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR10ErzbirYnfgRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR10ErzbirYnfgRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR10ErzbirYnfgRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR10ErzbirYnfgRi:
 nop
@@ -2678,7 +2678,7 @@
 b__MGIA6tbbtyr8cebgbohs11ZrffntrYvgrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR6portvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR6portvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR6portvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR6portvaRi:
 nop
@@ -2688,17 +2688,17 @@
 b__MA6tbbtyr8cebgbohs7fgevatf20TebjvatNeenlOlgrFvax9TrgOhssreRCz:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP2Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP2Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP2Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP2Ri:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4praqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4praqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4praqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4praqRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4qngnRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4qngnRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4qngnRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4qngnRi:
 nop
@@ -2713,17 +2713,17 @@
 b__MA6tbbtyr8cebgbohs2vb16PbqrqVachgFgernz10ErnqFgevatRCAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR7ZhgnoyrRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR7ZhgnoyrRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR7ZhgnoyrRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR7ZhgnoyrRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3FrgRvEXv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3FrgRvEXv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3FrgRvEXv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3FrgRvEXv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR7ZhgnoyrRv
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR7ZhgnoyrRv
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR7ZhgnoyrRv,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR7ZhgnoyrRv:
 nop
@@ -2778,7 +2778,7 @@
 b__MA6tbbtyr8cebgbohs2vb18VfgernzVachgFgernz25PbclvatVfgernzVachgFgernzQ0Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR7ZhgnoyrRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR7ZhgnoyrRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR7ZhgnoyrRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR7ZhgnoyrRv:
 nop
@@ -2808,37 +2808,37 @@
 b__MA6tbbtyr8cebgbohs8vagreany14JverSbezngYvgr17JevgrSvkrq64NeenlRCXzvCAF0_2vb17PbqrqBhgchgFgernzR:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR2ngRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR2ngRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR2ngRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR2ngRv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4eraqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4eraqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4eraqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4eraqRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR7ZhgnoyrRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR7ZhgnoyrRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR7ZhgnoyrRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR7ZhgnoyrRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP1RCAF0_5NeranR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP1RCAF0_5NeranR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP1RCAF0_5NeranR,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP1RCAF0_5NeranR:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3raqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3raqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3raqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3raqRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8TrgNeranRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8TrgNeranRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8TrgNeranRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8TrgNeranRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR22FcnprHfrqRkpyhqvatFrysRi
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR22FcnprHfrqRkpyhqvatFrysRi
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR22FcnprHfrqRkpyhqvatFrysRi,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR22FcnprHfrqRkpyhqvatFrysRi:
 nop
@@ -2853,7 +2853,7 @@
 b__MA6tbbtyr8cebgbohs2vb17PbqrqBhgchgFgernzP2RCAF1_20MrebPbclBhgchgFgernzRo:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs11ZrffntrYvgr9CnefrSebzVYAF1_10CnefrSyntfR3RAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRRRoEXG0_
+.weak b__MA6tbbtyr8cebgbohs11ZrffntrYvgr9CnefrSebzVYAF1_10CnefrSyntfR3RAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRRRoEXG0_
 .type b__MA6tbbtyr8cebgbohs11ZrffntrYvgr9CnefrSebzVYAF1_10CnefrSyntfR3RAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRRRoEXG0_,%function
 b__MA6tbbtyr8cebgbohs11ZrffntrYvgr9CnefrSebzVYAF1_10CnefrSyntfR3RAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRRRoEXG0_:
 nop
@@ -2863,17 +2863,17 @@
 b__MAX6tbbtyr8cebgbohs11ZrffntrYvgr16FrevnyvmrGbNeenlRCiv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR7ZhgnoyrRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR7ZhgnoyrRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR7ZhgnoyrRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR7ZhgnoyrRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR18NqqNyernqlErfreirqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR18NqqNyernqlErfreirqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR18NqqNyernqlErfreirqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR18NqqNyernqlErfreirqRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4eraqRi
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4eraqRi
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4eraqRi,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4eraqRi:
 nop
@@ -2888,7 +2888,7 @@
 b__MA6tbbtyr8cebgbohs11ZrffntrYvgr15ZretrSebzFgevatREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR7ZhgnoyrRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR7ZhgnoyrRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR7ZhgnoyrRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR7ZhgnoyrRv:
 nop
@@ -2898,12 +2898,12 @@
 b__MA6tbbtyr8cebgbohs2vb26PbclvatBhgchgFgernzNqncgbeQ1Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR9ZretrSebzREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR9ZretrSebzREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR9ZretrSebzREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR9ZretrSebzREXF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR6eortvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR6eortvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR6eortvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR6eortvaRi:
 nop
@@ -2913,7 +2913,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg25HafnsrNeranEryrnfrZrffntrRvEXAF0_11ZrffntrYvgrR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR6eortvaRi
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR6eortvaRi
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR6eortvaRi,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR6eortvaRi:
 nop
@@ -2928,7 +2928,7 @@
 b__MGIA6tbbtyr8cebgbohs2vb20MrebPbclBhgchgFgernzR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5ortvaRi
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5ortvaRi
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5ortvaRi,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5ortvaRi:
 nop
@@ -2948,22 +2948,22 @@
 b__MAX6tbbtyr8cebgbohs11ZrffntrYvgr25FrevnyvmrCnegvnyGbBfgernzRCAFg3__113onfvp_bfgernzVpAF2_11pune_genvgfVpRRRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR6eortvaRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR6eortvaRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR6eortvaRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR6eortvaRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRnFRBF9_
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRnFRBF9_
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRnFRBF9_,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRnFRBF9_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR6portvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR6portvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR6portvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR6portvaRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR8PncnpvglRi
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR8PncnpvglRi
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR8PncnpvglRi,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR8PncnpvglRi:
 nop
@@ -2993,12 +2993,12 @@
 b__MA6tbbtyr8cebgbohs2vb19BfgernzBhgchgFgernz6OnpxHcRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRQ2Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRQ2Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRQ2Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRQ2Ri:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8ryrzragfRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8ryrzragfRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8ryrzragfRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8ryrzragfRi:
 nop
@@ -3028,17 +3028,17 @@
 b__MA6tbbtyr8cebgbohs8vagreany13IrevslIrefvbaRvvCXp:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR2ngRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR2ngRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR2ngRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR2ngRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR10ErzbirYnfgRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR10ErzbirYnfgRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR10ErzbirYnfgRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR10ErzbirYnfgRi:
 nop
@@ -3058,7 +3058,7 @@
 b__MA6tbbtyr8cebgbohs21FcyvgFgevatNyybjRzcglREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCXpCAF1_6irpgbeVF7_AF5_VF7_RRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_:
 nop
@@ -3068,12 +3068,12 @@
 b__MA6tbbtyr8cebgbohs2vb17PbqrqBhgchgFgernz14RanoyrNyvnfvatRo:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR18VagreanyQrnyybpngrRCAF2_3ErcRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR18VagreanyQrnyybpngrRCAF2_3ErcRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR18VagreanyQrnyybpngrRCAF2_3ErcRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR18VagreanyQrnyybpngrRCAF2_3ErcRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR9ZbirNeenlRCwF3_v
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR9ZbirNeenlRCwF3_v
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR9ZbirNeenlRCwF3_v,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR9ZbirNeenlRCwF3_v:
 nop
@@ -3103,7 +3103,7 @@
 b__MGIA6tbbtyr8cebgbohs8vagreany15RkgrafvbaSvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRvkRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRvkRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRvkRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRvkRv:
 nop
@@ -3113,17 +3113,17 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg10CnefrSvryqRwCAF0_2vb16PbqrqVachgFgernzRCXAF0_11ZrffntrYvgrRCAF3_17PbqrqBhgchgFgernzR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP2RBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP2RBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP2RBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP2RBF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR15HafnsrNeranFjncRCF9_
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR15HafnsrNeranFjncRCF9_
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR15HafnsrNeranFjncRCF9_,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR15HafnsrNeranFjncRCF9_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3ercRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3ercRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3ercRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3ercRi:
 nop
@@ -3133,7 +3133,7 @@
 b__MA6tbbtyr8cebgbohs4hgvy6Fgnghf7HAXABJAR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVyRRRRiCi
+.weak b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVyRRRRiCi
 .type b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVyRRRRiCi,%function
 b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVyRRRRiCi:
 nop
@@ -3148,12 +3148,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany16CnpxrqRahzCnefreRCiCXpCAF1_12CnefrPbagrkgRCSovRCAF1_29VagreanyZrgnqngnJvguNeranYvgrRv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR17TrgNeranAbIveghnyRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR17TrgNeranAbIveghnyRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR17TrgNeranAbIveghnyRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR17TrgNeranAbIveghnyRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR11cbvagre_raqRi
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR11cbvagre_raqRi
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR11cbvagre_raqRi,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR11cbvagre_raqRi:
 nop
@@ -3163,12 +3163,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany9NeranVzcy14TrgFrevnyNeranRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8PncnpvglRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8PncnpvglRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8PncnpvglRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8PncnpvglRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR12FjncRyrzragfRvv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR12FjncRyrzragfRvv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR12FjncRyrzragfRvv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR12FjncRyrzragfRvv:
 nop
@@ -3178,12 +3178,12 @@
 b__MGIA6tbbtyr8cebgbohs2vb18VfgernzVachgFgernz25PbclvatVfgernzVachgFgernzR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP1Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP1Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP1Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP1Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8GehapngrRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8GehapngrRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8GehapngrRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR8GehapngrRv:
 nop
@@ -3198,12 +3198,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany15CnefrNalGlcrHeyREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCF8_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP2REXF9_
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP2REXF9_
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP2REXF9_,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP2REXF9_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3TrgRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3TrgRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3TrgRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3TrgRv:
 nop
@@ -3218,7 +3218,7 @@
 b__MGIA6tbbtyr8cebgbohs2vb24PbapngrangvatVachgFgernzR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR15HafnsrNeranFjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR15HafnsrNeranFjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR15HafnsrNeranFjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR15HafnsrNeranFjncRCF2_:
 nop
@@ -3228,12 +3228,12 @@
 b__MA6tbbtyr8cebgbohs6FgePngREXAF0_7fgevatf8NycunAhzRF4_F4_F4_F4_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR6ErfvmrRvEXz
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR6ErfvmrRvEXz
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR6ErfvmrRvEXz,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR6ErfvmrRvEXz:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8PncnpvglRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8PncnpvglRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8PncnpvglRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8PncnpvglRi:
 nop
@@ -3248,12 +3248,12 @@
 b__MA6tbbtyr8cebgbohs2vb16PbqrqVachgFgernz18ErnqFgevatSnyyonpxRCAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3raqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3raqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3raqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3raqRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRQ1Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRQ1Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRQ1Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRQ1Ri:
 nop
@@ -3263,7 +3263,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany24VayvarTerrqlFgevatCnefreRCAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCXpCAF1_12CnefrPbagrkgR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR9ZretrSebzREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR9ZretrSebzREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR9ZretrSebzREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR9ZretrSebzREXF2_:
 nop
@@ -3273,22 +3273,22 @@
 b__MA6tbbtyr8cebgbohs2vb18VfgernzVachgFgernz6OnpxHcRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo0RRRoAF1_11ObhaqrqMPVFRCAF0_11ZrffntrYvgrR
+.weak b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo0RRRoAF1_11ObhaqrqMPVFRCAF0_11ZrffntrYvgrR
 .type b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo0RRRoAF1_11ObhaqrqMPVFRCAF0_11ZrffntrYvgrR,%function
 b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo0RRRoAF1_11ObhaqrqMPVFRCAF0_11ZrffntrYvgrR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP2Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP2Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP2Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP2Ri:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR17TrgNeranAbIveghnyRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR17TrgNeranAbIveghnyRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR17TrgNeranAbIveghnyRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR17TrgNeranAbIveghnyRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4fvmrRi
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4fvmrRi
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4fvmrRi,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4fvmrRi:
 nop
@@ -3308,7 +3308,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany14JverSbezngYvgr9FxvcSvryqRCAF0_2vb16PbqrqVachgFgernzRwCAF3_17PbqrqBhgchgFgernzR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP1RBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP1RBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP1RBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP1RBF2_:
 nop
@@ -3318,22 +3318,22 @@
 b__MA6tbbtyr8cebgbohs11ZrffntrYvgr30CnefrCnegvnySebzMrebPbclFgernzRCAF0_2vb19MrebPbclVachgFgernzR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4eraqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4eraqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4eraqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4eraqRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR18NqqNyernqlErfreirqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR18NqqNyernqlErfreirqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR18NqqNyernqlErfreirqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR18NqqNyernqlErfreirqRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5renfrRCXv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5renfrRCXv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5renfrRCXv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5renfrRCXv:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -3353,12 +3353,12 @@
 b__MA6tbbtyr8cebgbohs11ZrffntrYvgr15CnefrSebzFgevatREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR12FjncRyrzragfRvv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR12FjncRyrzragfRvv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR12FjncRyrzragfRvv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR12FjncRyrzragfRvv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR7ErfreirRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR7ErfreirRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR7ErfreirRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR7ErfreirRv:
 nop
@@ -3373,12 +3373,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany14JverSbezngYvgr12JevgrSvkrq32RvwCAF0_2vb17PbqrqBhgchgFgernzR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR15HafnsrNeranFjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR15HafnsrNeranFjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR15HafnsrNeranFjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR15HafnsrNeranFjncRCF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR2ngRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR2ngRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR2ngRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR2ngRv:
 nop
@@ -3413,12 +3413,12 @@
 b__MA6tbbtyr8cebgbohs4hgvy6FgnghfnFREXF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRQ1Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRQ1Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRQ1Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRQ1Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR7ErfreirRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR7ErfreirRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR7ErfreirRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR7ErfreirRv:
 nop
@@ -3428,12 +3428,12 @@
 b__MGIA6tbbtyr8cebgbohs2vb16SvyrBhgchgFgernz23PbclvatSvyrBhgchgFgernzR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRQ2Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRQ2Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRQ2Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRQ2Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRnFRBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRnFRBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRnFRBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRnFRBF2_:
 nop
@@ -3463,7 +3463,7 @@
 b__MA6tbbtyr8cebgbohs2vb17PbqrqBhgchgFgernz4FxvcRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVqRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR
+.weak b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVqRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR
 .type b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVqRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR,%function
 b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVqRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR:
 nop
@@ -3483,7 +3483,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9FrgHVag64RvuzCXAF0_15SvryqQrfpevcgbeR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9RkgrafvbaRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR14__renfr_havdhrVvRRzEXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9RkgrafvbaRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR14__renfr_havdhrVvRRzEXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9RkgrafvbaRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR14__renfr_havdhrVvRRzEXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9RkgrafvbaRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR14__renfr_havdhrVvRRzEXG_:
 nop
@@ -3498,12 +3498,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany21HaxabjaTebhcYvgrCnefrRCAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCXpCAF1_12CnefrPbagrkgR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR18NqqNyernqlErfreirqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR18NqqNyernqlErfreirqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR18NqqNyernqlErfreirqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR18NqqNyernqlErfreirqRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR26FcnprHfrqRkpyhqvatFrysYbatRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR26FcnprHfrqRkpyhqvatFrysYbatRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR26FcnprHfrqRkpyhqvatFrysYbatRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR26FcnprHfrqRkpyhqvatFrysYbatRi:
 nop
@@ -3528,7 +3528,7 @@
 b__MA6tbbtyr8cebgbohs11ZrffntrYvgr21CnefrCnegvnySebzNeenlRCXiv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR2ngRv
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR2ngRv
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR2ngRv,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR2ngRv:
 nop
@@ -3558,17 +3558,17 @@
 b__MA6tbbtyr8cebgbohs8vagreany16CnpxrqRahzCnefreRCiCXpCAF1_12CnefrPbagrkgR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR9PbclNeenlRCyCXyv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR9PbclNeenlRCyCXyv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR9PbclNeenlRCyCXyv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR9PbclNeenlRCyCXyv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5renfrRCXz
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5renfrRCXz
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5renfrRCXz,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5renfrRCXz:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR9ZbirNeenlRCzF3_v
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR9ZbirNeenlRCzF3_v
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR9ZbirNeenlRCzF3_v,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR9ZbirNeenlRCzF3_v:
 nop
@@ -3588,7 +3588,7 @@
 b__MAX6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg19TrgEnjErcrngrqSvryqRvCXi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo0RRRoAF0_11FgevatCvrprRCAF0_11ZrffntrYvgrR
+.weak b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo0RRRoAF0_11FgevatCvrprRCAF0_11ZrffntrYvgrR
 .type b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo0RRRoAF0_11FgevatCvrprRCAF0_11ZrffntrYvgrR,%function
 b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo0RRRoAF0_11FgevatCvrprRCAF0_11ZrffntrYvgrR:
 nop
@@ -3613,7 +3613,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany19CnpxrqSvkrq64CnefreRCiCXpCAF1_12CnefrPbagrkgR:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR6portvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR6portvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR6portvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR6portvaRi:
 nop
@@ -3648,17 +3648,17 @@
 b__MA6tbbtyr8cebgbohs2vb16PbqrqVachgFgernzQ2Ri:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4praqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4praqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4praqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4praqRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4qngnRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4qngnRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4qngnRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4qngnRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR12FjncRyrzragfRvv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR12FjncRyrzragfRvv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR12FjncRyrzragfRvv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR12FjncRyrzragfRvv:
 nop
@@ -3673,7 +3673,7 @@
 b__MA6tbbtyr8cebgbohs2vb18VfgernzVachgFgernz25PbclvatVfgernzVachgFgernzP1RCAFg3__113onfvp_vfgernzVpAF4_11pune_genvgfVpRRRR:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwRvkRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwRvkRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwRvkRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwRvkRv:
 nop
@@ -3703,17 +3703,17 @@
 b__MA6tbbtyr8cebgbohs2vb17FnsrQbhoyrGbSybngRq:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP1REXF9_
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP1REXF9_
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP1REXF9_,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP1REXF9_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8TrgNeranRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8TrgNeranRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8TrgNeranRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8TrgNeranRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR13cbvagre_ortvaRi
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR13cbvagre_ortvaRi
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR13cbvagre_ortvaRi,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR13cbvagre_ortvaRi:
 nop
@@ -3728,12 +3728,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany14JverSbezngYvgr15JevgrSybngNeenlRCXsvCAF0_2vb17PbqrqBhgchgFgernzR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR10ErzbirYnfgRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR10ErzbirYnfgRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR10ErzbirYnfgRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR10ErzbirYnfgRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR6ErfvmrRvEXy
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR6ErfvmrRvEXy
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR6ErfvmrRvEXy,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR6ErfvmrRvEXy:
 nop
@@ -3753,17 +3753,17 @@
 b__MA6tbbtyr8cebgbohs8vagreany14JverSbezngYvgr12JevgrZrffntrRvEXAF0_11ZrffntrYvgrRCAF0_2vb17PbqrqBhgchgFgernzR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR18VagreanyQrnyybpngrRCAF2_3ErcRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR18VagreanyQrnyybpngrRCAF2_3ErcRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR18VagreanyQrnyybpngrRCAF2_3ErcRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR18VagreanyQrnyybpngrRCAF2_3ErcRv:
 nop
 .data
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR14xErcUrnqreFvmrR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR14xErcUrnqreFvmrR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR14xErcUrnqreFvmrR,%object
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR14xErcUrnqreFvmrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5renfrRCXzF4_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5renfrRCXzF4_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5renfrRCXzF4_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5renfrRCXzF4_:
 nop
@@ -3783,7 +3783,7 @@
 b__MA6tbbtyr8cebgbohs2vb17PbqrqBhgchgFgernz22TrgQverpgOhssreCbvagreRCCiCv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR15RkgenpgFhoenatrRvvCo
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR15RkgenpgFhoenatrRvvCo
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR15RkgenpgFhoenatrRvvCo,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR15RkgenpgFhoenatrRvvCo:
 nop
@@ -3808,12 +3808,12 @@
 b__MAX6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg8TrgVag64Rvy:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVvYo1RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_
+.weak b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVvYo1RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_
 .type b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVvYo1RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_,%function
 b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVvYo1RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8TrgNeranRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8TrgNeranRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8TrgNeranRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8TrgNeranRi:
 nop
@@ -3833,12 +3833,12 @@
 b__MA6tbbtyr8cebgbohs2vb17NeenlBhgchgFgernzP2RCivv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR12VagreanyFjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR12VagreanyFjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR12VagreanyFjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR12VagreanyFjncRCF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR8PbclSebzREXF9_
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR8PbclSebzREXF9_
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR8PbclSebzREXF9_,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR8PbclSebzREXF9_:
 nop
@@ -3848,22 +3848,22 @@
 b__MA6tbbtyr8cebgbohs7fgevatf20TebjvatNeenlOlgrFvaxQ0Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP1Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP1Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP1Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP1Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3NqqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3NqqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3NqqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3NqqRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR12FjncRyrzragfRvv
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR12FjncRyrzragfRvv
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR12FjncRyrzragfRvv,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR12FjncRyrzragfRvv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR6eortvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR6eortvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR6eortvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR6eortvaRi:
 nop
@@ -3873,7 +3873,7 @@
 b__MA6tbbtyr8cebgbohs2vb18FgevatBhgchgFgernzP1RCAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVoRRRRiCi
+.weak b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVoRRRRiCi
 .type b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVoRRRRiCi,%function
 b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVoRRRRiCi:
 nop
@@ -3888,12 +3888,12 @@
 b__MA6tbbtyr8cebgbohs11ZrffntrYvgr30CnefrCnegvnySebzSvyrQrfpevcgbeRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR9ZbirNeenlRCoF3_v
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR9ZbirNeenlRCoF3_v
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR9ZbirNeenlRCoF3_v,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR9ZbirNeenlRCoF3_v:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR22FcnprHfrqRkpyhqvatFrysRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR22FcnprHfrqRkpyhqvatFrysRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR22FcnprHfrqRkpyhqvatFrysRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR22FcnprHfrqRkpyhqvatFrysRi:
 nop
@@ -3913,12 +3913,12 @@
 b__MA6tbbtyr8cebgbohs11YbtFvyrapreQ1Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5renfrRCXqF4_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5renfrRCXqF4_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5renfrRCXqF4_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5renfrRCXqF4_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR2ngRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR2ngRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR2ngRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR2ngRv:
 nop
@@ -3933,17 +3933,17 @@
 b__MA6tbbtyr8cebgbohs2vb16PbqrqVachgFgernz9ChfuYvzvgRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR12VagreanyFjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR12VagreanyFjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR12VagreanyFjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR12VagreanyFjncRCF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP2RBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP2RBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP2RBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP2RBF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3TrgRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3TrgRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3TrgRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3TrgRv:
 nop
@@ -3953,7 +3953,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9Rkgrafvba5PyrneRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRRRiCi
+.weak b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRRRiCi
 .type b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRRRiCi,%function
 b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRRRiCi:
 nop
@@ -3973,7 +3973,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany20CnpxrqFSvkrq64CnefreRCiCXpCAF1_12CnefrPbagrkgR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR2ngRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR2ngRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR2ngRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR2ngRv:
 nop
@@ -3993,27 +3993,27 @@
 b__MA6tbbtyr8cebgbohs2vb16SvyrBhgchgFgernz5PybfrRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF1_29VagreanyZrgnqngnJvguNeranOnfrVAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRAF1_29VagreanyZrgnqngnJvguNeranYvgrRR9PbagnvareRRRiCi
+.weak b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF1_29VagreanyZrgnqngnJvguNeranOnfrVAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRAF1_29VagreanyZrgnqngnJvguNeranYvgrRR9PbagnvareRRRiCi
 .type b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF1_29VagreanyZrgnqngnJvguNeranOnfrVAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRAF1_29VagreanyZrgnqngnJvguNeranYvgrRR9PbagnvareRRRiCi,%function
 b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF1_29VagreanyZrgnqngnJvguNeranOnfrVAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRAF1_29VagreanyZrgnqngnJvguNeranYvgrRR9PbagnvareRRRiCi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVyRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR
+.weak b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVyRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR
 .type b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVyRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR,%function
 b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVyRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR9ZretrSebzREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR9ZretrSebzREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR9ZretrSebzREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR9ZretrSebzREXF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3ercRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3ercRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3ercRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3ercRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4fvmrRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4fvmrRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4fvmrRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4fvmrRi:
 nop
@@ -4023,7 +4023,7 @@
 b__MA6tbbtyr8cebgbohs7fgevatf10OlgrFbhepr6PbclGbRCAF1_8OlgrFvaxRz:
 nop
 .data
-.globl b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -4038,7 +4038,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9ZretrSebzREXF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR6portvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR6portvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR6portvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR6portvaRi:
 nop
@@ -4073,7 +4073,7 @@
 b__MAX6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9Rkgrafvba8OlgrFvmrRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR15RkgenpgFhoenatrRvvCw
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR15RkgenpgFhoenatrRvvCw
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR15RkgenpgFhoenatrRvvCw,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR15RkgenpgFhoenatrRvvCw:
 nop
@@ -4088,7 +4088,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany24TrarengrqRkgrafvbaSvaqre4SvaqRvCAF1_13RkgrafvbaVasbR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR12FjncRyrzragfRvv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR12FjncRyrzragfRvv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR12FjncRyrzragfRvv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR12FjncRyrzragfRvv:
 nop
@@ -4103,7 +4103,7 @@
 b__MA6tbbtyr8cebgbohs2vb18FgevatBhgchgFgernzP2RCAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR26HafnsrNeranRkgenpgFhoenatrRvvCCF8_
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR26HafnsrNeranRkgenpgFhoenatrRvvCCF8_
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR26HafnsrNeranRkgenpgFhoenatrRvvCCF8_,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR26HafnsrNeranRkgenpgFhoenatrRvvCCF8_:
 nop
@@ -4113,7 +4113,7 @@
 b__MGIA6tbbtyr8cebgbohs7fgevatf22HapurpxrqNeenlOlgrFvaxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
@@ -4123,17 +4123,17 @@
 b__MA6tbbtyr8cebgbohs8vagreany15RkgrafvbaSvaqreQ1Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVyYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_
+.weak b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVyYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_
 .type b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVyYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_,%function
 b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVyYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR15HafnsrNeranFjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR15HafnsrNeranFjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR15HafnsrNeranFjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR15HafnsrNeranFjncRCF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8PncnpvglRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8PncnpvglRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8PncnpvglRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8PncnpvglRi:
 nop
@@ -4148,12 +4148,12 @@
 b__MA6tbbtyr8cebgbohs23VagreanySnfgUrkGbOhssreRzCpv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR9PbclNeenlRCwCXwv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR9PbclNeenlRCwCXwv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR9PbclNeenlRCwCXwv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR9PbclNeenlRCwCXwv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRnFREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRnFREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRnFREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRnFREXF2_:
 nop
@@ -4178,22 +4178,22 @@
 b__MA6tbbtyr8cebgbohs2vb19YvzvgvatVachgFgernzP1RCAF1_19MrebPbclVachgFgernzRy:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs11ZrffntrYvgr9CnefrSebzVYAF1_10CnefrSyntfR1RAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRRRoEXG0_
+.weak b__MA6tbbtyr8cebgbohs11ZrffntrYvgr9CnefrSebzVYAF1_10CnefrSyntfR1RAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRRRoEXG0_
 .type b__MA6tbbtyr8cebgbohs11ZrffntrYvgr9CnefrSebzVYAF1_10CnefrSyntfR1RAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRRRoEXG0_,%function
 b__MA6tbbtyr8cebgbohs11ZrffntrYvgr9CnefrSebzVYAF1_10CnefrSyntfR1RAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRRRoEXG0_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRnFREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRnFREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRnFREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRnFREXF2_:
 nop
 .data
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR14xErcUrnqreFvmrR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR14xErcUrnqreFvmrR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR14xErcUrnqreFvmrR,%object
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR14xErcUrnqreFvmrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4eraqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4eraqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4eraqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4eraqRi:
 nop
@@ -4213,7 +4213,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany17HaxabjaSvryqCnefrRwCAF1_29VagreanyZrgnqngnJvguNeranYvgrRCXpCAF1_12CnefrPbagrkgR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3raqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3raqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3raqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3raqRi:
 nop
@@ -4223,17 +4223,17 @@
 b__MA6tbbtyr8cebgbohs2vb16SvyrBhgchgFgernz23PbclvatSvyrBhgchgFgernzQ2Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR9ZretrSebzREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR9ZretrSebzREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR9ZretrSebzREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR9ZretrSebzREXF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRnFREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRnFREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRnFREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRnFREXF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4eraqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4eraqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4eraqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4eraqRi:
 nop
@@ -4243,7 +4243,7 @@
 b__MA6tbbtyr8cebgbohs6FgePngREXAF0_7fgevatf8NycunAhzRF4_F4_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRnFREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRnFREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRnFREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRnFREXF2_:
 nop
@@ -4253,12 +4253,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrgQ1Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr23HafnsrNeranNqqNyybpngrqVAF0_16ErcrngrqCgeSvryqVAF0_11ZrffntrYvgrRR11GlcrUnaqyreRRRiCAG_4GlcrR
+.weak b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr23HafnsrNeranNqqNyybpngrqVAF0_16ErcrngrqCgeSvryqVAF0_11ZrffntrYvgrRR11GlcrUnaqyreRRRiCAG_4GlcrR
 .type b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr23HafnsrNeranNqqNyybpngrqVAF0_16ErcrngrqCgeSvryqVAF0_11ZrffntrYvgrRR11GlcrUnaqyreRRRiCAG_4GlcrR,%function
 b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr23HafnsrNeranNqqNyybpngrqVAF0_16ErcrngrqCgeSvryqVAF0_11ZrffntrYvgrRR11GlcrUnaqyreRRRiCAG_4GlcrR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3NqqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3NqqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3NqqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3NqqRi:
 nop
@@ -4268,7 +4268,7 @@
 b__MA6tbbtyr8cebgbohs16RapbqrNfHGS8PuneRwCp:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR12FjncRyrzragfRvv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR12FjncRyrzragfRvv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR12FjncRyrzragfRvv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR12FjncRyrzragfRvv:
 nop
@@ -4288,22 +4288,22 @@
 b__MA6tbbtyr8cebgbohs2vb19YvzvgvatVachgFgernzQ1Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR6eortvaRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR6eortvaRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR6eortvaRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR6eortvaRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP1RBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP1RBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP1RBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP1RBF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRnFREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRnFREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRnFREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRnFREXF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR22FcnprHfrqRkpyhqvatFrysRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR22FcnprHfrqRkpyhqvatFrysRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR22FcnprHfrqRkpyhqvatFrysRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR22FcnprHfrqRkpyhqvatFrysRi:
 nop
@@ -4323,12 +4323,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz18ErnqFgevatSnyyonpxRCXpvCAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVzRRRRiCi
+.weak b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVzRRRRiCi
 .type b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVzRRRRiCi,%function
 b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVzRRRRiCi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRnFREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRnFREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRnFREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRnFREXF2_:
 nop
@@ -4338,12 +4338,12 @@
 b__MA6tbbtyr8cebgbohs7fgevatf20TebjvatNeenlOlgrFvax11FuevaxGbSvgRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP1Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP1Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP1Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP1Ri:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqRvkRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqRvkRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqRvkRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqRvkRv:
 nop
@@ -4353,7 +4353,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany14JverSbezngYvgr11JevgrHVag32RvwCAF0_2vb17PbqrqBhgchgFgernzR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRnFREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRnFREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRnFREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRnFREXF2_:
 nop
@@ -4363,7 +4363,7 @@
 b__MA6tbbtyr8cebgbohs10FvzcyrQgbnRq:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs18fnsr_hvag_vagreanyVzRRoAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCG_
+.weak b__MA6tbbtyr8cebgbohs18fnsr_hvag_vagreanyVzRRoAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCG_
 .type b__MA6tbbtyr8cebgbohs18fnsr_hvag_vagreanyVzRRoAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCG_,%function
 b__MA6tbbtyr8cebgbohs18fnsr_hvag_vagreanyVzRRoAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCG_:
 nop
@@ -4383,12 +4383,12 @@
 b__MA6tbbtyr8cebgbohs11ZrffntrYvgr23CnefrSebzMrebPbclFgernzRCAF0_2vb19MrebPbclVachgFgernzR:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR26FcnprHfrqRkpyhqvatFrysYbatRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR26FcnprHfrqRkpyhqvatFrysYbatRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR26FcnprHfrqRkpyhqvatFrysYbatRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR26FcnprHfrqRkpyhqvatFrysYbatRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3TrgRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3TrgRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3TrgRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3TrgRv:
 nop
@@ -4408,7 +4408,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany11YbtSvavfurenFREAF1_10YbtZrffntrR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVCSiCXiRF3_RRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_4cnveVCSiCXiRF3_RRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_4cnveVCSiCXiRF3_RRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_4cnveVCSiCXiRF3_RRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_:
 nop
@@ -4418,7 +4418,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany9NeranVzcy10SerrOybpxfRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR18VagreanyQrnyybpngrRCAF2_3ErcRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR18VagreanyQrnyybpngrRCAF2_3ErcRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR18VagreanyQrnyybpngrRCAF2_3ErcRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR18VagreanyQrnyybpngrRCAF2_3ErcRv:
 nop
@@ -4433,17 +4433,17 @@
 b__MAX6tbbtyr8cebgbohs2vb19BfgernzBhgchgFgernz9OlgrPbhagRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRnFRBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRnFRBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRnFRBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRnFRBF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR12zhgnoyr_qngnRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR12zhgnoyr_qngnRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR12zhgnoyr_qngnRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR12zhgnoyr_qngnRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR23RkgenpgFhoenatrVagreanyRvvCCF8_AF2_17vagrteny_pbafgnagVoYo0RRR
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR23RkgenpgFhoenatrVagreanyRvvCCF8_AF2_17vagrteny_pbafgnagVoYo0RRR
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR23RkgenpgFhoenatrVagreanyRvvCCF8_AF2_17vagrteny_pbafgnagVoYo0RRR,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR23RkgenpgFhoenatrVagreanyRvvCCF8_AF2_17vagrteny_pbafgnagVoYo0RRR:
 nop
@@ -4463,12 +4463,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany14JverSbezngYvgr10FVag32FvmrREXAF0_13ErcrngrqSvryqVvRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRQ1Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRQ1Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRQ1Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRQ1Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRQ2Ri
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRQ2Ri
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRQ2Ri,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRQ2Ri:
 nop
@@ -4488,7 +4488,7 @@
 b__MA6tbbtyr8cebgbohs2vb16PbqrqVachgFgernz25CevagGbgnyOlgrfYvzvgReebeRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR6eortvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR6eortvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR6eortvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR6eortvaRi:
 nop
@@ -4508,17 +4508,17 @@
 b__MA6tbbtyr8cebgbohs8vagreany25ErcrngrqCevzvgvirQrsnhygf16qrsnhyg_vafgnaprRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5renfrRCXyF4_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5renfrRCXyF4_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5renfrRCXyF4_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5renfrRCXyF4_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR10ErzbirYnfgRi
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR10ErzbirYnfgRi
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR10ErzbirYnfgRi,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR10ErzbirYnfgRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR17TrgNeranAbIveghnyRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR17TrgNeranAbIveghnyRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR17TrgNeranAbIveghnyRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR17TrgNeranAbIveghnyRi:
 nop
@@ -4533,17 +4533,17 @@
 b__MGIA6tbbtyr8cebgbohs2vb18PbclvatVachgFgernzR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR15hafnsr_ryrzragfRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR15hafnsr_ryrzragfRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR15hafnsr_ryrzragfRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR15hafnsr_ryrzragfRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5ortvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5ortvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5ortvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5ortvaRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRvkRv
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRvkRv
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRvkRv,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRvkRv:
 nop
@@ -4553,27 +4553,27 @@
 b__MA6tbbtyr8cebgbohs24HarfpncrPRfpncrFrdhraprfRCXpCp:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR10ErzbirYnfgRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR10ErzbirYnfgRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR10ErzbirYnfgRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR10ErzbirYnfgRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR18NqqNyernqlErfreirqREXz
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR18NqqNyernqlErfreirqREXz
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR18NqqNyernqlErfreirqREXz,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR18NqqNyernqlErfreirqREXz:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR6eortvaRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR6eortvaRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR6eortvaRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR6eortvaRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR12zhgnoyr_qngnRi
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR12zhgnoyr_qngnRi
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR12zhgnoyr_qngnRi,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR12zhgnoyr_qngnRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5ortvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5ortvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5ortvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5ortvaRi:
 nop
@@ -4583,12 +4583,12 @@
 b__MA6tbbtyr8cebgbohs4hgvy6FgnghfP2RAF1_5reebe4PbqrRAF0_11FgevatCvrprR:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4fvmrRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4fvmrRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4fvmrRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4fvmrRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5ortvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5ortvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5ortvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5ortvaRi:
 nop
@@ -4618,12 +4618,12 @@
 b__MA6tbbtyr8cebgbohs2vb26PbclvatBhgchgFgernzNqncgbe10SerrOhssreRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3raqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3raqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3raqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3raqRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5ortvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5ortvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5ortvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5ortvaRi:
 nop
@@ -4638,12 +4638,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg10SvaqBeAhyyRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVvRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR
+.weak b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVvRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR
 .type b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVvRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR,%function
 b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVvRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR18NqqNyernqlErfreirqREXo
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR18NqqNyernqlErfreirqREXo
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR18NqqNyernqlErfreirqREXo,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR18NqqNyernqlErfreirqREXo:
 nop
@@ -4663,17 +4663,17 @@
 b__MA6tbbtyr8cebgbohs2vb16NeenlVachgFgernz6OnpxHcRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs11ZrffntrYvgr9CnefrSebzVYAF1_10CnefrSyntfR3RAF0_8vagreany11ObhaqrqMPVFRRRoEXG0_
+.weak b__MA6tbbtyr8cebgbohs11ZrffntrYvgr9CnefrSebzVYAF1_10CnefrSyntfR3RAF0_8vagreany11ObhaqrqMPVFRRRoEXG0_
 .type b__MA6tbbtyr8cebgbohs11ZrffntrYvgr9CnefrSebzVYAF1_10CnefrSyntfR3RAF0_8vagreany11ObhaqrqMPVFRRRoEXG0_,%function
 b__MA6tbbtyr8cebgbohs11ZrffntrYvgr9CnefrSebzVYAF1_10CnefrSyntfR3RAF0_8vagreany11ObhaqrqMPVFRRRoEXG0_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4praqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4praqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4praqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4praqRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4qngnRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4qngnRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4qngnRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4qngnRi:
 nop
@@ -4688,12 +4688,12 @@
 b__MA6tbbtyr8cebgbohs2vb16PbqrqVachgFgernz20ErnqInevag64SnyyonpxRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8ryrzragfRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8ryrzragfRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8ryrzragfRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8ryrzragfRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5ortvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5ortvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5ortvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5ortvaRi:
 nop
@@ -4713,7 +4713,7 @@
 b__MA6tbbtyr8cebgbohs2vb25PbclvatVachgFgernzNqncgbe10SerrOhssreRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR12VagreanyFjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR12VagreanyFjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR12VagreanyFjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR12VagreanyFjncRCF2_:
 nop
@@ -4728,12 +4728,12 @@
 b__MAX6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg15TrgErcrngrqObbyRvv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3FrgRvEXs
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3FrgRvEXs
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3FrgRvEXs,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3FrgRvEXs:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5ortvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5ortvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5ortvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5ortvaRi:
 nop
@@ -4758,7 +4758,7 @@
 b__MA6tbbtyr8cebgbohs2vb26PbclvatBhgchgFgernzNqncgbeQ2Ri:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3ercRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3ercRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3ercRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3ercRi:
 nop
@@ -4773,12 +4773,12 @@
 b__MAX6tbbtyr8cebgbohs11ZrffntrYvgr32FrevnyvmrCnegvnyGbMrebPbclFgernzRCAF0_2vb20MrebPbclBhgchgFgernzR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR19NqqANyernqlErfreirqRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR19NqqANyernqlErfreirqRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR19NqqANyernqlErfreirqRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR19NqqANyernqlErfreirqRv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5ortvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5ortvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5ortvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5ortvaRi:
 nop
@@ -4788,17 +4788,17 @@
 b__MAX6tbbtyr8cebgbohs2vb17NeenlBhgchgFgernz9OlgrPbhagRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8ryrzragfRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8ryrzragfRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8ryrzragfRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8ryrzragfRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR6ErfvmrRvEXw
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR6ErfvmrRvEXw
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR6ErfvmrRvEXw,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR6ErfvmrRvEXw:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRvkRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRvkRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRvkRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRvkRv:
 nop
@@ -4833,7 +4833,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany16CnpxrqObbyCnefreRCiCXpCAF1_12CnefrPbagrkgR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR14QryrgrFhoenatrRvv
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR14QryrgrFhoenatrRvv
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR14QryrgrFhoenatrRvv,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR14QryrgrFhoenatrRvv:
 nop
@@ -4848,12 +4848,12 @@
 b__MAX6tbbtyr8cebgbohs11ZrffntrYvgr17FrevnyvmrNfFgevatRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR15RkgenpgFhoenatrRvvCv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR15RkgenpgFhoenatrRvvCv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR15RkgenpgFhoenatrRvvCv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR15RkgenpgFhoenatrRvvCv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR19NqqANyernqlErfreirqRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR19NqqANyernqlErfreirqRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR19NqqANyernqlErfreirqRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR19NqqANyernqlErfreirqRv:
 nop
@@ -4863,7 +4863,7 @@
 b__MA6tbbtyr8cebgbohs2vb16SvyrBhgchgFgernz23PbclvatSvyrBhgchgFgernzP1Rv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvRvkRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvRvkRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvRvkRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvRvkRv:
 nop
@@ -4878,12 +4878,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany26QhcyvpngrVsAbaAhyyVagreanyRCAF0_11ZrffntrYvgrR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8GehapngrRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8GehapngrRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8GehapngrRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8GehapngrRv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3raqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3raqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3raqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3raqRi:
 nop
@@ -4898,12 +4898,12 @@
 b__MA6tbbtyr8cebgbohs2vb16PbqrqVachgFgernz12FxvcSnyyonpxRvv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs11ZrffntrYvgr9CnefrSebzVYAF1_10CnefrSyntfR0RAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRRRoEXG0_
+.weak b__MA6tbbtyr8cebgbohs11ZrffntrYvgr9CnefrSebzVYAF1_10CnefrSyntfR0RAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRRRoEXG0_
 .type b__MA6tbbtyr8cebgbohs11ZrffntrYvgr9CnefrSebzVYAF1_10CnefrSyntfR0RAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRRRoEXG0_,%function
 b__MA6tbbtyr8cebgbohs11ZrffntrYvgr9CnefrSebzVYAF1_10CnefrSyntfR0RAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRRRoEXG0_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4fvmrRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4fvmrRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4fvmrRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4fvmrRi:
 nop
@@ -4933,7 +4933,7 @@
 b__MA6tbbtyr8cebgbohs2vb15SvyrVachgFgernz22PbclvatSvyrVachgFgernzP1Rv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR14EryrnfrPyrnerqRi
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR14EryrnfrPyrnerqRi
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR14EryrnfrPyrnerqRi,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR14EryrnfrPyrnerqRi:
 nop
@@ -4963,12 +4963,12 @@
 b__MGIA6tbbtyr8cebgbohs8vagreany19VzcyvpvgJrnxZrffntrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR19NqqANyernqlErfreirqRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR19NqqANyernqlErfreirqRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR19NqqANyernqlErfreirqRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR19NqqANyernqlErfreirqRv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR2ngRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR2ngRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR2ngRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR2ngRv:
 nop
@@ -4983,7 +4983,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg10ErzbirYnfgRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8GehapngrRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8GehapngrRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8GehapngrRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR8GehapngrRv:
 nop
@@ -5023,17 +5023,17 @@
 b__MA6tbbtyr8cebgbohs2vb19BfgernzBhgchgFgernzQ1Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR18NqqNyernqlErfreirqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR18NqqNyernqlErfreirqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR18NqqNyernqlErfreirqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR18NqqNyernqlErfreirqRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR6portvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR6portvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR6portvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR6portvaRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5rzcglRi
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5rzcglRi
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5rzcglRi,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5rzcglRi:
 nop
@@ -5073,7 +5073,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg12FjncRyrzragfRvvv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP2Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP2Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP2Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP2Ri:
 nop
@@ -5093,22 +5093,22 @@
 b__MA6tbbtyr8cebgbohs2vb19YvzvgvatVachgFgernz4FxvcRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR19NqqANyernqlErfreirqRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR19NqqANyernqlErfreirqRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR19NqqANyernqlErfreirqRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR19NqqANyernqlErfreirqRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3NqqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3NqqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3NqqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3NqqRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR12NqqNyybpngrqRCF8_
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR12NqqNyybpngrqRCF8_
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR12NqqNyybpngrqRCF8_,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR12NqqNyybpngrqRCF8_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8PncnpvglRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8PncnpvglRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8PncnpvglRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR8PncnpvglRi:
 nop
@@ -5133,62 +5133,62 @@
 b__MA6tbbtyr8cebgbohs8vagreany9NeranVzcy23NyybpngrNyvtarqSnyyonpxRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9RkgrafvbaRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9RkgrafvbaRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9RkgrafvbaRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9RkgrafvbaRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3NqqREXo
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3NqqREXo
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3NqqREXo,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR3NqqREXo:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3NqqREXq
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3NqqREXq
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3NqqREXq,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3NqqREXq:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3NqqREXs
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3NqqREXs
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3NqqREXs,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR3NqqREXs:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3NqqREXv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3NqqREXv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3NqqREXv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3NqqREXv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR2ngRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR2ngRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR2ngRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR2ngRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3NqqREXw
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3NqqREXw
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3NqqREXw,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3NqqREXw:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3NqqREXy
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3NqqREXy
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3NqqREXy,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR3NqqREXy:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3NqqREXz
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3NqqREXz
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3NqqREXz,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3NqqREXz:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP2RCAF0_5NeranR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP2RCAF0_5NeranR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP2RCAF0_5NeranR,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP2RCAF0_5NeranR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP1RBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP1RBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP1RBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP1RBF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5ortvaRi
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5ortvaRi
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5ortvaRi,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR5ortvaRi:
 nop
@@ -5208,32 +5208,32 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9Rkgrafvba4SerrRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR12zhgnoyr_qngnRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR12zhgnoyr_qngnRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR12zhgnoyr_qngnRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR12zhgnoyr_qngnRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR18NqqNyernqlErfreirqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR18NqqNyernqlErfreirqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR18NqqNyernqlErfreirqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR18NqqNyernqlErfreirqRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRQ1Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRQ1Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRQ1Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRQ1Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5ortvaRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5ortvaRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5ortvaRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR5ortvaRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRQ2Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRQ2Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRQ2Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRQ2Ri:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8PncnpvglRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8PncnpvglRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8PncnpvglRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8PncnpvglRi:
 nop
@@ -5248,12 +5248,12 @@
 b__MA6tbbtyr8cebgbohs2vb18VfgernzVachgFgernzP1RCAFg3__113onfvp_vfgernzVpAF3_11pune_genvgfVpRRRRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP2REXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP2REXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP2REXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP2REXF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4eraqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4eraqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4eraqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR4eraqRi:
 nop
@@ -5263,22 +5263,22 @@
 b__MA6tbbtyr8cebgbohs21HarfpncrPRfpncrFgevatREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCF7_CAF1_6irpgbeVF7_AF5_VF7_RRRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR18NqqNyernqlErfreirqREXw
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR18NqqNyernqlErfreirqREXw
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR18NqqNyernqlErfreirqREXw,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR18NqqNyernqlErfreirqREXw:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR6eortvaRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR6eortvaRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR6eortvaRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR6eortvaRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP2REXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP2REXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP2REXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP2REXF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3ercRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3ercRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3ercRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3ercRi:
 nop
@@ -5288,12 +5288,12 @@
 b__MA6tbbtyr8cebgbohs2vb18VfgernzVachgFgernz4ArkgRCCXiCv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR9PbclNeenlRCsCXsv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR9PbclNeenlRCsCXsv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR9PbclNeenlRCsCXsv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR9PbclNeenlRCsCXsv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3raqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3raqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3raqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3raqRi:
 nop
@@ -5313,17 +5313,17 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg21ErtvfgreRahzRkgrafvbaRCXAF0_11ZrffntrYvgrRvuooCSovR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8PbclSebzREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8PbclSebzREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8PbclSebzREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR8PbclSebzREXF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP2REXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP2REXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP2REXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP2REXF2_:
 nop
@@ -5348,32 +5348,32 @@
 b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz4ArkgRvv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP2REXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP2REXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP2REXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP2REXF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5ortvaRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5ortvaRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5ortvaRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR5ortvaRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP2RBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP2RBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP2RBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP2RBF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVsRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR
+.weak b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVsRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR
 .type b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVsRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR,%function
 b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz15ErnqCnpxrqSvkrqVsRRCXpF5_vCAF0_13ErcrngrqSvryqVG_RR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR19NqqANyernqlErfreirqRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR19NqqANyernqlErfreirqRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR19NqqANyernqlErfreirqRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR19NqqANyernqlErfreirqRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR6ErfvmrRvEXv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR6ErfvmrRvEXv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR6ErfvmrRvEXv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR6ErfvmrRvEXv:
 nop
@@ -5393,7 +5393,7 @@
 b__MA6tbbtyr8cebgbohs11ZrffntrYvgr20ZretrSebzPbqrqFgernzRCAF0_2vb16PbqrqVachgFgernzR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5ortvaRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5ortvaRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5ortvaRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5ortvaRi:
 nop
@@ -5403,27 +5403,27 @@
 b__MA6tbbtyr8cebgbohs10FvzcyrVgbnRl:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRRRRRiCi
+.weak b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRRRRRiCi
 .type b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRRRRRiCi,%function
 b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRRRRRiCi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP2REXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP2REXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP2REXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP2REXF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5ortvaRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5ortvaRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5ortvaRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR5ortvaRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR26FcnprHfrqRkpyhqvatFrysYbatRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR26FcnprHfrqRkpyhqvatFrysYbatRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR26FcnprHfrqRkpyhqvatFrysYbatRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR26FcnprHfrqRkpyhqvatFrysYbatRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR15hafnsr_ryrzragfRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR15hafnsr_ryrzragfRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR15hafnsr_ryrzragfRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR15hafnsr_ryrzragfRi:
 nop
@@ -5438,7 +5438,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr7ErfreirRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRQ2Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRQ2Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRQ2Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRQ2Ri:
 nop
@@ -5448,12 +5448,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz20NccraqFgevatSnyyonpxRCXpvCAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5renfrRCXoF4_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5renfrRCXoF4_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5renfrRCXoF4_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5renfrRCXoF4_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP2REXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP2REXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP2REXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP2REXF2_:
 nop
@@ -5468,17 +5468,17 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9NqqHVag32RvuowCXAF0_15SvryqQrfpevcgbeR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5ortvaRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5ortvaRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5ortvaRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR5ortvaRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP2RCAF0_5NeranR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP2RCAF0_5NeranR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP2RCAF0_5NeranR,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP2RCAF0_5NeranR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP1Ri
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP1Ri
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP1Ri,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP1Ri:
 nop
@@ -5493,42 +5493,42 @@
 b__MAX6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9TrgHVag64Rvz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9RkgrafvbaRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9RkgrafvbaRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9RkgrafvbaRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9RkgrafvbaRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo0RRRoCAF0_2vb19MrebPbclVachgFgernzRCAF0_11ZrffntrYvgrR
+.weak b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo0RRRoCAF0_2vb19MrebPbclVachgFgernzRCAF0_11ZrffntrYvgrR
 .type b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo0RRRoCAF0_2vb19MrebPbclVachgFgernzRCAF0_11ZrffntrYvgrR,%function
 b__MA6tbbtyr8cebgbohs8vagreany20ZretrCnegvnySebzVzcyVYo0RRRoCAF0_2vb19MrebPbclVachgFgernzRCAF0_11ZrffntrYvgrR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP2REXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP2REXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP2REXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP2REXF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR19NqqANyernqlErfreirqRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR19NqqANyernqlErfreirqRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR19NqqANyernqlErfreirqRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR19NqqANyernqlErfreirqRv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4praqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4praqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4praqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4praqRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4qngnRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4qngnRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4qngnRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR4qngnRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR2ngRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR2ngRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR2ngRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVzR2ngRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF1_19VzcyvpvgJrnxZrffntrRRRiCi
+.weak b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF1_19VzcyvpvgJrnxZrffntrRRRiCi
 .type b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF1_19VzcyvpvgJrnxZrffntrRRRiCi,%function
 b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF1_19VzcyvpvgJrnxZrffntrRRRiCi:
 nop
@@ -5538,12 +5538,12 @@
 b__MA6tbbtyr8cebgbohs2vb16PbqrqVachgFgernz23ErnqInevagFvmrNfVagFybjRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5ortvaRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5ortvaRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5ortvaRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5ortvaRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3raqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3raqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3raqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3raqRi:
 nop
@@ -5563,17 +5563,17 @@
 b__MGIA6tbbtyr8cebgbohs2vb17NeenlBhgchgFgernzR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5ortvaRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5ortvaRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5ortvaRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5ortvaRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRnFRBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRnFRBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRnFRBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRnFRBF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR11EryrnfrYnfgRi
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR11EryrnfrYnfgRi
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR11EryrnfrYnfgRi,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR11EryrnfrYnfgRi:
 nop
@@ -5598,22 +5598,22 @@
 b__MAX6tbbtyr8cebgbohs11ZrffntrYvgr22FrevnyvmrGbPbqrqFgernzRCAF0_2vb17PbqrqBhgchgFgernzR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVvYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_
+.weak b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVvYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_
 .type b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVvYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_,%function
 b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVvYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRvkRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRvkRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRvkRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRvkRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR22HafnsrNeranEryrnfrYnfgRi
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR22HafnsrNeranEryrnfrYnfgRi
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR22HafnsrNeranEryrnfrYnfgRi,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR22HafnsrNeranEryrnfrYnfgRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8PbclSebzREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8PbclSebzREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8PbclSebzREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR8PbclSebzREXF2_:
 nop
@@ -5623,7 +5623,7 @@
 b__MA6tbbtyr8cebgbohs2vb17PbqrqBhgchgFgernz19JevgrYvggyrRaqvna32Rw:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR19NqqANyernqlErfreirqRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR19NqqANyernqlErfreirqRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR19NqqANyernqlErfreirqRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR19NqqANyernqlErfreirqRv:
 nop
@@ -5663,12 +5663,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany18TrarevpGlcrUnaqyreVAF0_11ZrffntrYvgrRR16ArjSebzCebgbglcrRCXF3_CAF0_5NeranR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4eraqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4eraqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4eraqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4eraqRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs17fnsr_vag_vagreanyVyRRoAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCG_
+.weak b__MA6tbbtyr8cebgbohs17fnsr_vag_vagreanyVyRRoAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCG_
 .type b__MA6tbbtyr8cebgbohs17fnsr_vag_vagreanyVyRRoAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCG_,%function
 b__MA6tbbtyr8cebgbohs17fnsr_vag_vagreanyVyRRoAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRCG_:
 nop
@@ -5683,7 +5683,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany14JverSbezngYvgr10HVag32FvmrREXAF0_13ErcrngrqSvryqVwRR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR9ZretrSebzREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR9ZretrSebzREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR9ZretrSebzREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsR9ZretrSebzREXF2_:
 nop
@@ -5698,17 +5698,17 @@
 b__MA6tbbtyr8cebgbohs8vagreany18CnpxrqQbhoyrCnefreRCiCXpCAF1_12CnefrPbagrkgR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR2ngRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR2ngRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR2ngRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR2ngRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4FjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4FjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4FjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR4FjncRCF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR17TrgNeranAbIveghnyRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR17TrgNeranAbIveghnyRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR17TrgNeranAbIveghnyRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVsR17TrgNeranAbIveghnyRi:
 nop
@@ -5718,7 +5718,7 @@
 b__MAX6tbbtyr8cebgbohs8vagreany11NalZrgnqngn10VagreanyVfRAF0_11FgevatCvrprR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany18FrevnyvmrZrffntrGbVAF1_11NeenlBhgchgRRRiCXAF0_11ZrffntrYvgrRCXiCG_
+.weak b__MA6tbbtyr8cebgbohs8vagreany18FrevnyvmrZrffntrGbVAF1_11NeenlBhgchgRRRiCXAF0_11ZrffntrYvgrRCXiCG_
 .type b__MA6tbbtyr8cebgbohs8vagreany18FrevnyvmrZrffntrGbVAF1_11NeenlBhgchgRRRiCXAF0_11ZrffntrYvgrRCXiCG_,%function
 b__MA6tbbtyr8cebgbohs8vagreany18FrevnyvmrZrffntrGbVAF1_11NeenlBhgchgRRRiCXAF0_11ZrffntrYvgrRCXiCG_:
 nop
@@ -5728,7 +5728,7 @@
 b__MA6tbbtyr8cebgbohs2vb19BfgernzBhgchgFgernz26PbclvatBfgernzBhgchgFgernzQ0Ri:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8TrgNeranRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8TrgNeranRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8TrgNeranRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8TrgNeranRi:
 nop
@@ -5738,17 +5738,17 @@
 b__MA6tbbtyr8cebgbohs14QbhoyrGbOhssreRqCp:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR6eortvaRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR6eortvaRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR6eortvaRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR6eortvaRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4FjncRCF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4FjncRCF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4FjncRCF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR4FjncRCF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR6portvaRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR6portvaRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR6portvaRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR6portvaRi:
 nop
@@ -5763,17 +5763,17 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg9FrgHVag32RvuwCXAF0_15SvryqQrfpevcgbeR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR10ErzbirYnfgRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR10ErzbirYnfgRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR10ErzbirYnfgRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR10ErzbirYnfgRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP2RCAF0_5NeranR
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP2RCAF0_5NeranR
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP2RCAF0_5NeranR,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP2RCAF0_5NeranR:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8ryrzragfRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8ryrzragfRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8ryrzragfRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8ryrzragfRi:
 nop
@@ -5793,17 +5793,17 @@
 b__MA6tbbtyr8cebgbohs2vb26PbclvatBhgchgFgernzNqncgbe11JevgrOhssreRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP1RCAF0_5NeranR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP1RCAF0_5NeranR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP1RCAF0_5NeranR,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP1RCAF0_5NeranR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR9PbclNeenlRCqCXqv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR9PbclNeenlRCqCXqv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR9PbclNeenlRCqCXqv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR9PbclNeenlRCqCXqv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr12FjncSnyyonpxVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11GlcrUnaqyreRRRiCF2_
+.weak b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr12FjncSnyyonpxVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11GlcrUnaqyreRRRiCF2_
 .type b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr12FjncSnyyonpxVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11GlcrUnaqyreRRRiCF2_,%function
 b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr12FjncSnyyonpxVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11GlcrUnaqyreRRRiCF2_:
 nop
@@ -5818,12 +5818,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany14JverSbezngYvgr22JevgrOlgrfZnlorNyvnfrqRvEXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCAF0_2vb17PbqrqBhgchgFgernzR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP2Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP2Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP2Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP2Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr24NqqNyybpngrqFybjJvguPbclVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11GlcrUnaqyreRRRiCAG_4GlcrRCAF0_5NeranRFV_
+.weak b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr24NqqNyybpngrqFybjJvguPbclVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11GlcrUnaqyreRRRiCAG_4GlcrRCAF0_5NeranRFV_
 .type b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr24NqqNyybpngrqFybjJvguPbclVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11GlcrUnaqyreRRRiCAG_4GlcrRCAF0_5NeranRFV_,%function
 b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr24NqqNyybpngrqFybjJvguPbclVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11GlcrUnaqyreRRRiCAG_4GlcrRCAF0_5NeranRFV_:
 nop
@@ -5838,7 +5838,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz8VavgSebzRCAF0_2vb19MrebPbclVachgFgernzR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr23HafnsrNeranNqqNyybpngrqVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11GlcrUnaqyreRRRiCAG_4GlcrR
+.weak b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr23HafnsrNeranNqqNyybpngrqVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11GlcrUnaqyreRRRiCAG_4GlcrR
 .type b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr23HafnsrNeranNqqNyybpngrqVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11GlcrUnaqyreRRRiCAG_4GlcrR,%function
 b__MA6tbbtyr8cebgbohs8vagreany20ErcrngrqCgeSvryqOnfr23HafnsrNeranNqqNyybpngrqVAF0_16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11GlcrUnaqyreRRRiCAG_4GlcrR:
 nop
@@ -5873,17 +5873,17 @@
 b__MAX6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg8TrgSybngRvs:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP1REXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP1REXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP1REXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP1REXF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR9ZretrSebzREXF9_
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR9ZretrSebzREXF9_
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR9ZretrSebzREXF9_,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR9ZretrSebzREXF9_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR12PyrnerqPbhagRi
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR12PyrnerqPbhagRi
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR12PyrnerqPbhagRi,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR12PyrnerqPbhagRi:
 nop
@@ -5898,17 +5898,17 @@
 b__MA6tbbtyr8cebgbohs2vb25PbclvatVachgFgernzNqncgbe22NyybpngrOhssreVsArrqrqRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8GehapngrRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8GehapngrRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8GehapngrRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR8GehapngrRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP1REXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP1REXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP1REXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRP1REXF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3NqqRBF8_
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3NqqRBF8_
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3NqqRBF8_,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3NqqRBF8_:
 nop
@@ -5948,17 +5948,17 @@
 b__MA6tbbtyr8cebgbohs8vagreany10YbtZrffntryfRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP2RBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP2RBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP2RBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP2RBF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP1REXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP1REXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP1REXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP1REXF2_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR26FcnprHfrqRkpyhqvatFrysYbatRi
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR26FcnprHfrqRkpyhqvatFrysYbatRi
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR26FcnprHfrqRkpyhqvatFrysYbatRi,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR26FcnprHfrqRkpyhqvatFrysYbatRi:
 nop
@@ -5968,12 +5968,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany10YbtZrffntryfRw:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR18VagreanyQrnyybpngrRCAF2_3ErcRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR18VagreanyQrnyybpngrRCAF2_3ErcRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR18VagreanyQrnyybpngrRCAF2_3ErcRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR18VagreanyQrnyybpngrRCAF2_3ErcRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP1REXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP1REXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP1REXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP1REXF2_:
 nop
@@ -5988,12 +5988,12 @@
 b__MAX6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg8TrgVag32Rvv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVzYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_
+.weak b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVzYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_
 .type b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVzYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_,%function
 b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVzYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP1RCAF0_5NeranR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP1RCAF0_5NeranR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP1RCAF0_5NeranR,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP1RCAF0_5NeranR:
 nop
@@ -6033,22 +6033,22 @@
 b__MA6tbbtyr8cebgbohs8vagreany10YbtZrffntryfRz:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP1REXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP1REXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP1REXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVsRP1REXF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP2RCAF0_5NeranR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP2RCAF0_5NeranR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP2RCAF0_5NeranR,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP2RCAF0_5NeranR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3NqqRi
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3NqqRi
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3NqqRi,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3NqqRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR2ngRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR2ngRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR2ngRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR2ngRv:
 nop
@@ -6068,22 +6068,22 @@
 b__MA6tbbtyr8cebgbohs2vb16SvyrBhgchgFgernzP2Rvv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR18NqqNyernqlErfreirqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR18NqqNyernqlErfreirqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR18NqqNyernqlErfreirqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR18NqqNyernqlErfreirqRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVvRRRRiCi
+.weak b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVvRRRRiCi
 .type b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVvRRRRiCi,%function
 b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVvRRRRiCi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP1REXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP1REXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP1REXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqRP1REXF2_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5renfrRCXwF4_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5renfrRCXwF4_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5renfrRCXwF4_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR5renfrRCXwF4_:
 nop
@@ -6098,7 +6098,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany15ErnqGntSnyyonpxRCXpw:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRvkRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRvkRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRvkRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRvkRv:
 nop
@@ -6113,7 +6113,7 @@
 b__MAX6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg24FrevnyvmrJvguPnpurqFvmrfRvvCAF0_2vb17PbqrqBhgchgFgernzR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP1REXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP1REXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP1REXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP1REXF2_:
 nop
@@ -6128,22 +6128,22 @@
 b__MGIA6tbbtyr8cebgbohs2vb26PbclvatBhgchgFgernzNqncgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3TrgRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3TrgRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3TrgRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVvR3TrgRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3FrgRvEXq
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3FrgRvEXq
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3FrgRvEXq,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3FrgRvEXq:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR7ZhgnoyrRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR7ZhgnoyrRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR7ZhgnoyrRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvR7ZhgnoyrRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8PbclSebzREXF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8PbclSebzREXF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8PbclSebzREXF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwR8PbclSebzREXF2_:
 nop
@@ -6153,7 +6153,7 @@
 b__MA6tbbtyr8cebgbohs2vb16NeenlVachgFgernzP2RCXivv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP1Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP1Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP1Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP1Ri:
 nop
@@ -6168,7 +6168,7 @@
 b__MGIA6tbbtyr8cebgbohs7fgevatf8OlgrFvaxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MMA6tbbtyr8cebgbohs8vagreany17QrsnhygYbtUnaqyreRAF0_8YbtYriryRCXpvEXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11yriry_anzrf
+.weak b__MMA6tbbtyr8cebgbohs8vagreany17QrsnhygYbtUnaqyreRAF0_8YbtYriryRCXpvEXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11yriry_anzrf
 .type b__MMA6tbbtyr8cebgbohs8vagreany17QrsnhygYbtUnaqyreRAF0_8YbtYriryRCXpvEXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11yriry_anzrf,%object
 b__MMA6tbbtyr8cebgbohs8vagreany17QrsnhygYbtUnaqyreRAF0_8YbtYriryRCXpvEXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRR11yriry_anzrf:
 .space __SIZEOF_POINTER__
@@ -6183,7 +6183,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany9NeranVzcy8ArjOybpxRCAF2_5OybpxRz:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR7ZhgnoyrRv
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR7ZhgnoyrRv
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR7ZhgnoyrRv,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR7ZhgnoyrRv:
 nop
@@ -6198,17 +6198,17 @@
 b__MA6tbbtyr8cebgbohs8vagreany24xGlcrTbbtyrNcvfPbzCersvkR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3raqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3raqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3raqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR3raqRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR15hafnsr_ryrzragfRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR15hafnsr_ryrzragfRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR15hafnsr_ryrzragfRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVyR15hafnsr_ryrzragfRi:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
@@ -6218,7 +6218,7 @@
 b__MA6tbbtyr8cebgbohs2vb18FgevatBhgchgFgernz4ArkgRCCiCv:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR15hafnsr_ryrzragfRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR15hafnsr_ryrzragfRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR15hafnsr_ryrzragfRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR15hafnsr_ryrzragfRi:
 nop
@@ -6228,12 +6228,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrgQ2Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR12zhgnoyr_qngnRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR12zhgnoyr_qngnRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR12zhgnoyr_qngnRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR12zhgnoyr_qngnRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4eraqRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4eraqRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4eraqRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR4eraqRi:
 nop
@@ -6258,12 +6258,12 @@
 b__MA6tbbtyr8cebgbohs2vb19YvzvgvatVachgFgernzQ2Ri:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4praqRi
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4praqRi
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4praqRi,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4praqRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4qngnRi
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4qngnRi
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4qngnRi,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR4qngnRi:
 nop
@@ -6283,12 +6283,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany9NeranVzcy11FrevnyNeran18NqqPyrnahcSnyyonpxRCiCSiF4_R:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP1RCAF0_5NeranR
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP1RCAF0_5NeranR
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP1RCAF0_5NeranR,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRRP1RCAF0_5NeranR:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4eraqRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4eraqRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4eraqRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVoR4eraqRi:
 nop
@@ -6318,12 +6318,12 @@
 b__MAX6tbbtyr8cebgbohs11ZrffntrYvgr25FrevnyvmrGbSvyrQrfpevcgbeRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR9PbclNeenlRCoCXov
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR9PbclNeenlRCoCXov
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR9PbclNeenlRCoCXov,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR9PbclNeenlRCoCXov:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRnFRBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRnFRBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRnFRBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRnFRBF2_:
 nop
@@ -6348,17 +6348,17 @@
 b__MAX6tbbtyr8cebgbohs11ZrffntrYvgr3ArjRCAF0_5NeranR:
 nop
 .data
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR14xErcUrnqreFvmrR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR14xErcUrnqreFvmrR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR14xErcUrnqreFvmrR,%object
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR14xErcUrnqreFvmrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP1Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP1Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP1Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoRP1Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP2Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP2Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP2Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP2Ri:
 nop
@@ -6378,7 +6378,7 @@
 b__MAX6tbbtyr8cebgbohs2vb15SvyrVachgFgernz9OlgrPbhagRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP2RBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP2RBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP2RBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVvRP2RBF2_:
 nop
@@ -6388,12 +6388,12 @@
 b__MA6tbbtyr8cebgbohs2vb19YvzvgvatVachgFgernz6OnpxHcRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3raqRi
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3raqRi
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3raqRi,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR3raqRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR6eortvaRi
+.weak b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR6eortvaRi
 .type b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR6eortvaRi,%function
 b__MAX6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR6eortvaRi:
 nop
@@ -6408,7 +6408,7 @@
 b__MA6tbbtyr8cebgbohs8vagreany9NeranVzcy28NyybpngrNyvtarqNaqNqqPyrnahcRzCSiCiR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVqRRRRiCi
+.weak b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVqRRRRiCi
 .type b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVqRRRRiCi,%function
 b__MA6tbbtyr8cebgbohs8vagreany21neran_qrfgehpg_bowrpgVAF0_13ErcrngrqSvryqVqRRRRiCi:
 nop
@@ -6418,17 +6418,17 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg7NqqObbyRvuooCXAF0_15SvryqQrfpevcgbeR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVoYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_
+.weak b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVoYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_
 .type b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVoYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_,%function
 b__MA6tbbtyr8cebgbohs8vagreany18RcfPbclVachgFgernz16ErnqCnpxrqInevagVMAF1_12InevagCnefreVoYo0RRRCXpCiF6_CAF1_12CnefrPbagrkgRRHyzR_RRF6_F6_G_:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR26FcnprHfrqRkpyhqvatFrysYbatRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR26FcnprHfrqRkpyhqvatFrysYbatRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR26FcnprHfrqRkpyhqvatFrysYbatRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR26FcnprHfrqRkpyhqvatFrysYbatRi:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4fvmrRi
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4fvmrRi
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4fvmrRi,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVwR4fvmrRi:
 nop
@@ -6448,12 +6448,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany11TrarevpFjncRCAF0_11ZrffntrYvgrRF3_:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRQ2Ri
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRQ2Ri
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRQ2Ri,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyRQ2Ri:
 nop
 .text
-.globl b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3TrgRv
+.weak b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3TrgRv
 .type b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3TrgRv,%function
 b__MAX6tbbtyr8cebgbohs13ErcrngrqSvryqVqR3TrgRv:
 nop
@@ -6508,12 +6508,12 @@
 b__MAX6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg7TrgObbyRvo:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR18NqqNyernqlErfreirqREXq
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR18NqqNyernqlErfreirqREXq
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR18NqqNyernqlErfreirqREXq,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR18NqqNyernqlErfreirqREXq:
 nop
 .data
-.globl b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -6528,12 +6528,12 @@
 b__MAX6tbbtyr8cebgbohs11ZrffntrYvgr29YbtVavgvnyvmngvbaReebeZrffntrRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP1RCAF0_5NeranR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP1RCAF0_5NeranR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP1RCAF0_5NeranR,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVwRP1RCAF0_5NeranR:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR15RkgenpgFhoenatrRvvCCF8_
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR15RkgenpgFhoenatrRvvCCF8_
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR15RkgenpgFhoenatrRvvCCF8_,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR15RkgenpgFhoenatrRvvCCF8_:
 nop
@@ -6568,12 +6568,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany19CnpxrqRahzCnefreNetRCiCXpCAF1_12CnefrPbagrkgRCSoCXivRF8_CAF1_29VagreanyZrgnqngnJvguNeranYvgrRv:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5renfrRCXo
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5renfrRCXo
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5renfrRCXo,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVoR5renfrRCXo:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP1RBF2_
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP1RBF2_
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP1RBF2_,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzRP1RBF2_:
 nop
@@ -6583,12 +6583,12 @@
 b__MA6tbbtyr8cebgbohs8vagreany12RkgrafvbaFrg16FrgErcrngrqSybngRvvs:
 nop
 .data
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR14xErcUrnqreFvmrR
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR14xErcUrnqreFvmrR
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR14xErcUrnqreFvmrR,%object
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR14xErcUrnqreFvmrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5renfrRCXq
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5renfrRCXq
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5renfrRCXq,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVqR5renfrRCXq:
 nop
@@ -6608,7 +6608,7 @@
 b__MA6tbbtyr8cebgbohs2vb18VfgernzVachgFgernz25PbclvatVfgernzVachgFgernzQ2Ri:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3FrgRvEXz
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3FrgRvEXz
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3FrgRvEXz,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVzR3FrgRvEXz:
 nop
@@ -6618,12 +6618,12 @@
 b__MA6tbbtyr8cebgbohs12fnsr_fgegb64REXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCy:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR12zhgnoyr_qngnRi
+.weak b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR12zhgnoyr_qngnRi
 .type b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR12zhgnoyr_qngnRi,%function
 b__MA6tbbtyr8cebgbohs13ErcrngrqSvryqVyR12zhgnoyr_qngnRi:
 nop
 .text
-.globl b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR11cbvagre_raqRi
+.weak b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR11cbvagre_raqRi
 .type b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR11cbvagre_raqRi,%function
 b__MA6tbbtyr8cebgbohs16ErcrngrqCgeSvryqVAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRR11cbvagre_raqRi:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_113.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_113.S
index ec4a6d0..34cb66b 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_113.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_113.S
@@ -28,7 +28,7 @@
 b__MGFl:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MqnCiEXFg9abguebj_g
+.weak b__MqnCiEXFg9abguebj_g
 .type b__MqnCiEXFg9abguebj_g,%function
 b__MqnCiEXFg9abguebj_g:
 nop
@@ -43,7 +43,7 @@
 b__MGVCa:
 .space __SIZEOF_POINTER__
 .text
-.globl b___fnavgvmre_pbi_genpr_pbafg_pzc1
+.weak b___fnavgvmre_pbi_genpr_pbafg_pzc1
 .type b___fnavgvmre_pbi_genpr_pbafg_pzc1,%function
 b___fnavgvmre_pbi_genpr_pbafg_pzc1:
 nop
@@ -68,7 +68,7 @@
 b___pkn_pnyy_harkcrpgrq:
 nop
 .text
-.globl b___fnavgvmre_pbi_genpr_pbafg_pzc2
+.weak b___fnavgvmre_pbi_genpr_pbafg_pzc2
 .type b___fnavgvmre_pbi_genpr_pbafg_pzc2,%function
 b___fnavgvmre_pbi_genpr_pbafg_pzc2:
 nop
@@ -78,7 +78,7 @@
 b__MAFg10onq_glcrvqP2Ri:
 nop
 .text
-.globl b___fnavgvmre_pbi_genpr_pbafg_pzc4
+.weak b___fnavgvmre_pbi_genpr_pbafg_pzc4
 .type b___fnavgvmre_pbi_genpr_pbafg_pzc4,%function
 b___fnavgvmre_pbi_genpr_pbafg_pzc4:
 nop
@@ -153,7 +153,7 @@
 b__MGFA10__pkknovi116__fuvz_glcr_vasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b___fnavgvmre_pbi_genpr_pzc1
+.weak b___fnavgvmre_pbi_genpr_pzc1
 .type b___fnavgvmre_pbi_genpr_pzc1,%function
 b___fnavgvmre_pbi_genpr_pzc1:
 nop
@@ -163,12 +163,12 @@
 b___hofna_unaqyr_glcr_zvfzngpu_i1_nobeg:
 nop
 .text
-.globl b___fnavgvmre_pbi_genpr_pzc2
+.weak b___fnavgvmre_pbi_genpr_pzc2
 .type b___fnavgvmre_pbi_genpr_pzc2,%function
 b___fnavgvmre_pbi_genpr_pzc2:
 nop
 .text
-.globl b___fnavgvmre_pbi_genpr_pbafg_pzc8
+.weak b___fnavgvmre_pbi_genpr_pbafg_pzc8
 .type b___fnavgvmre_pbi_genpr_pbafg_pzc8,%function
 b___fnavgvmre_pbi_genpr_pbafg_pzc8:
 nop
@@ -233,7 +233,7 @@
 b__MGFA10__pkknovi117__neenl_glcr_vasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b___fnavgvmre_pbi_genpr_pzc4
+.weak b___fnavgvmre_pbi_genpr_pzc4
 .type b___fnavgvmre_pbi_genpr_pzc4,%function
 b___fnavgvmre_pbi_genpr_pzc4:
 nop
@@ -248,7 +248,7 @@
 b__MGVCk:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MqnCizFg11nyvta_iny_g
+.weak b__MqnCizFg11nyvta_iny_g
 .type b__MqnCizFg11nyvta_iny_g,%function
 b__MqnCizFg11nyvta_iny_g:
 nop
@@ -268,7 +268,7 @@
 b__MGVCl:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MqnCi
+.weak b__MqnCi
 .type b__MqnCi,%function
 b__MqnCi:
 nop
@@ -288,7 +288,7 @@
 b__MGVCXq:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MqnCiFg11nyvta_iny_g
+.weak b__MqnCiFg11nyvta_iny_g
 .type b__MqnCiFg11nyvta_iny_g,%function
 b__MqnCiFg11nyvta_iny_g:
 nop
@@ -303,7 +303,7 @@
 b__MGVCXr:
 .space __SIZEOF_POINTER__
 .text
-.globl b___fnavgvmre_pbi_genpr_pzc8
+.weak b___fnavgvmre_pbi_genpr_pzc8
 .type b___fnavgvmre_pbi_genpr_pzc8,%function
 b___fnavgvmre_pbi_genpr_pzc8:
 nop
@@ -363,7 +363,7 @@
 b__MGVCXv:
 .space __SIZEOF_POINTER__
 .text
-.globl b___fnavgvmre_pbi_genpr_cp_thneq_vavg
+.weak b___fnavgvmre_pbi_genpr_cp_thneq_vavg
 .type b___fnavgvmre_pbi_genpr_cp_thneq_vavg,%function
 b___fnavgvmre_pbi_genpr_cp_thneq_vavg:
 nop
@@ -413,7 +413,7 @@
 b___hofna_unaqyr_qlanzvp_glcr_pnpur_zvff:
 nop
 .text
-.globl b__MqyCi
+.weak b__MqyCi
 .type b__MqyCi,%function
 b__MqyCi:
 nop
@@ -423,7 +423,7 @@
 b__MGVCXy:
 .space __SIZEOF_POINTER__
 .text
-.globl b__ManzEXFg9abguebj_g
+.weak b__ManzEXFg9abguebj_g
 .type b__ManzEXFg9abguebj_g,%function
 b__ManzEXFg9abguebj_g:
 nop
@@ -448,7 +448,7 @@
 b___fnavgvmre_frg_ercbeg_sq:
 nop
 .text
-.globl b___fnavgvmre_pbi_genpr_cp_vaqve
+.weak b___fnavgvmre_pbi_genpr_cp_vaqve
 .type b___fnavgvmre_pbi_genpr_cp_vaqve,%function
 b___fnavgvmre_pbi_genpr_cp_vaqve:
 nop
@@ -468,7 +468,7 @@
 b___fnavgvmre_vafgnyy_znyybp_naq_serr_ubbxf:
 nop
 .text
-.globl b___fnavgvmre_fnaqobk_ba_abgvsl
+.weak b___fnavgvmre_fnaqobk_ba_abgvsl
 .type b___fnavgvmre_fnaqobk_ba_abgvsl,%function
 b___fnavgvmre_fnaqobk_ba_abgvsl:
 nop
@@ -658,7 +658,7 @@
 b__MGVA10__pkknovi123__shaqnzragny_glcr_vasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b___fnavgvmre_pbi_cpf_vavg
+.weak b___fnavgvmre_pbi_cpf_vavg
 .type b___fnavgvmre_pbi_cpf_vavg,%function
 b___fnavgvmre_pbi_cpf_vavg:
 nop
@@ -838,17 +838,17 @@
 b__MAFg9glcr_vasbQ1Ri:
 nop
 .text
-.globl b__MqyCiz
+.weak b__MqyCiz
 .type b__MqyCiz,%function
 b__MqyCiz:
 nop
 .text
-.globl b__ManzFg11nyvta_iny_gEXFg9abguebj_g
+.weak b__ManzFg11nyvta_iny_gEXFg9abguebj_g
 .type b__ManzFg11nyvta_iny_gEXFg9abguebj_g,%function
 b__ManzFg11nyvta_iny_gEXFg9abguebj_g:
 nop
 .text
-.globl b__MAFg13onq_rkprcgvbaP2REXF_
+.weak b__MAFg13onq_rkprcgvbaP2REXF_
 .type b__MAFg13onq_rkprcgvbaP2REXF_,%function
 b__MAFg13onq_rkprcgvbaP2REXF_:
 nop
@@ -888,7 +888,7 @@
 b__MA10__pkknovi119__trgRkprcgvbaPynffRCX17_Hajvaq_Rkprcgvba:
 nop
 .text
-.globl b___fnavgvmre_ercbeg_reebe_fhzznel
+.weak b___fnavgvmre_ercbeg_reebe_fhzznel
 .type b___fnavgvmre_ercbeg_reebe_fhzznel,%function
 b___fnavgvmre_ercbeg_reebe_fhzznel:
 nop
@@ -903,7 +903,7 @@
 b__MGIFg10onq_glcrvq:
 .space __SIZEOF_POINTER__
 .text
-.globl b___fnavgvmre_pbi_8ovg_pbhagref_vavg
+.weak b___fnavgvmre_pbi_8ovg_pbhagref_vavg
 .type b___fnavgvmre_pbi_8ovg_pbhagref_vavg,%function
 b___fnavgvmre_pbi_8ovg_pbhagref_vavg:
 nop
@@ -998,7 +998,7 @@
 b___fnavgvmre_frg_ercbeg_cngu:
 nop
 .text
-.globl b___fnavgvmre_pbi_genpr_fjvgpu
+.weak b___fnavgvmre_pbi_genpr_fjvgpu
 .type b___fnavgvmre_pbi_genpr_fjvgpu,%function
 b___fnavgvmre_pbi_genpr_fjvgpu:
 nop
@@ -1048,7 +1048,7 @@
 b__MGFCo:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MqyCiEXFg9abguebj_g
+.weak b__MqyCiEXFg9abguebj_g
 .type b__MqyCiEXFg9abguebj_g,%function
 b__MqyCiEXFg9abguebj_g:
 nop
@@ -1073,12 +1073,12 @@
 b__MGFCq:
 .space __SIZEOF_POINTER__
 .text
-.globl b___fnapbi_qrsnhyg_bcgvbaf
+.weak b___fnapbi_qrsnhyg_bcgvbaf
 .type b___fnapbi_qrsnhyg_bcgvbaf,%function
 b___fnapbi_qrsnhyg_bcgvbaf:
 nop
 .text
-.globl b___fnavgvmre_pbi_genpr_cp_thneq
+.weak b___fnavgvmre_pbi_genpr_cp_thneq
 .type b___fnavgvmre_pbi_genpr_cp_thneq,%function
 b___fnavgvmre_pbi_genpr_cp_thneq:
 nop
@@ -1193,7 +1193,7 @@
 b__MGFCu:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MqnCiz
+.weak b__MqnCiz
 .type b__MqnCiz,%function
 b__MqnCiz:
 nop
@@ -1288,7 +1288,7 @@
 b__MGFCy:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MajzEXFg9abguebj_g
+.weak b__MajzEXFg9abguebj_g
 .type b__MajzEXFg9abguebj_g,%function
 b__MajzEXFg9abguebj_g:
 nop
@@ -1313,7 +1313,7 @@
 b__MGFCz:
 .space __SIZEOF_POINTER__
 .text
-.globl b__ManzFg11nyvta_iny_g
+.weak b__ManzFg11nyvta_iny_g
 .type b__ManzFg11nyvta_iny_g,%function
 b__ManzFg11nyvta_iny_g:
 nop
@@ -1428,12 +1428,12 @@
 b___qrertvfgre_senzr_vasb:
 nop
 .data
-.globl b___rzhgyf_i.__fnapbi_ybjrfg_fgnpx
+.weak b___rzhgyf_i.__fnapbi_ybjrfg_fgnpx
 .type b___rzhgyf_i.__fnapbi_ybjrfg_fgnpx,%object
 b___rzhgyf_i.__fnapbi_ybjrfg_fgnpx:
 .space __SIZEOF_POINTER__
 .text
-.globl b___fnavgvmre_pbi_genpr_qvi4
+.weak b___fnavgvmre_pbi_genpr_qvi4
 .type b___fnavgvmre_pbi_genpr_qvi4,%function
 b___fnavgvmre_pbi_genpr_qvi4:
 nop
@@ -1483,7 +1483,7 @@
 b__MGFn:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MqyCiFg11nyvta_iny_gEXFg9abguebj_g
+.weak b__MqyCiFg11nyvta_iny_gEXFg9abguebj_g
 .type b__MqyCiFg11nyvta_iny_gEXFg9abguebj_g,%function
 b__MqyCiFg11nyvta_iny_gEXFg9abguebj_g:
 nop
@@ -1518,7 +1518,7 @@
 b__MGFp:
 .space __SIZEOF_POINTER__
 .text
-.globl b___fnavgvmre_pbi_genpr_qvi8
+.weak b___fnavgvmre_pbi_genpr_qvi8
 .type b___fnavgvmre_pbi_genpr_qvi8,%function
 b___fnavgvmre_pbi_genpr_qvi8:
 nop
@@ -1568,7 +1568,7 @@
 b__MGFq:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MqyCizFg11nyvta_iny_g
+.weak b__MqyCizFg11nyvta_iny_g
 .type b__MqyCizFg11nyvta_iny_g,%function
 b__MqyCizFg11nyvta_iny_g:
 nop
@@ -1608,7 +1608,7 @@
 b__MGFs:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MqnCiFg11nyvta_iny_gEXFg9abguebj_g
+.weak b__MqnCiFg11nyvta_iny_gEXFg9abguebj_g
 .type b__MqnCiFg11nyvta_iny_gEXFg9abguebj_g,%function
 b__MqnCiFg11nyvta_iny_gEXFg9abguebj_g:
 nop
@@ -1638,7 +1638,7 @@
 b__MGFt:
 .space __SIZEOF_POINTER__
 .text
-.globl b_BaCevag
+.weak b_BaCevag
 .type b_BaCevag,%function
 b_BaCevag:
 nop
@@ -1708,12 +1708,12 @@
 b__MGFw:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MqyCiFg11nyvta_iny_g
+.weak b__MqyCiFg11nyvta_iny_g
 .type b__MqyCiFg11nyvta_iny_g,%function
 b__MqyCiFg11nyvta_iny_g:
 nop
 .text
-.globl b__Majz
+.weak b__Majz
 .type b__Majz,%function
 b__Majz:
 nop
@@ -1758,7 +1758,7 @@
 b__MGIA10__pkknovi129__cbvagre_gb_zrzore_glcr_vasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg9rkprcgvbaP2REXF_
+.weak b__MAFg9rkprcgvbaP2REXF_
 .type b__MAFg9rkprcgvbaP2REXF_,%function
 b__MAFg9rkprcgvbaP2REXF_:
 nop
@@ -1928,7 +1928,7 @@
 b__MGFA10__pkknovi121__izv_pynff_glcr_vasbR:
 .space __SIZEOF_POINTER__
 .text
-.globl b___hofna_ba_ercbeg
+.weak b___hofna_ba_ercbeg
 .type b___hofna_ba_ercbeg,%function
 b___hofna_ba_ercbeg:
 nop
@@ -1948,7 +1948,7 @@
 b__MGVCs:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MajzFg11nyvta_iny_g
+.weak b__MajzFg11nyvta_iny_g
 .type b__MajzFg11nyvta_iny_g,%function
 b__MajzFg11nyvta_iny_g:
 nop
@@ -1983,12 +1983,12 @@
 b__MGFf:
 .space __SIZEOF_POINTER__
 .text
-.globl b__Manz
+.weak b__Manz
 .type b__Manz,%function
 b__Manz:
 nop
 .text
-.globl b__MajzFg11nyvta_iny_gEXFg9abguebj_g
+.weak b__MajzFg11nyvta_iny_gEXFg9abguebj_g
 .type b__MajzFg11nyvta_iny_gEXFg9abguebj_g,%function
 b__MajzFg11nyvta_iny_gEXFg9abguebj_g:
 nop
@@ -1998,7 +1998,7 @@
 b___ertvfgre_senzr_vasb:
 nop
 .text
-.globl b___fnavgvmre_pbi_genpr_trc
+.weak b___fnavgvmre_pbi_genpr_trc
 .type b___fnavgvmre_pbi_genpr_trc,%function
 b___fnavgvmre_pbi_genpr_trc:
 nop
@@ -2058,7 +2058,7 @@
 b__MGFi:
 .space __SIZEOF_POINTER__
 .text
-.globl b___fnavgvmre_pbi_genpr_pzc
+.weak b___fnavgvmre_pbi_genpr_pzc
 .type b___fnavgvmre_pbi_genpr_pzc,%function
 b___fnavgvmre_pbi_genpr_pzc:
 nop
@@ -2073,7 +2073,7 @@
 b__MGFj:
 .space __SIZEOF_POINTER__
 .text
-.globl b___hofna_qrsnhyg_bcgvbaf
+.weak b___hofna_qrsnhyg_bcgvbaf
 .type b___hofna_qrsnhyg_bcgvbaf,%function
 b___hofna_qrsnhyg_bcgvbaf:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_114.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_114.S
index c30289c..16b16a8 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_114.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_114.S
@@ -3,7 +3,7 @@
 .data
 .p2align 4
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -33,7 +33,7 @@
 b__MA7naqebvq10senzrjbexf9ohssreuho4I1_016OcUjOhssrePyvragP2REXAF_2fcVAF_8uneqjner7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -73,7 +73,7 @@
 b__MA7naqebvq10senzrjbexf9ohssreuho4I1_014OfOhssrePyvragP2RAF_2fcVAF2_13VOhssrePyvragRRR:
 nop
 .data
-.globl b__MGIA7naqebvq10senzrjbexf9ohssreuho4I1_014OfOhssrePyvragR
+.weak b__MGIA7naqebvq10senzrjbexf9ohssreuho4I1_014OfOhssrePyvragR
 .type b__MGIA7naqebvq10senzrjbexf9ohssreuho4I1_014OfOhssrePyvragR,%object
 b__MGIA7naqebvq10senzrjbexf9ohssreuho4I1_014OfOhssrePyvragR:
 .space __SIZEOF_POINTER__
@@ -88,7 +88,7 @@
 b__MA7naqebvq10senzrjbexf9ohssreuho4I1_013VOhssrePyvrag11yvaxGbQrnguREXAF_2fcVAF_8uneqjner20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -113,7 +113,7 @@
 b__MA7naqebvq10senzrjbexf9ohssreuho4I1_013OcUjOhssreUhoP1REXAF_2fcVAF_8uneqjner7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF_10senzrjbexf9ohssreuho4I1_013VOhssrePyvragRAF4_16OcUjOhssrePyvragRAF4_16OaUjOhssrePyvragRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF_10senzrjbexf9ohssreuho4I1_013VOhssrePyvragRAF4_16OcUjOhssrePyvragRAF4_16OaUjOhssrePyvragRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF_10senzrjbexf9ohssreuho4I1_013VOhssrePyvragRAF4_16OcUjOhssrePyvragRAF4_16OaUjOhssrePyvragRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF_10senzrjbexf9ohssreuho4I1_013VOhssrePyvragRAF4_16OcUjOhssrePyvragRAF4_16OaUjOhssrePyvragRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -168,7 +168,7 @@
 b__MA7naqebvq10senzrjbexf9ohssreuho4I1_016OcUjOhssrePyvrag13hayvaxGbQrnguREXAF_2fcVAF_8uneqjner20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -218,7 +218,7 @@
 b__MA7naqebvq10senzrjbexf9ohssreuho4I1_010VOhssreUho4cvatRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -243,12 +243,12 @@
 b__MA7naqebvq10senzrjbexf9ohssreuho4I1_016OcUjOhssrePyvrag19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF_8uneqjner11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -278,7 +278,7 @@
 b__MA7naqebvq10senzrjbexf9ohssreuho4I1_016OcUjOhssrePyvrag11_uvqy_pybfrRCAF_8uneqjner10VVagresnprRCAF4_7qrgnvyf16UvqyVafgehzragbeR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf9ohssreuho4I1_016OcUjOhssrePyvragRAF5_13VOhssrePyvragRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf9ohssreuho4I1_016OcUjOhssrePyvragRAF5_13VOhssrePyvragRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf9ohssreuho4I1_016OcUjOhssrePyvragRAF5_13VOhssrePyvragRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf9ohssreuho4I1_016OcUjOhssrePyvragRAF5_13VOhssrePyvragRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -328,7 +328,7 @@
 b__MA7naqebvq10senzrjbexf9ohssreuho4I1_013OaUjOhssreUhoP2REXAF_2fcVAF2_10VOhssreUhoRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf9ohssreuho4I1_013OcUjOhssreUhoRAF5_10VOhssreUhoRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf9ohssreuho4I1_013OcUjOhssreUhoRAF5_10VOhssreUhoRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf9ohssreuho4I1_013OcUjOhssreUhoRAF5_10VOhssreUhoRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_10senzrjbexf9ohssreuho4I1_013OcUjOhssreUhoRAF5_10VOhssreUhoRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -368,7 +368,7 @@
 b__MGPA7naqebvq10senzrjbexf9ohssreuho4I1_016OaUjOhssrePyvragR0_AF_4uvqy4onfr4I1_08OaUjOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq10senzrjbexf9ohssreuho4I1_011OfOhssreUhoR
+.weak b__MGIA7naqebvq10senzrjbexf9ohssreuho4I1_011OfOhssreUhoR
 .type b__MGIA7naqebvq10senzrjbexf9ohssreuho4I1_011OfOhssreUhoR,%object
 b__MGIA7naqebvq10senzrjbexf9ohssreuho4I1_011OfOhssreUhoR:
 .space __SIZEOF_POINTER__
@@ -428,7 +428,7 @@
 b__MA7naqebvq10senzrjbexf9ohssreuho4I1_016OcUjOhssrePyvrag9qhcyvpngrRAFg3__18shapgvbaVSiEXAF_8uneqjner11uvqy_unaqyrRAF2_15OhssreUhoFgnghfRRRR:
 nop
 .data
-.globl b__MGPA7naqebvq10senzrjbexf9ohssreuho4I1_014OfOhssrePyvragR0_AF2_13VOhssrePyvragR
+.weak b__MGPA7naqebvq10senzrjbexf9ohssreuho4I1_014OfOhssrePyvragR0_AF2_13VOhssrePyvragR
 .type b__MGPA7naqebvq10senzrjbexf9ohssreuho4I1_014OfOhssrePyvragR0_AF2_13VOhssrePyvragR,%object
 b__MGPA7naqebvq10senzrjbexf9ohssreuho4I1_014OfOhssrePyvragR0_AF2_13VOhssrePyvragR:
 .space __SIZEOF_POINTER__
@@ -443,12 +443,12 @@
 b__MA7naqebvq10senzrjbexf9ohssreuho4I1_016OcUjOhssrePyvrag5qrohtREXAF_8uneqjner11uvqy_unaqyrREXAF4_8uvqy_irpVAF4_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -478,12 +478,12 @@
 b__MA7naqebvq10senzrjbexf9ohssreuho4I1_013OaUjOhssreUhoQ2Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_10senzrjbexf9ohssreuho4I1_013VOhssrePyvragRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_10senzrjbexf9ohssreuho4I1_013VOhssrePyvragRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_10senzrjbexf9ohssreuho4I1_013VOhssrePyvragRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_10senzrjbexf9ohssreuho4I1_013VOhssrePyvragRiRRAF_2fcVG_RRF9_:
 nop
 .data
-.globl b__MGPA7naqebvq10senzrjbexf9ohssreuho4I1_011OfOhssreUhoR0_AF2_10VOhssreUhoR
+.weak b__MGPA7naqebvq10senzrjbexf9ohssreuho4I1_011OfOhssreUhoR0_AF2_10VOhssreUhoR
 .type b__MGPA7naqebvq10senzrjbexf9ohssreuho4I1_011OfOhssreUhoR0_AF2_10VOhssreUhoR,%object
 b__MGPA7naqebvq10senzrjbexf9ohssreuho4I1_011OfOhssreUhoR0_AF2_10VOhssreUhoR:
 .space __SIZEOF_POINTER__
@@ -518,7 +518,7 @@
 b__MA7naqebvq10senzrjbexf9ohssreuho4I1_016OcUjOhssrePyvrag5pybfrRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -593,7 +593,7 @@
 b__MA7naqebvq10senzrjbexf9ohssreuho4I1_016OcUjOhssrePyvrag15_uvqy_qhcyvpngrRCAF_8uneqjner10VVagresnprRCAF4_7qrgnvyf16UvqyVafgehzragbeRAFg3__18shapgvbaVSiEXAF4_11uvqy_unaqyrRAF2_15OhssreUhoFgnghfRRRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -668,7 +668,7 @@
 b__MA7naqebvq10senzrjbexf9ohssreuho4I1_016OcUjOhssrePyvrag11yvaxGbQrnguREXAF_2fcVAF_8uneqjner20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf9ohssreuho4I1_013VOhssrePyvragRAF_4uvqy4onfr4I1_05VOnfrRAF5_16OcUjOhssrePyvragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf9ohssreuho4I1_013VOhssrePyvragRAF_4uvqy4onfr4I1_05VOnfrRAF5_16OcUjOhssrePyvragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf9ohssreuho4I1_013VOhssrePyvragRAF_4uvqy4onfr4I1_05VOnfrRAF5_16OcUjOhssrePyvragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf9ohssreuho4I1_013VOhssrePyvragRAF_4uvqy4onfr4I1_05VOnfrRAF5_16OcUjOhssrePyvragRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -678,7 +678,7 @@
 b__MA7naqebvq10senzrjbexf9ohssreuho4I1_013VOhssrePyvrag19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF_8uneqjner11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -693,7 +693,7 @@
 b__MGua16_A7naqebvq10senzrjbexf9ohssreuho4I1_016OcUjOhssrePyvrag15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf9ohssreuho4I1_010VOhssreUhoRAF_4uvqy4onfr4I1_05VOnfrRAF5_13OcUjOhssreUhoRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf9ohssreuho4I1_010VOhssreUhoRAF_4uvqy4onfr4I1_05VOnfrRAF5_13OcUjOhssreUhoRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf9ohssreuho4I1_010VOhssreUhoRAF_4uvqy4onfr4I1_05VOnfrRAF5_13OcUjOhssreUhoRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_10senzrjbexf9ohssreuho4I1_010VOhssreUhoRAF_4uvqy4onfr4I1_05VOnfrRAF5_13OcUjOhssreUhoRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_115.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_115.S
index 2159432..6af1277 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_115.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_115.S
@@ -13,7 +13,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_013OcUjNyybpngbe5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -58,7 +58,7 @@
 b__MGPA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_010VNyybpngbeR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -68,12 +68,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_011OfNyybpngbe13nqqBarjnlGnfxRAFg3__18shapgvbaVSiiRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf9nyybpngbe4I2_010VNyybpngbeRAF_4uvqy4onfr4I1_05VOnfrRAF5_13OcUjNyybpngbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf9nyybpngbe4I2_010VNyybpngbeRAF_4uvqy4onfr4I1_05VOnfrRAF5_13OcUjNyybpngbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf9nyybpngbe4I2_010VNyybpngbeRAF_4uvqy4onfr4I1_05VOnfrRAF5_13OcUjNyybpngbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf9nyybpngbe4I2_010VNyybpngbeRAF_4uvqy4onfr4I1_05VOnfrRAF5_13OcUjNyybpngbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -108,7 +108,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_013OcUjNyybpngbeP1REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -133,7 +133,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_013OcUjNyybpngbe15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -153,7 +153,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_013OcUjNyybpngbe13qhzcQrohtVasbRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -168,7 +168,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_010VNyybpngbe12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -213,12 +213,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_011OfNyybpngbeP1RAF_2fcVAF3_10VNyybpngbeRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_011OfNyybpngbeR0_AF3_10VNyybpngbeR
+.weak b__MGPA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_011OfNyybpngbeR0_AF3_10VNyybpngbeR
 .type b__MGPA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_011OfNyybpngbeR0_AF3_10VNyybpngbeR,%object
 b__MGPA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_011OfNyybpngbeR0_AF3_10VNyybpngbeR:
 .space __SIZEOF_POINTER__
@@ -298,7 +298,7 @@
 b__MGPA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_013OcUjNyybpngbeR0_AF0_11OcVagresnprVAF3_10VNyybpngbeRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_011OfNyybpngbeR
+.weak b__MGIA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_011OfNyybpngbeR
 .type b__MGIA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_011OfNyybpngbeR,%object
 b__MGIA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_011OfNyybpngbeR:
 .space __SIZEOF_POINTER__
@@ -338,7 +338,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_013OaUjNyybpngbeQ0Ri:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -388,12 +388,12 @@
 b__MGIA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_010VNyybpngbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf9nyybpngbe4I2_013OcUjNyybpngbeRAF5_10VNyybpngbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf9nyybpngbe4I2_013OcUjNyybpngbeRAF5_10VNyybpngbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf9nyybpngbe4I2_013OcUjNyybpngbeRAF5_10VNyybpngbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf9nyybpngbe4I2_013OcUjNyybpngbeRAF5_10VNyybpngbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -413,12 +413,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I2_013OcUjNyybpngbe12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_116.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_116.S
index 3d98b83..67e6223 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_116.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_116.S
@@ -33,7 +33,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_013OaUjNyybpngbe4cvatRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -43,7 +43,7 @@
 b__MGPA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_013OcUjNyybpngbeR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_011OfNyybpngbeR
+.weak b__MGIA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_011OfNyybpngbeR
 .type b__MGIA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_011OfNyybpngbeR,%object
 b__MGIA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_011OfNyybpngbeR:
 .space __SIZEOF_POINTER__
@@ -58,7 +58,7 @@
 b__MGua16_A7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_013OcUjNyybpngbe15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf9nyybpngbe4I3_010VNyybpngbeRAF_4uvqy4onfr4I1_05VOnfrRAF5_13OcUjNyybpngbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf9nyybpngbe4I3_010VNyybpngbeRAF_4uvqy4onfr4I1_05VOnfrRAF5_13OcUjNyybpngbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf9nyybpngbe4I3_010VNyybpngbeRAF_4uvqy4onfr4I1_05VOnfrRAF5_13OcUjNyybpngbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf9nyybpngbe4I3_010VNyybpngbeRAF_4uvqy4onfr4I1_05VOnfrRAF5_13OcUjNyybpngbeRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -73,17 +73,17 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_013OcUjNyybpngbe15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf9nyybpngbe4I3_013OcUjNyybpngbeRAF5_10VNyybpngbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf9nyybpngbe4I3_013OcUjNyybpngbeRAF5_10VNyybpngbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf9nyybpngbe4I3_013OcUjNyybpngbeRAF5_10VNyybpngbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf9nyybpngbe4I3_013OcUjNyybpngbeRAF5_10VNyybpngbeRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -103,7 +103,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_010VNyybpngbe5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -113,7 +113,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_013OaUjNyybpngbeP1REXAF_2fcVAF3_10VNyybpngbeRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -138,7 +138,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_011OfNyybpngbeP2RAF_2fcVAF3_10VNyybpngbeRRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -173,7 +173,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_013OcUjNyybpngbe13qhzcQrohtVasbRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -198,7 +198,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_013OaUjNyybpngbeQ2Ri:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -293,7 +293,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_010VNyybpngbe13hayvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_011OfNyybpngbeR0_AF3_10VNyybpngbeR
+.weak b__MGPA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_011OfNyybpngbeR0_AF3_10VNyybpngbeR
 .type b__MGPA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_011OfNyybpngbeR0_AF3_10VNyybpngbeR,%object
 b__MGPA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_011OfNyybpngbeR0_AF3_10VNyybpngbeR:
 .space __SIZEOF_POINTER__
@@ -318,7 +318,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_013OaUjNyybpngbe19_uvqy_qhzcQrohtVasbRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCFN_AFg3__18shapgvbaVSiEFN_RRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -368,7 +368,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_013OcUjNyybpngbe5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -413,12 +413,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf9nyybpngbe4I3_013OcUjNyybpngbe14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_118.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_118.S
index 5e29de3..59d1470 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_118.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_118.S
@@ -13,12 +13,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I2_010OcUjZnccre22_uvqy_perngrQrfpevcgbeRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeREXAF3_7VZnccre20OhssreQrfpevcgbeVasbRAFg3__18shapgvbaVSiAF3_5ReebeREXAF0_8uvqy_irpVwRRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -48,12 +48,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I2_08OfZnccreP1RAF_2fcVAF3_7VZnccreRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -78,7 +78,7 @@
 b__MGPA7naqebvq8uneqjner8tencuvpf6znccre4I2_010OcUjZnccreR16_AF0_11OcUjErsOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner8tencuvpf6znccre4I2_08OfZnccreR
+.weak b__MGIA7naqebvq8uneqjner8tencuvpf6znccre4I2_08OfZnccreR
 .type b__MGIA7naqebvq8uneqjner8tencuvpf6znccre4I2_08OfZnccreR,%object
 b__MGIA7naqebvq8uneqjner8tencuvpf6znccre4I2_08OfZnccreR:
 .space __SIZEOF_POINTER__
@@ -108,7 +108,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I2_07VZnccre10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -168,12 +168,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I2_07VZnccre13hayvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -188,7 +188,7 @@
 b__MGIA7naqebvq8uneqjner8tencuvpf6znccre4I2_07VZnccreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf6znccre4I2_07VZnccreRAF_4uvqy4onfr4I1_05VOnfrRAF5_10OcUjZnccreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf6znccre4I2_07VZnccreRAF_4uvqy4onfr4I1_05VOnfrRAF5_10OcUjZnccreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf6znccre4I2_07VZnccreRAF_4uvqy4onfr4I1_05VOnfrRAF5_10OcUjZnccreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf6znccre4I2_07VZnccreRAF_4uvqy4onfr4I1_05VOnfrRAF5_10OcUjZnccreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -288,7 +288,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner8tencuvpf6znccre4I2_010OaUjZnccreQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf6znccre4I2_010OcUjZnccreRAF5_7VZnccreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf6znccre4I2_010OcUjZnccreRAF5_7VZnccreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf6znccre4I2_010OcUjZnccreRAF5_7VZnccreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf6znccre4I2_010OcUjZnccreRAF5_7VZnccreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -393,7 +393,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I2_07VZnccre19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -418,7 +418,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I2_07VZnccre5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner8tencuvpf6znccre4I2_08OfZnccreR0_AF3_7VZnccreR
+.weak b__MGPA7naqebvq8uneqjner8tencuvpf6znccre4I2_08OfZnccreR0_AF3_7VZnccreR
 .type b__MGPA7naqebvq8uneqjner8tencuvpf6znccre4I2_08OfZnccreR0_AF3_7VZnccreR,%object
 b__MGPA7naqebvq8uneqjner8tencuvpf6znccre4I2_08OfZnccreR0_AF3_7VZnccreR:
 .space __SIZEOF_POINTER__
@@ -438,12 +438,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I2_010OcUjZnccre21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -468,12 +468,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I2_07VZnccre12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_119.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_119.S
index b9d083e..cb1d6f7 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_119.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_119.S
@@ -18,12 +18,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I2_110OcUjZnccre6haybpxRCiAFg3__18shapgvbaVSiAF2_4I2_05ReebeREXAF0_11uvqy_unaqyrRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -58,12 +58,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I2_17VZnccre24ertvfgreSbeAbgvsvpngvbafREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXAF_2fcVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -103,7 +103,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I2_17VZnccre10trgFreivprREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -113,7 +113,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner8tencuvpf6znccre4I2_110OaUjZnccreQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf6znccre4I2_110OcUjZnccreRAF5_7VZnccreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf6znccre4I2_110OcUjZnccreRAF5_7VZnccreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf6znccre4I2_110OcUjZnccreRAF5_7VZnccreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf6znccre4I2_110OcUjZnccreRAF5_7VZnccreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -143,12 +143,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I2_17VZnccre13gelTrgFreivprREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -293,7 +293,7 @@
 b__MGIA7naqebvq8uneqjner8tencuvpf6znccre4I2_17VZnccreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf6znccre4I2_17VZnccreRAF_4uvqy4onfr4I1_05VOnfrRAF5_10OcUjZnccreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf6znccre4I2_17VZnccreRAF_4uvqy4onfr4I1_05VOnfrRAF5_10OcUjZnccreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf6znccre4I2_17VZnccreRAF_4uvqy4onfr4I1_05VOnfrRAF5_10OcUjZnccreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf6znccre4I2_17VZnccreRAF_4uvqy4onfr4I1_05VOnfrRAF5_10OcUjZnccreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -338,12 +338,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I2_17VZnccre8pnfgSebzREXAF_2fcVAF2_4I2_07VZnccreRRRo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf6znccre4I2_17VZnccreRAF4_4I2_07VZnccreRAF5_10OcUjZnccreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFO_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf6znccre4I2_17VZnccreRAF4_4I2_07VZnccreRAF5_10OcUjZnccreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFO_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf6znccre4I2_17VZnccreRAF4_4I2_07VZnccreRAF5_10OcUjZnccreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFO_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf6znccre4I2_17VZnccreRAF4_4I2_07VZnccreRAF5_10OcUjZnccreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFO_VG0_RRCXpo:
 nop
@@ -383,7 +383,7 @@
 b__MGPA7naqebvq8uneqjner8tencuvpf6znccre4I2_110OcUjZnccreR16_AF0_11OcUjErsOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner8tencuvpf6znccre4I2_18OfZnccreR
+.weak b__MGIA7naqebvq8uneqjner8tencuvpf6znccre4I2_18OfZnccreR
 .type b__MGIA7naqebvq8uneqjner8tencuvpf6znccre4I2_18OfZnccreR,%object
 b__MGIA7naqebvq8uneqjner8tencuvpf6znccre4I2_18OfZnccreR:
 .space __SIZEOF_POINTER__
@@ -413,12 +413,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I2_17VZnccre5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -428,7 +428,7 @@
 b__MGPA7naqebvq8uneqjner8tencuvpf6znccre4I2_110OcUjZnccreR8_AF0_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8uneqjner8tencuvpf6znccre4I2_18OfZnccreR0_AF3_7VZnccreR
+.weak b__MGPA7naqebvq8uneqjner8tencuvpf6znccre4I2_18OfZnccreR0_AF3_7VZnccreR
 .type b__MGPA7naqebvq8uneqjner8tencuvpf6znccre4I2_18OfZnccreR0_AF3_7VZnccreR,%object
 b__MGPA7naqebvq8uneqjner8tencuvpf6znccre4I2_18OfZnccreR0_AF3_7VZnccreR:
 .space __SIZEOF_POINTER__
@@ -458,12 +458,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I2_17VZnccre13hayvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_120.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_120.S
index e55c6cf..61ada37 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_120.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_120.S
@@ -3,7 +3,7 @@
 .data
 .p2align 4
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf6znccre4I3_010OcUjZnccreRAF5_7VZnccreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf6znccre4I3_010OcUjZnccreRAF5_7VZnccreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf6znccre4I3_010OcUjZnccreRAF5_7VZnccreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf6znccre4I3_010OcUjZnccreRAF5_7VZnccreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -23,12 +23,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I3_010OcUjZnccre11vfFhccbegrqREXAF3_7VZnccre20OhssreQrfpevcgbeVasbRAFg3__18shapgvbaVSiAF3_5ReebeRoRRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -53,7 +53,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I3_07VZnccre13hayvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -153,7 +153,7 @@
 b__MGPA7naqebvq8uneqjner8tencuvpf6znccre4I3_010OcUjZnccreR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf6znccre4I3_07VZnccreRAF_4uvqy4onfr4I1_05VOnfrRAF5_10OcUjZnccreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf6znccre4I3_07VZnccreRAF_4uvqy4onfr4I1_05VOnfrRAF5_10OcUjZnccreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf6znccre4I3_07VZnccreRAF_4uvqy4onfr4I1_05VOnfrRAF5_10OcUjZnccreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf6znccre4I3_07VZnccreRAF_4uvqy4onfr4I1_05VOnfrRAF5_10OcUjZnccreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -243,7 +243,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I3_07VZnccre17ertvfgreNfFreivprREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -283,7 +283,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I3_07VZnccre21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -308,7 +308,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I3_07VZnccre24ertvfgreSbeAbgvsvpngvbafREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXAF_2fcVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -338,12 +338,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I3_07VZnccre10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -368,7 +368,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I3_07VZnccre8pnfgSebzREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRRo:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner8tencuvpf6znccre4I3_08OfZnccreR0_AF3_7VZnccreR
+.weak b__MGPA7naqebvq8uneqjner8tencuvpf6znccre4I3_08OfZnccreR0_AF3_7VZnccreR
 .type b__MGPA7naqebvq8uneqjner8tencuvpf6znccre4I3_08OfZnccreR0_AF3_7VZnccreR,%object
 b__MGPA7naqebvq8uneqjner8tencuvpf6znccre4I3_08OfZnccreR0_AF3_7VZnccreR:
 .space __SIZEOF_POINTER__
@@ -398,7 +398,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I3_010OcUjZnccreP2REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -413,7 +413,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I3_07VZnccre12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -448,7 +448,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I3_07VZnccre4cvatRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -468,12 +468,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf6znccre4I3_010OcUjZnccre18inyvqngrOhssreFvmrRCiEXAF3_7VZnccre20OhssreQrfpevcgbeVasbRw:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner8tencuvpf6znccre4I3_08OfZnccreR
+.weak b__MGIA7naqebvq8uneqjner8tencuvpf6znccre4I3_08OfZnccreR
 .type b__MGIA7naqebvq8uneqjner8tencuvpf6znccre4I3_08OfZnccreR,%object
 b__MGIA7naqebvq8uneqjner8tencuvpf6znccre4I3_08OfZnccreR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_123.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_123.S
index 5cf6c9e..824565c 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_123.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_123.S
@@ -23,7 +23,7 @@
 b__MA7naqebvq11VachgErnqre7ivoengrRvCXyzyv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15GbhpuIvqrbSenzrRAF_9nyybpngbeVF2_RRR6nffvtaVCXF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_
+.weak b__MAFg3__16irpgbeVA7naqebvq15GbhpuIvqrbSenzrRAF_9nyybpngbeVF2_RRR6nffvtaVCXF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_
 .type b__MAFg3__16irpgbeVA7naqebvq15GbhpuIvqrbSenzrRAF_9nyybpngbeVF2_RRR6nffvtaVCXF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_,%function
 b__MAFg3__16irpgbeVA7naqebvq15GbhpuIvqrbSenzrRAF_9nyybpngbeVF2_RRR6nffvtaVCXF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_:
 nop
@@ -43,7 +43,7 @@
 b__MA7naqebvq16GbhpuVachgZnccre25hcqngrRkgreanyFglyhfFgngrREXAF_11FglyhfFgngrR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15VachgQrivprVasbRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq15VachgQrivprVasbRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq15VachgQrivprVasbRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq15VachgQrivprVasbRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -108,7 +108,7 @@
 b__MA7naqebvq11VachgErnqre14trgFgngrYbpxrqRvwvZAF_11VachgQrivprRSvwvR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15GbhpuIvqrbSenzrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq15GbhpuIvqrbSenzrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq15GbhpuIvqrbSenzrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq15GbhpuIvqrbSenzrRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -208,7 +208,7 @@
 b__MA7naqebvq27ZhygvGbhpuZbgvbaNpphzhyngbe4FybgP1Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRRRiG_FD_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRRRiG_FD_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRRRiG_FD_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR14__nffvta_zhygvVAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRRRiG_FD_:
 nop
@@ -233,7 +233,7 @@
 b__MA7naqebvq21ZhygvGbhpuVachgZnccre7cebprffRCXAF_8EnjRiragR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVvR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVvR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVvR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVvR12qb_pbafgehpgRCiz:
 nop
@@ -248,7 +248,7 @@
 b__MA7naqebvq11VachgErnqreQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq16GbhpuIvqrbQrivprRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR5renfrRAF_11__jenc_vgreVCXF6_RRFQ_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq16GbhpuIvqrbQrivprRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR5renfrRAF_11__jenc_vgreVCXF6_RRFQ_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq16GbhpuIvqrbQrivprRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR5renfrRAF_11__jenc_vgreVCXF6_RRFQ_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq16GbhpuIvqrbQrivprRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR5renfrRAF_11__jenc_vgreVCXF6_RRFQ_:
 nop
@@ -258,7 +258,7 @@
 b__MA7naqebvq19XrlobneqVachgZnccre10cebprffXrlRyovv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVvR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVvR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVvR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVvR8qb_fcyngRCiCXiz:
 nop
@@ -433,7 +433,7 @@
 b__MA7naqebvq16GbhpuVachgZnccre11pnapryGbhpuRy:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVvRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVvRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVvRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVvRR:
 .space __SIZEOF_POINTER__
@@ -468,7 +468,7 @@
 b__MA7naqebvq19IvoengbeVachgZnccre13fgbcIvoengvatRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVfAF_9nyybpngbeVfRRR6nffvtaVCfRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVfAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
+.weak b__MAFg3__16irpgbeVfAF_9nyybpngbeVfRRR6nffvtaVCfRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVfAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
 .type b__MAFg3__16irpgbeVfAF_9nyybpngbeVfRRR6nffvtaVCfRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVfAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_,%function
 b__MAFg3__16irpgbeVfAF_9nyybpngbeVfRRR6nffvtaVCfRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVfAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_:
 nop
@@ -613,7 +613,7 @@
 b__MA7naqebvq17PbbxrqCbvagreQngn8pbclSebzREXF0_:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRRR:
 .space __SIZEOF_POINTER__
@@ -678,7 +678,7 @@
 b__MA7naqebvq22FvatyrGbhpuVachgZnccre5erfrgRy:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz:
 nop
@@ -688,7 +688,7 @@
 b__MA7naqebvq8RiragUhoP1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR12qb_pbafgehpgRCiz:
 nop
@@ -698,7 +698,7 @@
 b__MA7naqebvq11VachgQrivpr9nqqZnccreRCAF_11VachgZnccreR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVvR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVvR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVvR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVvR7qb_pbclRCiCXiz:
 nop
@@ -818,7 +818,7 @@
 b__MA7naqebvq22FvatyrGbhpuVachgZnccreP1RCAF_11VachgQrivprR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVvR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVvR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVvR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVvR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -828,7 +828,7 @@
 b__MA7naqebvq28FvatyrGbhpuZbgvbaNpphzhyngbeP2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -863,7 +863,7 @@
 b__MGIA7naqebvq25RkgreanyFglyhfVachgZnccreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -918,7 +918,7 @@
 b__MA7naqebvq16GbhpuVachgZnccre25qvfcngpuUbireRagreNaqZbirRyw:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz:
 nop
@@ -943,7 +943,7 @@
 b__MA7naqebvq16GbhpuVachgZnccre17svaqIveghnyXrlUvgRvv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15QvfcynlIvrjcbegRAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_
+.weak b__MAFg3__16irpgbeVA7naqebvq15QvfcynlIvrjcbegRAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_
 .type b__MAFg3__16irpgbeVA7naqebvq15QvfcynlIvrjcbegRAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_,%function
 b__MAFg3__16irpgbeVA7naqebvq15QvfcynlIvrjcbegRAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_:
 nop
@@ -988,7 +988,7 @@
 b__MA7naqebvq11VachgErnqre24trgTybonyZrgnFgngrYbpxrqRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1083,7 +1083,7 @@
 b__MA7naqebvq11VachgZnccre23qhzcEnjNofbyhgrNkvfVasbREAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRREXAF_19EnjNofbyhgrNkvfVasbRCXp:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVvR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVvR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVvR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVvR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1093,7 +1093,7 @@
 b__MA7naqebvq19IvoengbeVachgZnccre7cebprffRCXAF_8EnjRiragR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1158,7 +1158,7 @@
 b__MA7naqebvq11VachgQrivpr13trgQrivprVasbRCAF_15VachgQrivprVasbR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCA7naqebvq11VachgZnccreRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
+.weak b__MAFg3__16irpgbeVCA7naqebvq11VachgZnccreRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
 .type b__MAFg3__16irpgbeVCA7naqebvq11VachgZnccreRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_,%function
 b__MAFg3__16irpgbeVCA7naqebvq11VachgZnccreRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_:
 nop
@@ -1188,7 +1188,7 @@
 b__MA7naqebvq11VachgErnqre19gbttyrPncfYbpxFgngrRv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR10qb_qrfgeblRCiz:
 nop
@@ -1308,7 +1308,7 @@
 b__MA7naqebvq8RiragUho17fpnaQrivprfYbpxrqRi:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRRR:
 .space __SIZEOF_POINTER__
@@ -1323,7 +1323,7 @@
 b__MA7naqebvq16GbhpuVachgZnccre16pbasvtherFhesnprRyCo:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR10qb_pbzcnerRCXiF7_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR10qb_pbzcnerRCXiF7_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR10qb_pbzcnerRCXiF7_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR10qb_pbzcnerRCXiF7_:
 nop
@@ -1368,7 +1368,7 @@
 b__MA7naqebvq8RiragUho23pybfrQrivprOlCnguYbpxrqRCXp:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR7qb_pbclRCiCXiz:
 nop
@@ -1393,17 +1393,17 @@
 b__MA7naqebvq27ZhygvGbhpuZbgvbaNpphzhyngbe7cebprffRCXAF_8EnjRiragR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq16GbhpuIvqrbQrivprRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq16GbhpuIvqrbQrivprRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq16GbhpuIvqrbQrivprRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeVA7naqebvq16GbhpuIvqrbQrivprRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_:
 nop
@@ -1453,7 +1453,7 @@
 b__MA7naqebvq11VachgQrivprQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR10qb_pbzcnerRCXiF7_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR10qb_pbzcnerRCXiF7_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR10qb_pbzcnerRCXiF7_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR10qb_pbzcnerRCXiF7_:
 nop
@@ -1488,7 +1488,7 @@
 b__MA7naqebvq11VachgZnccre11snqrCbvagreRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq19XrlobneqVachgZnccre7XrlQbjaRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq19XrlobneqVachgZnccre7XrlQbjaRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq19XrlobneqVachgZnccre7XrlQbjaRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq19XrlobneqVachgZnccre7XrlQbjaRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_:
 nop
@@ -1528,7 +1528,7 @@
 b__MA7naqebvq11VachgErnqre26fubhyqQebcIveghnyXrlYbpxrqRyCAF_11VachgQrivprRvv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR12qb_pbafgehpgRCiz:
 nop
@@ -1553,7 +1553,7 @@
 b__MA7naqebvq19IvoengbeVachgZnccreP1RCAF_11VachgQrivprR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1658,7 +1658,7 @@
 b__MA7naqebvq24EbgnelRapbqreVachgZnccreQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq16GbhpuVachgZnccre10IveghnyXrlRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq16GbhpuVachgZnccre10IveghnyXrlRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq16GbhpuVachgZnccre10IveghnyXrlRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq16GbhpuVachgZnccre10IveghnyXrlRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_:
 nop
@@ -1688,7 +1688,7 @@
 b__MA7naqebvq8RiragUho17frgYrqFgngrYbpxrqRCAF0_6QrivprRvo:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR10qb_pbzcnerRCXiF8_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR10qb_pbzcnerRCXiF8_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR10qb_pbzcnerRCXiF8_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR10qb_pbzcnerRCXiF8_:
 nop
@@ -1793,12 +1793,12 @@
 b__MA7naqebvq23PhefbeZbgvbaNpphzhyngbeP1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_8RiragUho6QrivprRRRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq20IveghnyXrlQrsvavgvbaRAF_9nyybpngbeVF2_RRRP2REXF5_
+.weak b__MAFg3__16irpgbeVA7naqebvq20IveghnyXrlQrsvavgvbaRAF_9nyybpngbeVF2_RRRP2REXF5_
 .type b__MAFg3__16irpgbeVA7naqebvq20IveghnyXrlQrsvavgvbaRAF_9nyybpngbeVF2_RRRP2REXF5_,%function
 b__MAFg3__16irpgbeVA7naqebvq20IveghnyXrlQrsvavgvbaRAF_9nyybpngbeVF2_RRRP2REXF5_:
 nop
@@ -1903,7 +1903,7 @@
 b__MA7naqebvq8RiragUho13fpnaQveYbpxrqRCXp:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR7qb_pbclRCiCXiz:
 nop
@@ -2063,12 +2063,12 @@
 b__MA7naqebvq19WblfgvpxVachgZnccre8unirNkvfRv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVvR10qb_pbzcnerRCXiF3_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVvR10qb_pbzcnerRCXiF3_
 .type b__MAX7naqebvq12FbegrqIrpgbeVvR10qb_pbzcnerRCXiF3_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVvR10qb_pbzcnerRCXiF3_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq16GbhpuVachgZnccre8EnjFgngrRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWRRRiQcBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq16GbhpuVachgZnccre8EnjFgngrRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWRRRiQcBG_
 .type b__MAFg3__16irpgbeVA7naqebvq16GbhpuVachgZnccre8EnjFgngrRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWRRRiQcBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq16GbhpuVachgZnccre8EnjFgngrRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWRRRiQcBG_:
 nop
@@ -2078,7 +2078,7 @@
 b__MA7naqebvq8RiragUho27perngrIveghnyXrlobneqYbpxrqRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq20IveghnyXrlQrsvavgvbaRAF_9nyybpngbeVF2_RRR6vafregVAF_11__jenc_vgreVCXF2_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRAF7_VCF2_RRR4glcrRFN_FP_FP_
+.weak b__MAFg3__16irpgbeVA7naqebvq20IveghnyXrlQrsvavgvbaRAF_9nyybpngbeVF2_RRR6vafregVAF_11__jenc_vgreVCXF2_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRAF7_VCF2_RRR4glcrRFN_FP_FP_
 .type b__MAFg3__16irpgbeVA7naqebvq20IveghnyXrlQrsvavgvbaRAF_9nyybpngbeVF2_RRR6vafregVAF_11__jenc_vgreVCXF2_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRAF7_VCF2_RRR4glcrRFN_FP_FP_,%function
 b__MAFg3__16irpgbeVA7naqebvq20IveghnyXrlQrsvavgvbaRAF_9nyybpngbeVF2_RRR6vafregVAF_11__jenc_vgreVCXF2_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRAF7_VCF2_RRR4glcrRFN_FP_FP_:
 nop
@@ -2113,12 +2113,12 @@
 b__MA7naqebvq16GbhpuIvqrbQrivprP2RvBAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRF8_wwEXAF1_5neenlVCXfYz3RRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR8qb_fcyngRCiCXiz:
 nop
@@ -2168,7 +2168,7 @@
 b__MA7naqebvq8RiragUho14trgIvqrbSenzrfRv:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRRR:
 .space __SIZEOF_POINTER__
@@ -2213,12 +2213,12 @@
 b__MA7naqebvq11VachgZnccreQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVvR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVvR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVvR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVvR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvCAF_11VachgQrivprRRRR7qb_pbclRCiCXiz:
 nop
@@ -2238,7 +2238,7 @@
 b__MA7naqebvq16GbhpuVachgZnccre20pbasvtherIveghnyXrlfRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -2253,12 +2253,12 @@
 b__MA7naqebvq11VachgErnqre26erdhrfgGvzrbhgNgGvzrYbpxrqRy:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15GbhpuIvqrbSenzrRAF_9nyybpngbeVF2_RRR6vafregVAF_13zbir_vgrengbeVAF_11__jenc_vgreVCF2_RRRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVFQ_R9ersreraprRRR5inyhrRFN_R4glcrRAF8_VCXF2_RRFQ_FQ_
+.weak b__MAFg3__16irpgbeVA7naqebvq15GbhpuIvqrbSenzrRAF_9nyybpngbeVF2_RRR6vafregVAF_13zbir_vgrengbeVAF_11__jenc_vgreVCF2_RRRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVFQ_R9ersreraprRRR5inyhrRFN_R4glcrRAF8_VCXF2_RRFQ_FQ_
 .type b__MAFg3__16irpgbeVA7naqebvq15GbhpuIvqrbSenzrRAF_9nyybpngbeVF2_RRR6vafregVAF_13zbir_vgrengbeVAF_11__jenc_vgreVCF2_RRRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVFQ_R9ersreraprRRR5inyhrRFN_R4glcrRAF8_VCXF2_RRFQ_FQ_,%function
 b__MAFg3__16irpgbeVA7naqebvq15GbhpuIvqrbSenzrRAF_9nyybpngbeVF2_RRR6vafregVAF_13zbir_vgrengbeVAF_11__jenc_vgreVCF2_RRRRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVFQ_R9ersreraprRRR5inyhrRFN_R4glcrRAF8_VCXF2_RRFQ_FQ_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15GbhpuIvqrbSenzrRAF_9nyybpngbeVF2_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVA7naqebvq15GbhpuIvqrbSenzrRAF_9nyybpngbeVF2_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVA7naqebvq15GbhpuIvqrbSenzrRAF_9nyybpngbeVF2_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVA7naqebvq15GbhpuIvqrbSenzrRAF_9nyybpngbeVF2_RRR7erfreirRz:
 nop
@@ -2413,7 +2413,7 @@
 b__MA7naqebvq8RiragUho4qhzcREAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6nffvtaVCF6_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF6_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRiR4glcrRFP_FP_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6nffvtaVCF6_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF6_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRiR4glcrRFP_FP_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6nffvtaVCF6_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF6_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRiR4glcrRFP_FP_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6nffvtaVCF6_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF6_AF_15vgrengbe_genvgfVFP_R9ersreraprRRR5inyhrRiR4glcrRFP_FP_:
 nop
@@ -2438,7 +2438,7 @@
 b__MA7naqebvq8RiragUho6Qrivpr5pybfrRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_19WblfgvpxVachgZnccre4NkvfRRRR12qb_pbafgehpgRCiz:
 nop
@@ -2483,7 +2483,7 @@
 b__MA7naqebvq11VachgQrivpr21znexFhccbegrqXrlPbqrfRwzCXvCu:
 nop
 .text
-.globl b__MAXFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR4svaqVF7_RRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRREXG_
+.weak b__MAXFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR4svaqVF7_RRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRREXG_
 .type b__MAXFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR4svaqVF7_RRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRREXG_,%function
 b__MAXFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR4svaqVF7_RRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRREXG_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_124.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_124.S
index cb4129e..dfa2511 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_124.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_124.S
@@ -13,7 +13,7 @@
 b__MGPA7naqebvq8uneqjner23OaFrafbeCevinplYvfgrareR0_AF0_22VFrafbeCevinplYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_8uneqjner21VFrafbeCevinplZnantreRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_8uneqjner21VFrafbeCevinplZnantreRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_8uneqjner21VFrafbeCevinplZnantreRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_8uneqjner21VFrafbeCevinplZnantreRR10baNfOvaqreRi:
 nop
@@ -248,7 +248,7 @@
 b__MA7naqebvq8uneqjner22OcFrafbeCevinplZnantreP2REXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_8uneqjner22VFrafbeCevinplYvfgrareRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_8uneqjner22VFrafbeCevinplYvfgrareRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_8uneqjner22VFrafbeCevinplYvfgrareRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_8uneqjner22VFrafbeCevinplYvfgrareRR10baNfOvaqreRi:
 nop
@@ -293,7 +293,7 @@
 b__MA7naqebvq8uneqjner22OcFrafbeCevinplZnantre22vfFrafbeCevinplRanoyrqRCo:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner22VFrafbeCevinplYvfgrareRRRvCAF_2fcVG_RR
+.weak b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner22VFrafbeCevinplYvfgrareRRRvCAF_2fcVG_RR
 .type b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner22VFrafbeCevinplYvfgrareRRRvCAF_2fcVG_RR,%function
 b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8uneqjner22VFrafbeCevinplYvfgrareRRRvCAF_2fcVG_RR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_125.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_125.S
index 2f40b2b..c3e0645 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_125.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_125.S
@@ -23,7 +23,7 @@
 b__MA7naqebvq8uneqjner9RiragSyntQ2Ri:
 nop
 .text
-.globl b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
+.weak b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
 .type b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR,%function
 b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR:
 nop
@@ -63,7 +63,7 @@
 b__MA7naqebvq8uneqjner9RiragSyntP1RvyCv:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_126.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_126.S
index de6624a..50a683f 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_126.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_126.S
@@ -18,12 +18,12 @@
 b__MA7naqebvq8uneqjner7frafbef4I1_08VFrafbef8pnfgSebzREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRRo:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -63,7 +63,7 @@
 b__MA7naqebvq8uneqjner7frafbef4I1_09OfFrafbef13nqqBarjnlGnfxRAFg3__18shapgvbaVSiiRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -113,17 +113,17 @@
 b__MA7naqebvq8uneqjner7frafbef4I1_011OcUjFrafbef22_uvqy_vawrpgFrafbeQngnRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeREXAF2_5RiragR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_7frafbef4I1_011OcUjFrafbefRAF4_8VFrafbefRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_7frafbef4I1_011OcUjFrafbefRAF4_8VFrafbefRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_7frafbef4I1_011OcUjFrafbefRAF4_8VFrafbefRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_7frafbef4I1_011OcUjFrafbefRAF4_8VFrafbefRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -148,7 +148,7 @@
 b__MA7naqebvq8uneqjner7frafbef4I1_011OcUjFrafbef5syhfuRv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -213,7 +213,7 @@
 b__MGua32_A7naqebvq8uneqjner7frafbef4I1_011OaUjFrafbefQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_7frafbef4I1_08VFrafbefRAF_4uvqy4onfr4I1_05VOnfrRAF4_11OcUjFrafbefRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_7frafbef4I1_08VFrafbefRAF_4uvqy4onfr4I1_05VOnfrRAF4_11OcUjFrafbefRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_7frafbef4I1_08VFrafbefRAF_4uvqy4onfr4I1_05VOnfrRAF4_11OcUjFrafbefRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_7frafbef4I1_08VFrafbefRAF_4uvqy4onfr4I1_05VOnfrRAF4_11OcUjFrafbefRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -313,7 +313,7 @@
 b__MA7naqebvq8uneqjner7frafbef4I1_011OcUjFrafbef14_uvqy_npgvingrRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRvo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -353,7 +353,7 @@
 b__MGPA7naqebvq8uneqjner7frafbef4I1_011OaUjFrafbefR0_AF0_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner7frafbef4I1_09OfFrafbefR
+.weak b__MGIA7naqebvq8uneqjner7frafbef4I1_09OfFrafbefR
 .type b__MGIA7naqebvq8uneqjner7frafbef4I1_09OfFrafbefR,%object
 b__MGIA7naqebvq8uneqjner7frafbef4I1_09OfFrafbefR:
 .space __SIZEOF_POINTER__
@@ -368,7 +368,7 @@
 b__MA7naqebvq8uneqjner7frafbef4I1_011OcUjFrafbefP2REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -418,7 +418,7 @@
 b__MGPA7naqebvq8uneqjner7frafbef4I1_08VFrafbefR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -448,7 +448,7 @@
 b__MGGA7naqebvq8uneqjner7frafbef4I1_08VFrafbefR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -468,7 +468,7 @@
 b__MA7naqebvq8uneqjner7frafbef4I1_08VFrafbef14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -548,12 +548,12 @@
 b__MA7naqebvq8uneqjner7frafbef4I1_011OcUjFrafbefP1REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner7frafbef4I1_09OfFrafbefR0_AF2_8VFrafbefR
+.weak b__MGPA7naqebvq8uneqjner7frafbef4I1_09OfFrafbefR0_AF2_8VFrafbefR
 .type b__MGPA7naqebvq8uneqjner7frafbef4I1_09OfFrafbefR0_AF2_8VFrafbefR,%object
 b__MGPA7naqebvq8uneqjner7frafbef4I1_09OfFrafbefR0_AF2_8VFrafbefR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_127.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_127.S
index cd66acf..cc4e289 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_127.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_127.S
@@ -78,7 +78,7 @@
 b__MA7naqebvq8uneqjner7frafbef4I2_011OcUjFrafbef18pbasvtQverpgErcbegRvvAF1_4I1_09EngrYriryRAFg3__18shapgvbaVSiAF4_6ErfhygRvRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -88,12 +88,12 @@
 b__MA7naqebvq8uneqjner7frafbef4I2_019OcUjFrafbefPnyyonpx19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_7frafbef4I2_08VFrafbefRAF_4uvqy4onfr4I1_05VOnfrRAF4_11OcUjFrafbefRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_7frafbef4I2_08VFrafbefRAF_4uvqy4onfr4I1_05VOnfrRAF4_11OcUjFrafbefRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_7frafbef4I2_08VFrafbefRAF_4uvqy4onfr4I1_05VOnfrRAF4_11OcUjFrafbefRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_7frafbef4I2_08VFrafbefRAF_4uvqy4onfr4I1_05VOnfrRAF4_11OcUjFrafbefRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_7frafbef4I2_011OcUjFrafbefRAF4_8VFrafbefRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_7frafbef4I2_011OcUjFrafbefRAF4_8VFrafbefRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_7frafbef4I2_011OcUjFrafbefRAF4_8VFrafbefRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_7frafbef4I2_011OcUjFrafbefRAF4_8VFrafbefRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -283,7 +283,7 @@
 b__MA7naqebvq8uneqjner7frafbef4I2_08VFrafbef10trgFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -303,7 +303,7 @@
 b__MGi0_a40_A7naqebvq8uneqjner7frafbef4I2_019OcUjFrafbefPnyyonpx15baYnfgFgebatErsRCXi:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner7frafbef4I2_09OfFrafbefR0_AF2_8VFrafbefR
+.weak b__MGPA7naqebvq8uneqjner7frafbef4I2_09OfFrafbefR0_AF2_8VFrafbefR
 .type b__MGPA7naqebvq8uneqjner7frafbef4I2_09OfFrafbefR0_AF2_8VFrafbefR,%object
 b__MGPA7naqebvq8uneqjner7frafbef4I2_09OfFrafbefR0_AF2_8VFrafbefR:
 .space __SIZEOF_POINTER__
@@ -338,7 +338,7 @@
 b__MA7naqebvq8uneqjner7frafbef4I2_08VFrafbef5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -358,7 +358,7 @@
 b__MGPA7naqebvq8uneqjner7frafbef4I2_019OaUjFrafbefPnyyonpxR0_AF0_9OUjOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_7frafbef4I2_016VFrafbefPnyyonpxRAF3_19OcUjFrafbefPnyyonpxRAF3_19OaUjFrafbefPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_7frafbef4I2_016VFrafbefPnyyonpxRAF3_19OcUjFrafbefPnyyonpxRAF3_19OaUjFrafbefPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_7frafbef4I2_016VFrafbefPnyyonpxRAF3_19OcUjFrafbefPnyyonpxRAF3_19OaUjFrafbefPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_7frafbef4I2_016VFrafbefPnyyonpxRAF3_19OcUjFrafbefPnyyonpxRAF3_19OaUjFrafbefPnyyonpxRRRAF_2fcVG_RREXAF7_VAF0_7VOvaqreRRR:
 nop
@@ -393,12 +393,12 @@
 b__MA7naqebvq8uneqjner7frafbef4I2_08VFrafbef21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_7frafbef4I2_016VFrafbefPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjFrafbefPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_7frafbef4I2_016VFrafbefPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjFrafbefPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_7frafbef4I2_016VFrafbefPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjFrafbefPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_7frafbef4I2_016VFrafbefPnyyonpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjFrafbefPnyyonpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -493,7 +493,7 @@
 b__MA7naqebvq8uneqjner7frafbef4I2_019OaUjFrafbefPnyyonpx34_uvqy_baQlanzvpFrafbefQvfpbaarpgrqRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner7frafbef4I2_017OfFrafbefPnyyonpxR0_AF2_16VFrafbefPnyyonpxR
+.weak b__MGPA7naqebvq8uneqjner7frafbef4I2_017OfFrafbefPnyyonpxR0_AF2_16VFrafbefPnyyonpxR
 .type b__MGPA7naqebvq8uneqjner7frafbef4I2_017OfFrafbefPnyyonpxR0_AF2_16VFrafbefPnyyonpxR,%object
 b__MGPA7naqebvq8uneqjner7frafbef4I2_017OfFrafbefPnyyonpxR0_AF2_16VFrafbefPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -508,7 +508,7 @@
 b__MA7naqebvq8uneqjner7frafbef4I2_011OaUjFrafbef20_uvqy_trgFrafbefYvfgRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -523,7 +523,7 @@
 b__MGPA7naqebvq8uneqjner7frafbef4I2_019OcUjFrafbefPnyyonpxR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner21jevgrRzorqqrqGbCnepryVwYAF0_8ZDSynibeR1RRRvEXAF0_12ZDQrfpevcgbeVG_KG0_RRRCAF0_6CnepryRzz
+.weak b__MA7naqebvq8uneqjner21jevgrRzorqqrqGbCnepryVwYAF0_8ZDSynibeR1RRRvEXAF0_12ZDQrfpevcgbeVG_KG0_RRRCAF0_6CnepryRzz
 .type b__MA7naqebvq8uneqjner21jevgrRzorqqrqGbCnepryVwYAF0_8ZDSynibeR1RRRvEXAF0_12ZDQrfpevcgbeVG_KG0_RRRCAF0_6CnepryRzz,%function
 b__MA7naqebvq8uneqjner21jevgrRzorqqrqGbCnepryVwYAF0_8ZDSynibeR1RRRvEXAF0_12ZDQrfpevcgbeVG_KG0_RRRCAF0_6CnepryRzz:
 nop
@@ -543,7 +543,7 @@
 b__MA7naqebvq8uneqjner7frafbef4I2_011OcUjFrafbef20_uvqy_trgFrafbefYvfgRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF1_4I1_010FrafbeVasbRRRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -558,7 +558,7 @@
 b__MA7naqebvq8uneqjner7frafbef4I2_011OcUjFrafbef16frgBcrengvbaZbqrRAF1_4I1_013BcrengvbaZbqrR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -598,7 +598,7 @@
 b__MA7naqebvq8uneqjner7frafbef4I2_019OcUjFrafbefPnyyonpxP1REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -633,7 +633,7 @@
 b__MA7naqebvq8uneqjner7frafbef4I2_011OcUjFrafbef4cvatRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -668,12 +668,12 @@
 b__MA7naqebvq8uneqjner7frafbef4I2_08VFrafbef17ertvfgreNfFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner7frafbef4I2_09OfFrafbefR
+.weak b__MGIA7naqebvq8uneqjner7frafbef4I2_09OfFrafbefR
 .type b__MGIA7naqebvq8uneqjner7frafbef4I2_09OfFrafbefR,%object
 b__MGIA7naqebvq8uneqjner7frafbef4I2_09OfFrafbefR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -688,7 +688,7 @@
 b__MGGA7naqebvq8uneqjner7frafbef4I2_019OaUjFrafbefPnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner7frafbef4I2_017OfFrafbefPnyyonpxR
+.weak b__MGIA7naqebvq8uneqjner7frafbef4I2_017OfFrafbefPnyyonpxR
 .type b__MGIA7naqebvq8uneqjner7frafbef4I2_017OfFrafbefPnyyonpxR,%object
 b__MGIA7naqebvq8uneqjner7frafbef4I2_017OfFrafbefPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -703,7 +703,7 @@
 b__MA7naqebvq8uneqjner7frafbef4I2_08VFrafbef12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -743,7 +743,7 @@
 b__MGPA7naqebvq8uneqjner7frafbef4I2_016VFrafbefPnyyonpxR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_7frafbef4I2_016VFrafbefPnyyonpxRiRRAF_2fcVG_RRF8_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_7frafbef4I2_016VFrafbefPnyyonpxRiRRAF_2fcVG_RRF8_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_7frafbef4I2_016VFrafbefPnyyonpxRiRRAF_2fcVG_RRF8_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_7frafbef4I2_016VFrafbefPnyyonpxRiRRAF_2fcVG_RRF8_:
 nop
@@ -818,7 +818,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner7frafbef4I2_019OaUjFrafbefPnyyonpxQ0Ri:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -863,7 +863,7 @@
 b__MA7naqebvq8uneqjner7frafbef4I2_019OaUjFrafbefPnyyonpx31_uvqy_baQlanzvpFrafbefPbaarpgrqRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner7frafbef4I2_016VFrafbefPnyyonpxRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_8uneqjner7frafbef4I2_016VFrafbefPnyyonpxRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_8uneqjner7frafbef4I2_016VFrafbefPnyyonpxRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_8uneqjner7frafbef4I2_016VFrafbefPnyyonpxRRnFRBF5_:
 nop
@@ -908,7 +908,7 @@
 b__MGPA7naqebvq8uneqjner7frafbef4I2_011OcUjFrafbefR0_AF2_8VFrafbefR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_7frafbef4I2_019OcUjFrafbefPnyyonpxRAF4_16VFrafbefPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_7frafbef4I2_019OcUjFrafbefPnyyonpxRAF4_16VFrafbefPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_7frafbef4I2_019OcUjFrafbefPnyyonpxRAF4_16VFrafbefPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_7frafbef4I2_019OcUjFrafbefPnyyonpxRAF4_16VFrafbefPnyyonpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_128.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_128.S
index 761f752..2335a41 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_128.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_128.S
@@ -3,7 +3,7 @@
 .data
 .p2align 4
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_4uvqy4onfr4I1_05VOnfrRAF5_25OcUjTencuvpOhssreCebqhpreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_4uvqy4onfr4I1_05VOnfrRAF5_25OcUjTencuvpOhssreCebqhpreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_4uvqy4onfr4I1_05VOnfrRAF5_25OcUjTencuvpOhssreCebqhpreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF_4uvqy4onfr4I1_05VOnfrRAF5_25OcUjTencuvpOhssreCebqhpreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -83,7 +83,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_025OcUjTencuvpOhssreCebqhpre17frgFvqronaqFgernzREXAF0_11uvqy_unaqyrR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -113,7 +113,7 @@
 b__MGIA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_020OcUjCebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf11ohssredhrhr4I1_025OcUjTencuvpOhssreCebqhpreRAF5_22VTencuvpOhssreCebqhpreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf11ohssredhrhr4I1_025OcUjTencuvpOhssreCebqhpreRAF5_22VTencuvpOhssreCebqhpreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf11ohssredhrhr4I1_025OcUjTencuvpOhssreCebqhpreRAF5_22VTencuvpOhssreCebqhpreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf11ohssredhrhr4I1_025OcUjTencuvpOhssreCebqhpreRAF5_22VTencuvpOhssreCebqhpreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -178,7 +178,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_025OcUjTencuvpOhssreCebqhpre7pbaarpgREXAF_2fcVAF3_17VCebqhpreYvfgrareRRRvoAFg3__18shapgvbaVSivEXAF3_22VTencuvpOhssreCebqhpre17DhrhrOhssreBhgchgRRRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -208,7 +208,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_025OcUjTencuvpOhssreCebqhpre12frgNflapZbqrRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -233,17 +233,17 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_025OcUjTencuvpOhssreCebqhpre25_uvqy_trgYnfgDhrhrqOhssreRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRAFg3__18shapgvbaVSivEXAF0_5zrqvn4I1_09NajOhssreREXAF0_11uvqy_unaqyrREXAF0_10uvqy_neenlVsYz16RWRRRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -273,7 +273,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_025OcUjTencuvpOhssreCebqhpre23_uvqy_frgFvqronaqFgernzRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeREXAF0_11uvqy_unaqyrR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -373,7 +373,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_025OaUjTencuvpOhssreCebqhpre21_uvqy_trgPbafhzreAnzrRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCFN_AFg3__18shapgvbaVSiEFN_RRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_018OfCebqhpreYvfgrareR0_AF3_17VCebqhpreYvfgrareR
+.weak b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_018OfCebqhpreYvfgrareR0_AF3_17VCebqhpreYvfgrareR
 .type b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_018OfCebqhpreYvfgrareR0_AF3_17VCebqhpreYvfgrareR,%object
 b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_018OfCebqhpreYvfgrareR0_AF3_17VCebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
@@ -388,7 +388,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpre14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -413,7 +413,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_025OcUjTencuvpOhssreCebqhpreP1REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -523,7 +523,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_020OaUjCebqhpreYvfgrareQ2Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF4_20OcUjCebqhpreYvfgrareRAF4_20OaUjCebqhpreYvfgrareRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF4_20OcUjCebqhpreYvfgrareRAF4_20OaUjCebqhpreYvfgrareRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF4_20OcUjCebqhpreYvfgrareRAF4_20OaUjCebqhpreYvfgrareRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF4_20OcUjCebqhpreYvfgrareRAF4_20OaUjCebqhpreYvfgrareRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -543,7 +543,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_025OcUjTencuvpOhssreCebqhpre21frgUNYVafgehzragngvbaRi:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_023OfTencuvpOhssreCebqhpreR
+.weak b__MGIA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_023OfTencuvpOhssreCebqhpreR
 .type b__MGIA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_023OfTencuvpOhssreCebqhpreR,%object
 b__MGIA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_023OfTencuvpOhssreCebqhpreR:
 .space __SIZEOF_POINTER__
@@ -733,7 +733,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_025OcUjTencuvpOhssreCebqhpre12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -828,7 +828,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_025OaUjTencuvpOhssreCebqhpre21_uvqy_nyybjNyybpngvbaRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCFN_AFg3__18shapgvbaVSiEFN_RRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -958,7 +958,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_020OaUjCebqhpreYvfgrare4cvatRi:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_018OfCebqhpreYvfgrareR
+.weak b__MGIA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_018OfCebqhpreYvfgrareR
 .type b__MGIA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_018OfCebqhpreYvfgrareR,%object
 b__MGIA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_018OfCebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
@@ -1028,7 +1028,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_025OcUjTencuvpOhssreCebqhpre19_uvqy_qrdhrhrOhssreRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRwwAF1_6pbzzba4I1_011CvkrySbezngRwoAFg3__18shapgvbaVSivvEXAF0_11uvqy_unaqyrREXAF3_22VTencuvpOhssreCebqhpre22SenzrRiragUvfgbelQrygnRRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_023OfTencuvpOhssreCebqhpreR0_AF3_22VTencuvpOhssreCebqhpreR
+.weak b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_023OfTencuvpOhssreCebqhpreR0_AF3_22VTencuvpOhssreCebqhpreR
 .type b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_023OfTencuvpOhssreCebqhpreR0_AF3_22VTencuvpOhssreCebqhpreR,%object
 b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_023OfTencuvpOhssreCebqhpreR0_AF3_22VTencuvpOhssreCebqhpreR:
 .space __SIZEOF_POINTER__
@@ -1068,7 +1068,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_025OcUjTencuvpOhssreCebqhpre12pnapryOhssreRvEXAF0_11uvqy_unaqyrR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_4uvqy4onfr4I1_05VOnfrRAF5_20OcUjCebqhpreYvfgrareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_4uvqy4onfr4I1_05VOnfrRAF5_20OcUjCebqhpreYvfgrareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_4uvqy4onfr4I1_05VOnfrRAF5_20OcUjCebqhpreYvfgrareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRAF_4uvqy4onfr4I1_05VOnfrRAF5_20OcUjCebqhpreYvfgrareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -1118,7 +1118,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_020OcUjCebqhpreYvfgrare16baOhssreEryrnfrqRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_8tencuvpf11ohssredhrhr4I1_017VCebqhpreYvfgrareRiRRAF_2fcVG_RRF9_:
 nop
@@ -1128,12 +1128,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I1_025OcUjTencuvpOhssreCebqhpre17frgQrdhrhrGvzrbhgRy:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf11ohssredhrhr4I1_020OcUjCebqhpreYvfgrareRAF5_17VCebqhpreYvfgrareRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf11ohssredhrhr4I1_020OcUjCebqhpreYvfgrareRAF5_17VCebqhpreYvfgrareRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf11ohssredhrhr4I1_020OcUjCebqhpreYvfgrareRAF5_17VCebqhpreYvfgrareRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf11ohssredhrhr4I1_020OcUjCebqhpreYvfgrareRAF5_17VCebqhpreYvfgrareRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_129.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_129.S
index c53dc29..6557a32 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_129.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_129.S
@@ -3,7 +3,7 @@
 .data
 .p2align 4
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf11ohssredhrhr4I2_025OcUjTencuvpOhssreCebqhpreRAF5_22VTencuvpOhssreCebqhpreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf11ohssredhrhr4I2_025OcUjTencuvpOhssreCebqhpreRAF5_22VTencuvpOhssreCebqhpreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf11ohssredhrhr4I2_025OcUjTencuvpOhssreCebqhpreRAF5_22VTencuvpOhssreCebqhpreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf11ohssredhrhr4I2_025OcUjTencuvpOhssreCebqhpreRAF5_22VTencuvpOhssreCebqhpreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -63,7 +63,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrare19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_018OfCebqhpreYvfgrareR
+.weak b__MGIA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_018OfCebqhpreYvfgrareR
 .type b__MGIA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_018OfCebqhpreYvfgrareR,%object
 b__MGIA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_018OfCebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
@@ -173,7 +173,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_025OcUjTencuvpOhssreCebqhpre5dhrelRvAFg3__18shapgvbaVSivvRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf11ohssredhrhr4I2_020OcUjCebqhpreYvfgrareRAF5_17VCebqhpreYvfgrareRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf11ohssredhrhr4I2_020OcUjCebqhpreYvfgrareRAF5_17VCebqhpreYvfgrareRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf11ohssredhrhr4I2_020OcUjCebqhpreYvfgrareRAF5_17VCebqhpreYvfgrareRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8tencuvpf11ohssredhrhr4I2_020OcUjCebqhpreYvfgrareRAF5_17VCebqhpreYvfgrareRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -263,7 +263,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_020OcUjCebqhpreYvfgrare15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRiRRAF_2fcVG_RRF9_:
 nop
@@ -273,7 +273,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_025OcUjTencuvpOhssreCebqhpre23_uvqy_frgQrdhrhrGvzrbhgRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRy:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -348,7 +348,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_020OcUjCebqhpreYvfgrare21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -358,7 +358,7 @@
 b__MGGA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_025OaUjTencuvpOhssreCebqhpreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_023OfTencuvpOhssreCebqhpreR
+.weak b__MGIA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_023OfTencuvpOhssreCebqhpreR
 .type b__MGIA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_023OfTencuvpOhssreCebqhpreR,%object
 b__MGIA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_023OfTencuvpOhssreCebqhpreR:
 .space __SIZEOF_POINTER__
@@ -373,7 +373,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpre5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_023OfTencuvpOhssreCebqhpreR0_AF3_22VTencuvpOhssreCebqhpreR
+.weak b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_023OfTencuvpOhssreCebqhpreR0_AF3_22VTencuvpOhssreCebqhpreR
 .type b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_023OfTencuvpOhssreCebqhpreR0_AF3_22VTencuvpOhssreCebqhpreR,%object
 b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_023OfTencuvpOhssreCebqhpreR0_AF3_22VTencuvpOhssreCebqhpreR:
 .space __SIZEOF_POINTER__
@@ -433,7 +433,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_025OcUjTencuvpOhssreCebqhpre22_uvqy_qrgnpuArkgOhssreRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRAFg3__18shapgvbaVSiAF3_6FgnghfREXAF1_6pbzzba4I1_214UneqjnerOhssreREXAF0_11uvqy_unaqyrRRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -443,7 +443,7 @@
 b__MGi0_a40_A7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_025OcUjTencuvpOhssreCebqhpre15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_4uvqy4onfr4I1_05VOnfrRAF5_20OcUjCebqhpreYvfgrareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_4uvqy4onfr4I1_05VOnfrRAF5_20OcUjCebqhpreYvfgrareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_4uvqy4onfr4I1_05VOnfrRAF5_20OcUjCebqhpreYvfgrareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF_4uvqy4onfr4I1_05VOnfrRAF5_20OcUjCebqhpreYvfgrareRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -483,7 +483,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_025OaUjTencuvpOhssreCebqhpre21_uvqy_trgPbafhzreAnzrRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCFN_AFg3__18shapgvbaVSiEFN_RRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_018OfCebqhpreYvfgrareR0_AF3_17VCebqhpreYvfgrareR
+.weak b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_018OfCebqhpreYvfgrareR0_AF3_17VCebqhpreYvfgrareR
 .type b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_018OfCebqhpreYvfgrareR0_AF3_17VCebqhpreYvfgrareR,%object
 b__MGPA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_018OfCebqhpreYvfgrareR0_AF3_17VCebqhpreYvfgrareR:
 .space __SIZEOF_POINTER__
@@ -598,7 +598,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_025OcUjTencuvpOhssreCebqhpre19frgTrarengvbaAhzoreRw:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -633,7 +633,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_018OfCebqhpreYvfgrareP1RAF_2fcVAF3_17VCebqhpreYvfgrareRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_4uvqy4onfr4I1_05VOnfrRAF5_25OcUjTencuvpOhssreCebqhpreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_4uvqy4onfr4I1_05VOnfrRAF5_25OcUjTencuvpOhssreCebqhpreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_4uvqy4onfr4I1_05VOnfrRAF5_25OcUjTencuvpOhssreCebqhpreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8tencuvpf11ohssredhrhr4I2_022VTencuvpOhssreCebqhpreRAF_4uvqy4onfr4I1_05VOnfrRAF5_25OcUjTencuvpOhssreCebqhpreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -728,7 +728,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_025OcUjTencuvpOhssreCebqhpre21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF4_20OcUjCebqhpreYvfgrareRAF4_20OaUjCebqhpreYvfgrareRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF4_20OcUjCebqhpreYvfgrareRAF4_20OaUjCebqhpreYvfgrareRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF4_20OcUjCebqhpreYvfgrareRAF4_20OaUjCebqhpreYvfgrareRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_8tencuvpf11ohssredhrhr4I2_017VCebqhpreYvfgrareRAF4_20OcUjCebqhpreYvfgrareRAF4_20OaUjCebqhpreYvfgrareRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -753,7 +753,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_025OcUjTencuvpOhssreCebqhpre16qrgnpuArkgOhssreRAFg3__18shapgvbaVSiAF3_6FgnghfREXAF1_6pbzzba4I1_214UneqjnerOhssreREXAF0_11uvqy_unaqyrRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -853,12 +853,12 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_025OcUjTencuvpOhssreCebqhpre17_uvqy_dhrhrOhssreRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRvEXAF3_22VTencuvpOhssreCebqhpre16DhrhrOhssreVachgRAFg3__18shapgvbaVSiAF3_6FgnghfREXAFN_17DhrhrOhssreBhgchgRRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -868,17 +868,17 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_025OcUjTencuvpOhssreCebqhpre18_uvqy_qrgnpuOhssreRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRv:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -953,7 +953,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_022ernqRzorqqrqSebzCnepryREXAF3_22VTencuvpOhssreCebqhpre19QrdhrhrOhssreBhgchgREXAF0_6CnepryRzz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -983,7 +983,7 @@
 b__MA7naqebvq8uneqjner8tencuvpf11ohssredhrhr4I2_023OfTencuvpOhssreCebqhpreP1RAF_2fcVAF3_22VTencuvpOhssreCebqhpreRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_131.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_131.S
index f3253f6..292efbe 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_131.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_131.S
@@ -18,7 +18,7 @@
 b__MA7naqebvq20ergevrirUnyVagresnprREXAF_8uneqjner8uvqy_irpVuRR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_4uvqy5gbxra4I1_013VGbxraZnantreRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_4uvqy5gbxra4I1_013VGbxraZnantreRRQ2Ri
 .type b__MA7naqebvq2fcVAF_4uvqy5gbxra4I1_013VGbxraZnantreRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_4uvqy5gbxra4I1_013VGbxraZnantreRRQ2Ri:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_132.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_132.S
index 2135ad0..9154d06 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_132.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_132.S
@@ -28,7 +28,7 @@
 b__MA7naqebvq3qie9VbaOhssre6HaybpxRi:
 nop
 .data
-.globl b___rzhgyf_g._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR7ohssre_R
+.weak b___rzhgyf_g._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR7ohssre_R
 .type b___rzhgyf_g._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR7ohssre_R,%object
 b___rzhgyf_g._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR7ohssre_R:
 .space __SIZEOF_POINTER__
@@ -53,7 +53,7 @@
 b__MA7naqebvq3qie14CebqhpreOhssreP2RAF_3cqk13PunaaryUnaqyrVYAF2_17PunaaryUnaqyrZbqrR0RRR:
 nop
 .data
-.globl b__MGIA7naqebvq3qie14CebqhpreOhssreR
+.weak b__MGIA7naqebvq3qie14CebqhpreOhssreR
 .type b__MGIA7naqebvq3qie14CebqhpreOhssreR,%object
 b__MGIA7naqebvq3qie14CebqhpreOhssreR:
 .space __SIZEOF_POINTER__
@@ -63,12 +63,12 @@
 b__MGIA7naqebvq3qie13OhssreUhoOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b___rzhgyf_i._MTIMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR14TrgOhssreThneqRiR12ohssre_thneq
+.weak b___rzhgyf_i._MTIMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR14TrgOhssreThneqRiR12ohssre_thneq
 .type b___rzhgyf_i._MTIMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR14TrgOhssreThneqRiR12ohssre_thneq,%object
 b___rzhgyf_i._MTIMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR14TrgOhssreThneqRiR12ohssre_thneq:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MA7naqebvq3qie12OhssreUhoECP11xPyvragCnguR
+.weak b__MA7naqebvq3qie12OhssreUhoECP11xPyvragCnguR
 .type b__MA7naqebvq3qie12OhssreUhoECP11xPyvragCnguR,%object
 b__MA7naqebvq3qie12OhssreUhoECP11xPyvragCnguR:
 .space __SIZEOF_POINTER__
@@ -93,12 +93,12 @@
 b__MA7naqebvq3qie9VbaOhssreQ1Ri:
 nop
 .data
-.globl b__MGIA7naqebvq3cqk3ecp13PyvragCnlybnqVAF1_20GuernqYbpnyVaqrkFybgVYz2RRRRR
+.weak b__MGIA7naqebvq3cqk3ecp13PyvragCnlybnqVAF1_20GuernqYbpnyVaqrkFybgVYz2RRRRR
 .type b__MGIA7naqebvq3cqk3ecp13PyvragCnlybnqVAF1_20GuernqYbpnyVaqrkFybgVYz2RRRRR,%object
 b__MGIA7naqebvq3cqk3ecp13PyvragCnlybnqVAF1_20GuernqYbpnyVaqrkFybgVYz2RRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b___rzhgyf_i._MTIMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR14TrgOhssreThneqRiR12ohssre_thneq
+.weak b___rzhgyf_i._MTIMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR14TrgOhssreThneqRiR12ohssre_thneq
 .type b___rzhgyf_i._MTIMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR14TrgOhssreThneqRiR12ohssre_thneq,%object
 b___rzhgyf_i._MTIMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR14TrgOhssreThneqRiR12ohssre_thneq:
 .space __SIZEOF_POINTER__
@@ -123,7 +123,7 @@
 b__MA7naqebvq3qie14PbafhzreOhssreP2RAF_3cqk13PunaaryUnaqyrVYAF2_17PunaaryUnaqyrZbqrR0RRR:
 nop
 .data
-.globl b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie14PbafhzreOhssreRAF2_13OhssreUhoOnfrRRR
+.weak b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie14PbafhzreOhssreRAF2_13OhssreUhoOnfrRRR
 .type b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie14PbafhzreOhssreRAF2_13OhssreUhoOnfrRRR,%object
 b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie14PbafhzreOhssreRAF2_13OhssreUhoOnfrRRR:
 .space __SIZEOF_POINTER__
@@ -183,7 +183,7 @@
 b__MA7naqebvq3qie14CebqhpreOhssre9CbfgNflapRCX23QieAngvirOhssreZrgnqngnEXAF_3cqk10SvyrUnaqyrVYAF5_14SvyrUnaqyrZbqrR0RRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuA7naqebvq3cqk3ecp30QrsnhygVavgvnyvmngvbaNyybpngbeVuAF_9nyybpngbeVuRRRRR6erfvmrRz
+.weak b__MAFg3__16irpgbeVuA7naqebvq3cqk3ecp30QrsnhygVavgvnyvmngvbaNyybpngbeVuAF_9nyybpngbeVuRRRRR6erfvmrRz
 .type b__MAFg3__16irpgbeVuA7naqebvq3cqk3ecp30QrsnhygVavgvnyvmngvbaNyybpngbeVuAF_9nyybpngbeVuRRRRR6erfvmrRz,%function
 b__MAFg3__16irpgbeVuA7naqebvq3cqk3ecp30QrsnhygVavgvnyvmngvbaNyybpngbeVuAF_9nyybpngbeVuRRRRR6erfvmrRz:
 nop
@@ -228,12 +228,12 @@
 b__MA7naqebvq3qie13OhssreUhoOnfrP1REXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRR:
 nop
 .data
-.globl b___rzhgyf_i._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR7ohssre_R
+.weak b___rzhgyf_i._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR7ohssre_R
 .type b___rzhgyf_i._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR7ohssre_R,%object
 b___rzhgyf_i._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR7ohssre_R:
 .space __SIZEOF_POINTER__
 .data
-.globl b___rzhgyf_i._MMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR14TrgOhssreThneqRiR12ohssre_thneq
+.weak b___rzhgyf_i._MMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR14TrgOhssreThneqRiR12ohssre_thneq
 .type b___rzhgyf_i._MMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR14TrgOhssreThneqRiR12ohssre_thneq,%object
 b___rzhgyf_i._MMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR14TrgOhssreThneqRiR12ohssre_thneq:
 .space __SIZEOF_POINTER__
@@ -243,7 +243,7 @@
 b__MA7naqebvq3qie14PbafhzreOhssre7EryrnfrREXAF_3cqk10SvyrUnaqyrVYAF2_14SvyrUnaqyrZbqrR0RRR:
 nop
 .data
-.globl b__MGIA7naqebvq3qie14PbafhzreOhssreR
+.weak b__MGIA7naqebvq3qie14PbafhzreOhssreR
 .type b__MGIA7naqebvq3qie14PbafhzreOhssreR,%object
 b__MGIA7naqebvq3qie14PbafhzreOhssreR:
 .space __SIZEOF_POINTER__
@@ -283,12 +283,12 @@
 b__MAX7naqebvq3qie13OhssreUhoOnfr13PurpxZrgnqngnRz:
 nop
 .data
-.globl b___rzhgyf_i._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR7ohssre_R
+.weak b___rzhgyf_i._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR7ohssre_R
 .type b___rzhgyf_i._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR7ohssre_R,%object
 b___rzhgyf_i._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR7ohssre_R:
 .space __SIZEOF_POINTER__
 .data
-.globl b___rzhgyf_i._MMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR14TrgOhssreThneqRiR12ohssre_thneq
+.weak b___rzhgyf_i._MMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR14TrgOhssreThneqRiR12ohssre_thneq
 .type b___rzhgyf_i._MMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR14TrgOhssreThneqRiR12ohssre_thneq,%object
 b___rzhgyf_i._MMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR14TrgOhssreThneqRiR12ohssre_thneq:
 .space __SIZEOF_POINTER__
@@ -298,7 +298,7 @@
 b__MA7naqebvq3qie13OhssreUhoOnfr6HaybpxRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_:
 nop
@@ -333,7 +333,7 @@
 b__MA7naqebvq3qie14CebqhpreOhssreP1Rzz:
 nop
 .data
-.globl b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie14CebqhpreOhssreRAF2_13OhssreUhoOnfrRRR
+.weak b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie14CebqhpreOhssreRAF2_13OhssreUhoOnfrRRR
 .type b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie14CebqhpreOhssreRAF2_13OhssreUhoOnfrRRR,%object
 b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie14CebqhpreOhssreRAF2_13OhssreUhoOnfrRRR:
 .space __SIZEOF_POINTER__
@@ -358,7 +358,7 @@
 b__MA7naqebvq3qie9VbaOhssrenFRBF1_:
 nop
 .data
-.globl b___rzhgyf_g._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR7ohssre_R
+.weak b___rzhgyf_g._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR7ohssre_R
 .type b___rzhgyf_g._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR7ohssre_R,%object
 b___rzhgyf_g._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR7ohssre_R:
 .space __SIZEOF_POINTER__
@@ -408,7 +408,7 @@
 b__MA7naqebvq3qie13OhssreUhoOnfrQ0Ri:
 nop
 .data
-.globl b__MGIA7naqebvq3cqk3ecp13PyvragCnlybnqVAF1_20GuernqYbpnyVaqrkFybgVYz0RRRRR
+.weak b__MGIA7naqebvq3cqk3ecp13PyvragCnlybnqVAF1_20GuernqYbpnyVaqrkFybgVYz0RRRRR
 .type b__MGIA7naqebvq3cqk3ecp13PyvragCnlybnqVAF1_20GuernqYbpnyVaqrkFybgVYz0RRRRR,%object
 b__MGIA7naqebvq3cqk3ecp13PyvragCnlybnqVAF1_20GuernqYbpnyVaqrkFybgVYz0RRRRR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_133.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_133.S
index 82bb55d..99854c3 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_133.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_133.S
@@ -3,12 +3,12 @@
 .data
 .p2align 4
 .data
-.globl b__MGIA7naqebvq3cqk3ecp13PyvragCnlybnqVAF1_20GuernqYbpnyVaqrkFybgVYz2RRRRR
+.weak b__MGIA7naqebvq3cqk3ecp13PyvragCnlybnqVAF1_20GuernqYbpnyVaqrkFybgVYz2RRRRR
 .type b__MGIA7naqebvq3cqk3ecp13PyvragCnlybnqVAF1_20GuernqYbpnyVaqrkFybgVYz2RRRRR,%object
 b__MGIA7naqebvq3cqk3ecp13PyvragCnlybnqVAF1_20GuernqYbpnyVaqrkFybgVYz2RRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b___rzhgyf_i._MTIMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR14TrgOhssreThneqRiR12ohssre_thneq
+.weak b___rzhgyf_i._MTIMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR14TrgOhssreThneqRiR12ohssre_thneq
 .type b___rzhgyf_i._MTIMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR14TrgOhssreThneqRiR12ohssre_thneq,%object
 b___rzhgyf_i._MTIMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR14TrgOhssreThneqRiR12ohssre_thneq:
 .space __SIZEOF_POINTER__
@@ -23,12 +23,12 @@
 b__MA7naqebvq3qie14OhssreUhoDhrhrP2RAF_3cqk13PunaaryUnaqyrVYAF2_17PunaaryUnaqyrZbqrR0RRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq3qie14OhssreUhoDhrhr5RagelRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq3qie14OhssreUhoDhrhr5RagelRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq3qie14OhssreUhoDhrhr5RagelRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq3qie14OhssreUhoDhrhr5RagelRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_:
 nop
 .data
-.globl b___rzhgyf_g._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR7ohssre_R
+.weak b___rzhgyf_g._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR7ohssre_R
 .type b___rzhgyf_g._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR7ohssre_R,%object
 b___rzhgyf_g._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR7ohssre_R:
 .space __SIZEOF_POINTER__
@@ -48,12 +48,12 @@
 b__MA7naqebvq3qie14OhssreUhoDhrhr7QrdhrhrRvCz:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14PbafhzreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14PbafhzreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14PbafhzreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14PbafhzreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14CebqhpreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14CebqhpreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14CebqhpreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14CebqhpreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR16__ba_mreb_funerqRi:
 nop
@@ -78,7 +78,7 @@
 b__MA7naqebvq3qie9VbaOhssreP2RCX13angvir_unaqyrwwwwz:
 nop
 .data
-.globl b__MGIA7naqebvq3qie14PbafhzreOhssreR
+.weak b__MGIA7naqebvq3qie14PbafhzreOhssreR
 .type b__MGIA7naqebvq3qie14PbafhzreOhssreR,%object
 b__MGIA7naqebvq3qie14PbafhzreOhssreR:
 .space __SIZEOF_POINTER__
@@ -98,17 +98,17 @@
 b__MA7naqebvq3qie14OhssreUhoDhrhrP1REXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuA7naqebvq3cqk3ecp30QrsnhygVavgvnyvmngvbaNyybpngbeVuAF_9nyybpngbeVuRRRRR6erfvmrRz
+.weak b__MAFg3__16irpgbeVuA7naqebvq3cqk3ecp30QrsnhygVavgvnyvmngvbaNyybpngbeVuAF_9nyybpngbeVuRRRRR6erfvmrRz
 .type b__MAFg3__16irpgbeVuA7naqebvq3cqk3ecp30QrsnhygVavgvnyvmngvbaNyybpngbeVuAF_9nyybpngbeVuRRRRR6erfvmrRz,%function
 b__MAFg3__16irpgbeVuA7naqebvq3cqk3ecp30QrsnhygVavgvnyvmngvbaNyybpngbeVuAF_9nyybpngbeVuRRRRR6erfvmrRz:
 nop
 .data
-.globl b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie13CebqhpreDhrhrRAF2_14OhssreUhoDhrhrRRR
+.weak b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie13CebqhpreDhrhrRAF2_14OhssreUhoDhrhrRRR
 .type b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie13CebqhpreDhrhrRAF2_14OhssreUhoDhrhrRRR,%object
 b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie13CebqhpreDhrhrRAF2_14OhssreUhoDhrhrRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RRP2RAFg3__110havdhr_cgeVAF_3cqk17PunaaryCneprynoyrRAF4_14qrsnhyg_qryrgrVF7_RRRR
+.weak b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RRP2RAFg3__110havdhr_cgeVAF_3cqk17PunaaryCneprynoyrRAF4_14qrsnhyg_qryrgrVF7_RRRR
 .type b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RRP2RAFg3__110havdhr_cgeVAF_3cqk17PunaaryCneprynoyrRAF4_14qrsnhyg_qryrgrVF7_RRRR,%function
 b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RRP2RAFg3__110havdhr_cgeVAF_3cqk17PunaaryCneprynoyrRAF4_14qrsnhyg_qryrgrVF7_RRRR:
 nop
@@ -133,7 +133,7 @@
 b__MA7naqebvq3qie14OhssreUhoDhrhrP2REXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RR14ernqSebzCnepryRCXAF_6CnepryR
+.weak b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RR14ernqSebzCnepryRCXAF_6CnepryR
 .type b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RR14ernqSebzCnepryRCXAF_6CnepryR,%function
 b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RR14ernqSebzCnepryRCXAF_6CnepryR:
 nop
@@ -158,7 +158,7 @@
 b__MA7naqebvq3qie13CebqhpreDhrhrP1REXAF0_19CebqhpreDhrhrPbasvtREXAF0_11HfntrCbyvplR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVEXzRRiBG_
+.weak b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVEXzRRiBG_
 .type b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVEXzRRiBG_,%function
 b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVEXzRRiBG_:
 nop
@@ -208,7 +208,7 @@
 b__MA7naqebvq3qie14CebqhpreOhssre9TnvaNflapRC23QieAngvirOhssreZrgnqngnCAF_3cqk10SvyrUnaqyrVYAF4_14SvyrUnaqyrZbqrR0RRRo:
 nop
 .text
-.globl b__MAFg3__111__fvsg_qbjaVEA7naqebvq3qie14OhssreUhoDhrhr15RagelPbzcnengbeRAF_11__jenc_vgreVCAF3_5RagelRRRRRiG0_FN_G_AF_15vgrengbe_genvgfVFN_R15qvssrerapr_glcrRFN_
+.weak b__MAFg3__111__fvsg_qbjaVEA7naqebvq3qie14OhssreUhoDhrhr15RagelPbzcnengbeRAF_11__jenc_vgreVCAF3_5RagelRRRRRiG0_FN_G_AF_15vgrengbe_genvgfVFN_R15qvssrerapr_glcrRFN_
 .type b__MAFg3__111__fvsg_qbjaVEA7naqebvq3qie14OhssreUhoDhrhr15RagelPbzcnengbeRAF_11__jenc_vgreVCAF3_5RagelRRRRRiG0_FN_G_AF_15vgrengbe_genvgfVFN_R15qvssrerapr_glcrRFN_,%function
 b__MAFg3__111__fvsg_qbjaVEA7naqebvq3qie14OhssreUhoDhrhr15RagelPbzcnengbeRAF_11__jenc_vgreVCAF3_5RagelRRRRRiG0_FN_G_AF_15vgrengbe_genvgfVFN_R15qvssrerapr_glcrRFN_:
 nop
@@ -303,7 +303,7 @@
 b__MGIA7naqebvq3qie13CebqhpreDhrhrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RRP1RAFg3__110havdhr_cgeVAF_3cqk17PunaaryCneprynoyrRAF4_14qrsnhyg_qryrgrVF7_RRRR
+.weak b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RRP1RAFg3__110havdhr_cgeVAF_3cqk17PunaaryCneprynoyrRAF4_14qrsnhyg_qryrgrVF7_RRRR
 .type b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RRP1RAFg3__110havdhr_cgeVAF_3cqk17PunaaryCneprynoyrRAF4_14qrsnhyg_qryrgrVF7_RRRR,%function
 b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RRP1RAFg3__110havdhr_cgeVAF_3cqk17PunaaryCneprynoyrRAF4_14qrsnhyg_qryrgrVF7_RRRR:
 nop
@@ -343,7 +343,7 @@
 b__MA7naqebvq3qie14OhssreUhoDhrhr9NqqOhssreREXAFg3__110funerq_cgeVAF0_13OhssreUhoOnfrRRRz:
 nop
 .text
-.globl b__MAX7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RR7VfInyvqRi
+.weak b__MAX7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RR7VfInyvqRi
 .type b__MAX7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RR7VfInyvqRi,%function
 b__MAX7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RR7VfInyvqRi:
 nop
@@ -358,12 +358,12 @@
 b__MA7naqebvq3qie13CebqhpreDhrhrP1RAF_3cqk13PunaaryUnaqyrVYAF2_17PunaaryUnaqyrZbqrR0RRR:
 nop
 .text
-.globl b__MAFg3__19__fvsg_hcVEA7naqebvq3qie14OhssreUhoDhrhr15RagelPbzcnengbeRAF_11__jenc_vgreVCAF3_5RagelRRRRRiG0_FN_G_AF_15vgrengbe_genvgfVFN_R15qvssrerapr_glcrR
+.weak b__MAFg3__19__fvsg_hcVEA7naqebvq3qie14OhssreUhoDhrhr15RagelPbzcnengbeRAF_11__jenc_vgreVCAF3_5RagelRRRRRiG0_FN_G_AF_15vgrengbe_genvgfVFN_R15qvssrerapr_glcrR
 .type b__MAFg3__19__fvsg_hcVEA7naqebvq3qie14OhssreUhoDhrhr15RagelPbzcnengbeRAF_11__jenc_vgreVCAF3_5RagelRRRRRiG0_FN_G_AF_15vgrengbe_genvgfVFN_R15qvssrerapr_glcrR,%function
 b__MAFg3__19__fvsg_hcVEA7naqebvq3qie14OhssreUhoDhrhr15RagelPbzcnengbeRAF_11__jenc_vgreVCAF3_5RagelRRRRRiG0_FN_G_AF_15vgrengbe_genvgfVFN_R15qvssrerapr_glcrR:
 nop
 .data
-.globl b__MGIA7naqebvq3cqk3ecp13PyvragCnlybnqVAF1_20GuernqYbpnyVaqrkFybgVYz0RRRRR
+.weak b__MGIA7naqebvq3cqk3ecp13PyvragCnlybnqVAF1_20GuernqYbpnyVaqrkFybgVYz0RRRRR
 .type b__MGIA7naqebvq3cqk3ecp13PyvragCnlybnqVAF1_20GuernqYbpnyVaqrkFybgVYz0RRRRR,%object
 b__MGIA7naqebvq3cqk3ecp13PyvragCnlybnqVAF1_20GuernqYbpnyVaqrkFybgVYz0RRRRR:
 .space __SIZEOF_POINTER__
@@ -378,12 +378,12 @@
 b__MA7naqebvq3qie14OhssreUhoDhrhr7RadhrhrRAF1_5RagelR:
 nop
 .data
-.globl b__MGIA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRR
+.weak b__MGIA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRR
 .type b__MGIA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRR,%object
 b__MGIA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b___rzhgyf_i._MMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR14TrgOhssreThneqRiR12ohssre_thneq
+.weak b___rzhgyf_i._MMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR14TrgOhssreThneqRiR12ohssre_thneq
 .type b___rzhgyf_i._MMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR14TrgOhssreThneqRiR12ohssre_thneq,%object
 b___rzhgyf_i._MMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR14TrgOhssreThneqRiR12ohssre_thneq:
 .space __SIZEOF_POINTER__
@@ -408,7 +408,7 @@
 b__MA7naqebvq3qie14CebqhpreOhssre9TnvaNflapRi:
 nop
 .data
-.globl b__MGIA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RRR
+.weak b__MGIA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RRR
 .type b__MGIA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RRR,%object
 b__MGIA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RRR:
 .space __SIZEOF_POINTER__
@@ -433,12 +433,12 @@
 b__MA7naqebvq3qie13PbafhzreDhrhr7QrdhrhrRvCzC23QieAngvirOhssreZrgnqngnCAF_3cqk10SvyrUnaqyrVYAF5_14SvyrUnaqyrZbqrR0RRR:
 nop
 .data
-.globl b___rzhgyf_i._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR7ohssre_R
+.weak b___rzhgyf_i._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR7ohssre_R
 .type b___rzhgyf_i._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR7ohssre_R,%object
 b___rzhgyf_i._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR7ohssre_R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRnFRBF3_
+.weak b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRnFRBF3_
 .type b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRnFRBF3_,%function
 b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRnFRBF3_:
 nop
@@ -463,7 +463,7 @@
 b__MA7naqebvq3qie14PbafhzreOhssre12NpdhverNflapRC23QieAngvirOhssreZrgnqngnCAF_3cqk10SvyrUnaqyrVYAF4_14SvyrUnaqyrZbqrR0RRR:
 nop
 .data
-.globl b___rzhgyf_i._MTIMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR14TrgOhssreThneqRiR12ohssre_thneq
+.weak b___rzhgyf_i._MTIMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR14TrgOhssreThneqRiR12ohssre_thneq
 .type b___rzhgyf_i._MTIMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR14TrgOhssreThneqRiR12ohssre_thneq,%object
 b___rzhgyf_i._MTIMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR14TrgOhssreThneqRiR12ohssre_thneq:
 .space __SIZEOF_POINTER__
@@ -483,12 +483,12 @@
 b__MGIA7naqebvq3qie13PbafhzreDhrhrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14PbafhzreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR
+.weak b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14PbafhzreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR
 .type b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14PbafhzreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR,%object
 b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14PbafhzreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b___rzhgyf_i._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR7ohssre_R
+.weak b___rzhgyf_i._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR7ohssre_R
 .type b___rzhgyf_i._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR7ohssre_R,%object
 b___rzhgyf_i._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR7ohssre_R:
 .space __SIZEOF_POINTER__
@@ -503,12 +503,12 @@
 b__MA7naqebvq3qie14PbafhzreOhssre12YbpnyEryrnfrRCX23QieAngvirOhssreZrgnqngnEXAF_3cqk10SvyrUnaqyrVYAF5_14SvyrUnaqyrZbqrR0RRR:
 nop
 .data
-.globl b__MGIA7naqebvq3qie14CebqhpreOhssreR
+.weak b__MGIA7naqebvq3qie14CebqhpreOhssreR
 .type b__MGIA7naqebvq3qie14CebqhpreOhssreR,%object
 b__MGIA7naqebvq3qie14CebqhpreOhssreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie14CebqhpreOhssreRAF2_13OhssreUhoOnfrRRR
+.weak b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie14CebqhpreOhssreRAF2_13OhssreUhoOnfrRRR
 .type b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie14CebqhpreOhssreRAF2_13OhssreUhoOnfrRRR,%object
 b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie14CebqhpreOhssreRAF2_13OhssreUhoOnfrRRR:
 .space __SIZEOF_POINTER__
@@ -523,7 +523,7 @@
 b__MA7naqebvq3qie14OhssreUhoDhrhr16UnaqyrDhrhrRiragRv:
 nop
 .text
-.globl b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RR14ernqSebzCnepryRCXAF_6CnepryR
+.weak b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RR14ernqSebzCnepryRCXAF_6CnepryR
 .type b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RR14ernqSebzCnepryRCXAF_6CnepryR,%function
 b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RR14ernqSebzCnepryRCXAF_6CnepryR:
 nop
@@ -533,7 +533,7 @@
 b__MA7naqebvq3qie13OhssreUhoOnfr17HcqngrFunerqSraprREXAF_3cqk10SvyrUnaqyrVYAF2_14SvyrUnaqyrZbqrR0RRRF7_:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14CebqhpreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR
+.weak b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14CebqhpreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR
 .type b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14CebqhpreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR,%object
 b__MGIAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14CebqhpreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRRR:
 .space __SIZEOF_POINTER__
@@ -573,7 +573,7 @@
 b__MA7naqebvq3qie14OhssreUhoDhrhr14SerrNyyOhssrefRi:
 nop
 .text
-.globl b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RRnFRBF3_
+.weak b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RRnFRBF3_
 .type b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RRnFRBF3_,%function
 b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RRnFRBF3_:
 nop
@@ -588,12 +588,12 @@
 b__MA7naqebvq3qie14PbafhzreOhssre7NpdhverRCAF_3cqk10SvyrUnaqyrVYAF2_14SvyrUnaqyrZbqrR0RRRCiz:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14PbafhzreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14PbafhzreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14PbafhzreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14PbafhzreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi:
 nop
 .text
-.globl b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRP2RAFg3__110havdhr_cgeVAF_3cqk17PunaaryCneprynoyrRAF4_14qrsnhyg_qryrgrVF7_RRRR
+.weak b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRP2RAFg3__110havdhr_cgeVAF_3cqk17PunaaryCneprynoyrRAF4_14qrsnhyg_qryrgrVF7_RRRR
 .type b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRP2RAFg3__110havdhr_cgeVAF_3cqk17PunaaryCneprynoyrRAF4_14qrsnhyg_qryrgrVF7_RRRR,%function
 b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRP2RAFg3__110havdhr_cgeVAF_3cqk17PunaaryCneprynoyrRAF4_14qrsnhyg_qryrgrVF7_RRRR:
 nop
@@ -603,7 +603,7 @@
 b__MA7naqebvq3qie13CebqhpreDhrhr9NqqOhssreREXAFg3__110funerq_cgeVAF0_14CebqhpreOhssreRRRz:
 nop
 .text
-.globl b__MAX7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RR7VfInyvqRi
+.weak b__MAX7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RR7VfInyvqRi
 .type b__MAX7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RR7VfInyvqRi,%function
 b__MAX7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RR7VfInyvqRi:
 nop
@@ -623,7 +623,7 @@
 b__MA7naqebvq3qie14PbafhzreOhssre6VzcbegRAF_3cqk13PunaaryUnaqyrVYAF2_17PunaaryUnaqyrZbqrR0RRR:
 nop
 .text
-.globl b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RR17GnxrPunaaryUnaqyrRi
+.weak b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RR17GnxrPunaaryUnaqyrRi
 .type b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RR17GnxrPunaaryUnaqyrRi,%function
 b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RR17GnxrPunaaryUnaqyrRi:
 nop
@@ -633,7 +633,7 @@
 b__MA7naqebvq3qie13OhssreUhoOnfr23TrgOyboErnqJevgrCbvagreRzCCi:
 nop
 .data
-.globl b__MA7naqebvq3qie12OhssreUhoECP11xPyvragCnguR
+.weak b__MA7naqebvq3qie12OhssreUhoECP11xPyvragCnguR
 .type b__MA7naqebvq3qie12OhssreUhoECP11xPyvragCnguR,%object
 b__MA7naqebvq3qie12OhssreUhoECP11xPyvragCnguR:
 .space __SIZEOF_POINTER__
@@ -643,7 +643,7 @@
 b__MA7naqebvq3qie14OhssreUhoDhrhr10FrghcDhrhrREXAF0_9DhrhrVasbR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_:
 nop
@@ -658,12 +658,12 @@
 b__MA7naqebvq3qie14CebqhpreOhssre6VzcbegRAF_3cqk6FgnghfVAF2_13PunaaryUnaqyrVYAF2_17PunaaryUnaqyrZbqrR0RRRRR:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14CebqhpreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14CebqhpreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14CebqhpreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA7naqebvq3qie14CebqhpreOhssreRAF_14qrsnhyg_qryrgrVF3_RRAF_9nyybpngbeVF3_RRR21__ba_mreb_funerq_jrnxRi:
 nop
 .data
-.globl b___rzhgyf_i._MMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR14TrgOhssreThneqRiR12ohssre_thneq
+.weak b___rzhgyf_i._MMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR14TrgOhssreThneqRiR12ohssre_thneq
 .type b___rzhgyf_i._MMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR14TrgOhssreThneqRiR12ohssre_thneq,%object
 b___rzhgyf_i._MMA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz0RRRR14TrgOhssreThneqRiR12ohssre_thneq:
 .space __SIZEOF_POINTER__
@@ -678,12 +678,12 @@
 b__MA7naqebvq3qie14OhssreUhoDhrhr14JnvgSbeOhssrefRv:
 nop
 .text
-.globl b__MAX7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RR13jevgrGbCnepryRCAF_6CnepryR
+.weak b__MAX7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RR13jevgrGbCnepryRCAF_6CnepryR
 .type b__MAX7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RR13jevgrGbCnepryRCAF_6CnepryR,%function
 b__MAX7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RR13jevgrGbCnepryRCAF_6CnepryR:
 nop
 .text
-.globl b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRP1RAFg3__110havdhr_cgeVAF_3cqk17PunaaryCneprynoyrRAF4_14qrsnhyg_qryrgrVF7_RRRR
+.weak b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRP1RAFg3__110havdhr_cgeVAF_3cqk17PunaaryCneprynoyrRAF4_14qrsnhyg_qryrgrVF7_RRRR
 .type b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRP1RAFg3__110havdhr_cgeVAF_3cqk17PunaaryCneprynoyrRAF4_14qrsnhyg_qryrgrVF7_RRRR,%function
 b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RRP1RAFg3__110havdhr_cgeVAF_3cqk17PunaaryCneprynoyrRAF4_14qrsnhyg_qryrgrVF7_RRRR:
 nop
@@ -703,17 +703,17 @@
 b__MA7naqebvq3qie14CebqhpreOhssre6VzcbegRAF_3cqk13PunaaryUnaqyrVYAF2_17PunaaryUnaqyrZbqrR0RRR:
 nop
 .text
-.globl b__MAX7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RR13jevgrGbCnepryRCAF_6CnepryR
+.weak b__MAX7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RR13jevgrGbCnepryRCAF_6CnepryR
 .type b__MAX7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RR13jevgrGbCnepryRCAF_6CnepryR,%function
 b__MAX7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011952RR13jevgrGbCnepryRCAF_6CnepryR:
 nop
 .data
-.globl b___rzhgyf_g._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR7ohssre_R
+.weak b___rzhgyf_g._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR7ohssre_R
 .type b___rzhgyf_g._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR7ohssre_R,%object
 b___rzhgyf_g._MA7naqebvq3cqk3ecp17GuernqYbpnyOhssreVuAF1_30QrsnhygVavgvnyvmngvbaNyybpngbeVuAFg3__19nyybpngbeVuRRRRYz4096RAF1_20GuernqYbpnyVaqrkFybgVYz2RRRR7ohssre_R:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie14PbafhzreOhssreRAF2_13OhssreUhoOnfrRRR
+.weak b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie14PbafhzreOhssreRAF2_13OhssreUhoOnfrRRR
 .type b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie14PbafhzreOhssreRAF2_13OhssreUhoOnfrRRR,%object
 b__MGIA7naqebvq3cqk10PyvragOnfrVAF_3qie14PbafhzreOhssreRAF2_13OhssreUhoOnfrRRR:
 .space __SIZEOF_POINTER__
@@ -733,7 +733,7 @@
 b__MA7naqebvq3qie13CebqhpreDhrhr23QrdhrhrHanpdhverqOhssreRCz:
 nop
 .text
-.globl b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RR17GnxrPunaaryUnaqyrRi
+.weak b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RR17GnxrPunaaryUnaqyrRi
 .type b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RR17GnxrPunaaryUnaqyrRi,%function
 b__MA7naqebvq3qie24OhssreUhoDhrhrCneprynoyrVYAF0_29OhssreUhoDhrhrCneprynoyrZntvpR1651011939RR17GnxrPunaaryUnaqyrRi:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_134.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_134.S
index 95f285a..ef16173 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_134.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_134.S
@@ -43,7 +43,7 @@
 b__MA7naqebvq3cqk3hqf8Raqcbvag12ZrffntrErcylRCAF0_7ZrffntrRv:
 nop
 .text
-.globl b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
+.weak b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
 .type b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR,%function
 b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR:
 nop
@@ -83,7 +83,7 @@
 b__MA7naqebvq3cqk7FreivprQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10funerq_cgeVA7naqebvq3cqk7FreivprRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_10funerq_cgeVA7naqebvq3cqk7FreivprRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_
 .type b__MAFg3__16irpgbeVAF_10funerq_cgeVA7naqebvq3cqk7FreivprRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_10funerq_cgeVA7naqebvq3cqk7FreivprRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVEXF5_RRiBG_:
 nop
@@ -148,7 +148,7 @@
 b__MAX7naqebvq3cqk3hqf20PyvragPunaarySnpgbel7PbaarpgRy:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz:
 nop
@@ -178,7 +178,7 @@
 b__MA7naqebvq3cqk3hqf8Raqcbvag11ChfuPunaaryRCAF0_7ZrffntrRvCAF0_7PunaaryRCv:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR6erunfuRz:
 nop
@@ -333,7 +333,7 @@
 b__MA7naqebvq3cqk3hqf20PyvragPunaarySnpgbel6PerngrRAF0_10SvyrUnaqyrVYAF0_14SvyrUnaqyrZbqrR0RRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeV5vbirpAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
+.weak b__MAFg3__16irpgbeV5vbirpAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
 .type b__MAFg3__16irpgbeV5vbirpAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_,%function
 b__MAFg3__16irpgbeV5vbirpAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_:
 nop
@@ -363,7 +363,7 @@
 b__MA7naqebvq3cqk3hqf13PyvragPunaary21FraqJvguPunaaryUnaqyrRCivCX5vbirpzF6_z:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq3cqk10SvyrUnaqyrVYAF2_14SvyrUnaqyrZbqrR2RRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq3cqk10SvyrUnaqyrVYAF2_14SvyrUnaqyrZbqrR2RRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq3cqk10SvyrUnaqyrVYAF2_14SvyrUnaqyrZbqrR2RRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq3cqk10SvyrUnaqyrVYAF2_14SvyrUnaqyrZbqrR2RRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -378,7 +378,7 @@
 b__MA7naqebvq3cqk3hqf8Raqcbvag20NyybpngrZrffntrFgngrRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRR:
 nop
@@ -388,7 +388,7 @@
 b__MGua8_A7naqebvq3cqk7Zrffntr13TrgSvyrUnaqyrRfCAF0_10SvyrUnaqyrVYAF0_14SvyrUnaqyrZbqrR0RRR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq3cqk3hqf20PunaaryRiragErprvireRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq3cqk3hqf20PunaaryRiragErprvireRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq3cqk3hqf20PunaaryRiragErprvireRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq3cqk3hqf20PunaaryRiragErprvireRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR:
 nop
@@ -398,7 +398,7 @@
 b__MGIA7naqebvq3cqk11GenafnpgvbaR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVzRRiBG_
+.weak b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVzRRiBG_
 .type b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVzRRiBG_,%function
 b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVzRRiBG_:
 nop
@@ -478,7 +478,7 @@
 b__MA7naqebvq3cqk7Zrffntr7QrfgeblRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq3cqk3hqf20PunaaryRiragErprvireRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq3cqk3hqf20PunaaryRiragErprvireRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq3cqk3hqf20PunaaryRiragErprvireRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq3cqk3hqf20PunaaryRiragErprvireRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz:
 nop
@@ -498,7 +498,7 @@
 b__MA7naqebvq3cqk3hqf14PunaaryZnantre12PerngrUnaqyrRAF0_10SvyrUnaqyrVYAF0_14SvyrUnaqyrZbqrR0RRRF5_F5_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq3cqk3hqf20PunaaryRiragErprvireRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVvWEXvF5_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq3cqk3hqf20PunaaryRiragErprvireRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVvWEXvF5_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq3cqk3hqf20PunaaryRiragErprvireRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVvWEXvF5_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq3cqk3hqf20PunaaryRiragErprvireRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVvWEXvF5_RRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_:
 nop
@@ -543,7 +543,7 @@
 b__MA7naqebvq3cqk3hqf8Raqcbvag16SerrZrffntrFgngrRCi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq3cqk3hqf8Raqcbvag11PunaaryQngnRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq3cqk3hqf8Raqcbvag11PunaaryQngnRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq3cqk3hqf8Raqcbvag11PunaaryQngnRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq3cqk3hqf8Raqcbvag11PunaaryQngnRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR7qrfgeblRCAF_11__gerr_abqrVF7_CiRR:
 nop
@@ -553,7 +553,7 @@
 b__MA7naqebvq3cqk17FreivprQvfcngpure17RagreQvfcngpuYbbcRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq3cqk3hqf20PunaaryRiragErprvireRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq3cqk3hqf20PunaaryRiragErprvireRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq3cqk3hqf20PunaaryRiragErprvireRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvA7naqebvq3cqk3hqf20PunaaryRiragErprvireRRRAF_22__habeqrerq_znc_unfureVvF6_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF6_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz:
 nop
@@ -578,7 +578,7 @@
 b__MA7naqebvq3cqk3hqf17PunaaryCneprynoyr14ernqSebzCnepryRCXAF_6CnepryR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq3cqk3hqf11PunaaryVasbVAF2_10SvyrUnaqyrVYAF2_14SvyrUnaqyrZbqrR2RRRRRAF_9nyybpngbeVF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq3cqk3hqf11PunaaryVasbVAF2_10SvyrUnaqyrVYAF2_14SvyrUnaqyrZbqrR2RRRRRAF_9nyybpngbeVF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq3cqk3hqf11PunaaryVasbVAF2_10SvyrUnaqyrVYAF2_14SvyrUnaqyrZbqrR2RRRRRAF_9nyybpngbeVF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq3cqk3hqf11PunaaryVasbVAF2_10SvyrUnaqyrVYAF2_14SvyrUnaqyrZbqrR2RRRRRAF_9nyybpngbeVF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_:
 nop
@@ -658,7 +658,7 @@
 b__MA7naqebvq3cqk3hqf13PyvragPunaaryQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
+.weak b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_
 .type b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_,%function
 b__MAFg3__16irpgbeVvAF_9nyybpngbeVvRRR21__chfu_onpx_fybj_cnguVvRRiBG_:
 nop
@@ -683,7 +683,7 @@
 b__MA7naqebvq3cqk3hqf14ErprvirCnlybnq28PbafhzrErnqOhssreFrpgvbaQngnRCXi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6vafregVCXuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCuRRR4glcrRAFP_VF6_RRF8_F8_
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6vafregVCXuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCuRRR4glcrRAFP_VF6_RRF8_F8_
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6vafregVCXuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCuRRR4glcrRAFP_VF6_RRF8_F8_,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6vafregVCXuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRAF_11__jenc_vgreVCuRRR4glcrRAFP_VF6_RRF8_F8_:
 nop
@@ -798,7 +798,7 @@
 b__MA7naqebvq3cqk11GenafnpgvbaQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq3cqk10SvyrUnaqyrVYAF2_14SvyrUnaqyrZbqrR0RRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq3cqk10SvyrUnaqyrVYAF2_14SvyrUnaqyrZbqrR0RRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq3cqk10SvyrUnaqyrVYAF2_14SvyrUnaqyrZbqrR0RRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq3cqk10SvyrUnaqyrVYAF2_14SvyrUnaqyrZbqrR0RRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -878,7 +878,7 @@
 b__MA7naqebvq3cqk7Freivpr18TrgSebzZrffntrVasbREXAF0_11ZrffntrVasbR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFA_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF7_CiRRRRoRREXG_QcBG0_:
 nop
@@ -898,7 +898,7 @@
 b__MA7naqebvq3cqk7FreivprP2REXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF2_10havdhr_cgeVAF0_8RaqcbvagRAF2_14qrsnhyg_qryrgrVFP_RRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq3cqk3hqf8Raqcbvag11PunaaryQngnRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq3cqk3hqf8Raqcbvag11PunaaryQngnRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq3cqk3hqf8Raqcbvag11PunaaryQngnRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq3cqk3hqf8Raqcbvag11PunaaryQngnRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR12__svaq_rdhnyVvRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_FU_RRyRRECAF_15__gerr_raq_abqrVFW_RRFX_EXG_:
 nop
@@ -938,7 +938,7 @@
 b__MA7naqebvq3cqk3hqf14FraqQngnIrpgbeREXAF0_10SvyrUnaqyrVYAF0_14SvyrUnaqyrZbqrR2RRRCX5vbirpz:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -983,7 +983,7 @@
 b__MA7naqebvq3cqk3hqf8Raqcbvag4VavgRAF0_10SvyrUnaqyrVYAF0_14SvyrUnaqyrZbqrR0RRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -1018,7 +1018,7 @@
 b__MA7naqebvq3cqk3hqf15PunaaryRiragFrgP2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVEXzRRiBG_
+.weak b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVEXzRRiBG_
 .type b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVEXzRRiBG_,%function
 b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVEXzRRiBG_:
 nop
@@ -1093,7 +1093,7 @@
 b__MA7naqebvq3cqk17FreivprQvfcngpureQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq3cqk10SvyrUnaqyrVYAF2_14SvyrUnaqyrZbqrR0RRRAF_9nyybpngbeVF5_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVA7naqebvq3cqk10SvyrUnaqyrVYAF2_14SvyrUnaqyrZbqrR0RRRAF_9nyybpngbeVF5_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVA7naqebvq3cqk10SvyrUnaqyrVYAF2_14SvyrUnaqyrZbqrR0RRRAF_9nyybpngbeVF5_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVA7naqebvq3cqk10SvyrUnaqyrVYAF2_14SvyrUnaqyrZbqrR0RRRAF_9nyybpngbeVF5_RRR7erfreirRz:
 nop
@@ -1153,7 +1153,7 @@
 b__MA7naqebvq3cqk3hqf8Raqcbvag15ErnqZrffntrQngnRCAF0_7ZrffntrRCX5vbirpz:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
@@ -1193,7 +1193,7 @@
 b__MA7naqebvq3cqk3hqf20PyvragPunaarySnpgbelP1RAF0_10SvyrUnaqyrVYAF0_14SvyrUnaqyrZbqrR0RRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq3cqk3hqf8Raqcbvag11PunaaryQngnRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq3cqk3hqf8Raqcbvag11PunaaryQngnRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq3cqk3hqf8Raqcbvag11PunaaryQngnRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq3cqk3hqf8Raqcbvag11PunaaryQngnRRRAF_19__znc_inyhr_pbzcnerVvF7_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF7_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVF7_CAF_11__gerr_abqrVF7_CiRRyRR:
 nop
@@ -1318,7 +1318,7 @@
 b__MA7naqebvq3cqk7Zrffntr5ErcylREXAF0_10SvyrUnaqyrVYAF0_14SvyrUnaqyrZbqrR1RRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10funerq_cgeVA7naqebvq3cqk7FreivprRRRAF_9nyybpngbeVF5_RRR5renfrRAF_11__jenc_vgreVCXF5_RRFP_
+.weak b__MAFg3__16irpgbeVAF_10funerq_cgeVA7naqebvq3cqk7FreivprRRRAF_9nyybpngbeVF5_RRR5renfrRAF_11__jenc_vgreVCXF5_RRFP_
 .type b__MAFg3__16irpgbeVAF_10funerq_cgeVA7naqebvq3cqk7FreivprRRRAF_9nyybpngbeVF5_RRR5renfrRAF_11__jenc_vgreVCXF5_RRFP_,%function
 b__MAFg3__16irpgbeVAF_10funerq_cgeVA7naqebvq3cqk7FreivprRRRAF_9nyybpngbeVF5_RRR5renfrRAF_11__jenc_vgreVCXF5_RRFP_:
 nop
@@ -1388,7 +1388,7 @@
 b__MA7naqebvq3cqk11Genafnpgvba13TrgSvyrUnaqyrRfCAF0_10SvyrUnaqyrVYAF0_14SvyrUnaqyrZbqrR0RRR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR14__renfr_havdhrVvRRzEXG_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR14__renfr_havdhrVvRRzEXG_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR14__renfr_havdhrVvRRzEXG_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR14__renfr_havdhrVvRRzEXG_:
 nop
@@ -1508,12 +1508,12 @@
 b__MA7naqebvq3cqk7ZrffntrP1REXAF0_11ZrffntrVasbR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVvAF_10funerq_cgeVA7naqebvq3cqk7PunaaryRRRRRAF_22__habeqrerq_znc_unfureVvF7_AF_4unfuVvRRYo1RRRAF_21__habeqrerq_znc_rdhnyVvF7_AF_8rdhny_gbVvRRYo1RRRAF_9nyybpngbeVF7_RRR8__erunfuRz:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_135.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_135.S
index 5e427e9..1f7ac17 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_135.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_135.S
@@ -28,7 +28,7 @@
 b_nflap_fnsr_sngny_in_yvfg:
 nop
 .text
-.globl b__MAFg3__15qrdhrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR19__nqq_onpx_pncnpvglRz
+.weak b__MAFg3__15qrdhrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR19__nqq_onpx_pncnpvglRz
 .type b__MAFg3__15qrdhrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR19__nqq_onpx_pncnpvglRz,%function
 b__MAFg3__15qrdhrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR19__nqq_onpx_pncnpvglRz:
 nop
@@ -73,7 +73,7 @@
 b_nflap_fnsr_sbezng_ybt:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVC15onpxgenpr_znc_gEAF_9nyybpngbeVF2_RRR10chfu_sebagREXF2_
+.weak b__MAFg3__114__fcyvg_ohssreVC15onpxgenpr_znc_gEAF_9nyybpngbeVF2_RRR10chfu_sebagREXF2_
 .type b__MAFg3__114__fcyvg_ohssreVC15onpxgenpr_znc_gEAF_9nyybpngbeVF2_RRR10chfu_sebagREXF2_,%function
 b__MAFg3__114__fcyvg_ohssreVC15onpxgenpr_znc_gEAF_9nyybpngbeVF2_RRR10chfu_sebagREXF2_:
 nop
@@ -98,7 +98,7 @@
 b__MA17HajvaqFgnpxCgenpr4ErnqRzCuz:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx8HajvaqreR
+.weak b__MGIA11hajvaqfgnpx8HajvaqreR
 .type b__MGIA11hajvaqfgnpx8HajvaqreR,%object
 b__MGIA11hajvaqfgnpx8HajvaqreR:
 .space __SIZEOF_POINTER__
@@ -143,7 +143,7 @@
 b__MA18HajvaqFgnpxPheerag18TrgShapgvbaAnzrEnjRzCz:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVC15onpxgenpr_znc_gAF_9nyybpngbeVF2_RRR10chfu_sebagRBF2_
+.weak b__MAFg3__114__fcyvg_ohssreVC15onpxgenpr_znc_gAF_9nyybpngbeVF2_RRR10chfu_sebagRBF2_
 .type b__MAFg3__114__fcyvg_ohssreVC15onpxgenpr_znc_gAF_9nyybpngbeVF2_RRR10chfu_sebagRBF2_,%function
 b__MAFg3__114__fcyvg_ohssreVC15onpxgenpr_znc_gAF_9nyybpngbeVF2_RRR10chfu_sebagRBF2_:
 nop
@@ -198,12 +198,12 @@
 b__MGI17HajvaqFgnpxCgenpr:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__15qrdhrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR19__nqq_onpx_pncnpvglRi:
 nop
 .text
-.globl b__MAFg3__15qrdhrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR6erfvmrRz
+.weak b__MAFg3__15qrdhrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR6erfvmrRz
 .type b__MAFg3__15qrdhrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR6erfvmrRz,%function
 b__MAFg3__15qrdhrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR6erfvmrRz:
 nop
@@ -228,12 +228,12 @@
 b__MA14HajvaqFgnpxZnc5OhvyqRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVC15onpxgenpr_znc_gAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_
+.weak b__MAFg3__114__fcyvg_ohssreVC15onpxgenpr_znc_gAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_
 .type b__MAFg3__114__fcyvg_ohssreVC15onpxgenpr_znc_gAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_,%function
 b__MAFg3__114__fcyvg_ohssreVC15onpxgenpr_znc_gAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVC15onpxgenpr_znc_gEAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_
+.weak b__MAFg3__114__fcyvg_ohssreVC15onpxgenpr_znc_gEAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_
 .type b__MAFg3__114__fcyvg_ohssreVC15onpxgenpr_znc_gEAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_,%function
 b__MAFg3__114__fcyvg_ohssreVC15onpxgenpr_znc_gEAF_9nyybpngbeVF2_RRR9chfu_onpxRBF2_:
 nop
@@ -278,7 +278,7 @@
 b__MA17HajvaqFgnpxCgenprP2RvvC12OnpxgenprZnc:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA11hajvaqfgnpx9SenzrQngnRAF_9nyybpngbeVF2_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVA11hajvaqfgnpx9SenzrQngnRAF_9nyybpngbeVF2_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVA11hajvaqfgnpx9SenzrQngnRAF_9nyybpngbeVF2_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVA11hajvaqfgnpx9SenzrQngnRAF_9nyybpngbeVF2_RRR7erfreirRz:
 nop
@@ -288,12 +288,12 @@
 b_nflap_fnsr_sbezng_ohssre_in_yvfg:
 nop
 .text
-.globl b__MA7naqebvq8cebpvasb18ErnqZncSvyrPbagragVAFg3__18shapgvbaVSizzgzzCXpRRRRRoCpEXG_
+.weak b__MA7naqebvq8cebpvasb18ErnqZncSvyrPbagragVAFg3__18shapgvbaVSizzgzzCXpRRRRRoCpEXG_
 .type b__MA7naqebvq8cebpvasb18ErnqZncSvyrPbagragVAFg3__18shapgvbaVSizzgzzCXpRRRRRoCpEXG_,%function
 b__MA7naqebvq8cebpvasb18ErnqZncSvyrPbagragVAFg3__18shapgvbaVSizzgzzCXpRRRRRoCpEXG_:
 nop
 .text
-.globl b__MAFg3__112__qrdhr_onfrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR5pyrneRi
+.weak b__MAFg3__112__qrdhr_onfrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR5pyrneRi
 .type b__MAFg3__112__qrdhr_onfrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR5pyrneRi,%function
 b__MAFg3__112__qrdhr_onfrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR5pyrneRi:
 nop
@@ -368,7 +368,7 @@
 b__MA11GuernqRagelQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeV22onpxgenpr_senzr_qngn_gAF_9nyybpngbeVF1_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeV22onpxgenpr_senzr_qngn_gAF_9nyybpngbeVF1_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeV22onpxgenpr_senzr_qngn_gAF_9nyybpngbeVF1_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeV22onpxgenpr_senzr_qngn_gAF_9nyybpngbeVF1_RRR8__nccraqRz:
 nop
@@ -393,7 +393,7 @@
 b__MA12OnpxgenprZncP1Rv:
 nop
 .text
-.globl b__MAFg3__15qrdhrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVF1_CXF1_EF6_CXF7_yYy64RRR
+.weak b__MAFg3__15qrdhrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVF1_CXF1_EF6_CXF7_yYy64RRR
 .type b__MAFg3__15qrdhrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVF1_CXF1_EF6_CXF7_yYy64RRR,%function
 b__MAFg3__15qrdhrV15onpxgenpr_znc_gAF_9nyybpngbeVF1_RRR14__renfr_gb_raqRAF_16__qrdhr_vgrengbeVF1_CXF1_EF6_CXF7_yYy64RRR:
 nop
@@ -418,7 +418,7 @@
 b__MGI14HajvaqFgnpxZnc:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA11hajvaqfgnpx9YbpnyZncfR
+.weak b__MGIA11hajvaqfgnpx9YbpnyZncfR
 .type b__MGIA11hajvaqfgnpx9YbpnyZncfR,%object
 b__MGIA11hajvaqfgnpx9YbpnyZncfR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_136.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_136.S
index eabb341..6b62b0f 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_136.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_136.S
@@ -33,7 +33,7 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_025OcUjFhesnprSyvatrePbasvtf19_uvqy_unfUQEQvfcynlRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRAFg3__18shapgvbaVSiEXAF2_12BcgvbanyObbyRRRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -103,7 +103,7 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_025OaUjFhesnprSyvatrePbasvtf31_uvqy_iflapFsRiragCunfrBssfrgAfRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -128,12 +128,12 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_025OcUjFhesnprSyvatrePbasvtf5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_11pbasvtfgber4I1_022VFhesnprSyvatrePbasvtfRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjFhesnprSyvatrePbasvtfRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_11pbasvtfgber4I1_022VFhesnprSyvatrePbasvtfRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjFhesnprSyvatrePbasvtfRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_11pbasvtfgber4I1_022VFhesnprSyvatrePbasvtfRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjFhesnprSyvatrePbasvtfRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_11pbasvtfgber4I1_022VFhesnprSyvatrePbasvtfRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjFhesnprSyvatrePbasvtfRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -168,7 +168,7 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_025OcUjFhesnprSyvatrePbasvtf27_uvqy_znkIveghnyQvfcynlFvmrRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRAFg3__18shapgvbaVSiEXAF2_14BcgvbanyHVag64RRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -213,7 +213,7 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_025OcUjFhesnprSyvatrePbasvtf22_uvqy_unfFlapSenzrjbexRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRAFg3__18shapgvbaVSiEXAF2_12BcgvbanyObbyRRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -233,7 +233,7 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_025OcUjFhesnprSyvatrePbasvtf12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -243,7 +243,7 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_025OaUjFhesnprSyvatrePbasvtf22_uvqy_unfFlapSenzrjbexRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner11pbasvtfgber4I1_023OfFhesnprSyvatrePbasvtfR0_AF2_22VFhesnprSyvatrePbasvtfR
+.weak b__MGPA7naqebvq8uneqjner11pbasvtfgber4I1_023OfFhesnprSyvatrePbasvtfR0_AF2_22VFhesnprSyvatrePbasvtfR
 .type b__MGPA7naqebvq8uneqjner11pbasvtfgber4I1_023OfFhesnprSyvatrePbasvtfR0_AF2_22VFhesnprSyvatrePbasvtfR,%object
 b__MGPA7naqebvq8uneqjner11pbasvtfgber4I1_023OfFhesnprSyvatrePbasvtfR0_AF2_22VFhesnprSyvatrePbasvtfR:
 .space __SIZEOF_POINTER__
@@ -328,7 +328,7 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_025OcUjFhesnprSyvatrePbasvtf29fgnegTencuvpfNyybpngbeFreivprRAFg3__18shapgvbaVSiEXAF2_12BcgvbanyObbyRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -403,7 +403,7 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_025OcUjFhesnprSyvatrePbasvtfP2REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -428,12 +428,12 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_025OcUjFhesnprSyvatrePbasvtf31_uvqy_iflapFsRiragCunfrBssfrgAfRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRAFg3__18shapgvbaVSiEXAF2_13BcgvbanyVag64RRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_11pbasvtfgber4I1_025OcUjFhesnprSyvatrePbasvtfRAF4_22VFhesnprSyvatrePbasvtfRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_11pbasvtfgber4I1_025OcUjFhesnprSyvatrePbasvtfRAF4_22VFhesnprSyvatrePbasvtfRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_11pbasvtfgber4I1_025OcUjFhesnprSyvatrePbasvtfRAF4_22VFhesnprSyvatrePbasvtfRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_11pbasvtfgber4I1_025OcUjFhesnprSyvatrePbasvtfRAF4_22VFhesnprSyvatrePbasvtfRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -513,12 +513,12 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_025OcUjFhesnprSyvatrePbasvtf13unfUQEQvfcynlRAFg3__18shapgvbaVSiEXAF2_12BcgvbanyObbyRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -543,7 +543,7 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_025OcUjFhesnprSyvatrePbasvtf19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -568,7 +568,7 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_025OcUjFhesnprSyvatrePbasvtf24_uvqy_hfrPbagrkgCevbevglRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRAFg3__18shapgvbaVSiEXAF2_12BcgvbanyObbyRRRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner11pbasvtfgber4I1_023OfFhesnprSyvatrePbasvtfR
+.weak b__MGIA7naqebvq8uneqjner11pbasvtfgber4I1_023OfFhesnprSyvatrePbasvtfR
 .type b__MGIA7naqebvq8uneqjner11pbasvtfgber4I1_023OfFhesnprSyvatrePbasvtfR,%object
 b__MGIA7naqebvq8uneqjner11pbasvtfgber4I1_023OfFhesnprSyvatrePbasvtfR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_137.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_137.S
index 5e3aa7f..2f88dfe 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_137.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_137.S
@@ -18,12 +18,12 @@
 b__MA7naqebvq8uneqjner7qrgnvyf16ybtNyjnlfIreobfrREXAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
 .text
-.globl b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
+.weak b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
 .type b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR,%function
 b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_138.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_138.S
index 8d98095..5c8da90 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_138.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_138.S
@@ -48,7 +48,7 @@
 b__MGV8qat_rkvs:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__114__fcyvg_ohssreV23qat_pnzren_cebsvyr_vasbE17qat_fgq_nyybpngbeVF1_RRQ2Ri
+.weak b__MAFg3__114__fcyvg_ohssreV23qat_pnzren_cebsvyr_vasbE17qat_fgq_nyybpngbeVF1_RRQ2Ri
 .type b__MAFg3__114__fcyvg_ohssreV23qat_pnzren_cebsvyr_vasbE17qat_fgq_nyybpngbeVF1_RRQ2Ri,%function
 b__MAFg3__114__fcyvg_ohssreV23qat_pnzren_cebsvyr_vasbE17qat_fgq_nyybpngbeVF1_RRQ2Ri:
 nop
@@ -98,7 +98,7 @@
 b__MAX15qat_pbybe_fcnpr10VPPCebsvyrREwECXu:
 nop
 .data
-.globl b__MGV10gnt_hvag16
+.weak b__MGV10gnt_hvag16
 .type b__MGV10gnt_hvag16,%object
 b__MGV10gnt_hvag16:
 .space __SIZEOF_POINTER__
@@ -158,7 +158,7 @@
 b__MAX27qat_jnec_cnenzf_erpgvyvarne4QhzcRi:
 nop
 .data
-.globl b__MGV23qat_vacynpr_bcpbqr_gnfx
+.weak b__MGV23qat_vacynpr_bcpbqr_gnfx
 .type b__MGV23qat_vacynpr_bcpbqr_gnfx,%object
 b__MGV23qat_vacynpr_bcpbqr_gnfx:
 .space __SIZEOF_POINTER__
@@ -233,7 +233,7 @@
 b__MA8qat_rkvs15Cnefr_vsq0_rkvsRE10qat_fgernzE10qat_funerqwwwwz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVq17qat_fgq_nyybpngbeVqRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVq17qat_fgq_nyybpngbeVqRR8__nccraqRz
 .type b__MAFg3__16irpgbeVq17qat_fgq_nyybpngbeVqRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVq17qat_fgq_nyybpngbeVqRR8__nccraqRz:
 nop
@@ -243,7 +243,7 @@
 b__MAX10qat_fgevat7VfRzcglRi:
 nop
 .data
-.globl b__MGF17gnt_fengvbany_cge
+.weak b__MGF17gnt_fengvbany_cge
 .type b__MGF17gnt_fengvbany_cge,%object
 b__MGF17gnt_fengvbany_cge:
 .space __SIZEOF_POINTER__
@@ -253,7 +253,7 @@
 b__M13ErsPbclNern32CXwCwwwwvvvvvv:
 nop
 .data
-.globl b__MGF16GrzcYvggyrRaqvna
+.weak b__MGF16GrzcYvggyrRaqvna
 .type b__MGF16GrzcYvggyrRaqvna,%object
 b__MGF16GrzcYvggyrRaqvna:
 .space __SIZEOF_POINTER__
@@ -273,7 +273,7 @@
 b__MA24qat_wcrt_cerivrj_gnt_frgQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeV18qat_abvfr_shapgvba17qat_fgq_nyybpngbeVF1_RR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeV18qat_abvfr_shapgvba17qat_fgq_nyybpngbeVF1_RR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeV18qat_abvfr_shapgvba17qat_fgq_nyybpngbeVF1_RR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeV18qat_abvfr_shapgvba17qat_fgq_nyybpngbeVF1_RR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -298,7 +298,7 @@
 b__MA16qat_cvkry_ohssre13ErcrngFhoNernR8qat_erpgww:
 nop
 .text
-.globl b__MAFg3__16irpgbeV9qat_cbvag17qat_fgq_nyybpngbeVF1_RR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
+.weak b__MAFg3__16irpgbeV9qat_cbvag17qat_fgq_nyybpngbeVF1_RR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
 .type b__MAFg3__16irpgbeV9qat_cbvag17qat_fgq_nyybpngbeVF1_RR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_,%function
 b__MAFg3__16irpgbeV9qat_cbvag17qat_fgq_nyybpngbeVF1_RR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_:
 nop
@@ -308,7 +308,7 @@
 b__M19ErsOnfryvarNOPgbETOCXsF0_F0_CsF1_F1_wEX10qat_irpgbeEX10qat_zngevk:
 nop
 .data
-.globl b__MGI17qat_fcnpr_snxrETO
+.weak b__MGI17qat_fcnpr_snxrETO
 .type b__MGI17qat_fcnpr_snxrETO,%object
 b__MGI17qat_fcnpr_snxrETO:
 .space __SIZEOF_POINTER__
@@ -383,7 +383,7 @@
 b__MA17qat_vzntr_fcbbyreP1RE8qat_ubfgEX7qat_vsqE9qat_vzntrEX8qat_erpgwwE16qat_zrzbel_oybpxE7NhgbCgeVFN_R:
 nop
 .data
-.globl b__MGV10qat_irpgbe
+.weak b__MGV10qat_irpgbe
 .type b__MGV10qat_irpgbe,%object
 b__MGV10qat_irpgbe:
 .space __SIZEOF_POINTER__
@@ -523,7 +523,7 @@
 b__M14ErsErcrngNern8CXuCuwwwvvvwwww:
 nop
 .data
-.globl b__MGF31qat_wcrt_vzntr_svaq_qvtrfg_gnfx
+.weak b__MGF31qat_wcrt_vzntr_svaq_qvtrfg_gnfx
 .type b__MGF31qat_wcrt_vzntr_svaq_qvtrfg_gnfx,%object
 b__MGF31qat_wcrt_vzntr_svaq_qvtrfg_gnfx:
 .space __SIZEOF_POINTER__
@@ -553,7 +553,7 @@
 b__MA15qat_bcpbqr_yvfg5NccylRE8qat_ubfgE12qat_artngvirE7NhgbCgeV9qat_vzntrR:
 nop
 .text
-.globl b__MAFg3__16irpgbeV23qat_pnzren_cebsvyr_vasb17qat_fgq_nyybpngbeVF1_RR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
+.weak b__MAFg3__16irpgbeV23qat_pnzren_cebsvyr_vasb17qat_fgq_nyybpngbeVF1_RR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
 .type b__MAFg3__16irpgbeV23qat_pnzren_cebsvyr_vasb17qat_fgq_nyybpngbeVF1_RR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_,%function
 b__MAFg3__16irpgbeV23qat_pnzren_cebsvyr_vasb17qat_fgq_nyybpngbeVF1_RR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_:
 nop
@@ -658,7 +658,7 @@
 b__MA15qat_zbfnvp_vasbP1Ri:
 nop
 .data
-.globl b__MGV17gnt_fengvbany_cge
+.weak b__MGV17gnt_fengvbany_cge
 .type b__MGV17gnt_fengvbany_cge,%object
 b__MGV17gnt_fengvbany_cge:
 .space __SIZEOF_POINTER__
@@ -748,7 +748,7 @@
 b__MA18qat_pnzren_cebsvyr4FghoRi:
 nop
 .data
-.globl b__MGF22qat_zq5_cevagre_fgernz
+.weak b__MGF22qat_zq5_cevagre_fgernz
 .type b__MGF22qat_zq5_cevagre_fgernz,%object
 b__MGF22qat_zq5_cevagre_fgernz:
 .space __SIZEOF_POINTER__
@@ -818,7 +818,7 @@
 b__MA18qat_onq_cvkry_yvfgP2Ri:
 nop
 .data
-.globl b__MGI22qat_zq5_cevagre_fgernz
+.weak b__MGI22qat_zq5_cevagre_fgernz
 .type b__MGI22qat_zq5_cevagre_fgernz,%object
 b__MGI22qat_zq5_cevagre_fgernz:
 .space __SIZEOF_POINTER__
@@ -848,7 +848,7 @@
 b__MA26qat_qngr_gvzr_fgbentr_vasbP2Ri:
 nop
 .data
-.globl b__MGF18qat_abvfr_shapgvba
+.weak b__MGF18qat_abvfr_shapgvba
 .type b__MGF18qat_abvfr_shapgvba,%object
 b__MGF18qat_abvfr_shapgvba:
 .space __SIZEOF_POINTER__
@@ -898,7 +898,7 @@
 b__M13FnsrVag32Zhygvv:
 nop
 .data
-.globl b__MGI31qat_wcrt_vzntr_svaq_qvtrfg_gnfx
+.weak b__MGI31qat_wcrt_vzntr_svaq_qvtrfg_gnfx
 .type b__MGI31qat_wcrt_vzntr_svaq_qvtrfg_gnfx,%object
 b__MGI31qat_wcrt_vzntr_svaq_qvtrfg_gnfx:
 .space __SIZEOF_POINTER__
@@ -923,7 +923,7 @@
 b__MA10qat_fgernz15FrgErnqCbfvgvbaRz:
 nop
 .data
-.globl b__MGF13qat_rkprcgvba
+.weak b__MGF13qat_rkprcgvba
 .type b__MGF13qat_rkprcgvba,%object
 b__MGF13qat_rkprcgvba:
 .space __SIZEOF_POINTER__
@@ -1073,7 +1073,7 @@
 b__MA17qat_zrzbel_fgernz12PbclGbFgernzRE10qat_fgernzz:
 nop
 .data
-.globl b__MGI9gnt_hvag8
+.weak b__MGI9gnt_hvag8
 .type b__MGI9gnt_hvag8,%object
 b__MGI9gnt_hvag8:
 .space __SIZEOF_POINTER__
@@ -1153,7 +1153,7 @@
 b__MAX22qat_yvarnevmngvba_vasb13ZnkOynpxYriryRw:
 nop
 .data
-.globl b__MGV10gnt_erny64
+.weak b__MGV10gnt_erny64
 .type b__MGV10gnt_erny64,%object
 b__MGV10gnt_erny64:
 .space __SIZEOF_POINTER__
@@ -1253,7 +1253,7 @@
 b__MGF12qat_1q_gnoyr:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGF31gvss_qat_rkgraqrq_pbybe_cebsvyr
+.weak b__MGF31gvss_qat_rkgraqrq_pbybe_cebsvyr
 .type b__MGF31gvss_qat_rkgraqrq_pbybe_cebsvyr,%object
 b__MGF31gvss_qat_rkgraqrq_pbybe_cebsvyr:
 .space __SIZEOF_POINTER__
@@ -1298,12 +1298,12 @@
 b__MGF18qat_vacynpr_bcpbqr:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGI15qat_zngevk_4ol3
+.weak b__MGI15qat_zngevk_4ol3
 .type b__MGI15qat_zngevk_4ol3,%object
 b__MGI15qat_zngevk_4ol3:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7NhgbCgeV14qat_wcrt_vzntrRQ2Ri
+.weak b__MA7NhgbCgeV14qat_wcrt_vzntrRQ2Ri
 .type b__MA7NhgbCgeV14qat_wcrt_vzntrRQ2Ri,%function
 b__MA7NhgbCgeV14qat_wcrt_vzntrRQ2Ri:
 nop
@@ -1353,7 +1353,7 @@
 b__MA17qat_abvfr_cebsvyrP1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeV15qat_svatrecevag17qat_fgq_nyybpngbeVF1_RRP2Rz
+.weak b__MAFg3__16irpgbeV15qat_svatrecevag17qat_fgq_nyybpngbeVF1_RRP2Rz
 .type b__MAFg3__16irpgbeV15qat_svatrecevag17qat_fgq_nyybpngbeVF1_RRP2Rz,%function
 b__MAFg3__16irpgbeV15qat_svatrecevag17qat_fgq_nyybpngbeVF1_RRP2Rz:
 nop
@@ -1393,7 +1393,7 @@
 b__MA16qat_vzntr_jevgreQ2Ri:
 nop
 .data
-.globl b__MGF8gvss_gnt
+.weak b__MGF8gvss_gnt
 .type b__MGF8gvss_gnt,%object
 b__MGF8gvss_gnt:
 .space __SIZEOF_POINTER__
@@ -1428,7 +1428,7 @@
 b__MA21gnt_qat_abvfr_cebsvyrP1REX17qat_abvfr_cebsvyr:
 nop
 .data
-.globl b__MGV10gnt_hvag32
+.weak b__MGV10gnt_hvag32
 .type b__MGV10gnt_hvag32,%object
 b__MGV10gnt_hvag32:
 .space __SIZEOF_POINTER__
@@ -1448,12 +1448,12 @@
 b__MA10qat_irpgbeP1Ri:
 nop
 .data
-.globl b__MGV13gnt_hvag8_cge
+.weak b__MGV13gnt_hvag8_cge
 .type b__MGV13gnt_hvag8_cge,%object
 b__MGV13gnt_hvag8_cge:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGF13gnt_fengvbany
+.weak b__MGF13gnt_fengvbany
 .type b__MGF13gnt_fengvbany,%object
 b__MGF13gnt_fengvbany:
 .space __SIZEOF_POINTER__
@@ -1528,7 +1528,7 @@
 b__MAX25qat_bcpbqr_QrygnCrePbyhza7ChgQngnRE10qat_fgernz:
 nop
 .data
-.globl b__MGV22qat_svygre_bcpbqr_gnfx
+.weak b__MGV22qat_svygre_bcpbqr_gnfx
 .type b__MGV22qat_svygre_bcpbqr_gnfx,%object
 b__MGV22qat_svygre_bcpbqr_gnfx:
 .space __SIZEOF_POINTER__
@@ -1648,7 +1648,7 @@
 b__MGF16qat_znyybp_oybpx:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVC10qat_bcpbqr17qat_fgq_nyybpngbeVF2_RR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVC10qat_bcpbqr17qat_fgq_nyybpngbeVF2_RR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVC10qat_bcpbqr17qat_fgq_nyybpngbeVF2_RR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVC10qat_bcpbqr17qat_fgq_nyybpngbeVF2_RR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -1658,7 +1658,7 @@
 b__MAX20qat_fcnpr_PbybeZngpu10VPPCebsvyrREwECXu:
 nop
 .data
-.globl b__MGI31gvss_qat_rkgraqrq_pbybe_cebsvyr
+.weak b__MGI31gvss_qat_rkgraqrq_pbybe_cebsvyr
 .type b__MGI31gvss_qat_rkgraqrq_pbybe_cebsvyr,%object
 b__MGI31gvss_qat_rkgraqrq_pbybe_cebsvyr:
 .space __SIZEOF_POINTER__
@@ -1703,7 +1703,7 @@
 b__MA15qat_bcpbqr_yvfgQ2Ri:
 nop
 .data
-.globl b__MGF14gnt_hvag32_cge
+.weak b__MGF14gnt_hvag32_cge
 .type b__MGF14gnt_hvag32_cge,%object
 b__MGF14gnt_hvag32_cge:
 .space __SIZEOF_POINTER__
@@ -1768,7 +1768,7 @@
 b__MAX12qat_artngvir13NanybtOnynaprRw:
 nop
 .data
-.globl b__MGV7gnt_kzc
+.weak b__MGV7gnt_kzc
 .type b__MGV7gnt_kzc,%object
 b__MGV7gnt_kzc:
 .space __SIZEOF_POINTER__
@@ -1788,7 +1788,7 @@
 b__MAX15qat_jnec_cnenzf8VfABCNyyRi:
 nop
 .data
-.globl b__MGI16GrzcYvggyrRaqvna
+.weak b__MGI16GrzcYvggyrRaqvna
 .type b__MGI16GrzcYvggyrRaqvna,%object
 b__MGI16GrzcYvggyrRaqvna:
 .space __SIZEOF_POINTER__
@@ -1883,7 +1883,7 @@
 b__MAX16qat_wcrt_cerivrj9NqqGntFrgRE18qat_gvss_qverpgbel:
 nop
 .data
-.globl b__MGI19qat_ernq_gvyrf_gnfx
+.weak b__MGI19qat_ernq_gvyrf_gnfx
 .type b__MGI19qat_ernq_gvyrf_gnfx,%object
 b__MGI19qat_ernq_gvyrf_gnfx:
 .space __SIZEOF_POINTER__
@@ -1898,7 +1898,7 @@
 b__MA8qat_ubfg9NyybpngbeRi:
 nop
 .data
-.globl b__MGF15gnt_vpp_cebsvyr
+.weak b__MGF15gnt_vpp_cebsvyr
 .type b__MGF15gnt_vpp_cebsvyr,%object
 b__MGF15gnt_vpp_cebsvyr:
 .space __SIZEOF_POINTER__
@@ -1908,7 +1908,7 @@
 b__MA20qat_ybffyrff_qrpbqre9FgnegErnqREwF0_F0_:
 nop
 .data
-.globl b__MGV16qat_zrzbel_oybpx
+.weak b__MGV16qat_zrzbel_oybpx
 .type b__MGV16qat_zrzbel_oybpx,%object
 b__MGV16qat_zrzbel_oybpx:
 .space __SIZEOF_POINTER__
@@ -2048,7 +2048,7 @@
 b__MA23qat_pnzren_cebsvyr_vasbP1Ri:
 nop
 .data
-.globl b__MGV22qat_tnzzn_rapbqr_cebkl
+.weak b__MGV22qat_tnzzn_rapbqr_cebkl
 .type b__MGV22qat_tnzzn_rapbqr_cebkl,%object
 b__MGV22qat_tnzzn_rapbqr_cebkl:
 .space __SIZEOF_POINTER__
@@ -2153,7 +2153,7 @@
 b__MA16qat_haybpx_zhgrkQ2Ri:
 nop
 .data
-.globl b__MGV21qat_erfnzcyr_shapgvba
+.weak b__MGV21qat_erfnzcyr_shapgvba
 .type b__MGV21qat_erfnzcyr_shapgvba,%object
 b__MGV21qat_erfnzcyr_shapgvba:
 .space __SIZEOF_POINTER__
@@ -2183,7 +2183,7 @@
 b__MAX13qat_nern_fcrp7BireyncREX8qat_erpg:
 nop
 .data
-.globl b__MGI18qat_abvfr_shapgvba
+.weak b__MGI18qat_abvfr_shapgvba
 .type b__MGI18qat_abvfr_shapgvba,%object
 b__MGI18qat_abvfr_shapgvba:
 .space __SIZEOF_POINTER__
@@ -2333,7 +2333,7 @@
 b__MA26qat_bcpbqr_JnecErpgvyvarneP1REX27qat_jnec_cnenzf_erpgvyvarnew:
 nop
 .data
-.globl b__MGF15qat_zngevk_3ol3
+.weak b__MGF15qat_zngevk_3ol3
 .type b__MGF15qat_zngevk_3ol3,%object
 b__MGF15qat_zngevk_3ol3:
 .space __SIZEOF_POINTER__
@@ -2368,7 +2368,7 @@
 b__M13ErfnzcyrVzntrE8qat_ubfgEX9qat_vzntrEF1_EX8qat_erpgF7_EX21qat_erfnzcyr_shapgvba:
 nop
 .data
-.globl b__MGF10gnt_zngevk
+.weak b__MGF10gnt_zngevk
 .type b__MGF10gnt_zngevk,%object
 b__MGF10gnt_zngevk:
 .space __SIZEOF_POINTER__
@@ -2378,7 +2378,7 @@
 b__MA25qat_bcpbqr_QrygnCrePbyhza14ZbqvsvrqObhaqfREX8qat_erpg:
 nop
 .data
-.globl b__MGV18qat_abvfr_shapgvba
+.weak b__MGV18qat_abvfr_shapgvba
 .type b__MGV18qat_abvfr_shapgvba,%object
 b__MGV18qat_abvfr_shapgvba:
 .space __SIZEOF_POINTER__
@@ -2418,7 +2418,7 @@
 b__MA28qat_bcpbqr_SvkIvtarggrEnqvnyP2REX26qat_ivtarggr_enqvny_cnenzfw:
 nop
 .data
-.globl b__MGF11qat_fcbbyre
+.weak b__MGF11qat_fcbbyre
 .type b__MGF11qat_fcbbyre,%object
 b__MGF11qat_fcbbyre:
 .space __SIZEOF_POINTER__
@@ -2448,7 +2448,7 @@
 b__MAX15qat_bcpbqr_yvfg10ZvaIrefvbaRo:
 nop
 .data
-.globl b__MGV20qat_jevgr_gvyrf_gnfx
+.weak b__MGV20qat_jevgr_gvyrf_gnfx
 .type b__MGV20qat_jevgr_gvyrf_gnfx,%object
 b__MGV20qat_jevgr_gvyrf_gnfx:
 .space __SIZEOF_POINTER__
@@ -2468,7 +2468,7 @@
 b__MA15qat_zbfnvp_vasbQ1Ri:
 nop
 .data
-.globl b__MGV15gnt_vpp_cebsvyr
+.weak b__MGV15gnt_vpp_cebsvyr
 .type b__MGV15gnt_vpp_cebsvyr,%object
 b__MGV15gnt_vpp_cebsvyr:
 .space __SIZEOF_POINTER__
@@ -2573,12 +2573,12 @@
 b__MA15qat_zngevk_4ol3P2REX10qat_zngevk:
 nop
 .data
-.globl b__MGI14qat_pbybe_fcrp
+.weak b__MGI14qat_pbybe_fcrp
 .type b__MGI14qat_pbybe_fcrp,%object
 b__MGI14qat_pbybe_fcrp:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGV16GrzcYvggyrRaqvna
+.weak b__MGV16GrzcYvggyrRaqvna
 .type b__MGV16GrzcYvggyrRaqvna,%object
 b__MGV16GrzcYvggyrRaqvna:
 .space __SIZEOF_POINTER__
@@ -2693,7 +2693,7 @@
 b__MA15qat_jnec_cnenzfQ2Ri:
 nop
 .data
-.globl b__MGV34qat_svaq_arj_enj_vzntr_qvtrfg_gnfx
+.weak b__MGV34qat_svaq_arj_enj_vzntr_qvtrfg_gnfx
 .type b__MGV34qat_svaq_arj_enj_vzntr_qvtrfg_gnfx,%object
 b__MGV34qat_svaq_arj_enj_vzntr_qvtrfg_gnfx:
 .space __SIZEOF_POINTER__
@@ -2713,7 +2713,7 @@
 b__MGI8qat_rkvs:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGV28qat_ivtarggr_enqvny_shapgvba
+.weak b__MGV28qat_ivtarggr_enqvny_shapgvba
 .type b__MGV28qat_ivtarggr_enqvny_shapgvba,%object
 b__MGV28qat_ivtarggr_enqvny_shapgvba:
 .space __SIZEOF_POINTER__
@@ -2758,7 +2758,7 @@
 b__MA16qat_vzntr_jevgre17RapbqrWCRTCerivrjRE8qat_ubfgEX9qat_vzntrE16qat_wcrt_cerivrjv:
 nop
 .data
-.globl b__MGV10qat_zngevk
+.weak b__MGV10qat_zngevk
 .type b__MGV10qat_zngevk,%object
 b__MGV10qat_zngevk:
 .space __SIZEOF_POINTER__
@@ -2808,7 +2808,7 @@
 b__MAX15gnt_psn_cnggrea3ChgRE10qat_fgernz:
 nop
 .data
-.globl b__MGV8gvss_gnt
+.weak b__MGV8gvss_gnt
 .type b__MGV8gvss_gnt,%object
 b__MGV8gvss_gnt:
 .space __SIZEOF_POINTER__
@@ -2843,7 +2843,7 @@
 b__MA20qat_ybffyrff_qrpbqre10ArkgZnexreRi:
 nop
 .data
-.globl b__MGV15qat_zngevk_3ol3
+.weak b__MGV15qat_zngevk_3ol3
 .type b__MGV15qat_zngevk_3ol3,%object
 b__MGV15qat_zngevk_3ol3:
 .space __SIZEOF_POINTER__
@@ -2948,7 +2948,7 @@
 b__MA8qat_ubfgQ0Ri:
 nop
 .data
-.globl b__MGF18qat_gvss_qverpgbel
+.weak b__MGF18qat_gvss_qverpgbel
 .type b__MGF18qat_gvss_qverpgbel,%object
 b__MGF18qat_gvss_qverpgbel:
 .space __SIZEOF_POINTER__
@@ -3038,7 +3038,7 @@
 b__MAX15qat_1q_vqragvgl15RinyhngrVairefrRq:
 nop
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSoEX9qat_cbvagF3_RCF1_RRoG0_F8_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSoEX9qat_cbvagF3_RCF1_RRoG0_F8_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSoEX9qat_cbvagF3_RCF1_RRoG0_F8_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSoEX9qat_cbvagF3_RCF1_RRoG0_F8_G_:
 nop
@@ -3153,7 +3153,7 @@
 b__MA16qat_fvzcyr_vzntrP1REX8qat_erpgwwE20qat_zrzbel_nyybpngbe:
 nop
 .text
-.globl b__MA7NhgbCgeV15cebsvyr_gnt_frgRQ2Ri
+.weak b__MA7NhgbCgeV15cebsvyr_gnt_frgRQ2Ri
 .type b__MA7NhgbCgeV15cebsvyr_gnt_frgRQ2Ri,%function
 b__MA7NhgbCgeV15cebsvyr_gnt_frgRQ2Ri:
 nop
@@ -3313,7 +3313,7 @@
 b__MA21qat_snfg_vagrecbyngbeP1REX15qat_zbfnvp_vasbEX9qat_vzntrEF3_EX9qat_cbvagw:
 nop
 .data
-.globl b__MGF21gnt_qat_abvfr_cebsvyr
+.weak b__MGF21gnt_qat_abvfr_cebsvyr
 .type b__MGF21gnt_qat_abvfr_cebsvyr,%object
 b__MGF21gnt_qat_abvfr_cebsvyr:
 .space __SIZEOF_POINTER__
@@ -3353,7 +3353,7 @@
 b__MAX9qat_vzntr10CvkryEnatrRi:
 nop
 .data
-.globl b__MGI13gnt_hvag8_cge
+.weak b__MGI13gnt_hvag8_cge
 .type b__MGI13gnt_hvag8_cge,%object
 b__MGI13gnt_hvag8_cge:
 .space __SIZEOF_POINTER__
@@ -3608,7 +3608,7 @@
 b__M12ErsZncNern16CgwwwvvvCXg:
 nop
 .data
-.globl b__MGF18gnt_rkvs_qngr_gvzr
+.weak b__MGF18gnt_rkvs_qngr_gvzr
 .type b__MGF18gnt_rkvs_qngr_gvzr,%object
 b__MGF18gnt_rkvs_qngr_gvzr:
 .space __SIZEOF_POINTER__
@@ -3718,7 +3718,7 @@
 b__MA8qat_vasb20CnefrFbalCevingrQngnRE8qat_ubfgE10qat_fgernzzzz:
 nop
 .data
-.globl b__MGF26qat_wcrt_vzntr_rapbqr_gnfx
+.weak b__MGF26qat_wcrt_vzntr_rapbqr_gnfx
 .type b__MGF26qat_wcrt_vzntr_rapbqr_gnfx,%object
 b__MGF26qat_wcrt_vzntr_rapbqr_gnfx:
 .space __SIZEOF_POINTER__
@@ -3828,7 +3828,7 @@
 b__MA22qat_bcpbqr_QrygnCreEbj15OhssreCvkryGlcrRw:
 nop
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSoEX8qat_erpgF3_RCF1_RRoG0_F8_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSoEX8qat_erpgF3_RCF1_RRoG0_F8_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSoEX8qat_erpgF3_RCF1_RRoG0_F8_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVECSoEX8qat_erpgF3_RCF1_RRoG0_F8_G_:
 nop
@@ -3848,7 +3848,7 @@
 b__MGF15gnt_psn_cnggrea:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGI17gnt_hengvbany_cge
+.weak b__MGI17gnt_hengvbany_cge
 .type b__MGI17gnt_hengvbany_cge,%object
 b__MGI17gnt_hengvbany_cge:
 .space __SIZEOF_POINTER__
@@ -3893,7 +3893,7 @@
 b__MA20qat_cevbevgl_znantre4JnvgR12qat_cevbevgl:
 nop
 .data
-.globl b__MGV14qat_pbybe_fcrp
+.weak b__MGV14qat_pbybe_fcrp
 .type b__MGV14qat_pbybe_fcrp,%object
 b__MGV14qat_pbybe_fcrp:
 .space __SIZEOF_POINTER__
@@ -3943,12 +3943,12 @@
 b__MA10qat_fgernz18GntInyhr_hengvbanyRw:
 nop
 .data
-.globl b__MGF10gnt_hvag16
+.weak b__MGF10gnt_hvag16
 .type b__MGF10gnt_hvag16,%object
 b__MGF10gnt_hvag16:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGI14gnt_hvag16_cge
+.weak b__MGI14gnt_hvag16_cge
 .type b__MGI14gnt_hvag16_cge,%object
 b__MGI14gnt_hvag16_cge:
 .space __SIZEOF_POINTER__
@@ -3983,7 +3983,7 @@
 b__M16ErsPbclNernE32_8CXsCuwwwvvvvvvw:
 nop
 .data
-.globl b__MGI26qat_wcrt_vzntr_rapbqr_gnfx
+.weak b__MGI26qat_wcrt_vzntr_rapbqr_gnfx
 .type b__MGI26qat_wcrt_vzntr_rapbqr_gnfx,%object
 b__MGI26qat_wcrt_vzntr_rapbqr_gnfx:
 .space __SIZEOF_POINTER__
@@ -3993,7 +3993,7 @@
 b__MA20qat_ybffyrff_rapbqre16JevgrSvyrGenvyreRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVC18qat_pnzren_cebsvyr17qat_fgq_nyybpngbeVF2_RR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVC18qat_pnzren_cebsvyr17qat_fgq_nyybpngbeVF2_RR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVC18qat_pnzren_cebsvyr17qat_fgq_nyybpngbeVF2_RR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVC18qat_pnzren_cebsvyr17qat_fgq_nyybpngbeVF2_RR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -4073,7 +4073,7 @@
 b__MA23qat_jnec_cnenzf_svfurlrP1Ri:
 nop
 .data
-.globl b__MGF15qat_zngevk_4ol3
+.weak b__MGF15qat_zngevk_4ol3
 .type b__MGF15qat_zngevk_4ol3,%object
 b__MGF15qat_zngevk_4ol3:
 .space __SIZEOF_POINTER__
@@ -4208,7 +4208,7 @@
 b__MA10qat_irpgbe5PyrneRi:
 nop
 .data
-.globl b__MGF10qat_irpgbe
+.weak b__MGF10qat_irpgbe
 .type b__MGF10qat_irpgbe,%object
 b__MGF10qat_irpgbe:
 .space __SIZEOF_POINTER__
@@ -4223,7 +4223,7 @@
 b__MAX10gnt_fgevat3ChgRE10qat_fgernz:
 nop
 .data
-.globl b__MGI18qat_gvss_qverpgbel
+.weak b__MGI18qat_gvss_qverpgbel
 .type b__MGI18qat_gvss_qverpgbel,%object
 b__MGI18qat_gvss_qverpgbel:
 .space __SIZEOF_POINTER__
@@ -4243,7 +4243,7 @@
 b__MAX15qat_zbfnvp_vasb16FvmrSbeQbjaFpnyrREX9qat_cbvag:
 nop
 .text
-.globl b__MAFg3__113__irpgbe_onfrV23qat_pnzren_cebsvyr_vasb17qat_fgq_nyybpngbeVF1_RRQ2Ri
+.weak b__MAFg3__113__irpgbe_onfrV23qat_pnzren_cebsvyr_vasb17qat_fgq_nyybpngbeVF1_RRQ2Ri
 .type b__MAFg3__113__irpgbe_onfrV23qat_pnzren_cebsvyr_vasb17qat_fgq_nyybpngbeVF1_RRQ2Ri,%function
 b__MAFg3__113__irpgbe_onfrV23qat_pnzren_cebsvyr_vasb17qat_fgq_nyybpngbeVF1_RRQ2Ri:
 nop
@@ -4358,7 +4358,7 @@
 b__MA21qat_ers_pbhagrq_oybpxnFREXF_:
 nop
 .data
-.globl b__MGF13gnt_hengvbany
+.weak b__MGF13gnt_hengvbany
 .type b__MGF13gnt_hengvbany,%object
 b__MGF13gnt_hengvbany:
 .space __SIZEOF_POINTER__
@@ -4398,7 +4398,7 @@
 b__MA15qat_zq5_cevagre7CebprffRCXiw:
 nop
 .data
-.globl b__MGV18qat_gvss_qverpgbel
+.weak b__MGV18qat_gvss_qverpgbel
 .type b__MGV18qat_gvss_qverpgbel,%object
 b__MGV18qat_gvss_qverpgbel:
 .space __SIZEOF_POINTER__
@@ -4423,12 +4423,12 @@
 b__MA10qat_fgernzQ2Ri:
 nop
 .data
-.globl b__MGF17qat_fcnpr_snxrETO
+.weak b__MGF17qat_fcnpr_snxrETO
 .type b__MGF17qat_fcnpr_snxrETO,%object
 b__MGF17qat_fcnpr_snxrETO:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGI23qat_vacynpr_bcpbqr_gnfx
+.weak b__MGI23qat_vacynpr_bcpbqr_gnfx
 .type b__MGI23qat_vacynpr_bcpbqr_gnfx,%object
 b__MGI23qat_vacynpr_bcpbqr_gnfx:
 .space __SIZEOF_POINTER__
@@ -4453,7 +4453,7 @@
 b__MAX22qat_bcpbqr_QrygnCreEbj7ChgQngnRE10qat_fgernz:
 nop
 .text
-.globl b__MAFg3__16irpgbeV15qat_svatrecevag17qat_fgq_nyybpngbeVF1_RR11__inyybpngrRz
+.weak b__MAFg3__16irpgbeV15qat_svatrecevag17qat_fgq_nyybpngbeVF1_RR11__inyybpngrRz
 .type b__MAFg3__16irpgbeV15qat_svatrecevag17qat_fgq_nyybpngbeVF1_RR11__inyybpngrRz,%function
 b__MAFg3__16irpgbeV15qat_svatrecevag17qat_fgq_nyybpngbeVF1_RR11__inyybpngrRz:
 nop
@@ -4558,7 +4558,7 @@
 b__MGV18qat_pnzren_cebsvyr:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGV22qat_zq5_cevagre_fgernz
+.weak b__MGV22qat_zq5_cevagre_fgernz
 .type b__MGV22qat_zq5_cevagre_fgernz,%object
 b__MGV22qat_zq5_cevagre_fgernz:
 .space __SIZEOF_POINTER__
@@ -4603,7 +4603,7 @@
 b__MA14qat_wcrt_vzntrP2Ri:
 nop
 .data
-.globl b__MGV15qat_zngevk_4ol3
+.weak b__MGV15qat_zngevk_4ol3
 .type b__MGV15qat_zngevk_4ol3,%object
 b__MGV15qat_zngevk_4ol3:
 .space __SIZEOF_POINTER__
@@ -4653,7 +4653,7 @@
 b__MGF16qat_vzntr_jevgre:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGF17qat_onfvp_gnt_frg
+.weak b__MGF17qat_onfvp_gnt_frg
 .type b__MGF17qat_onfvp_gnt_frg,%object
 b__MGF17qat_onfvp_gnt_frg:
 .space __SIZEOF_POINTER__
@@ -4663,7 +4663,7 @@
 b__MA25qat_bcpbqr_QrygnCrePbyhzaP2REX13qat_nern_fcrpE7NhgbCgeV16qat_zrzbel_oybpxR:
 nop
 .data
-.globl b__MGF23qat_vacynpr_bcpbqr_gnfx
+.weak b__MGF23qat_vacynpr_bcpbqr_gnfx
 .type b__MGF23qat_vacynpr_bcpbqr_gnfx,%object
 b__MGF23qat_vacynpr_bcpbqr_gnfx:
 .space __SIZEOF_POINTER__
@@ -4778,7 +4778,7 @@
 b__MGF26qat_shapgvba_rkcbfher_enzc:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__fbegVECSoEX9qat_cbvagF3_RCF1_RRiG0_F8_G_
+.weak b__MAFg3__16__fbegVECSoEX9qat_cbvagF3_RCF1_RRiG0_F8_G_
 .type b__MAFg3__16__fbegVECSoEX9qat_cbvagF3_RCF1_RRiG0_F8_G_,%function
 b__MAFg3__16__fbegVECSoEX9qat_cbvagF3_RCF1_RRiG0_F8_G_:
 nop
@@ -4793,7 +4793,7 @@
 b__MA14qat_pbybe_fcrp15SvaqKLMgbPnzrenREX12qat_kl_pbbeqC10qat_zngevkF4_F4_:
 nop
 .data
-.globl b__MGV26qat_wcrt_vzntr_rapbqr_gnfx
+.weak b__MGV26qat_wcrt_vzntr_rapbqr_gnfx
 .type b__MGV26qat_wcrt_vzntr_rapbqr_gnfx,%object
 b__MGV26qat_wcrt_vzntr_rapbqr_gnfx:
 .space __SIZEOF_POINTER__
@@ -4828,7 +4828,7 @@
 b__MGV20qat_erfnzcyr_jrvtugf:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__17__fbeg4VECSoEX8qat_erpgF3_RCF1_RRwG0_F8_F8_F8_G_
+.weak b__MAFg3__17__fbeg4VECSoEX8qat_erpgF3_RCF1_RRwG0_F8_F8_F8_G_
 .type b__MAFg3__17__fbeg4VECSoEX8qat_erpgF3_RCF1_RRwG0_F8_F8_F8_G_,%function
 b__MAFg3__17__fbeg4VECSoEX8qat_erpgF3_RCF1_RRwG0_F8_F8_F8_G_:
 nop
@@ -4838,7 +4838,7 @@
 b__MA18qat_pnzren_cebsvyr16FrgUhrFngQrygnf1REX15qat_uhr_fng_znc:
 nop
 .data
-.globl b__MGI15qat_zq5_cevagre
+.weak b__MGI15qat_zq5_cevagre
 .type b__MGI15qat_zq5_cevagre,%object
 b__MGI15qat_zq5_cevagre:
 .space __SIZEOF_POINTER__
@@ -4853,7 +4853,7 @@
 b__MGI21qat_snfg_vagrecbyngbe:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGV17qat_fcnpr_snxrETO
+.weak b__MGV17qat_fcnpr_snxrETO
 .type b__MGV17qat_fcnpr_snxrETO,%object
 b__MGV17qat_fcnpr_snxrETO:
 .space __SIZEOF_POINTER__
@@ -4933,7 +4933,7 @@
 b__MA9qat_vzntrQ2Ri:
 nop
 .data
-.globl b__MGI18gnt_rkvs_qngr_gvzr
+.weak b__MGI18gnt_rkvs_qngr_gvzr
 .type b__MGI18gnt_rkvs_qngr_gvzr,%object
 b__MGI18gnt_rkvs_qngr_gvzr:
 .space __SIZEOF_POINTER__
@@ -4973,7 +4973,7 @@
 b__MA16qat_cerivrj_yvfg6NccraqRE7NhgbCgeV11qat_cerivrjR:
 nop
 .data
-.globl b__MGF10gnt_erny64
+.weak b__MGF10gnt_erny64
 .type b__MGF10gnt_erny64,%object
 b__MGF10gnt_erny64:
 .space __SIZEOF_POINTER__
@@ -5073,7 +5073,7 @@
 b__M18YvzvgSybngOvgQrcguE8qat_ubfgEX9qat_vzntrEF1_ws:
 nop
 .data
-.globl b__MGV17qat_onfvp_gnt_frg
+.weak b__MGV17qat_onfvp_gnt_frg
 .type b__MGV17qat_onfvp_gnt_frg,%object
 b__MGV17qat_onfvp_gnt_frg:
 .space __SIZEOF_POINTER__
@@ -5093,7 +5093,7 @@
 b__MA16qat_ymj_rkcnaqreP1Ri:
 nop
 .data
-.globl b__MGV18gnt_rkvs_qngr_gvzr
+.weak b__MGV18gnt_rkvs_qngr_gvzr
 .type b__MGV18gnt_rkvs_qngr_gvzr,%object
 b__MGV18gnt_rkvs_qngr_gvzr:
 .space __SIZEOF_POINTER__
@@ -5198,7 +5198,7 @@
 b__MGI16qat_cvkry_ohssre:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGI10gnt_zngevk
+.weak b__MGI10gnt_zngevk
 .type b__MGI10gnt_zngevk,%object
 b__MGI10gnt_zngevk:
 .space __SIZEOF_POINTER__
@@ -5228,7 +5228,7 @@
 b__MA18qat_bcpbqr_TnvaZncP2REX13qat_nern_fcrpE7NhgbCgeV12qat_tnva_zncR:
 nop
 .data
-.globl b__MGF10gnt_hvag32
+.weak b__MGF10gnt_hvag32
 .type b__MGF10gnt_hvag32,%object
 b__MGF10gnt_hvag32:
 .space __SIZEOF_POINTER__
@@ -5283,7 +5283,7 @@
 b__MA15qat_zrzbel_qngnP2Rw:
 nop
 .data
-.globl b__MGV14gnt_hvag16_cge
+.weak b__MGV14gnt_hvag16_cge
 .type b__MGV14gnt_hvag16_cge,%object
 b__MGV14gnt_hvag16_cge:
 .space __SIZEOF_POINTER__
@@ -5318,7 +5318,7 @@
 b__MGI21qat_pbafg_gvyr_ohssre:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGI12qat_irpgbe_3
+.weak b__MGI12qat_irpgbe_3
 .type b__MGI12qat_irpgbe_3,%object
 b__MGI12qat_irpgbe_3:
 .space __SIZEOF_POINTER__
@@ -5353,7 +5353,7 @@
 b__MA16qat_cvkry_ohssreQ2Ri:
 nop
 .data
-.globl b__MGI12qat_irpgbe_4
+.weak b__MGI12qat_irpgbe_4
 .type b__MGI12qat_irpgbe_4,%object
 b__MGI12qat_irpgbe_4:
 .space __SIZEOF_POINTER__
@@ -5618,7 +5618,7 @@
 b__MA19qat_yvarnevmr_cynarQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeV18qat_abvfr_shapgvba17qat_fgq_nyybpngbeVF1_RR6nffvtaVCF1_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF1_AF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRiR4glcrRF8_F8_
+.weak b__MAFg3__16irpgbeV18qat_abvfr_shapgvba17qat_fgq_nyybpngbeVF1_RR6nffvtaVCF1_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF1_AF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRiR4glcrRF8_F8_
 .type b__MAFg3__16irpgbeV18qat_abvfr_shapgvba17qat_fgq_nyybpngbeVF1_RR6nffvtaVCF1_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF1_AF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRiR4glcrRF8_F8_,%function
 b__MAFg3__16irpgbeV18qat_abvfr_shapgvba17qat_fgq_nyybpngbeVF1_RR6nffvtaVCF1_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF1_AF_15vgrengbe_genvgfVF8_R9ersreraprRRR5inyhrRiR4glcrRF8_F8_:
 nop
@@ -5758,7 +5758,7 @@
 b__MA8qat_vasb10VfInyvqQATRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVq17qat_fgq_nyybpngbeVqRRP2REXF3_
+.weak b__MAFg3__16irpgbeVq17qat_fgq_nyybpngbeVqRRP2REXF3_
 .type b__MAFg3__16irpgbeVq17qat_fgq_nyybpngbeVqRRP2REXF3_,%function
 b__MAFg3__16irpgbeVq17qat_fgq_nyybpngbeVqRRP2REXF3_:
 nop
@@ -5783,7 +5783,7 @@
 b__MA27qat_bcpbqr_SvkOnqCvkryfYvfgP2RE7NhgbCgeV18qat_onq_cvkry_yvfgRw:
 nop
 .data
-.globl b__MGV12qat_irpgbe_3
+.weak b__MGV12qat_irpgbe_3
 .type b__MGV12qat_irpgbe_3,%object
 b__MGV12qat_irpgbe_3:
 .space __SIZEOF_POINTER__
@@ -5808,7 +5808,7 @@
 b__MA21qat_pbafg_gvyr_ohssreQ1Ri:
 nop
 .data
-.globl b__MGV12qat_irpgbe_4
+.weak b__MGV12qat_irpgbe_4
 .type b__MGV12qat_irpgbe_4,%object
 b__MGV12qat_irpgbe_4:
 .space __SIZEOF_POINTER__
@@ -5833,7 +5833,7 @@
 b__MA13GrzcOvtRaqvnaP1RE10qat_fgernzo:
 nop
 .data
-.globl b__MGI13qat_rkprcgvba
+.weak b__MGI13qat_rkprcgvba
 .type b__MGI13qat_rkprcgvba,%object
 b__MGI13qat_rkprcgvba:
 .space __SIZEOF_POINTER__
@@ -5873,12 +5873,12 @@
 b__MA16qat_znyybp_oybpxQ0Ri:
 nop
 .data
-.globl b__MGV21gnt_qat_abvfr_cebsvyr
+.weak b__MGV21gnt_qat_abvfr_cebsvyr
 .type b__MGV21gnt_qat_abvfr_cebsvyr,%object
 b__MGV21gnt_qat_abvfr_cebsvyr:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGI17gnt_fengvbany_cge
+.weak b__MGI17gnt_fengvbany_cge
 .type b__MGI17gnt_fengvbany_cge,%object
 b__MGI17gnt_fengvbany_cge:
 .space __SIZEOF_POINTER__
@@ -5913,7 +5913,7 @@
 b__MA12qat_artngvir16FrgNanybtOnynaprREX10qat_irpgbe:
 nop
 .data
-.globl b__MGF19qat_ernq_gvyrf_gnfx
+.weak b__MGF19qat_ernq_gvyrf_gnfx
 .type b__MGF19qat_ernq_gvyrf_gnfx,%object
 b__MGF19qat_ernq_gvyrf_gnfx:
 .space __SIZEOF_POINTER__
@@ -5928,7 +5928,7 @@
 b__MAX14qat_gbar_pheirrdREXF_:
 nop
 .data
-.globl b__MGV31qat_wcrt_vzntr_svaq_qvtrfg_gnfx
+.weak b__MGV31qat_wcrt_vzntr_svaq_qvtrfg_gnfx
 .type b__MGV31qat_wcrt_vzntr_svaq_qvtrfg_gnfx,%object
 b__MGV31qat_wcrt_vzntr_svaq_qvtrfg_gnfx:
 .space __SIZEOF_POINTER__
@@ -6108,7 +6108,7 @@
 b__MAX9qat_zhgrk9ZhgrkAnzrRi:
 nop
 .data
-.globl b__MGV13qat_rkprcgvba
+.weak b__MGV13qat_rkprcgvba
 .type b__MGV13qat_rkprcgvba,%object
 b__MGV13qat_rkprcgvba:
 .space __SIZEOF_POINTER__
@@ -6178,7 +6178,7 @@
 b__MA15qat_zngevk_3ol3P1REX10qat_zngevk:
 nop
 .data
-.globl b__MGF14qat_pbybe_fcrp
+.weak b__MGF14qat_pbybe_fcrp
 .type b__MGF14qat_pbybe_fcrp,%object
 b__MGF14qat_pbybe_fcrp:
 .space __SIZEOF_POINTER__
@@ -6308,7 +6308,7 @@
 b__MGV21qat_qvegl_gvyr_ohssre:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGI13gnt_fengvbany
+.weak b__MGI13gnt_fengvbany
 .type b__MGI13gnt_fengvbany,%object
 b__MGI13gnt_fengvbany:
 .space __SIZEOF_POINTER__
@@ -6348,7 +6348,7 @@
 b__M14CnefrFgevatGntE10qat_fgernzwwwE10qat_fgevato:
 nop
 .text
-.globl b__MA7NhgbCgeV12qat_tnva_zncRQ2Ri
+.weak b__MA7NhgbCgeV12qat_tnva_zncRQ2Ri
 .type b__MA7NhgbCgeV12qat_tnva_zncRQ2Ri,%function
 b__MA7NhgbCgeV12qat_tnva_zncRQ2Ri:
 nop
@@ -6418,7 +6418,7 @@
 b__MA10qat_fgernz13NfZrzbelOybpxRE20qat_zrzbel_nyybpngbe:
 nop
 .text
-.globl b__MAFg3__113__irpgbe_onfrV7NhgbCgeV16qat_zrzbel_oybpxR17qat_fgq_nyybpngbeVF3_RRQ2Ri
+.weak b__MAFg3__113__irpgbe_onfrV7NhgbCgeV16qat_zrzbel_oybpxR17qat_fgq_nyybpngbeVF3_RRQ2Ri
 .type b__MAFg3__113__irpgbe_onfrV7NhgbCgeV16qat_zrzbel_oybpxR17qat_fgq_nyybpngbeVF3_RRQ2Ri,%function
 b__MAFg3__113__irpgbe_onfrV7NhgbCgeV16qat_zrzbel_oybpxR17qat_fgq_nyybpngbeVF3_RRQ2Ri:
 nop
@@ -6433,7 +6433,7 @@
 b__M14QrpbqrHavkGvzrwE13qat_qngr_gvzr:
 nop
 .text
-.globl b__MA7NhgbCgeV13pbybe_gnt_frgRQ2Ri
+.weak b__MA7NhgbCgeV13pbybe_gnt_frgRQ2Ri
 .type b__MA7NhgbCgeV13pbybe_gnt_frgRQ2Ri,%function
 b__MA7NhgbCgeV13pbybe_gnt_frgRQ2Ri:
 nop
@@ -6553,12 +6553,12 @@
 b__MA16qat_vzntr_jevgreP1Ri:
 nop
 .data
-.globl b__MGV13gnt_fengvbany
+.weak b__MGV13gnt_fengvbany
 .type b__MGV13gnt_fengvbany,%object
 b__MGV13gnt_fengvbany:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGF10qat_zngevk
+.weak b__MGF10qat_zngevk
 .type b__MGF10qat_zngevk,%object
 b__MGF10qat_zngevk:
 .space __SIZEOF_POINTER__
@@ -6638,7 +6638,7 @@
 b__MAX13qat_gvzr_mbar15Rapbqr_VFB_8601Ri:
 nop
 .data
-.globl b__MGV31gvss_qat_rkgraqrq_pbybe_cebsvyr
+.weak b__MGV31gvss_qat_rkgraqrq_pbybe_cebsvyr
 .type b__MGV31gvss_qat_rkgraqrq_pbybe_cebsvyr,%object
 b__MGV31gvss_qat_rkgraqrq_pbybe_cebsvyr:
 .space __SIZEOF_POINTER__
@@ -6668,7 +6668,7 @@
 b__MA9qat_vzntr4GevzREX8qat_erpg:
 nop
 .text
-.globl b__MAFg3__16irpgbeVw17qat_fgq_nyybpngbeVwRR21__chfu_onpx_fybj_cnguVEXwRRiBG_
+.weak b__MAFg3__16irpgbeVw17qat_fgq_nyybpngbeVwRR21__chfu_onpx_fybj_cnguVEXwRRiBG_
 .type b__MAFg3__16irpgbeVw17qat_fgq_nyybpngbeVwRR21__chfu_onpx_fybj_cnguVEXwRRiBG_,%function
 b__MAFg3__16irpgbeVw17qat_fgq_nyybpngbeVwRR21__chfu_onpx_fybj_cnguVEXwRRiBG_:
 nop
@@ -6768,7 +6768,7 @@
 b__MAX12qat_artngvir19SvaqEnjQngnHavdhrVQRE8qat_ubfg:
 nop
 .data
-.globl b__MGI10gnt_hvag16
+.weak b__MGI10gnt_hvag16
 .type b__MGI10gnt_hvag16,%object
 b__MGI10gnt_hvag16:
 .space __SIZEOF_POINTER__
@@ -6823,7 +6823,7 @@
 b__MA8qat_rkvs13RapbqrSAhzoreRq:
 nop
 .data
-.globl b__MGF7gnt_kzc
+.weak b__MGF7gnt_kzc
 .type b__MGF7gnt_kzc,%object
 b__MGF7gnt_kzc:
 .space __SIZEOF_POINTER__
@@ -7018,12 +7018,12 @@
 b__MA31qat_bcpbqr_SvkOnqCvkryfPbafgnagP1RE10qat_fgernz:
 nop
 .text
-.globl b__MAFg3__16irpgbeV16qat_cbvag_erny6417qat_fgq_nyybpngbeVF1_RR8__nccraqRz
+.weak b__MAFg3__16irpgbeV16qat_cbvag_erny6417qat_fgq_nyybpngbeVF1_RR8__nccraqRz
 .type b__MAFg3__16irpgbeV16qat_cbvag_erny6417qat_fgq_nyybpngbeVF1_RR8__nccraqRz,%function
 b__MAFg3__16irpgbeV16qat_cbvag_erny6417qat_fgq_nyybpngbeVF1_RR8__nccraqRz:
 nop
 .data
-.globl b__MGI21gnt_qat_abvfr_cebsvyr
+.weak b__MGI21gnt_qat_abvfr_cebsvyr
 .type b__MGI21gnt_qat_abvfr_cebsvyr,%object
 b__MGI21gnt_qat_abvfr_cebsvyr:
 .space __SIZEOF_POINTER__
@@ -7033,7 +7033,7 @@
 b__MA20qat_ybffyrff_rapbqre15JevgrSvyrUrnqreRi:
 nop
 .data
-.globl b__MGI10qat_irpgbe
+.weak b__MGI10qat_irpgbe
 .type b__MGI10qat_irpgbe,%object
 b__MGI10qat_irpgbe:
 .space __SIZEOF_POINTER__
@@ -7043,7 +7043,7 @@
 b__MA12qat_artngvir4ZnxrRE8qat_ubfg:
 nop
 .data
-.globl b__MGF9gnt_hvag8
+.weak b__MGF9gnt_hvag8
 .type b__MGF9gnt_hvag8,%object
 b__MGF9gnt_hvag8:
 .space __SIZEOF_POINTER__
@@ -7063,7 +7063,7 @@
 b__MA18qat_ymj_pbzcerffbe8NqqGnoyrRvv:
 nop
 .data
-.globl b__MGF28qat_ivtarggr_enqvny_shapgvba
+.weak b__MGF28qat_ivtarggr_enqvny_shapgvba
 .type b__MGF28qat_ivtarggr_enqvny_shapgvba,%object
 b__MGF28qat_ivtarggr_enqvny_shapgvba:
 .space __SIZEOF_POINTER__
@@ -7103,7 +7103,7 @@
 b__MGV22qat_bcpbqr_QrygnCreEbj:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGV19qat_ernq_gvyrf_gnfx
+.weak b__MGV19qat_ernq_gvyrf_gnfx
 .type b__MGV19qat_ernq_gvyrf_gnfx,%object
 b__MGV19qat_ernq_gvyrf_gnfx:
 .space __SIZEOF_POINTER__
@@ -7258,7 +7258,7 @@
 b__MAX10qat_fgevat3TrgRi:
 nop
 .data
-.globl b__MGI20qat_jevgr_gvyrf_gnfx
+.weak b__MGI20qat_jevgr_gvyrf_gnfx
 .type b__MGI20qat_jevgr_gvyrf_gnfx,%object
 b__MGI20qat_jevgr_gvyrf_gnfx:
 .space __SIZEOF_POINTER__
@@ -7368,7 +7368,7 @@
 b__MAX12qat_tnva_znc9ChgFgernzRE10qat_fgernz:
 nop
 .data
-.globl b__MGF22qat_svygre_bcpbqr_gnfx
+.weak b__MGF22qat_svygre_bcpbqr_gnfx
 .type b__MGF22qat_svygre_bcpbqr_gnfx,%object
 b__MGF22qat_svygre_bcpbqr_gnfx:
 .space __SIZEOF_POINTER__
@@ -7428,7 +7428,7 @@
 b__MA12qat_artngvir12FrgEbjOynpxfRCXqw:
 nop
 .data
-.globl b__MGI22qat_svygre_bcpbqr_gnfx
+.weak b__MGI22qat_svygre_bcpbqr_gnfx
 .type b__MGI22qat_svygre_bcpbqr_gnfx,%object
 b__MGI22qat_svygre_bcpbqr_gnfx:
 .space __SIZEOF_POINTER__
@@ -7478,7 +7478,7 @@
 b__MA23qat_erfnzcyr_jrvtugf_2qP2Ri:
 nop
 .text
-.globl b__MAFg3__113__irpgbe_onfrV18qat_abvfr_shapgvba17qat_fgq_nyybpngbeVF1_RRQ2Ri
+.weak b__MAFg3__113__irpgbe_onfrV18qat_abvfr_shapgvba17qat_fgq_nyybpngbeVF1_RRQ2Ri
 .type b__MAFg3__113__irpgbe_onfrV18qat_abvfr_shapgvba17qat_fgq_nyybpngbeVF1_RRQ2Ri,%function
 b__MAFg3__113__irpgbe_onfrV18qat_abvfr_shapgvba17qat_fgq_nyybpngbeVF1_RRQ2Ri:
 nop
@@ -7538,17 +7538,17 @@
 b__MAX15qat_bevragngvba5SyvcURi:
 nop
 .text
-.globl b__MA7NhgbCgeV18qat_onq_cvkry_yvfgRQ2Ri
+.weak b__MA7NhgbCgeV18qat_onq_cvkry_yvfgRQ2Ri
 .type b__MA7NhgbCgeV18qat_onq_cvkry_yvfgRQ2Ri,%function
 b__MA7NhgbCgeV18qat_onq_cvkry_yvfgRQ2Ri:
 nop
 .data
-.globl b__MGF14gnt_hvag16_cge
+.weak b__MGF14gnt_hvag16_cge
 .type b__MGF14gnt_hvag16_cge,%object
 b__MGF14gnt_hvag16_cge:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGI7gnt_kzc
+.weak b__MGI7gnt_kzc
 .type b__MGI7gnt_kzc,%object
 b__MGI7gnt_kzc:
 .space __SIZEOF_POINTER__
@@ -7563,7 +7563,7 @@
 b__MAX15qat_grzcrengher12Trg_kl_pbbeqRi:
 nop
 .data
-.globl b__MGF15qat_zq5_cevagre
+.weak b__MGF15qat_zq5_cevagre
 .type b__MGF15qat_zq5_cevagre,%object
 b__MGF15qat_zq5_cevagre:
 .space __SIZEOF_POINTER__
@@ -7618,7 +7618,7 @@
 b__MA16qat_vzntr_jevgre9JevgrGvyrRE8qat_ubfgEX7qat_vsqE10qat_fgernzEX9qat_vzntrEX8qat_erpgwE7NhgbCgeV16qat_zrzbel_oybpxRFT_FT_FT_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVq17qat_fgq_nyybpngbeVqRR21__chfu_onpx_fybj_cnguVEXqRRiBG_
+.weak b__MAFg3__16irpgbeVq17qat_fgq_nyybpngbeVqRR21__chfu_onpx_fybj_cnguVEXqRRiBG_
 .type b__MAFg3__16irpgbeVq17qat_fgq_nyybpngbeVqRR21__chfu_onpx_fybj_cnguVEXqRRiBG_,%function
 b__MAFg3__16irpgbeVq17qat_fgq_nyybpngbeVqRR21__chfu_onpx_fybj_cnguVEXqRRiBG_:
 nop
@@ -7678,12 +7678,12 @@
 b__M8CPFgbKLMi:
 nop
 .data
-.globl b__MGF20qat_jevgr_gvyrf_gnfx
+.weak b__MGF20qat_jevgr_gvyrf_gnfx
 .type b__MGF20qat_jevgr_gvyrf_gnfx,%object
 b__MGF20qat_jevgr_gvyrf_gnfx:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGI14gnt_hvag32_cge
+.weak b__MGI14gnt_hvag32_cge
 .type b__MGI14gnt_hvag32_cge,%object
 b__MGI14gnt_hvag32_cge:
 .space __SIZEOF_POINTER__
@@ -7773,7 +7773,7 @@
 b__MA20qat_ybffyrff_qrpbqre7TrgNcc0Ri:
 nop
 .data
-.globl b__MGI10gnt_erny64
+.weak b__MGI10gnt_erny64
 .type b__MGI10gnt_erny64,%object
 b__MGI10gnt_erny64:
 .space __SIZEOF_POINTER__
@@ -7908,7 +7908,7 @@
 b__MA14qat_ernq_vzntr7PnaErnqREX7qat_vsq:
 nop
 .data
-.globl b__MGF17gnt_hengvbany_cge
+.weak b__MGF17gnt_hengvbany_cge
 .type b__MGF17gnt_hengvbany_cge,%object
 b__MGF17gnt_hengvbany_cge:
 .space __SIZEOF_POINTER__
@@ -7918,7 +7918,7 @@
 b__MA17GrzcFgernzFavssreQ0Ri:
 nop
 .text
-.globl b__MA7NhgbCgeV19qat_yvarnevmr_cynarRQ2Ri
+.weak b__MA7NhgbCgeV19qat_yvarnevmr_cynarRQ2Ri
 .type b__MA7NhgbCgeV19qat_yvarnevmr_cynarRQ2Ri,%function
 b__MA7NhgbCgeV19qat_yvarnevmr_cynarRQ2Ri:
 nop
@@ -7943,7 +7943,7 @@
 b__MAX26qat_qngr_gvzr_fgbentr_vasb7VfInyvqRi:
 nop
 .data
-.globl b__MGF22qat_tnzzn_rapbqr_cebkl
+.weak b__MGF22qat_tnzzn_rapbqr_cebkl
 .type b__MGF22qat_tnzzn_rapbqr_cebkl,%object
 b__MGF22qat_tnzzn_rapbqr_cebkl:
 .space __SIZEOF_POINTER__
@@ -7978,7 +7978,7 @@
 b__MA19qat_yvarnevmr_cynarP2RE8qat_ubfgE22qat_yvarnevmngvba_vasbEX9qat_vzntrEF4_w:
 nop
 .data
-.globl b__MGF12qat_irpgbe_3
+.weak b__MGF12qat_irpgbe_3
 .type b__MGF12qat_irpgbe_3,%object
 b__MGF12qat_irpgbe_3:
 .space __SIZEOF_POINTER__
@@ -7988,7 +7988,7 @@
 b__MA15qat_bevragngvba7FrgGVSSRw:
 nop
 .data
-.globl b__MGI22qat_tnzzn_rapbqr_cebkl
+.weak b__MGI22qat_tnzzn_rapbqr_cebkl
 .type b__MGI22qat_tnzzn_rapbqr_cebkl,%object
 b__MGI22qat_tnzzn_rapbqr_cebkl:
 .space __SIZEOF_POINTER__
@@ -8003,12 +8003,12 @@
 b__MA15qat_svygre_gnfxQ1Ri:
 nop
 .data
-.globl b__MGI17qat_onfvp_gnt_frg
+.weak b__MGI17qat_onfvp_gnt_frg
 .type b__MGI17qat_onfvp_gnt_frg,%object
 b__MGI17qat_onfvp_gnt_frg:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGF12qat_irpgbe_4
+.weak b__MGF12qat_irpgbe_4
 .type b__MGF12qat_irpgbe_4,%object
 b__MGF12qat_irpgbe_4:
 .space __SIZEOF_POINTER__
@@ -8023,7 +8023,7 @@
 b__MAX18qat_onq_cvkry_yvfg15VfCbvagVfbyngrqRww:
 nop
 .data
-.globl b__MGI10gnt_hvag32
+.weak b__MGI10gnt_hvag32
 .type b__MGI10gnt_hvag32,%object
 b__MGI10gnt_hvag32:
 .space __SIZEOF_POINTER__
@@ -8083,12 +8083,12 @@
 b__MA7qat_vsq10VfInyvqQATRE10qat_funerqw:
 nop
 .data
-.globl b__MGF13gnt_hvag8_cge
+.weak b__MGF13gnt_hvag8_cge
 .type b__MGF13gnt_hvag8_cge,%object
 b__MGF13gnt_hvag8_cge:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGV15qat_zq5_cevagre
+.weak b__MGV15qat_zq5_cevagre
 .type b__MGV15qat_zq5_cevagre,%object
 b__MGV15qat_zq5_cevagre:
 .space __SIZEOF_POINTER__
@@ -8143,7 +8143,7 @@
 b__MA21qat_fcnpr_TenlTnzzn18P1Ri:
 nop
 .data
-.globl b__MGV10gnt_zngevk
+.weak b__MGV10gnt_zngevk
 .type b__MGV10gnt_zngevk,%object
 b__MGV10gnt_zngevk:
 .space __SIZEOF_POINTER__
@@ -8218,7 +8218,7 @@
 b__MA10qat_fgernz15GntInyhr_hvag32Rw:
 nop
 .data
-.globl b__MGV9gnt_hvag8
+.weak b__MGV9gnt_hvag8
 .type b__MGV9gnt_hvag8,%object
 b__MGV9gnt_hvag8:
 .space __SIZEOF_POINTER__
@@ -8268,7 +8268,7 @@
 b__MA14qat_ernq_vzntrP2Ri:
 nop
 .data
-.globl b__MGV17gnt_hengvbany_cge
+.weak b__MGV17gnt_hengvbany_cge
 .type b__MGV17gnt_hengvbany_cge,%object
 b__MGV17gnt_hengvbany_cge:
 .space __SIZEOF_POINTER__
@@ -8293,7 +8293,7 @@
 b__MA8qat_ubfgQ2Ri:
 nop
 .data
-.globl b__MGI28qat_ivtarggr_enqvny_shapgvba
+.weak b__MGI28qat_ivtarggr_enqvny_shapgvba
 .type b__MGI28qat_ivtarggr_enqvny_shapgvba,%object
 b__MGI28qat_ivtarggr_enqvny_shapgvba:
 .space __SIZEOF_POINTER__
@@ -8358,7 +8358,7 @@
 b__MGV13qat_nern_gnfx:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__118__vafregvba_fbeg_3VECSoEX9qat_cbvagF3_RCF1_RRiG0_F8_G_
+.weak b__MAFg3__118__vafregvba_fbeg_3VECSoEX9qat_cbvagF3_RCF1_RRiG0_F8_G_
 .type b__MAFg3__118__vafregvba_fbeg_3VECSoEX9qat_cbvagF3_RCF1_RRiG0_F8_G_,%function
 b__MAFg3__118__vafregvba_fbeg_3VECSoEX9qat_cbvagF3_RCF1_RRiG0_F8_G_:
 nop
@@ -8593,7 +8593,7 @@
 b__MA17qat_fcyvar_fbyireQ0Ri:
 nop
 .text
-.globl b__MAFg3__118__vafregvba_fbeg_3VECSoEX8qat_erpgF3_RCF1_RRiG0_F8_G_
+.weak b__MAFg3__118__vafregvba_fbeg_3VECSoEX8qat_erpgF3_RCF1_RRiG0_F8_G_
 .type b__MAFg3__118__vafregvba_fbeg_3VECSoEX8qat_erpgF3_RCF1_RRiG0_F8_G_,%function
 b__MAFg3__118__vafregvba_fbeg_3VECSoEX8qat_erpgF3_RCF1_RRiG0_F8_G_:
 nop
@@ -8728,7 +8728,7 @@
 b__MA15qat_zq5_cevagre12ZQ5GenafsbezRCwCXu:
 nop
 .data
-.globl b__MGI15gnt_vpp_cebsvyr
+.weak b__MGI15gnt_vpp_cebsvyr
 .type b__MGI15gnt_vpp_cebsvyr,%object
 b__MGI15gnt_vpp_cebsvyr:
 .space __SIZEOF_POINTER__
@@ -8758,7 +8758,7 @@
 b__MAX15qat_enj_cerivrj9NqqGntFrgRE18qat_gvss_qverpgbel:
 nop
 .text
-.globl b__MAFg3__16__fbegVECSoEX8qat_erpgF3_RCF1_RRiG0_F8_G_
+.weak b__MAFg3__16__fbegVECSoEX8qat_erpgF3_RCF1_RRiG0_F8_G_
 .type b__MAFg3__16__fbegVECSoEX8qat_erpgF3_RCF1_RRiG0_F8_G_,%function
 b__MAFg3__16__fbegVECSoEX8qat_erpgF3_RCF1_RRiG0_F8_G_:
 nop
@@ -8928,7 +8928,7 @@
 b__MA21qat_pbafg_gvyr_ohssreP2REX9qat_vzntrEX8qat_erpg:
 nop
 .data
-.globl b__MGF34qat_svaq_arj_enj_vzntr_qvtrfg_gnfx
+.weak b__MGF34qat_svaq_arj_enj_vzntr_qvtrfg_gnfx
 .type b__MGF34qat_svaq_arj_enj_vzntr_qvtrfg_gnfx,%object
 b__MGF34qat_svaq_arj_enj_vzntr_qvtrfg_gnfx:
 .space __SIZEOF_POINTER__
@@ -8943,7 +8943,7 @@
 b__MA10qat_zngevk11FrgVqragvglRw:
 nop
 .data
-.globl b__MGV14gnt_hvag32_cge
+.weak b__MGV14gnt_hvag32_cge
 .type b__MGV14gnt_hvag32_cge,%object
 b__MGV14gnt_hvag32_cge:
 .space __SIZEOF_POINTER__
@@ -9073,17 +9073,17 @@
 b__MA9qat_vzntrQ0Ri:
 nop
 .data
-.globl b__MGI15qat_zngevk_3ol3
+.weak b__MGI15qat_zngevk_3ol3
 .type b__MGI15qat_zngevk_3ol3,%object
 b__MGI15qat_zngevk_3ol3:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGI34qat_svaq_arj_enj_vzntr_qvtrfg_gnfx
+.weak b__MGI34qat_svaq_arj_enj_vzntr_qvtrfg_gnfx
 .type b__MGI34qat_svaq_arj_enj_vzntr_qvtrfg_gnfx,%object
 b__MGI34qat_svaq_arj_enj_vzntr_qvtrfg_gnfx:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeV8qat_erpg17qat_fgq_nyybpngbeVF1_RR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
+.weak b__MAFg3__16irpgbeV8qat_erpg17qat_fgq_nyybpngbeVF1_RR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_
 .type b__MAFg3__16irpgbeV8qat_erpg17qat_fgq_nyybpngbeVF1_RR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_,%function
 b__MAFg3__16irpgbeV8qat_erpg17qat_fgq_nyybpngbeVF1_RR21__chfu_onpx_fybj_cnguVEXF1_RRiBG_:
 nop
@@ -9118,7 +9118,7 @@
 b__MA10qat_fgernz10Chg_hvag32Rw:
 nop
 .text
-.globl b__MAFg3__17__fbeg4VECSoEX9qat_cbvagF3_RCF1_RRwG0_F8_F8_F8_G_
+.weak b__MAFg3__17__fbeg4VECSoEX9qat_cbvagF3_RCF1_RRwG0_F8_F8_F8_G_
 .type b__MAFg3__17__fbeg4VECSoEX9qat_cbvagF3_RCF1_RRwG0_F8_F8_F8_G_,%function
 b__MAFg3__17__fbeg4VECSoEX9qat_cbvagF3_RCF1_RRwG0_F8_F8_F8_G_:
 nop
@@ -9133,7 +9133,7 @@
 b__MA23qat_erfnzcyr_jrvtugf_2qQ2Ri:
 nop
 .data
-.globl b__MGF21qat_erfnzcyr_shapgvba
+.weak b__MGF21qat_erfnzcyr_shapgvba
 .type b__MGF21qat_erfnzcyr_shapgvba,%object
 b__MGF21qat_erfnzcyr_shapgvba:
 .space __SIZEOF_POINTER__
@@ -9153,7 +9153,7 @@
 b__MA16qat_znyybp_oybpxP2Rw:
 nop
 .data
-.globl b__MGV11qat_fcbbyre
+.weak b__MGV11qat_fcbbyre
 .type b__MGV11qat_fcbbyre,%object
 b__MGV11qat_fcbbyre:
 .space __SIZEOF_POINTER__
@@ -9168,7 +9168,7 @@
 b__MA16qat_vzntr_jevgreP2Ri:
 nop
 .data
-.globl b__MGI13gnt_hengvbany
+.weak b__MGI13gnt_hengvbany
 .type b__MGI13gnt_hengvbany,%object
 b__MGI13gnt_hengvbany:
 .space __SIZEOF_POINTER__
@@ -9178,7 +9178,7 @@
 b__MA27qat_jnec_cnenzf_erpgvyvarneP2RwCX10qat_irpgbeF2_EX16qat_cbvag_erny64:
 nop
 .data
-.globl b__MGF16qat_zrzbel_oybpx
+.weak b__MGF16qat_zrzbel_oybpx
 .type b__MGF16qat_zrzbel_oybpx,%object
 b__MGF16qat_zrzbel_oybpx:
 .space __SIZEOF_POINTER__
@@ -9298,7 +9298,7 @@
 b__MA26qat_ivtarggr_enqvny_cnenzfP1REXAFg3__16irpgbeVq17qat_fgq_nyybpngbeVqRRREX16qat_cbvag_erny64:
 nop
 .data
-.globl b__MGI10qat_zngevk
+.weak b__MGI10qat_zngevk
 .type b__MGI10qat_zngevk,%object
 b__MGI10qat_zngevk:
 .space __SIZEOF_POINTER__
@@ -9393,7 +9393,7 @@
 b__MGV7qat_vsq:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGV13gnt_hengvbany
+.weak b__MGV13gnt_hengvbany
 .type b__MGV13gnt_hengvbany,%object
 b__MGV13gnt_hengvbany:
 .space __SIZEOF_POINTER__
@@ -9428,7 +9428,7 @@
 b__MA17qat_fcyvar_fbyireP1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeV23qat_pnzren_cebsvyr_vasb17qat_fgq_nyybpngbeVF1_RR7erfreirRz
+.weak b__MAFg3__16irpgbeV23qat_pnzren_cebsvyr_vasb17qat_fgq_nyybpngbeVF1_RR7erfreirRz
 .type b__MAFg3__16irpgbeV23qat_pnzren_cebsvyr_vasb17qat_fgq_nyybpngbeVF1_RR7erfreirRz,%function
 b__MAFg3__16irpgbeV23qat_pnzren_cebsvyr_vasb17qat_fgq_nyybpngbeVF1_RR7erfreirRz:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_140.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_140.S
index afc12cc..8333641 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_140.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_140.S
@@ -63,7 +63,7 @@
 b__MAX4cvrk14gvss_qverpgbel13GvssQverpgbel17TrgFhoQverpgbevrfRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA4cvrk14gvss_qverpgbel13GvssQverpgbelRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
+.weak b__MAFg3__16irpgbeVA4cvrk14gvss_qverpgbel13GvssQverpgbelRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
 .type b__MAFg3__16irpgbeVA4cvrk14gvss_qverpgbel13GvssQverpgbelRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_,%function
 b__MAFg3__16irpgbeVA4cvrk14gvss_qverpgbel13GvssQverpgbelRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_:
 nop
@@ -73,7 +73,7 @@
 b__MAX4cvrk14gvss_qverpgbel13GvssQverpgbel4SvaqRw:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR21__chfu_onpx_fybj_cnguVuRRiBG_
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR21__chfu_onpx_fybj_cnguVuRRiBG_
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR21__chfu_onpx_fybj_cnguVuRRiBG_,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR21__chfu_onpx_fybj_cnguVuRRiBG_:
 nop
@@ -88,7 +88,7 @@
 b__MA4cvrk10GvssCnefreP1RCAF_15FgernzVagresnprR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA4cvrk14gvss_qverpgbel13GvssQverpgbel14QverpgbelRagelRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA4cvrk14gvss_qverpgbel13GvssQverpgbel14QverpgbelRagelRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA4cvrk14gvss_qverpgbel13GvssQverpgbel14QverpgbelRagelRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA4cvrk14gvss_qverpgbel13GvssQverpgbel14QverpgbelRagelRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR7qrfgeblRCAF_11__gerr_abqrVF6_CiRR:
 nop
@@ -103,7 +103,7 @@
 b__MAX4cvrk12ovanel_cnefr19EnatrPurpxrqOlgrCge13bssfrgVaNeenlRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR7qrfgeblRCAF_11__gerr_abqrVwCiRR
+.weak b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR7qrfgeblRCAF_11__gerr_abqrVwCiRR
 .type b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR7qrfgeblRCAF_11__gerr_abqrVwCiRR,%function
 b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR7qrfgeblRCAF_11__gerr_abqrVwCiRR:
 nop
@@ -123,7 +123,7 @@
 b__MA4cvrk22vzntr_glcr_erpbtavgvba8VfBsGlcrREXAF_12ovanel_cnefr19EnatrPurpxrqOlgrCgeRAF0_13EnjVzntrGlcrfR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA4cvrk14gvss_qverpgbel8EngvbanyRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_
+.weak b__MAFg3__16irpgbeVA4cvrk14gvss_qverpgbel8EngvbanyRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_
 .type b__MAFg3__16irpgbeVA4cvrk14gvss_qverpgbel8EngvbanyRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_,%function
 b__MAFg3__16irpgbeVA4cvrk14gvss_qverpgbel8EngvbanyRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_:
 nop
@@ -143,12 +143,12 @@
 b__MA4cvrk14gvss_qverpgbel13GvssQverpgbel8NqqRagelRwwwwEXAFg3__16irpgbeVuAF2_9nyybpngbeVuRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRRP2REXF3_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRRP2REXF3_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRRP2REXF3_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRRP2REXF3_:
 nop
@@ -178,7 +178,7 @@
 b__MA4cvrk12ovanel_cnefr6Trg32fREXAF0_19EnatrPurpxrqOlgrCgeRoCAF0_12ZrzbelFgnghfR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVEXwRRiBG_:
 nop
@@ -228,7 +228,7 @@
 b__MAX4cvrk12ovanel_cnefr19EnatrPurpxrqOlgrCge12rkgenpgOlgrfRzz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA4cvrk14gvss_qverpgbel13GvssQverpgbel14QverpgbelRagelRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR12__svaq_rdhnyVwRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_FT_RRyRRECAF_15__gerr_raq_abqrVFV_RRFW_EXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA4cvrk14gvss_qverpgbel13GvssQverpgbel14QverpgbelRagelRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR12__svaq_rdhnyVwRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_FT_RRyRRECAF_15__gerr_raq_abqrVFV_RRFW_EXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA4cvrk14gvss_qverpgbel13GvssQverpgbel14QverpgbelRagelRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR12__svaq_rdhnyVwRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_FT_RRyRRECAF_15__gerr_raq_abqrVFV_RRFW_EXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA4cvrk14gvss_qverpgbel13GvssQverpgbel14QverpgbelRagelRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR12__svaq_rdhnyVwRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVF6_CAF_11__gerr_abqrVF6_FT_RRyRRECAF_15__gerr_raq_abqrVFV_RRFW_EXG_:
 nop
@@ -353,7 +353,7 @@
 b__MAX4cvrk12ovanel_cnefr19EnatrPurpxrqOlgrCge17cbvagreGbFhoNeenlRzz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6nffvtaVCwRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6nffvtaVCwRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6nffvtaVCwRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR6nffvtaVCwRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVwAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_:
 nop
@@ -368,7 +368,7 @@
 b__MA4cvrk6Trg32hRCAF_15FgernzVagresnprRwEXAF_14gvss_qverpgbel6RaqvnaRCw:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -388,7 +388,7 @@
 b__MAX4cvrk14gvss_qverpgbel13GvssQverpgbel3UnfRw:
 nop
 .text
-.globl b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR12__svaq_rdhnyVwRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwF8_RRyRRECAF_15__gerr_raq_abqrVFN_RRFO_EXG_
+.weak b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR12__svaq_rdhnyVwRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwF8_RRyRRECAF_15__gerr_raq_abqrVFN_RRFO_EXG_
 .type b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR12__svaq_rdhnyVwRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwF8_RRyRRECAF_15__gerr_raq_abqrVFN_RRFO_EXG_,%function
 b__MAFg3__16__gerrVwAF_4yrffVwRRAF_9nyybpngbeVwRRR12__svaq_rdhnyVwRRECAF_16__gerr_abqr_onfrVCiRRAF_21__gerr_pbafg_vgrengbeVwCAF_11__gerr_abqrVwF8_RRyRRECAF_15__gerr_raq_abqrVFN_RRFO_EXG_:
 nop
@@ -398,7 +398,7 @@
 b__MA4cvrk19TrgCerivrjVzntrQngnRCAF_15FgernzVagresnprRCAF_16CerivrjVzntrQngnR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6nffvtaVCuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6nffvtaVCuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6nffvtaVCuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR6nffvtaVCuRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVuAF_15vgrengbe_genvgfVF7_R9ersreraprRRR5inyhrRiR4glcrRF7_F7_:
 nop
@@ -418,7 +418,7 @@
 b__MA4cvrk20TrgShyyPebcQvzrafvbaREXAF_14gvss_qverpgbel13GvssQverpgbelRCwF4_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA4cvrk14gvss_qverpgbel13GvssQverpgbel14QverpgbelRagelRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXwF5_RRRRRAF_10havdhr_cgeVAF_11__gerr_abqrVF6_CiRRAF_22__gerr_abqr_qrfgehpgbeVAFO_VFA_RRRRRRQcBG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA4cvrk14gvss_qverpgbel13GvssQverpgbel14QverpgbelRagelRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXwF5_RRRRRAF_10havdhr_cgeVAF_11__gerr_abqrVF6_CiRRAF_22__gerr_abqr_qrfgehpgbeVAFO_VFA_RRRRRRQcBG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA4cvrk14gvss_qverpgbel13GvssQverpgbel14QverpgbelRagelRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXwF5_RRRRRAF_10havdhr_cgeVAF_11__gerr_abqrVF6_CiRRAF_22__gerr_abqr_qrfgehpgbeVAFO_VFA_RRRRRRQcBG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVwA4cvrk14gvss_qverpgbel13GvssQverpgbel14QverpgbelRagelRRRAF_19__znc_inyhr_pbzcnerVwF6_AF_4yrffVwRRYo1RRRAF_9nyybpngbeVF6_RRR16__pbafgehpg_abqrVWEXAF_4cnveVXwF5_RRRRRAF_10havdhr_cgeVAF_11__gerr_abqrVF6_CiRRAF_22__gerr_abqr_qrfgehpgbeVAFO_VFA_RRRRRRQcBG_:
 nop
@@ -438,7 +438,7 @@
 b__MA4cvrk13TrgRaqvnaarffRwCAF_15FgernzVagresnprRCAF_14gvss_qverpgbel6RaqvnaR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA4cvrk14gvss_qverpgbel9FEngvbanyRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_
+.weak b__MAFg3__16irpgbeVA4cvrk14gvss_qverpgbel9FEngvbanyRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_
 .type b__MAFg3__16irpgbeVA4cvrk14gvss_qverpgbel9FEngvbanyRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_,%function
 b__MAFg3__16irpgbeVA4cvrk14gvss_qverpgbel9FEngvbanyRAF_9nyybpngbeVF3_RRR6nffvtaVCF3_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF3_AF_15vgrengbe_genvgfVFN_R9ersreraprRRR5inyhrRiR4glcrRFN_FN_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_143.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_143.S
index 9ff873a..71a8f1e 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_143.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_143.S
@@ -28,7 +28,7 @@
 b__M17perngrUrvsQrpbqrei:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_11VQngnFbheprRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_11VQngnFbheprRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_11VQngnFbheprRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_11VQngnFbheprRR10baNfOvaqreRi:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_146.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_146.S
index 43b2ff0..b8bcbb4 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_146.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_146.S
@@ -3,7 +3,7 @@
 .data
 .p2align 4
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -23,7 +23,7 @@
 b__MA7naqebvq8uneqjner8zrzgenpx4I1_09VZrzgenpx21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -58,12 +58,12 @@
 b__MA7naqebvq8uneqjner8zrzgenpx4I1_09VZrzgenpx24ertvfgreSbeAbgvsvpngvbafREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRREXAF_2fcVAF_4uvqy7znantre4I1_020VFreivprAbgvsvpngvbaRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -93,7 +93,7 @@
 b__MA7naqebvq8uneqjner8zrzgenpx4I1_012OcUjZrzgenpxP2REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8zrzgenpx4I1_09VZrzgenpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjZrzgenpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8zrzgenpx4I1_09VZrzgenpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjZrzgenpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8zrzgenpx4I1_09VZrzgenpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjZrzgenpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_8zrzgenpx4I1_09VZrzgenpxRAF_4uvqy4onfr4I1_05VOnfrRAF4_12OcUjZrzgenpxRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -108,12 +108,12 @@
 b__MA7naqebvq8uneqjner8zrzgenpx4I1_09VZrzgenpx8pnfgSebzREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRRo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -133,7 +133,7 @@
 b__MA7naqebvq8uneqjner8zrzgenpx4I1_09VZrzgenpx21abgvslFlfcebcfPunatrqRi:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner8zrzgenpx4I1_010OfZrzgenpxR0_AF2_9VZrzgenpxR
+.weak b__MGPA7naqebvq8uneqjner8zrzgenpx4I1_010OfZrzgenpxR0_AF2_9VZrzgenpxR
 .type b__MGPA7naqebvq8uneqjner8zrzgenpx4I1_010OfZrzgenpxR0_AF2_9VZrzgenpxR,%object
 b__MGPA7naqebvq8uneqjner8zrzgenpx4I1_010OfZrzgenpxR0_AF2_9VZrzgenpxR:
 .space __SIZEOF_POINTER__
@@ -168,7 +168,7 @@
 b__MA7naqebvq8uneqjner8zrzgenpx4I1_012OcUjZrzgenpx12trgQrohtVasbRAFg3__18shapgvbaVSiEXAF_4uvqy4onfr4I1_09QrohtVasbRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -188,7 +188,7 @@
 b__MA7naqebvq8uneqjner8zrzgenpx4I1_09VZrzgenpx11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -238,7 +238,7 @@
 b__MA7naqebvq8uneqjner8zrzgenpx4I1_09VZrzgenpx5qrohtREXAF0_11uvqy_unaqyrREXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -248,12 +248,12 @@
 b__MA7naqebvq8uneqjner8zrzgenpx4I1_010OfZrzgenpxP1RAF_2fcVAF2_9VZrzgenpxRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -283,7 +283,7 @@
 b__MA7naqebvq8uneqjner8zrzgenpx4I1_09VZrzgenpx12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -338,7 +338,7 @@
 b__MGPA7naqebvq8uneqjner8zrzgenpx4I1_012OaUjZrzgenpxR0_AF0_9OUjOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8zrzgenpx4I1_012OcUjZrzgenpxRAF4_9VZrzgenpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8zrzgenpx4I1_012OcUjZrzgenpxRAF4_9VZrzgenpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8zrzgenpx4I1_012OcUjZrzgenpxRAF4_9VZrzgenpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_8zrzgenpx4I1_012OcUjZrzgenpxRAF4_9VZrzgenpxRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -363,7 +363,7 @@
 b__MGGA7naqebvq8uneqjner8zrzgenpx4I1_012OcUjZrzgenpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner8zrzgenpx4I1_010OfZrzgenpxR
+.weak b__MGIA7naqebvq8uneqjner8zrzgenpx4I1_010OfZrzgenpxR
 .type b__MGIA7naqebvq8uneqjner8zrzgenpx4I1_010OfZrzgenpxR,%object
 b__MGIA7naqebvq8uneqjner8zrzgenpx4I1_010OfZrzgenpxR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_147.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_147.S
index 3844c06..845c2b7 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_147.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_147.S
@@ -13,12 +13,12 @@
 b__MA7naqebvq8cebpvasb27TrgCebprffVasbSebzCebpCvqSqRvCAF0_11CebprffVasbRCAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
 .text
-.globl b__MA7naqebvq8cebpvasb18ErnqZncSvyrPbagragVAFg3__18shapgvbaVSizzgzzCXpRRRRRoCpEXG_
+.weak b__MA7naqebvq8cebpvasb18ErnqZncSvyrPbagragVAFg3__18shapgvbaVSizzgzzCXpRRRRRoCpEXG_
 .type b__MA7naqebvq8cebpvasb18ErnqZncSvyrPbagragVAFg3__18shapgvbaVSizzgzzCXpRRRRRoCpEXG_,%function
 b__MA7naqebvq8cebpvasb18ErnqZncSvyrPbagragVAFg3__18shapgvbaVSizzgzzCXpRRRRRoCpEXG_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_151.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_151.S
index db720dc..5116124 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_151.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_151.S
@@ -1093,7 +1093,7 @@
 b_h_zrzepue32_64:
 nop
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRvkRy
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRvkRy
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRvkRy,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRvkRy:
 nop
@@ -1653,7 +1653,7 @@
 b__MAX6vph_6410HavpbqrFrg11pbagnvafNyyREXAF_13HavpbqrFgevatR:
 nop
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRnFRBF1_
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRnFRBF1_
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRnFRBF1_,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRnFRBF1_:
 nop
@@ -2188,7 +2188,7 @@
 b__MAX6vph_6413HavpbqrFgevat9trgYratguRi:
 nop
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP2RBF1_
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP2RBF1_
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP2RBF1_,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP2RBF1_:
 nop
@@ -2253,7 +2253,7 @@
 b__MA6vph_6410HavpbqrFrg10perngrSebzREXAF_13HavpbqrFgevatR:
 nop
 .data
-.globl b__MGVA6vph_647HZrzbelR
+.weak b__MGVA6vph_647HZrzbelR
 .type b__MGVA6vph_647HZrzbelR,%object
 b__MGVA6vph_647HZrzbelR:
 .space __SIZEOF_POINTER__
@@ -3098,7 +3098,7 @@
 b_hyqa_ynathntrQvfcynlAnzr_64:
 nop
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRarREXF1_
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRarREXF1_
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRarREXF1_,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRarREXF1_:
 nop
@@ -3648,7 +3648,7 @@
 b_hfrg_vfRzcgl_64:
 nop
 .text
-.globl b__MAX6vph_6415ZnlorFgnpxNeenlVpYv40RR11trgPncnpvglRi
+.weak b__MAX6vph_6415ZnlorFgnpxNeenlVpYv40RR11trgPncnpvglRi
 .type b__MAX6vph_6415ZnlorFgnpxNeenlVpYv40RR11trgPncnpvglRi,%function
 b__MAX6vph_6415ZnlorFgnpxNeenlVpYv40RR11trgPncnpvglRi:
 nop
@@ -4073,7 +4073,7 @@
 b_hgevr_rahz_64:
 nop
 .text
-.globl b__MAX6vph_6415ZnlorFgnpxNeenlVpYv40RR13trgNeenlYvzvgRi
+.weak b__MAX6vph_6415ZnlorFgnpxNeenlVpYv40RR13trgNeenlYvzvgRi
 .type b__MAX6vph_6415ZnlorFgnpxNeenlVpYv40RR13trgNeenlYvzvgRi,%function
 b__MAX6vph_6415ZnlorFgnpxNeenlVpYv40RR13trgNeenlYvzvgRi:
 nop
@@ -4883,7 +4883,7 @@
 b_hybp_bcraXrljbeqYvfg_64:
 nop
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRQ1Ri
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRQ1Ri
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRQ1Ri,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRQ1Ri:
 nop
@@ -5643,7 +5643,7 @@
 b__MA6vph_649HIrpgbe64P1RE10HReebePbqr:
 nop
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP2REXF1_
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP2REXF1_
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP2REXF1_,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP2REXF1_:
 nop
@@ -6258,7 +6258,7 @@
 b__MA6vph_646HFgnpxQ0Ri:
 nop
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP1REXF1_
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP1REXF1_
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP1REXF1_,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP1REXF1_:
 nop
@@ -6433,7 +6433,7 @@
 b__MAX6vph_644VQAN18ynoryGbHavpbqrHGS8RAF_11FgevatCvrprREAF_8OlgrFvaxREAF_8VQANVasbRE10HReebePbqr:
 nop
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP2Rv
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP2Rv
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP2Rv,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP2Rv:
 nop
@@ -6658,7 +6658,7 @@
 b_hpai_trgNyvnf_64:
 nop
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP2Ri
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP2Ri
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP2Ri,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP2Ri:
 nop
@@ -7518,7 +7518,7 @@
 b__MA6vph_6422EhyrOnfrqOernxVgrengbe10unaqyrArkgRi:
 nop
 .data
-.globl b__MGVA6vph_6417FgevatGevrOhvyqre10OenapuAbqrR
+.weak b__MGVA6vph_6417FgevatGevrOhvyqre10OenapuAbqrR
 .type b__MGVA6vph_6417FgevatGevrOhvyqre10OenapuAbqrR,%object
 b__MGVA6vph_6417FgevatGevrOhvyqre10OenapuAbqrR:
 .space __SIZEOF_POINTER__
@@ -7578,7 +7578,7 @@
 b__MA6vph_649HIrpgbe64P2RE10HReebePbqr:
 nop
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRrdREXF1_
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRrdREXF1_
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRrdREXF1_,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRrdREXF1_:
 nop
@@ -7663,7 +7663,7 @@
 b__MGIA6vph_649HIrpgbe32R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR12eryrnfrNeenlRi
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR12eryrnfrNeenlRi
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR12eryrnfrNeenlRi,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR12eryrnfrNeenlRi:
 nop
@@ -8203,7 +8203,7 @@
 b__MA6vph_646Ybpnyr9trgTreznaRi:
 nop
 .text
-.globl b__MAX6vph_6415ZnlorFgnpxNeenlVpYv40RRvkRy
+.weak b__MAX6vph_6415ZnlorFgnpxNeenlVpYv40RRvkRy
 .type b__MAX6vph_6415ZnlorFgnpxNeenlVpYv40RRvkRy,%function
 b__MAX6vph_6415ZnlorFgnpxNeenlVpYv40RRvkRy:
 nop
@@ -8868,7 +8868,7 @@
 b__MA6vph_6422FvzcyrYbpnyrXrlSnpgbelQ2Ri:
 nop
 .data
-.globl b__MGFA6vph_647HZrzbelR
+.weak b__MGFA6vph_647HZrzbelR
 .type b__MGFA6vph_647HZrzbelR,%object
 b__MGFA6vph_647HZrzbelR:
 .space __SIZEOF_POINTER__
@@ -9143,7 +9143,7 @@
 b_h_frgNgbzvpVapQrpShapgvbaf_64:
 nop
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR13becunaBePybarRvEv
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR13becunaBePybarRvEv
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR13becunaBePybarRvEv,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR13becunaBePybarRvEv:
 nop
@@ -9173,7 +9173,7 @@
 b__MA6vph_6410Nccraqnoyr21erfreirNccraqPncnpvglRv:
 nop
 .text
-.globl b__MAX6vph_6415ZnlorFgnpxNeenlVpYv40RR8trgNyvnfRi
+.weak b__MAX6vph_6415ZnlorFgnpxNeenlVpYv40RR8trgNyvnfRi
 .type b__MAX6vph_6415ZnlorFgnpxNeenlVpYv40RR8trgNyvnfRi,%function
 b__MAX6vph_6415ZnlorFgnpxNeenlVpYv40RR8trgNyvnfRi:
 nop
@@ -9408,7 +9408,7 @@
 b__MA6vph_6413HavpbqrFgevatP2REXF0_vv:
 nop
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR12nyvnfVafgrnqRCpv
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR12nyvnfVafgrnqRCpv
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR12nyvnfVafgrnqRCpv,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR12nyvnfVafgrnqRCpv:
 nop
@@ -11578,7 +11578,7 @@
 b__MA6vph_6417FgevatRahzrengvbaQ1Ri:
 nop
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR6erfvmrRvv
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR6erfvmrRvv
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR6erfvmrRvv,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR6erfvmrRvv:
 nop
@@ -11643,7 +11643,7 @@
 b_h_fgeapnfrpzc_64:
 nop
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP1Rv
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP1Rv
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP1Rv,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP1Rv:
 nop
@@ -11853,7 +11853,7 @@
 b__MAX6vph_6413HavpbqrFgevat9qbVaqrkBsRvvv:
 nop
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP1Ri
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP1Ri
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP1Ri,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP1Ri:
 nop
@@ -12268,7 +12268,7 @@
 b__MAX6vph_6413HavpbqrFgevat9qbRkgenpgRvvCQfv:
 nop
 .data
-.globl b__MGFA6vph_6417FgevatGevrOhvyqre10OenapuAbqrR
+.weak b__MGFA6vph_6417FgevatGevrOhvyqre10OenapuAbqrR
 .type b__MGFA6vph_6417FgevatGevrOhvyqre10OenapuAbqrR,%object
 b__MGFA6vph_6417FgevatGevrOhvyqre10OenapuAbqrR:
 .space __SIZEOF_POINTER__
@@ -12838,7 +12838,7 @@
 b_hpnfrznc_gbGvgyr_64:
 nop
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR17erfrgGbFgnpxNeenlRi
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR17erfrgGbFgnpxNeenlRi
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR17erfrgGbFgnpxNeenlRi,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RR17erfrgGbFgnpxNeenlRi:
 nop
@@ -13123,7 +13123,7 @@
 b__MA6vph_6423HavpbqrFgevatNccraqnoyr21erfreirNccraqPncnpvglRv:
 nop
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP1RBF1_
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP1RBF1_
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP1RBF1_,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRP1RBF1_:
 nop
@@ -13233,7 +13233,7 @@
 b__MA6vph_6410HavpbqrFrgP1REXAF_13HavpbqrFgevatRwCXAF_11FlzobyGnoyrRE10HReebePbqr:
 nop
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRQ2Ri
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRQ2Ri
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRQ2Ri,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRQ2Ri:
 nop
@@ -13403,7 +13403,7 @@
 b__MA6vph_6411VPH_Hgvyvgl12nccraqGbEhyrREAF_13HavpbqrFgevatREXF1_nnF2_:
 nop
 .text
-.globl b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRnFREXF1_
+.weak b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRnFREXF1_
 .type b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRnFREXF1_,%function
 b__MA6vph_6415ZnlorFgnpxNeenlVpYv40RRnFREXF1_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_152.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_152.S
index d113124..fe6d01a 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_152.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_152.S
@@ -403,7 +403,7 @@
 b__MA6vph_6411ZrnfherHavg12trgNinvynoyrRCXpCF0_vE10HReebePbqr:
 nop
 .text
-.globl b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgRBAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgRBAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -448,12 +448,12 @@
 b__MGIA6vph_6413YvfgSbeznggre16YvfgCnggreafFvaxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR8tebhcvatR23HAhzoreTebhcvatFgengrtl
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR8tebhcvatR23HAhzoreTebhcvatFgengrtl
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR8tebhcvatR23HAhzoreTebhcvatFgengrtl,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR8tebhcvatR23HAhzoreTebhcvatFgengrtl:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9nqbcgHavgRCAF_11ZrnfherHavgR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9nqbcgHavgRCAF_11ZrnfherHavgR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9nqbcgHavgRCAF_11ZrnfherHavgR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9nqbcgHavgRCAF_11ZrnfherHavgR:
 nop
@@ -603,7 +603,7 @@
 b_hfcbbs_trgErfgevpgvbaYriry_64:
 nop
 .text
-.globl b__MAX6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR10gbFxryrgbaRE10HReebePbqr
+.weak b__MAX6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR10gbFxryrgbaRE10HReebePbqr
 .type b__MAX6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR10gbFxryrgbaRE10HReebePbqr,%function
 b__MAX6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR10gbFxryrgbaRE10HReebePbqr:
 nop
@@ -798,7 +798,7 @@
 b__MA6vph_6411ZrnfherHavg11perngrDhnegRE10HReebePbqr:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9guerfubyqRv
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9guerfubyqRv
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9guerfubyqRv,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9guerfubyqRv:
 nop
@@ -868,7 +868,7 @@
 b__MAX6vph_646ahzore24YbpnyvmrqAhzoreSbeznggre10sbezngVzcyRCAF0_4vzcy20HSbeznggrqAhzoreQngnRE10HReebePbqr:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7qrpvznyR30HAhzoreQrpvznyFrcnengbeQvfcynl
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7qrpvznyR30HAhzoreQrpvznyFrcnengbeQvfcynl
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7qrpvznyR30HAhzoreQrpvznyFrcnengbeQvfcynl,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7qrpvznyR30HAhzoreQrpvznyFrcnengbeQvfcynl:
 nop
@@ -958,7 +958,7 @@
 b__MA6vph_6411ZrnfherHavg24trgZvyyvtenzCreQrpvyvgreRi:
 nop
 .data
-.globl b__MGVA6vph_648ahzcnefr4vzcy24ZhgnoyrZngpurePbyyrpgvbaR
+.weak b__MGVA6vph_648ahzcnefr4vzcy24ZhgnoyrZngpurePbyyrpgvbaR
 .type b__MGVA6vph_648ahzcnefr4vzcy24ZhgnoyrZngpurePbyyrpgvbaR,%object
 b__MGVA6vph_648ahzcnefr4vzcy24ZhgnoyrZngpurePbyyrpgvbaR:
 .space __SIZEOF_POINTER__
@@ -1118,7 +1118,7 @@
 b__MGIA6vph_646ahzore4vzcy20NssvkCnggreaCebivqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgRBAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgRBAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -1228,7 +1228,7 @@
 b__MA6vph_6417QngrSbezngFlzobyf11frgJrrxqnlfRCXAF_13HavpbqrFgevatRv:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR5fpnyrREXAF0_5FpnyrR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR5fpnyrREXAF0_5FpnyrR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR5fpnyrREXAF0_5FpnyrR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR5fpnyrREXAF0_5FpnyrR:
 nop
@@ -1623,7 +1623,7 @@
 b_hahzs_pybfrErfhyg_64:
 nop
 .text
-.globl b__MAX6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR11pbclReebeGbRE10HReebePbqr
+.weak b__MAX6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR11pbclReebeGbRE10HReebePbqr
 .type b__MAX6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR11pbclReebeGbRE10HReebePbqr,%function
 b__MAX6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR11pbclReebeGbRE10HReebePbqr:
 nop
@@ -1843,7 +1843,7 @@
 b__MAX6vph_6414VaqvnaPnyraqne23qrsnhygPraghelFgnegLrneRi:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12nqbcgFlzobyfRCAF_15AhzorevatFlfgrzR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12nqbcgFlzobyfRCAF_15AhzorevatFlfgrzR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12nqbcgFlzobyfRCAF_15AhzorevatFlfgrzR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12nqbcgFlzobyfRCAF_15AhzorevatFlfgrzR:
 nop
@@ -2053,7 +2053,7 @@
 b__MA6vph_6411ZrnfherHavg6trgQnlRi:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR4havgREXAF_11ZrnfherHavgR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR4havgREXAF_11ZrnfherHavgR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR4havgREXAF_11ZrnfherHavgR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR4havgREXAF_11ZrnfherHavgR:
 nop
@@ -2063,7 +2063,7 @@
 b__MAX6vph_648ahzcnefr4vzcy17VtabenoyrfZngpure8gbFgevatRi:
 nop
 .text
-.globl b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguREXAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguREXAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -2453,7 +2453,7 @@
 b__MAX6vph_6413ZrnfherSbezng13sbezngAhzrevpRCXAF_11SbeznggnoyrRvEAF_13HavpbqrFgevatRE10HReebePbqr:
 nop
 .text
-.globl b__MAX6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR10gbFxryrgbaRE10HReebePbqr
+.weak b__MAX6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR10gbFxryrgbaRE10HReebePbqr
 .type b__MAX6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR10gbFxryrgbaRE10HReebePbqr,%function
 b__MAX6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR10gbFxryrgbaRE10HReebePbqr:
 nop
@@ -2533,7 +2533,7 @@
 b__MA6vph_646ahzore29YbpnyvmrqAhzoreEnatrSbeznggreP2RBF1_:
 nop
 .text
-.globl b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqREXAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqREXAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -2703,7 +2703,7 @@
 b__MGIA6vph_6413SbeznggrqYvfgR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR11pbclReebeGbRE10HReebePbqr
+.weak b__MAX6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR11pbclReebeGbRE10HReebePbqr
 .type b__MAX6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR11pbclReebeGbRE10HReebePbqr,%function
 b__MAX6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR11pbclReebeGbRE10HReebePbqr:
 nop
@@ -2748,7 +2748,7 @@
 b__MA6vph_6421SbeznggrqQngrVagreinyQ2Ri:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR8abgngvbaREXAF0_8AbgngvbaR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR8abgngvbaREXAF0_8AbgngvbaR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR8abgngvbaREXAF0_8AbgngvbaR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR8abgngvbaREXAF0_8AbgngvbaR:
 nop
@@ -2813,7 +2813,7 @@
 b__MAX6vph_6413ZrffntrSbezng19perngrVagrtreSbezngREXAF_6YbpnyrRE10HReebePbqr:
 nop
 .text
-.globl b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR5pybarRi
+.weak b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR5pybarRi
 .type b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR5pybarRi,%function
 b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR5pybarRi:
 nop
@@ -2893,12 +2893,12 @@
 b__MA6vph_646ahzore9Cerpvfvba9vaperzragRq:
 nop
 .text
-.globl b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguREXAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguREXAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
 .text
-.globl b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgRBAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgRBAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -3048,7 +3048,7 @@
 b__MA6vph_6417TertbevnaPnyraqne18frgTertbevnaPunatrRqE10HReebePbqr:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR4fvtaR18HAhzoreFvtaQvfcynl
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR4fvtaR18HAhzoreFvtaQvfcynl
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR4fvtaR18HAhzoreFvtaQvfcynl,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR4fvtaR18HAhzoreFvtaQvfcynl:
 nop
@@ -3558,7 +3558,7 @@
 b__MA6vph_6411ZrnfherHavg16perngrXvybcnfpnyRE10HReebePbqr:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9nqbcgHavgRCAF_11ZrnfherHavgR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9nqbcgHavgRCAF_11ZrnfherHavgR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9nqbcgHavgRCAF_11ZrnfherHavgR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9nqbcgHavgRCAF_11ZrnfherHavgR:
 nop
@@ -4343,7 +4343,7 @@
 b__MA6vph_6411ZrnfherHavg19trgFdhnerPragvzrgreRi:
 nop
 .text
-.globl b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR5pybarRi
+.weak b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR5pybarRi
 .type b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR5pybarRi,%function
 b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR5pybarRi:
 nop
@@ -4558,7 +4558,7 @@
 b__MA6vph_646ahzore24YbpnyvmrqAhzoreSbeznggreP2RBF1_:
 nop
 .text
-.globl b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguREXAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguREXAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -4753,7 +4753,7 @@
 b__MGIA6vph_6413ZrnfherSbezngR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9cerpvfvbaREXAF0_9CerpvfvbaR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9cerpvfvbaREXAF0_9CerpvfvbaR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9cerpvfvbaREXAF0_9CerpvfvbaR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9cerpvfvbaREXAF0_9CerpvfvbaR:
 nop
@@ -5533,7 +5533,7 @@
 b__MA6vph_648Pbyyngbe25trgXrljbeqInyhrfSbeYbpnyrRCXpEXAF_6YbpnyrRnE10HReebePbqr:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9cerpvfvbaREXAF0_9CerpvfvbaR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9cerpvfvbaREXAF0_9CerpvfvbaR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9cerpvfvbaREXAF0_9CerpvfvbaR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9cerpvfvbaREXAF0_9CerpvfvbaR:
 nop
@@ -5568,7 +5568,7 @@
 b__MA6vph_6411ZrnfherHavg12trgCvpbzrgreRi:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR5fpnyrREXAF0_5FpnyrR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR5fpnyrREXAF0_5FpnyrR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR5fpnyrREXAF0_5FpnyrR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR5fpnyrREXAF0_5FpnyrR:
 nop
@@ -5668,7 +5668,7 @@
 b__MA6vph_6411ZrnfherHavg12perngrZvahgrRE10HReebePbqr:
 nop
 .text
-.globl b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgRBAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgRBAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -5838,7 +5838,7 @@
 b__MAX6vph_6411CyhenyEhyrf6fryrpgRq:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7flzobyfREXAF_20QrpvznySbezngFlzobyfR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7flzobyfREXAF_20QrpvznySbezngFlzobyfR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7flzobyfREXAF_20QrpvznySbezngFlzobyfR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7flzobyfREXAF_20QrpvznySbezngFlzobyfR:
 nop
@@ -5858,7 +5858,7 @@
 b__MA6vph_646ahzore4vzcy22ZhgnoyrCnggreaZbqvsvre14frgCnggreaVasbRCXAF1_20NssvkCnggreaCebivqreRu:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR4fvtaR18HAhzoreFvtaQvfcynl
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR4fvtaR18HAhzoreFvtaQvfcynl
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR4fvtaR18HAhzoreFvtaQvfcynl,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR4fvtaR18HAhzoreFvtaQvfcynl:
 nop
@@ -5968,7 +5968,7 @@
 b__MAX6vph_6413QrpvznySbezng6sbezngRvEAF_13HavpbqrFgevatREAF_13SvryqCbfvgvbaRE10HReebePbqr:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7cnqqvatREXAF0_4vzcy6CnqqreR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7cnqqvatREXAF0_4vzcy6CnqqreR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7cnqqvatREXAF0_4vzcy6CnqqreR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7cnqqvatREXAF0_4vzcy6CnqqreR:
 nop
@@ -6448,7 +6448,7 @@
 b__MA6vph_646ahzore24YbpnyvmrqAhzoreSbeznggreP1RBAF0_23AhzoreSbeznggreFrggvatfVF1_RR:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12nqbcgFlzobyfRCAF_15AhzorevatFlfgrzR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12nqbcgFlzobyfRCAF_15AhzorevatFlfgrzR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12nqbcgFlzobyfRCAF_15AhzorevatFlfgrzR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12nqbcgFlzobyfRCAF_15AhzorevatFlfgrzR:
 nop
@@ -6953,7 +6953,7 @@
 b__MAX6vph_6414GvzrMbarSbezng16cnefrFubegMbarVQREXAF_13HavpbqrFgevatREAF_13CnefrCbfvgvbaREF1_:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9havgJvqguR16HAhzoreHavgJvqgu
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9havgJvqguR16HAhzoreHavgJvqgu
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9havgJvqguR16HAhzoreHavgJvqgu,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9havgJvqguR16HAhzoreHavgJvqgu:
 nop
@@ -7308,7 +7308,7 @@
 b__MA6vph_646ahzore24YbpnyvmrqAhzoreSbeznggreP1RBF1_:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12nqbcgCreHavgRCAF_11ZrnfherHavgR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12nqbcgCreHavgRCAF_11ZrnfherHavgR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12nqbcgCreHavgRCAF_11ZrnfherHavgR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12nqbcgCreHavgRCAF_11ZrnfherHavgR:
 nop
@@ -7448,7 +7448,7 @@
 b__MA6vph_6411ZrnfherHavg9perngrOvgRE10HReebePbqr:
 nop
 .text
-.globl b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguRBAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguRBAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -7558,7 +7558,7 @@
 b__MAX6vph_6417EhyrOnfrqPbyyngbe9trgYbpnyrR18HYbpQngnYbpnyrGlcrE10HReebePbqr:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7cnqqvatREXAF0_4vzcy6CnqqreR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7cnqqvatREXAF0_4vzcy6CnqqreR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7cnqqvatREXAF0_4vzcy6CnqqreR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7cnqqvatREXAF0_4vzcy6CnqqreR:
 nop
@@ -7923,7 +7923,7 @@
 b__MAX6vph_646ahzore15SbeznggrqAhzore24trgNyySvryqCbfvgvbafVzcyREAF_28SvryqCbfvgvbaVgrengbeUnaqyreRE10HReebePbqr:
 nop
 .data
-.globl b__MGIA6vph_646ahzore4vzcy13RzcglZbqvsvreR
+.weak b__MGIA6vph_646ahzore4vzcy13RzcglZbqvsvreR
 .type b__MGIA6vph_646ahzore4vzcy13RzcglZbqvsvreR,%object
 b__MGIA6vph_646ahzore4vzcy13RzcglZbqvsvreR:
 .space __SIZEOF_POINTER__
@@ -8063,7 +8063,7 @@
 b__MAX6vph_646ahzore4vzcy19AhzoreFgevatOhvyqre17arkgSvryqCbfvgvbaREAF_13SvryqCbfvgvbaRE10HReebePbqr:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7creHavgREXAF_11ZrnfherHavgR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7creHavgREXAF_11ZrnfherHavgR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7creHavgREXAF_11ZrnfherHavgR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7creHavgREXAF_11ZrnfherHavgR:
 nop
@@ -8168,7 +8168,7 @@
 b_hszg_trgBowrpg_64:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9guerfubyqRv
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9guerfubyqRv
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9guerfubyqRv,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9guerfubyqRv:
 nop
@@ -8193,7 +8193,7 @@
 b_hqngct_trgFxryrgba_64:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR6znpebfREXAF0_4vzcy10ZnpebCebcfR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR6znpebfREXAF0_4vzcy10ZnpebCebcfR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR6znpebfREXAF0_4vzcy10ZnpebCebcfR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR6znpebfREXAF0_4vzcy10ZnpebCebcfR:
 nop
@@ -8328,7 +8328,7 @@
 b__MA6vph_6411ZrnfherHavg8trgQhanzRi:
 nop
 .text
-.globl b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguREXAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguREXAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -8403,7 +8403,7 @@
 b__MA6vph_6411ZrnfherHavg13trgZrtncnfpnyRi:
 nop
 .text
-.globl b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguRBAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguRBAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -8493,7 +8493,7 @@
 b__MGIA6vph_6413YvfgSbeznggreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgREXAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgREXAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -8613,12 +8613,12 @@
 b__MAX6vph_6418QngrVagreinySbezng13sbezngGbInyhrREXAF_12QngrVagreinyRE10HReebePbqr:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR6znpebfREXAF0_4vzcy10ZnpebCebcfR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR6znpebfREXAF0_4vzcy10ZnpebCebcfR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR6znpebfREXAF0_4vzcy10ZnpebCebcfR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR6znpebfREXAF0_4vzcy10ZnpebCebcfR:
 nop
 .text
-.globl b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgREXAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgREXAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -8973,7 +8973,7 @@
 b__MA6vph_6414Genafyvgrengbe22_pbhagNinvynoyrGnetrgfREXAF_13HavpbqrFgevatR:
 nop
 .data
-.globl b__MGFA6vph_6425FpvragvsvpAhzoreSbeznggre5FglyrR
+.weak b__MGFA6vph_6425FpvragvsvpAhzoreSbeznggre5FglyrR
 .type b__MGFA6vph_6425FpvragvsvpAhzoreSbeznggre5FglyrR,%object
 b__MGFA6vph_6425FpvragvsvpAhzoreSbeznggre5FglyrR:
 .space __SIZEOF_POINTER__
@@ -9178,7 +9178,7 @@
 b__MAX6vph_6414Genafyvgrengbe13genafyvgrengrREAF_11ErcynprnoyrRE14HGenafCbfvgvbaEXAF_13HavpbqrFgevatRE10HReebePbqr:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR6znpebfRBAF0_4vzcy10ZnpebCebcfR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR6znpebfRBAF0_4vzcy10ZnpebCebcfR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR6znpebfRBAF0_4vzcy10ZnpebCebcfR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR6znpebfRBAF0_4vzcy10ZnpebCebcfR:
 nop
@@ -9583,7 +9583,7 @@
 b__MAX6vph_646ahzore4vzcy18FpvragvsvpZbqvsvre5nccylREAF1_19AhzoreFgevatOhvyqreRvvE10HReebePbqr:
 nop
 .text
-.globl b__MAX6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR11pbclReebeGbRE10HReebePbqr
+.weak b__MAX6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR11pbclReebeGbRE10HReebePbqr
 .type b__MAX6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR11pbclReebeGbRE10HReebePbqr,%function
 b__MAX6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR11pbclReebeGbRE10HReebePbqr:
 nop
@@ -9703,7 +9703,7 @@
 b__MA6vph_646ahzore24YbpnyvmrqAhzoreSbeznggreP1REXF1_:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7creHavgREXAF_11ZrnfherHavgR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7creHavgREXAF_11ZrnfherHavgR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7creHavgREXAF_11ZrnfherHavgR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7creHavgREXAF_11ZrnfherHavgR:
 nop
@@ -9788,7 +9788,7 @@
 b__MAX6vph_649IGvzrMbararREXAF_8GvzrMbarR:
 nop
 .text
-.globl b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguRBAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguRBAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -9828,7 +9828,7 @@
 b__MA6vph_6411SbeznggnoyrP1RCAF_13HavpbqrFgevatR:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR5fpnyrREXAF0_5FpnyrR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR5fpnyrREXAF0_5FpnyrR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR5fpnyrREXAF0_5FpnyrR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR5fpnyrREXAF0_5FpnyrR:
 nop
@@ -9958,7 +9958,7 @@
 b__MA6vph_6411ZrnfherHavg7trgLrneRi:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9cerpvfvbaREXAF0_9CerpvfvbaR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9cerpvfvbaREXAF0_9CerpvfvbaR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9cerpvfvbaREXAF0_9CerpvfvbaR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9cerpvfvbaREXAF0_9CerpvfvbaR:
 nop
@@ -10088,7 +10088,7 @@
 b__MA6vph_6411ZrnfherHavg17perngrXvybpnybevrRE10HReebePbqr:
 nop
 .data
-.globl b__MGFA6vph_648ahzcnefr4vzcy19NssvkCnggreaZngpureR
+.weak b__MGFA6vph_648ahzcnefr4vzcy19NssvkCnggreaZngpureR
 .type b__MGFA6vph_648ahzcnefr4vzcy19NssvkCnggreaZngpureR,%object
 b__MGFA6vph_648ahzcnefr4vzcy19NssvkCnggreaZngpureR:
 .space __SIZEOF_POINTER__
@@ -10128,7 +10128,7 @@
 b__MGVA6vph_6412CyhenySbezng14CyhenyFryrpgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR8abgngvbaREXAF0_8AbgngvbaR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR8abgngvbaREXAF0_8AbgngvbaR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR8abgngvbaREXAF0_8AbgngvbaR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR8abgngvbaREXAF0_8AbgngvbaR:
 nop
@@ -10553,7 +10553,7 @@
 b__MA6vph_646ahzore24YbpnyvmrqAhzoreSbeznggreP1RBAF0_4vzcy10ZnpebCebcfREXAF_6YbpnyrR:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12vagrtreJvqguREXAF0_12VagrtreJvqguR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12vagrtreJvqguREXAF0_12VagrtreJvqguR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12vagrtreJvqguREXAF0_12VagrtreJvqguR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12vagrtreJvqguREXAF0_12VagrtreJvqguR:
 nop
@@ -11013,7 +11013,7 @@
 b__MA6vph_6413VSvkrqQrpvznyQ1Ri:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7cnqqvatREXAF0_4vzcy6CnqqreR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7cnqqvatREXAF0_4vzcy6CnqqreR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7cnqqvatREXAF0_4vzcy6CnqqreR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7cnqqvatREXAF0_4vzcy6CnqqreR:
 nop
@@ -11378,7 +11378,7 @@
 b__MA6vph_6421SvryqCbfvgvbaVgrengbeQ2Ri:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR6znpebfRBAF0_4vzcy10ZnpebCebcfR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR6znpebfRBAF0_4vzcy10ZnpebCebcfR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR6znpebfRBAF0_4vzcy10ZnpebCebcfR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR6znpebfRBAF0_4vzcy10ZnpebCebcfR:
 nop
@@ -11428,7 +11428,7 @@
 b__MA6vph_646ahzore4vzcy10NssvkHgvyf9arkgGbxraRAF1_8NssvkGntREXAF_13HavpbqrFgevatRE10HReebePbqr:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR5fpnyrREXAF0_5FpnyrR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR5fpnyrREXAF0_5FpnyrR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR5fpnyrREXAF0_5FpnyrR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR5fpnyrREXAF0_5FpnyrR:
 nop
@@ -11973,12 +11973,12 @@
 b__MA6vph_646ahzore24YbpnyvmrqAhzoreSbeznggreQ2Ri:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12ebhaqvatZbqrR25HAhzoreSbezngEbhaqvatZbqr
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12ebhaqvatZbqrR25HAhzoreSbezngEbhaqvatZbqr
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12ebhaqvatZbqrR25HAhzoreSbezngEbhaqvatZbqr,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12ebhaqvatZbqrR25HAhzoreSbezngEbhaqvatZbqr:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR8tebhcvatR23HAhzoreTebhcvatFgengrtl
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR8tebhcvatR23HAhzoreTebhcvatFgengrtl
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR8tebhcvatR23HAhzoreTebhcvatFgengrtl,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR8tebhcvatR23HAhzoreTebhcvatFgengrtl:
 nop
@@ -12023,7 +12023,7 @@
 b__MGVA6vph_646ahzore4vzcy26PbafgnagZhygvSvryqZbqvsvreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR16vqragvglSnyyonpxR28HAhzoreEnatrVqragvglSnyyonpx
+.weak b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR16vqragvglSnyyonpxR28HAhzoreEnatrVqragvglSnyyonpx
 .type b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR16vqragvglSnyyonpxR28HAhzoreEnatrVqragvglSnyyonpx,%function
 b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR16vqragvglSnyyonpxR28HAhzoreEnatrVqragvglSnyyonpx:
 nop
@@ -12933,7 +12933,7 @@
 b__MA6vph_647ZrnfherP1Ri:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7creHavgREXAF_11ZrnfherHavgR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7creHavgREXAF_11ZrnfherHavgR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7creHavgREXAF_11ZrnfherHavgR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7creHavgREXAF_11ZrnfherHavgR:
 nop
@@ -13343,7 +13343,7 @@
 b__MA6vph_6411ZrnfherHavg11perngrQhanzRE10HReebePbqr:
 nop
 .text
-.globl b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqRBAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqRBAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -13488,7 +13488,7 @@
 b__MA6vph_6416FvzcyrQngrSbezngP1REXAF_13HavpbqrFgevatREXAF_6YbpnyrRE10HReebePbqr:
 nop
 .text
-.globl b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqRBAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqRBAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -13683,7 +13683,7 @@
 b_hahzs_bcraSbeFxryrgbaNaqYbpnyrJvguReebe_64:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR6znpebfRBAF0_4vzcy10ZnpebCebcfR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR6znpebfRBAF0_4vzcy10ZnpebCebcfR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR6znpebfRBAF0_4vzcy10ZnpebCebcfR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR6znpebfRBAF0_4vzcy10ZnpebCebcfR:
 nop
@@ -13713,7 +13713,7 @@
 b_hcei_qrpAhzoreErznvaqre_64:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR8tebhcvatR23HAhzoreTebhcvatFgengrtl
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR8tebhcvatR23HAhzoreTebhcvatFgengrtl
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR8tebhcvatR23HAhzoreTebhcvatFgengrtl,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR8tebhcvatR23HAhzoreTebhcvatFgengrtl:
 nop
@@ -14038,7 +14038,7 @@
 b__MA6vph_6416QngrVagreinyVasbQ1Ri:
 nop
 .data
-.globl b__MGFA6vph_648ahzcnefr4vzcy24ZhgnoyrZngpurePbyyrpgvbaR
+.weak b__MGFA6vph_648ahzcnefr4vzcy24ZhgnoyrZngpurePbyyrpgvbaR
 .type b__MGFA6vph_648ahzcnefr4vzcy24ZhgnoyrZngpurePbyyrpgvbaR,%object
 b__MGFA6vph_648ahzcnefr4vzcy24ZhgnoyrZngpurePbyyrpgvbaR:
 .space __SIZEOF_POINTER__
@@ -14053,7 +14053,7 @@
 b_hertvba_trgErtvbaPbqr_64:
 nop
 .data
-.globl b__MGFA6vph_646ahzore4vzcy13RzcglZbqvsvreR
+.weak b__MGFA6vph_646ahzore4vzcy13RzcglZbqvsvreR
 .type b__MGFA6vph_646ahzore4vzcy13RzcglZbqvsvreR,%object
 b__MGFA6vph_646ahzore4vzcy13RzcglZbqvsvreR:
 .space __SIZEOF_POINTER__
@@ -14243,7 +14243,7 @@
 b__MA6vph_6425FvzcyrAhzoreSbezngSnpgbelQ1Ri:
 nop
 .text
-.globl b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR16vqragvglSnyyonpxR28HAhzoreEnatrVqragvglSnyyonpx
+.weak b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR16vqragvglSnyyonpxR28HAhzoreEnatrVqragvglSnyyonpx
 .type b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR16vqragvglSnyyonpxR28HAhzoreEnatrVqragvglSnyyonpx,%function
 b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR16vqragvglSnyyonpxR28HAhzoreEnatrVqragvglSnyyonpx:
 nop
@@ -14263,7 +14263,7 @@
 b__MAX6vph_6413QrpvznySbezng9trgCnefreRE10HReebePbqr:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR5pybarRi
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR5pybarRi
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR5pybarRi,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR5pybarRi:
 nop
@@ -14718,7 +14718,7 @@
 b__MAX6vph_648Pnyraqne11trgYbpnyrVQR18HYbpQngnYbpnyrGlcrE10HReebePbqr:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9nqbcgHavgRCAF_11ZrnfherHavgR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9nqbcgHavgRCAF_11ZrnfherHavgR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9nqbcgHavgRCAF_11ZrnfherHavgR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9nqbcgHavgRCAF_11ZrnfherHavgR:
 nop
@@ -15033,7 +15033,7 @@
 b__MAX6vph_6413ZrffntrSbezng23sbezngPbzcyrkFhoZrffntrRvCXiCXAF_11SbeznggnoyrRCXAF_13HavpbqrFgevatRvEAF_17NccraqnoyrJenccreRE10HReebePbqr:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7flzobyfREXAF_20QrpvznySbezngFlzobyfR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7flzobyfREXAF_20QrpvznySbezngFlzobyfR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7flzobyfREXAF_20QrpvznySbezngFlzobyfR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7flzobyfREXAF_20QrpvznySbezngFlzobyfR:
 nop
@@ -15148,7 +15148,7 @@
 b__MA6vph_6411ZrnfherHavg13trgNgzbfcurerRi:
 nop
 .text
-.globl b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqREXAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqREXAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -15393,7 +15393,7 @@
 b__MAX6vph_6417TertbevnaPnyraqne23qrsnhygPraghelFgnegLrneRi:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7qrpvznyR30HAhzoreQrpvznyFrcnengbeQvfcynl
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7qrpvznyR30HAhzoreQrpvznyFrcnengbeQvfcynl
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7qrpvznyR30HAhzoreQrpvznyFrcnengbeQvfcynl,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7qrpvznyR30HAhzoreQrpvznyFrcnengbeQvfcynl:
 nop
@@ -15418,7 +15418,7 @@
 b__MA6vph_6424QngrGvzrCnggreaTrarengbe14trgOrfgCnggreaREXAF_13HavpbqrFgevatRE10HReebePbqr:
 nop
 .text
-.globl b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgREXAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgREXAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -15458,7 +15458,7 @@
 b__MA6vph_646ahzore4vzcy15QrpvznyDhnagvgl12ernqVagGbOpqRv:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12nqbcgFlzobyfRCAF_15AhzorevatFlfgrzR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12nqbcgFlzobyfRCAF_15AhzorevatFlfgrzR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12nqbcgFlzobyfRCAF_15AhzorevatFlfgrzR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12nqbcgFlzobyfRCAF_15AhzorevatFlfgrzR:
 nop
@@ -15773,7 +15773,7 @@
 b__MA6vph_6412FryrpgSbezngP2REXAF_13HavpbqrFgevatRE10HReebePbqr:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR6znpebfREXAF0_4vzcy10ZnpebCebcfR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR6znpebfREXAF0_4vzcy10ZnpebCebcfR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR6znpebfREXAF0_4vzcy10ZnpebCebcfR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR6znpebfREXAF0_4vzcy10ZnpebCebcfR:
 nop
@@ -15988,7 +15988,7 @@
 b__MA6vph_6417TertbevnaPnyraqneP1RvvvvvE10HReebePbqr:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR4fvtaR18HAhzoreFvtaQvfcynl
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR4fvtaR18HAhzoreFvtaQvfcynl
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR4fvtaR18HAhzoreFvtaQvfcynl,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR4fvtaR18HAhzoreFvtaQvfcynl:
 nop
@@ -16028,7 +16028,7 @@
 b__MA6vph_6410TraqreVasbQ1Ri:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR5pybarRi
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR5pybarRi
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR5pybarRi,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR5pybarRi:
 nop
@@ -16128,7 +16128,7 @@
 b__MA6vph_6413VSvkrqQrpvznyQ0Ri:
 nop
 .text
-.globl b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR5pybarRi
+.weak b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR5pybarRi
 .type b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR5pybarRi,%function
 b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR5pybarRi:
 nop
@@ -16198,7 +16198,7 @@
 b__MA6vph_6419PbyyngvbaEhyrCnefre11cnefrFgevatRvEAF_13HavpbqrFgevatRE10HReebePbqr:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR8abgngvbaREXAF0_8AbgngvbaR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR8abgngvbaREXAF0_8AbgngvbaR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR8abgngvbaREXAF0_8AbgngvbaR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR8abgngvbaREXAF0_8AbgngvbaR:
 nop
@@ -16363,7 +16363,7 @@
 b__MA6vph_646ahzore4vzcy30PheeraplFcnpvatRanoyrqZbqvsvre20nccylPheeraplFcnpvatREAF1_19AhzoreFgevatOhvyqreRvvvvEXAF_20QrpvznySbezngFlzobyfRE10HReebePbqr:
 nop
 .data
-.globl b__MGVA6vph_648ahzcnefr4vzcy19NssvkCnggreaZngpureR
+.weak b__MGVA6vph_648ahzcnefr4vzcy19NssvkCnggreaZngpureR
 .type b__MGVA6vph_648ahzcnefr4vzcy19NssvkCnggreaZngpureR,%object
 b__MGVA6vph_648ahzcnefr4vzcy19NssvkCnggreaZngpureR:
 .space __SIZEOF_POINTER__
@@ -16493,7 +16493,7 @@
 b__MA6vph_6413ZrnfherSbezngQ1Ri:
 nop
 .data
-.globl b__MGVA6vph_646ahzore4vzcy13RzcglZbqvsvreR
+.weak b__MGVA6vph_646ahzore4vzcy13RzcglZbqvsvreR
 .type b__MGVA6vph_646ahzore4vzcy13RzcglZbqvsvreR,%object
 b__MGVA6vph_646ahzore4vzcy13RzcglZbqvsvreR:
 .space __SIZEOF_POINTER__
@@ -16558,7 +16558,7 @@
 b__MA6vph_646ahzore4vzcy17CnefrqCnggreaVasb14pbafhzrCnqqvatR24HAhzoreSbezngCnqCbfvgvbaE10HReebePbqr:
 nop
 .text
-.globl b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR8pbyyncfrR20HAhzoreEnatrPbyyncfr
+.weak b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR8pbyyncfrR20HAhzoreEnatrPbyyncfr
 .type b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR8pbyyncfrR20HAhzoreEnatrPbyyncfr,%function
 b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR8pbyyncfrR20HAhzoreEnatrPbyyncfr:
 nop
@@ -16978,7 +16978,7 @@
 b_hszg_trgQbhoyr_64:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12ebhaqvatZbqrR25HAhzoreSbezngEbhaqvatZbqr
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12ebhaqvatZbqrR25HAhzoreSbezngEbhaqvatZbqr
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12ebhaqvatZbqrR25HAhzoreSbezngEbhaqvatZbqr,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12ebhaqvatZbqrR25HAhzoreSbezngEbhaqvatZbqr:
 nop
@@ -17173,7 +17173,7 @@
 b__MAX6vph_6413QrpvznySbezng20vfCnefrPnfrFrafvgvirRi:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9havgJvqguR16HAhzoreHavgJvqgu
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9havgJvqguR16HAhzoreHavgJvqgu
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9havgJvqguR16HAhzoreHavgJvqgu,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9havgJvqguR16HAhzoreHavgJvqgu:
 nop
@@ -17233,7 +17233,7 @@
 b__MA6vph_6417QngrSbezngFlzobyf20frgYbpnyCnggreaPunefREXAF_13HavpbqrFgevatR:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR4havgREXAF_11ZrnfherHavgR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR4havgREXAF_11ZrnfherHavgR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR4havgREXAF_11ZrnfherHavgR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR4havgREXAF_11ZrnfherHavgR:
 nop
@@ -18383,7 +18383,7 @@
 b__MA6vph_6412AhzoreSbezng20perngrFunerqVafgnaprREXAF_6YbpnyrR18HAhzoreSbezngFglyrE10HReebePbqr:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR8tebhcvatR23HAhzoreTebhcvatFgengrtl
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR8tebhcvatR23HAhzoreTebhcvatFgengrtl
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR8tebhcvatR23HAhzoreTebhcvatFgengrtl,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR8tebhcvatR23HAhzoreTebhcvatFgengrtl:
 nop
@@ -18523,7 +18523,7 @@
 b__MA6vph_6413ZrffntrSbezng22CyhenyFryrpgbeCebivqreQ2Ri:
 nop
 .text
-.globl b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR8pbyyncfrR20HAhzoreEnatrPbyyncfr
+.weak b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR8pbyyncfrR20HAhzoreEnatrPbyyncfr
 .type b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR8pbyyncfrR20HAhzoreEnatrPbyyncfr,%function
 b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR8pbyyncfrR20HAhzoreEnatrPbyyncfr:
 nop
@@ -18698,7 +18698,7 @@
 b__MA6vph_646ahzore5FpnyrQ2Ri:
 nop
 .text
-.globl b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR16vqragvglSnyyonpxR28HAhzoreEnatrVqragvglSnyyonpx
+.weak b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR16vqragvglSnyyonpxR28HAhzoreEnatrVqragvglSnyyonpx
 .type b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR16vqragvglSnyyonpxR28HAhzoreEnatrVqragvglSnyyonpx,%function
 b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR16vqragvglSnyyonpxR28HAhzoreEnatrVqragvglSnyyonpx:
 nop
@@ -19133,7 +19133,7 @@
 b__MA6vph_6411ZrnfherHavg14trgUrpgbcnfpnyRi:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9havgJvqguR16HAhzoreHavgJvqgu
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9havgJvqguR16HAhzoreHavgJvqgu
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9havgJvqguR16HAhzoreHavgJvqgu,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9havgJvqguR16HAhzoreHavgJvqgu:
 nop
@@ -19418,7 +19418,7 @@
 b__MA6vph_6410QngrSbezng18frgPnyraqneYravragRn:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7flzobyfREXAF_20QrpvznySbezngFlzobyfR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7flzobyfREXAF_20QrpvznySbezngFlzobyfR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7flzobyfREXAF_20QrpvznySbezngFlzobyfR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7flzobyfREXAF_20QrpvznySbezngFlzobyfR:
 nop
@@ -19553,7 +19553,7 @@
 b_hahzs_pybfr_64:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9cerpvfvbaREXAF0_9CerpvfvbaR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9cerpvfvbaREXAF0_9CerpvfvbaR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9cerpvfvbaREXAF0_9CerpvfvbaR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9cerpvfvbaREXAF0_9CerpvfvbaR:
 nop
@@ -19698,7 +19698,7 @@
 b__MAX6vph_6412GvzrMbarEhyrrdREXF0_:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR8abgngvbaREXAF0_8AbgngvbaR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR8abgngvbaREXAF0_8AbgngvbaR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR8abgngvbaREXAF0_8AbgngvbaR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR8abgngvbaREXAF0_8AbgngvbaR:
 nop
@@ -19933,7 +19933,7 @@
 b__MA6vph_6418PnyraqneNfgebabzre10trgZbbaNtrRi:
 nop
 .text
-.globl b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR8pbyyncfrR20HAhzoreEnatrPbyyncfr
+.weak b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR8pbyyncfrR20HAhzoreEnatrPbyyncfr
 .type b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR8pbyyncfrR20HAhzoreEnatrPbyyncfr,%function
 b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR8pbyyncfrR20HAhzoreEnatrPbyyncfr:
 nop
@@ -20088,7 +20088,7 @@
 b__MA6vph_646ahzore26HaybpnyvmrqAhzoreSbeznggreP2RBF1_:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7qrpvznyR30HAhzoreQrpvznyFrcnengbeQvfcynl
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7qrpvznyR30HAhzoreQrpvznyFrcnengbeQvfcynl
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7qrpvznyR30HAhzoreQrpvznyFrcnengbeQvfcynl,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7qrpvznyR30HAhzoreQrpvznyFrcnengbeQvfcynl:
 nop
@@ -20198,7 +20198,7 @@
 b__MA6vph_6425AnzrHavpbqrGenafyvgrengbe16trgFgngvpPynffVQRi:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR6znpebfREXAF0_4vzcy10ZnpebCebcfR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR6znpebfREXAF0_4vzcy10ZnpebCebcfR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR6znpebfREXAF0_4vzcy10ZnpebCebcfR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR6znpebfREXAF0_4vzcy10ZnpebCebcfR:
 nop
@@ -20263,7 +20263,7 @@
 b__MA6vph_6411ZrnfherHavg17trgTnyybaVzcrevnyRi:
 nop
 .text
-.globl b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqRBAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqRBAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -20443,7 +20443,7 @@
 b__MA6vph_6422PbzcbhaqGenafyvgrengbeQ2Ri:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR4havgREXAF_11ZrnfherHavgR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR4havgREXAF_11ZrnfherHavgR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR4havgREXAF_11ZrnfherHavgR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR4havgREXAF_11ZrnfherHavgR:
 nop
@@ -20513,7 +20513,7 @@
 b__MAX6vph_648ahzcnefr4vzcy16ZvahfFvtaZngpure6npprcgREAF1_13FgevatFrtzragREAF1_12CnefrqAhzoreR:
 nop
 .text
-.globl b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR16vqragvglSnyyonpxR28HAhzoreEnatrVqragvglSnyyonpx
+.weak b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR16vqragvglSnyyonpxR28HAhzoreEnatrVqragvglSnyyonpx
 .type b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR16vqragvglSnyyonpxR28HAhzoreEnatrVqragvglSnyyonpx,%function
 b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR16vqragvglSnyyonpxR28HAhzoreEnatrVqragvglSnyyonpx:
 nop
@@ -20553,7 +20553,7 @@
 b__MA6vph_6412AhzoreSbezng16vfFglyrFhccbegrqR18HAhzoreSbezngFglyr:
 nop
 .text
-.globl b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqREXAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqREXAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -20708,7 +20708,7 @@
 b__MA6vph_6418PheeraplCyhenyVasb14frgCyhenyEhyrfREXAF_13HavpbqrFgevatRE10HReebePbqr:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7cnqqvatREXAF0_4vzcy6CnqqreR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7cnqqvatREXAF0_4vzcy6CnqqreR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7cnqqvatREXAF0_4vzcy6CnqqreR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7cnqqvatREXAF0_4vzcy6CnqqreR:
 nop
@@ -20983,7 +20983,7 @@
 b__MA6vph_6424QngrGvzrCnggreaTrarengbeP1REXF0_:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7qrpvznyR30HAhzoreQrpvznyFrcnengbeQvfcynl
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7qrpvznyR30HAhzoreQrpvznyFrcnengbeQvfcynl
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7qrpvznyR30HAhzoreQrpvznyFrcnengbeQvfcynl,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7qrpvznyR30HAhzoreQrpvznyFrcnengbeQvfcynl:
 nop
@@ -21023,7 +21023,7 @@
 b__MA6vph_646ahzore4vzcy17CnefrqCnggreaVasb20pbafhzrVagrtreSbezngRE10HReebePbqr:
 nop
 .text
-.globl b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR8pbyyncfrR20HAhzoreEnatrPbyyncfr
+.weak b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR8pbyyncfrR20HAhzoreEnatrPbyyncfr
 .type b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR8pbyyncfrR20HAhzoreEnatrPbyyncfr,%function
 b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR8pbyyncfrR20HAhzoreEnatrPbyyncfr:
 nop
@@ -21088,7 +21088,7 @@
 b__MA6vph_6411ZrnfherHavg8trgCbhaqRi:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR5pybarRi
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR5pybarRi
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR5pybarRi,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR5pybarRi:
 nop
@@ -21158,7 +21158,7 @@
 b__MA6vph_6417QngrSbezngFlzobyfP2REXAF_6YbpnyrRCXpE10HReebePbqr:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR6znpebfRBAF0_4vzcy10ZnpebCebcfR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR6znpebfRBAF0_4vzcy10ZnpebCebcfR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR6znpebfRBAF0_4vzcy10ZnpebCebcfR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR6znpebfRBAF0_4vzcy10ZnpebCebcfR:
 nop
@@ -21233,7 +21233,7 @@
 b__MA6vph_6411ZrnfherHavg22perngrZvyrFpnaqvanivnaRE10HReebePbqr:
 nop
 .text
-.globl b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR5pybarRi
+.weak b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR5pybarRi
 .type b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR5pybarRi,%function
 b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR5pybarRi:
 nop
@@ -21483,7 +21483,7 @@
 b__MA6vph_6412CyhenySbezngQ0Ri:
 nop
 .data
-.globl b__MGVA6vph_6425FpvragvsvpAhzoreSbeznggre5FglyrR
+.weak b__MGVA6vph_6425FpvragvsvpAhzoreSbeznggre5FglyrR
 .type b__MGVA6vph_6425FpvragvsvpAhzoreSbeznggre5FglyrR,%object
 b__MGVA6vph_6425FpvragvsvpAhzoreSbeznggre5FglyrR:
 .space __SIZEOF_POINTER__
@@ -21503,12 +21503,12 @@
 b_hcei_qrpAhzoreYbtO_64:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12nqbcgCreHavgRCAF_11ZrnfherHavgR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12nqbcgCreHavgRCAF_11ZrnfherHavgR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12nqbcgCreHavgRCAF_11ZrnfherHavgR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12nqbcgCreHavgRCAF_11ZrnfherHavgR:
 nop
 .text
-.globl b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgREXAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR20ahzoreSbeznggreSvefgREXAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -21893,7 +21893,7 @@
 b__MA6vph_6413ZrffntrSbezng11nqbcgSbezngRvCAF_6SbezngR:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12nqbcgCreHavgRCAF_11ZrnfherHavgR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12nqbcgCreHavgRCAF_11ZrnfherHavgR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12nqbcgCreHavgRCAF_11ZrnfherHavgR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12nqbcgCreHavgRCAF_11ZrnfherHavgR:
 nop
@@ -22268,7 +22268,7 @@
 b__MAX6vph_648ahzcnefr4vzcy18NeenlFrevrfZngpure5ortvaRi:
 nop
 .text
-.globl b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguRBAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAXE6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR19ahzoreSbeznggreObguRBAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -22408,7 +22408,7 @@
 b__MAX6vph_646ahzore4vzcy15QrpvznyDhnagvgl10svgfVaYbatRo:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9havgJvqguR16HAhzoreHavgJvqgu
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9havgJvqguR16HAhzoreHavgJvqgu
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9havgJvqguR16HAhzoreHavgJvqgu,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9havgJvqguR16HAhzoreHavgJvqgu:
 nop
@@ -22708,7 +22708,7 @@
 b__MGIA6vph_646ahzore4vzcy26PbafgnagZhygvSvryqZbqvsvreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7creHavgREXAF_11ZrnfherHavgR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7creHavgREXAF_11ZrnfherHavgR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7creHavgREXAF_11ZrnfherHavgR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR7creHavgREXAF_11ZrnfherHavgR:
 nop
@@ -22948,7 +22948,7 @@
 b__MA6vph_6411ZrnfherHavg19trgNfgebabzvpnyHavgRi:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9guerfubyqRv
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9guerfubyqRv
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9guerfubyqRv,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9guerfubyqRv:
 nop
@@ -23063,7 +23063,7 @@
 b__MA6vph_6413GvzrMbarAnzrfQ1Ri:
 nop
 .data
-.globl b__MGFA6vph_648ahzcnefr4vzcy18PbzcbfvgvbaZngpureR
+.weak b__MGFA6vph_648ahzcnefr4vzcy18PbzcbfvgvbaZngpureR
 .type b__MGFA6vph_648ahzcnefr4vzcy18PbzcbfvgvbaZngpureR,%object
 b__MGFA6vph_648ahzcnefr4vzcy18PbzcbfvgvbaZngpureR:
 .space __SIZEOF_POINTER__
@@ -23168,7 +23168,7 @@
 b__MA6vph_646ahzore4vzcy14FlzobyfJenccre5frgGbREXAF_20QrpvznySbezngFlzobyfR:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12vagrtreJvqguREXAF0_12VagrtreJvqguR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12vagrtreJvqguREXAF0_12VagrtreJvqguR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12vagrtreJvqguREXAF0_12VagrtreJvqguR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12vagrtreJvqguREXAF0_12VagrtreJvqguR:
 nop
@@ -23333,7 +23333,7 @@
 b_hpscbf_trgPngrtbel_64:
 nop
 .text
-.globl b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqREXAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqREXAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqREXAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -23603,7 +23603,7 @@
 b__MA6vph_646ahzore4vzcy15QrpvznyDhnagvgl11cbcSebzYrsgRv:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12nqbcgCreHavgRCAF_11ZrnfherHavgR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12nqbcgCreHavgRCAF_11ZrnfherHavgR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12nqbcgCreHavgRCAF_11ZrnfherHavgR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12nqbcgCreHavgRCAF_11ZrnfherHavgR:
 nop
@@ -23693,7 +23693,7 @@
 b__MA6vph_6414UroerjPnyraqne11fgnegBsLrneRvE10HReebePbqr:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR5pybarRi
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR5pybarRi
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR5pybarRi,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR5pybarRi:
 nop
@@ -23843,7 +23843,7 @@
 b__MA6vph_646ahzore4vzcy10NssvkHgvyf15trgSvryqSbeGlcrRAF1_16NssvkCnggreaGlcrR:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR4fvtaR18HAhzoreFvtaQvfcynl
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR4fvtaR18HAhzoreFvtaQvfcynl
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR4fvtaR18HAhzoreFvtaQvfcynl,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR4fvtaR18HAhzoreFvtaQvfcynl:
 nop
@@ -23893,7 +23893,7 @@
 b__MA6vph_646ahzore4vzcy19AhzoreFgevatOhvyqreP2Ri:
 nop
 .data
-.globl b__MGVA6vph_648ahzcnefr4vzcy18PbzcbfvgvbaZngpureR
+.weak b__MGVA6vph_648ahzcnefr4vzcy18PbzcbfvgvbaZngpureR
 .type b__MGVA6vph_648ahzcnefr4vzcy18PbzcbfvgvbaZngpureR,%object
 b__MGVA6vph_648ahzcnefr4vzcy18PbzcbfvgvbaZngpureR:
 .space __SIZEOF_POINTER__
@@ -23998,7 +23998,7 @@
 b__MA6vph_646ahzore4vzcy15QrpvznyDhnagvgl16ebhaqGbVaperzragRq25HAhzoreSbezngEbhaqvatZbqrE10HReebePbqr:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7flzobyfREXAF_20QrpvznySbezngFlzobyfR
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7flzobyfREXAF_20QrpvznySbezngFlzobyfR
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7flzobyfREXAF_20QrpvznySbezngFlzobyfR,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR7flzobyfREXAF_20QrpvznySbezngFlzobyfR:
 nop
@@ -24248,7 +24248,7 @@
 b__MA6vph_6413SbeznggrqYvfgQ0Ri:
 nop
 .data
-.globl b__MGIA6vph_648ahzcnefr4vzcy19NssvkCnggreaZngpureR
+.weak b__MGIA6vph_648ahzcnefr4vzcy19NssvkCnggreaZngpureR
 .type b__MGIA6vph_648ahzcnefr4vzcy19NssvkCnggreaZngpureR,%object
 b__MGIA6vph_648ahzcnefr4vzcy19NssvkCnggreaZngpureR:
 .space __SIZEOF_POINTER__
@@ -24823,7 +24823,7 @@
 b__MA6vph_6417EhyrOnfrqPbyyngbeP1REXAF_13HavpbqrFgevatRE11HCnefrReebeEF1_E10HReebePbqr:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR4havgREXAF_11ZrnfherHavgR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR4havgREXAF_11ZrnfherHavgR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR4havgREXAF_11ZrnfherHavgR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR4havgREXAF_11ZrnfherHavgR:
 nop
@@ -25333,7 +25333,7 @@
 b__MA6vph_647ZrnfhernFREXF0_:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12nqbcgFlzobyfRCAF_15AhzorevatFlfgrzR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12nqbcgFlzobyfRCAF_15AhzorevatFlfgrzR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12nqbcgFlzobyfRCAF_15AhzorevatFlfgrzR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12nqbcgFlzobyfRCAF_15AhzorevatFlfgrzR:
 nop
@@ -25613,7 +25613,7 @@
 b__MA6vph_6411ZrnfherHavg16perngrFdhnerSbbgRE10HReebePbqr:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9nqbcgHavgRCAF_11ZrnfherHavgR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9nqbcgHavgRCAF_11ZrnfherHavgR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9nqbcgHavgRCAF_11ZrnfherHavgR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR9nqbcgHavgRCAF_11ZrnfherHavgR:
 nop
@@ -25713,7 +25713,7 @@
 b__MGVA6vph_648ahzcnefr4vzcy16ZvahfFvtaZngpureR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR11pbclReebeGbRE10HReebePbqr
+.weak b__MAX6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR11pbclReebeGbRE10HReebePbqr
 .type b__MAX6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR11pbclReebeGbRE10HReebePbqr,%function
 b__MAX6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_31HaybpnyvmrqAhzoreEnatrSbeznggreRR11pbclReebeGbRE10HReebePbqr:
 nop
@@ -26168,7 +26168,7 @@
 b__MGFA6vph_6421QngrSzgOrfgCnggreaXrlR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12ebhaqvatZbqrR25HAhzoreSbezngEbhaqvatZbqr
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12ebhaqvatZbqrR25HAhzoreSbezngEbhaqvatZbqr
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12ebhaqvatZbqrR25HAhzoreSbezngEbhaqvatZbqr,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12ebhaqvatZbqrR25HAhzoreSbezngEbhaqvatZbqr:
 nop
@@ -26253,12 +26253,12 @@
 b__MAX6vph_6421EhyrOnfrqAhzoreSbezng17trgQrsnhygAnAEhyrRi:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12vagrtreJvqguREXAF0_12VagrtreJvqguR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12vagrtreJvqguREXAF0_12VagrtreJvqguR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12vagrtreJvqguREXAF0_12VagrtreJvqguR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_24YbpnyvmrqAhzoreSbeznggreRR12vagrtreJvqguREXAF0_12VagrtreJvqguR:
 nop
 .text
-.globl b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12vagrtreJvqguREXAF0_12VagrtreJvqguR
+.weak b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12vagrtreJvqguREXAF0_12VagrtreJvqguR
 .type b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12vagrtreJvqguREXAF0_12VagrtreJvqguR,%function
 b__MAXE6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12vagrtreJvqguREXAF0_12VagrtreJvqguR:
 nop
@@ -26303,7 +26303,7 @@
 b__MAX6vph_6421EhyrOnfrqAhzoreSbezng18perngrCyhenySbezngR11HCyhenyGlcrEXAF_13HavpbqrFgevatRE10HReebePbqr:
 nop
 .text
-.globl b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
+.weak b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqRBAF0_26HaybpnyvmrqAhzoreSbeznggreR
 .type b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqRBAF0_26HaybpnyvmrqAhzoreSbeznggreR,%function
 b__MAB6vph_646ahzore28AhzoreEnatrSbeznggreFrggvatfVAF0_29YbpnyvmrqAhzoreEnatrSbeznggreRR21ahzoreSbeznggreFrpbaqRBAF0_26HaybpnyvmrqAhzoreSbeznggreR:
 nop
@@ -26498,7 +26498,7 @@
 b__MAX6vph_6413ZrffntrSbezng6sbezngRCXAF_11SbeznggnoyrRCXAF_13HavpbqrFgevatRvEF4_CAF_13SvryqCbfvgvbaRE10HReebePbqr:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9guerfubyqRv
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9guerfubyqRv
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9guerfubyqRv,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR9guerfubyqRv:
 nop
@@ -26858,7 +26858,7 @@
 b__MA6vph_6412ErtrkZngpure10erfrgFgnpxRi:
 nop
 .text
-.globl b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12ebhaqvatZbqrR25HAhzoreSbezngEbhaqvatZbqr
+.weak b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12ebhaqvatZbqrR25HAhzoreSbezngEbhaqvatZbqr
 .type b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12ebhaqvatZbqrR25HAhzoreSbezngEbhaqvatZbqr,%function
 b__MAB6vph_646ahzore23AhzoreSbeznggreFrggvatfVAF0_26HaybpnyvmrqAhzoreSbeznggreRR12ebhaqvatZbqrR25HAhzoreSbezngEbhaqvatZbqr:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_154.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_154.S
index 129e0a8..ae7b648 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_154.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_154.S
@@ -48,7 +48,7 @@
 b__MA7naqebvq16ZrqvnOhssreTebhc14npdhver_ohssreRCCAF_15ZrqvnOhssreOnfrRoz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -103,7 +103,7 @@
 b__MA7naqebvq7NFgevat6nccraqRw:
 nop
 .data
-.globl b__MGPA7naqebvq7NYbbcre12YbbcreGuernqR0_AF_6GuernqR
+.weak b__MGPA7naqebvq7NYbbcre12YbbcreGuernqR0_AF_6GuernqR
 .type b__MGPA7naqebvq7NYbbcre12YbbcreGuernqR0_AF_6GuernqR,%object
 b__MGPA7naqebvq7NYbbcre12YbbcreGuernqR0_AF_6GuernqR:
 .space __SIZEOF_POINTER__
@@ -188,7 +188,7 @@
 b__MA7naqebvq13NYbbcreEbfgre23haertvfgreFgnyrUnaqyrefRi:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRRR:
 .space __SIZEOF_POINTER__
@@ -248,7 +248,7 @@
 b__MAX7naqebvq12ZrgnQngnOnfr10glcrq_qngn7trgQngnRCwCCXiCz:
 nop
 .text
-.globl b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeFgnaqneqRwRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_wRRR
+.weak b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeFgnaqneqRwRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_wRRR
 .type b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeFgnaqneqRwRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_wRRR,%function
 b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeFgnaqneqRwRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_wRRR:
 nop
@@ -303,7 +303,7 @@
 b__MA7naqebvq8NZrffntr10frgRagelNgRzEXAF_5NQngnVWvyzsqAF0_4ErpgRAF_7NFgevatRCiAF_2fcVF0_RRAF5_VAF_7NOhssreRRRAF5_VAF_7ErsOnfrRRRRR6PhfgbzVAFO_7synttreVwRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVCiRRECAF_15__gerr_raq_abqrVFW_RREXG_:
 nop
@@ -408,7 +408,7 @@
 b__MA7naqebvq7NFgevatP1REXF0_:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR8qb_fcyngRCiCXiz:
 nop
@@ -518,7 +518,7 @@
 b__MA7naqebvq7NFgevat6vafregRCXpzz:
 nop
 .text
-.globl b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeFgnaqneqRAF_12PbybeNfcrpgf9CevznevrfRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_F4_RRR
+.weak b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeFgnaqneqRAF_12PbybeNfcrpgf9CevznevrfRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_F4_RRR
 .type b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeFgnaqneqRAF_12PbybeNfcrpgf9CevznevrfRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_F4_RRR,%function
 b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeFgnaqneqRAF_12PbybeNfcrpgf9CevznevrfRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_F4_RRR:
 nop
@@ -533,7 +533,7 @@
 b__MA7naqebvq7NYbbcre8TrgAbjHfRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR12qb_pbafgehpgRCiz:
 nop
@@ -578,7 +578,7 @@
 b__MA7naqebvq6H16_NGRCXu:
 nop
 .text
-.globl b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeGenafsreRwRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_wRRR
+.weak b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeGenafsreRwRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_wRRR
 .type b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeGenafsreRwRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_wRRR,%function
 b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeGenafsreRwRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_wRRR:
 nop
@@ -613,7 +613,7 @@
 b__MA7naqebvq8NZrffntr7frgErpgRCXpvvvv:
 nop
 .text
-.globl b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeGenafsreRAF_12PbybeNfcrpgf8GenafsreRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_F4_RRR
+.weak b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeGenafsreRAF_12PbybeNfcrpgf8GenafsreRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_F4_RRR
 .type b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeGenafsreRAF_12PbybeNfcrpgf8GenafsreRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_F4_RRR,%function
 b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeGenafsreRAF_12PbybeNfcrpgf8GenafsreRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_F4_RRR:
 nop
@@ -628,7 +628,7 @@
 b__MAX7naqebvq8NZrffntr14trgRagelAnzrNgRzCAF0_4GlcrR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_qrfgeblRCiz:
 nop
@@ -643,7 +643,7 @@
 b__MA7naqebvq8NZrffntrP2RwEXAF_2fcVXAF_8NUnaqyreRRR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -658,7 +658,7 @@
 b__MAX7naqebvq12ZrgnQngnOnfr11svaqCbvagreRwCCi:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRRR:
 .space __SIZEOF_POINTER__
@@ -703,12 +703,12 @@
 b__MA7naqebvq10NOvgErnqre13svyyErfreibveRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MA7naqebvq7NYbbxhcV19naqebvq_qngnfcnpr_gF1_RP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF1_F1_RRR
+.weak b__MA7naqebvq7NYbbxhcV19naqebvq_qngnfcnpr_gF1_RP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF1_F1_RRR
 .type b__MA7naqebvq7NYbbxhcV19naqebvq_qngnfcnpr_gF1_RP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF1_F1_RRR,%function
 b__MA7naqebvq7NYbbxhcV19naqebvq_qngnfcnpr_gF1_RP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF1_F1_RRR:
 nop
@@ -718,7 +718,7 @@
 b__MA7naqebvq12ZrgnQngnOnfr10glcrq_qngn11serrFgbentrRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -793,7 +793,7 @@
 b__MA7naqebvq10NOvgErnqre7chgOvgfRwz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR10qb_pbzcnerRCXiF7_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR10qb_pbzcnerRCXiF7_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR10qb_pbzcnerRCXiF7_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR10qb_pbzcnerRCXiF7_:
 nop
@@ -803,7 +803,7 @@
 b__MA7naqebvq7NFgevatP2REXAF_7Fgevat8R:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRRR:
 .space __SIZEOF_POINTER__
@@ -833,12 +833,12 @@
 b__MA7naqebvq7NOhssreQ2Ri:
 nop
 .data
-.globl b__MGIA7naqebvq7NYbbcre12YbbcreGuernqR
+.weak b__MGIA7naqebvq7NYbbcre12YbbcreGuernqR
 .type b__MGIA7naqebvq7NYbbcre12YbbcreGuernqR,%object
 b__MGIA7naqebvq7NYbbcre12YbbcreGuernqR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -893,7 +893,7 @@
 b__MAX7naqebvq12ANYOvgErnqre18ngYrnfgAhzOvgfYrsgRz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRRR:
 .space __SIZEOF_POINTER__
@@ -908,7 +908,7 @@
 b__MAX7naqebvq7NFgevat4fvmrRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq17NhqvbCerfragngvbaRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq17NhqvbCerfragngvbaRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq17NhqvbCerfragngvbaRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq17NhqvbCerfragngvbaRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -973,7 +973,7 @@
 b__MAX7naqebvq8NZrffntr10svaqBowrpgRCXpCAF_2fcVAF_7ErsOnfrRRR:
 nop
 .data
-.globl b__MA7naqebvq7NFgevat12xRzcglFgevatR
+.weak b__MA7naqebvq7NFgevat12xRzcglFgevatR
 .type b__MA7naqebvq7NFgevat12xRzcglFgevatR,%object
 b__MA7naqebvq7NFgevat12xRzcglFgevatR:
 .space __SIZEOF_POINTER__
@@ -1008,7 +1008,7 @@
 b__MA7naqebvq8ZrgnQngnQ1Ri:
 nop
 .data
-.globl b__MGGA7naqebvq7NYbbcre12YbbcreGuernqR
+.weak b__MGGA7naqebvq7NYbbcre12YbbcreGuernqR
 .type b__MGGA7naqebvq7NYbbcre12YbbcreGuernqR,%object
 b__MGGA7naqebvq7NYbbcre12YbbcreGuernqR:
 .space __SIZEOF_POINTER__
@@ -1048,7 +1048,7 @@
 b__MA7naqebvq11ZrqvnOhssre9frg_enatrRzz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR8qb_fcyngRCiCXiz:
 nop
@@ -1058,7 +1058,7 @@
 b__MAX7naqebvq8NZrffntr11qrohtFgevatRv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1108,12 +1108,12 @@
 b__MA7naqebvq7NFgevat11znxrZhgnoyrRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR7qb_pbclRCiCXiz:
 nop
@@ -1128,7 +1128,7 @@
 b__MA7naqebvq7NYbbcre9cbfgErcylREXAF_2fcVAF_11NErcylGbxraRRREXAF1_VAF_8NZrffntrRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF_19__znc_inyhr_pbzcnerVF7_F8_AF_4yrffVF7_RRYo1RRRAF5_VF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR:
 nop
@@ -1138,7 +1138,7 @@
 b__MA7naqebvq13NYbbcreEbfgreP1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1148,7 +1148,7 @@
 b__MA7naqebvq6agbu64Rz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR10qb_pbzcnerRCXiF7_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR10qb_pbzcnerRCXiF7_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR10qb_pbzcnerRCXiF7_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR10qb_pbzcnerRCXiF7_:
 nop
@@ -1168,7 +1168,7 @@
 b__MA7naqebvq10PbybeHgvyf33jencPbybeNfcrpgfVagbPbybeFgnaqneqRAF_12PbybeNfcrpgf9CevznevrfRAF1_12ZngevkPbrssfR:
 nop
 .text
-.globl b__MA7naqebvq7NYbbxhcVvAF_12PbybeNfcrpgf8GenafsreRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVvF2_RRR
+.weak b__MA7naqebvq7NYbbxhcVvAF_12PbybeNfcrpgf8GenafsreRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVvF2_RRR
 .type b__MA7naqebvq7NYbbxhcVvAF_12PbybeNfcrpgf8GenafsreRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVvF2_RRR,%function
 b__MA7naqebvq7NYbbxhcVvAF_12PbybeNfcrpgf8GenafsreRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVvF2_RRR:
 nop
@@ -1313,7 +1313,7 @@
 b__MA7naqebvq12rapbqrOnfr64RCXizCAF_7NFgevatR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR7qb_pbclRCiCXiz:
 nop
@@ -1323,12 +1323,12 @@
 b__MA7naqebvq12ZrgnQngnOnfrP1Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR10qb_pbzcnerRCXiF6_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1338,12 +1338,12 @@
 b__MA7naqebvq12ZrgnQngnOnfr7frgQngnRwwCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR12qb_pbafgehpgRCiz:
 nop
@@ -1353,7 +1353,7 @@
 b__MA7naqebvq7NYbbcreQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf10PbybeEnatrRwRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_wRRR
+.weak b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf10PbybeEnatrRwRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_wRRR
 .type b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf10PbybeEnatrRwRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_wRRR,%function
 b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf10PbybeEnatrRwRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_wRRR:
 nop
@@ -1373,7 +1373,7 @@
 b__MA7naqebvq10PbybeHgvyf35hajencPbybeNfcrpgfSebzPbybeGenafsreRvCAF_12PbybeNfcrpgf8GenafsreR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1388,12 +1388,12 @@
 b__MA7naqebvq12ZrgnQngnOnfrQ0Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR7qb_pbclRCiCXiz:
 nop
@@ -1443,7 +1443,7 @@
 b__MA7naqebvq8NZrffntr9frgQbhoyrRCXpq:
 nop
 .text
-.globl b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeFgnaqneqRAFg3__14cnveVAF_12PbybeNfcrpgf9CevznevrfRAF5_12ZngevkPbrssfRRRRP2RFg16vavgvnyvmre_yvfgVAF4_VF2_F8_RRR
+.weak b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeFgnaqneqRAFg3__14cnveVAF_12PbybeNfcrpgf9CevznevrfRAF5_12ZngevkPbrssfRRRRP2RFg16vavgvnyvmre_yvfgVAF4_VF2_F8_RRR
 .type b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeFgnaqneqRAFg3__14cnveVAF_12PbybeNfcrpgf9CevznevrfRAF5_12ZngevkPbrssfRRRRP2RFg16vavgvnyvmre_yvfgVAF4_VF2_F8_RRR,%function
 b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf13PbybeFgnaqneqRAFg3__14cnveVAF_12PbybeNfcrpgf9CevznevrfRAF5_12ZngevkPbrssfRRRRP2RFg16vavgvnyvmre_yvfgVAF4_VF2_F8_RRR:
 nop
@@ -1523,7 +1523,7 @@
 b__MA7naqebvq10PbybeHgvyf20pbairegQngnFcnprGbI0RE19naqebvq_qngnfcnpr_g:
 nop
 .data
-.globl b__MGIA7naqebvq15ZrqvnOhssreOnfrR
+.weak b__MGIA7naqebvq15ZrqvnOhssreOnfrR
 .type b__MGIA7naqebvq15ZrqvnOhssreOnfrR,%object
 b__MGIA7naqebvq15ZrqvnOhssreOnfrR:
 .space __SIZEOF_POINTER__
@@ -1533,12 +1533,12 @@
 b__MA7naqebvq14SvaqNIPYnlreVqRCXuz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR10qb_qrfgeblRCiz:
 nop
@@ -1548,7 +1548,7 @@
 b__MA7naqebvq11ZrqvnOhssre11frgBofreireRCAF_19ZrqvnOhssreBofreireR:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRRR:
 .space __SIZEOF_POINTER__
@@ -1648,7 +1648,7 @@
 b__MA7naqebvq6NQroht17trgRkcrevzragSyntRoCXpzzzz:
 nop
 .text
-.globl b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf10PbybeEnatrRAF_12PbybeNfcrpgf5EnatrRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_F4_RRR
+.weak b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf10PbybeEnatrRAF_12PbybeNfcrpgf5EnatrRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_F4_RRR
 .type b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf10PbybeEnatrRAF_12PbybeNfcrpgf5EnatrRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_F4_RRR,%function
 b__MA7naqebvq7NYbbxhcVAF_10PbybeHgvyf10PbybeEnatrRAF_12PbybeNfcrpgf5EnatrRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVF2_F4_RRR:
 nop
@@ -1668,7 +1668,7 @@
 b__MA7naqebvq8H16YR_NGRCXu:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR7qb_pbclRCiCXiz:
 nop
@@ -1708,7 +1708,7 @@
 b__MAX7naqebvq12ZrgnQngnOnfr8gbFgevatRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_4YvfgVAF_7NFgevatRRRR8qb_fcyngRCiCXiz:
 nop
@@ -1803,7 +1803,7 @@
 b__MA7naqebvq7NFgevatP1RCXp:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_2fcVAF_7NYbbcreRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1813,7 +1813,7 @@
 b__MA7naqebvq8NZrffntr10frgZrffntrRCXpEXAF_2fcVF0_RR:
 nop
 .text
-.globl b__MA7naqebvq7NYbbxhcVvAF_12PbybeNfcrpgf9CevznevrfRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVvF2_RRR
+.weak b__MA7naqebvq7NYbbxhcVvAF_12PbybeNfcrpgf9CevznevrfRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVvF2_RRR
 .type b__MA7naqebvq7NYbbxhcVvAF_12PbybeNfcrpgf9CevznevrfRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVvF2_RRR,%function
 b__MA7naqebvq7NYbbxhcVvAF_12PbybeNfcrpgf9CevznevrfRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVvF2_RRR:
 nop
@@ -1888,7 +1888,7 @@
 b__MA7naqebvq25ZRQVN_ZVZRGLCR_NHQVB_RNP3R:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq4YvfgVAF_7NYbbcre5RiragRRR
+.weak b__MGIA7naqebvq4YvfgVAF_7NYbbcre5RiragRRR
 .type b__MGIA7naqebvq4YvfgVAF_7NYbbcre5RiragRRR,%object
 b__MGIA7naqebvq4YvfgVAF_7NYbbcre5RiragRRR:
 .space __SIZEOF_POINTER__
@@ -1908,7 +1908,7 @@
 b__MA7naqebvq24ZRQVN_ZVZRGLCR_NHQVB_JZNR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq4YvfgVAF_7NFgevatRRR
+.weak b__MGIA7naqebvq4YvfgVAF_7NFgevatRRR
 .type b__MGIA7naqebvq4YvfgVAF_7NFgevatRRR,%object
 b__MGIA7naqebvq4YvfgVAF_7NFgevatRRR:
 .space __SIZEOF_POINTER__
@@ -1918,7 +1918,7 @@
 b__MA7naqebvq7NYbbcre16perngrErcylGbxraRi:
 nop
 .data
-.globl b__MGIA7naqebvq11NErcylGbxraR
+.weak b__MGIA7naqebvq11NErcylGbxraR
 .type b__MGIA7naqebvq11NErcylGbxraR,%object
 b__MGIA7naqebvq11NErcylGbxraR:
 .space __SIZEOF_POINTER__
@@ -1928,7 +1928,7 @@
 b__MA7naqebvq7NYbbcre4ybbcRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -1988,7 +1988,7 @@
 b__MA7naqebvq24ZRQVN_ZVZRGLCR_NHQVB_NNPR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_13NYbbcreEbfgre11UnaqyreVasbRRRR8qb_fcyngRCiCXiz:
 nop
@@ -2058,7 +2058,7 @@
 b__MAX7naqebvq8NZrffntr10svaqFgevatRCXpCAF_7NFgevatR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR7qb_pbclRCiCXiz:
 nop
@@ -2208,7 +2208,7 @@
 b__MA7naqebvq12ZrgnQngnOnfr7frgErpgRwvvvv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR8qb_fcyngRCiCXiz:
 nop
@@ -2228,7 +2228,7 @@
 b__MA7naqebvq6ugba64Rz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7Fgevat8RF2_RRR12qb_pbafgehpgRCiz:
 nop
@@ -2268,7 +2268,7 @@
 b__MA7naqebvq10PbybeHgvyf35hajencPbybeNfcrpgfSebzPbybeFgnaqneqRvCAF_12PbybeNfcrpgf9CevznevrfRCAF1_12ZngevkPbrssfR:
 nop
 .text
-.globl b__MA7naqebvq7NYbbxhcVvAF_12PbybeNfcrpgf12ZngevkPbrssfRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVvF2_RRR
+.weak b__MA7naqebvq7NYbbxhcVvAF_12PbybeNfcrpgf12ZngevkPbrssfRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVvF2_RRR
 .type b__MA7naqebvq7NYbbxhcVvAF_12PbybeNfcrpgf12ZngevkPbrssfRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVvF2_RRR,%function
 b__MA7naqebvq7NYbbxhcVvAF_12PbybeNfcrpgf12ZngevkPbrssfRRP2RFg16vavgvnyvmre_yvfgVAFg3__14cnveVvF2_RRR:
 nop
@@ -2278,7 +2278,7 @@
 b__MA7naqebvq12ZrgnQngnOnfrnFREXF0_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVwAF_12ZrgnQngnOnfr10glcrq_qngnRRRR12qb_pbafgehpgRCiz:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_155.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_155.S
index cac969e..7007026 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_155.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_155.S
@@ -8,12 +8,12 @@
 b__MGPA7naqebvq16OaZrqvnPbqrpYvfgR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq16OcZrqvnPbqrpYvfgR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq16OcZrqvnPbqrpYvfgR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq16OcZrqvnPbqrpYvfgR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq16OcZrqvnPbqrpYvfgR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq16OcZrqvnPbqrpYvfgR
+.weak b__MGIA7naqebvq16OcZrqvnPbqrpYvfgR
 .type b__MGIA7naqebvq16OcZrqvnPbqrpYvfgR,%object
 b__MGIA7naqebvq16OcZrqvnPbqrpYvfgR:
 .space __SIZEOF_POINTER__
@@ -23,12 +23,12 @@
 b__MA7naqebvq15VZrqvnPbqrpYvfgP2Ri:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR10qb_qrfgeblRCiz:
 nop
 .data
-.globl b__MGIA7naqebvq14ZrqvnPbqrpVasb12PncnovyvgvrfR
+.weak b__MGIA7naqebvq14ZrqvnPbqrpVasb12PncnovyvgvrfR
 .type b__MGIA7naqebvq14ZrqvnPbqrpVasb12PncnovyvgvrfR,%object
 b__MGIA7naqebvq14ZrqvnPbqrpVasb12PncnovyvgvrfR:
 .space __SIZEOF_POINTER__
@@ -43,17 +43,17 @@
 b__MAX7naqebvq14ZrqvnPbqrpVasb18trgPncnovyvglVaqrkRCXp:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf25SRNGHER_QLANZVP_GVZRFGNZCR
+.weak b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf25SRNGHER_QLANZVP_GVZRFGNZCR
 .type b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf25SRNGHER_QLANZVP_GVZRFGNZCR,%object
 b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf25SRNGHER_QLANZVP_GVZRFGNZCR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR7qb_pbclRCiCXiz:
 nop
@@ -63,7 +63,7 @@
 b__MAX7naqebvq14ZrqvnPbqrpVasb18trgPncnovyvgvrfSbeRCXp:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR7qb_pbclRCiCXiz:
 nop
@@ -78,12 +78,12 @@
 b__MGGA7naqebvq15VZrqvnPbqrpYvfgR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq6IrpgbeVwR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVwR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVwR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVwR15qb_zbir_sbejneqRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRRR:
 .space __SIZEOF_POINTER__
@@ -93,12 +93,12 @@
 b__MA7naqebvq15VZrqvnPbqrpYvfg11nfVagresnprREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR7qb_pbclRCiCXiz:
 nop
 .data
-.globl b__MGGA7naqebvq16OcZrqvnPbqrpYvfgR
+.weak b__MGGA7naqebvq16OcZrqvnPbqrpYvfgR
 .type b__MGGA7naqebvq16OcZrqvnPbqrpYvfgR,%object
 b__MGGA7naqebvq16OcZrqvnPbqrpYvfgR:
 .space __SIZEOF_POINTER__
@@ -118,17 +118,17 @@
 b__MA7naqebvq20ZrqvnPbqrpVasbJevgreP1RCAF_14ZrqvnPbqrpVasbR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR10qb_pbzcnerRCXiFN_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR10qb_pbzcnerRCXiFN_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR10qb_pbzcnerRCXiFN_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR10qb_pbzcnerRCXiFN_:
 nop
@@ -138,7 +138,7 @@
 b__MA7naqebvq14ZrqvnPbqrpVasb12PncnovyvgvrfP2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -148,12 +148,12 @@
 b__MAX7naqebvq14ZrqvnPbqrpVasb13trgNggevohgrfRi:
 nop
 .data
-.globl b__MGIA7naqebvq14ZrqvnPbqrpVasbR
+.weak b__MGIA7naqebvq14ZrqvnPbqrpVasbR
 .type b__MGIA7naqebvq14ZrqvnPbqrpVasbR,%object
 b__MGIA7naqebvq14ZrqvnPbqrpVasbR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRRR:
 .space __SIZEOF_POINTER__
@@ -163,12 +163,12 @@
 b__MA7naqebvq20ZrqvnPbqrpVasbJevgreP2RCAF_14ZrqvnPbqrpVasbR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -183,7 +183,7 @@
 b__MGi0_a24_A7naqebvq15VZrqvnPbqrpYvfgQ0Ri:
 nop
 .data
-.globl b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf23SRNGHER_ZHYGVCYR_SENZRFR
+.weak b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf23SRNGHER_ZHYGVCYR_SENZRFR
 .type b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf23SRNGHER_ZHYGVCYR_SENZRFR,%object
 b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf23SRNGHER_ZHYGVCYR_SENZRFR:
 .space __SIZEOF_POINTER__
@@ -203,7 +203,7 @@
 b__MGPA7naqebvq16OaZrqvnPbqrpYvfgR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR8qb_fcyngRCiCXiz:
 nop
@@ -213,7 +213,7 @@
 b__MAX7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf24trgFhccbegrqPbybeSbezngfRCAF_6IrpgbeVwRR:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_15VZrqvnPbqrpYvfgRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_15VZrqvnPbqrpYvfgRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_15VZrqvnPbqrpYvfgRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_15VZrqvnPbqrpYvfgRR10baNfOvaqreRi:
 nop
@@ -233,42 +233,42 @@
 b__MA7naqebvq20ZrqvnPbqrpVasbJevgre7frgAnzrRCXp:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVAF_7NFgevatRRR
+.weak b__MGIA7naqebvq6IrpgbeVAF_7NFgevatRRR
 .type b__MGIA7naqebvq6IrpgbeVAF_7NFgevatRRR,%object
 b__MGIA7naqebvq6IrpgbeVAF_7NFgevatRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR10qb_pbzcnerRCXiF5_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR10qb_pbzcnerRCXiF5_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR10qb_pbzcnerRCXiF5_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR10qb_pbzcnerRCXiF5_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVwR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVwR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVwR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVwR8qb_fcyngRCiCXiz:
 nop
 .data
-.globl b__MGPA7naqebvq16OcZrqvnPbqrpYvfgR0_AF_11OcVagresnprVAF_15VZrqvnPbqrpYvfgRRR
+.weak b__MGPA7naqebvq16OcZrqvnPbqrpYvfgR0_AF_11OcVagresnprVAF_15VZrqvnPbqrpYvfgRRR
 .type b__MGPA7naqebvq16OcZrqvnPbqrpYvfgR0_AF_11OcVagresnprVAF_15VZrqvnPbqrpYvfgRRR,%object
 b__MGPA7naqebvq16OcZrqvnPbqrpYvfgR0_AF_11OcVagresnprVAF_15VZrqvnPbqrpYvfgRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf25SRNGHER_GHAARYRQ_CYNLONPXR
+.weak b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf25SRNGHER_GHAARYRQ_CYNLONPXR
 .type b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf25SRNGHER_GHAARYRQ_CYNLONPXR,%object
 b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf25SRNGHER_GHAARYRQ_CYNLONPXR:
 .space __SIZEOF_POINTER__
@@ -283,12 +283,12 @@
 b__MA7naqebvq14ZrqvnPbqrpVasbP2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVwR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVwR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVwR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVwR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVwR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVwR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVwR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVwR8qb_fcyngRCiCXiz:
 nop
@@ -298,7 +298,7 @@
 b__MA7naqebvq14ZrqvnPbqrpVasb18PncnovyvgvrfJevgre9nqqQrgnvyRCXpF3_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR12qb_pbafgehpgRCiz:
 nop
@@ -308,12 +308,12 @@
 b__MAX7naqebvq14ZrqvnPbqrpVasb12trgBjareAnzrRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR15qb_zbir_sbejneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVwR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVwR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVwR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVwR12qb_pbafgehpgRCiz:
 nop
@@ -323,17 +323,17 @@
 b__MA7naqebvq15VZrqvnPbqrpYvfg14frgQrsnhygVzcyRAFg3__110havdhr_cgeVF0_AF1_14qrsnhyg_qryrgrVF0_RRRR:
 nop
 .data
-.globl b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf21SRNGHER_VAGEN_ERSERFUR
+.weak b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf21SRNGHER_VAGEN_ERSERFUR
 .type b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf21SRNGHER_VAGEN_ERSERFUR,%object
 b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf21SRNGHER_VAGEN_ERSERFUR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVwR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVwR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVwR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVwR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR8qb_fcyngRCiCXiz:
 nop
@@ -343,7 +343,7 @@
 b__MA7naqebvq16OaZrqvnPbqrpYvfg10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR12qb_pbafgehpgRCiz:
 nop
@@ -373,7 +373,7 @@
 b__MA7naqebvq20ZrqvnPbqrpVasbJevgre7frgEnaxRw:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVwR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVwR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVwR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVwR7qb_pbclRCiCXiz:
 nop
@@ -383,17 +383,17 @@
 b__MGPA7naqebvq16OaZrqvnPbqrpYvfgR0_AF_15VZrqvnPbqrpYvfgR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq16OcZrqvnPbqrpYvfgR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq16OcZrqvnPbqrpYvfgR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq16OcZrqvnPbqrpYvfgR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq16OcZrqvnPbqrpYvfgR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq16OcZrqvnPbqrpYvfgR0_AF_15VZrqvnPbqrpYvfgR
+.weak b__MGPA7naqebvq16OcZrqvnPbqrpYvfgR0_AF_15VZrqvnPbqrpYvfgR
 .type b__MGPA7naqebvq16OcZrqvnPbqrpYvfgR0_AF_15VZrqvnPbqrpYvfgR,%object
 b__MGPA7naqebvq16OcZrqvnPbqrpYvfgR0_AF_15VZrqvnPbqrpYvfgR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -413,7 +413,7 @@
 b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf10SebzCnepryREXAF_6CnepryR:
 nop
 .data
-.globl b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf23SRNGHER_FRPHER_CYNLONPXR
+.weak b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf23SRNGHER_FRPHER_CYNLONPXR
 .type b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf23SRNGHER_FRPHER_CYNLONPXR,%object
 b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf23SRNGHER_FRPHER_CYNLONPXR:
 .space __SIZEOF_POINTER__
@@ -423,12 +423,12 @@
 b__MA7naqebvq20ZrqvnPbqrpVasbJevgre12nqqZrqvnGlcrRCXp:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVwR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVwR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVwR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVwR15qb_zbir_sbejneqRCiCXiz:
 nop
 .data
-.globl b__MGIA7naqebvq6IrpgbeVwRR
+.weak b__MGIA7naqebvq6IrpgbeVwRR
 .type b__MGIA7naqebvq6IrpgbeVwRR,%object
 b__MGIA7naqebvq6IrpgbeVwRR:
 .space __SIZEOF_POINTER__
@@ -443,7 +443,7 @@
 b__MGua8_A7naqebvq16OaZrqvnPbqrpYvfg10baGenafnpgRwEXAF_6CnepryRCF1_w:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR10qb_qrfgeblRCiz:
 nop
@@ -478,17 +478,17 @@
 b__MAX7naqebvq14ZrqvnPbqrpVasb7trgEnaxRi:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVwRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVwRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVwRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVwRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf21SRNGHER_SENZR_CNEFVATR
+.weak b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf21SRNGHER_SENZR_CNEFVATR
 .type b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf21SRNGHER_SENZR_CNEFVATR,%object
 b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf21SRNGHER_SENZR_CNEFVATR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf25SRNGHER_NQNCGVIR_CYNLONPXR
+.weak b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf25SRNGHER_NQNCGVIR_CYNLONPXR
 .type b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf25SRNGHER_NQNCGVIR_CYNLONPXR,%object
 b__MA7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf25SRNGHER_NQNCGVIR_CYNLONPXR:
 .space __SIZEOF_POINTER__
@@ -498,22 +498,22 @@
 b__MA7naqebvq20ZrqvnPbqrpVasbJevgre8frgBjareRCXp:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVAF_7NFgevatRAF_2fcVAF_14ZrqvnPbqrpVasb12PncnovyvgvrfRRRRRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVwR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVwR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVwR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVwR7qb_pbclRCiCXiz:
 nop
@@ -533,7 +533,7 @@
 b__MA7naqebvq20ZrqvnPbqrpVasbJevgre8nqqNyvnfRCXp:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVwR10qb_pbzcnerRCXiF3_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVwR10qb_pbzcnerRCXiF3_
 .type b__MAX7naqebvq12FbegrqIrpgbeVwR10qb_pbzcnerRCXiF3_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVwR10qb_pbzcnerRCXiF3_:
 nop
@@ -543,7 +543,7 @@
 b__MAX7naqebvq14ZrqvnPbqrpVasb12Pncnovyvgvrf13jevgrGbCnepryRCAF_6CnepryR:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVwR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq6IrpgbeVwR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq6IrpgbeVwR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq6IrpgbeVwR10qb_qrfgeblRCiz:
 nop
@@ -568,12 +568,12 @@
 b__MA7naqebvq14ZrqvnPbqrpVasb18PncnovyvgvrfJevgre12erzbirQrgnvyRCXp:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVwR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVwR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVwR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVwR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_14ZrqvnPbqrpVasb12CebsvyrYriryRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -593,12 +593,12 @@
 b__MAX7naqebvq14ZrqvnPbqrpVasb12trgPbqrpAnzrRi:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVAF_7NFgevatRR8qb_fcyngRCiCXiz:
 nop
 .text
-.globl b__MAX7naqebvq6IrpgbeVwR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq6IrpgbeVwR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq6IrpgbeVwR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq6IrpgbeVwR16qb_zbir_onpxjneqRCiCXiz:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_156.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_156.S
index c1a0ab8..c5b03f6 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_156.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_156.S
@@ -188,7 +188,7 @@
 b__MGGA7naqebvq20VTencuvpOhssreFbheprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq13OcBZKBofreireR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq13OcBZKBofreireR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq13OcBZKBofreireR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq13OcBZKBofreireR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -203,7 +203,7 @@
 b__MA7naqebvq20VTencuvpOhssreFbhepr11nfVagresnprREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .data
-.globl b__MGIA7naqebvq9UcBZKAbqrR
+.weak b__MGIA7naqebvq9UcBZKAbqrR
 .type b__MGIA7naqebvq9UcBZKAbqrR,%object
 b__MGIA7naqebvq9UcBZKAbqrR:
 .space __SIZEOF_POINTER__
@@ -248,7 +248,7 @@
 b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_05hgvyf21YJTencuvpOhssreFbheprR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
+.weak b__MA7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
 .type b__MA7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_,%function
 b__MA7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_:
 nop
@@ -308,7 +308,7 @@
 b__MGPA7naqebvq13OaBZKBofreireR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq9OcBZKAbqrR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq9OcBZKAbqrR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq9OcBZKAbqrR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq9OcBZKAbqrR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -383,7 +383,7 @@
 b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_05hgvyf17YJBzkOhssreFbheprR0_AF_17OaBZKOhssreFbheprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq9OcBZKAbqrR0_AF_8VBZKAbqrR
+.weak b__MGPA7naqebvq9OcBZKAbqrR0_AF_8VBZKAbqrR
 .type b__MGPA7naqebvq9OcBZKAbqrR0_AF_8VBZKAbqrR,%object
 b__MGPA7naqebvq9OcBZKAbqrR0_AF_8VBZKAbqrR:
 .space __SIZEOF_POINTER__
@@ -423,12 +423,12 @@
 b__MA7naqebvq27VTencuvpOhssreFbheprQrsnhyg10frgFhfcraqRoy:
 nop
 .data
-.globl b__MGPA7naqebvq9UcBZKAbqrR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq9UcBZKAbqrR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq9UcBZKAbqrR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq9UcBZKAbqrR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq9UcBZKAbqrR0_AF_11UcVagresnprVAF_9OcBZKAbqrRAF_8uneqjner5zrqvn3bzk4I1_05hgvyf9YJBzkAbqrRWRRR
+.weak b__MGPA7naqebvq9UcBZKAbqrR0_AF_11UcVagresnprVAF_9OcBZKAbqrRAF_8uneqjner5zrqvn3bzk4I1_05hgvyf9YJBzkAbqrRWRRR
 .type b__MGPA7naqebvq9UcBZKAbqrR0_AF_11UcVagresnprVAF_9OcBZKAbqrRAF_8uneqjner5zrqvn3bzk4I1_05hgvyf9YJBzkAbqrRWRRR,%object
 b__MGPA7naqebvq9UcBZKAbqrR0_AF_11UcVagresnprVAF_9OcBZKAbqrRAF_8uneqjner5zrqvn3bzk4I1_05hgvyf9YJBzkAbqrRWRRR:
 .space __SIZEOF_POINTER__
@@ -438,7 +438,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_05hgvyf9GJBzkAbqr9trgPbasvtRwEXAF0_8uvqy_irpVuRRAFg3__18shapgvbaVSiAF3_6FgnghfRF9_RRR:
 nop
 .data
-.globl b__MGGA7naqebvq13OcBZKBofreireR
+.weak b__MGGA7naqebvq13OcBZKBofreireR
 .type b__MGGA7naqebvq13OcBZKBofreireR,%object
 b__MGGA7naqebvq13OcBZKBofreireR:
 .space __SIZEOF_POINTER__
@@ -483,12 +483,12 @@
 b__MA7naqebvq23VBZKOhssreFbheprQrsnhyg20baVachgOhssreRzcgvrqRvEXAF_18BZKSraprCneprynoyrR:
 nop
 .data
-.globl b__MGPA7naqebvq9OcBZKAbqrR0_AF_11OcVagresnprVAF_8VBZKAbqrRRR
+.weak b__MGPA7naqebvq9OcBZKAbqrR0_AF_11OcVagresnprVAF_8VBZKAbqrRRR
 .type b__MGPA7naqebvq9OcBZKAbqrR0_AF_11OcVagresnprVAF_8VBZKAbqrRRR,%object
 b__MGPA7naqebvq9OcBZKAbqrR0_AF_11OcVagresnprVAF_8VBZKAbqrRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq9UcBZKAbqrR
+.weak b__MGGA7naqebvq9UcBZKAbqrR
 .type b__MGGA7naqebvq9UcBZKAbqrR,%object
 b__MGGA7naqebvq9UcBZKAbqrR:
 .space __SIZEOF_POINTER__
@@ -518,7 +518,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_05hgvyf9YJBzkAbqr12trgCnenzrgreR13BZK_VAQRKGLCRCiz:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_16VBZKOhssreFbheprRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_16VBZKOhssreFbheprRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_16VBZKOhssreFbheprRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_16VBZKOhssreFbheprRR10baNfOvaqreRi:
 nop
@@ -603,7 +603,7 @@
 b__MAX7naqebvq12VBZKBofreire22trgVagresnprQrfpevcgbeRi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_13TencuvpOhssreRRnFREXF2_
+.weak b__MA7naqebvq2fcVAF_13TencuvpOhssreRRnFREXF2_
 .type b__MA7naqebvq2fcVAF_13TencuvpOhssreRRnFREXF2_,%function
 b__MA7naqebvq2fcVAF_13TencuvpOhssreRRnFREXF2_:
 nop
@@ -618,17 +618,17 @@
 b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_05hgvyf21YJTencuvpOhssreFbheprR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR10baGenafnpgRwEXAF_6CnepryRCF8_w
+.weak b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR10baGenafnpgRwEXAF_6CnepryRCF8_w
 .type b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR10baGenafnpgRwEXAF_6CnepryRCF8_w,%function
 b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR10baGenafnpgRwEXAF_6CnepryRCF8_w:
 nop
 .text
-.globl b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8VBZKAbqrRRRvCAF_2fcVG_RR
+.weak b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8VBZKAbqrRRRvCAF_2fcVG_RR
 .type b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8VBZKAbqrRRRvCAF_2fcVG_RR,%function
 b__MAX7naqebvq6Cnepry16ernqFgebatOvaqreVAF_8VBZKAbqrRRRvCAF_2fcVG_RR:
 nop
 .text
-.globl b__MA7naqebvq11UcVagresnprVAF_9OcBZKAbqrRAF_8uneqjner5zrqvn3bzk4I1_05hgvyf9YJBzkAbqrRWRRP2REXAF_2fcVAF_7VOvaqreRRR
+.weak b__MA7naqebvq11UcVagresnprVAF_9OcBZKAbqrRAF_8uneqjner5zrqvn3bzk4I1_05hgvyf9YJBzkAbqrRWRRP2REXAF_2fcVAF_7VOvaqreRRR
 .type b__MA7naqebvq11UcVagresnprVAF_9OcBZKAbqrRAF_8uneqjner5zrqvn3bzk4I1_05hgvyf9YJBzkAbqrRWRRP2REXAF_2fcVAF_7VOvaqreRRR,%function
 b__MA7naqebvq11UcVagresnprVAF_9OcBZKAbqrRAF_8uneqjner5zrqvn3bzk4I1_05hgvyf9YJBzkAbqrRWRRP2REXAF_2fcVAF_7VOvaqreRRR:
 nop
@@ -743,7 +743,7 @@
 b__MA7naqebvq9BZKOhssreP2REXAF_2fcVAF_12AngvirUnaqyrRRR:
 nop
 .data
-.globl b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_13TencuvpOhssreRRR
+.weak b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_13TencuvpOhssreRRR
 .type b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_13TencuvpOhssreRRR,%object
 b__MGIA7naqebvq6Cnepry17SynggranoyrUrycreVAF_13TencuvpOhssreRRR:
 .space __SIZEOF_POINTER__
@@ -888,7 +888,7 @@
 b__MA7naqebvq12VBZKBofreireQ1Ri:
 nop
 .data
-.globl b__MGPA7naqebvq9OcBZKAbqrR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq9OcBZKAbqrR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq9OcBZKAbqrR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq9OcBZKAbqrR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -933,12 +933,12 @@
 b__MGIA7naqebvq17OaBZKOhssreFbheprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq13OcBZKBofreireR0_AF_12VBZKBofreireR
+.weak b__MGPA7naqebvq13OcBZKBofreireR0_AF_12VBZKBofreireR
 .type b__MGPA7naqebvq13OcBZKBofreireR0_AF_12VBZKBofreireR,%object
 b__MGPA7naqebvq13OcBZKBofreireR0_AF_12VBZKBofreireR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq9UcBZKAbqrR0_AF_8VBZKAbqrR
+.weak b__MGPA7naqebvq9UcBZKAbqrR0_AF_8VBZKAbqrR
 .type b__MGPA7naqebvq9UcBZKAbqrR0_AF_8VBZKAbqrR,%object
 b__MGPA7naqebvq9UcBZKAbqrR0_AF_8VBZKAbqrR:
 .space __SIZEOF_POINTER__
@@ -988,7 +988,7 @@
 b__MGPA7naqebvq17OaBZKOhssreFbheprR0_AF_11OaVagresnprVAF_16VBZKOhssreFbheprRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq18BZKSraprCneprynoyrR
+.weak b__MGIA7naqebvq18BZKSraprCneprynoyrR
 .type b__MGIA7naqebvq18BZKSraprCneprynoyrR,%object
 b__MGIA7naqebvq18BZKSraprCneprynoyrR:
 .space __SIZEOF_POINTER__
@@ -1063,7 +1063,7 @@
 b__MA7naqebvq21OcTencuvpOhssreFbhepr10frgFhfcraqRoy:
 nop
 .data
-.globl b__MGIA7naqebvq9OcBZKAbqrR
+.weak b__MGIA7naqebvq9OcBZKAbqrR
 .type b__MGIA7naqebvq9OcBZKAbqrR,%object
 b__MGIA7naqebvq9OcBZKAbqrR:
 .space __SIZEOF_POINTER__
@@ -1078,7 +1078,7 @@
 b__MA7naqebvq9BZKOhssre14ernqSebzCnepryRCXAF_6CnepryR:
 nop
 .data
-.globl b__MGPA7naqebvq13OcBZKBofreireR8_AF_9OcErsOnfrR
+.weak b__MGPA7naqebvq13OcBZKBofreireR8_AF_9OcErsOnfrR
 .type b__MGPA7naqebvq13OcBZKBofreireR8_AF_9OcErsOnfrR,%object
 b__MGPA7naqebvq13OcBZKBofreireR8_AF_9OcErsOnfrR:
 .space __SIZEOF_POINTER__
@@ -1183,7 +1183,7 @@
 b__MA7naqebvq16VBZKOhssreFbhepr11nfVagresnprREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .data
-.globl b__MGIA7naqebvq13OcBZKBofreireR
+.weak b__MGIA7naqebvq13OcBZKBofreireR
 .type b__MGIA7naqebvq13OcBZKBofreireR,%object
 b__MGIA7naqebvq13OcBZKBofreireR:
 .space __SIZEOF_POINTER__
@@ -1358,7 +1358,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_05hgvyf13GJBzkBofreireP2REXAF_2fcVAF_12VBZKBofreireRRR:
 nop
 .data
-.globl b__MGGA7naqebvq9OcBZKAbqrR
+.weak b__MGGA7naqebvq9OcBZKAbqrR
 .type b__MGGA7naqebvq9OcBZKAbqrR,%object
 b__MGGA7naqebvq9OcBZKAbqrR:
 .space __SIZEOF_POINTER__
@@ -1378,7 +1378,7 @@
 b__MA7naqebvq27VTencuvpOhssreFbheprQrsnhyg9frgZnkScfRs:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_12VBZKBofreireRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_12VBZKBofreireRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_12VBZKBofreireRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_12VBZKBofreireRR10baNfOvaqreRi:
 nop
@@ -1453,7 +1453,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_05hgvyf17GJBzkOhssreFbheprP1REXAF_2fcVAF_16VBZKOhssreFbheprRRR:
 nop
 .data
-.globl b__MA7naqebvq8VBZKAbqr27fTrgUnyGbxraGenafnpgvbaPbqrR
+.weak b__MA7naqebvq8VBZKAbqr27fTrgUnyGbxraGenafnpgvbaPbqrR
 .type b__MA7naqebvq8VBZKAbqr27fTrgUnyGbxraGenafnpgvbaPbqrR,%object
 b__MA7naqebvq8VBZKAbqr27fTrgUnyGbxraGenafnpgvbaPbqrR:
 .space __SIZEOF_POINTER__
@@ -1488,7 +1488,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_05hgvyf17GJBzkOhssreFbhepr20baVachgOhssreRzcgvrqRwEXAF0_11uvqy_unaqyrR:
 nop
 .text
-.globl b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
+.weak b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
 .type b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw,%function
 b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw:
 nop
@@ -1513,7 +1513,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_05hgvyf9GJBzkAbqr15qvfcngpuZrffntrREXAF3_7ZrffntrR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF1_9OaBZKAbqrRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF1_9OaBZKAbqrRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF1_9OaBZKAbqrRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_12U2OPbairegreVAF1_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF1_9OaBZKAbqrRR8BovghnelRRRAF_9nyybpngbeVFP_RRR21__chfu_onpx_fybj_cnguVFP_RRiBG_:
 nop
@@ -1523,7 +1523,7 @@
 b__MGPA7naqebvq16VBZKOhssreFbheprR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_8VBZKAbqrRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_8VBZKAbqrRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_8VBZKAbqrRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_8VBZKAbqrRR10baNfOvaqreRi:
 nop
@@ -1553,7 +1553,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_05hgvyf13GJBzkBofreire10baZrffntrfREXAF0_8uvqy_irpVAF3_7ZrffntrRRR:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_20VTencuvpOhssreFbheprRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_20VTencuvpOhssreFbheprRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_20VTencuvpOhssreFbheprRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_20VTencuvpOhssreFbheprRR10baNfOvaqreRi:
 nop
@@ -1623,12 +1623,12 @@
 b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_05hgvyf21YJTencuvpOhssreFbheprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR10baGenafnpgRwEXAF_6CnepryRCF8_w
+.weak b__MA7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR10baGenafnpgRwEXAF_6CnepryRCF8_w
 .type b__MA7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR10baGenafnpgRwEXAF_6CnepryRCF8_w,%function
 b__MA7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR10baGenafnpgRwEXAF_6CnepryRCF8_w:
 nop
 .text
-.globl b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
+.weak b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_
 .type b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_,%function
 b__MGua8_A7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR13hayvaxGbQrnguREXAF_2jcVAF_7VOvaqre14QrnguErpvcvragRRRCiwCFO_:
 nop
@@ -1668,7 +1668,7 @@
 b__MA7naqebvq21OcTencuvpOhssreFbheprP2REXAF_2fcVAF_7VOvaqreRRR:
 nop
 .data
-.globl b__MGPA7naqebvq13OcBZKBofreireR0_AF_11OcVagresnprVAF_12VBZKBofreireRRR
+.weak b__MGPA7naqebvq13OcBZKBofreireR0_AF_11OcVagresnprVAF_12VBZKBofreireRRR
 .type b__MGPA7naqebvq13OcBZKBofreireR0_AF_11OcVagresnprVAF_12VBZKBofreireRRR,%object
 b__MGPA7naqebvq13OcBZKBofreireR0_AF_11OcVagresnprVAF_12VBZKBofreireRRR:
 .space __SIZEOF_POINTER__
@@ -1683,12 +1683,12 @@
 b__MA7naqebvq12VBZKBofreire14trgQrsnhygVzcyRi:
 nop
 .text
-.globl b__MA7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
+.weak b__MA7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw
 .type b__MA7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw,%function
 b__MA7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR11yvaxGbQrnguREXAF_2fcVAF_7VOvaqre14QrnguErpvcvragRRRCiw:
 nop
 .data
-.globl b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR8BovghnelR
+.weak b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR8BovghnelR
 .type b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR8BovghnelR,%object
 b__MGIA7naqebvq12U2OPbairegreVAF_8uneqjner5zrqvn3bzk4I1_08VBzkAbqrRAF_9OaBZKAbqrRR8BovghnelR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_158.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_158.S
index 2d6d0b1..cd5ae33 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_158.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_158.S
@@ -3,12 +3,12 @@
 .data
 .p2align 4
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_ngbzVCXpRRG_F7_F7_:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -18,12 +18,12 @@
 b__MA7naqebvq10SdVafgnapr5frgGbREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRF9_:
 nop
 .text
-.globl b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRCXpRRF9_EXG_G0_
+.weak b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRCXpRRF9_EXG_G0_
 .type b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRCXpRRF9_EXG_G0_,%function
 b__MA7naqebvq4onfr4WbvaVAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRRCXpRRF9_EXG_G0_:
 nop
 .data
-.globl b__MGIAFg3__111__zngpu_nalVpRR
+.weak b__MGIAFg3__111__zngpu_nalVpRR
 .type b__MGIAFg3__111__zngpu_nalVpRR,%object
 b__MGIAFg3__111__zngpu_nalVpRR:
 .space __SIZEOF_POINTER__
@@ -48,12 +48,12 @@
 b__MAX7naqebvq6SDAnzr30trgCnpxntrNaqIrefvbaPbzcbaragfRo:
 nop
 .data
-.globl b__MGIAFg3__116__bjaf_bar_fgngrVpRR
+.weak b__MGIAFg3__116__bjaf_bar_fgngrVpRR
 .type b__MGIAFg3__116__bjaf_bar_fgngrVpRR,%object
 b__MGIAFg3__116__bjaf_bar_fgngrVpRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__121__rzcgl_aba_bja_fgngrVpRR
+.weak b__MGIAFg3__121__rzcgl_aba_bja_fgngrVpRR
 .type b__MGIAFg3__121__rzcgl_aba_bja_fgngrVpRR,%object
 b__MGIAFg3__121__rzcgl_aba_bja_fgngrVpRR:
 .space __SIZEOF_POINTER__
@@ -63,7 +63,7 @@
 b__MAX7naqebvq10SdVafgnapr10unfIrefvbaRi:
 nop
 .text
-.globl b__MAXFg3__16__ybbcVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__16__ybbcVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__16__ybbcVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__16__ybbcVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -83,37 +83,37 @@
 b__MAX7naqebvq6SDAnzr7qbjaEriRi:
 nop
 .text
-.globl b__MAXFg3__111__raq_fgngrVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__111__raq_fgngrVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__111__raq_fgngrVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__111__raq_fgngrVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .data
-.globl b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__111__nygreangrVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__111__nygreangrVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__111__nygreangrVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__111__nygreangrVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_ybbcRzzCAF_16__bjaf_bar_fgngrVpRRzzo
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_ybbcRzzCAF_16__bjaf_bar_fgngrVpRRzzo
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_ybbcRzzCAF_16__bjaf_bar_fgngrVpRRzzo,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_ybbcRzzCAF_16__bjaf_bar_fgngrVpRRzzo:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_tercVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__cnefr_rpzn_rkcVCXpRRG_F7_F7_:
 nop
@@ -128,22 +128,22 @@
 b__MA7naqebvq6SDAnzr5frgGbREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRzzF9_F9_:
 nop
 .text
-.globl b__MAXFg3__128__ortva_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__128__ortva_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__128__ortva_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__128__ortva_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
 .data
-.globl b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__128__ortva_znexrq_fhorkcerffvbaVpRR
+.weak b__MGIAFg3__128__ortva_znexrq_fhorkcerffvbaVpRR
 .type b__MGIAFg3__128__ortva_znexrq_fhorkcerffvbaVpRR,%object
 b__MGIAFg3__128__ortva_znexrq_fhorkcerffvbaVpRR:
 .space __SIZEOF_POINTER__
@@ -183,52 +183,52 @@
 b__MAX7naqebvq6SDAnzr16trgVagresnprAnzrRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRAF_9nyybpngbeVF6_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRAF_9nyybpngbeVF6_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRAF_9nyybpngbeVF6_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVAF_11__jenc_vgreVCXpRRRRAF_9nyybpngbeVF6_RRR8__nccraqRz:
 nop
 .text
-.globl b__MAXFg3__110__y_napubeVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__110__y_napubeVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__110__y_napubeVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__110__y_napubeVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAXFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAXFg3__121__rzcgl_aba_bja_fgngrVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__121__rzcgl_aba_bja_fgngrVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__121__rzcgl_aba_bja_fgngrVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__121__rzcgl_aba_bja_fgngrVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRzEXF4_
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRzEXF4_
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRzEXF4_,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRzEXF4_:
 nop
 .data
-.globl b__MGIAFg3__110__y_napubeVpRR
+.weak b__MGIAFg3__110__y_napubeVpRR
 .type b__MGIAFg3__110__y_napubeVpRR,%object
 b__MGIAFg3__110__y_napubeVpRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -248,32 +248,32 @@
 b__MAX7naqebvq6SDAnzr8glcrAnzrRi:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCXpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FO_p
+.weak b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCXpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FO_p
 .type b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCXpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FO_p,%function
 b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCXpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FO_p:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_pbyyngvat_flzobyVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_:
 nop
 .text
-.globl b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_
+.weak b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_
 .type b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_,%function
 b__MAFg3__17trgyvarVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_vfgernzVG_G0_RRF9_EAF_12onfvp_fgevatVF6_F7_G1_RRF6_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_rkgraqrq_ert_rkcVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__116__bjaf_bar_fgngrVpRQ2Ri
+.weak b__MAFg3__116__bjaf_bar_fgngrVpRQ2Ri
 .type b__MAFg3__116__bjaf_bar_fgngrVpRQ2Ri,%function
 b__MAFg3__116__bjaf_bar_fgngrVpRQ2Ri:
 nop
@@ -303,22 +303,22 @@
 b__MAX7naqebvq6SDAnzr6fgevatRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_
 .type b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF7_RRAF5_VF8_RRR21__chfu_onpx_fybj_cnguVF8_RRiBG_:
 nop
 .data
-.globl b__MGIAFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR29__zngpu_ng_fgneg_cbfvk_abfhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
+.weak b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR29__zngpu_ng_fgneg_cbfvk_abfhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
 .type b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR29__zngpu_ng_fgneg_cbfvk_abfhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo,%function
 b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR29__zngpu_ng_fgneg_cbfvk_abfhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo:
 nop
 .text
-.globl b__MAXFg3__113__rzcgl_fgngrVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__113__rzcgl_fgngrVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__113__rzcgl_fgngrVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__113__rzcgl_fgngrVpR6__rkrpREAF_7__fgngrVpRR:
 nop
@@ -328,7 +328,7 @@
 b__MA7naqebvq6SDAnzr12pyrneIrefvbaRCzF1_:
 nop
 .text
-.globl b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR27__zngpu_ng_fgneg_cbfvk_fhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
+.weak b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR27__zngpu_ng_fgneg_cbfvk_fhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
 .type b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR27__zngpu_ng_fgneg_cbfvk_fhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo,%function
 b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR27__zngpu_ng_fgneg_cbfvk_fhofVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo:
 nop
@@ -338,22 +338,22 @@
 b__MAX7naqebvq6SDAnzr11jvguIrefvbaRzz:
 nop
 .text
-.globl b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__zngpu_ng_fgneg_rpznVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
+.weak b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__zngpu_ng_fgneg_rpznVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo
 .type b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__zngpu_ng_fgneg_rpznVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo,%function
 b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__zngpu_ng_fgneg_rpznVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrRo:
 nop
 .data
-.globl b__MGIAFg3__112__zngpu_puneVpRR
+.weak b__MGIAFg3__112__zngpu_puneVpRR
 .type b__MGIAFg3__112__zngpu_puneVpRR,%object
 b__MGIAFg3__112__zngpu_puneVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__110__onpx_ersVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__110__onpx_ersVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__110__onpx_ersVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__110__onpx_ersVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR30__cnefr_punenpgre_pynff_rfpncrVCXpRRG_F7_F7_:
 nop
@@ -363,12 +363,12 @@
 b__MAX7naqebvq6SDAnzr18trgVagresnprUjAnzrRi:
 nop
 .text
-.globl b__MAXFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__120__oenpxrg_rkcerffvbaVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__116__bjaf_bar_fgngrVpRQ0Ri
+.weak b__MAFg3__116__bjaf_bar_fgngrVpRQ0Ri
 .type b__MAFg3__116__bjaf_bar_fgngrVpRQ0Ri,%function
 b__MAFg3__116__bjaf_bar_fgngrVpRQ0Ri:
 nop
@@ -388,12 +388,12 @@
 b__MAX7naqebvq6SDAnzr9ngIrefvbaRi:
 nop
 .text
-.globl b__MAXFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -403,22 +403,22 @@
 b__MA7naqebvq6SDAnzr10frgIrefvbaREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAXFg3__16__ybbcVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR
+.weak b__MAXFg3__16__ybbcVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR
 .type b__MAXFg3__16__ybbcVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR,%function
 b__MAXFg3__16__ybbcVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR19__cnefr_nygreangvirVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR19__cnefr_nygreangvirVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR19__cnefr_nygreangvirVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR19__cnefr_nygreangvirVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR8__nccraqRz:
 nop
@@ -428,27 +428,27 @@
 b__MA7naqebvq10SdVafgnapr5frgGbREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR8__frnepuVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrR
+.weak b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR8__frnepuVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrR
 .type b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR8__frnepuVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrR,%function
 b__MAXFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR8__frnepuVAF_9nyybpngbeVAF_9fho_zngpuVCXpRRRRRRoF8_F8_EAF_13zngpu_erfhygfVF8_G_RRAF_15ertrk_pbafgnagf15zngpu_synt_glcrR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVppRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_4cnveVppRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVAF_4cnveVppRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_4cnveVppRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_
+.weak b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_
 .type b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_,%function
 b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVpRRiBG_:
 nop
 .data
-.globl b__MGIAFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
@@ -473,17 +473,17 @@
 b__MAX7naqebvq6SDAnzr9vaCnpxntrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_:
 nop
 .data
-.globl b__MGIAFg3__110__onpx_ersVpRR
+.weak b__MGIAFg3__110__onpx_ersVpRR
 .type b__MGIAFg3__110__onpx_ersVpRR,%object
 b__MGIAFg3__110__onpx_ersVpRR:
 .space __SIZEOF_POINTER__
@@ -493,17 +493,17 @@
 b__MAX7naqebvq10SdVafgnapr11unfVafgnaprRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR13__cnefr_rtercVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_RER_rkcerffvbaVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_:
 nop
@@ -513,27 +513,27 @@
 b__MA7naqebvq6SDAnzr5cnefrREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCF0_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__chfu_ybbxnurnqREXF3_ow
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__chfu_ybbxnurnqREXF3_ow
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__chfu_ybbxnurnqREXF3_ow,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR16__chfu_ybbxnurnqREXF3_ow:
 nop
 .data
-.globl b__MGIAFg3__111__nygreangrVpRR
+.weak b__MGIAFg3__111__nygreangrVpRR
 .type b__MGIAFg3__111__nygreangrVpRR,%object
 b__MGIAFg3__111__nygreangrVpRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__118__onpx_ers_pbyyngrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAXFg3__126__raq_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__126__raq_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__126__raq_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__126__raq_znexrq_fhorkcerffvbaVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .data
-.globl b__MGIAFg3__117__ercrng_bar_ybbcVpRR
+.weak b__MGIAFg3__117__ercrng_bar_ybbcVpRR
 .type b__MGIAFg3__117__ercrng_bar_ybbcVpRR,%object
 b__MGIAFg3__117__ercrng_bar_ybbcVpRR:
 .space __SIZEOF_POINTER__
@@ -558,17 +558,17 @@
 b__MAX7naqebvq6SDAnzr8raqfJvguREXF0_:
 nop
 .text
-.globl b__MAXFg3__111__nygreangrVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR
+.weak b__MAXFg3__111__nygreangrVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR
 .type b__MAXFg3__111__nygreangrVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR,%function
 b__MAXFg3__111__nygreangrVpR12__rkrp_fcyvgRoEAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_ER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_rdhvinyrapr_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
@@ -578,17 +578,17 @@
 b__MAX7naqebvq6SDAnzr23trgVagresnprNqncgreAnzrRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_pynff_rfpncrVCXpRRG_F7_F7_EAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_punenpgre_pynffVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
 .data
-.globl b__MGIAFg3__110__e_napubeVpRR
+.weak b__MGIAFg3__110__e_napubeVpRR
 .type b__MGIAFg3__110__e_napubeVpRR,%object
 b__MGIAFg3__110__e_napubeVpRR:
 .space __SIZEOF_POINTER__
@@ -613,7 +613,7 @@
 b__MAX7naqebvq6SDAnzrygREXF0_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR32__cnefr_bar_pune_be_pbyy_ryrz_ERVCXpRRG_F7_F7_:
 nop
@@ -628,7 +628,7 @@
 b__MAX7naqebvq6SDAnzr12pccYbpnyAnzrRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6vafregVAF_11__jenc_vgreVCF6_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF6_AF_15vgrengbe_genvgfVFR_R9ersreraprRRR5inyhrRFP_R4glcrRAFN_VCXF6_RRFR_FR_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6vafregVAF_11__jenc_vgreVCF6_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF6_AF_15vgrengbe_genvgfVFR_R9ersreraprRRR5inyhrRFP_R4glcrRAFN_VCXF6_RRFR_FR_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6vafregVAF_11__jenc_vgreVCF6_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF6_AF_15vgrengbe_genvgfVFR_R9ersreraprRRR5inyhrRFP_R4glcrRAFN_VCXF6_RRFR_FR_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR6vafregVAF_11__jenc_vgreVCF6_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF6_AF_15vgrengbe_genvgfVFR_R9ersreraprRRR5inyhrRFP_R4glcrRAFN_VCXF6_RRFR_FR_:
 nop
@@ -653,12 +653,12 @@
 b__MAX7naqebvq6SDAnzr9gbxraAnzrRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_
+.weak b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_
 .type b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_,%function
 b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_:
 nop
 .data
-.globl b__MGIAFg3__16__ybbcVpRR
+.weak b__MGIAFg3__16__ybbcVpRR
 .type b__MGIAFg3__16__ybbcVpRR,%object
 b__MGIAFg3__16__ybbcVpRR:
 .space __SIZEOF_POINTER__
@@ -668,27 +668,27 @@
 b__MA7naqebvq10SdVafgnapr5frgGbREXAF_6SDAnzrREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR15__chfu_onpx_ersRv
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR15__chfu_onpx_ersRv
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR15__chfu_onpx_ersRv,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR15__chfu_onpx_ersRv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
+.weak b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
 .type b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_,%function
 b__MAFg3__16irpgbeVAF_4cnveVzCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_:
 nop
 .data
-.globl b__MGIAFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__120__zngpu_pune_pbyyngrVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_RER_qhcy_flzobyVCXpRRG_F7_F7_CAF_16__bjaf_bar_fgngrVpRRww:
 nop
@@ -703,12 +703,12 @@
 b__MA7naqebvq6SDAnzr5frgGbREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .data
-.globl b__MGGAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__117__bjaf_gjb_fgngrfVpRR
+.weak b__MGIAFg3__117__bjaf_gjb_fgngrfVpRR
 .type b__MGIAFg3__117__bjaf_gjb_fgngrfVpRR,%object
 b__MGIAFg3__117__bjaf_gjb_fgngrfVpRR:
 .space __SIZEOF_POINTER__
@@ -723,17 +723,17 @@
 b__MAX7naqebvq6SDAnzr9inyhrAnzrRi:
 nop
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR22__cnefr_qrpvzny_rfpncrVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaRzEXF4_
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaRzEXF4_
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaRzEXF4_,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaRzEXF4_:
 nop
@@ -748,17 +748,17 @@
 b__MAX7naqebvq6SDAnzr16fnavgvmrqIrefvbaRi:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVCXpRRgG_F5_op
+.weak b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVCXpRRgG_F5_op
 .type b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVCXpRRgG_F5_op,%function
 b__MAXFg3__112ertrk_genvgfVpR18__ybbxhc_pynffanzrVCXpRRgG_F5_op:
 nop
 .text
-.globl b__MAFg3__117__bjaf_gjb_fgngrfVpRQ2Ri
+.weak b__MAFg3__117__bjaf_gjb_fgngrfVpRQ2Ri
 .type b__MAFg3__117__bjaf_gjb_fgngrfVpRQ2Ri,%function
 b__MAFg3__117__bjaf_gjb_fgngrfVpRQ2Ri:
 nop
 .data
-.globl b__MGIAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_vfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -778,17 +778,17 @@
 b__MA7naqebvq6SDAnzr5pyrneRi:
 nop
 .text
-.globl b__MAXFg3__111__zngpu_nalVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__111__zngpu_nalVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__111__zngpu_nalVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__111__zngpu_nalVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
+.weak b__MGIAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
 .type b__MGIAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR,%object
 b__MGIAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq4onfr9CnefrHvagVzRRoCXpCG_F4_o
+.weak b__MA7naqebvq4onfr9CnefrHvagVzRRoCXpCG_F4_o
 .type b__MA7naqebvq4onfr9CnefrHvagVzRRoCXpCG_F4_o,%function
 b__MA7naqebvq4onfr9CnefrHvagVzRRoCXpCG_F4_o:
 nop
@@ -798,22 +798,22 @@
 b__MAX7naqebvq6SDAnzr20trgVagresnprFghoAnzrRi:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_p
+.weak b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_p
 .type b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_p,%function
 b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_p:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi
+.weak b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi
 .type b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi,%function
 b__MAFg3__15qrdhrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR20__nqq_sebag_pncnpvglRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR20__cnefr_BEQ_PUNE_RERVCXpRRG_F7_F7_:
 nop
@@ -823,7 +823,7 @@
 b__MAX7naqebvq6SDAnzr29trgVagresnprCnffguebhtuSdAnzrRi:
 nop
 .text
-.globl b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
+.weak b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR
 .type b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR,%function
 b__MAFg3__1yfVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRREAF_13onfvp_bfgernzVG_G0_RRF9_EXAF_12onfvp_fgevatVF6_F7_G1_RR:
 nop
@@ -838,17 +838,17 @@
 b__MAX7naqebvq6SDAnzr7irefvbaRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_njx_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__112__qrdhr_onfrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR5pyrneRi
+.weak b__MAFg3__112__qrdhr_onfrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR5pyrneRi
 .type b__MAFg3__112__qrdhr_onfrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR5pyrneRi,%function
 b__MAFg3__112__qrdhr_onfrVAF_7__fgngrVpRRAF_9nyybpngbeVF2_RRR5pyrneRi:
 nop
 .text
-.globl b__MAFg3__117__bjaf_gjb_fgngrfVpRQ0Ri
+.weak b__MAFg3__117__bjaf_gjb_fgngrfVpRQ0Ri
 .type b__MAFg3__117__bjaf_gjb_fgngrfVpRQ0Ri,%function
 b__MAFg3__117__bjaf_gjb_fgngrfVpRQ0Ri:
 nop
@@ -858,27 +858,27 @@
 b__MA7naqebvq12tVOnfrSdAnzrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_grezVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_grezVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_grezVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR12__cnefr_grezVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRRP2REXF7_:
 nop
 .data
-.globl b__MGIAFg3__123__zngpu_nal_ohg_arjyvarVpRR
+.weak b__MGIAFg3__123__zngpu_nal_ohg_arjyvarVpRR
 .type b__MGIAFg3__123__zngpu_nal_ohg_arjyvarVpRR,%object
 b__MGIAFg3__123__zngpu_nal_ohg_arjyvarVpRR:
 .space __SIZEOF_POINTER__
@@ -888,17 +888,17 @@
 b__MA7naqebvq6SDAnzrP2REXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRF9_F9_F9_:
 nop
 .text
-.globl b__MAXFg3__110__e_napubeVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__110__e_napubeVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__110__e_napubeVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__110__e_napubeVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAXFg3__112__zngpu_puneVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__112__zngpu_puneVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__112__zngpu_puneVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__112__zngpu_puneVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p
+.weak b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p
 .type b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p,%function
 b__MAXFg3__112ertrk_genvgfVpR19__genafsbez_cevznelVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p:
 nop
@@ -908,12 +908,12 @@
 b__MAX7naqebvq6SDAnzr16vfInyvqInyhrAnzrRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR21__cnefr_onfvp_ert_rkcVCXpRRG_F7_F7_:
 nop
 .data
-.globl b__MGIAFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__115__jbeq_obhaqnelVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -953,22 +953,22 @@
 b__MAX7naqebvq6SDAnzr8wninAnzrRi:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_puneRp
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_puneRp
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_puneRp,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR11__chfu_puneRp:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR18__cnefr_abaqhcy_ERVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_DHBGRQ_PUNE_RERVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_7__fgngrVpRREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_:
 nop
@@ -983,37 +983,37 @@
 b__MAX7naqebvq6SDAnzrarREXF0_:
 nop
 .text
-.globl b__MAXFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR17__cnefr_nffregvbaVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR24__cnefr_punenpgre_rfpncrVCXpRRG_F7_F7_CAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR7__cnefrVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCAF_13__rzcgl_fgngrVpRRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi:
 nop
 .data
-.globl b__MGIAFg3__111__raq_fgngrVpRR
+.weak b__MGIAFg3__111__raq_fgngrVpRR
 .type b__MGIAFg3__111__raq_fgngrVpRR,%object
 b__MGIAFg3__111__raq_fgngrVpRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__118__zngpu_pune_vpnfrVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1023,47 +1023,47 @@
 b__MAX7naqebvq6SDAnzr4anzrRi:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR9genafsbezVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_
+.weak b__MAXFg3__112ertrk_genvgfVpR9genafsbezVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_
 .type b__MAXFg3__112ertrk_genvgfVpR9genafsbezVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_,%function
 b__MAXFg3__112ertrk_genvgfVpR9genafsbezVAF_11__jenc_vgreVCpRRRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FP_:
 nop
 .text
-.globl b__MAXFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__116__onpx_ers_vpnfrVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR23__cnefr_rkcerffvba_grezVCXpRRG_F7_F7_CAF_20__oenpxrg_rkcerffvbaVpF2_RR:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR25__cnefr_cnggrea_punenpgreVCXpRRG_F7_F7_:
 nop
 .text
-.globl b__MAXFg3__117__ercrng_bar_ybbcVpR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__117__ercrng_bar_ybbcVpR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__117__ercrng_bar_ybbcVpR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__117__ercrng_bar_ybbcVpR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeREXAF_12onfvp_fgevatVpF2_F4_RR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
+.weak b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_
 .type b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_,%function
 b__MAFg3__16irpgbeVAF_9fho_zngpuVCXpRRAF_9nyybpngbeVF4_RRR6nffvtaVCF4_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF4_AF_15vgrengbe_genvgfVFO_R9ersreraprRRR5inyhrRiR4glcrRFO_FO_:
 nop
 .data
-.globl b__MGIAFg3__113__rzcgl_fgngrVpRR
+.weak b__MGIAFg3__113__rzcgl_fgngrVpRR
 .type b__MGIAFg3__113__rzcgl_fgngrVpRR,%object
 b__MGIAFg3__113__rzcgl_fgngrVpRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__126__raq_znexrq_fhorkcerffvbaVpRR
+.weak b__MGIAFg3__126__raq_znexrq_fhorkcerffvbaVpRR
 .type b__MGIAFg3__126__raq_znexrq_fhorkcerffvbaVpRR,%object
 b__MGIAFg3__126__raq_znexrq_fhorkcerffvbaVpRR:
 .space __SIZEOF_POINTER__
@@ -1098,22 +1098,22 @@
 b__MAX7naqebvq6SDAnzrrdREXF0_:
 nop
 .text
-.globl b__MAXFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
+.weak b__MAXFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR
 .type b__MAXFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR,%function
 b__MAXFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRR6__rkrpREAF_7__fgngrVpRR:
 nop
 .text
-.globl b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p
+.weak b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p
 .type b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p,%function
 b__MAXFg3__112ertrk_genvgfVpR20__ybbxhc_pbyyngranzrVCpRRAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRG_FN_p:
 nop
 .text
-.globl b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVCXpRRG_F7_F7_
+.weak b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVCXpRRG_F7_F7_
 .type b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVCXpRRG_F7_F7_,%function
 b__MAFg3__111onfvp_ertrkVpAF_12ertrk_genvgfVpRRR26__cnefr_oenpxrg_rkcerffvbaVCXpRRG_F7_F7_:
 nop
 .data
-.globl b__MGIAFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRRR
+.weak b__MGIAFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRRR
 .type b__MGIAFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRRR,%object
 b__MGIAFg3__111__ybbxnurnqVpAF_12ertrk_genvgfVpRRRR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_159.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_159.S
index 0839095..58d5846 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_159.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_159.S
@@ -63,7 +63,7 @@
 b__MGIA8gvalkzy210KZYPbzzragR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA8gvalkzy28ZrzCbbyGVYv112RRR
+.weak b__MGIA8gvalkzy28ZrzCbbyGVYv112RRR
 .type b__MGIA8gvalkzy28ZrzCbbyGVYv112RRR,%object
 b__MGIA8gvalkzy28ZrzCbbyGVYv112RRR:
 .space __SIZEOF_POINTER__
@@ -558,7 +558,7 @@
 b__MAX8gvalkzy210KZYRyrzrag12HafvtarqGrkgRw:
 nop
 .data
-.globl b__MGIA8gvalkzy212KZYNggevohgrR
+.weak b__MGIA8gvalkzy212KZYNggevohgrR
 .type b__MGIA8gvalkzy212KZYNggevohgrR,%object
 b__MGIA8gvalkzy212KZYNggevohgrR:
 .space __SIZEOF_POINTER__
@@ -608,12 +608,12 @@
 b__MAX8gvalkzy214KZYQrpynengvba12FunyybjPybarRCAF_11KZYQbphzragR:
 nop
 .data
-.globl b__MGIA8gvalkzy28ZrzCbbyGVYv104RRR
+.weak b__MGIA8gvalkzy28ZrzCbbyGVYv104RRR
 .type b__MGIA8gvalkzy28ZrzCbbyGVYv104RRR,%object
 b__MGIA8gvalkzy28ZrzCbbyGVYv104RRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA8gvalkzy28ZrzCbbyGVYv120RRR
+.weak b__MGIA8gvalkzy28ZrzCbbyGVYv120RRR
 .type b__MGIA8gvalkzy28ZrzCbbyGVYv120RRR,%object
 b__MGIA8gvalkzy28ZrzCbbyGVYv120RRR:
 .space __SIZEOF_POINTER__
@@ -828,7 +828,7 @@
 b__MA8gvalkzy27KZYHgvy5GbFgeRyCpv:
 nop
 .data
-.globl b__MGIA8gvalkzy28ZrzCbbyGVYv80RRR
+.weak b__MGIA8gvalkzy28ZrzCbbyGVYv80RRR
 .type b__MGIA8gvalkzy28ZrzCbbyGVYv80RRR,%object
 b__MGIA8gvalkzy28ZrzCbbyGVYv80RRR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_161.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_161.S
index 1726855..8d1b882 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_161.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_161.S
@@ -13,7 +13,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I3_019OcUjXrlznfgreQrivpr17_uvqy_trarengrXrlRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeREXAF0_8uvqy_irpVAF2_12XrlCnenzrgreRRRAFg3__18shapgvbaVSiAF2_9ReebePbqrREXAF9_VuRREXAF2_18XrlPunenpgrevfgvpfRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -108,7 +108,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I3_019OcUjXrlznfgreQrivpr10hctenqrXrlREXAF0_8uvqy_irpVuRREXAF4_VAF2_12XrlCnenzrgreRRRAFg3__18shapgvbaVSiAF2_9ReebePbqrRF7_RRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner9xrlznfgre4I3_017OfXrlznfgreQrivprR
+.weak b__MGIA7naqebvq8uneqjner9xrlznfgre4I3_017OfXrlznfgreQrivprR
 .type b__MGIA7naqebvq8uneqjner9xrlznfgre4I3_017OfXrlznfgreQrivprR,%object
 b__MGIA7naqebvq8uneqjner9xrlznfgre4I3_017OfXrlznfgreQrivprR:
 .space __SIZEOF_POINTER__
@@ -128,7 +128,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I3_022ernqRzorqqrqSebzCnepryREXAF2_12XrlCnenzrgreREXAF0_6CnepryRzz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -153,7 +153,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I3_019OcUjXrlznfgreQrivpr19trgUneqjnerSrngherfRAFg3__18shapgvbaVSioooooEXAF0_11uvqy_fgevatRF8_RRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_9xrlznfgre4I3_016VXrlznfgreQrivprRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjXrlznfgreQrivprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_9xrlznfgre4I3_016VXrlznfgreQrivprRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjXrlznfgreQrivprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_9xrlznfgre4I3_016VXrlznfgreQrivprRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjXrlznfgreQrivprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_9xrlznfgre4I3_016VXrlznfgreQrivprRAF_4uvqy4onfr4I1_05VOnfrRAF4_19OcUjXrlznfgreQrivprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -178,7 +178,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I3_016VXrlznfgreQrivpr11yvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -223,7 +223,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I3_019OcUjXrlznfgreQrivpr25_uvqy_trgUneqjnerSrngherfRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRAFg3__18shapgvbaVSioooooEXAF0_11uvqy_fgevatRFQ_RRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner9xrlznfgre4I3_017OfXrlznfgreQrivprR0_AF2_16VXrlznfgreQrivprR
+.weak b__MGPA7naqebvq8uneqjner9xrlznfgre4I3_017OfXrlznfgreQrivprR0_AF2_16VXrlznfgreQrivprR
 .type b__MGPA7naqebvq8uneqjner9xrlznfgre4I3_017OfXrlznfgreQrivprR0_AF2_16VXrlznfgreQrivprR,%object
 b__MGPA7naqebvq8uneqjner9xrlznfgre4I3_017OfXrlznfgreQrivprR0_AF2_16VXrlznfgreQrivprR:
 .space __SIZEOF_POINTER__
@@ -248,7 +248,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I3_019OcUjXrlznfgreQrivpr13nqqEatRagebclREXAF0_8uvqy_irpVuRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -268,7 +268,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I3_019OcUjXrlznfgreQrivpr5ortvaRAF2_10XrlChecbfrREXAF0_8uvqy_irpVuRREXAF5_VAF2_12XrlCnenzrgreRRRAFg3__18shapgvbaVSiAF2_9ReebePbqrRFP_zRRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -373,7 +373,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I3_016VXrlznfgreQrivpr8pnfgSebzREXAF_2fcVAF_4uvqy4onfr4I1_05VOnfrRRRo:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -408,7 +408,7 @@
 b__MGua16_A7naqebvq8uneqjner9xrlznfgre4I3_019OcUjXrlznfgreQrivpr15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_9xrlznfgre4I3_019OcUjXrlznfgreQrivprRAF4_16VXrlznfgreQrivprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_9xrlznfgre4I3_019OcUjXrlznfgreQrivprRAF4_16VXrlznfgreQrivprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_9xrlznfgre4I3_019OcUjXrlznfgreQrivprRAF4_16VXrlznfgreQrivprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_9xrlznfgre4I3_019OcUjXrlznfgreQrivprRAF4_16VXrlznfgreQrivprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
@@ -433,12 +433,12 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I3_019OcUjXrlznfgreQrivpr6svavfuRzEXAF0_8uvqy_irpVAF2_12XrlCnenzrgreRRREXAF4_VuRRFO_AFg3__18shapgvbaVSiAF2_9ReebePbqrRF8_FO_RRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -463,7 +463,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I3_019OaUjXrlznfgreQrivpr25_uvqy_trgUneqjnerSrngherfRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCF9_AFg3__18shapgvbaVSiEF9_RRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -498,12 +498,12 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I3_019OcUjXrlznfgreQrivpr9qryrgrXrlREXAF0_8uvqy_irpVuRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -573,7 +573,7 @@
 b__MA7naqebvq8uneqjner9xrlznfgre4I3_019OcUjXrlznfgreQrivpr9vzcbegXrlREXAF0_8uvqy_irpVAF2_12XrlCnenzrgreRRRAF2_9XrlSbezngREXAF4_VuRRAFg3__18shapgvbaVSiAF2_9ReebePbqrRFP_EXAF2_18XrlPunenpgrevfgvpfRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_163.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_163.S
index f40252e..f73561b 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_163.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_163.S
@@ -13,7 +13,7 @@
 b__MA7naqebvq4uvqy5gbxra4I1_016OcUjGbxraZnantre16_uvqy_haertvfgreRCAF_8uneqjner10VVagresnprRCAF4_7qrgnvyf16UvqyVafgehzragbeREXAF4_8uvqy_irpVuRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_4uvqy4onfr4I1_05VOnfrRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_4uvqy4onfr4I1_05VOnfrRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_4uvqy4onfr4I1_05VOnfrRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF_4uvqy4onfr4I1_05VOnfrRiRRAF_2fcVG_RRF9_:
 nop
@@ -68,7 +68,7 @@
 b__MA7naqebvq4uvqy5gbxra4I1_013VGbxraZnantre14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF_8uneqjner8uvqy_irpVAF6_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -108,7 +108,7 @@
 b__MA7naqebvq4uvqy5gbxra4I1_016OcUjGbxraZnantre21abgvslFlfcebcfPunatrqRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -133,17 +133,17 @@
 b__MA7naqebvq4uvqy5gbxra4I1_016OaUjGbxraZnantreQ2Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjOnfrRAF4_8OaUjOnfrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjOnfrRAF4_8OaUjOnfrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjOnfrRAF4_8OaUjOnfrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF_4uvqy4onfr4I1_05VOnfrRAF4_8OcUjOnfrRAF4_8OaUjOnfrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy5gbxra4I1_016OcUjGbxraZnantreRAF5_13VGbxraZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy5gbxra4I1_016OcUjGbxraZnantreRAF5_13VGbxraZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy5gbxra4I1_016OcUjGbxraZnantreRAF5_13VGbxraZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF_4uvqy5gbxra4I1_016OcUjGbxraZnantreRAF5_13VGbxraZnantreRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
@@ -168,17 +168,17 @@
 b__MA7naqebvq4uvqy5gbxra4I1_016OaUjGbxraZnantreP1REXAF_2fcVAF2_13VGbxraZnantreRRR:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_4uvqy4onfr4I1_05VOnfrRRnFRBF5_
+.weak b__MA7naqebvq2fcVAF_4uvqy4onfr4I1_05VOnfrRRnFRBF5_
 .type b__MA7naqebvq2fcVAF_4uvqy4onfr4I1_05VOnfrRRnFRBF5_,%function
 b__MA7naqebvq2fcVAF_4uvqy4onfr4I1_05VOnfrRRnFRBF5_:
 nop
@@ -198,17 +198,17 @@
 b__MA7naqebvq4uvqy5gbxra4I1_016OcUjGbxraZnantre19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF_8uneqjner11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
 .data
-.globl b__MGPA7naqebvq4uvqy5gbxra4I1_014OfGbxraZnantreR0_AF2_13VGbxraZnantreR
+.weak b__MGPA7naqebvq4uvqy5gbxra4I1_014OfGbxraZnantreR0_AF2_13VGbxraZnantreR
 .type b__MGPA7naqebvq4uvqy5gbxra4I1_014OfGbxraZnantreR0_AF2_13VGbxraZnantreR,%object
 b__MGPA7naqebvq4uvqy5gbxra4I1_014OfGbxraZnantreR0_AF2_13VGbxraZnantreR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq4uvqy5gbxra4I1_014OfGbxraZnantreR
+.weak b__MGIA7naqebvq4uvqy5gbxra4I1_014OfGbxraZnantreR
 .type b__MGIA7naqebvq4uvqy5gbxra4I1_014OfGbxraZnantreR,%object
 b__MGIA7naqebvq4uvqy5gbxra4I1_014OfGbxraZnantreR:
 .space __SIZEOF_POINTER__
@@ -243,7 +243,7 @@
 b__MA7naqebvq4uvqy5gbxra4I1_016OcUjGbxraZnantre10haertvfgreREXAF_8uneqjner8uvqy_irpVuRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -273,12 +273,12 @@
 b__MA7naqebvq4uvqy5gbxra4I1_016OcUjGbxraZnantre4cvatRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -293,7 +293,7 @@
 b__MA7naqebvq4uvqy5gbxra4I1_016OcUjGbxraZnantre11yvaxGbQrnguREXAF_2fcVAF_8uneqjner20uvqy_qrngu_erpvcvragRRRz:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy5gbxra4I1_013VGbxraZnantreRAF3_4onfr4I1_05VOnfrRAF5_16OcUjGbxraZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy5gbxra4I1_013VGbxraZnantreRAF3_4onfr4I1_05VOnfrRAF5_16OcUjGbxraZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy5gbxra4I1_013VGbxraZnantreRAF3_4onfr4I1_05VOnfrRAF5_16OcUjGbxraZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF_4uvqy5gbxra4I1_013VGbxraZnantreRAF3_4onfr4I1_05VOnfrRAF5_16OcUjGbxraZnantreRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
@@ -333,7 +333,7 @@
 b__MA7naqebvq4uvqy5gbxra4I1_016OaUjGbxraZnantreQ1Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -353,7 +353,7 @@
 b__MA7naqebvq4uvqy5gbxra4I1_016OcUjGbxraZnantre9_uvqy_trgRCAF_8uneqjner10VVagresnprRCAF4_7qrgnvyf16UvqyVafgehzragbeREXAF4_8uvqy_irpVuRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -418,7 +418,7 @@
 b__MA7naqebvq4uvqy5gbxra4I1_016OcUjGbxraZnantre5qrohtREXAF_8uneqjner11uvqy_unaqyrREXAF4_8uvqy_irpVAF4_11uvqy_fgevatRRR:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_164.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_164.S
index e77720d..4a345d3 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_164.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_164.S
@@ -3,37 +3,37 @@
 .data
 .p2align 4
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR9SvyyVaPvrRCAF_8QjnesPvrR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR9SvyyVaPvrRCAF_8QjnesPvrR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR9SvyyVaPvrRCAF_8QjnesPvrR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR9SvyyVaPvrRCAF_8QjnesPvrR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR6bc_abgRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR6bc_abgRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR6bc_abgRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR6bc_abgRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_
 .type b__MAFg3__114__fcyvg_ohssreVCA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF3_RRR10chfu_sebagRBF3_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR3YbtRuzCXAF_8QjnesSqrR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR3YbtRuzCXAF_8QjnesSqrR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR3YbtRuzCXAF_8QjnesSqrR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR3YbtRuzCXAF_8QjnesSqrR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVzRRzEXG_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVzRRzEXG_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVzRRzEXG_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVzRRzEXG_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR5bc_ygRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR5bc_ygRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR5bc_ygRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR5bc_ygRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR7bc_cyhfRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR7bc_cyhfRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR7bc_cyhfRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR7bc_cyhfRi:
 nop
@@ -48,57 +48,57 @@
 b__MA11hajvaqfgnpx7Flzobyf16TrgVasbSebzPnpurRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx11QjnesZrzbel16ErnqRapbqrqInyhrVwRRouCz
+.weak b__MA11hajvaqfgnpx11QjnesZrzbel16ErnqRapbqrqInyhrVwRRouCz
 .type b__MA11hajvaqfgnpx11QjnesZrzbel16ErnqRapbqrqInyhrVwRRouCz,%function
 b__MA11hajvaqfgnpx11QjnesZrzbel16ErnqRapbqrqInyhrVwRRouCz:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwRR
+.weak b__MGIA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwRR
 .type b__MGIA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwRR,%object
 b__MGIA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR6QrpbqrRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR6QrpbqrRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR6QrpbqrRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR6QrpbqrRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCzEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCzEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
 .type b__MAFg3__114__fcyvg_ohssreVCzEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCzEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR15SvyyVaSqrUrnqreRCAF_8QjnesSqrR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR15SvyyVaSqrUrnqreRCAF_8QjnesSqrR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR15SvyyVaSqrUrnqreRCAF_8QjnesSqrR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR15SvyyVaSqrUrnqreRCAF_8QjnesSqrR:
 nop
 .text
-.globl b__MAFg3__112__qrdhr_onfrVA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF2_RRR5pyrneRi
+.weak b__MAFg3__112__qrdhr_onfrVA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF2_RRR5pyrneRi
 .type b__MAFg3__112__qrdhr_onfrVA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF2_RRR5pyrneRi,%function
 b__MAFg3__112__qrdhr_onfrVA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF2_RRR5pyrneRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR16TrgSqrSebzBssfrgRz
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR16TrgSqrSebzBssfrgRz
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR16TrgSqrSebzBssfrgRz,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR16TrgSqrSebzBssfrgRz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVzRRzEXG_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVzRRzEXG_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVzRRzEXG_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR14__renfr_havdhrVzRRzEXG_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12QjnesRuSenzrVzRP1RCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx12QjnesRuSenzrVzRP1RCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx12QjnesRuSenzrVzRP1RCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx12QjnesRuSenzrVzRP1RCAF_6ZrzbelR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr21TrgFbanzrJvguGrzcyngrV9Rys64_QlaRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRi
+.weak b__MA11hajvaqfgnpx12RysVagresnpr21TrgFbanzrJvguGrzcyngrV9Rys64_QlaRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRi
 .type b__MA11hajvaqfgnpx12RysVagresnpr21TrgFbanzrJvguGrzcyngrV9Rys64_QlaRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRi,%function
 b__MA11hajvaqfgnpx12RysVagresnpr21TrgFbanzrJvguGrzcyngrV9Rys64_QlaRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRi:
 nop
@@ -108,22 +108,22 @@
 b__MA11hajvaqfgnpx7ErtfK862fcRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR6phe_cpRi
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR6phe_cpRi
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR6phe_cpRi,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR6phe_cpRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR14erthyne_zrzbelRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR14erthyne_zrzbelRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR14erthyne_zrzbelRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR14erthyne_zrzbelRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR18obby_gb_qjnes_obbyRo
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR18obby_gb_qjnes_obbyRo
 .type b__MA11hajvaqfgnpx7QjnesBcVwR18obby_gb_qjnes_obbyRo,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR18obby_gb_qjnes_obbyRo:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR15SvyyVaPvrUrnqreRCAF_8QjnesPvrR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR15SvyyVaPvrUrnqreRCAF_8QjnesPvrR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR15SvyyVaPvrUrnqreRCAF_8QjnesPvrR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR15SvyyVaPvrUrnqreRCAF_8QjnesPvrR:
 nop
@@ -138,17 +138,17 @@
 b__MA11hajvaqfgnpx6Zrzbel25PerngrCebprffZrzbelPnpurqRv:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR6bc_nofRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR6bc_nofRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR6bc_nofRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR6bc_nofRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR6bc_zhyRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR6bc_zhyRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR6bc_zhyRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR6bc_zhyRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
 .type b__MAFg3__114__fcyvg_ohssreVCA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_:
 nop
@@ -163,32 +163,32 @@
 b__MA11hajvaqfgnpx8QrkSvyrf11CebprffNepuRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR6bc_fueRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR6bc_fueRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR6bc_fueRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR6bc_fueRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys64_flzRRozCAF_6ZrzbelRCAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCz
+.weak b__MA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys64_flzRRozCAF_6ZrzbelRCAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCz
 .type b__MA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys64_flzRRozCAF_6ZrzbelRCAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCz,%function
 b__MA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys64_flzRRozCAF_6ZrzbelRCAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCz:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelYbpnyRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
+.weak b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelYbpnyRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
 .type b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelYbpnyRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR,%object
 b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelYbpnyRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR18psn_qrs_psn_bssfrgRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR18psn_qrs_psn_bssfrgRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR18psn_qrs_psn_bssfrgRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR18psn_qrs_psn_bssfrgRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR12BcrenaqfFvmrRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR12BcrenaqfFvmrRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR12BcrenaqfFvmrRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR12BcrenaqfFvmrRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR6bc_kbeRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR6bc_kbeRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR6bc_kbeRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR6bc_kbeRi:
 nop
@@ -203,17 +203,17 @@
 b__MAX11hajvaqfgnpx18YbpnyHcqngnoyrZncf11TrgZncfSvyrRi:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx15QrkSvyrSebzSvyrR
+.weak b__MGIA11hajvaqfgnpx15QrkSvyrSebzSvyrR
 .type b__MGIA11hajvaqfgnpx15QrkSvyrSebzSvyrR,%object
 b__MGIA11hajvaqfgnpx15QrkSvyrSebzSvyrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_19__znc_inyhr_pbzcnerVzF4_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_19__znc_inyhr_pbzcnerVzF4_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_19__znc_inyhr_pbzcnerVzF4_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_19__znc_inyhr_pbzcnerVzF4_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF4_RRR7qrfgeblRCAF_11__gerr_abqrVF4_CiRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_19__znc_inyhr_pbzcnerVzF4_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEzF3_RRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_19__znc_inyhr_pbzcnerVzF4_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEzF3_RRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_19__znc_inyhr_pbzcnerVzF4_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEzF3_RRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_19__znc_inyhr_pbzcnerVzF4_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEzF3_RRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -223,7 +223,7 @@
 b__MA11hajvaqfgnpx8ErtfZvcfP2Ri:
 nop
 .text
-.globl b__MA11hajvaqfgnpx15QjnesQrohtSenzrVwRP2RCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx15QjnesQrohtSenzrVwRP2RCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx15QjnesQrohtSenzrVwRP2RCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx15QjnesQrohtSenzrVwRP2RCAF_6ZrzbelR:
 nop
@@ -238,17 +238,17 @@
 b__MGIA11hajvaqfgnpx10ErtfK86_64R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR13YnfgReebePbqrRi
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR13YnfgReebePbqrRi
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR13YnfgReebePbqrRi,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR13YnfgReebePbqrRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR7bc_qebcRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR7bc_qebcRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR7bc_qebcRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR7bc_qebcRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR8bc_oertkRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR8bc_oertkRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR8bc_oertkRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR8bc_oertkRi:
 nop
@@ -258,27 +258,27 @@
 b__MA11hajvaqfgnpx3Rys7TrgVasbRCAF_6ZrzbelRCz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7Flzobyf9TrgTybonyV9rys64_flzRRoCAF_6ZrzbelREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCz
+.weak b__MA11hajvaqfgnpx7Flzobyf9TrgTybonyV9rys64_flzRRoCAF_6ZrzbelREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCz
 .type b__MA11hajvaqfgnpx7Flzobyf9TrgTybonyV9rys64_flzRRoCAF_6ZrzbelREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCz,%function
 b__MA11hajvaqfgnpx7Flzobyf9TrgTybonyV9rys64_flzRRoCAF_6ZrzbelREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR7psn_abcRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR7psn_abcRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR7psn_abcRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR7psn_abcRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR4RinyRCXAF_8QjnesPvrRCAF_6ZrzbelREXAF_14QjnesYbpngvbafRCAF_4ErtfRCo
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR4RinyRCXAF_8QjnesPvrRCAF_6ZrzbelREXAF_14QjnesYbpngvbafRCAF_4ErtfRCo
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR4RinyRCXAF_8QjnesPvrRCAF_6ZrzbelREXAF_14QjnesYbpngvbafRCAF_4ErtfRCo,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR4RinyRCXAF_8QjnesPvrRCAF_6ZrzbelREXAF_14QjnesYbpngvbafRCAF_4ErtfRCo:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_
+.weak b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_
 .type b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_,%function
 b__MAFg3__16irpgbeVpAF_9nyybpngbeVpRRR21__chfu_onpx_fybj_cnguVEXpRRiBG_:
 nop
@@ -288,7 +288,7 @@
 b__MA11hajvaqfgnpx9ErtfNez6415TrgCpNqwhfgzragRzCAF_3RysR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA11hajvaqfgnpx9SenzrQngnRAF_9nyybpngbeVF2_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVA11hajvaqfgnpx9SenzrQngnRAF_9nyybpngbeVF2_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVA11hajvaqfgnpx9SenzrQngnRAF_9nyybpngbeVF2_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVA11hajvaqfgnpx9SenzrQngnRAF_9nyybpngbeVF2_RRR8__nccraqRz:
 nop
@@ -298,12 +298,12 @@
 b__MA11hajvaqfgnpx7QrkSvyr20TrgZrgubqVasbezngvbaRzCAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR14bc_cyhf_hpbafgRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR14bc_cyhf_hpbafgRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR14bc_cyhf_hpbafgRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR14bc_cyhf_hpbafgRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR9VafregSqrRCXAF_8QjnesSqrR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR9VafregSqrRCXAF_8QjnesSqrR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR9VafregSqrRCXAF_8QjnesSqrR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR9VafregSqrRCXAF_8QjnesSqrR:
 nop
@@ -318,7 +318,7 @@
 b__MA11hajvaqfgnpx10ErtfK86_644NepuRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR6bc_qviRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR6bc_qviRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR6bc_qviRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR6bc_qviRi:
 nop
@@ -338,17 +338,17 @@
 b__MA11hajvaqfgnpx8WvgQroht14ErnqRagel32CnqRCzF1_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCA11hajvaqfgnpx3RysRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
+.weak b__MAFg3__16irpgbeVCA11hajvaqfgnpx3RysRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
 .type b__MAFg3__16irpgbeVCA11hajvaqfgnpx3RysRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_,%function
 b__MAFg3__16irpgbeVCA11hajvaqfgnpx3RysRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwRP2RCAF_11QjnesZrzbelRCXAF_8QjnesSqrR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwRP2RCAF_11QjnesZrzbelRCXAF_8QjnesSqrR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwRP2RCAF_11QjnesZrzbelRCXAF_8QjnesSqrR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwRP2RCAF_11QjnesZrzbelRCXAF_8QjnesSqrR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR8bc_qrersRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR8bc_qrersRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR8bc_qrersRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR8bc_qrersRi:
 nop
@@ -368,17 +368,17 @@
 b__MA11hajvaqfgnpx7ErtfK8619FgrcVsFvtanyUnaqyreRzCAF_3RysRCAF_6ZrzbelR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR20psn_qrs_psn_ertvfgreRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR20psn_qrs_psn_ertvfgreRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR20psn_qrs_psn_ertvfgreRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR20psn_qrs_psn_ertvfgreRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr22TrgZnkFvmrJvguGrzcyngrV9rys64_uqeRRiCAF_6ZrzbelRCz
+.weak b__MA11hajvaqfgnpx12RysVagresnpr22TrgZnkFvmrJvguGrzcyngrV9rys64_uqeRRiCAF_6ZrzbelRCz
 .type b__MA11hajvaqfgnpx12RysVagresnpr22TrgZnkFvmrJvguGrzcyngrV9rys64_uqeRRiCAF_6ZrzbelRCz,%function
 b__MA11hajvaqfgnpx12RysVagresnpr22TrgZnkFvmrJvguGrzcyngrV9rys64_uqeRRiCAF_6ZrzbelRCz:
 nop
@@ -403,17 +403,17 @@
 b__MGIA11hajvaqfgnpx10ErtfZvcf64R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCuAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCuAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
 .type b__MAFg3__114__fcyvg_ohssreVCuAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCuAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR4VavgRzzy
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR4VavgRzzy
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR4VavgRzzy,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR4VavgRzzy:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR7FgnpxNgRz
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR7FgnpxNgRz
 .type b__MA11hajvaqfgnpx7QjnesBcVwR7FgnpxNgRz,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR7FgnpxNgRz:
 nop
@@ -423,12 +423,12 @@
 b__MA11hajvaqfgnpx4Zncf3NqqRzzzzEXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR8FgnpxCbcRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR8FgnpxCbcRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR8FgnpxCbcRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR8FgnpxCbcRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8YbnqVasbRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8YbnqVasbRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8YbnqVasbRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8YbnqVasbRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz:
 nop
@@ -438,47 +438,47 @@
 b__MA11hajvaqfgnpx10ErtfZvcf6416VgrengrErtvfgrefRAFg3__18shapgvbaVSiCXpzRRR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr21TrgFbanzrJvguGrzcyngrV7qlanzvpRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRi
+.weak b__MA11hajvaqfgnpx12RysVagresnpr21TrgFbanzrJvguGrzcyngrV7qlanzvpRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRi
 .type b__MA11hajvaqfgnpx12RysVagresnpr21TrgFbanzrJvguGrzcyngrV7qlanzvpRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRi,%function
 b__MA11hajvaqfgnpx12RysVagresnpr21TrgFbanzrJvguGrzcyngrV7qlanzvpRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRi:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelYbpnyRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelYbpnyRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelYbpnyRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelYbpnyRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzAF_10havdhr_cgeVA11hajvaqfgnpx7QrkSvyrRAF_14qrsnhyg_qryrgrVF4_RRRRRRAF_22__habeqrerq_znc_unfureVzF8_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF8_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzAF_10havdhr_cgeVA11hajvaqfgnpx7QrkSvyrRAF_14qrsnhyg_qryrgrVF4_RRRRRRAF_22__habeqrerq_znc_unfureVzF8_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF8_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzAF_10havdhr_cgeVA11hajvaqfgnpx7QrkSvyrRAF_14qrsnhyg_qryrgrVF4_RRRRRRAF_22__habeqrerq_znc_unfureVzF8_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF8_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzAF_10havdhr_cgeVA11hajvaqfgnpx7QrkSvyrRAF_14qrsnhyg_qryrgrVF4_RRRRRRAF_22__habeqrerq_znc_unfureVzF8_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF8_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF8_RRR8__erunfuRz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwF3_RRRRRAFU_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwF3_RRRRRAFU_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwF3_RRRRRAFU_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwF3_RRRRRAFU_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR5bc_ygRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR5bc_ygRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR5bc_ygRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR5bc_ygRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR13psn_haqrsvarqRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR13psn_haqrsvarqRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR13psn_haqrsvarqRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR13psn_haqrsvarqRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR22psn_qrs_psn_rkcerffvbaRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR22psn_qrs_psn_rkcerffvbaRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR22psn_qrs_psn_rkcerffvbaRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR22psn_qrs_psn_rkcerffvbaRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MAFg3__15qrdhrVA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF2_RRR8cbc_onpxRi
+.weak b__MAFg3__15qrdhrVA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF2_RRR8cbc_onpxRi
 .type b__MAFg3__15qrdhrVA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF2_RRR8cbc_onpxRi,%function
 b__MAFg3__15qrdhrVA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF2_RRR8cbc_onpxRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR6bc_fuyRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR6bc_fuyRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR6bc_fuyRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR6bc_fuyRi:
 nop
@@ -498,17 +498,17 @@
 b__MGIA11hajvaqfgnpx19ZrzbelBssyvarOhssreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR16YnfgReebeNqqerffRi
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR16YnfgReebeNqqerffRi
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR16YnfgReebeNqqerffRi,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR16YnfgReebeNqqerffRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzRP1RCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzRP1RCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzRP1RCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzRP1RCAF_6ZrzbelR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr14ErnqNyyUrnqrefV9rys64_uqe10rys64_cuqe10rys64_fuqeRRoCy
+.weak b__MA11hajvaqfgnpx12RysVagresnpr14ErnqNyyUrnqrefV9rys64_uqe10rys64_cuqe10rys64_fuqeRRoCy
 .type b__MA11hajvaqfgnpx12RysVagresnpr14ErnqNyyUrnqrefV9rys64_uqe10rys64_cuqe10rys64_fuqeRRoCy,%function
 b__MA11hajvaqfgnpx12RysVagresnpr14ErnqNyyUrnqrefV9rys64_uqe10rys64_cuqe10rys64_fuqeRRoCy:
 nop
@@ -523,12 +523,12 @@
 b__MA11hajvaqfgnpx8QrkSvyrf11ErnqRagel32Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR7bc_ertkRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR7bc_ertkRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR7bc_ertkRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR7bc_ertkRi:
 nop
@@ -538,22 +538,22 @@
 b__MA11hajvaqfgnpx8ErtfZvcf4NepuRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR14psn_qrs_psn_fsRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR14psn_qrs_psn_fsRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR14psn_qrs_psn_fsRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR14psn_qrs_psn_fsRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR16YnfgReebeNqqerffRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR16YnfgReebeNqqerffRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR16YnfgReebeNqqerffRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR16YnfgReebeNqqerffRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR6bc_ertRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR6bc_ertRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR6bc_ertRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR6bc_ertRi:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA11hajvaqfgnpx18ZrzbelSvyrNgBssfrgRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA11hajvaqfgnpx18ZrzbelSvyrNgBssfrgRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA11hajvaqfgnpx18ZrzbelSvyrNgBssfrgRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA11hajvaqfgnpx18ZrzbelSvyrNgBssfrgRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi:
 nop
@@ -563,12 +563,12 @@
 b__MA11hajvaqfgnpx11QjnesZrzbel11ErnqHYRO128RCz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR18TrgSqrBssfrgSebzCpRzCz
+.weak b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR18TrgSqrBssfrgSebzCpRzCz
 .type b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR18TrgSqrBssfrgSebzCpRzCz,%function
 b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR18TrgSqrBssfrgSebzCpRzCz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR6bc_naqRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR6bc_naqRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR6bc_naqRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR6bc_naqRi:
 nop
@@ -583,12 +583,12 @@
 b__MA11hajvaqfgnpx8QrkSvyrf16ErnqInevnoyrQngnRz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRRRiG_FA_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRRRiG_FA_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRRRiG_FA_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR14__nffvta_zhygvVAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRRRiG_FA_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz:
 nop
@@ -603,7 +603,7 @@
 b__MA11hajvaqfgnpx7ErtfK8615FrgSebzHpbagrkgRCAF_14k86_hpbagrkg_gR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR6bc_abgRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR6bc_abgRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR6bc_abgRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR6bc_abgRi:
 nop
@@ -613,17 +613,17 @@
 b__MA11hajvaqfgnpx8QrkSvyrf4VavgRCAF_4ZncfR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR17psn_iny_bssfrg_fsRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR17psn_iny_bssfrg_fsRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR17psn_iny_bssfrg_fsRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR17psn_iny_bssfrg_fsRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR7bc_chfuRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR7bc_chfuRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR7bc_chfuRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR7bc_chfuRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr21ErnqOhvyqVQSebzZrzbelV9rys64_uqe10rys64_fuqe10rys64_abgrRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx12RysVagresnpr21ErnqOhvyqVQSebzZrzbelV9rys64_uqe10rys64_fuqe10rys64_abgrRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx12RysVagresnpr21ErnqOhvyqVQSebzZrzbelV9rys64_uqe10rys64_fuqe10rys64_abgrRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx12RysVagresnpr21ErnqOhvyqVQSebzZrzbelV9rys64_uqe10rys64_fuqe10rys64_abgrRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCAF_6ZrzbelR:
 nop
@@ -638,17 +638,17 @@
 b__MA11hajvaqfgnpx6Zrzbel19PerngrCebprffZrzbelRv:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR16TrgBcrenaqFgevatRuzCz
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR16TrgBcrenaqFgevatRuzCz
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR16TrgBcrenaqFgevatRuzCz,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR16TrgBcrenaqFgevatRuzCz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR6phe_bcRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR6phe_bcRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR6phe_bcRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR6phe_bcRi:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx15QjnesQrohtSenzrVwRR
+.weak b__MGIA11hajvaqfgnpx15QjnesQrohtSenzrVwRR
 .type b__MGIA11hajvaqfgnpx15QjnesQrohtSenzrVwRR,%object
 b__MGIA11hajvaqfgnpx15QjnesQrohtSenzrVwRR:
 .space __SIZEOF_POINTER__
@@ -668,27 +668,27 @@
 b__MGIA11hajvaqfgnpx12RysVagresnprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelPnpurRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelPnpurRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelPnpurRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelPnpurRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi:
 nop
 .text
-.globl b__MAFg3__17__fbeg4VEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys32_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRwG0_FY_FY_FY_G_
+.weak b__MAFg3__17__fbeg4VEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys32_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRwG0_FY_FY_FY_G_
 .type b__MAFg3__17__fbeg4VEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys32_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRwG0_FY_FY_FY_G_,%function
 b__MAFg3__17__fbeg4VEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys32_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRwG0_FY_FY_FY_G_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR16TrgBcrenaqFgevatRuzCz
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR16TrgBcrenaqFgevatRuzCz
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR16TrgBcrenaqFgevatRuzCz,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR16TrgBcrenaqFgevatRuzCz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx11QjnesZrzbel14TrgRapbqrqFvmrVwRRzu
+.weak b__MA11hajvaqfgnpx11QjnesZrzbel14TrgRapbqrqFvmrVwRRzu
 .type b__MA11hajvaqfgnpx11QjnesZrzbel14TrgRapbqrqFvmrVwRRzu,%function
 b__MA11hajvaqfgnpx11QjnesZrzbel14TrgRapbqrqFvmrVwRRzu:
 nop
 .text
-.globl b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz
 .type b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVuAF_9nyybpngbeVuRRR8__nccraqRz:
 nop
@@ -698,27 +698,27 @@
 b__MA11hajvaqfgnpx7ErtfK8615TrgCpNqwhfgzragRzCAF_3RysR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR12psn_ertvfgreRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR12psn_ertvfgreRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR12psn_ertvfgreRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR12psn_ertvfgreRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR6phe_cpRi
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR6phe_cpRi
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR6phe_cpRi,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR6phe_cpRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx11QjnesZrzbel10ErnqFvtarqVvRRoCz
+.weak b__MA11hajvaqfgnpx11QjnesZrzbel10ErnqFvtarqVvRRoCz
 .type b__MA11hajvaqfgnpx11QjnesZrzbel10ErnqFvtarqVvRRoCz,%function
 b__MA11hajvaqfgnpx11QjnesZrzbel10ErnqFvtarqVvRRoCz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR7FgnpxNgRz
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR7FgnpxNgRz
 .type b__MA11hajvaqfgnpx7QjnesBcVzR7FgnpxNgRz,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR7FgnpxNgRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR9SvyyVaSqrRCAF_8QjnesSqrR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR9SvyyVaSqrRCAF_8QjnesSqrR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR9SvyyVaSqrRCAF_8QjnesSqrR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR9SvyyVaSqrRCAF_8QjnesSqrR:
 nop
@@ -733,12 +733,12 @@
 b__MA11hajvaqfgnpx7ZncVasb11TrgYbnqOvnfREXAFg3__110funerq_cgeVAF_6ZrzbelRRR:
 nop
 .text
-.globl b__MAFg3__16__fbegVEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys32_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRiG0_FY_G_
+.weak b__MAFg3__16__fbegVEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys32_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRiG0_FY_G_
 .type b__MAFg3__16__fbegVEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys32_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRiG0_FY_G_,%function
 b__MAFg3__16__fbegVEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys32_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRiG0_FY_G_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR12RinyErtvfgreRCXAF_13QjnesYbpngvbaRwCwCi
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR12RinyErtvfgreRCXAF_13QjnesYbpngvbaRwCwCi
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR12RinyErtvfgreRCXAF_13QjnesYbpngvbaRwCwCi,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR12RinyErtvfgreRCXAF_13QjnesYbpngvbaRwCwCi:
 nop
@@ -748,17 +748,17 @@
 b__MA11hajvaqfgnpx7ErtfNez2cpRi:
 nop
 .text
-.globl b__MAFg3__15qrdhrVuAF_9nyybpngbeVuRRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrVuAF_9nyybpngbeVuRRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrVuAF_9nyybpngbeVuRRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrVuAF_9nyybpngbeVuRRR19__nqq_onpx_pncnpvglRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx3RysRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx3RysRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx3RysRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx3RysRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -768,17 +768,17 @@
 b__MA11hajvaqfgnpx9ErtfNez6422FrgCpSebzErgheaNqqerffRCAF_6ZrzbelR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR13bc_qrers_fvmrRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR13bc_qrers_fvmrRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR13bc_qrers_fvmrRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR13bc_qrers_fvmrRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR6bc_fueRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR6bc_fueRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR6bc_fueRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR6bc_fueRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR14RinyRkcerffvbaREXAF_13QjnesYbpngvbaRCAF_6ZrzbelRCzCAF_8ErtfVasbVzRRCo
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR14RinyRkcerffvbaREXAF_13QjnesYbpngvbaRCAF_6ZrzbelRCzCAF_8ErtfVasbVzRRCo
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR14RinyRkcerffvbaREXAF_13QjnesYbpngvbaRCAF_6ZrzbelRCzCAF_8ErtfVasbVzRRCo,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR14RinyRkcerffvbaREXAF_13QjnesYbpngvbaRCAF_6ZrzbelRCzCAF_8ErtfVasbVzRRCo:
 nop
@@ -793,7 +793,7 @@
 b__MA11hajvaqfgnpx7ErtfK8622FrgCpSebzErgheaNqqerffRCAF_6ZrzbelR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR15TrgYbpngvbaVasbRzzzCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR15TrgYbpngvbaVasbRzzzCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR15TrgYbpngvbaVasbRzzzCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR15TrgYbpngvbaVasbRzzzCAF_14QjnesYbpngvbafR:
 nop
@@ -813,7 +813,7 @@
 b__MA11hajvaqfgnpx6TybonyP2REAFg3__110funerq_cgeVAF_6ZrzbelRRREAF1_6irpgbeVAF1_12onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRAFN_VFP_RRRR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRRQ2Ri
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRRQ2Ri
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRRQ2Ri,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRRQ2Ri:
 nop
@@ -828,12 +828,12 @@
 b__MA11hajvaqfgnpx6Zrzbel10ErnqFgevatRzCAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR9FgnpxFvmrRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR9FgnpxFvmrRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR9FgnpxFvmrRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR9FgnpxFvmrRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr27TrgShapgvbaAnzrJvguGrzcyngrV9rys64_flzRRozCAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCz
+.weak b__MA11hajvaqfgnpx12RysVagresnpr27TrgShapgvbaAnzrJvguGrzcyngrV9rys64_flzRRozCAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCz
 .type b__MA11hajvaqfgnpx12RysVagresnpr27TrgShapgvbaAnzrJvguGrzcyngrV9rys64_flzRRozCAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCz,%function
 b__MA11hajvaqfgnpx12RysVagresnpr27TrgShapgvbaAnzrJvguGrzcyngrV9rys64_flzRRozCAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCz:
 nop
@@ -863,12 +863,12 @@
 b__MAX11hajvaqfgnpx8Hajvaqre11SbezngSenzrREXAF_9SenzrQngnR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwRP1RCAF_11QjnesZrzbelRCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx7QjnesBcVwRP1RCAF_11QjnesZrzbelRCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx7QjnesBcVwRP1RCAF_11QjnesZrzbelRCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx7QjnesBcVwRP1RCAF_11QjnesZrzbelRCAF_6ZrzbelR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR15TrgArkgPvrBeSqrRCCXAF_8QjnesSqrR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR15TrgArkgPvrBeSqrRCCXAF_8QjnesSqrR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR15TrgArkgPvrBeSqrRCCXAF_8QjnesSqrR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR15TrgArkgPvrBeSqrRCCXAF_8QjnesSqrR:
 nop
@@ -883,7 +883,7 @@
 b__MA11hajvaqfgnpx7ErtfK86P2Ri:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR13psn_haqrsvarqRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR13psn_haqrsvarqRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR13psn_haqrsvarqRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR13psn_haqrsvarqRCAF_14QjnesYbpngvbafR:
 nop
@@ -898,22 +898,22 @@
 b__MA11hajvaqfgnpx12RysVagresnprQ0Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR8__erunfuRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx15QjnesQrohtSenzrVzRP1RCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx15QjnesQrohtSenzrVzRP1RCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx15QjnesQrohtSenzrVzRP1RCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx15QjnesQrohtSenzrVzRP1RCAF_6ZrzbelR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR14__renfr_havdhrVzRRzEXG_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR14__renfr_havdhrVzRRzEXG_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR14__renfr_havdhrVzRRzEXG_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR14__renfr_havdhrVzRRzEXG_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr18ErnqFrpgvbaUrnqrefV9rys32_uqe10rys32_fuqeRRiEXG_
+.weak b__MA11hajvaqfgnpx12RysVagresnpr18ErnqFrpgvbaUrnqrefV9rys32_uqe10rys32_fuqeRRiEXG_
 .type b__MA11hajvaqfgnpx12RysVagresnpr18ErnqFrpgvbaUrnqrefV9rys32_uqe10rys32_fuqeRRiEXG_,%function
 b__MA11hajvaqfgnpx12RysVagresnpr18ErnqFrpgvbaUrnqrefV9rys32_uqe10rys32_fuqeRRiEXG_:
 nop
@@ -928,7 +928,7 @@
 b__MA11hajvaqfgnpx8Hajvaqre6HajvaqRCXAFg3__16irpgbeVAF1_12onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRAF6_VF8_RRRRFP_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR14psn_qrs_psn_fsRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR14psn_qrs_psn_fsRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR14psn_qrs_psn_fsRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR14psn_qrs_psn_fsRCAF_14QjnesYbpngvbafR:
 nop
@@ -938,12 +938,12 @@
 b__MA11hajvaqfgnpx6Tybony7FrgNepuRAF_8NepuRahzR:
 nop
 .text
-.globl b__MA7naqebvq8cebpvasb18ErnqZncSvyrPbagragVAFg3__18shapgvbaVSizzgzzCXpRRRRRoCpEXG_
+.weak b__MA7naqebvq8cebpvasb18ErnqZncSvyrPbagragVAFg3__18shapgvbaVSizzgzzCXpRRRRRoCpEXG_
 .type b__MA7naqebvq8cebpvasb18ErnqZncSvyrPbagragVAFg3__18shapgvbaVSizzgzzCXpRRRRRoCpEXG_,%function
 b__MA7naqebvq8cebpvasb18ErnqZncSvyrPbagragVAFg3__18shapgvbaVSizzgzzCXpRRRRRoCpEXG_:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx8ErtfVzcyVwRR
+.weak b__MGIA11hajvaqfgnpx8ErtfVzcyVwRR
 .type b__MGIA11hajvaqfgnpx8ErtfVzcyVwRR,%object
 b__MGIA11hajvaqfgnpx8ErtfVzcyVwRR:
 .space __SIZEOF_POINTER__
@@ -953,37 +953,37 @@
 b__MA11hajvaqfgnpx10ErtfK86_645PybarRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFW_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF3_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFW_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF3_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFW_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF3_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFW_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF3_CiRRRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVEXzRRiBG_
+.weak b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVEXzRRiBG_
 .type b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVEXzRRiBG_,%function
 b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVEXzRRiBG_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR14psn_fnzr_inyhrRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR14psn_fnzr_inyhrRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR14psn_fnzr_inyhrRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR14psn_fnzr_inyhrRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBwRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBwRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBwRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBwRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx7QjnesBcVwRR
+.weak b__MGIA11hajvaqfgnpx7QjnesBcVwRR
 .type b__MGIA11hajvaqfgnpx7QjnesBcVwRR,%object
 b__MGIA11hajvaqfgnpx7QjnesBcVwRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA11hajvaqfgnpx8QjnesPsnVwRR
+.weak b__MGIA11hajvaqfgnpx8QjnesPsnVwRR
 .type b__MGIA11hajvaqfgnpx8QjnesPsnVwRR,%object
 b__MGIA11hajvaqfgnpx8QjnesPsnVwRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR4VavgRzzy
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR4VavgRzzy
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR4VavgRzzy,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR4VavgRzzy:
 nop
@@ -993,27 +993,27 @@
 b__MA11hajvaqfgnpx11QjnesZrzbel18NqwhfgRapbqrqInyhrRuCz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR7bc_fuenRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR7bc_fuenRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR7bc_fuenRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR7bc_fuenRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr23VavgUrnqrefJvguGrzcyngrVwRRii
+.weak b__MA11hajvaqfgnpx12RysVagresnpr23VavgUrnqrefJvguGrzcyngrVwRRii
 .type b__MA11hajvaqfgnpx12RysVagresnpr23VavgUrnqrefJvguGrzcyngrVwRRii,%function
 b__MA11hajvaqfgnpx12RysVagresnpr23VavgUrnqrefJvguGrzcyngrVwRRii:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR18psn_erzrzore_fgngrRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR18psn_erzrzore_fgngrRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR18psn_erzrzore_fgngrRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR18psn_erzrzore_fgngrRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
 .type b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_:
 nop
@@ -1028,7 +1028,7 @@
 b__MA11hajvaqfgnpx15HajvaqreSebzCvq4VavgRAF_8NepuRahzR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR7bc_ertkRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR7bc_ertkRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR7bc_ertkRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR7bc_ertkRi:
 nop
@@ -1038,17 +1038,17 @@
 b__MA11hajvaqfgnpx3Rys8PnpurNqqRCAF_7ZncVasbR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzAF_10havdhr_cgeVA11hajvaqfgnpx7QrkSvyrRAF_14qrsnhyg_qryrgrVF4_RRRRRRAF_22__habeqrerq_znc_unfureVzF8_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF8_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFB_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzAF_10havdhr_cgeVA11hajvaqfgnpx7QrkSvyrRAF_14qrsnhyg_qryrgrVF4_RRRRRRAF_22__habeqrerq_znc_unfureVzF8_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF8_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFB_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzAF_10havdhr_cgeVA11hajvaqfgnpx7QrkSvyrRAF_14qrsnhyg_qryrgrVF4_RRRRRRAF_22__habeqrerq_znc_unfureVzF8_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF8_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFB_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzAF_10havdhr_cgeVA11hajvaqfgnpx7QrkSvyrRAF_14qrsnhyg_qryrgrVF4_RRRRRRAF_22__habeqrerq_znc_unfureVzF8_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF8_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF8_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFB_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR23YbtBssfrgErtvfgreFgevatRwzu
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR23YbtBssfrgErtvfgreFgevatRwzu
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR23YbtBssfrgErtvfgreFgevatRwzu,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR23YbtBssfrgErtvfgreFgevatRwzu:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR9FgnpxFvmrRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR9FgnpxFvmrRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR9FgnpxFvmrRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR9FgnpxFvmrRi:
 nop
@@ -1078,17 +1078,17 @@
 b__MA11hajvaqfgnpx4Ertf11PheeragNepuRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR5bc_rdRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR5bc_rdRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR5bc_rdRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR5bc_rdRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR6bc_fuyRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR6bc_fuyRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR6bc_fuyRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR6bc_fuyRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR8bc_qrersRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR8bc_qrersRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR8bc_qrersRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR8bc_qrersRi:
 nop
@@ -1098,27 +1098,27 @@
 b__MA11hajvaqfgnpx3Rys19TrgYnfgReebeNqqerffRi:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx8NezRkvqkR
+.weak b__MGIA11hajvaqfgnpx8NezRkvqkR
 .type b__MGIA11hajvaqfgnpx8NezRkvqkR,%object
 b__MGIA11hajvaqfgnpx8NezRkvqkR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA11hajvaqfgnpx7Flzobyf4VasbRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEzF8_zRRRiQcBG_
+.weak b__MAFg3__16irpgbeVA11hajvaqfgnpx7Flzobyf4VasbRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEzF8_zRRRiQcBG_
 .type b__MAFg3__16irpgbeVA11hajvaqfgnpx7Flzobyf4VasbRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEzF8_zRRRiQcBG_,%function
 b__MAFg3__16irpgbeVA11hajvaqfgnpx7Flzobyf4VasbRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWEzF8_zRRRiQcBG_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR32psn_tah_artngvir_bssfrg_rkgraqrqRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR32psn_tah_artngvir_bssfrg_rkgraqrqRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR32psn_tah_artngvir_bssfrg_rkgraqrqRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR32psn_tah_artngvir_bssfrg_rkgraqrqRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR15psn_nqinapr_ybpRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR15psn_nqinapr_ybpRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR15psn_nqinapr_ybpRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR15psn_nqinapr_ybpRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR6phe_bcRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR6phe_bcRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR6phe_bcRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR6phe_bcRi:
 nop
@@ -1133,47 +1133,47 @@
 b__MAX11hajvaqfgnpx10ErzbgrZncf11TrgZncfSvyrRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeVA11hajvaqfgnpx7ZncVasbRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWF6_RRRiQcBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeVA11hajvaqfgnpx7ZncVasbRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWF6_RRRiQcBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeVA11hajvaqfgnpx7ZncVasbRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWF6_RRRiQcBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeVA11hajvaqfgnpx7ZncVasbRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWF6_RRRiQcBG_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR12TrgSqrSebzCpRz
+.weak b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR12TrgSqrSebzCpRz
 .type b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR12TrgSqrSebzCpRz,%function
 b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR12TrgSqrSebzCpRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx11QjnesZrzbelR
+.weak b__MGIA11hajvaqfgnpx11QjnesZrzbelR
 .type b__MGIA11hajvaqfgnpx11QjnesZrzbelR,%object
 b__MGIA11hajvaqfgnpx11QjnesZrzbelR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzAF_10havdhr_cgeVA11hajvaqfgnpx7QrkSvyrRAF_14qrsnhyg_qryrgrVF4_RRRRRRAF_22__habeqrerq_znc_unfureVzF8_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF8_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzAF_10havdhr_cgeVA11hajvaqfgnpx7QrkSvyrRAF_14qrsnhyg_qryrgrVF4_RRRRRRAF_22__habeqrerq_znc_unfureVzF8_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF8_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzAF_10havdhr_cgeVA11hajvaqfgnpx7QrkSvyrRAF_14qrsnhyg_qryrgrVF4_RRRRRRAF_22__habeqrerq_znc_unfureVzF8_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF8_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzAF_10havdhr_cgeVA11hajvaqfgnpx7QrkSvyrRAF_14qrsnhyg_qryrgrVF4_RRRRRRAF_22__habeqrerq_znc_unfureVzF8_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF8_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF8_RRR6erunfuRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR6bc_ertRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR6bc_ertRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR6bc_ertRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR6bc_ertRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR7bc_chfuRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR7bc_chfuRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR7bc_chfuRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR7bc_chfuRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR8FgnpxCbcRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR8FgnpxCbcRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR8FgnpxCbcRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR8FgnpxCbcRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR16TrgPvrSebzBssfrgRz
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR16TrgPvrSebzBssfrgRz
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR16TrgPvrSebzBssfrgRz,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR16TrgPvrSebzBssfrgRz:
 nop
@@ -1203,7 +1203,7 @@
 b__MA11hajvaqfgnpx10ErtfZvcf64P1Ri:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx9YbpnyZncfR
+.weak b__MGIA11hajvaqfgnpx9YbpnyZncfR
 .type b__MGIA11hajvaqfgnpx9YbpnyZncfR,%object
 b__MGIA11hajvaqfgnpx9YbpnyZncfR:
 .space __SIZEOF_POINTER__
@@ -1213,12 +1213,12 @@
 b__MA11hajvaqfgnpx12QjnesPsnVasb6xGnoyrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR20psn_qrs_psn_ertvfgreRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR20psn_qrs_psn_ertvfgreRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR20psn_qrs_psn_ertvfgreRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR20psn_qrs_psn_ertvfgreRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzRP1RCAF_11QjnesZrzbelRCXAF_8QjnesSqrR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzRP1RCAF_11QjnesZrzbelRCXAF_8QjnesSqrR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzRP1RCAF_11QjnesZrzbelRCXAF_8QjnesSqrR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzRP1RCAF_11QjnesZrzbelRCXAF_8QjnesSqrR:
 nop
@@ -1228,7 +1228,7 @@
 b__MA11hajvaqfgnpx12QjnesFrpgvbaP2RCAF_6ZrzbelR:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelYbpnyRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelYbpnyRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelYbpnyRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelYbpnyRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi:
 nop
@@ -1243,22 +1243,22 @@
 b__MA11hajvaqfgnpx8NezRkvqk10YbtEnjQngnRi:
 nop
 .text
-.globl b__MAFg3__15qrdhrVuAF_9nyybpngbeVuRRR9chfu_onpxRBu
+.weak b__MAFg3__15qrdhrVuAF_9nyybpngbeVuRRR9chfu_onpxRBu
 .type b__MAFg3__15qrdhrVuAF_9nyybpngbeVuRRR9chfu_onpxRBu,%function
 b__MAFg3__15qrdhrVuAF_9nyybpngbeVuRRR9chfu_onpxRBu:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR17psn_erfgber_fgngrRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR17psn_erfgber_fgngrRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR17psn_erfgber_fgngrRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR17psn_erfgber_fgngrRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12QjnesRuSenzrVzRP2RCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx12QjnesRuSenzrVzRP2RCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx12QjnesRuSenzrVzRP2RCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx12QjnesRuSenzrVzRP2RCAF_6ZrzbelR:
 nop
@@ -1283,17 +1283,17 @@
 b__MA11hajvaqfgnpx8Hajvaqre11SvyyVaSenzrRCAF_7ZncVasbRCAF_3RysRzz:
 nop
 .text
-.globl b__MAFg3__15qrdhrVA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF2_RRR9chfu_onpxREXF2_
+.weak b__MAFg3__15qrdhrVA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF2_RRR9chfu_onpxREXF2_
 .type b__MAFg3__15qrdhrVA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF2_RRR9chfu_onpxREXF2_,%function
 b__MAFg3__15qrdhrVA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF2_RRR9chfu_onpxREXF2_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx11QjnesZrzbel10ErnqFvtarqVfRRoCz
+.weak b__MA11hajvaqfgnpx11QjnesZrzbel10ErnqFvtarqVfRRoCz
 .type b__MA11hajvaqfgnpx11QjnesZrzbel10ErnqFvtarqVfRRoCz,%function
 b__MA11hajvaqfgnpx11QjnesZrzbel10ErnqFvtarqVfRRoCz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR6erunfuRz:
 nop
@@ -1303,12 +1303,12 @@
 b__MA11hajvaqfgnpx6Zrzbel9ErnqShyylRzCiz:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCuEAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCuEAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_
 .type b__MAFg3__114__fcyvg_ohssreVCuEAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCuEAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR13bc_qrers_fvmrRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR13bc_qrers_fvmrRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR13bc_qrers_fvmrRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR13bc_qrers_fvmrRi:
 nop
@@ -1318,17 +1318,17 @@
 b__MA11hajvaqfgnpx3Rys10TrgOhvyqVQRCAF_6ZrzbelR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR12TrgSqrSebzCpRz
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR12TrgSqrSebzCpRz
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR12TrgSqrSebzCpRz,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR12TrgSqrSebzCpRz:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA11hajvaqfgnpx14YbpnySenzrQngnRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWECAF1_7ZncVasbRzzEN1_XpvRRRiQcBG_
+.weak b__MAFg3__16irpgbeVA11hajvaqfgnpx14YbpnySenzrQngnRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWECAF1_7ZncVasbRzzEN1_XpvRRRiQcBG_
 .type b__MAFg3__16irpgbeVA11hajvaqfgnpx14YbpnySenzrQngnRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWECAF1_7ZncVasbRzzEN1_XpvRRRiQcBG_,%function
 b__MAFg3__16irpgbeVA11hajvaqfgnpx14YbpnySenzrQngnRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWECAF1_7ZncVasbRzzEN1_XpvRRRiQcBG_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR18psn_qrs_psn_bssfrgRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR18psn_qrs_psn_bssfrgRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR18psn_qrs_psn_bssfrgRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR18psn_qrs_psn_bssfrgRCAF_14QjnesYbpngvbafR:
 nop
@@ -1338,7 +1338,7 @@
 b__MA11hajvaqfgnpx3Rys25PerngrVagresnprSebzZrzbelRCAF_6ZrzbelR:
 nop
 .text
-.globl b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RREXF9_F6_
+.weak b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RREXF9_F6_
 .type b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RREXF9_F6_,%function
 b__MAFg3__1cyVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_12onfvp_fgevatVG_G0_G1_RREXF9_F6_:
 nop
@@ -1348,7 +1348,7 @@
 b__MA11hajvaqfgnpx8WvgQroht6TrgRysRCAF_4ZncfRz:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx12ZrzbelErzbgrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx12ZrzbelErzbgrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx12ZrzbelErzbgrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx12ZrzbelErzbgrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -1373,12 +1373,12 @@
 b__MA11hajvaqfgnpx15QrkSvyrSebzSvyr6PerngrRzEXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR4RinyRCXAF_8QjnesPvrRCAF_6ZrzbelREXAF_14QjnesYbpngvbafRCAF_4ErtfRCo
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR4RinyRCXAF_8QjnesPvrRCAF_6ZrzbelREXAF_14QjnesYbpngvbafRCAF_4ErtfRCo
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR4RinyRCXAF_8QjnesPvrRCAF_6ZrzbelREXAF_14QjnesYbpngvbafRCAF_4ErtfRCo,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR4RinyRCXAF_8QjnesPvrRCAF_6ZrzbelREXAF_14QjnesYbpngvbafRCAF_4ErtfRCo:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR7bc_oertRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR7bc_oertRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR7bc_oertRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR7bc_oertRi:
 nop
@@ -1398,17 +1398,17 @@
 b__MA11hajvaqfgnpx7QrkSvyr6PerngrRzCAF_6ZrzbelRCAF_7ZncVasbR:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx6TybonyR
+.weak b__MGIA11hajvaqfgnpx6TybonyR
 .type b__MGIA11hajvaqfgnpx6TybonyR,%object
 b__MGIA11hajvaqfgnpx6TybonyR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR6bc_abcRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR6bc_abcRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR6bc_abcRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR6bc_abcRi:
 nop
@@ -1418,7 +1418,7 @@
 b__MA11hajvaqfgnpx8QrkSvyrf20TrgZrgubqVasbezngvbaRCAF_4ZncfRCAF_7ZncVasbRzCAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr29TrgTybonyInevnoyrJvguGrzcyngrV9rys64_flzRRoEXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCz
+.weak b__MA11hajvaqfgnpx12RysVagresnpr29TrgTybonyInevnoyrJvguGrzcyngrV9rys64_flzRRoEXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCz
 .type b__MA11hajvaqfgnpx12RysVagresnpr29TrgTybonyInevnoyrJvguGrzcyngrV9rys64_flzRRoEXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCz,%function
 b__MA11hajvaqfgnpx12RysVagresnpr29TrgTybonyInevnoyrJvguGrzcyngrV9rys64_flzRRoEXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCz:
 nop
@@ -1428,22 +1428,22 @@
 b__MA11hajvaqfgnpx10ErtfZvcf642cpRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR15psn_nqinapr_ybpRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR15psn_nqinapr_ybpRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR15psn_nqinapr_ybpRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR15psn_nqinapr_ybpRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR14psn_fnzr_inyhrRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR14psn_fnzr_inyhrRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR14psn_fnzr_inyhrRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR14psn_fnzr_inyhrRCAF_14QjnesYbpngvbafR:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwRR
+.weak b__MGIA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwRR
 .type b__MGIA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwRR,%object
 b__MGIA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr11ErnqOhvyqVQV10rys64_abgrRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRi
+.weak b__MA11hajvaqfgnpx12RysVagresnpr11ErnqOhvyqVQV10rys64_abgrRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRi
 .type b__MA11hajvaqfgnpx12RysVagresnpr11ErnqOhvyqVQV10rys64_abgrRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRi,%function
 b__MA11hajvaqfgnpx12RysVagresnpr11ErnqOhvyqVQV10rys64_abgrRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRi:
 nop
@@ -1453,7 +1453,7 @@
 b__MA11hajvaqfgnpx18ZrzbelBssyvarCnegfQ1Ri:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR8__erunfuRz:
 nop
@@ -1463,12 +1463,12 @@
 b__MA11hajvaqfgnpx10ErtfK86_642cpRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR11psn_frg_ybpRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR11psn_frg_ybpRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR11psn_frg_ybpRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR11psn_frg_ybpRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR6bc_qhcRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR6bc_qhcRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR6bc_qhcRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR6bc_qhcRi:
 nop
@@ -1488,12 +1488,12 @@
 b__MA11hajvaqfgnpx10ErtfZvcf6415TrgCpNqwhfgzragRzCAF_3RysR:
 nop
 .text
-.globl b__MAFg3__15qrdhrVuAF_9nyybpngbeVuRRR9chfu_onpxREXu
+.weak b__MAFg3__15qrdhrVuAF_9nyybpngbeVuRRR9chfu_onpxREXu
 .type b__MAFg3__15qrdhrVuAF_9nyybpngbeVuRRR9chfu_onpxREXu,%function
 b__MAFg3__15qrdhrVuAF_9nyybpngbeVuRRR9chfu_onpxREXu:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR21psn_qrs_psn_bssfrg_fsRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR21psn_qrs_psn_bssfrg_fsRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR21psn_qrs_psn_bssfrg_fsRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR21psn_qrs_psn_bssfrg_fsRCAF_14QjnesYbpngvbafR:
 nop
@@ -1513,12 +1513,12 @@
 b__MA11hajvaqfgnpx19ZrzbelBssyvarOhssreP1RCXuzz:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwRP2RCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwRP2RCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwRP2RCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwRP2RCAF_6ZrzbelR:
 nop
@@ -1538,52 +1538,52 @@
 b__MA11hajvaqfgnpx7ErtfNez6frg_cpRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR16TrgSqrSebzBssfrgRz
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR16TrgSqrSebzBssfrgRz
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR16TrgSqrSebzBssfrgRz,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR16TrgSqrSebzBssfrgRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR5bc_rdRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR5bc_rdRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR5bc_rdRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR5bc_rdRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR7bc_fuenRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR7bc_fuenRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR7bc_fuenRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR7bc_fuenRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr21ErnqOhvyqVQSebzZrzbelV9rys32_uqe10rys32_fuqe10rys32_abgrRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx12RysVagresnpr21ErnqOhvyqVQSebzZrzbelV9rys32_uqe10rys32_fuqe10rys32_abgrRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx12RysVagresnpr21ErnqOhvyqVQSebzZrzbelV9rys32_uqe10rys32_fuqe10rys32_abgrRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx12RysVagresnpr21ErnqOhvyqVQSebzZrzbelV9rys32_uqe10rys32_fuqe10rys32_abgrRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCAF_6ZrzbelR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF7_RRRAFG_VWRRRRRRAF8_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFR_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF7_RRRAFG_VWRRRRRRAF8_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFR_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF7_RRRAFG_VWRRRRRRAF8_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFR_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXF7_RRRAFG_VWRRRRRRAF8_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFR_CiRRRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR7bc_bireRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR7bc_bireRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR7bc_bireRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR7bc_bireRi:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx12QjnesRuSenzrVzRR
+.weak b__MGIA11hajvaqfgnpx12QjnesRuSenzrVzRR
 .type b__MGIA11hajvaqfgnpx12QjnesRuSenzrVzRR,%object
 b__MGIA11hajvaqfgnpx12QjnesRuSenzrVzRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA11hajvaqfgnpx14RysVagresnpr64R
+.weak b__MGIA11hajvaqfgnpx14RysVagresnpr64R
 .type b__MGIA11hajvaqfgnpx14RysVagresnpr64R,%object
 b__MGIA11hajvaqfgnpx14RysVagresnpr64R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR14__renfr_havdhrVzRRzEXG_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR14__renfr_havdhrVzRRzEXG_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR14__renfr_havdhrVzRRzEXG_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR14__renfr_havdhrVzRRzEXG_:
 nop
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys32_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRoG0_FY_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys32_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRoG0_FY_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys32_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRoG0_FY_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys32_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRoG0_FY_G_:
 nop
@@ -1598,12 +1598,12 @@
 b__MA11hajvaqfgnpx8QrkSvyrfQ0Ri:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR10psn_bssfrgRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR10psn_bssfrgRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR10psn_bssfrgRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR10psn_bssfrgRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR6bc_zbqRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR6bc_zbqRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR6bc_zbqRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR6bc_zbqRi:
 nop
@@ -1613,7 +1613,7 @@
 b__MA11hajvaqfgnpx3Rys4FgrcRzCAF_4ErtfRCAF_6ZrzbelRCo:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR8__erunfuRz:
 nop
@@ -1623,17 +1623,17 @@
 b__MA11hajvaqfgnpx11ZrzbelYbpny4ErnqRzCiz:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx7FlzobyfR
+.weak b__MGIA11hajvaqfgnpx7FlzobyfR
 .type b__MGIA11hajvaqfgnpx7FlzobyfR,%object
 b__MGIA11hajvaqfgnpx7FlzobyfR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR11psn_frg_ybpRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR11psn_frg_ybpRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR11psn_frg_ybpRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR11psn_frg_ybpRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzRP2RCAF_11QjnesZrzbelRCXAF_8QjnesSqrR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzRP2RCAF_11QjnesZrzbelRCXAF_8QjnesSqrR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzRP2RCAF_11QjnesZrzbelRCXAF_8QjnesSqrR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzRP2RCAF_11QjnesZrzbelRCXAF_8QjnesSqrR:
 nop
@@ -1643,7 +1643,7 @@
 b__MA11hajvaqfgnpx8WvgQroht11CebprffNepuRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR18TrgPsnYbpngvbaVasbRzCXAF_8QjnesSqrRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR18TrgPsnYbpngvbaVasbRzCXAF_8QjnesSqrRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR18TrgPsnYbpngvbaVasbRzCXAF_8QjnesSqrRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR18TrgPsnYbpngvbaVasbRzCXAF_8QjnesSqrRCAF_14QjnesYbpngvbafR:
 nop
@@ -1653,17 +1653,17 @@
 b__MA11hajvaqfgnpx3Rys10VainyvqngrRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzRP2RCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzRP2RCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzRP2RCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzRP2RCAF_6ZrzbelR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwRP2RCAF_11QjnesZrzbelRCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx7QjnesBcVwRP2RCAF_11QjnesZrzbelRCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx7QjnesBcVwRP2RCAF_11QjnesZrzbelRCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx7QjnesBcVwRP2RCAF_11QjnesZrzbelRCAF_6ZrzbelR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA11hajvaqfgnpx14QjnesYbpngvbafREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCA11hajvaqfgnpx14QjnesYbpngvbafREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_
 .type b__MAFg3__114__fcyvg_ohssreVCA11hajvaqfgnpx14QjnesYbpngvbafREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCA11hajvaqfgnpx14QjnesYbpngvbafREAF_9nyybpngbeVF3_RRR9chfu_onpxRBF3_:
 nop
@@ -1673,22 +1673,22 @@
 b__MA11hajvaqfgnpx3Rys10VfInyvqRysRCAF_6ZrzbelR:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx12ZrzbelErzbgrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx12ZrzbelErzbgrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx12ZrzbelErzbgrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx12ZrzbelErzbgrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzRR
+.weak b__MGIA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzRR
 .type b__MGIA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzRR,%object
 b__MGIA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR6bc_ebgRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR6bc_ebgRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR6bc_ebgRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR6bc_ebgRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr11TrgYbnqOvnfV9rys32_uqe10rys32_cuqeRRyCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx12RysVagresnpr11TrgYbnqOvnfV9rys32_uqe10rys32_cuqeRRyCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx12RysVagresnpr11TrgYbnqOvnfV9rys32_uqe10rys32_cuqeRRyCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx12RysVagresnpr11TrgYbnqOvnfV9rys32_uqe10rys32_cuqeRRyCAF_6ZrzbelR:
 nop
@@ -1698,12 +1698,12 @@
 b__MA11hajvaqfgnpx17QrkSvyrSebzZrzbel6PerngrRzCAF_6ZrzbelREXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR11vf_ertvfgreRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR11vf_ertvfgreRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR11vf_ertvfgreRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR11vf_ertvfgreRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_
 .type b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_:
 nop
@@ -1738,12 +1738,12 @@
 b__MA11hajvaqfgnpx10ErtfZvcf64P2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR21__chfu_onpx_fybj_cnguVwRRiBG_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR9SvyyVaPvrRCAF_8QjnesPvrR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR9SvyyVaPvrRCAF_8QjnesPvrR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR9SvyyVaPvrRCAF_8QjnesPvrR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR9SvyyVaPvrRCAF_8QjnesPvrR:
 nop
@@ -1763,12 +1763,12 @@
 b__MA11hajvaqfgnpx8QrkSvyrfP1REAFg3__110funerq_cgeVAF_6ZrzbelRRR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR12RinyErtvfgreRCXAF_13QjnesYbpngvbaRwCzCi
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR12RinyErtvfgreRCXAF_13QjnesYbpngvbaRwCzCi
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR12RinyErtvfgreRCXAF_13QjnesYbpngvbaRwCzCi,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR12RinyErtvfgreRCXAF_13QjnesYbpngvbaRwCzCi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR8__erunfuRz:
 nop
@@ -1778,12 +1778,12 @@
 b__MA11hajvaqfgnpx8ErtfZvcf5PybarRi:
 nop
 .text
-.globl b__MAFg3__16__fbegVEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys64_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRiG0_FY_G_
+.weak b__MAFg3__16__fbegVEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys64_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRiG0_FY_G_
 .type b__MAFg3__16__fbegVEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys64_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRiG0_FY_G_,%function
 b__MAFg3__16__fbegVEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys64_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRiG0_FY_G_:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx3RysRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
+.weak b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx3RysRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
 .type b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx3RysRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR,%object
 b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx3RysRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR:
 .space __SIZEOF_POINTER__
@@ -1798,12 +1798,12 @@
 b__MA11hajvaqfgnpx7ErtfNez6frg_fcRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR17psn_erfgber_fgngrRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR17psn_erfgber_fgngrRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR17psn_erfgber_fgngrRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR17psn_erfgber_fgngrRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr18ErnqCebtenzUrnqrefV9rys64_uqe10rys64_cuqeRRiEXG_Cy
+.weak b__MA11hajvaqfgnpx12RysVagresnpr18ErnqCebtenzUrnqrefV9rys64_uqe10rys64_cuqeRRiEXG_Cy
 .type b__MA11hajvaqfgnpx12RysVagresnpr18ErnqCebtenzUrnqrefV9rys64_uqe10rys64_cuqeRRiEXG_Cy,%function
 b__MA11hajvaqfgnpx12RysVagresnpr18ErnqCebtenzUrnqrefV9rys64_uqe10rys64_cuqeRRiEXG_Cy:
 nop
@@ -1823,7 +1823,7 @@
 b__MA11hajvaqfgnpx8Hajvaqre11FrgWvgQrohtRCAF_8WvgQrohtRAF_8NepuRahzR:
 nop
 .data
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR17xBcUnaqyrShapYvfgR
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR17xBcUnaqyrShapYvfgR
 .type b__MA11hajvaqfgnpx7QjnesBcVzR17xBcUnaqyrShapYvfgR,%object
 b__MA11hajvaqfgnpx7QjnesBcVzR17xBcUnaqyrShapYvfgR:
 .space __SIZEOF_POINTER__
@@ -1833,27 +1833,27 @@
 b__MA11hajvaqfgnpx7ErtfK866frg_cpRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR11psn_erfgberRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR11psn_erfgberRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR11psn_erfgberRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR11psn_erfgberRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR18psn_iny_rkcerffvbaRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR18psn_iny_rkcerffvbaRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR18psn_iny_rkcerffvbaRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR18psn_iny_rkcerffvbaRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR15TrgArkgPvrBeSqrRCCXAF_8QjnesSqrR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR15TrgArkgPvrBeSqrRCCXAF_8QjnesSqrR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR15TrgArkgPvrBeSqrRCCXAF_8QjnesSqrR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR15TrgArkgPvrBeSqrRCCXAF_8QjnesSqrR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR18TrgSqrBssfrgSebzCpRzCz
+.weak b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR18TrgSqrBssfrgSebzCpRzCz
 .type b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR18TrgSqrBssfrgSebzCpRzCz,%function
 b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR18TrgSqrBssfrgSebzCpRzCz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR7bc_oertRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR7bc_oertRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR7bc_oertRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR7bc_oertRi:
 nop
@@ -1863,7 +1863,7 @@
 b__MA11hajvaqfgnpx7ZncVasb19TrgCevagnoyrOhvyqVQRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCzAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCzAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_
 .type b__MAFg3__114__fcyvg_ohssreVCzAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCzAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_:
 nop
@@ -1873,12 +1873,12 @@
 b__MA11hajvaqfgnpx3ybtRuCXpm:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR14YbtVafgehpgvbaRwzuCz
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR14YbtVafgehpgvbaRwzuCz
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR14YbtVafgehpgvbaRwzuCz,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR14YbtVafgehpgvbaRwzuCz:
 nop
 .text
-.globl b__MAFg3__15qrdhrVzAF_9nyybpngbeVzRRR20__nqq_sebag_pncnpvglRi
+.weak b__MAFg3__15qrdhrVzAF_9nyybpngbeVzRRR20__nqq_sebag_pncnpvglRi
 .type b__MAFg3__15qrdhrVzAF_9nyybpngbeVzRRR20__nqq_sebag_pncnpvglRi,%function
 b__MAFg3__15qrdhrVzAF_9nyybpngbeVzRRR20__nqq_sebag_pncnpvglRi:
 nop
@@ -1893,12 +1893,12 @@
 b__MA11hajvaqfgnpx7ErtfK864ErnqRCi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVzAF_4cnveVzCXA11hajvaqfgnpx8QjnesSqrRRRRRAF_19__znc_inyhr_pbzcnerVzF8_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVzAF_4cnveVzCXA11hajvaqfgnpx8QjnesSqrRRRRRAF_19__znc_inyhr_pbzcnerVzF8_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVzAF_4cnveVzCXA11hajvaqfgnpx8QjnesSqrRRRRRAF_19__znc_inyhr_pbzcnerVzF8_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVzAF_4cnveVzCXA11hajvaqfgnpx8QjnesSqrRRRRRAF_19__znc_inyhr_pbzcnerVzF8_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR5bc_trRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR5bc_trRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR5bc_trRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR5bc_trRi:
 nop
@@ -1913,7 +1913,7 @@
 b__MA11hajvaqfgnpx7ZncVasbQ1Ri:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx17QrkSvyrSebzZrzbelR
+.weak b__MGIA11hajvaqfgnpx17QrkSvyrSebzZrzbelR
 .type b__MGIA11hajvaqfgnpx17QrkSvyrSebzZrzbelR,%object
 b__MGIA11hajvaqfgnpx17QrkSvyrSebzZrzbelR:
 .space __SIZEOF_POINTER__
@@ -1923,7 +1923,7 @@
 b__MA11hajvaqfgnpx8QrkSvyrf11ErnqRagel64Ri:
 nop
 .text
-.globl b__MA11hajvaqfgnpx11QjnesZrzbel14TrgRapbqrqFvmrVzRRzu
+.weak b__MA11hajvaqfgnpx11QjnesZrzbel14TrgRapbqrqFvmrVzRRzu
 .type b__MA11hajvaqfgnpx11QjnesZrzbel14TrgRapbqrqFvmrVzRRzu,%function
 b__MA11hajvaqfgnpx11QjnesZrzbel14TrgRapbqrqFvmrVzRRzu:
 nop
@@ -1933,27 +1933,27 @@
 b__MA11hajvaqfgnpx18ZrzbelBssyvarCnegfQ2Ri:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR11psn_qrs_psnRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR11psn_qrs_psnRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR11psn_qrs_psnRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR11psn_qrs_psnRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR7psn_abcRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR7psn_abcRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR7psn_abcRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR7psn_abcRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR6bc_yvgRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR6bc_yvgRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR6bc_yvgRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR6bc_yvgRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCzAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCzAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
 .type b__MAFg3__114__fcyvg_ohssreVCzAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCzAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12QjnesRuSenzrVwRP1RCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx12QjnesRuSenzrVwRP1RCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx12QjnesRuSenzrVwRP1RCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx12QjnesRuSenzrVwRP1RCAF_6ZrzbelR:
 nop
@@ -1968,17 +1968,17 @@
 b__MA11hajvaqfgnpx8ErtfZvcf2cpRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCuAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCuAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_
 .type b__MAFg3__114__fcyvg_ohssreVCuAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCuAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR11psn_erfgberRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR11psn_erfgberRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR11psn_erfgberRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR11psn_erfgberRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR6bc_abcRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR6bc_abcRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR6bc_abcRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR6bc_abcRi:
 nop
@@ -1998,22 +1998,22 @@
 b__MGIA11hajvaqfgnpx10OhssreZncfR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR14psn_iny_bssfrgRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR14psn_iny_bssfrgRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR14psn_iny_bssfrgRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR14psn_iny_bssfrgRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR12BcrenaqfFvmrRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR12BcrenaqfFvmrRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR12BcrenaqfFvmrRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR12BcrenaqfFvmrRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR4svaqVF7_RRAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFR_CiRRRREXG_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR4svaqVF7_RRAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFR_CiRRRREXG_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR4svaqVF7_RRAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFR_CiRRRREXG_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR4svaqVF7_RRAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFR_CiRRRREXG_:
 nop
@@ -2033,22 +2033,22 @@
 b__MA11hajvaqfgnpx8NezRkvqk16RkgenpgRagelQngnRw:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR10ynfg_reebeRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR10ynfg_reebeRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR10ynfg_reebeRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR10ynfg_reebeRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR6bc_qhcRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR6bc_qhcRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR6bc_qhcRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR6bc_qhcRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR7bc_bireRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR7bc_bireRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR7bc_bireRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR7bc_bireRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx15QjnesQrohtSenzrVzRP2RCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx15QjnesQrohtSenzrVzRP2RCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx15QjnesQrohtSenzrVzRP2RCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx15QjnesQrohtSenzrVzRP2RCAF_6ZrzbelR:
 nop
@@ -2073,7 +2073,7 @@
 b__MA11hajvaqfgnpx8WvgQrohtP1REAFg3__110funerq_cgeVAF_6ZrzbelRRREAF1_6irpgbeVAF1_12onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRAFN_VFP_RRRR:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelPnpurRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
+.weak b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelPnpurRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
 .type b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelPnpurRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR,%object
 b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelPnpurRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR:
 .space __SIZEOF_POINTER__
@@ -2103,12 +2103,12 @@
 b__MA11hajvaqfgnpx8QrkSvyrfQ1Ri:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR11psn_qrs_psnRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR11psn_qrs_psnRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR11psn_qrs_psnRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR11psn_qrs_psnRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR32psn_tah_artngvir_bssfrg_rkgraqrqRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR32psn_tah_artngvir_bssfrg_rkgraqrqRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR32psn_tah_artngvir_bssfrg_rkgraqrqRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR32psn_tah_artngvir_bssfrg_rkgraqrqRCAF_14QjnesYbpngvbafR:
 nop
@@ -2118,17 +2118,17 @@
 b__MA11hajvaqfgnpx13ZrzbelBssyvar4ErnqRzCiz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR10TrgYbtVasbRzzCAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRR
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR10TrgYbtVasbRzzCAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRR
 .type b__MA11hajvaqfgnpx7QjnesBcVwR10TrgYbtVasbRzzCAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRR,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR10TrgYbtVasbRzzCAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR12psn_ertvfgreRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR12psn_ertvfgreRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR12psn_ertvfgreRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR12psn_ertvfgreRCAF_14QjnesYbpngvbafR:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx14RysVagresnpr32R
+.weak b__MGIA11hajvaqfgnpx14RysVagresnpr32R
 .type b__MGIA11hajvaqfgnpx14RysVagresnpr32R,%object
 b__MGIA11hajvaqfgnpx14RysVagresnpr32R:
 .space __SIZEOF_POINTER__
@@ -2138,37 +2138,37 @@
 b__MA11hajvaqfgnpx7ErtfK866frg_fcRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR18psn_erzrzore_fgngrRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR18psn_erzrzore_fgngrRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR18psn_erzrzore_fgngrRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR18psn_erzrzore_fgngrRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR13YnfgReebePbqrRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR13YnfgReebePbqrRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR13YnfgReebePbqrRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR13YnfgReebePbqrRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVuvRRAF_19__znc_inyhr_pbzcnerVuF2_AF_4yrffVuRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVuvRRAF_19__znc_inyhr_pbzcnerVuF2_AF_4yrffVuRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVuvRRAF_19__znc_inyhr_pbzcnerVuF2_AF_4yrffVuRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVuvRRAF_19__znc_inyhr_pbzcnerVuF2_AF_4yrffVuRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCA11hajvaqfgnpx14QjnesYbpngvbafREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
+.weak b__MAFg3__114__fcyvg_ohssreVCA11hajvaqfgnpx14QjnesYbpngvbafREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_
 .type b__MAFg3__114__fcyvg_ohssreVCA11hajvaqfgnpx14QjnesYbpngvbafREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_,%function
 b__MAFg3__114__fcyvg_ohssreVCA11hajvaqfgnpx14QjnesYbpngvbafREAF_9nyybpngbeVF3_RRR10chfu_sebagREXF3_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR6bc_zbqRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR6bc_zbqRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR6bc_zbqRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR6bc_zbqRi:
 nop
 .text
-.globl b__MAFg3__15qrdhrVwAF_9nyybpngbeVwRRR20__nqq_sebag_pncnpvglRi
+.weak b__MAFg3__15qrdhrVwAF_9nyybpngbeVwRRR20__nqq_sebag_pncnpvglRi
 .type b__MAFg3__15qrdhrVwAF_9nyybpngbeVwRRR20__nqq_sebag_pncnpvglRi,%function
 b__MAFg3__15qrdhrVwAF_9nyybpngbeVwRRR20__nqq_sebag_pncnpvglRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesPvrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_:
 nop
@@ -2183,7 +2183,7 @@
 b__MA11hajvaqfgnpx7ZncVasb10TrgOhvyqVQRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR7bc_fxvcRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR7bc_fxvcRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR7bc_fxvcRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR7bc_fxvcRi:
 nop
@@ -2198,7 +2198,7 @@
 b__MA11hajvaqfgnpx12ZrzbelEnatrf6VafregRCAF_11ZrzbelEnatrR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeVA11hajvaqfgnpx7ZncVasbRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR8__nccraqRz
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeVA11hajvaqfgnpx7ZncVasbRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR8__nccraqRz
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeVA11hajvaqfgnpx7ZncVasbRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR8__nccraqRz,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeVA11hajvaqfgnpx7ZncVasbRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR8__nccraqRz:
 nop
@@ -2208,22 +2208,22 @@
 b__MA11hajvaqfgnpx19ZrzbelBssyvarOhssreP2RCXuzz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR14__renfr_havdhrVwRRzEXG_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR14__renfr_havdhrVwRRzEXG_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR14__renfr_havdhrVwRRzEXG_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR14__renfr_havdhrVwRRzEXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCXA11hajvaqfgnpx8QjnesSqrRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
+.weak b__MAFg3__16irpgbeVCXA11hajvaqfgnpx8QjnesSqrRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
 .type b__MAFg3__16irpgbeVCXA11hajvaqfgnpx8QjnesSqrRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_,%function
 b__MAFg3__16irpgbeVCXA11hajvaqfgnpx8QjnesSqrRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzRP1RCAF_11QjnesZrzbelRCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx7QjnesBcVzRP1RCAF_11QjnesZrzbelRCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx7QjnesBcVzRP1RCAF_11QjnesZrzbelRCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx7QjnesBcVzRP1RCAF_11QjnesZrzbelRCAF_6ZrzbelR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr23VavgUrnqrefJvguGrzcyngrVzRRii
+.weak b__MA11hajvaqfgnpx12RysVagresnpr23VavgUrnqrefJvguGrzcyngrVzRRii
 .type b__MA11hajvaqfgnpx12RysVagresnpr23VavgUrnqrefJvguGrzcyngrVzRRii,%function
 b__MA11hajvaqfgnpx12RysVagresnpr23VavgUrnqrefJvguGrzcyngrVzRRii:
 nop
@@ -2238,22 +2238,22 @@
 b__MA11hajvaqfgnpx7ZncVasb15TrgShapgvbaAnzrRzCAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRCz:
 nop
 .data
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR14xPnyyonpxGnoyrR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR14xPnyyonpxGnoyrR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR14xPnyyonpxGnoyrR,%object
 b__MA11hajvaqfgnpx8QjnesPsnVwR14xPnyyonpxGnoyrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCXA11hajvaqfgnpx8QjnesSqrRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
+.weak b__MAFg3__16irpgbeVCXA11hajvaqfgnpx8QjnesSqrRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_
 .type b__MAFg3__16irpgbeVCXA11hajvaqfgnpx8QjnesSqrRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_,%function
 b__MAFg3__16irpgbeVCXA11hajvaqfgnpx8QjnesSqrRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVF4_RRiBG_:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx15QjnesQrohtSenzrVzRR
+.weak b__MGIA11hajvaqfgnpx15QjnesQrohtSenzrVzRR
 .type b__MGIA11hajvaqfgnpx15QjnesQrohtSenzrVzRR,%object
 b__MGIA11hajvaqfgnpx15QjnesQrohtSenzrVzRR:
 .space __SIZEOF_POINTER__
@@ -2268,12 +2268,12 @@
 b__MA11hajvaqfgnpx10ErtfZvcf644NepuRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR6bc_ebgRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR6bc_ebgRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR6bc_ebgRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR6bc_ebgRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_4cnveVzzRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_4cnveVzzRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVAF_4cnveVzzRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_4cnveVzzRRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
@@ -2293,7 +2293,7 @@
 b__MA11hajvaqfgnpx8QrkSvyrfP2REAFg3__110funerq_cgeVAF_6ZrzbelRRREAF1_6irpgbeVAF1_12onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRAFN_VFP_RRRR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR19TrgSqrVasbSebzVaqrkRz
+.weak b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR19TrgSqrVasbSebzVaqrkRz
 .type b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR19TrgSqrVasbSebzVaqrkRz,%function
 b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR19TrgSqrVasbSebzVaqrkRz:
 nop
@@ -2303,17 +2303,17 @@
 b__MA11hajvaqfgnpx7ErtfK8616VgrengrErtvfgrefRAFg3__18shapgvbaVSiCXpzRRR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR22psn_bssfrg_rkgraqrq_fsRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR22psn_bssfrg_rkgraqrq_fsRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR22psn_bssfrg_rkgraqrq_fsRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR22psn_bssfrg_rkgraqrq_fsRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR23YbtBssfrgErtvfgreFgevatRwzu
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR23YbtBssfrgErtvfgreFgevatRwzu
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR23YbtBssfrgErtvfgreFgevatRwzu,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR23YbtBssfrgErtvfgreFgevatRwzu:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr14ErnqNyyUrnqrefV9rys32_uqe10rys32_cuqe10rys32_fuqeRRoCy
+.weak b__MA11hajvaqfgnpx12RysVagresnpr14ErnqNyyUrnqrefV9rys32_uqe10rys32_cuqe10rys32_fuqeRRoCy
 .type b__MA11hajvaqfgnpx12RysVagresnpr14ErnqNyyUrnqrefV9rys32_uqe10rys32_cuqe10rys32_fuqeRRoCy,%function
 b__MA11hajvaqfgnpx12RysVagresnpr14ErnqNyyUrnqrefV9rys32_uqe10rys32_cuqe10rys32_fuqeRRoCy:
 nop
@@ -2338,22 +2338,22 @@
 b__MA11hajvaqfgnpx6Zrzbel16PerngrSvyrZrzbelREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx11QjnesZrzbel16ErnqRapbqrqInyhrVzRRouCz
+.weak b__MA11hajvaqfgnpx11QjnesZrzbel16ErnqRapbqrqInyhrVzRRouCz
 .type b__MA11hajvaqfgnpx11QjnesZrzbel16ErnqRapbqrqInyhrVzRRouCz,%function
 b__MA11hajvaqfgnpx11QjnesZrzbel16ErnqRapbqrqInyhrVzRRouCz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR19TrgSqrVasbSebzVaqrkRz
+.weak b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR19TrgSqrVasbSebzVaqrkRz
 .type b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR19TrgSqrVasbSebzVaqrkRz,%function
 b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR19TrgSqrVasbSebzVaqrkRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR5bc_trRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR5bc_trRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR5bc_trRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR5bc_trRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_
 .type b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCwAF_9nyybpngbeVF1_RRR10chfu_sebagREXF1_:
 nop
@@ -2363,7 +2363,7 @@
 b__MA11hajvaqfgnpx12RysVagresnpr24PerngrTahQrohtqngnZrzbelRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8YbnqVasbRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8YbnqVasbRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8YbnqVasbRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8YbnqVasbRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz:
 nop
@@ -2373,12 +2373,12 @@
 b__MA11hajvaqfgnpx8QrkSvyrfP1REAFg3__110funerq_cgeVAF_6ZrzbelRRREAF1_6irpgbeVAF1_12onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRAFN_VFP_RRRR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwRP1RCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwRP1RCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwRP1RCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwRP1RCAF_6ZrzbelR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR7bc_cvpxRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR7bc_cvpxRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR7bc_cvpxRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR7bc_cvpxRi:
 nop
@@ -2393,7 +2393,7 @@
 b__MGIA11hajvaqfgnpx11ZrzbelEnatrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx19ZrzbelBssyvarOhssreRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
+.weak b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx19ZrzbelBssyvarOhssreRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
 .type b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx19ZrzbelBssyvarOhssreRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR,%object
 b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx19ZrzbelBssyvarOhssreRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR:
 .space __SIZEOF_POINTER__
@@ -2403,17 +2403,17 @@
 b__MA11hajvaqfgnpx13YbpnyHajvaqre17FubhyqFxvcYvoenelREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR6bc_artRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR6bc_artRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR6bc_artRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR6bc_artRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx14TrgOhvyqVQVasbV9rys64_uqe10rys64_fuqeRRoCAF_6ZrzbelRCzF5_
+.weak b__MA11hajvaqfgnpx14TrgOhvyqVQVasbV9rys64_uqe10rys64_fuqeRRoCAF_6ZrzbelRCzF5_
 .type b__MA11hajvaqfgnpx14TrgOhvyqVQVasbV9rys64_uqe10rys64_fuqeRRoCAF_6ZrzbelRCzF5_,%function
 b__MA11hajvaqfgnpx14TrgOhvyqVQVasbV9rys64_uqe10rys64_fuqeRRoCAF_6ZrzbelRCzF5_:
 nop
@@ -2423,7 +2423,7 @@
 b__MGIA11hajvaqfgnpx11ZrzbelPnpurR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx12ZrzbelErzbgrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
+.weak b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx12ZrzbelErzbgrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR
 .type b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx12ZrzbelErzbgrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR,%object
 b__MGIAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx12ZrzbelErzbgrRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRRR:
 .space __SIZEOF_POINTER__
@@ -2433,12 +2433,12 @@
 b__MA11hajvaqfgnpx13YbpnyHajvaqre4VavgRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR14psn_iny_bssfrgRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR14psn_iny_bssfrgRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR14psn_iny_bssfrgRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR14psn_iny_bssfrgRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MAFg3__15qrdhrVA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrVA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrVA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrVA11hajvaqfgnpx14QjnesYbpngvbafRAF_9nyybpngbeVF2_RRR19__nqq_onpx_pncnpvglRi:
 nop
@@ -2448,7 +2448,7 @@
 b__MA11hajvaqfgnpx12ZrzbelEnatrf4ErnqRzCiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF3_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF3_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF3_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF3_CiRRRR:
 nop
@@ -2458,17 +2458,17 @@
 b__MA11hajvaqfgnpx9ErtfNez644ErnqRCi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRR
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRR
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRR,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR6erzbirRAF_21__unfu_pbafg_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR16TrgPvrSebzBssfrgRz
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR16TrgPvrSebzBssfrgRz
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR16TrgPvrSebzBssfrgRz,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR16TrgPvrSebzBssfrgRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys32_flzRRozCAF_6ZrzbelRCAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCz
+.weak b__MA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys32_flzRRozCAF_6ZrzbelRCAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCz
 .type b__MA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys32_flzRRozCAF_6ZrzbelRCAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCz,%function
 b__MA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys32_flzRRozCAF_6ZrzbelRCAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCz:
 nop
@@ -2478,7 +2478,7 @@
 b__MGIA11hajvaqfgnpx12ZrzbelEnatrfR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz:
 nop
@@ -2503,22 +2503,22 @@
 b__MA11hajvaqfgnpx18ZrzbelBssyvarCnegf4ErnqRzCiz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR10psn_bssfrgRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR10psn_bssfrgRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR10psn_bssfrgRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR10psn_bssfrgRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR9BcrenaqNgRz
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR9BcrenaqNgRz
 .type b__MA11hajvaqfgnpx7QjnesBcVzR9BcrenaqNgRz,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR9BcrenaqNgRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR15SvyyVaSqrUrnqreRCAF_8QjnesSqrR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR15SvyyVaSqrUrnqreRCAF_8QjnesSqrR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR15SvyyVaSqrUrnqreRCAF_8QjnesSqrR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR15SvyyVaSqrUrnqreRCAF_8QjnesSqrR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_:
 nop
@@ -2538,42 +2538,42 @@
 b__MA11hajvaqfgnpx8NezRkvqk4RinyRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR14psn_rkcerffvbaRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR14psn_rkcerffvbaRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR14psn_rkcerffvbaRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR14psn_rkcerffvbaRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR3YbtRwzzz
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR3YbtRwzzz
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR3YbtRwzzz,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR3YbtRwzzz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFZ_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF6_CiRRRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR9BcrenaqNgRz
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR9BcrenaqNgRz
 .type b__MA11hajvaqfgnpx7QjnesBcVwR9BcrenaqNgRz,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR9BcrenaqNgRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR13frg_ertf_vasbRCAF_8ErtfVasbVzRR
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR13frg_ertf_vasbRCAF_8ErtfVasbVzRR
 .type b__MA11hajvaqfgnpx7QjnesBcVzR13frg_ertf_vasbRCAF_8ErtfVasbVzRR,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR13frg_ertf_vasbRCAF_8ErtfVasbVzRR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR5bc_yrRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR5bc_yrRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR5bc_yrRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR5bc_yrRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR9SvyyVaSqrRCAF_8QjnesSqrR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR9SvyyVaSqrRCAF_8QjnesSqrR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR9SvyyVaSqrRCAF_8QjnesSqrR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR9SvyyVaSqrRCAF_8QjnesSqrR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7Flzobyf9TrgTybonyV9rys32_flzRRoCAF_6ZrzbelREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCz
+.weak b__MA11hajvaqfgnpx7Flzobyf9TrgTybonyV9rys32_flzRRoCAF_6ZrzbelREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCz
 .type b__MA11hajvaqfgnpx7Flzobyf9TrgTybonyV9rys32_flzRRoCAF_6ZrzbelREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCz,%function
 b__MA11hajvaqfgnpx7Flzobyf9TrgTybonyV9rys32_flzRRoCAF_6ZrzbelREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRCz:
 nop
@@ -2583,7 +2583,7 @@
 b__MA11hajvaqfgnpx7ErtfNezP1Ri:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR4RinyRzz
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR4RinyRzz
 .type b__MA11hajvaqfgnpx7QjnesBcVzR4RinyRzz,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR4RinyRzz:
 nop
@@ -2598,17 +2598,17 @@
 b___pkn_qrznatyr:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR14YbtVafgehpgvbaRwzuCz
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR14YbtVafgehpgvbaRwzuCz
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR14YbtVafgehpgvbaRwzuCz,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR14YbtVafgehpgvbaRwzuCz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR16YnfgReebeNqqerffRi
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR16YnfgReebeNqqerffRi
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR16YnfgReebeNqqerffRi,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR16YnfgReebeNqqerffRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr27TrgShapgvbaAnzrJvguGrzcyngrV9rys32_flzRRozCAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCz
+.weak b__MA11hajvaqfgnpx12RysVagresnpr27TrgShapgvbaAnzrJvguGrzcyngrV9rys32_flzRRozCAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCz
 .type b__MA11hajvaqfgnpx12RysVagresnpr27TrgShapgvbaAnzrJvguGrzcyngrV9rys32_flzRRozCAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCz,%function
 b__MA11hajvaqfgnpx12RysVagresnpr27TrgShapgvbaAnzrJvguGrzcyngrV9rys32_flzRRozCAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCz:
 nop
@@ -2618,7 +2618,7 @@
 b__MA11hajvaqfgnpx9ErtfNez646frg_cpRz:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx8ErtfVzcyVzRR
+.weak b__MGIA11hajvaqfgnpx8ErtfVzcyVzRR
 .type b__MGIA11hajvaqfgnpx8ErtfVzcyVzRR,%object
 b__MGIA11hajvaqfgnpx8ErtfVzcyVzRR:
 .space __SIZEOF_POINTER__
@@ -2628,7 +2628,7 @@
 b__MA11hajvaqfgnpx11QjnesZrzbel9ErnqOlgrfRCiz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR6bc_yvgRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR6bc_yvgRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR6bc_yvgRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR6bc_yvgRi:
 nop
@@ -2638,22 +2638,22 @@
 b__MA11hajvaqfgnpx4Zncf4SvaqRz:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx7QjnesBcVzRR
+.weak b__MGIA11hajvaqfgnpx7QjnesBcVzRR
 .type b__MGIA11hajvaqfgnpx7QjnesBcVzRR,%object
 b__MGIA11hajvaqfgnpx7QjnesBcVzRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA11hajvaqfgnpx8QjnesPsnVzRR
+.weak b__MGIA11hajvaqfgnpx8QjnesPsnVzRR
 .type b__MGIA11hajvaqfgnpx8QjnesPsnVzRR,%object
 b__MGIA11hajvaqfgnpx8QjnesPsnVzRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR16YnfgReebeNqqerffRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR16YnfgReebeNqqerffRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR16YnfgReebeNqqerffRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR16YnfgReebeNqqerffRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR18bc_abg_vzcyrzragrqRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR18bc_abg_vzcyrzragrqRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR18bc_abg_vzcyrzragrqRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR18bc_abg_vzcyrzragrqRi:
 nop
@@ -2683,12 +2683,12 @@
 b__MA11hajvaqfgnpx9ErtfNez6416VgrengrErtvfgrefRAFg3__18shapgvbaVSiCXpzRRR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR13YnfgReebePbqrRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR13YnfgReebePbqrRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR13YnfgReebePbqrRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR13YnfgReebePbqrRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx15QjnesQrohtSenzrVwRP1RCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx15QjnesQrohtSenzrVwRP1RCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx15QjnesQrohtSenzrVwRP1RCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx15QjnesQrohtSenzrVwRP1RCAF_6ZrzbelR:
 nop
@@ -2703,27 +2703,27 @@
 b__MA11hajvaqfgnpx7ErtfNez19FgrcVsFvtanyUnaqyreRzCAF_3RysRCAF_6ZrzbelR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR10ynfg_reebeRi
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR10ynfg_reebeRi
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR10ynfg_reebeRi,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR10ynfg_reebeRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzN4096_uRRAF_22__habeqrerq_znc_unfureVzF3_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF3_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF3_RRR6erunfuRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7TrgSqrfRCAFg3__16irpgbeVCXAF_8QjnesSqrRAF2_9nyybpngbeVF6_RRRR
+.weak b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7TrgSqrfRCAFg3__16irpgbeVCXAF_8QjnesSqrRAF2_9nyybpngbeVF6_RRRR
 .type b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7TrgSqrfRCAFg3__16irpgbeVCXAF_8QjnesSqrRAF2_9nyybpngbeVF6_RRRR,%function
 b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR7TrgSqrfRCAFg3__16irpgbeVCXAF_8QjnesSqrRAF2_9nyybpngbeVF6_RRRR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR6erunfuRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr22TrgZnkFvmrJvguGrzcyngrV9rys32_uqeRRiCAF_6ZrzbelRCz
+.weak b__MA11hajvaqfgnpx12RysVagresnpr22TrgZnkFvmrJvguGrzcyngrV9rys32_uqeRRiCAF_6ZrzbelRCz
 .type b__MA11hajvaqfgnpx12RysVagresnpr22TrgZnkFvmrJvguGrzcyngrV9rys32_uqeRRiCAF_6ZrzbelRCz,%function
 b__MA11hajvaqfgnpx12RysVagresnpr22TrgZnkFvmrJvguGrzcyngrV9rys32_uqeRRiCAF_6ZrzbelRCz:
 nop
@@ -2733,12 +2733,12 @@
 b__MA11hajvaqfgnpx4Ertf15PerngrSebzYbpnyRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR16frg_pvr_ybp_ertfRCXAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR16frg_pvr_ybp_ertfRCXAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR16frg_pvr_ybp_ertfRCXAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR16frg_pvr_ybp_ertfRCXAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR7bc_fxvcRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR7bc_fxvcRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR7bc_fxvcRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR7bc_fxvcRi:
 nop
@@ -2748,47 +2748,47 @@
 b__MA11hajvaqfgnpx10ErtfK86_6419FgrcVsFvtanyUnaqyreRzCAF_3RysRCAF_6ZrzbelR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR3YbtRuzCXAF_8QjnesSqrR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR3YbtRuzCXAF_8QjnesSqrR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR3YbtRuzCXAF_8QjnesSqrR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR3YbtRuzCXAF_8QjnesSqrR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR7bc_fjncRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR7bc_fjncRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR7bc_fjncRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR7bc_fjncRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR8bc_zvahfRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR8bc_zvahfRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR8bc_zvahfRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR8bc_zvahfRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR10qrk_cp_frgRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR10qrk_cp_frgRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR10qrk_cp_frgRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR10qrk_cp_frgRi:
 nop
 .text
-.globl b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys64_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRoG0_FY_G_
+.weak b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys64_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRoG0_FY_G_
 .type b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys64_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRoG0_FY_G_,%function
 b__MAFg3__127__vafregvba_fbeg_vapbzcyrgrVEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys64_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRoG0_FY_G_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR11RuSenzrVavgRzzy
+.weak b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR11RuSenzrVavgRzzy
 .type b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR11RuSenzrVavgRzzy,%function
 b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR11RuSenzrVavgRzzy:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR6bc_oenRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR6bc_oenRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR6bc_oenRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR6bc_oenRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR15SvyyVaPvrUrnqreRCAF_8QjnesPvrR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR15SvyyVaPvrUrnqreRCAF_8QjnesPvrR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR15SvyyVaPvrUrnqreRCAF_8QjnesPvrR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR15SvyyVaPvrUrnqreRCAF_8QjnesPvrR:
 nop
@@ -2798,32 +2798,32 @@
 b__MA11hajvaqfgnpx8WvgQrohtP1REAFg3__110funerq_cgeVAF_6ZrzbelRRR:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx19ZrzbelBssyvarOhssreRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx19ZrzbelBssyvarOhssreRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx19ZrzbelBssyvarOhssreRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx19ZrzbelBssyvarOhssreRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi:
 nop
 .data
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR14xPnyyonpxGnoyrR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR14xPnyyonpxGnoyrR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR14xPnyyonpxGnoyrR,%object
 b__MA11hajvaqfgnpx8QjnesPsnVzR14xPnyyonpxGnoyrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR4VavgRzzy
+.weak b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR4VavgRzzy
 .type b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR4VavgRzzy,%function
 b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR4VavgRzzy:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR10ynfg_reebeRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR10ynfg_reebeRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR10ynfg_reebeRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR10ynfg_reebeRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR5bc_arRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR5bc_arRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR5bc_arRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR5bc_arRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr11TrgYbnqOvnfV9rys64_uqe10rys64_cuqeRRyCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx12RysVagresnpr11TrgYbnqOvnfV9rys64_uqe10rys64_cuqeRRyCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx12RysVagresnpr11TrgYbnqOvnfV9rys64_uqe10rys64_cuqeRRyCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx12RysVagresnpr11TrgYbnqOvnfV9rys64_uqe10rys64_cuqeRRyCAF_6ZrzbelR:
 nop
@@ -2833,7 +2833,7 @@
 b__MA11hajvaqfgnpx7ErtfK864NepuRi:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx12QjnesFrpgvbaR
+.weak b__MGIA11hajvaqfgnpx12QjnesFrpgvbaR
 .type b__MGIA11hajvaqfgnpx12QjnesFrpgvbaR,%object
 b__MGIA11hajvaqfgnpx12QjnesFrpgvbaR:
 .space __SIZEOF_POINTER__
@@ -2848,7 +2848,7 @@
 b__MA11hajvaqfgnpx11ZrzbelEnatrP2REXAFg3__110funerq_cgeVAF_6ZrzbelRRRzzz:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelPnpurRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelPnpurRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelPnpurRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx11ZrzbelPnpurRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -2863,12 +2863,12 @@
 b__MA11hajvaqfgnpx4Ertf18PerngrSebzHpbagrkgRAF_8NepuRahzRCi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR4RinyRzz
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR4RinyRzz
 .type b__MA11hajvaqfgnpx7QjnesBcVwR4RinyRzz,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR4RinyRzz:
 nop
 .data
-.globl b__MGIAFg3__120__funerq_cge_rzcynprVA11hajvaqfgnpx18ZrzbelSvyrNgBssfrgRAF_9nyybpngbeVF2_RRRR
+.weak b__MGIAFg3__120__funerq_cge_rzcynprVA11hajvaqfgnpx18ZrzbelSvyrNgBssfrgRAF_9nyybpngbeVF2_RRRR
 .type b__MGIAFg3__120__funerq_cge_rzcynprVA11hajvaqfgnpx18ZrzbelSvyrNgBssfrgRAF_9nyybpngbeVF2_RRRR,%object
 b__MGIAFg3__120__funerq_cge_rzcynprVA11hajvaqfgnpx18ZrzbelSvyrNgBssfrgRAF_9nyybpngbeVF2_RRRR:
 .space __SIZEOF_POINTER__
@@ -2878,12 +2878,12 @@
 b__MA11hajvaqfgnpx10ErtfK86_646frg_cpRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR18obby_gb_qjnes_obbyRo
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR18obby_gb_qjnes_obbyRo
 .type b__MA11hajvaqfgnpx7QjnesBcVzR18obby_gb_qjnes_obbyRo,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR18obby_gb_qjnes_obbyRo:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR5bc_beRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR5bc_beRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR5bc_beRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR5bc_beRi:
 nop
@@ -2898,22 +2898,22 @@
 b__MA11hajvaqfgnpx8Hajvaqre11FrgQrkSvyrfRCAF_8QrkSvyrfRAF_8NepuRahzR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR22psn_qrs_psn_rkcerffvbaRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR22psn_qrs_psn_rkcerffvbaRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR22psn_qrs_psn_rkcerffvbaRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR22psn_qrs_psn_rkcerffvbaRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR12TrgSqrSebzCpRz
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR12TrgSqrSebzCpRz
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR12TrgSqrSebzCpRz,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR12TrgSqrSebzCpRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7TrgSqrfRCAFg3__16irpgbeVCXAF_8QjnesSqrRAF2_9nyybpngbeVF6_RRRR
+.weak b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7TrgSqrfRCAFg3__16irpgbeVCXAF_8QjnesSqrRAF2_9nyybpngbeVF6_RRRR
 .type b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7TrgSqrfRCAFg3__16irpgbeVCXAF_8QjnesSqrRAF2_9nyybpngbeVF6_RRRR,%function
 b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7TrgSqrfRCAFg3__16irpgbeVCXAF_8QjnesSqrRAF2_9nyybpngbeVF6_RRRR:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx19ZrzbelBssyvarOhssreRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx19ZrzbelBssyvarOhssreRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx19ZrzbelBssyvarOhssreRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx19ZrzbelBssyvarOhssreRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi:
 nop
@@ -2933,7 +2933,7 @@
 b__MA11hajvaqfgnpx10ErtfZvcf646frg_cpRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR7bc_cvpxRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR7bc_cvpxRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR7bc_cvpxRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR7bc_cvpxRi:
 nop
@@ -2948,17 +2948,17 @@
 b__MA11hajvaqfgnpx3Rys8PnpurTrgRCAF_7ZncVasbR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXwRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXwRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXwRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwA11hajvaqfgnpx13QjnesYbpngvbaRRRAF_22__habeqrerq_znc_unfureVwF4_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF4_AF_8rdhny_gbVwRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXwRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8YbnqVasbRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBzRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8YbnqVasbRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBzRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8YbnqVasbRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBzRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8YbnqVasbRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBzRRRAFX_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF4_CiRRRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR14erthyne_zrzbelRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR14erthyne_zrzbelRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR14erthyne_zrzbelRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR14erthyne_zrzbelRi:
 nop
@@ -2968,32 +2968,32 @@
 b__MGIA11hajvaqfgnpx8ErtfZvcfR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR14psn_rkcerffvbaRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR14psn_rkcerffvbaRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR14psn_rkcerffvbaRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR14psn_rkcerffvbaRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR7TrgSqrfRCAFg3__16irpgbeVCXAF_8QjnesSqrRAF2_9nyybpngbeVF6_RRRR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR7TrgSqrfRCAFg3__16irpgbeVCXAF_8QjnesSqrRAF2_9nyybpngbeVF6_RRRR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR7TrgSqrfRCAFg3__16irpgbeVCXAF_8QjnesSqrRAF2_9nyybpngbeVF6_RRRR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR7TrgSqrfRCAFg3__16irpgbeVCXAF_8QjnesSqrRAF2_9nyybpngbeVF6_RRRR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR5bc_yrRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR5bc_yrRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR5bc_yrRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR5bc_yrRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR6QrpbqrRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR6QrpbqrRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR6QrpbqrRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR6QrpbqrRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR14bc_cyhf_hpbafgRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR14bc_cyhf_hpbafgRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR14bc_cyhf_hpbafgRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR14bc_cyhf_hpbafgRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR5bc_tgRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR5bc_tgRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR5bc_tgRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR5bc_tgRi:
 nop
@@ -3013,12 +3013,12 @@
 b__MA11hajvaqfgnpx18ZrzbelSvyrNgBssfrg4VavgREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRzz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzRP2RCAF_11QjnesZrzbelRCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx7QjnesBcVzRP2RCAF_11QjnesZrzbelRCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx7QjnesBcVzRP2RCAF_11QjnesZrzbelRCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx7QjnesBcVzRP2RCAF_11QjnesZrzbelRCAF_6ZrzbelR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR14RinyRkcerffvbaREXAF_13QjnesYbpngvbaRCAF_6ZrzbelRCwCAF_8ErtfVasbVwRRCo
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR14RinyRkcerffvbaREXAF_13QjnesYbpngvbaRCAF_6ZrzbelRCwCAF_8ErtfVasbVwRRCo
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR14RinyRkcerffvbaREXAF_13QjnesYbpngvbaRCAF_6ZrzbelRCwCAF_8ErtfVasbVwRRCo,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR14RinyRkcerffvbaREXAF_13QjnesYbpngvbaRCAF_6ZrzbelRCwCAF_8ErtfVasbVwRRCo:
 nop
@@ -3028,17 +3028,17 @@
 b__MA11hajvaqfgnpx10ErtfK86_6416VgrengrErtvfgrefRAFg3__18shapgvbaVSiCXpzRRR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR18psn_iny_rkcerffvbaRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR18psn_iny_rkcerffvbaRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR18psn_iny_rkcerffvbaRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR18psn_iny_rkcerffvbaRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR6bc_artRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR6bc_artRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR6bc_artRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR6bc_artRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr18ErnqCebtenzUrnqrefV9rys32_uqe10rys32_cuqeRRiEXG_Cy
+.weak b__MA11hajvaqfgnpx12RysVagresnpr18ErnqCebtenzUrnqrefV9rys32_uqe10rys32_cuqeRRiEXG_Cy
 .type b__MA11hajvaqfgnpx12RysVagresnpr18ErnqCebtenzUrnqrefV9rys32_uqe10rys32_cuqeRRiEXG_Cy,%function
 b__MA11hajvaqfgnpx12RysVagresnpr18ErnqCebtenzUrnqrefV9rys32_uqe10rys32_cuqeRRiEXG_Cy:
 nop
@@ -3053,22 +3053,22 @@
 b__MA11hajvaqfgnpx8QrkSvyrf10TrgQrkSvyrRzCAF_7ZncVasbR:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzRR
+.weak b__MGIA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzRR
 .type b__MGIA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzRR,%object
 b__MGIA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR7bc_cyhfRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR7bc_cyhfRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR7bc_cyhfRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR7bc_cyhfRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR8bc_oertkRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR8bc_oertkRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR8bc_oertkRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR8bc_oertkRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF7_RRRAFG_VWRRRRRRAF8_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFR_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF7_RRRAFG_VWRRRRRRAF8_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFR_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF7_RRRAFG_VWRRRRRRAF8_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFR_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4cnveVAF_10funerq_cgeVA11hajvaqfgnpx3RysRRRoRRRRAF_22__habeqrerq_znc_unfureVF7_FR_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_FR_AF_8rdhny_gbVF7_RRYo1RRRAF5_VFR_RRR25__rzcynpr_havdhr_xrl_netfVF7_WEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBF7_RRRAFG_VWRRRRRRAF8_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFR_CiRRRRoRREXG_QcBG0_:
 nop
@@ -3078,17 +3078,17 @@
 b__MA11hajvaqfgnpx9ErtfNez645PybarRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR6bc_nofRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR6bc_nofRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR6bc_nofRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR6bc_nofRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR6bc_zhyRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR6bc_zhyRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR6bc_zhyRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR6bc_zhyRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCA11hajvaqfgnpx7FlzobyfRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
+.weak b__MAFg3__16irpgbeVCA11hajvaqfgnpx7FlzobyfRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_
 .type b__MAFg3__16irpgbeVCA11hajvaqfgnpx7FlzobyfRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_,%function
 b__MAFg3__16irpgbeVCA11hajvaqfgnpx7FlzobyfRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVF3_RRiBG_:
 nop
@@ -3098,7 +3098,7 @@
 b__MA11hajvaqfgnpx15RysVagresnprNez13TrgCery31NqqeRwCw:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx3RysR
+.weak b__MGIA11hajvaqfgnpx3RysR
 .type b__MGIA11hajvaqfgnpx3RysR,%object
 b__MGIA11hajvaqfgnpx3RysR:
 .space __SIZEOF_POINTER__
@@ -3108,7 +3108,7 @@
 b__MA11hajvaqfgnpx19ZrzbelBssyvarOhssre4ErnqRzCiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR6erunfuRz:
 nop
@@ -3123,22 +3123,22 @@
 b__MA11hajvaqfgnpx7ErtfNezP2Ri:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR13frg_ertf_vasbRCAF_8ErtfVasbVwRR
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR13frg_ertf_vasbRCAF_8ErtfVasbVwRR
 .type b__MA11hajvaqfgnpx7QjnesBcVwR13frg_ertf_vasbRCAF_8ErtfVasbVwRR,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR13frg_ertf_vasbRCAF_8ErtfVasbVwRR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCzAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCzAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_
 .type b__MAFg3__114__fcyvg_ohssreVCzAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCzAF_9nyybpngbeVF1_RRR10chfu_sebagRBF1_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12QjnesRuSenzrVwRP2RCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx12QjnesRuSenzrVwRP2RCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx12QjnesRuSenzrVwRP2RCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx12QjnesRuSenzrVwRP2RCAF_6ZrzbelR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr29TrgTybonyInevnoyrJvguGrzcyngrV9rys32_flzRRoEXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCz
+.weak b__MA11hajvaqfgnpx12RysVagresnpr29TrgTybonyInevnoyrJvguGrzcyngrV9rys32_flzRRoEXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCz
 .type b__MA11hajvaqfgnpx12RysVagresnpr29TrgTybonyInevnoyrJvguGrzcyngrV9rys32_flzRRoEXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCz,%function
 b__MA11hajvaqfgnpx12RysVagresnpr29TrgTybonyInevnoyrJvguGrzcyngrV9rys32_flzRRoEXAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRCz:
 nop
@@ -3153,7 +3153,7 @@
 b__MGIA11hajvaqfgnpx18ZrzbelSvyrNgBssfrgR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVAF_10havdhr_cgeVA11hajvaqfgnpx7ZncVasbRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWCF3_RRRiQcBG_
+.weak b__MAFg3__16irpgbeVAF_10havdhr_cgeVA11hajvaqfgnpx7ZncVasbRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWCF3_RRRiQcBG_
 .type b__MAFg3__16irpgbeVAF_10havdhr_cgeVA11hajvaqfgnpx7ZncVasbRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWCF3_RRRiQcBG_,%function
 b__MAFg3__16irpgbeVAF_10havdhr_cgeVA11hajvaqfgnpx7ZncVasbRAF_14qrsnhyg_qryrgrVF3_RRRRAF_9nyybpngbeVF6_RRR24__rzcynpr_onpx_fybj_cnguVWCF3_RRRiQcBG_:
 nop
@@ -3163,17 +3163,17 @@
 b__MA11hajvaqfgnpx7ErtfK8618PerngrSebzHpbagrkgRCi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR12TrgSqrSebzCpRz
+.weak b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR12TrgSqrSebzCpRz
 .type b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR12TrgSqrSebzCpRz,%function
 b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR12TrgSqrSebzCpRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR6bc_kbeRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR6bc_kbeRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR6bc_kbeRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR6bc_kbeRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr11ErnqOhvyqVQV10rys32_abgrRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRi
+.weak b__MA11hajvaqfgnpx12RysVagresnpr11ErnqOhvyqVQV10rys32_abgrRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRi
 .type b__MA11hajvaqfgnpx12RysVagresnpr11ErnqOhvyqVQV10rys32_abgrRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRi,%function
 b__MA11hajvaqfgnpx12RysVagresnpr11ErnqOhvyqVQV10rys32_abgrRRAFg3__112onfvp_fgevatVpAF3_11pune_genvgfVpRRAF3_9nyybpngbeVpRRRRi:
 nop
@@ -3183,22 +3183,22 @@
 b__MA11hajvaqfgnpx10ErtfK86_646frg_fcRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR7TrgSqrfRCAFg3__16irpgbeVCXAF_8QjnesSqrRAF2_9nyybpngbeVF6_RRRR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR7TrgSqrfRCAFg3__16irpgbeVCXAF_8QjnesSqrRAF2_9nyybpngbeVF6_RRRR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR7TrgSqrfRCAFg3__16irpgbeVCXAF_8QjnesSqrRAF2_9nyybpngbeVF6_RRRR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR7TrgSqrfRCAFg3__16irpgbeVCXAF_8QjnesSqrRAF2_9nyybpngbeVF6_RRRR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx11QjnesZrzbel10ErnqFvtarqVnRRoCz
+.weak b__MA11hajvaqfgnpx11QjnesZrzbel10ErnqFvtarqVnRRoCz
 .type b__MA11hajvaqfgnpx11QjnesZrzbel10ErnqFvtarqVnRRoCz,%function
 b__MA11hajvaqfgnpx11QjnesZrzbel10ErnqFvtarqVnRRoCz:
 nop
 .data
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR17xBcUnaqyrShapYvfgR
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR17xBcUnaqyrShapYvfgR
 .type b__MA11hajvaqfgnpx7QjnesBcVwR17xBcUnaqyrShapYvfgR,%object
 b__MA11hajvaqfgnpx7QjnesBcVwR17xBcUnaqyrShapYvfgR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR14__renfr_havdhrVzRRzEXG_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR14__renfr_havdhrVzRRzEXG_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR14__renfr_havdhrVzRRzEXG_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx8QjnesSqrRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR14__renfr_havdhrVzRRzEXG_:
 nop
@@ -3213,7 +3213,7 @@
 b__MA11hajvaqfgnpx8ErtfZvcf18PerngrSebzHpbagrkgRCi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR3YbtRwzzz
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR3YbtRwzzz
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR3YbtRwzzz,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR3YbtRwzzz:
 nop
@@ -3233,7 +3233,7 @@
 b__MA11hajvaqfgnpx6Zrzbel19PerngrBssyvarZrzbelRCXuzz:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVzAF_10havdhr_cgeVA11hajvaqfgnpx11ZrzbelEnatrRAF_14qrsnhyg_qryrgrVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVzF8_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVzAF_10havdhr_cgeVA11hajvaqfgnpx11ZrzbelEnatrRAF_14qrsnhyg_qryrgrVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVzF8_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVzAF_10havdhr_cgeVA11hajvaqfgnpx11ZrzbelEnatrRAF_14qrsnhyg_qryrgrVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVzF8_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVzAF_10havdhr_cgeVA11hajvaqfgnpx11ZrzbelEnatrRAF_14qrsnhyg_qryrgrVF4_RRRRRRAF_19__znc_inyhr_pbzcnerVzF8_AF_4yrffVzRRYo1RRRAF_9nyybpngbeVF8_RRR7qrfgeblRCAF_11__gerr_abqrVF8_CiRR:
 nop
@@ -3243,7 +3243,7 @@
 b__MA11hajvaqfgnpx8QrkSvyrf14ErnqRagelCge32Rz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR10TrgYbtVasbRzzCAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRR
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR10TrgYbtVasbRzzCAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRR
 .type b__MA11hajvaqfgnpx7QjnesBcVzR10TrgYbtVasbRzzCAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRR,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR10TrgYbtVasbRzzCAFg3__16irpgbeVAF2_12onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRRAF7_VF9_RRRR:
 nop
@@ -3258,7 +3258,7 @@
 b__MA11hajvaqfgnpx10ErtfZvcf646frg_fcRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR5bc_arRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR5bc_arRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR5bc_arRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR5bc_arRi:
 nop
@@ -3268,7 +3268,7 @@
 b__MA11hajvaqfgnpx3Rys12TrgYnfgReebeRCAF_9ReebeQngnR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx12RysVagresnpr18ErnqFrpgvbaUrnqrefV9rys64_uqe10rys64_fuqeRRiEXG_
+.weak b__MA11hajvaqfgnpx12RysVagresnpr18ErnqFrpgvbaUrnqrefV9rys64_uqe10rys64_fuqeRRiEXG_
 .type b__MA11hajvaqfgnpx12RysVagresnpr18ErnqFrpgvbaUrnqrefV9rys64_uqe10rys64_fuqeRRiEXG_,%function
 b__MA11hajvaqfgnpx12RysVagresnpr18ErnqFrpgvbaUrnqrefV9rys64_uqe10rys64_fuqeRRiEXG_:
 nop
@@ -3278,17 +3278,17 @@
 b__MA11hajvaqfgnpx8WvgQrohtQ0Ri:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR15TrgYbpngvbaVasbRzzzCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR15TrgYbpngvbaVasbRzzzCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR15TrgYbpngvbaVasbRzzzCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR15TrgYbpngvbaVasbRzzzCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR18TrgPsnYbpngvbaVasbRzCXAF_8QjnesSqrRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR18TrgPsnYbpngvbaVasbRzCXAF_8QjnesSqrRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR18TrgPsnYbpngvbaVasbRzCXAF_8QjnesSqrRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzR18TrgPsnYbpngvbaVasbRzCXAF_8QjnesSqrRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx14QjnesYbpngvbafRRRAF_22__habeqrerq_znc_unfureVzF4_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF4_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF4_RRR8__erunfuRz:
 nop
@@ -3308,42 +3308,42 @@
 b__MA11hajvaqfgnpx8ErtfZvcfP1Ri:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCuEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCuEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
 .type b__MAFg3__114__fcyvg_ohssreVCuEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCuEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR21psn_qrs_psn_bssfrg_fsRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR21psn_qrs_psn_bssfrg_fsRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR21psn_qrs_psn_bssfrg_fsRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR21psn_qrs_psn_bssfrg_fsRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwR7SqrVasbRRRAF_22__habeqrerq_znc_unfureVzF6_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF6_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF6_RRR6erunfuRz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR6bc_qviRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR6bc_qviRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR6bc_qviRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR6bc_qviRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR11RuSenzrVavgRzzy
+.weak b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR11RuSenzrVavgRzzy
 .type b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR11RuSenzrVavgRzzy,%function
 b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR11RuSenzrVavgRzzy:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR5bc_beRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR5bc_beRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR5bc_beRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR5bc_beRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR7bc_fjncRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR7bc_fjncRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR7bc_fjncRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR7bc_fjncRi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA11hajvaqfgnpx14YbpnySenzrQngnRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWECAF1_7ZncVasbRzzEAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF3_VpRRRREzRRRiQcBG_
+.weak b__MAFg3__16irpgbeVA11hajvaqfgnpx14YbpnySenzrQngnRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWECAF1_7ZncVasbRzzEAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF3_VpRRRREzRRRiQcBG_
 .type b__MAFg3__16irpgbeVA11hajvaqfgnpx14YbpnySenzrQngnRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWECAF1_7ZncVasbRzzEAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF3_VpRRRREzRRRiQcBG_,%function
 b__MAFg3__16irpgbeVA11hajvaqfgnpx14YbpnySenzrQngnRAF_9nyybpngbeVF2_RRR24__rzcynpr_onpx_fybj_cnguVWECAF1_7ZncVasbRzzEAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF3_VpRRRREzRRRiQcBG_:
 nop
@@ -3353,12 +3353,12 @@
 b__MA11hajvaqfgnpx10ErtfK86_6418PerngrSebzHpbagrkgRCi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR18bc_abg_vzcyrzragrqRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR18bc_abg_vzcyrzragrqRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR18bc_abg_vzcyrzragrqRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR18bc_abg_vzcyrzragrqRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR7bc_qebcRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR7bc_qebcRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR7bc_qebcRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR7bc_qebcRi:
 nop
@@ -3373,17 +3373,17 @@
 b__MA11hajvaqfgnpx9ErtfNez6419FgrcVsFvtanyUnaqyreRzCAF_3RysRCAF_6ZrzbelR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR13YnfgReebePbqrRi
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR13YnfgReebePbqrRi
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR13YnfgReebePbqrRi,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR13YnfgReebePbqrRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwRP1RCAF_11QjnesZrzbelRCXAF_8QjnesSqrR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwRP1RCAF_11QjnesZrzbelRCXAF_8QjnesSqrR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwRP1RCAF_11QjnesZrzbelRCXAF_8QjnesSqrR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwRP1RCAF_11QjnesZrzbelRCXAF_8QjnesSqrR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzRP2RCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzRP2RCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzRP2RCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVzRP2RCAF_6ZrzbelR:
 nop
@@ -3393,27 +3393,27 @@
 b__MA11hajvaqfgnpx7ErtfK862cpRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFV_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFV_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFV_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVzwRRAF_22__habeqrerq_znc_unfureVzF2_AF_4unfuVzRRYo1RRRAF_21__habeqrerq_znc_rdhnyVzF2_AF_8rdhny_gbVzRRYo1RRRAF_9nyybpngbeVF2_RRR25__rzcynpr_havdhr_xrl_netfVzWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXzRRRAFV_VWRRRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF2_CiRRRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_rzcynprVA11hajvaqfgnpx18ZrzbelSvyrNgBssfrgRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
+.weak b__MAFg3__120__funerq_cge_rzcynprVA11hajvaqfgnpx18ZrzbelSvyrNgBssfrgRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi
 .type b__MAFg3__120__funerq_cge_rzcynprVA11hajvaqfgnpx18ZrzbelSvyrNgBssfrgRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi,%function
 b__MAFg3__120__funerq_cge_rzcynprVA11hajvaqfgnpx18ZrzbelSvyrNgBssfrgRAF_9nyybpngbeVF2_RRR21__ba_mreb_funerq_jrnxRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx11QjnesZrzbel10ErnqFvtarqVyRRoCz
+.weak b__MA11hajvaqfgnpx11QjnesZrzbel10ErnqFvtarqVyRRoCz
 .type b__MA11hajvaqfgnpx11QjnesZrzbel10ErnqFvtarqVyRRoCz,%function
 b__MA11hajvaqfgnpx11QjnesZrzbel10ErnqFvtarqVyRRoCz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR5bc_tgRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR5bc_tgRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR5bc_tgRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR5bc_tgRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR6bc_oenRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR6bc_oenRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR6bc_oenRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR6bc_oenRi:
 nop
@@ -3423,7 +3423,7 @@
 b__MA11hajvaqfgnpx4Zncf5CnefrRi:
 nop
 .text
-.globl b__MAFg3__17__fbeg4VEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys64_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRwG0_FY_FY_FY_G_
+.weak b__MAFg3__17__fbeg4VEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys64_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRwG0_FY_FY_FY_G_
 .type b__MAFg3__17__fbeg4VEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys64_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRwG0_FY_FY_FY_G_,%function
 b__MAFg3__17__fbeg4VEMA11hajvaqfgnpx7Flzobyf7TrgAnzrV9rys64_flzRRozCAF1_6ZrzbelRCAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRCzRHyEXAF2_4VasbRFU_R_CFS_RRwG0_FY_FY_FY_G_:
 nop
@@ -3433,12 +3433,12 @@
 b__MGIA11hajvaqfgnpx8QrkSvyrfR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR10ynfg_reebeRi
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR10ynfg_reebeRi
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR10ynfg_reebeRi,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR10ynfg_reebeRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR4VavgRzzy
+.weak b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR4VavgRzzy
 .type b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR4VavgRzzy,%function
 b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVzR4VavgRzzy:
 nop
@@ -3458,17 +3458,17 @@
 b__MA11hajvaqfgnpx8QrkSvyrf7TrgNqqeRzCz:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVzR17psn_iny_bssfrg_fsRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVzR17psn_iny_bssfrg_fsRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVzR17psn_iny_bssfrg_fsRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVzR17psn_iny_bssfrg_fsRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR11vf_ertvfgreRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR11vf_ertvfgreRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR11vf_ertvfgreRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR11vf_ertvfgreRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx14TrgOhvyqVQVasbV9rys32_uqe10rys32_fuqeRRoCAF_6ZrzbelRCzF5_
+.weak b__MA11hajvaqfgnpx14TrgOhvyqVQVasbV9rys32_uqe10rys32_fuqeRRoCAF_6ZrzbelRCzF5_
 .type b__MA11hajvaqfgnpx14TrgOhvyqVQVasbV9rys32_uqe10rys32_fuqeRRoCAF_6ZrzbelRCzF5_,%function
 b__MA11hajvaqfgnpx14TrgOhvyqVQVasbV9rys32_uqe10rys32_fuqeRRoCAF_6ZrzbelRCzF5_:
 nop
@@ -3493,12 +3493,12 @@
 b__MA11hajvaqfgnpx8NezRkvqk8YbtOlErtRi:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCwEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
+.weak b__MAFg3__114__fcyvg_ohssreVCwEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_
 .type b__MAFg3__114__fcyvg_ohssreVCwEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_,%function
 b__MAFg3__114__fcyvg_ohssreVCwEAF_9nyybpngbeVF1_RRR9chfu_onpxRBF1_:
 nop
 .text
-.globl b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx3RysRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
+.weak b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx3RysRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi
 .type b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx3RysRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi,%function
 b__MAFg3__120__funerq_cge_cbvagreVCA11hajvaqfgnpx3RysRAF_14qrsnhyg_qryrgrVF2_RRAF_9nyybpngbeVF2_RRR16__ba_mreb_funerqRi:
 nop
@@ -3508,47 +3508,47 @@
 b__MA11hajvaqfgnpx4Zncf4FbegRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR10qrk_cp_frgRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR10qrk_cp_frgRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR10qrk_cp_frgRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR10qrk_cp_frgRi:
 nop
 .data
-.globl b__MGIA11hajvaqfgnpx12QjnesRuSenzrVwRR
+.weak b__MGIA11hajvaqfgnpx12QjnesRuSenzrVwRR
 .type b__MGIA11hajvaqfgnpx12QjnesRuSenzrVwRR,%object
 b__MGIA11hajvaqfgnpx12QjnesRuSenzrVwRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVzRRiBG_
+.weak b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVzRRiBG_
 .type b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVzRRiBG_,%function
 b__MAFg3__16irpgbeVzAF_9nyybpngbeVzRRR21__chfu_onpx_fybj_cnguVzRRiBG_:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR16frg_pvr_ybp_ertfRCXAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR16frg_pvr_ybp_ertfRCXAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR16frg_pvr_ybp_ertfRCXAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR16frg_pvr_ybp_ertfRCXAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx8QjnesPsnVwR22psn_bssfrg_rkgraqrq_fsRCAF_14QjnesYbpngvbafR
+.weak b__MA11hajvaqfgnpx8QjnesPsnVwR22psn_bssfrg_rkgraqrq_fsRCAF_14QjnesYbpngvbafR
 .type b__MA11hajvaqfgnpx8QjnesPsnVwR22psn_bssfrg_rkgraqrq_fsRCAF_14QjnesYbpngvbafR,%function
 b__MA11hajvaqfgnpx8QjnesPsnVwR22psn_bssfrg_rkgraqrq_fsRCAF_14QjnesYbpngvbafR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVwR6bc_naqRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVwR6bc_naqRi
 .type b__MA11hajvaqfgnpx7QjnesBcVwR6bc_naqRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVwR6bc_naqRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwRP2RCAF_6ZrzbelR
+.weak b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwRP2RCAF_6ZrzbelR
 .type b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwRP2RCAF_6ZrzbelR,%function
 b__MA11hajvaqfgnpx19QjnesRuSenzrJvguUqeVwRP2RCAF_6ZrzbelR:
 nop
 .text
-.globl b__MA11hajvaqfgnpx7QjnesBcVzR8bc_zvahfRi
+.weak b__MA11hajvaqfgnpx7QjnesBcVzR8bc_zvahfRi
 .type b__MA11hajvaqfgnpx7QjnesBcVzR8bc_zvahfRi,%function
 b__MA11hajvaqfgnpx7QjnesBcVzR8bc_zvahfRi:
 nop
 .text
-.globl b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR9VafregSqrRCXAF_8QjnesSqrR
+.weak b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR9VafregSqrRCXAF_8QjnesSqrR
 .type b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR9VafregSqrRCXAF_8QjnesSqrR,%function
 b__MA11hajvaqfgnpx16QjnesFrpgvbaVzcyVwR9VafregSqrRCXAF_8QjnesSqrR:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_165.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_165.S
index 342c7c6..0b85ef9 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_165.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_165.S
@@ -13,17 +13,17 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_125OcUjFhesnprSyvatrePbasvtf18hfrPbagrkgCevbevglRAFg3__18shapgvbaVSiEXAF1_4I1_012BcgvbanyObbyRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_11pbasvtfgber4I1_122VFhesnprSyvatrePbasvtfRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjFhesnprSyvatrePbasvtfRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_11pbasvtfgber4I1_122VFhesnprSyvatrePbasvtfRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjFhesnprSyvatrePbasvtfRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_11pbasvtfgber4I1_122VFhesnprSyvatrePbasvtfRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjFhesnprSyvatrePbasvtfRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_11pbasvtfgber4I1_122VFhesnprSyvatrePbasvtfRAF_4uvqy4onfr4I1_05VOnfrRAF4_25OcUjFhesnprSyvatrePbasvtfRRRAF0_6ErgheaVAF_2fcVG_RRRRAFP_VG0_RRCXpo:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -43,12 +43,12 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_125OcUjFhesnprSyvatrePbasvtf16unfFlapSenzrjbexRAFg3__18shapgvbaVSiEXAF1_4I1_012BcgvbanyObbyRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -113,7 +113,7 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_125OcUjFhesnprSyvatrePbasvtf25iflapFsRiragCunfrBssfrgAfRAFg3__18shapgvbaVSiEXAF1_4I1_013BcgvbanyVag64RRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -123,7 +123,7 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_122VFhesnprSyvatrePbasvtf13gelTrgFreivprREXAFg3__112onfvp_fgevatVpAF4_11pune_genvgfVpRRAF4_9nyybpngbeVpRRRRo:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner11pbasvtfgber4I1_123OfFhesnprSyvatrePbasvtfR
+.weak b__MGIA7naqebvq8uneqjner11pbasvtfgber4I1_123OfFhesnprSyvatrePbasvtfR
 .type b__MGIA7naqebvq8uneqjner11pbasvtfgber4I1_123OfFhesnprSyvatrePbasvtfR,%object
 b__MGIA7naqebvq8uneqjner11pbasvtfgber4I1_123OfFhesnprSyvatrePbasvtfR:
 .space __SIZEOF_POINTER__
@@ -133,12 +133,12 @@
 b__MGi0_a24_A7naqebvq8uneqjner11pbasvtfgber4I1_125OaUjFhesnprSyvatrePbasvtfQ0Ri:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -323,7 +323,7 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_125OaUjFhesnprSyvatrePbasvtfQ1Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -358,7 +358,7 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_125OcUjFhesnprSyvatrePbasvtfP1REXAF_2fcVAF0_7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_11pbasvtfgber4I1_122VFhesnprSyvatrePbasvtfRAF3_4I1_022VFhesnprSyvatrePbasvtfRAF4_25OcUjFhesnprSyvatrePbasvtfRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_11pbasvtfgber4I1_122VFhesnprSyvatrePbasvtfRAF3_4I1_022VFhesnprSyvatrePbasvtfRAF4_25OcUjFhesnprSyvatrePbasvtfRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_11pbasvtfgber4I1_122VFhesnprSyvatrePbasvtfRAF3_4I1_022VFhesnprSyvatrePbasvtfRAF4_25OcUjFhesnprSyvatrePbasvtfRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_11pbasvtfgber4I1_122VFhesnprSyvatrePbasvtfRAF3_4I1_022VFhesnprSyvatrePbasvtfRAF4_25OcUjFhesnprSyvatrePbasvtfRRRAF0_6ErgheaVAF_2fcVG_RRRRAFN_VG0_RRCXpo:
 nop
@@ -408,17 +408,17 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_125OcUjFhesnprSyvatrePbasvtf21znkIveghnyQvfcynlFvmrRAFg3__18shapgvbaVSiEXAF1_4I1_014BcgvbanyHVag64RRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_11pbasvtfgber4I1_125OcUjFhesnprSyvatrePbasvtfRAF4_22VFhesnprSyvatrePbasvtfRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_11pbasvtfgber4I1_125OcUjFhesnprSyvatrePbasvtfRAF4_22VFhesnprSyvatrePbasvtfRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_11pbasvtfgber4I1_125OcUjFhesnprSyvatrePbasvtfRAF4_22VFhesnprSyvatrePbasvtfRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_11pbasvtfgber4I1_125OcUjFhesnprSyvatrePbasvtfRAF4_22VFhesnprSyvatrePbasvtfRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRRoo:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -448,7 +448,7 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_125OaUjFhesnprSyvatrePbasvtfP2REXAF_2fcVAF2_22VFhesnprSyvatrePbasvtfRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner11pbasvtfgber4I1_123OfFhesnprSyvatrePbasvtfR0_AF2_22VFhesnprSyvatrePbasvtfR
+.weak b__MGPA7naqebvq8uneqjner11pbasvtfgber4I1_123OfFhesnprSyvatrePbasvtfR0_AF2_22VFhesnprSyvatrePbasvtfR
 .type b__MGPA7naqebvq8uneqjner11pbasvtfgber4I1_123OfFhesnprSyvatrePbasvtfR0_AF2_22VFhesnprSyvatrePbasvtfR,%object
 b__MGPA7naqebvq8uneqjner11pbasvtfgber4I1_123OfFhesnprSyvatrePbasvtfR0_AF2_22VFhesnprSyvatrePbasvtfR:
 .space __SIZEOF_POINTER__
@@ -473,12 +473,12 @@
 b__MA7naqebvq8uneqjner11pbasvtfgber4I1_125OcUjFhesnprSyvatrePbasvtf28cerfragGvzrBssfrgSebzIFlapAfRAFg3__18shapgvbaVSiEXAF1_4I1_013BcgvbanyVag64RRRR:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_166.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_166.S
index eac79cf..6cf0d6e 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_166.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_166.S
@@ -3,7 +3,7 @@
 .data
 .p2align 4
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRREXG_:
 nop
@@ -188,12 +188,12 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_012OaUjBzkFgber27_uvqy_yvfgFreivprNggevohgrfRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCFN_AFg3__18shapgvbaVSiEFN_RRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_020VTencuvpOhssreFbheprRAF_4uvqy4onfr4I1_05VOnfrRAF5_23OcUjTencuvpOhssreFbheprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_020VTencuvpOhssreFbheprRAF_4uvqy4onfr4I1_05VOnfrRAF5_23OcUjTencuvpOhssreFbheprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_020VTencuvpOhssreFbheprRAF_4uvqy4onfr4I1_05VOnfrRAF5_23OcUjTencuvpOhssreFbheprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_020VTencuvpOhssreFbheprRAF_4uvqy4onfr4I1_05VOnfrRAF5_23OcUjTencuvpOhssreFbheprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_021OfTencuvpOhssreFbheprR
+.weak b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_021OfTencuvpOhssreFbheprR
 .type b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_021OfTencuvpOhssreFbheprR,%object
 b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_021OfTencuvpOhssreFbheprR:
 .space __SIZEOF_POINTER__
@@ -233,7 +233,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_09VBzkFgber10qrfpevcgbeR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_09VBzkFgberRAF_4uvqy4onfr4I1_05VOnfrRAF5_12OcUjBzkFgberRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_09VBzkFgberRAF_4uvqy4onfr4I1_05VOnfrRAF5_12OcUjBzkFgberRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_09VBzkFgberRAF_4uvqy4onfr4I1_05VOnfrRAF5_12OcUjBzkFgberRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_09VBzkFgberRAF_4uvqy4onfr4I1_05VOnfrRAF5_12OcUjBzkFgberRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -253,7 +253,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_08VBzkAbqr10trgFreivprREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_04VBzkRAF4_7OcUjBzkRAF4_7OaUjBzkRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_04VBzkRAF4_7OcUjBzkRAF4_7OaUjBzkRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_04VBzkRAF4_7OcUjBzkRAF4_7OaUjBzkRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_04VBzkRAF4_7OcUjBzkRAF4_7OaUjBzkRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -348,7 +348,7 @@
 b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_023OcUjTencuvpOhssreFbheprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_013OfBzkBofreireR0_AF3_12VBzkBofreireR
+.weak b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_013OfBzkBofreireR0_AF3_12VBzkBofreireR
 .type b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_013OfBzkBofreireR0_AF3_12VBzkBofreireR,%object
 b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_013OfBzkBofreireR0_AF3_12VBzkBofreireR:
 .space __SIZEOF_POINTER__
@@ -533,7 +533,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_023OcUjTencuvpOhssreFbhepr14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_019OcUjBzkOhssreFbheprRAF5_16VBzkOhssreFbheprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_019OcUjBzkOhssreFbheprRAF5_16VBzkOhssreFbheprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_019OcUjBzkOhssreFbheprRAF5_16VBzkOhssreFbheprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_019OcUjBzkOhssreFbheprRAF5_16VBzkOhssreFbheprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -553,7 +553,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner5zrqvn3bzk4I1_015OaUjBzkBofreireQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF4_25OcUjTencuvpOhssreCebqhpreRAF4_25OaUjTencuvpOhssreCebqhpreRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF4_25OcUjTencuvpOhssreCebqhpreRAF4_25OaUjTencuvpOhssreCebqhpreRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF4_25OcUjTencuvpOhssreCebqhpreRAF4_25OaUjTencuvpOhssreCebqhpreRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRAF4_25OcUjTencuvpOhssreCebqhpreRAF4_25OaUjTencuvpOhssreCebqhpreRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -578,7 +578,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_012VBzkBofreire13gelTrgFreivprREXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRRo:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_015OcUjBzkBofreireRAF5_12VBzkBofreireRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_015OcUjBzkBofreireRAF5_12VBzkBofreireRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_015OcUjBzkBofreireRAF5_12VBzkBofreireRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_015OcUjBzkBofreireRAF5_12VBzkBofreireRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -643,7 +643,7 @@
 b__MGGA7naqebvq8uneqjner5zrqvn3bzk4I1_012OaUjBzkFgberR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
+.weak b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_
 .type b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_,%function
 b__MAFg3__16irpgbeVCiAF_9nyybpngbeVF1_RRR21__chfu_onpx_fybj_cnguVF1_RRiBG_:
 nop
@@ -668,7 +668,7 @@
 b__MGGA7naqebvq8uneqjner5zrqvn3bzk4I1_023OcUjTencuvpOhssreFbheprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_012OcUjBzkFgberRAF5_9VBzkFgberRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_012OcUjBzkFgberRAF5_9VBzkFgberRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_012OcUjBzkFgberRAF5_9VBzkFgberRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_012OcUjBzkFgberRAF5_9VBzkFgberRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -833,7 +833,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_023OcUjTencuvpOhssreFbhepr35_uvqy_frgErcrngCerivbhfSenzrQrynlHfRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRy:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR4svaqVF7_RRAF_15__gerr_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRREXG_:
 nop
@@ -903,7 +903,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_07OcUjBzk13hayvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_020VTencuvpOhssreFbheprRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_020VTencuvpOhssreFbheprRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_020VTencuvpOhssreFbheprRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_020VTencuvpOhssreFbheprRiRRAF_2fcVG_RRF9_:
 nop
@@ -933,12 +933,12 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_023OcUjTencuvpOhssreFbhepr15_uvqy_frgZnkScfRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRs:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_020VTencuvpOhssreFbheprRAF4_23OcUjTencuvpOhssreFbheprRAF4_23OaUjTencuvpOhssreFbheprRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_020VTencuvpOhssreFbheprRAF4_23OcUjTencuvpOhssreFbheprRAF4_23OaUjTencuvpOhssreFbheprRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_020VTencuvpOhssreFbheprRAF4_23OcUjTencuvpOhssreFbheprRAF4_23OaUjTencuvpOhssreFbheprRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_020VTencuvpOhssreFbheprRAF4_23OcUjTencuvpOhssreFbheprRAF4_23OaUjTencuvpOhssreFbheprRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_05OfBzkR0_AF3_4VBzkR
+.weak b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_05OfBzkR0_AF3_4VBzkR
 .type b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_05OfBzkR0_AF3_4VBzkR,%object
 b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_05OfBzkR0_AF3_4VBzkR:
 .space __SIZEOF_POINTER__
@@ -958,12 +958,12 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_023OcUjTencuvpOhssreFbhepr10frgFhfcraqRoy:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -1023,7 +1023,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_020VTencuvpOhssreFbhepr14vagresnprPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_11uvqy_fgevatRRRRRR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_021OfTencuvpOhssreFbheprR0_AF3_20VTencuvpOhssreFbheprR
+.weak b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_021OfTencuvpOhssreFbheprR0_AF3_20VTencuvpOhssreFbheprR
 .type b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_021OfTencuvpOhssreFbheprR0_AF3_20VTencuvpOhssreFbheprR,%object
 b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_021OfTencuvpOhssreFbheprR0_AF3_20VTencuvpOhssreFbheprR:
 .space __SIZEOF_POINTER__
@@ -1103,7 +1103,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_021jevgrRzorqqrqGbCnepryREXAF3_9VBzkFgber8EbyrVasbRCAF0_6CnepryRzz:
 nop
 .text
-.globl b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
+.weak b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_
 .type b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_,%function
 b__MAXFg3__18shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF7_F7_F7_CAF_6irpgbeVCiAF_9nyybpngbeVF9_RRRRRRpyRF5_F7_F7_F7_F7_FQ_:
 nop
@@ -1243,7 +1243,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_08VBzkAbqr19vagresnprQrfpevcgbeRAFg3__18shapgvbaVSiEXAF0_11uvqy_fgevatRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_08VBzkAbqrRAF_4uvqy4onfr4I1_05VOnfrRAF5_11OcUjBzkAbqrRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_08VBzkAbqrRAF_4uvqy4onfr4I1_05VOnfrRAF5_11OcUjBzkAbqrRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_08VBzkAbqrRAF_4uvqy4onfr4I1_05VOnfrRAF5_11OcUjBzkAbqrRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_08VBzkAbqrRAF_4uvqy4onfr4I1_05VOnfrRAF5_11OcUjBzkAbqrRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -1253,7 +1253,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_012OcUjBzkFgber15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_023OcUjTencuvpOhssreFbheprRAF5_20VTencuvpOhssreFbheprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_023OcUjTencuvpOhssreFbheprRAF5_20VTencuvpOhssreFbheprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_023OcUjTencuvpOhssreFbheprRAF5_20VTencuvpOhssreFbheprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_023OcUjTencuvpOhssreFbheprRAF5_20VTencuvpOhssreFbheprRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -1263,7 +1263,7 @@
 b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_011OcUjBzkAbqrR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_08VBzkAbqrRAF4_11OcUjBzkAbqrRAF4_11OaUjBzkAbqrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_08VBzkAbqrRAF4_11OcUjBzkAbqrRAF4_11OaUjBzkAbqrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_08VBzkAbqrRAF4_11OcUjBzkAbqrRAF4_11OaUjBzkAbqrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_08VBzkAbqrRAF4_11OcUjBzkAbqrRAF4_11OaUjBzkAbqrRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -1308,7 +1308,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_012OcUjBzkFgber6trgBzkREXAF0_11uvqy_fgevatR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_010OfBzkFgberR
+.weak b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_010OfBzkFgberR
 .type b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_010OfBzkFgberR,%object
 b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_010OfBzkFgberR:
 .space __SIZEOF_POINTER__
@@ -1348,12 +1348,12 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_019OaUjBzkOhssreFbheprQ2Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFR_RRECAF_15__gerr_raq_abqrVFE_RREXG_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRiRRAF_2fcVG_RRF9_:
 nop
@@ -1368,7 +1368,7 @@
 b__MGi0_a40_A7naqebvq8uneqjner5zrqvn3bzk4I1_07OcUjBzk15baYnfgFgebatErsRCXi:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_013OfBzkBofreireR
+.weak b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_013OfBzkBofreireR
 .type b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_013OfBzkBofreireR,%object
 b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_013OfBzkBofreireR:
 .space __SIZEOF_POINTER__
@@ -1498,7 +1498,7 @@
 b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_08VBzkAbqrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_09OfBzkAbqrR
+.weak b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_09OfBzkAbqrR
 .type b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_09OfBzkAbqrR,%object
 b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_09OfBzkAbqrR:
 .space __SIZEOF_POINTER__
@@ -1518,7 +1518,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_019OcUjBzkOhssreFbhepr4cvatRi:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_09OfBzkAbqrR0_AF3_8VBzkAbqrR
+.weak b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_09OfBzkAbqrR0_AF3_8VBzkAbqrR
 .type b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_09OfBzkAbqrR0_AF3_8VBzkAbqrR,%object
 b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_09OfBzkAbqrR0_AF3_8VBzkAbqrR:
 .space __SIZEOF_POINTER__
@@ -1588,7 +1588,7 @@
 b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_023OcUjTencuvpOhssreFbheprR0_AF3_20VTencuvpOhssreFbheprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_07OcUjBzkRAF5_4VBzkRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_07OcUjBzkRAF5_4VBzkRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_07OcUjBzkRAF5_4VBzkRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_07OcUjBzkRAF5_4VBzkRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -1663,7 +1663,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_023OcUjTencuvpOhssreFbhepr12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_8uneqjner7VOvaqreRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FU_AF_4yrffVF7_RRYo1RRRAF5_VFU_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFU_CAF_11__gerr_abqrVFU_FR_RRyRR:
 nop
@@ -1673,7 +1673,7 @@
 b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_020VTencuvpOhssreFbheprR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_012VBzkBofreireRAF4_15OcUjBzkBofreireRAF4_15OaUjBzkBofreireRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_012VBzkBofreireRAF4_15OcUjBzkBofreireRAF4_15OaUjBzkBofreireRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_012VBzkBofreireRAF4_15OcUjBzkBofreireRAF4_15OaUjBzkBofreireRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_012VBzkBofreireRAF4_15OcUjBzkBofreireRAF4_15OaUjBzkBofreireRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -1688,7 +1688,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_012OaUjBzkFgberQ0Ri:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR12__svaq_rdhnyVF7_RRECAF_16__gerr_abqr_onfrVFT_RRECAF_15__gerr_raq_abqrVFG_RREXG_:
 nop
@@ -1768,7 +1768,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_019OaUjBzkOhssreFbheprQ1Ri:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_017OfBzkOhssreFbheprR
+.weak b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_017OfBzkOhssreFbheprR
 .type b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_017OfBzkOhssreFbheprR,%object
 b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_017OfBzkOhssreFbheprR:
 .space __SIZEOF_POINTER__
@@ -1828,7 +1828,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_011OcUjBzkAbqr27_uvqy_trgTencuvpOhssreHfntrRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeRwAFg3__18shapgvbaVSiAF3_6FgnghfRwRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_011OcUjBzkAbqrRAF5_8VBzkAbqrRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_011OcUjBzkAbqrRAF5_8VBzkAbqrRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo
 .type b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_011OcUjBzkAbqrRAF5_8VBzkAbqrRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf18trgFreivprVagreanyVAF0_5zrqvn3bzk4I1_011OcUjBzkAbqrRAF5_8VBzkAbqrRiiRRAF_2fcVG0_RREXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRRoo:
 nop
@@ -1928,7 +1928,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_09VBzkFgber13hayvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_04VBzkRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_04VBzkRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_04VBzkRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_04VBzkRiRRAF_2fcVG_RRF9_:
 nop
@@ -2098,7 +2098,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_019OaUjBzkOhssreFbhepr24_uvqy_baVachgOhssreNqqrqRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCFN_AFg3__18shapgvbaVSiEFN_RRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_016VBzkOhssreFbheprRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_016VBzkOhssreFbheprRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_016VBzkOhssreFbheprRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_016VBzkOhssreFbheprRiRRAF_2fcVG_RRF9_:
 nop
@@ -2143,7 +2143,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_019OcUjBzkOhssreFbhepr21frgUNYVafgehzragngvbaRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_016VBzkOhssreFbheprRAF4_19OcUjBzkOhssreFbheprRAF4_19OaUjBzkOhssreFbheprRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
+.weak b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_016VBzkOhssreFbheprRAF4_19OcUjBzkOhssreFbheprRAF4_19OaUjBzkOhssreFbheprRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR
 .type b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_016VBzkOhssreFbheprRAF4_19OcUjBzkOhssreFbheprRAF4_19OaUjBzkOhssreFbheprRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR,%function
 b__MA7naqebvq8uneqjner10sebzOvaqreVAF0_5zrqvn3bzk4I1_016VBzkOhssreFbheprRAF4_19OcUjBzkOhssreFbheprRAF4_19OaUjBzkOhssreFbheprRRRAF_2fcVG_RREXAF8_VAF0_7VOvaqreRRR:
 nop
@@ -2173,7 +2173,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_012OcUjBzkFgber12trgUnfuPunvaRAFg3__18shapgvbaVSiEXAF0_8uvqy_irpVAF0_10uvqy_neenlVuYz32RWRRRRRRRR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_8shapgvbaVSA7naqebvq2fcVAF9_4uvqy4onfr4I1_05VOnfrRRRCiRRRRRAF_19__znc_inyhr_pbzcnerVF7_FW_AF_4yrffVF7_RRYo1RRRAF5_VFW_RRR5renfrRAF_21__gerr_pbafg_vgrengbeVFW_CAF_11__gerr_abqrVFW_FT_RRyRR:
 nop
@@ -2188,7 +2188,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_019OaUjBzkOhssreFbheprQ0Ri:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_017OfBzkOhssreFbheprR0_AF3_16VBzkOhssreFbheprR
+.weak b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_017OfBzkOhssreFbheprR0_AF3_16VBzkOhssreFbheprR
 .type b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_017OfBzkOhssreFbheprR0_AF3_16VBzkOhssreFbheprR,%object
 b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_017OfBzkOhssreFbheprR0_AF3_16VBzkOhssreFbheprR:
 .space __SIZEOF_POINTER__
@@ -2218,7 +2218,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_015OaUjBzkBofreire4cvatRi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner5zrqvn3bzk4I1_04VBzkRRnFRBF6_
+.weak b__MA7naqebvq2fcVAF_8uneqjner5zrqvn3bzk4I1_04VBzkRRnFRBF6_
 .type b__MA7naqebvq2fcVAF_8uneqjner5zrqvn3bzk4I1_04VBzkRRnFRBF6_,%function
 b__MA7naqebvq2fcVAF_8uneqjner5zrqvn3bzk4I1_04VBzkRRnFRBF6_:
 nop
@@ -2273,7 +2273,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_015OcUjBzkBofreire13hayvaxGbQrnguREXAF_2fcVAF0_20uvqy_qrngu_erpvcvragRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_012VBzkBofreireRAF_4uvqy4onfr4I1_05VOnfrRAF5_15OcUjBzkBofreireRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_012VBzkBofreireRAF_4uvqy4onfr4I1_05VOnfrRAF5_15OcUjBzkBofreireRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_012VBzkBofreireRAF_4uvqy4onfr4I1_05VOnfrRAF5_15OcUjBzkBofreireRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_012VBzkBofreireRAF_4uvqy4onfr4I1_05VOnfrRAF5_15OcUjBzkBofreireRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -2283,7 +2283,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_023OaUjTencuvpOhssreFbhepr16_uvqy_frgFhfcraqRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCFN_AFg3__18shapgvbaVSiEFN_RRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_012VBzkBofreireRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_012VBzkBofreireRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_012VBzkBofreireRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_012VBzkBofreireRiRRAF_2fcVG_RRF9_:
 nop
@@ -2363,7 +2363,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_09VBzkFgber4cvatRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_04VBzkRAF_4uvqy4onfr4I1_05VOnfrRAF5_7OcUjBzkRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_04VBzkRAF_4uvqy4onfr4I1_05VOnfrRAF5_7OcUjBzkRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_04VBzkRAF_4uvqy4onfr4I1_05VOnfrRAF5_7OcUjBzkRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_04VBzkRAF_4uvqy4onfr4I1_05VOnfrRAF5_7OcUjBzkRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -2543,7 +2543,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_012OcUjBzkFgber12_uvqy_trgBzkRCAF0_10VVagresnprRCAF0_7qrgnvyf16UvqyVafgehzragbeREXAF0_11uvqy_fgevatR:
 nop
 .data
-.globl b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_010OfBzkFgberR0_AF3_9VBzkFgberR
+.weak b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_010OfBzkFgberR0_AF3_9VBzkFgberR
 .type b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_010OfBzkFgberR0_AF3_9VBzkFgberR,%object
 b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_010OfBzkFgberR0_AF3_9VBzkFgberR:
 .space __SIZEOF_POINTER__
@@ -2568,7 +2568,7 @@
 b__MGua16_A7naqebvq8uneqjner5zrqvn3bzk4I1_015OcUjBzkBofreire15baYnfgFgebatErsRCXi:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_8uneqjner27uvqy_ovaqre_qrngu_erpvcvragRRRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
@@ -2628,7 +2628,7 @@
 b__MGPA7naqebvq8uneqjner5zrqvn3bzk4I1_07OcUjBzkR0_AF0_11OcVagresnprVAF3_4VBzkRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
+.weak b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_
 .type b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_,%function
 b__MAFg3__16irpgbeVAF_8shapgvbaVSiA7naqebvq8uneqjner7qrgnvyf16UvqyVafgehzragbe20VafgehzragngvbaRiragRCXpF8_F8_F8_CAF0_VCiAF_9nyybpngbeVF9_RRRRRRRAFN_VFS_RRRP2REXFU_:
 nop
@@ -2693,7 +2693,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_023OaUjTencuvpOhssreFbhepr35_uvqy_frgErcrngCerivbhfSenzrQrynlHfRCAF_4uvqy4onfr4I1_08OaUjOnfrREXAF0_6CnepryRCFN_AFg3__18shapgvbaVSiEFN_RRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_08VBzkAbqrRiRRAF_2fcVG_RRF9_
+.weak b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_08VBzkAbqrRiRRAF_2fcVG_RRF9_
 .type b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_08VBzkAbqrRiRRAF_2fcVG_RRF9_,%function
 b__MA7naqebvq8uneqjner7qrgnvyf15jencCnffguebhtuVAF0_5zrqvn3bzk4I1_08VBzkAbqrRiRRAF_2fcVG_RRF9_:
 nop
@@ -2763,7 +2763,7 @@
 b__MGi0_a24_A7naqebvq8uneqjner5zrqvn3bzk4I1_012OaUjBzkFgberQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_016VBzkOhssreFbheprRAF_4uvqy4onfr4I1_05VOnfrRAF5_19OcUjBzkOhssreFbheprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_016VBzkOhssreFbheprRAF_4uvqy4onfr4I1_05VOnfrRAF5_19OcUjBzkOhssreFbheprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo
 .type b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_016VBzkOhssreFbheprRAF_4uvqy4onfr4I1_05VOnfrRAF5_19OcUjBzkOhssreFbheprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13pnfgVagresnprVAF0_5zrqvn3bzk4I1_016VBzkOhssreFbheprRAF_4uvqy4onfr4I1_05VOnfrRAF5_19OcUjBzkOhssreFbheprRRRAF0_6ErgheaVAF_2fcVG_RRRRAFQ_VG0_RRCXpo:
 nop
@@ -2783,7 +2783,7 @@
 b__MA7naqebvq8uneqjner5zrqvn3bzk4I1_07OcUjBzk18perngrVachgFhesnprRAFg3__18shapgvbaVSiAF3_6FgnghfREXAF_2fcVAF0_8tencuvpf11ohssredhrhr4I1_022VTencuvpOhssreCebqhpreRRREXAF8_VAF3_20VTencuvpOhssreFbheprRRRRRR:
 nop
 .data
-.globl b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_05OfBzkR
+.weak b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_05OfBzkR
 .type b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_05OfBzkR,%object
 b__MGIA7naqebvq8uneqjner5zrqvn3bzk4I1_05OfBzkR:
 .space __SIZEOF_POINTER__
diff --git a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_167.S b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_167.S
index 4e31c79..a5aa75b 100644
--- a/benchmarks/linker_relocation/gen/liblinker_reloc_bench_167.S
+++ b/benchmarks/linker_relocation/gen/liblinker_reloc_bench_167.S
@@ -23,7 +23,7 @@
 b__MA7neg_ncv3qrk7QrkSvyrQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7neg_ncv3qrk10ZrgubqVasbRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWF3_RRRiQcBG_
+.weak b__MAFg3__16irpgbeVA7neg_ncv3qrk10ZrgubqVasbRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWF3_RRRiQcBG_
 .type b__MAFg3__16irpgbeVA7neg_ncv3qrk10ZrgubqVasbRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWF3_RRRiQcBG_,%function
 b__MAFg3__16irpgbeVA7neg_ncv3qrk10ZrgubqVasbRAF_9nyybpngbeVF3_RRR24__rzcynpr_onpx_fybj_cnguVWF3_RRRiQcBG_:
 nop
@@ -88,7 +88,7 @@
 b__MA7neg_ncv3qrk9QrkFgevat21t_RkgQrkSvyrTrgFgevatR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7neg_ncv3qrk10ZrgubqVasbRAF_9nyybpngbeVF3_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF3_EF5_RR
+.weak b__MAFg3__16irpgbeVA7neg_ncv3qrk10ZrgubqVasbRAF_9nyybpngbeVF3_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF3_EF5_RR
 .type b__MAFg3__16irpgbeVA7neg_ncv3qrk10ZrgubqVasbRAF_9nyybpngbeVF3_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF3_EF5_RR,%function
 b__MAFg3__16irpgbeVA7neg_ncv3qrk10ZrgubqVasbRAF_9nyybpngbeVF3_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF3_EF5_RR:
 nop
diff --git a/benchmarks/linker_relocation/gen/linker_reloc_bench_main.S b/benchmarks/linker_relocation/gen/linker_reloc_bench_main.S
index 47ee62f..d697bfd 100644
--- a/benchmarks/linker_relocation/gen/linker_reloc_bench_main.S
+++ b/benchmarks/linker_relocation/gen/linker_reloc_bench_main.S
@@ -35,12 +35,12 @@
 b__MA7naqebvq6freire14OebnqpnfgEnqvb13GharePnyyonpx14AngvirPnyyonpxQ2Ri:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_R7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_R7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_R7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_R7qrfgeblRi:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_:
 nop
@@ -60,7 +60,7 @@
 b__MGPA7naqebvq23TaffZrnfherzragPnyyonpxR0_AF_8uneqjner4taff4I2_024VTaffZrnfherzragPnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR
+.weak b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR
 .type b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR,%object
 b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR:
 .space __SIZEOF_POINTER__
@@ -70,7 +70,7 @@
 b__MA7naqebvq18AngvirVachgZnantre19trgCbvagreQvfcynlVqRi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff18ivfvovyvgl_pbageby4I1_022VTaffIvfvovyvglPbagebyRRQ2Ri:
 nop
@@ -90,12 +90,12 @@
 b__MA7naqebvq18qvfnoyrNhgbFhfcraqRi:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_:
 nop
@@ -115,7 +115,7 @@
 b__MA7naqebvq6freire14OebnqpnfgEnqvb7pbaireg23ZbqhyrCebcregvrfSebzUnyRC7_WAVRaiEXAF_8uneqjner14oebnqpnfgenqvb4I1_110CebcregvrfRvEXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq20purpxQrpynerqFreivprVAF_8uneqjner8ivoengbe9VIvoengbeRRRAF_2fcVG_RREXAF_8Fgevat16R
+.weak b__MA7naqebvq20purpxQrpynerqFreivprVAF_8uneqjner8ivoengbe9VIvoengbeRRRAF_2fcVG_RREXAF_8Fgevat16R
 .type b__MA7naqebvq20purpxQrpynerqFreivprVAF_8uneqjner8ivoengbe9VIvoengbeRRRAF_2fcVG_RREXAF_8Fgevat16R,%function
 b__MA7naqebvq20purpxQrpynerqFreivprVAF_8uneqjner8ivoengbe9VIvoengbeRRRAF_2fcVG_RREXAF_8Fgevat16R:
 nop
@@ -145,7 +145,7 @@
 b__MGi0_a32_A7naqebvq18AngvirVachgZnantreQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_06VNTaffRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_06VNTaffRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_06VNTaffRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_06VNTaffRRQ2Ri:
 nop
@@ -155,7 +155,7 @@
 b__MA7naqebvq20OhssreCebqhpreGuernq10ernqlGbEhaRi:
 nop
 .data
-.globl b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR8_AF_7OOvaqreR
+.weak b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR8_AF_7OOvaqreR
 .type b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR8_AF_7OOvaqreR,%object
 b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
@@ -165,7 +165,7 @@
 b_WAV_BaYbnq:
 nop
 .text
-.globl b__MA7naqebvq12TaffPnyyonpx18taffFiFgnghfPoVzcyVAF_8uneqjner8uvqy_irpVAF2_4taff4I2_013VTaffPnyyonpx10TaffFiVasbRRRRRAF2_6ErgheaViRREXG_
+.weak b__MA7naqebvq12TaffPnyyonpx18taffFiFgnghfPoVzcyVAF_8uneqjner8uvqy_irpVAF2_4taff4I2_013VTaffPnyyonpx10TaffFiVasbRRRRRAF2_6ErgheaViRREXG_
 .type b__MA7naqebvq12TaffPnyyonpx18taffFiFgnghfPoVzcyVAF_8uneqjner8uvqy_irpVAF2_4taff4I2_013VTaffPnyyonpx10TaffFiVasbRRRRRAF2_6ErgheaViRREXG_,%function
 b__MA7naqebvq12TaffPnyyonpx18taffFiFgnghfPoVzcyVAF_8uneqjner8uvqy_irpVAF2_4taff4I2_013VTaffPnyyonpx10TaffFiVasbRRRRRAF2_6ErgheaViRREXG_:
 nop
@@ -195,7 +195,7 @@
 b__MA7naqebvq11WGiVachgUny13AbgvslUnaqyre13unaqyrZrffntrREXAF_7ZrffntrR:
 nop
 .data
-.globl b__MGPA7naqebvq14JnxrhcPnyyonpxR8_AF_7OOvaqreR
+.weak b__MGPA7naqebvq14JnxrhcPnyyonpxR8_AF_7OOvaqreR
 .type b__MGPA7naqebvq14JnxrhcPnyyonpxR8_AF_7OOvaqreR,%object
 b__MGPA7naqebvq14JnxrhcPnyyonpxR8_AF_7OOvaqreR:
 .space __SIZEOF_POINTER__
@@ -220,12 +220,12 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb5hgvyf13znxr_fryrpgbeRAF1_4I1_04OnaqRww:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRR6erunfuRz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF8_RRRRAF_22__habeqrerq_znc_unfureVwFN_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwFN_AF_8rdhny_gbVwRRYo1RRRAF6_VFN_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF8_RRRRAF_22__habeqrerq_znc_unfureVwFN_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwFN_AF_8rdhny_gbVwRRYo1RRRAF6_VFN_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF8_RRRRAF_22__habeqrerq_znc_unfureVwFN_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwFN_AF_8rdhny_gbVwRRYo1RRRAF6_VFN_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF8_RRRRAF_22__habeqrerq_znc_unfureVwFN_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwFN_AF_8rdhny_gbVwRRYo1RRRAF6_VFN_RRR8__erunfuRz:
 nop
@@ -245,12 +245,12 @@
 b__MGi0_a136_A7naqebvq18AngvirVachgZnantre39purpxVawrpgRiragfCrezvffvbaAbaErragenagRvv:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner5cbjre4I1_16VCbjreRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner5cbjre4I1_16VCbjreRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner5cbjre4I1_16VCbjreRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner5cbjre4I1_16VCbjreRRQ2Ri:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_R7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_R7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_R7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_R7__pybarRi:
 nop
@@ -260,7 +260,7 @@
 b__MA7naqebvq18AngvirVachgZnantre14trgQrivprNyvnfREXAF_21VachgQrivprVqragvsvreR:
 nop
 .text
-.globl b__MA7naqebvq22jnvgSbeQrpynerqFreivprVAF_8uneqjner8ivoengbe9VIvoengbeRRRAF_2fcVG_RREXAF_8Fgevat16R
+.weak b__MA7naqebvq22jnvgSbeQrpynerqFreivprVAF_8uneqjner8ivoengbe9VIvoengbeRRRAF_2fcVG_RREXAF_8Fgevat16R
 .type b__MA7naqebvq22jnvgSbeQrpynerqFreivprVAF_8uneqjner8ivoengbe9VIvoengbeRRRAF_2fcVG_RREXAF_8Fgevat16R,%function
 b__MA7naqebvq22jnvgSbeQrpynerqFreivprVAF_8uneqjner8ivoengbe9VIvoengbeRRRAF_2fcVG_RREXAF_8Fgevat16R:
 nop
@@ -270,12 +270,12 @@
 b__MA7naqebvq17jvcr_oybpx_qrivprRv:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7__pybarRCAF0_6__onfrVF6_RR
+.weak b__MAXFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7__pybarRCAF0_6__onfrVF6_RR
 .type b__MAXFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7__pybarRCAF0_6__onfrVF6_RR,%function
 b__MAXFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7__pybarRCAF0_6__onfrVF6_RR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRRQ2Ri
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRRQ2Ri
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRRQ2Ri,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRRQ2Ri:
 nop
@@ -290,12 +290,12 @@
 b__MA7naqebvq23TaffZrnfherzragPnyyonpx18genafyngrTaffPybpxVAF_8uneqjner4taff4I1_024VTaffZrnfherzragPnyyonpx9TaffPybpxRRRiEAF_10WninBowrpgREXG_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_R7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_R7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_R7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_R7__pybarRi:
 nop
@@ -305,7 +305,7 @@
 b__MA7naqebvq18tCbjreFgngfUnyI1_0R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_RpyRBF3_BF5_
+.weak b__MAFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_RpyRBF3_BF5_
 .type b__MAFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_RpyRBF3_BF5_,%function
 b__MAFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_RpyRBF3_BF5_:
 nop
@@ -315,7 +315,7 @@
 b__MA7naqebvq18AngvirVachgZnantre20ybnqCbvagreErfbheprfRCAF_16CbvagreErfbheprfRv:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_010VTaffQrohtRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_010VTaffQrohtRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_010VTaffQrohtRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_010VTaffQrohtRRQ2Ri:
 nop
@@ -340,7 +340,7 @@
 b__MA7naqebvq29TaffIvfvovyvglPbagebyPnyyonpx20vfVaRzretraplFrffvbaRi:
 nop
 .text
-.globl b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__113__gerr_erzbirVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -360,12 +360,12 @@
 b__MA7naqebvq20TaffTrbsraprPnyyonpx20taffTrbsraprErzbirPoRvAF_8uneqjner4taff4I1_021VTaffTrbsraprPnyyonpx14TrbsraprFgnghfR:
 nop
 .text
-.globl b__MA7naqebvq24TaffOngpuvatPnyyonpxHgvy23taffYbpngvbaOngpuPoVzcyVAF_8uneqjner4taff4I2_012TaffYbpngvbaRRRAF2_6ErgheaViRREXAF2_8uvqy_irpVG_RR
+.weak b__MA7naqebvq24TaffOngpuvatPnyyonpxHgvy23taffYbpngvbaOngpuPoVzcyVAF_8uneqjner4taff4I2_012TaffYbpngvbaRRRAF2_6ErgheaViRREXAF2_8uvqy_irpVG_RR
 .type b__MA7naqebvq24TaffOngpuvatPnyyonpxHgvy23taffYbpngvbaOngpuPoVzcyVAF_8uneqjner4taff4I2_012TaffYbpngvbaRRRAF2_6ErgheaViRREXAF2_8uvqy_irpVG_RR,%function
 b__MA7naqebvq24TaffOngpuvatPnyyonpxHgvy23taffYbpngvbaOngpuPoVzcyVAF_8uneqjner4taff4I2_012TaffYbpngvbaRRRAF2_6ErgheaViRREXAF2_8uvqy_irpVG_RR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
@@ -395,7 +395,7 @@
 b__MA7naqebvq6freire14OebnqpnfgEnqvb13GharePnyyonpx14AngvirPnyyonpxQ0Ri:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_013VTaffOngpuvatRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_013VTaffOngpuvatRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_013VTaffOngpuvatRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_013VTaffOngpuvatRRQ2Ri:
 nop
@@ -445,7 +445,7 @@
 b__MA7naqebvq12TaffPnyyonpx10taffAnzrPoREXAF_8uneqjner11uvqy_fgevatR:
 nop
 .data
-.globl b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -455,12 +455,12 @@
 b__MA7naqebvq23TaffZrnfherzragPnyyonpx21taffZrnfherzragPo_2_0REXAF_8uneqjner4taff4I2_024VTaffZrnfherzragPnyyonpx8TaffQngnR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_07VTaffAvRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_07VTaffAvRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_07VTaffAvRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_07VTaffAvRRQ2Ri:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_09VTaffKgenRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_09VTaffKgenRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_09VTaffKgenRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_09VTaffKgenRRQ2Ri:
 nop
@@ -480,7 +480,7 @@
 b__MGGA7naqebvq11WGiVachgUny15GiVachgPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner2ie4I1_03VIeRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner2ie4I1_03VIeRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner2ie4I1_03VIeRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner2ie4I1_03VIeRRQ2Ri:
 nop
@@ -490,7 +490,7 @@
 b__MA7naqebvq6freire14OebnqpnfgEnqvb7pbaireg23ZbqhyrCebcregvrfSebzUnyRC7_WAVRaiEXAF_8uneqjner14oebnqpnfgenqvb4I1_010CebcregvrfRvEXAFg3__112onfvp_fgevatVpAFO_11pune_genvgfVpRRAFO_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVAF0_14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRRRRAFg3__112onfvp_fgevatVpAF8_11pune_genvgfVpRRAF8_9nyybpngbeVpRRRREXG_z
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVAF0_14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRRRRAFg3__112onfvp_fgevatVpAF8_11pune_genvgfVpRRAF8_9nyybpngbeVpRRRREXG_z
 .type b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVAF0_14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRRRRAFg3__112onfvp_fgevatVpAF8_11pune_genvgfVpRRAF8_9nyybpngbeVpRRRREXG_z,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVAF0_14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRRRRAFg3__112onfvp_fgevatVpAF8_11pune_genvgfVpRRAF8_9nyybpngbeVpRRRREXG_z:
 nop
@@ -515,17 +515,17 @@
 b__MA7naqebvq41ertvfgre_naqebvq_freire_PbafhzreVeFreivprRC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiC7_WAVRaiRRREAF_9nyybpngbeVF6_RRR10chfu_sebagREXF6_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiC7_WAVRaiRRREAF_9nyybpngbeVF6_RRR10chfu_sebagREXF6_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiC7_WAVRaiRRREAF_9nyybpngbeVF6_RRR10chfu_sebagREXF6_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiC7_WAVRaiRRREAF_9nyybpngbeVF6_RRR10chfu_sebagREXF6_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner8gbFgevatVuRRAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR
+.weak b__MA7naqebvq8uneqjner8gbFgevatVuRRAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR
 .type b__MA7naqebvq8uneqjner8gbFgevatVuRRAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR,%function
 b__MA7naqebvq8uneqjner8gbFgevatVuRRAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR
+.weak b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR
 .type b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR,%function
 b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR:
 nop
@@ -570,7 +570,7 @@
 b__MA7naqebvq53ertvfgre_naqebvq_freire_ybpngvba_TaffYbpngvbaCebivqreRC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R18qrfgebl_qrnyybpngrRi:
 nop
@@ -585,12 +585,12 @@
 b__MA7naqebvq39ertvfgre_naqebvq_freire_nz_NccPbzcnpgbeRC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR7frrxbssRkAF_8vbf_onfr7frrxqveRw:
 nop
 .data
-.globl b__MGPA7naqebvq14JnxrhcPnyyonpxR0_AF_6flfgrz7fhfcraq17OaFhfcraqPnyyonpxR
+.weak b__MGPA7naqebvq14JnxrhcPnyyonpxR0_AF_6flfgrz7fhfcraq17OaFhfcraqPnyyonpxR
 .type b__MGPA7naqebvq14JnxrhcPnyyonpxR0_AF_6flfgrz7fhfcraq17OaFhfcraqPnyyonpxR,%object
 b__MGPA7naqebvq14JnxrhcPnyyonpxR0_AF_6flfgrz7fhfcraq17OaFhfcraqPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -600,12 +600,12 @@
 b__MA7naqebvq18AngvirVachgZnantreQ2Ri:
 nop
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVEXF6_RRiBG_:
 nop
 .text
-.globl b__MA7naqebvq15NTaffQvfcngpure9frgFreireVAF_8uneqjner4taff4I1_06VNTaffRAF4_14VNTaffPnyyonpxRRRiAF_2fcVG_RRC7_WAVRaivC8_wfgevatv
+.weak b__MA7naqebvq15NTaffQvfcngpure9frgFreireVAF_8uneqjner4taff4I1_06VNTaffRAF4_14VNTaffPnyyonpxRRRiAF_2fcVG_RRC7_WAVRaivC8_wfgevatv
 .type b__MA7naqebvq15NTaffQvfcngpure9frgFreireVAF_8uneqjner4taff4I1_06VNTaffRAF4_14VNTaffPnyyonpxRRRiAF_2fcVG_RRC7_WAVRaivC8_wfgevatv,%function
 b__MA7naqebvq15NTaffQvfcngpure9frgFreireVAF_8uneqjner4taff4I1_06VNTaffRAF4_14VNTaffPnyyonpxRRRiAF_2fcVG_RRC7_WAVRaivC8_wfgevatv:
 nop
@@ -615,7 +615,7 @@
 b__MA7naqebvq16WninZrgubqUrycreVfR10fvtangher_R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR6vafregVAF_11__jenc_vgreVCF5_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF5_AF_15vgrengbe_genvgfVFR_R9ersreraprRRR5inyhrRFP_R4glcrRAFN_VCXF5_RRFR_FR_
+.weak b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR6vafregVAF_11__jenc_vgreVCF5_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF5_AF_15vgrengbe_genvgfVFR_R9ersreraprRRR5inyhrRFP_R4glcrRAFN_VCXF5_RRFR_FR_
 .type b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR6vafregVAF_11__jenc_vgreVCF5_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF5_AF_15vgrengbe_genvgfVFR_R9ersreraprRRR5inyhrRFP_R4glcrRAFN_VCXF5_RRFR_FR_,%function
 b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR6vafregVAF_11__jenc_vgreVCF5_RRRRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF5_AF_15vgrengbe_genvgfVFR_R9ersreraprRRR5inyhrRFP_R4glcrRAFN_VCXF5_RRFR_FR_:
 nop
@@ -670,12 +670,12 @@
 b__MA7naqebvq39ertvfgre_naqebvq_freire_IvoengbeFreivprRC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR8biresybjRv:
 nop
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_8uneqjner8ivoengbe17VIvoengbePnyyonpxRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_8uneqjner8ivoengbe17VIvoengbePnyyonpxRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_8uneqjner8ivoengbe17VIvoengbePnyyonpxRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_8uneqjner8ivoengbe17VIvoengbePnyyonpxRR10baNfOvaqreRi:
 nop
@@ -690,7 +690,7 @@
 b__MA7naqebvq23TaffZrnfherzragPnyyonpx30genafyngrFvatyrTaffZrnfherzragVAF_8uneqjner4taff4I1_124VTaffZrnfherzragPnyyonpx15TaffZrnfherzragRRRiCXG_EAF_10WninBowrpgR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_6flfgrz7fhfcraq22VFhfcraqPbagebyFreivprRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_6flfgrz7fhfcraq22VFhfcraqPbagebyFreivprRRQ2Ri
 .type b__MA7naqebvq2fcVAF_6flfgrz7fhfcraq22VFhfcraqPbagebyFreivprRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_6flfgrz7fhfcraq22VFhfcraqPbagebyFreivprRRQ2Ri:
 nop
@@ -700,7 +700,7 @@
 b__MA7naqebvq11WGiVachgUnyQ2Ri:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_:
 nop
@@ -710,17 +710,17 @@
 b__MA7naqebvq6freire14OebnqpnfgEnqvb13GharePnyyonpx14AngvirPnyyonpx11arjZrgnqngnRwwEXAF_8uneqjner8uvqy_irpVAF4_14oebnqpnfgenqvb4I1_08ZrgnQngnRRR:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRR25__rzcynpr_havdhr_xrl_netfVwWEwEFU_RRRAFQ_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFV_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRR25__rzcynpr_havdhr_xrl_netfVwWEwEFU_RRRAFQ_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFV_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRR25__rzcynpr_havdhr_xrl_netfVwWEwEFU_RRRAFQ_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFV_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRR25__rzcynpr_havdhr_xrl_netfVwWEwEFU_RRRAFQ_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFV_CiRRRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MA7naqebvq23TaffZrnfherzragPnyyonpx23genafyngrNaqFrgTaffQngnVAF_8uneqjner4taff4I1_024VTaffZrnfherzragPnyyonpx8TaffQngnRRRiEXG_
+.weak b__MA7naqebvq23TaffZrnfherzragPnyyonpx23genafyngrNaqFrgTaffQngnVAF_8uneqjner4taff4I1_024VTaffZrnfherzragPnyyonpx8TaffQngnRRRiEXG_
 .type b__MA7naqebvq23TaffZrnfherzragPnyyonpx23genafyngrNaqFrgTaffQngnVAF_8uneqjner4taff4I1_024VTaffZrnfherzragPnyyonpx8TaffQngnRRRiEXG_,%function
 b__MA7naqebvq23TaffZrnfherzragPnyyonpx23genafyngrNaqFrgTaffQngnVAF_8uneqjner4taff4I1_024VTaffZrnfherzragPnyyonpx8TaffQngnRRRiEXG_:
 nop
@@ -735,7 +735,7 @@
 b__MA7naqebvq11WGiVachgUny17baQrivprNinvynoyrREXAF_8uneqjner2gi5vachg4I1_017GiVachgQrivprVasbR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR8qb_fcyngRCiCXiz:
 nop
@@ -755,12 +755,12 @@
 b__MA7naqebvq17UqzvPrpPbagebyyre11vfPbaarpgrqRv:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_RR
+.weak b__MGIAFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_RR
 .type b__MGIAFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_RR,%object
 b__MGIAFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_RR:
 .space __SIZEOF_POINTER__
@@ -770,7 +770,7 @@
 b_ntaffVsnpr_I2_0:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR7qb_pbclRCiCXiz:
 nop
@@ -785,7 +785,7 @@
 b__MA7naqebvq16WninZrgubqUrycreVC8_wfgevatR10fvtangher_R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_016VTaffZrnfherzragRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_016VTaffZrnfherzragRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_016VTaffZrnfherzragRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_016VTaffZrnfherzragRRQ2Ri:
 nop
@@ -810,7 +810,7 @@
 b__MGPA7naqebvq6freire14OebnqpnfgEnqvb13GharePnyyonpx14AngvirPnyyonpxR0_AF_8uneqjner14oebnqpnfgenqvb4I1_014VGharePnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR24__rzcynpr_onpx_fybj_cnguVWEwRRRiQcBG_
+.weak b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR24__rzcynpr_onpx_fybj_cnguVWEwRRRiQcBG_
 .type b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR24__rzcynpr_onpx_fybj_cnguVWEwRRRiQcBG_,%function
 b__MAFg3__16irpgbeVwAF_9nyybpngbeVwRRR24__rzcynpr_onpx_fybj_cnguVWEwRRRiQcBG_:
 nop
@@ -845,7 +845,7 @@
 b__MGPA7naqebvq14TaffAvPnyyonpxR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq20NvqyIvoengbePnyyonpxR
+.weak b__MGIA7naqebvq20NvqyIvoengbePnyyonpxR
 .type b__MGIA7naqebvq20NvqyIvoengbePnyyonpxR,%object
 b__MGIA7naqebvq20NvqyIvoengbePnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -855,27 +855,27 @@
 b__MGGA7naqebvq12TaffPnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR
+.weak b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR
 .type b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR,%object
 b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
+.weak b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi
 .type b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi,%function
 b__MAXFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR3fgeRi:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVAF0_14oebnqpnfgenqvb4I1_08ZrgnQngnRRRRRAFg3__112onfvp_fgevatVpAF8_11pune_genvgfVpRRAF8_9nyybpngbeVpRRRREXG_z
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVAF0_14oebnqpnfgenqvb4I1_08ZrgnQngnRRRRRAFg3__112onfvp_fgevatVpAF8_11pune_genvgfVpRRAF8_9nyybpngbeVpRRRREXG_z
 .type b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVAF0_14oebnqpnfgenqvb4I1_08ZrgnQngnRRRRRAFg3__112onfvp_fgevatVpAF8_11pune_genvgfVpRRAF8_9nyybpngbeVpRRRREXG_z,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVAF0_14oebnqpnfgenqvb4I1_08ZrgnQngnRRRRRAFg3__112onfvp_fgevatVpAF8_11pune_genvgfVpRRAF8_9nyybpngbeVpRRRREXG_z:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_RpyRBFN_FU_
+.weak b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_RpyRBFN_FU_
 .type b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_RpyRBFN_FU_,%function
 b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_RpyRBFN_FU_:
 nop
@@ -890,7 +890,7 @@
 b__MA7naqebvq29TaffIvfvovyvglPbagebyPnyyonpx11asjAbgvslPoREXAF_8uneqjner4taff18ivfvovyvgl_pbageby4I1_030VTaffIvfvovyvglPbagebyPnyyonpx15AsjAbgvsvpngvbaR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_05VTaffRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_05VTaffRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_05VTaffRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_05VTaffRRQ2Ri:
 nop
@@ -910,27 +910,27 @@
 b__MGi0_a48_A7naqebvq18AngvirVachgZnantre23bognvaCbvagrePbagebyyreRv:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_09VNTaffEvyRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_09VNTaffEvyRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_09VNTaffEvyRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_09VNTaffEvyRRQ2Ri:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_116VTaffZrnfherzragRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_116VTaffZrnfherzragRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_116VTaffZrnfherzragRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_116VTaffZrnfherzragRRQ2Ri:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVvR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVvR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVvR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVvR7qb_pbclRCiCXiz:
 nop
 .data
-.globl b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -955,7 +955,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb5hgvyf9vfQvtvgnyREXAF1_4I1_115CebtenzFryrpgbeR:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiC7_WAVRaiRRRAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiC7_WAVRaiRRRAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiC7_WAVRaiRRRAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiC7_WAVRaiRRRAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_:
 nop
@@ -990,12 +990,12 @@
 b__MA7naqebvq9NynezVzcyQ1Ri:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7__pybarRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR8__erunfuRz:
 nop
@@ -1065,7 +1065,7 @@
 b__MA7naqebvq13gelTrgFreivprVAF_8uneqjner8ivoengbe9VIvoengbeRRRAF_2fcVG_RRi:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi:
 nop
@@ -1075,7 +1075,7 @@
 b__MA7naqebvq16WninZrgubqUrycreVsR10fvtangher_R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR8qb_fcyngRCiCXiz:
 nop
@@ -1090,7 +1090,7 @@
 b__MA7naqebvq6freire14OebnqpnfgEnqvb7pbaireg17IraqbeVasbSebzUnyRC7_WAVRaiEXAF_8uneqjner8uvqy_irpVAF5_14oebnqpnfgenqvb4I1_114IraqbeXrlInyhrRRR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_22CbjreUnyQrnguErpvcvragRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_22CbjreUnyQrnguErpvcvragRRQ2Ri
 .type b__MA7naqebvq2fcVAF_22CbjreUnyQrnguErpvcvragRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_22CbjreUnyQrnguErpvcvragRRQ2Ri:
 nop
@@ -1105,7 +1105,7 @@
 b_taffUnyQrnguErpvcvrag:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR0_AF_8uneqjner8ivoengbe17VIvoengbePnyyonpxR
+.weak b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR0_AF_8uneqjner8ivoengbe17VIvoengbePnyyonpxR
 .type b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR0_AF_8uneqjner8ivoengbe17VIvoengbePnyyonpxR,%object
 b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR0_AF_8uneqjner8ivoengbe17VIvoengbePnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -1120,7 +1120,7 @@
 b__MA7naqebvq6freire14OebnqpnfgEnqvb13GharePnyyonpx14AngvirPnyyonpx12pbasvtPunatrRAF_8uneqjner14oebnqpnfgenqvb4I1_06ErfhygREXAF6_10OnaqPbasvtR:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR
+.weak b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR
 .type b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR,%object
 b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR:
 .space __SIZEOF_POINTER__
@@ -1130,7 +1130,7 @@
 b__MA7naqebvq25tGureznyUnyQrnguErpvcvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_09VNTaffEvyRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_09VNTaffEvyRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_09VNTaffEvyRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_09VNTaffEvyRRQ2Ri:
 nop
@@ -1160,12 +1160,12 @@
 b__MA7naqebvq24tCbjreFgngfUnyFgngrAnzrfR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7qrfgeblRi:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq10FcevgrVpbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBvRRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq10FcevgrVpbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBvRRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq10FcevgrVpbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBvRRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq10FcevgrVpbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWBvRRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_:
 nop
@@ -1180,12 +1180,12 @@
 b__MA7naqebvq17UqzvPrpPbagebyyre12trgCbegVasbfRi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_010VTaffQrohtRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_010VTaffQrohtRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_010VTaffQrohtRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_010VTaffQrohtRRQ2Ri:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_018VTaffPbasvthengvbaRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_018VTaffPbasvthengvbaRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_018VTaffPbasvthengvbaRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_018VTaffPbasvthengvbaRRQ2Ri:
 nop
@@ -1195,7 +1195,7 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb5hgvyf7gharfGbREXAF1_4I1_115CebtenzFryrpgbeRF6_:
 nop
 .text
-.globl b__MA7naqebvq4onfr9CnefrHvagVuRRoCXpCG_F4_o
+.weak b__MA7naqebvq4onfr9CnefrHvagVuRRoCXpCG_F4_o
 .type b__MA7naqebvq4onfr9CnefrHvagVuRRoCXpCG_F4_o,%function
 b__MA7naqebvq4onfr9CnefrHvagVuRRoCXpCG_F4_o:
 nop
@@ -1205,7 +1205,7 @@
 b__MA7naqebvq16WninZrgubqUrycreVoR10fvtangher_R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_15VTaffRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_15VTaffRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_15VTaffRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_15VTaffRRQ2Ri:
 nop
@@ -1215,7 +1215,7 @@
 b__MA7naqebvq11WGiVachgUny15GiVachgPnyyonpxP2RCF0_:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi:
 nop
@@ -1235,7 +1235,7 @@
 b__MGi0_a40_A7naqebvq18AngvirVachgZnantre26abgvslPbasvthengvbaPunatrqRy:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_06VNTaffRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_06VNTaffRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_06VNTaffRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_06VNTaffRRQ2Ri:
 nop
@@ -1270,17 +1270,17 @@
 b__MA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf10zncErtvbafREXAF_8uneqjner8uvqy_irpVAF3_14oebnqpnfgenqvb4I1_010OnaqPbasvtRRR:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_018VTaffPbasvthengvbaRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_018VTaffPbasvthengvbaRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_018VTaffPbasvthengvbaRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_018VTaffPbasvthengvbaRRQ2Ri:
 nop
 .data
-.globl b__MGIA7naqebvq8XrlRiragR
+.weak b__MGIA7naqebvq8XrlRiragR
 .type b__MGIA7naqebvq8XrlRiragR,%object
 b__MGIA7naqebvq8XrlRiragR:
 .space __SIZEOF_POINTER__
@@ -1310,12 +1310,12 @@
 b__MGIA7naqebvq11WGiVachgUny13AbgvslUnaqyreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner8gbFgevatVAF0_14oebnqpnfgenqvb4I1_114IraqbeXrlInyhrRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR
+.weak b__MA7naqebvq8uneqjner8gbFgevatVAF0_14oebnqpnfgenqvb4I1_114IraqbeXrlInyhrRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR
 .type b__MA7naqebvq8uneqjner8gbFgevatVAF0_14oebnqpnfgenqvb4I1_114IraqbeXrlInyhrRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR,%function
 b__MA7naqebvq8uneqjner8gbFgevatVAF0_14oebnqpnfgenqvb4I1_114IraqbeXrlInyhrRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1330,7 +1330,7 @@
 b__MA7naqebvq18AngvirVachgZnantre28trgGbhpuNssvarGenafsbezngvbaRC7_WAVRaiC12_wsybngNeenl:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_015VTaffTrbsrapvatRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_015VTaffTrbsrapvatRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_015VTaffTrbsrapvatRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_015VTaffTrbsrapvatRRQ2Ri:
 nop
@@ -1360,12 +1360,12 @@
 b_taffOngpuvatVsnpr_I2_0:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiC7_WAVRaiRRRAF_9nyybpngbeVF6_RRR10chfu_sebagRBF6_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiC7_WAVRaiRRRAF_9nyybpngbeVF6_RRR10chfu_sebagRBF6_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiC7_WAVRaiRRRAF_9nyybpngbeVF6_RRR10chfu_sebagRBF6_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiC7_WAVRaiRRRAF_9nyybpngbeVF6_RRR10chfu_sebagRBF6_:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner8gbFgevatVAF0_14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR
+.weak b__MA7naqebvq8uneqjner8gbFgevatVAF0_14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR
 .type b__MA7naqebvq8uneqjner8gbFgevatVAF0_14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR,%function
 b__MA7naqebvq8uneqjner8gbFgevatVAF0_14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR:
 nop
@@ -1380,22 +1380,22 @@
 b__MGIA7naqebvq30ZrnfherzragPbeerpgvbafPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_R18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_R18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_R18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_R18qrfgebl_qrnyybpngrRi:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_RpyRBFN_FU_
+.weak b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_RpyRBFN_FU_
 .type b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_RpyRBFN_FU_,%function
 b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_RpyRBFN_FU_:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_22__habeqrerq_znc_unfureVwF8_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF8_AF_8rdhny_gbVwRRYo1RRRAF5_VF8_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_22__habeqrerq_znc_unfureVwF8_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF8_AF_8rdhny_gbVwRRYo1RRRAF5_VF8_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_22__habeqrerq_znc_unfureVwF8_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF8_AF_8rdhny_gbVwRRYo1RRRAF5_VF8_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_22__habeqrerq_znc_unfureVwF8_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF8_AF_8rdhny_gbVwRRYo1RRRAF5_VF8_RRR6erunfuRz:
 nop
@@ -1420,12 +1420,12 @@
 b_taffPbeerpgvbafVsnpr:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR
+.weak b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR
 .type b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR,%object
 b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR12__zbir_enatrRCF5_F9_F9_
+.weak b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR12__zbir_enatrRCF5_F9_F9_
 .type b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR12__zbir_enatrRCF5_F9_F9_,%function
 b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR12__zbir_enatrRCF5_F9_F9_:
 nop
@@ -1450,7 +1450,7 @@
 b__MA7naqebvq18AngvirVachgZnantre15frgVachgJvaqbjfRC7_WAVRaiC13_wbowrpgNeenlv:
 nop
 .text
-.globl b__MA7naqebvq12TaffPnyyonpx18taffYbpngvbaPoVzcyVAF_8uneqjner4taff4I1_012TaffYbpngvbaRRRAF2_6ErgheaViRREXG_
+.weak b__MA7naqebvq12TaffPnyyonpx18taffYbpngvbaPoVzcyVAF_8uneqjner4taff4I1_012TaffYbpngvbaRRRAF2_6ErgheaViRREXG_
 .type b__MA7naqebvq12TaffPnyyonpx18taffYbpngvbaPoVzcyVAF_8uneqjner4taff4I1_012TaffYbpngvbaRRRAF2_6ErgheaViRREXG_,%function
 b__MA7naqebvq12TaffPnyyonpx18taffYbpngvbaPoVzcyVAF_8uneqjner4taff4I1_012TaffYbpngvbaRRRAF2_6ErgheaViRREXG_:
 nop
@@ -1465,12 +1465,12 @@
 b_ntaffEvyVsnpr:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner8gbFgevatVzRRAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR
+.weak b__MA7naqebvq8uneqjner8gbFgevatVzRRAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR
 .type b__MA7naqebvq8uneqjner8gbFgevatVzRRAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR,%function
 b__MA7naqebvq8uneqjner8gbFgevatVzRRAFg3__112onfvp_fgevatVpAF2_11pune_genvgfVpRRAF2_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR:
 nop
@@ -1480,7 +1480,7 @@
 b__MGi0_a24_A7naqebvq18AngvirVachgZnantreQ1Ri:
 nop
 .text
-.globl b__MA7naqebvq24TaffOngpuvatPnyyonpxHgvy23taffYbpngvbaOngpuPoVzcyVAF_8uneqjner4taff4I1_012TaffYbpngvbaRRRAF2_6ErgheaViRREXAF2_8uvqy_irpVG_RR
+.weak b__MA7naqebvq24TaffOngpuvatPnyyonpxHgvy23taffYbpngvbaOngpuPoVzcyVAF_8uneqjner4taff4I1_012TaffYbpngvbaRRRAF2_6ErgheaViRREXAF2_8uvqy_irpVG_RR
 .type b__MA7naqebvq24TaffOngpuvatPnyyonpxHgvy23taffYbpngvbaOngpuPoVzcyVAF_8uneqjner4taff4I1_012TaffYbpngvbaRRRAF2_6ErgheaViRREXAF2_8uvqy_irpVG_RR,%function
 b__MA7naqebvq24TaffOngpuvatPnyyonpxHgvy23taffYbpngvbaOngpuPoVzcyVAF_8uneqjner4taff4I1_012TaffYbpngvbaRRRAF2_6ErgheaViRREXAF2_8uvqy_irpVG_RR:
 nop
@@ -1490,7 +1490,7 @@
 b_taffQrohtVsnpr_I2_0:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRR5pyrneRi
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRR5pyrneRi
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRR5pyrneRi,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRR5pyrneRi:
 nop
@@ -1505,7 +1505,7 @@
 b__MGIA7naqebvq16TaffKgenPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi:
 nop
@@ -1515,12 +1515,12 @@
 b__MGIA7naqebvq6freire14OebnqpnfgEnqvb5Ghare17UnyQrnguErpvcvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq23TaffZrnfherzragPnyyonpx28genafyngrNyyTaffZrnfherzragfVAF_8uneqjner4taff4I1_124VTaffZrnfherzragPnyyonpx15TaffZrnfherzragRRRC13_wbowrpgNeenlC7_WAVRaiCXG_z
+.weak b__MA7naqebvq23TaffZrnfherzragPnyyonpx28genafyngrNyyTaffZrnfherzragfVAF_8uneqjner4taff4I1_124VTaffZrnfherzragPnyyonpx15TaffZrnfherzragRRRC13_wbowrpgNeenlC7_WAVRaiCXG_z
 .type b__MA7naqebvq23TaffZrnfherzragPnyyonpx28genafyngrNyyTaffZrnfherzragfVAF_8uneqjner4taff4I1_124VTaffZrnfherzragPnyyonpx15TaffZrnfherzragRRRC13_wbowrpgNeenlC7_WAVRaiCXG_z,%function
 b__MA7naqebvq23TaffZrnfherzragPnyyonpx28genafyngrNyyTaffZrnfherzragfVAF_8uneqjner4taff4I1_124VTaffZrnfherzragPnyyonpx15TaffZrnfherzragRRRC13_wbowrpgNeenlC7_WAVRaiCXG_z:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_6flfgrz7fhfcraq4I1_014VFlfgrzFhfcraqRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_6flfgrz7fhfcraq4I1_014VFlfgrzFhfcraqRRQ2Ri
 .type b__MA7naqebvq2fcVAF_6flfgrz7fhfcraq4I1_014VFlfgrzFhfcraqRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_6flfgrz7fhfcraq4I1_014VFlfgrzFhfcraqRRQ2Ri:
 nop
@@ -1530,12 +1530,12 @@
 b__MA7naqebvq6freire14OebnqpnfgEnqvb7pbaireg19__GuebjVsSnvyrqUvqyRC7_WAVRaiEXAF_8uneqjner7qrgnvyf13erghea_fgnghfR:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_RR
+.weak b__MGIAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_RR
 .type b__MGIAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_RR,%object
 b__MGIAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_RR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner7gurezny4I1_08VGureznyRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner7gurezny4I1_08VGureznyRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner7gurezny4I1_08VGureznyRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner7gurezny4I1_08VGureznyRRQ2Ri:
 nop
@@ -1545,7 +1545,7 @@
 b__MA7naqebvq18AngvirVachgZnantre16cbxrHfreNpgvivglRyv:
 nop
 .data
-.globl b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -1560,7 +1560,7 @@
 b__MA7naqebvq11WGiVachgUnyP1RC7_WAVRaiC8_wbowrpgAF_2fcVAF_8uneqjner2gi5vachg4I1_08VGiVachgRRREXAF5_VAF_6YbbcreRRR:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7__pybarRi:
 nop
@@ -1585,7 +1585,7 @@
 b__MGPA7naqebvq11WGiVachgUny13AbgvslUnaqyreR0_AF_14ZrffntrUnaqyreR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR
+.weak b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR
 .type b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR,%function
 b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR:
 nop
@@ -1595,17 +1595,17 @@
 b__MA7naqebvq18NTaffPnyyonpx_I1_013pbairegGbVcI4Rw:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff23zrnfherzrag_pbeerpgvbaf4I1_023VZrnfherzragPbeerpgvbafRRQ2Ri:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi:
 nop
 .text
-.globl b__MAFg3__18shapgvbaVSiC7_WAVRaiC8_wbowrpgRRQ2Ri
+.weak b__MAFg3__18shapgvbaVSiC7_WAVRaiC8_wbowrpgRRQ2Ri
 .type b__MAFg3__18shapgvbaVSiC7_WAVRaiC8_wbowrpgRRQ2Ri,%function
 b__MAFg3__18shapgvbaVSiC7_WAVRaiC8_wbowrpgRRQ2Ri:
 nop
@@ -1630,7 +1630,7 @@
 b__MA7naqebvq20AngvirPnyyonpxGuernqP2RC7_WninIZ:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_:
 nop
@@ -1655,7 +1655,7 @@
 b__MA7naqebvq47ertvfgre_naqebvq_freire_arg_ArgjbexFgngfFreivprRC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_R18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_R18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_R18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_R18qrfgebl_qrnyybpngrRi:
 nop
@@ -1685,12 +1685,12 @@
 b__MGPA7naqebvq30ZrnfherzragPbeerpgvbafPnyyonpxR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
+.weak b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_
 .type b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_,%function
 b__MAFg3__16irpgbeVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF4_VF6_RRR21__chfu_onpx_fybj_cnguVF6_RRiBG_:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7qrfgeblRi:
 nop
@@ -1720,7 +1720,7 @@
 b_taffTrbsrapvatVsnpr:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner8gbFgevatVAF0_14oebnqpnfgenqvb4I1_08ZrgnQngnRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR
+.weak b__MA7naqebvq8uneqjner8gbFgevatVAF0_14oebnqpnfgenqvb4I1_08ZrgnQngnRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR
 .type b__MA7naqebvq8uneqjner8gbFgevatVAF0_14oebnqpnfgenqvb4I1_08ZrgnQngnRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR,%function
 b__MA7naqebvq8uneqjner8gbFgevatVAF0_14oebnqpnfgenqvb4I1_08ZrgnQngnRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXAF0_8uvqy_irpVG_RR:
 nop
@@ -1730,7 +1730,7 @@
 b__MA7naqebvq21cebprffCbjreUnyErgheaREXAF_8uneqjner6ErgheaViRRCXp:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_022VTaffAnivtngvbaZrffntrRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_022VTaffAnivtngvbaZrffntrRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_022VTaffAnivtngvbaZrffntrRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_022VTaffAnivtngvbaZrffntrRRQ2Ri:
 nop
@@ -1755,17 +1755,17 @@
 b__MA7naqebvq6freire14OebnqpnfgEnqvb5Ghare17trgAngvirPnyyonpxRC7_WAVRaiEXAFg3__110havdhr_cgeV8_wbowrpgAF5_8shapgvbaVSiCF7_RRRRR:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR
+.weak b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR
 .type b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR,%object
 b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq14JnxrhcPnyyonpxR0_AF_11OaVagresnprVAF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxRRR
+.weak b__MGPA7naqebvq14JnxrhcPnyyonpxR0_AF_11OaVagresnprVAF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxRRR
 .type b__MGPA7naqebvq14JnxrhcPnyyonpxR0_AF_11OaVagresnprVAF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxRRR,%object
 b__MGPA7naqebvq14JnxrhcPnyyonpxR0_AF_11OaVagresnprVAF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxRRR:
 .space __SIZEOF_POINTER__
@@ -1795,7 +1795,7 @@
 b__MA7naqebvq60ertvfgre_naqebvq_freire_oebnqpnfgenqvb_OebnqpnfgEnqvbFreivprRC7_WAVRai:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_13habeqrerq_zncVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRAF_4unfuVwRRAF_8rdhny_gbVwRRAF6_VAF_4cnveVXwF8_RRRRRRRRAF_22__habeqrerq_znc_unfureVwFV_FN_Yo1RRRAF_21__habeqrerq_znc_rdhnyVwFV_FP_Yo1RRRAF6_VFV_RRR8__erunfuRz:
 nop
@@ -1815,7 +1815,7 @@
 b__MA7naqebvq18AngvirVachgZnantre19frgQvfcynlIvrjcbegfRC7_WAVRaiC13_wbowrpgNeenl:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq10FcevgrVpbaRAF_9nyybpngbeVF2_RRR7erfreirRz
+.weak b__MAFg3__16irpgbeVA7naqebvq10FcevgrVpbaRAF_9nyybpngbeVF2_RRR7erfreirRz
 .type b__MAFg3__16irpgbeVA7naqebvq10FcevgrVpbaRAF_9nyybpngbeVF2_RRR7erfreirRz,%function
 b__MAFg3__16irpgbeVA7naqebvq10FcevgrVpbaRAF_9nyybpngbeVF2_RRR7erfreirRz:
 nop
@@ -1850,7 +1850,7 @@
 b__MA7naqebvq18AngvirVachgZnantre24trgXrlobneqYnlbhgBireynlREXAF_21VachgQrivprVqragvsvreR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15QvfcynlIvrjcbegRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq15QvfcynlIvrjcbegRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq15QvfcynlIvrjcbegRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq15QvfcynlIvrjcbegRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVEXF2_RRiBG_:
 nop
@@ -1860,7 +1860,7 @@
 b__MGi0_a24_A7naqebvq6freire14OebnqpnfgEnqvb13GharePnyyonpx14AngvirPnyyonpxQ1Ri:
 nop
 .text
-.globl b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
+.weak b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_
 .type b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_,%function
 b__MAFg3__127__gerr_onynapr_nsgre_vafregVCAF_16__gerr_abqr_onfrVCiRRRRiG_F5_:
 nop
@@ -1880,7 +1880,7 @@
 b__MA7naqebvq26tCbjreFgngfUnyFhoflfgrzVqfR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__18shapgvbaVSvC7_WAVRaiC8_wbowrpgRRQ2Ri
+.weak b__MAFg3__18shapgvbaVSvC7_WAVRaiC8_wbowrpgRRQ2Ri
 .type b__MAFg3__18shapgvbaVSvC7_WAVRaiC8_wbowrpgRRQ2Ri,%function
 b__MAFg3__18shapgvbaVSvC7_WAVRaiC8_wbowrpgRRQ2Ri:
 nop
@@ -1895,7 +1895,7 @@
 b__MGPA7naqebvq11WGiVachgUny15GiVachgPnyyonpxR0_AF_8uneqjner2gi5vachg4I1_016VGiVachgPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq11OaVagresnprVAF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxRR10baNfOvaqreRi
+.weak b__MA7naqebvq11OaVagresnprVAF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxRR10baNfOvaqreRi
 .type b__MA7naqebvq11OaVagresnprVAF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxRR10baNfOvaqreRi,%function
 b__MA7naqebvq11OaVagresnprVAF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxRR10baNfOvaqreRi:
 nop
@@ -1915,7 +1915,7 @@
 b__MGGA7naqebvq18NTaffPnyyonpx_I2_0R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__114__guernq_cebklVAF_5ghcyrVWAF_10havdhr_cgeVAF_15__guernq_fgehpgRAF_14qrsnhyg_qryrgrVF3_RRRRZA7naqebvq20AngvirPnyyonpxGuernqRSiiRCF8_RRRRRCiFQ_
+.weak b__MAFg3__114__guernq_cebklVAF_5ghcyrVWAF_10havdhr_cgeVAF_15__guernq_fgehpgRAF_14qrsnhyg_qryrgrVF3_RRRRZA7naqebvq20AngvirPnyyonpxGuernqRSiiRCF8_RRRRRCiFQ_
 .type b__MAFg3__114__guernq_cebklVAF_5ghcyrVWAF_10havdhr_cgeVAF_15__guernq_fgehpgRAF_14qrsnhyg_qryrgrVF3_RRRRZA7naqebvq20AngvirPnyyonpxGuernqRSiiRCF8_RRRRRCiFQ_,%function
 b__MAFg3__114__guernq_cebklVAF_5ghcyrVWAF_10havdhr_cgeVAF_15__guernq_fgehpgRAF_14qrsnhyg_qryrgrVF3_RRRRZA7naqebvq20AngvirPnyyonpxGuernqRSiiRCF8_RRRRRCiFQ_:
 nop
@@ -1930,12 +1930,12 @@
 b__MA7naqebvq17trgFhfcraqPbagebyRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF8_RRRRAF_22__habeqrerq_znc_unfureVwFN_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwFN_AF_8rdhny_gbVwRRYo1RRRAF6_VFN_RRR25__rzcynpr_havdhr_xrl_netfVwWEwAF2_VA7naqebvq8uneqjner11uvqy_fgevatRFC_RRRRRAF2_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF8_RRRRAF_22__habeqrerq_znc_unfureVwFN_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwFN_AF_8rdhny_gbVwRRYo1RRRAF6_VFN_RRR25__rzcynpr_havdhr_xrl_netfVwWEwAF2_VA7naqebvq8uneqjner11uvqy_fgevatRFC_RRRRRAF2_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF8_RRRRAF_22__habeqrerq_znc_unfureVwFN_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwFN_AF_8rdhny_gbVwRRYo1RRRAF6_VFN_RRR25__rzcynpr_havdhr_xrl_netfVwWEwAF2_VA7naqebvq8uneqjner11uvqy_fgevatRFC_RRRRRAF2_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF8_RRRRAF_22__habeqrerq_znc_unfureVwFN_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwFN_AF_8rdhny_gbVwRRYo1RRRAF6_VFN_RRR25__rzcynpr_havdhr_xrl_netfVwWEwAF2_VA7naqebvq8uneqjner11uvqy_fgevatRFC_RRRRRAF2_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVFN_CiRRRRoRREXG_QcBG0_:
 nop
 .data
-.globl b__MGGA7naqebvq19UqzvPrpRiragUnaqyreR
+.weak b__MGGA7naqebvq19UqzvPrpRiragUnaqyreR
 .type b__MGGA7naqebvq19UqzvPrpRiragUnaqyreR,%object
 b__MGGA7naqebvq19UqzvPrpRiragUnaqyreR:
 .space __SIZEOF_POINTER__
@@ -1945,12 +1945,12 @@
 b__MA7naqebvq20TaffTrbsraprPnyyonpx20taffTrbsraprFgnghfPoRAF_8uneqjner4taff4I1_021VTaffTrbsraprPnyyonpx20TrbsraprNinvynovyvglREXAF3_12TaffYbpngvbaR:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_RpyRBF3_BF5_
+.weak b__MAFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_RpyRBF3_BF5_
 .type b__MAFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_RpyRBF3_BF5_,%function
 b__MAFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_RpyRBF3_BF5_:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVvR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVvR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVvR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVvR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -1960,7 +1960,7 @@
 b__MGi0_a48_A7naqebvq18AngvirVachgZnantre9abgvslNAEREXAF_2fcVAF_22VachgNccyvpngvbaUnaqyrRRREXAF1_VAF_7VOvaqreRRREXAFg3__112onfvp_fgevatVpAFN_11pune_genvgfVpRRAFN_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MA7naqebvq12TaffPnyyonpx18taffFiFgnghfPoVzcyVAF_8uneqjner4taff4I1_013VTaffPnyyonpx12TaffFiFgnghfRRRAF2_6ErgheaViRREXG_
+.weak b__MA7naqebvq12TaffPnyyonpx18taffFiFgnghfPoVzcyVAF_8uneqjner4taff4I1_013VTaffPnyyonpx12TaffFiFgnghfRRRAF2_6ErgheaViRREXG_
 .type b__MA7naqebvq12TaffPnyyonpx18taffFiFgnghfPoVzcyVAF_8uneqjner4taff4I1_013VTaffPnyyonpx12TaffFiFgnghfRRRAF2_6ErgheaViRREXG_,%function
 b__MA7naqebvq12TaffPnyyonpx18taffFiFgnghfPoVzcyVAF_8uneqjner4taff4I1_013VTaffPnyyonpx12TaffFiFgnghfRRRAF2_6ErgheaViRREXG_:
 nop
@@ -1970,7 +1970,7 @@
 b__MA7naqebvq16WninZrgubqUrycreVyR10fvtangher_R:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR16_AF_13onfvp_bfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -1980,12 +1980,12 @@
 b__MGGA7naqebvq20TaffTrbsraprPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiC7_WAVRaiRRREAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_
+.weak b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiC7_WAVRaiRRREAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_
 .type b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiC7_WAVRaiRRREAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_,%function
 b__MAFg3__114__fcyvg_ohssreVCAF_8shapgvbaVSiC7_WAVRaiRRREAF_9nyybpngbeVF6_RRR9chfu_onpxRBF6_:
 nop
@@ -2000,27 +2000,27 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb5hgvyf4vfNzRAF1_4I1_04OnaqR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVvR16qb_zbir_onpxjneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVvR16qb_zbir_onpxjneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVvR16qb_zbir_onpxjneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVvR16qb_zbir_onpxjneqRCiCXiz:
 nop
 .text
-.globl b__MA7naqebvq2fcV18TaffQrnguErpvcvragRQ2Ri
+.weak b__MA7naqebvq2fcV18TaffQrnguErpvcvragRQ2Ri
 .type b__MA7naqebvq2fcV18TaffQrnguErpvcvragRQ2Ri,%function
 b__MA7naqebvq2fcV18TaffQrnguErpvcvragRQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR7qb_pbclRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR7qb_pbclRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR7qb_pbclRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR7qb_pbclRCiCXiz:
 nop
 .text
-.globl b__MAFg3__15qrdhrVAF_8shapgvbaVSiC7_WAVRaiRRRAF_9nyybpngbeVF5_RRR19__nqq_onpx_pncnpvglRi
+.weak b__MAFg3__15qrdhrVAF_8shapgvbaVSiC7_WAVRaiRRRAF_9nyybpngbeVF5_RRR19__nqq_onpx_pncnpvglRi
 .type b__MAFg3__15qrdhrVAF_8shapgvbaVSiC7_WAVRaiRRRAF_9nyybpngbeVF5_RRR19__nqq_onpx_pncnpvglRi,%function
 b__MAFg3__15qrdhrVAF_8shapgvbaVSiC7_WAVRaiRRRAF_9nyybpngbeVF5_RRR19__nqq_onpx_pncnpvglRi:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi:
 nop
@@ -2035,7 +2035,7 @@
 b__MGi0_a72_A7naqebvq18AngvirVachgZnantre14trgQrivprNyvnfREXAF_21VachgQrivprVqragvsvreR:
 nop
 .text
-.globl b__MA7naqebvq12TaffPnyyonpx18taffYbpngvbaPoVzcyVAF_8uneqjner4taff4I2_012TaffYbpngvbaRRRAF2_6ErgheaViRREXG_
+.weak b__MA7naqebvq12TaffPnyyonpx18taffYbpngvbaPoVzcyVAF_8uneqjner4taff4I2_012TaffYbpngvbaRRRAF2_6ErgheaViRREXG_
 .type b__MA7naqebvq12TaffPnyyonpx18taffYbpngvbaPoVzcyVAF_8uneqjner4taff4I2_012TaffYbpngvbaRRRAF2_6ErgheaViRREXG_,%function
 b__MA7naqebvq12TaffPnyyonpx18taffYbpngvbaPoVzcyVAF_8uneqjner4taff4I2_012TaffYbpngvbaRRRAF2_6ErgheaViRREXG_:
 nop
@@ -2050,7 +2050,7 @@
 b__MGPA7naqebvq23TaffZrnfherzragPnyyonpxR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq25TaffOngpuvatPnyyonpx_I2_0R
+.weak b__MGIA7naqebvq25TaffOngpuvatPnyyonpx_I2_0R
 .type b__MGIA7naqebvq25TaffOngpuvatPnyyonpx_I2_0R,%object
 b__MGIA7naqebvq25TaffOngpuvatPnyyonpx_I2_0R:
 .space __SIZEOF_POINTER__
@@ -2060,7 +2060,7 @@
 b__MA7naqebvq20AngvirPnyyonpxGuernq4fgbcRi:
 nop
 .data
-.globl b__MGIA7naqebvq14JnxrhcPnyyonpxR
+.weak b__MGIA7naqebvq14JnxrhcPnyyonpxR
 .type b__MGIA7naqebvq14JnxrhcPnyyonpxR,%object
 b__MGIA7naqebvq14JnxrhcPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -2095,7 +2095,7 @@
 b__MA7naqebvq23TaffZrnfherzragPnyyonpx30genafyngrFvatyrTaffZrnfherzragVAF_8uneqjner4taff4I1_024VTaffZrnfherzragPnyyonpx15TaffZrnfherzragRRRiCXG_EAF_10WninBowrpgR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_22__habeqrerq_znc_unfureVwF8_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF8_AF_8rdhny_gbVwRRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVwWEwEA7naqebvq8uneqjner11uvqy_fgevatRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_22__habeqrerq_znc_unfureVwF8_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF8_AF_8rdhny_gbVwRRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVwWEwEA7naqebvq8uneqjner11uvqy_fgevatRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_22__habeqrerq_znc_unfureVwF8_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF8_AF_8rdhny_gbVwRRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVwWEwEA7naqebvq8uneqjner11uvqy_fgevatRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_22__habeqrerq_znc_unfureVwF8_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF8_AF_8rdhny_gbVwRRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVwWEwEA7naqebvq8uneqjner11uvqy_fgevatRRRRAF_4cnveVAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_:
 nop
@@ -2110,7 +2110,7 @@
 b__MGPA7naqebvq20TaffTrbsraprPnyyonpxR0_AF_8uneqjner4taff4I1_021VTaffTrbsraprPnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR8_AF_7VOvaqreR
+.weak b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR8_AF_7VOvaqreR
 .type b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR8_AF_7VOvaqreR,%object
 b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
@@ -2120,12 +2120,12 @@
 b__MA7naqebvq30tTrgFhoflfgrzYbjCbjreFgngfVzcyR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR0_AF_8uneqjner8ivoengbe18OaIvoengbePnyyonpxR
+.weak b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR0_AF_8uneqjner8ivoengbe18OaIvoengbePnyyonpxR
 .type b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR0_AF_8uneqjner8ivoengbe18OaIvoengbePnyyonpxR,%object
 b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR0_AF_8uneqjner8ivoengbe18OaIvoengbePnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi:
 nop
@@ -2150,7 +2150,7 @@
 b__MGIA7naqebvq11WGiVachgUny15GiVachgPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R18qrfgebl_qrnyybpngrRi:
 nop
@@ -2160,42 +2160,42 @@
 b__MA7naqebvq18AngvirVachgZnantre25baCbvagreQbjaBhgfvqrSbphfREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVuRRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXG_z
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVuRRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXG_z
 .type b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVuRRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXG_z,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVuRRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXG_z:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVvR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVvR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVvR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVvR12qb_pbafgehpgRCiz:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRQ2Ri
 .type b__MA7naqebvq2fcVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_6flfgrz7fhfcraq4I1_09VJnxrYbpxRRQ2Ri:
 nop
 .text
-.globl b__MA7naqebvq7unyPnyyVAF_8uneqjner6ErgheaViRRAF1_8ivoengbe4I1_09VIvoengbeRWRWRRRG_ZG0_SF7_QcG1_RQcBG2_
+.weak b__MA7naqebvq7unyPnyyVAF_8uneqjner6ErgheaViRRAF1_8ivoengbe4I1_09VIvoengbeRWRWRRRG_ZG0_SF7_QcG1_RQcBG2_
 .type b__MA7naqebvq7unyPnyyVAF_8uneqjner6ErgheaViRRAF1_8ivoengbe4I1_09VIvoengbeRWRWRRRG_ZG0_SF7_QcG1_RQcBG2_,%function
 b__MA7naqebvq7unyPnyyVAF_8uneqjner6ErgheaViRRAF1_8ivoengbe4I1_09VIvoengbeRWRWRRRG_ZG0_SF7_QcG1_RQcBG2_:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_R7__pybarRCAF0_6__onfrVFV_RR
+.weak b__MAXFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_R7__pybarRCAF0_6__onfrVFV_RR
 .type b__MAXFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_R7__pybarRCAF0_6__onfrVFV_RR,%function
 b__MAXFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_R7__pybarRCAF0_6__onfrVFV_RR:
 nop
 .text
-.globl b__MA7naqebvq2fcV19NAngvirJvaqbjOhssreRnFRCF1_
+.weak b__MA7naqebvq2fcV19NAngvirJvaqbjOhssreRnFRCF1_
 .type b__MA7naqebvq2fcV19NAngvirJvaqbjOhssreRnFRCF1_,%function
 b__MA7naqebvq2fcV19NAngvirJvaqbjOhssreRnFRCF1_:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_24GureznyUnyQrnguErpvcvragRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_24GureznyUnyQrnguErpvcvragRRQ2Ri
 .type b__MA7naqebvq2fcVAF_24GureznyUnyQrnguErpvcvragRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_24GureznyUnyQrnguErpvcvragRRQ2Ri:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVvR8qb_fcyngRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVvR8qb_fcyngRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVvR8qb_fcyngRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVvR8qb_fcyngRCiCXiz:
 nop
@@ -2205,7 +2205,7 @@
 b__MA7naqebvq29TaffAnivtngvbaZrffntrPnyyonpx23taffAnivtngvbaZrffntrPoREXAF_8uneqjner4taff4I1_030VTaffAnivtngvbaZrffntrPnyyonpx21TaffAnivtngvbaZrffntrR:
 nop
 .data
-.globl b__MGI18TaffQrnguErpvcvrag
+.weak b__MGI18TaffQrnguErpvcvrag
 .type b__MGI18TaffQrnguErpvcvrag,%object
 b__MGI18TaffQrnguErpvcvrag:
 .space __SIZEOF_POINTER__
@@ -2215,7 +2215,7 @@
 b__MA7naqebvq41ertvfgre_naqebvq_freire_gi_GiHvachgOevqtrRC7_WAVRai:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_RR
+.weak b__MGIAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_RR
 .type b__MGIAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_RR,%object
 b__MGIAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRRAF_9nyybpngbeVFW_RRFV_RR:
 .space __SIZEOF_POINTER__
@@ -2230,12 +2230,12 @@
 b__MA7naqebvq12TaffPnyyonpx17fAzrnFgevatYratguR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_118VTaffPbasvthengvbaRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_118VTaffPbasvthengvbaRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_118VTaffPbasvthengvbaRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_118VTaffPbasvthengvbaRRQ2Ri:
 nop
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_14onfvp_vbfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -2250,22 +2250,22 @@
 b__MA7naqebvq21tTrgYbjCbjreFgngfVzcyR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRpyRBF5_:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR
+.weak b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR
 .type b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR,%function
 b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR:
 nop
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVzRRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXG_z
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVzRRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXG_z
 .type b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVzRRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXG_z,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVzRRRRAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRREXG_z:
 nop
@@ -2285,7 +2285,7 @@
 b__MA7naqebvq10WninBowrpgP1RC7_WAVRaiC7_wpynffC8_wbowrpg:
 nop
 .text
-.globl b__MA7naqebvq23TaffZrnfherzragPnyyonpx23genafyngrNaqFrgTaffQngnVAF_8uneqjner4taff4I2_024VTaffZrnfherzragPnyyonpx8TaffQngnRRRiEXG_
+.weak b__MA7naqebvq23TaffZrnfherzragPnyyonpx23genafyngrNaqFrgTaffQngnVAF_8uneqjner4taff4I2_024VTaffZrnfherzragPnyyonpx8TaffQngnRRRiEXG_
 .type b__MA7naqebvq23TaffZrnfherzragPnyyonpx23genafyngrNaqFrgTaffQngnVAF_8uneqjner4taff4I2_024VTaffZrnfherzragPnyyonpx8TaffQngnRRRiEXG_,%function
 b__MA7naqebvq23TaffZrnfherzragPnyyonpx23genafyngrNaqFrgTaffQngnVAF_8uneqjner4taff4I2_024VTaffZrnfherzragPnyyonpx8TaffQngnRRRiEXG_:
 nop
@@ -2335,12 +2335,12 @@
 b__MA7naqebvq44ertvfgre_naqebvq_freire_oebnqpnfgenqvb_GhareRC7_WninIZC7_WAVRai:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVvR10qb_qrfgeblRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVvR10qb_qrfgeblRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVvR10qb_qrfgeblRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVvR10qb_qrfgeblRCiz:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF7_WAF_4cnveVXF7_uRRRRRAFX_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF7_WAF_4cnveVXF7_uRRRRRAFX_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF7_WAF_4cnveVXF7_uRRRRRAFX_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVF7_WAF_4cnveVXF7_uRRRRRAFX_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_:
 nop
@@ -2355,7 +2355,7 @@
 b__MA7naqebvq16AngvirPbaarpgvbaP2Rvv:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR10qb_pbzcnerRCXiF9_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR10qb_pbzcnerRCXiF9_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR10qb_pbzcnerRCXiF9_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR10qb_pbzcnerRCXiF9_:
 nop
@@ -2365,7 +2365,7 @@
 b__MA7naqebvq18AngvirVachgZnantre39purpxVawrpgRiragfCrezvffvbaAbaErragenagRvv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq2fcVAF1_17VachgJvaqbjUnaqyrRRRAF_9nyybpngbeVF4_RRR21__chfu_onpx_fybj_cnguVEXF4_RRiBG_:
 nop
@@ -2385,7 +2385,7 @@
 b__MGPA7naqebvq6freire14OebnqpnfgEnqvb13GharePnyyonpx14AngvirPnyyonpxR0_AF_4uvqy4onfr4I1_05VOnfrR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq15NTaffQvfcngpure9frgFreireVAF_8uneqjner4taff4I2_06VNTaffRAF4_14VNTaffPnyyonpxRRRiAF_2fcVG_RRC7_WAVRaivC8_wfgevatv
+.weak b__MA7naqebvq15NTaffQvfcngpure9frgFreireVAF_8uneqjner4taff4I2_06VNTaffRAF4_14VNTaffPnyyonpxRRRiAF_2fcVG_RRC7_WAVRaivC8_wfgevatv
 .type b__MA7naqebvq15NTaffQvfcngpure9frgFreireVAF_8uneqjner4taff4I2_06VNTaffRAF4_14VNTaffPnyyonpxRRRiAF_2fcVG_RRC7_WAVRaivC8_wfgevatv,%function
 b__MA7naqebvq15NTaffQvfcngpure9frgFreireVAF_8uneqjner4taff4I2_06VNTaffRAF4_14VNTaffPnyyonpxRRRiAF_2fcVG_RRC7_WAVRaivC8_wfgevatv:
 nop
@@ -2425,7 +2425,7 @@
 b__MA7naqebvq20OhssreCebqhpreGuernq10frgFhesnprREXAF_2fcVAF_7FhesnprRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR
+.weak b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR
 .type b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR,%function
 b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RR:
 nop
@@ -2445,7 +2445,7 @@
 b__MA7naqebvq23TaffZrnfherzragPnyyonpx19trgZrnfherzragPbhagVAF_8uneqjner4taff4I1_024VTaffZrnfherzragPnyyonpx8TaffQngnRRRzEXG_:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRRR:
 .space __SIZEOF_POINTER__
@@ -2475,12 +2475,12 @@
 b__MGGA7naqebvq29TaffAnivtngvbaZrffntrPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_12AngvirUnaqyrRRnFRBF2_
+.weak b__MA7naqebvq2fcVAF_12AngvirUnaqyrRRnFRBF2_
 .type b__MA7naqebvq2fcVAF_12AngvirUnaqyrRRnFRBF2_,%function
 b__MA7naqebvq2fcVAF_12AngvirUnaqyrRRnFRBF2_:
 nop
 .data
-.globl b__MGPA7naqebvq14JnxrhcPnyyonpxR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq14JnxrhcPnyyonpxR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq14JnxrhcPnyyonpxR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq14JnxrhcPnyyonpxR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
@@ -2515,12 +2515,12 @@
 b__MA7naqebvq20AngvirPnyyonpxGuernqQ1Ri:
 nop
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9conpxsnvyRv:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi:
 nop
@@ -2540,12 +2540,12 @@
 b__MA7naqebvq11WGiVachgUny17nqqBeHcqngrFgernzRvvEXAF_2fcVAF_7FhesnprRRR:
 nop
 .data
-.globl b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGGAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVAF0_14oebnqpnfgenqvb4I1_114IraqbeXrlInyhrRRRRRAFg3__112onfvp_fgevatVpAF8_11pune_genvgfVpRRAF8_9nyybpngbeVpRRRREXG_z
+.weak b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVAF0_14oebnqpnfgenqvb4I1_114IraqbeXrlInyhrRRRRRAFg3__112onfvp_fgevatVpAF8_11pune_genvgfVpRRAF8_9nyybpngbeVpRRRREXG_z
 .type b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVAF0_14oebnqpnfgenqvb4I1_114IraqbeXrlInyhrRRRRRAFg3__112onfvp_fgevatVpAF8_11pune_genvgfVpRRAF8_9nyybpngbeVpRRRREXG_z,%function
 b__MA7naqebvq8uneqjner7qrgnvyf13neenlGbFgevatVAF0_8uvqy_irpVAF0_14oebnqpnfgenqvb4I1_114IraqbeXrlInyhrRRRRRAFg3__112onfvp_fgevatVpAF8_11pune_genvgfVpRRAF8_9nyybpngbeVpRRRREXG_z:
 nop
@@ -2555,7 +2555,7 @@
 b__MA7naqebvq6freire14OebnqpnfgEnqvb7pbaireg31GuebjCneprynoyrEhagvzrRkprcgvbaRC7_WAVRaiEXAFg3__112onfvp_fgevatVpAF5_11pune_genvgfVpRRAF5_9nyybpngbeVpRRRR:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wybatNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi:
 nop
@@ -2575,7 +2575,7 @@
 b__MGi0_a88_A7naqebvq18AngvirVachgZnantre26vagreprcgXrlOrsberDhrhrvatRCXAF_8XrlRiragREw:
 nop
 .text
-.globl b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
+.weak b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z
 .type b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z,%function
 b__MAFg3__124__chg_punenpgre_frdhraprVpAF_11pune_genvgfVpRRRREAF_13onfvp_bfgernzVG_G0_RRF7_CXF4_z:
 nop
@@ -2590,12 +2590,12 @@
 b__MA7naqebvq8uneqjner14oebnqpnfgenqvb5hgvyf6vfNzSzRAF1_4I1_111CebtenzGlcrR:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_R7__pybarRCAF0_6__onfrVFV_RR
+.weak b__MAXFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_R7__pybarRCAF0_6__onfrVFV_RR
 .type b__MAXFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_R7__pybarRCAF0_6__onfrVFV_RR,%function
 b__MAXFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_R7__pybarRCAF0_6__onfrVFV_RR:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR18qrfgebl_qrnyybpngrRi:
 nop
@@ -2630,12 +2630,12 @@
 b__MA7naqebvq18AngvirVachgZnantre14cvysreCbvagrefREXAF_2fcVAF_7VOvaqreRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq10FcevgrVpbaRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq10FcevgrVpbaRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq10FcevgrVpbaRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq10FcevgrVpbaRAF_9nyybpngbeVF2_RRR21__chfu_onpx_fybj_cnguVF2_RRiBG_:
 nop
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR
+.weak b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR
 .type b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR,%object
 b__MGIAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RRR:
 .space __SIZEOF_POINTER__
@@ -2645,17 +2645,17 @@
 b__MA7naqebvq23tCbjreFgngfUnyEnvyAnzrfR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq22CbjreUnyQrnguErpvcvragR
+.weak b__MGIA7naqebvq22CbjreUnyQrnguErpvcvragR
 .type b__MGIA7naqebvq22CbjreUnyQrnguErpvcvragR,%object
 b__MGIA7naqebvq22CbjreUnyQrnguErpvcvragR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIAFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_RR
+.weak b__MGIAFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_RR
 .type b__MGIAFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_RR,%object
 b__MGIAFg3__110__shapgvba6__shapVCSvC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_RR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPA7naqebvq19UqzvPrpRiragUnaqyreR0_AF_14ZrffntrUnaqyreR
+.weak b__MGPA7naqebvq19UqzvPrpRiragUnaqyreR0_AF_14ZrffntrUnaqyreR
 .type b__MGPA7naqebvq19UqzvPrpRiragUnaqyreR0_AF_14ZrffntrUnaqyreR,%object
 b__MGPA7naqebvq19UqzvPrpRiragUnaqyreR0_AF_14ZrffntrUnaqyreR:
 .space __SIZEOF_POINTER__
@@ -2730,7 +2730,7 @@
 b__MA7naqebvq6freire14OebnqpnfgEnqvb13GharePnyyonpx14AngvirPnyyonpx25pheeragCebtenzVasbPunatrqREXAF_8uneqjner14oebnqpnfgenqvb4I1_111CebtenzVasbR:
 nop
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi:
 nop
@@ -2740,7 +2740,7 @@
 b__MA7naqebvq15tQrnguErpvcvragR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_22__habeqrerq_znc_unfureVwF8_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF8_AF_8rdhny_gbVwRRYo1RRRAF5_VF8_RRR8__erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_22__habeqrerq_znc_unfureVwF8_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF8_AF_8rdhny_gbVwRRYo1RRRAF5_VF8_RRR8__erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_22__habeqrerq_znc_unfureVwF8_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF8_AF_8rdhny_gbVwRRYo1RRRAF5_VF8_RRR8__erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_22__habeqrerq_znc_unfureVwF8_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF8_AF_8rdhny_gbVwRRYo1RRRAF5_VF8_RRR8__erunfuRz:
 nop
@@ -2750,7 +2750,7 @@
 b__MA7naqebvq18AngvirVachgZnantre20ertvfgreVachgPunaaryRC7_WAVRaiEXAF_2fcVAF_12VachgPunaaryRRRv:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq15QvfcynlIvrjcbegRAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_
+.weak b__MAFg3__16irpgbeVA7naqebvq15QvfcynlIvrjcbegRAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_
 .type b__MAFg3__16irpgbeVA7naqebvq15QvfcynlIvrjcbegRAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_,%function
 b__MAFg3__16irpgbeVA7naqebvq15QvfcynlIvrjcbegRAF_9nyybpngbeVF2_RRR6nffvtaVCF2_RRAF_9ranoyr_vsVKnnfe21__vf_sbejneq_vgrengbeVG_RR5inyhrfe16vf_pbafgehpgvoyrVF2_AF_15vgrengbe_genvgfVF9_R9ersreraprRRR5inyhrRiR4glcrRF9_F9_:
 nop
@@ -2800,17 +2800,17 @@
 b__MGPA7naqebvq6freire14OebnqpnfgEnqvb13GharePnyyonpx14AngvirPnyyonpxR0_AF_8uneqjner14oebnqpnfgenqvb4I1_114VGharePnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_R7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_R7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_R7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVCSAF_10havdhr_cgeV8_wbowrpgAF_8shapgvbaVSiCF3_RRRRRC7_WAVRaiEXA7naqebvq8uneqjner14oebnqpnfgenqvb4I1_117CebtenzVqragvsvreRRAF_9nyybpngbeVFW_RRFV_R7qrfgeblRi:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF8_RRRRAF_22__habeqrerq_znc_unfureVwFN_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwFN_AF_8rdhny_gbVwRRYo1RRRAF6_VFN_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF8_RRRRAF_22__habeqrerq_znc_unfureVwFN_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwFN_AF_8rdhny_gbVwRRYo1RRRAF6_VFN_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF8_RRRRAF_22__habeqrerq_znc_unfureVwFN_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwFN_AF_8rdhny_gbVwRRYo1RRRAF6_VFN_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_4cnveVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRF8_RRRRAF_22__habeqrerq_znc_unfureVwFN_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwFN_AF_8rdhny_gbVwRRYo1RRRAF6_VFN_RRR6erunfuRz:
 nop
 .data
-.globl b__MGIA7naqebvq19UqzvPrpRiragUnaqyreR
+.weak b__MGIA7naqebvq19UqzvPrpRiragUnaqyreR
 .type b__MGIA7naqebvq19UqzvPrpRiragUnaqyreR,%object
 b__MGIA7naqebvq19UqzvPrpRiragUnaqyreR:
 .space __SIZEOF_POINTER__
@@ -2830,12 +2830,12 @@
 b__MA7naqebvq18AngvirVachgZnantre28trgGbhpuNssvarGenafsbezngvbaREXAFg3__112onfvp_fgevatVpAF1_11pune_genvgfVpRRAF1_9nyybpngbeVpRRRRv:
 nop
 .data
-.globl b__MGIA7naqebvq10WninBowrpgR
+.weak b__MGIA7naqebvq10WninBowrpgR
 .type b__MGIA7naqebvq10WninBowrpgR,%object
 b__MGIA7naqebvq10WninBowrpgR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner5cbjre4I1_06VCbjreRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner5cbjre4I1_06VCbjreRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner5cbjre4I1_06VCbjreRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner5cbjre4I1_06VCbjreRRQ2Ri:
 nop
@@ -2850,7 +2850,7 @@
 b__MA7naqebvq6freire14OebnqpnfgEnqvb7pbaireg15ZrgnqngnSebzUnyRC7_WAVRaiEXAF_8uneqjner8uvqy_irpVAF5_14oebnqpnfgenqvb4I1_08ZrgnQngnRRR:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RRCF5_
+.weak b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RRCF5_
 .type b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RRCF5_,%function
 b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR26__fjnc_bhg_pvephyne_ohssreREAF_14__fcyvg_ohssreVF5_EF7_RRCF5_:
 nop
@@ -2860,7 +2860,7 @@
 b__MA7naqebvq25tCbjreFgngfUnyCyngsbezVqfR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_22__habeqrerq_znc_unfureVwF8_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF8_AF_8rdhny_gbVwRRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwF7_RRRRRAFX_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_22__habeqrerq_znc_unfureVwF8_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF8_AF_8rdhny_gbVwRRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwF7_RRRRRAFX_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_22__habeqrerq_znc_unfureVwF8_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF8_AF_8rdhny_gbVwRRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwF7_RRRRRAFX_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVwAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRRRAF_22__habeqrerq_znc_unfureVwF8_AF_4unfuVwRRYo1RRRAF_21__habeqrerq_znc_rdhnyVwF8_AF_8rdhny_gbVwRRYo1RRRAF5_VF8_RRR25__rzcynpr_havdhr_xrl_netfVwWEXAF_4cnveVXwF7_RRRRRAFX_VAF_15__unfu_vgrengbeVCAF_11__unfu_abqrVF8_CiRRRRoRREXG_QcBG0_:
 nop
@@ -2870,17 +2870,17 @@
 b__MA7naqebvq16WninZrgubqUrycreVgR10fvtangher_R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq3ocs10fgngf_yvarRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq3ocs10fgngf_yvarRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq3ocs10fgngf_yvarRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq3ocs10fgngf_yvarRAF_9nyybpngbeVF3_RRR21__chfu_onpx_fybj_cnguVEXF3_RRiBG_:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR
+.weak b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR
 .type b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR,%function
 b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wfgevatRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR:
 nop
 .data
-.globl b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -2890,7 +2890,7 @@
 b__MGPA7naqebvq6freire14OebnqpnfgEnqvb5Ghare17UnyQrnguErpvcvragR0_AF_8uneqjner20uvqy_qrngu_erpvcvragR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq24GureznyUnyQrnguErpvcvragR
+.weak b__MGIA7naqebvq24GureznyUnyQrnguErpvcvragR
 .type b__MGIA7naqebvq24GureznyUnyQrnguErpvcvragR,%object
 b__MGIA7naqebvq24GureznyUnyQrnguErpvcvragR:
 .space __SIZEOF_POINTER__
@@ -2925,7 +2925,7 @@
 b__MA7naqebvq17ranoyrNhgbFhfcraqRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR15qb_zbir_sbejneqRCiCXiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR15qb_zbir_sbejneqRCiCXiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR15qb_zbir_sbejneqRCiCXiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR15qb_zbir_sbejneqRCiCXiz:
 nop
@@ -2935,7 +2935,7 @@
 b__MA7naqebvq17UqzvPrpPbagebyyre15UqzvPrpPnyyonpx12baPrpZrffntrREXAF_8uneqjner2gi3prp4I1_010PrpZrffntrR:
 nop
 .text
-.globl b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz
+.weak b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz
 .type b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz,%function
 b__MAFg3__112__unfu_gnoyrVAF_17__unfu_inyhr_glcrVAF_12onfvp_fgevatVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRRuRRAF_22__habeqrerq_znc_unfureVF7_F8_AF_4unfuVF7_RRYo1RRRAF_21__habeqrerq_znc_rdhnyVF7_F8_AF_8rdhny_gbVF7_RRYo1RRRAF5_VF8_RRR6erunfuRz:
 nop
@@ -2945,7 +2945,7 @@
 b__MA7naqebvq20TaffTrbsraprPnyyonpx20taffTrbsraprErfhzrPoRvAF_8uneqjner4taff4I1_021VTaffTrbsraprPnyyonpx14TrbsraprFgnghfR:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_013VTaffOngpuvatRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_013VTaffOngpuvatRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_013VTaffOngpuvatRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_013VTaffOngpuvatRRQ2Ri:
 nop
@@ -2955,17 +2955,17 @@
 b__MA7naqebvq38ertvfgre_naqebvq_freire_HfoUbfgZnantreRC7_WAVRai:
 nop
 .data
-.globl b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR0_AF_11OaVagresnprVAF_8uneqjner8ivoengbe17VIvoengbePnyyonpxRRR
+.weak b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR0_AF_11OaVagresnprVAF_8uneqjner8ivoengbe17VIvoengbePnyyonpxRRR
 .type b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR0_AF_11OaVagresnprVAF_8uneqjner8ivoengbe17VIvoengbePnyyonpxRRR,%object
 b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR0_AF_11OaVagresnprVAF_8uneqjner8ivoengbe17VIvoengbePnyyonpxRRR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq10FcevgrVpbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq10FcevgrVpbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq10FcevgrVpbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvA7naqebvq10FcevgrVpbaRRRAF_19__znc_inyhr_pbzcnerVvF4_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF4_RRR25__rzcynpr_havdhr_xrl_netfVvWEXAF_21cvrprjvfr_pbafgehpg_gRAF_5ghcyrVWEXvRRRAFT_VWRRRRRRAF_4cnveVAF_15__gerr_vgrengbeVF4_CAF_11__gerr_abqrVF4_CiRRyRRoRREXG_QcBG0_:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR
+.weak b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR
 .type b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR,%function
 b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC11_wolgrNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR:
 nop
@@ -2995,7 +2995,7 @@
 b__MGIA7naqebvq18NTaffPnyyonpx_I1_0R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi
+.weak b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi
 .type b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi,%function
 b__MAFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC8_wbowrpgRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7qrfgeblRi:
 nop
@@ -3015,7 +3015,7 @@
 b__MGIA7naqebvq6freire14OebnqpnfgEnqvb13GharePnyyonpx14AngvirPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR
+.weak b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR
 .type b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR,%function
 b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC10_wvagNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRCAF0_6__onfrVFX_RR:
 nop
@@ -3025,12 +3025,12 @@
 b__MA7naqebvq10WninBowrpgP2RC7_WAVRaiC7_wpynffC10_wzrgubqVQCXp:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_016VTaffZrnfherzragRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_016VTaffZrnfherzragRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_016VTaffZrnfherzragRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I1_016VTaffZrnfherzragRRQ2Ri:
 nop
 .data
-.globl b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
+.weak b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR
 .type b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR,%object
 b__MGIAFg3__119onfvp_bfgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR:
 .space __SIZEOF_POINTER__
@@ -3040,12 +3040,12 @@
 b__MA7naqebvq52ertvfgre_naqebvq_freire_oebnqpnfgenqvb_GharePnyyonpxRC7_WninIZC7_WAVRai:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi
+.weak b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi
 .type b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi,%function
 b__MAXFg3__110__shapgvba6__shapVMA7naqebvq12znxr_wninersVC13_wbowrpgNeenlRRAF_10havdhr_cgeVAF_14erzbir_cbvagreVG_R4glcrRAF_8shapgvbaVSiF8_RRRRRC7_WAVRaiF8_RHyF5_R_AF_9nyybpngbeVFU_RRSiF5_RR7__pybarRi:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_05VTaffRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_05VTaffRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_05VTaffRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner4taff4I2_05VTaffRRQ2Ri:
 nop
@@ -3060,7 +3060,7 @@
 b__MA7naqebvq12TaffPnyyonpx18taffYbpngvbaPo_2_0REXAF_8uneqjner4taff4I2_012TaffYbpngvbaR:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR10qb_pbzcnerRCXiF7_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR10qb_pbzcnerRCXiF7_
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR10qb_pbzcnerRCXiF7_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11WGiVachgUny10PbaarpgvbaRRRR10qb_pbzcnerRCXiF7_:
 nop
@@ -3080,7 +3080,7 @@
 b__MGGA7naqebvq17UqzvPrpPbagebyyre15UqzvPrpPnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVvR10qb_pbzcnerRCXiF3_
+.weak b__MAX7naqebvq12FbegrqIrpgbeVvR10qb_pbzcnerRCXiF3_
 .type b__MAX7naqebvq12FbegrqIrpgbeVvR10qb_pbzcnerRCXiF3_,%function
 b__MAX7naqebvq12FbegrqIrpgbeVvR10qb_pbzcnerRCXiF3_:
 nop
@@ -3140,12 +3140,12 @@
 b__MGi0_a72_A7naqebvq18AngvirVachgZnantre22trgPhfgbzCbvagreVpbaVqRi:
 nop
 .text
-.globl b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR12qb_pbafgehpgRCiz
+.weak b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR12qb_pbafgehpgRCiz
 .type b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR12qb_pbafgehpgRCiz,%function
 b__MAX7naqebvq12FbegrqIrpgbeVAF_16xrl_inyhr_cnve_gVvAF_11XrlrqIrpgbeVvAF_11WGiVachgUny10PbaarpgvbaRRRRRR12qb_pbafgehpgRCiz:
 nop
 .data
-.globl b__MGGA7naqebvq14JnxrhcPnyyonpxR
+.weak b__MGGA7naqebvq14JnxrhcPnyyonpxR
 .type b__MGGA7naqebvq14JnxrhcPnyyonpxR,%object
 b__MGGA7naqebvq14JnxrhcPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -3170,12 +3170,12 @@
 b__MGIA7naqebvq20OhssreCebqhpreGuernqR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
+.weak b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi
 .type b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi,%function
 b__MAFg3__115onfvp_fgevatohsVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRR9haqresybjRi:
 nop
 .text
-.globl b__MAXFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7__pybarRCAF0_6__onfrVF6_RR
+.weak b__MAXFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7__pybarRCAF0_6__onfrVF6_RR
 .type b__MAXFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7__pybarRCAF0_6__onfrVF6_RR,%function
 b__MAXFg3__110__shapgvba6__shapVCSiC7_WAVRaiC8_wbowrpgRAF_9nyybpngbeVF7_RRF6_R7__pybarRCAF0_6__onfrVF6_RR:
 nop
@@ -3190,12 +3190,12 @@
 b__MGIA7naqebvq12TaffPnyyonpxR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGIA7naqebvq25TaffOngpuvatPnyyonpx_I1_0R
+.weak b__MGIA7naqebvq25TaffOngpuvatPnyyonpx_I1_0R
 .type b__MGIA7naqebvq25TaffOngpuvatPnyyonpx_I1_0R,%object
 b__MGIA7naqebvq25TaffOngpuvatPnyyonpx_I1_0R:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner2ve4I1_011VPbafhzreVeRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner2ve4I1_011VPbafhzreVeRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner2ve4I1_011VPbafhzreVeRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner2ve4I1_011VPbafhzreVeRRQ2Ri:
 nop
@@ -3240,32 +3240,32 @@
 b__MA7naqebvq43ertvfgre_naqebvq_freire_ie_IeZnantreFreivprRC7_WAVRai:
 nop
 .data
-.globl b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR0_AF_10VVagresnprR
+.weak b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR0_AF_10VVagresnprR
 .type b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR0_AF_10VVagresnprR,%object
 b__MGPA7naqebvq20NvqyIvoengbePnyyonpxR0_AF_10VVagresnprR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGGA7naqebvq20NvqyIvoengbePnyyonpxR
+.weak b__MGGA7naqebvq20NvqyIvoengbePnyyonpxR
 .type b__MGGA7naqebvq20NvqyIvoengbePnyyonpxR,%object
 b__MGGA7naqebvq20NvqyIvoengbePnyyonpxR:
 .space __SIZEOF_POINTER__
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb21OebnqpnfgEnqvbFreivpr6ZbqhyrRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb21OebnqpnfgEnqvbFreivpr6ZbqhyrRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb21OebnqpnfgEnqvbFreivpr6ZbqhyrRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb21OebnqpnfgEnqvbFreivpr6ZbqhyrRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
 .text
-.globl b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
+.weak b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_
 .type b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_,%function
 b__MAFg3__16irpgbeVA7naqebvq6freire14OebnqpnfgEnqvb7ertvbaf18ErtvbanyOnaqPbasvtRAF_9nyybpngbeVF5_RRR21__chfu_onpx_fybj_cnguVF5_RRiBG_:
 nop
 .text
-.globl b__MA7naqebvq2fcVAF_8uneqjner5cbjre5fgngf4I1_011VCbjreFgngfRRQ2Ri
+.weak b__MA7naqebvq2fcVAF_8uneqjner5cbjre5fgngf4I1_011VCbjreFgngfRRQ2Ri
 .type b__MA7naqebvq2fcVAF_8uneqjner5cbjre5fgngf4I1_011VCbjreFgngfRRQ2Ri,%function
 b__MA7naqebvq2fcVAF_8uneqjner5cbjre5fgngf4I1_011VCbjreFgngfRRQ2Ri:
 nop
 .data
-.globl b__MGPA7naqebvq14JnxrhcPnyyonpxR8_AF_7VOvaqreR
+.weak b__MGPA7naqebvq14JnxrhcPnyyonpxR8_AF_7VOvaqreR
 .type b__MGPA7naqebvq14JnxrhcPnyyonpxR8_AF_7VOvaqreR,%object
 b__MGPA7naqebvq14JnxrhcPnyyonpxR8_AF_7VOvaqreR:
 .space __SIZEOF_POINTER__
@@ -3280,12 +3280,12 @@
 b__MA7naqebvq18AngvirVachgZnantre20frgVachgQvfcngpuZbqrRoo:
 nop
 .data
-.globl b__MGIA7naqebvq12FbegrqIrpgbeVvRR
+.weak b__MGIA7naqebvq12FbegrqIrpgbeVvRR
 .type b__MGIA7naqebvq12FbegrqIrpgbeVvRR,%object
 b__MGIA7naqebvq12FbegrqIrpgbeVvRR:
 .space __SIZEOF_POINTER__
 .data
-.globl b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
+.weak b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR
 .type b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR,%object
 b__MGPAFg3__118onfvp_fgevatfgernzVpAF_11pune_genvgfVpRRAF_9nyybpngbeVpRRRR0_AF_13onfvp_vfgernzVpF2_RR:
 .space __SIZEOF_POINTER__
@@ -3310,7 +3310,7 @@
 b__MA7naqebvq18AngvirVachgZnantre26trgQvfcngpurePbasvthengvbaRCAF_28VachgQvfcngpurePbasvthengvbaR:
 nop
 .text
-.globl b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
+.weak b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR
 .type b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR,%function
 b__MAFg3__16__gerrVAF_12__inyhr_glcrVvvRRAF_19__znc_inyhr_pbzcnerVvF2_AF_4yrffVvRRYo1RRRAF_9nyybpngbeVF2_RRR7qrfgeblRCAF_11__gerr_abqrVF2_CiRR:
 nop
@@ -3320,7 +3320,7 @@
 b__MA7naqebvq6freire14OebnqpnfgEnqvb7pbaireg14QverpgvbaGbUnyRo:
 nop
 .data
-.globl b__MGPA7naqebvq14JnxrhcPnyyonpxR0_AF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxR
+.weak b__MGPA7naqebvq14JnxrhcPnyyonpxR0_AF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxR
 .type b__MGPA7naqebvq14JnxrhcPnyyonpxR0_AF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxR,%object
 b__MGPA7naqebvq14JnxrhcPnyyonpxR0_AF_6flfgrz7fhfcraq16VFhfcraqPnyyonpxR:
 .space __SIZEOF_POINTER__
@@ -3360,7 +3360,7 @@
 b_Wnin_pbz_naqebvq_freire_hfo_qrfpevcgbef_HfoQrfpevcgbeCnefre_trgQrfpevcgbeFgevat_1angvir:
 nop
 .text
-.globl b__MAFg3__112__qrdhr_onfrVAF_8shapgvbaVSiC7_WAVRaiRRRAF_9nyybpngbeVF5_RRR5pyrneRi
+.weak b__MAFg3__112__qrdhr_onfrVAF_8shapgvbaVSiC7_WAVRaiRRRAF_9nyybpngbeVF5_RRR5pyrneRi
 .type b__MAFg3__112__qrdhr_onfrVAF_8shapgvbaVSiC7_WAVRaiRRRAF_9nyybpngbeVF5_RRR5pyrneRi,%function
 b__MAFg3__112__qrdhr_onfrVAF_8shapgvbaVSiC7_WAVRaiRRRAF_9nyybpngbeVF5_RRR5pyrneRi:
 nop
diff --git a/benchmarks/linker_relocation/include/linker_reloc_bench_asm.h b/benchmarks/linker_relocation/include/linker_reloc_bench_asm.h
index 885e47f..ea63e36 100644
--- a/benchmarks/linker_relocation/include/linker_reloc_bench_asm.h
+++ b/benchmarks/linker_relocation/include/linker_reloc_bench_asm.h
@@ -44,9 +44,7 @@
 
 #elif defined(__riscv)
 
-// No `lga` in clang unless https://reviews.llvm.org/D107278 lands.
-// `la` is equivalent when using PIC (which we do) though.
-#define GOT_RELOC(sym) la a0, sym
+#define GOT_RELOC(sym) lga a0, sym
 #define CALL(sym) call sym@plt
 #define DATA_WORD(val) .quad val
 #define MAIN .globl main; main: li a0, 0; ret
diff --git a/benchmarks/linker_relocation/regen/gen_bench.py b/benchmarks/linker_relocation/regen/gen_bench.py
index 6533189..fa6f1a1 100755
--- a/benchmarks/linker_relocation/regen/gen_bench.py
+++ b/benchmarks/linker_relocation/regen/gen_bench.py
@@ -46,7 +46,7 @@
 from subprocess import PIPE, DEVNULL
 from pathlib import Path
 
-from common_types import LoadedLibrary, SymbolRef, SymKind, bfs_walk, json_to_elf_tree
+from common_types import LoadedLibrary, SymbolRef, SymBind, SymKind, bfs_walk, json_to_elf_tree
 
 
 g_obfuscate = True
@@ -115,9 +115,13 @@
     'getprogname',
     'gettid',
     'isnanf',
+    'lseek64',
+    'lstat64',
     'mallinfo',
     'malloc_info',
+    'pread64',
     'pthread_gettid_np',
+    'pwrite64',
     'res_mkquery',
     'strlcpy',
     'strtoll_l',
@@ -191,15 +195,16 @@
             if not d.defined: continue
             sym = trans_sym(d.name, None)
             if sym is None: continue
+            binding = 'weak' if d.bind == SymBind.Weak else 'globl'
             if d.kind == SymKind.Func:
                 out.write('.text\n'
-                          f'.globl {sym}\n'
+                          f'.{binding} {sym}\n'
                           f'.type {sym},%function\n'
                           f'{sym}:\n'
                           'nop\n')
             else: # SymKind.Var
                 out.write('.data\n'
-                          f'.globl {sym}\n'
+                          f'.{binding} {sym}\n'
                           f'.type {sym},%object\n'
                           f'{sym}:\n'
                           f'.space __SIZEOF_POINTER__\n')
diff --git a/benchmarks/malloc_benchmark.cpp b/benchmarks/malloc_benchmark.cpp
index e733cd0..8f467d2 100644
--- a/benchmarks/malloc_benchmark.cpp
+++ b/benchmarks/malloc_benchmark.cpp
@@ -29,14 +29,21 @@
 #include <malloc.h>
 #include <unistd.h>
 
+#include <condition_variable>
+#include <mutex>
+#include <random>
+#include <thread>
 #include <vector>
 
 #include <benchmark/benchmark.h>
+#include "ScopedDecayTimeRestorer.h"
 #include "util.h"
 
 #if defined(__BIONIC__)
 
 static void RunMalloptPurge(benchmark::State& state, int purge_value) {
+  ScopedDecayTimeRestorer restorer;
+
   static size_t sizes[] = {8, 16, 32, 64, 128, 1024, 4096, 16384, 65536, 131072, 1048576};
   static int pagesize = getpagesize();
   mallopt(M_DECAY_TIME, 1);
@@ -65,7 +72,89 @@
 
     mallopt(purge_value, 0);
   }
-  mallopt(M_DECAY_TIME, 0);
+}
+
+static void RunThreadsThroughput(benchmark::State& state, size_t size, size_t num_threads) {
+  constexpr size_t kMaxBytes = 1 << 24;
+  constexpr size_t kMaxThreads = 8;
+  constexpr size_t kMinRounds = 4;
+  const size_t MaxAllocCounts = kMaxBytes / size;
+  std::mutex m;
+  bool ready = false;
+  std::condition_variable cv;
+  std::thread* threads[kMaxThreads];
+
+  // The goal is to create malloc/free interleaving patterns across threads.
+  // The bytes processed by each thread will be the same. The difference is the
+  // patterns. Here's an example:
+  //
+  // A: Allocation
+  // D: Deallocation
+  //
+  //   T1    T2    T3
+  //   A     A     A
+  //   A     A     D
+  //   A     D     A
+  //   A     D     D
+  //   D     A     A
+  //   D     A     D
+  //   D     D     A
+  //   D     D     D
+  //
+  // To do this, `AllocCounts` and `AllocRounds` will be adjusted according to the
+  // thread id.
+  auto thread_task = [&](size_t id) {
+    {
+      std::unique_lock lock(m);
+      // Wait until all threads are created.
+      cv.wait(lock, [&] { return ready; });
+    }
+
+    void** MemPool;
+    const size_t AllocCounts = (MaxAllocCounts >> id);
+    const size_t AllocRounds = (kMinRounds << id);
+    MemPool = new void*[AllocCounts];
+
+    for (size_t i = 0; i < AllocRounds; ++i) {
+      for (size_t j = 0; j < AllocCounts; ++j) {
+        void* ptr = malloc(size);
+        MemPool[j] = ptr;
+      }
+
+      // Use a fix seed to reduce the noise of different round of benchmark.
+      const unsigned seed = 33529;
+      std::shuffle(MemPool, &MemPool[AllocCounts], std::default_random_engine(seed));
+
+      for (size_t j = 0; j < AllocCounts; ++j) free(MemPool[j]);
+    }
+
+    delete[] MemPool;
+  };
+
+  for (auto _ : state) {
+    state.PauseTiming();
+    // Don't need to acquire the lock because no thread is created.
+    ready = false;
+
+    for (size_t i = 0; i < num_threads; ++i) threads[i] = new std::thread(thread_task, i);
+
+    state.ResumeTiming();
+
+    {
+      std::unique_lock lock(m);
+      ready = true;
+    }
+
+    cv.notify_all();
+
+    for (size_t i = 0; i < num_threads; ++i) {
+      threads[i]->join();
+      delete threads[i];
+    }
+  }
+
+  const size_t ThreadsBytesProcessed = kMaxBytes * kMinRounds * num_threads;
+  state.SetBytesProcessed(ThreadsBytesProcessed * static_cast<size_t>(state.iterations()));
 }
 
 static void BM_mallopt_purge(benchmark::State& state) {
@@ -78,4 +167,23 @@
 }
 BIONIC_BENCHMARK(BM_mallopt_purge_all);
 
+// Note that this will only test a single size class at a time so that we can
+// observe the impact of contention more often.
+#define BM_MALLOC_THREADS_THROUGHPUT(SIZE, NUM_THREADS)                                      \
+  static void BM_malloc_threads_throughput_##SIZE##_##NUM_THREADS(benchmark::State& state) { \
+    RunThreadsThroughput(state, SIZE, NUM_THREADS);                                          \
+  }                                                                                          \
+  BIONIC_BENCHMARK(BM_malloc_threads_throughput_##SIZE##_##NUM_THREADS);
+
+// There are three block categories in Scudo, we choose 1 from each category.
+BM_MALLOC_THREADS_THROUGHPUT(64, 2);
+BM_MALLOC_THREADS_THROUGHPUT(64, 4);
+BM_MALLOC_THREADS_THROUGHPUT(64, 8);
+BM_MALLOC_THREADS_THROUGHPUT(512, 2);
+BM_MALLOC_THREADS_THROUGHPUT(512, 4);
+BM_MALLOC_THREADS_THROUGHPUT(512, 8);
+BM_MALLOC_THREADS_THROUGHPUT(8192, 2);
+BM_MALLOC_THREADS_THROUGHPUT(8192, 4);
+BM_MALLOC_THREADS_THROUGHPUT(8192, 8);
+
 #endif
diff --git a/benchmarks/malloc_map_benchmark.cpp b/benchmarks/malloc_map_benchmark.cpp
index 5757325..04c9a07 100644
--- a/benchmarks/malloc_map_benchmark.cpp
+++ b/benchmarks/malloc_map_benchmark.cpp
@@ -52,7 +52,7 @@
         android::base::StartsWith(vma.name, "[anon:GWP-ASan")) {
       android::meminfo::Vma update_vma(vma);
       if (!proc_mem.FillInVmaStats(update_vma)) {
-        err(1, "FillInVmaStats failed\n");
+        err(1, "FillInVmaStats failed");
       }
       *rss_bytes += update_vma.usage.rss;
     }
diff --git a/benchmarks/malloc_sql_benchmark.cpp b/benchmarks/malloc_sql_benchmark.cpp
index 383325c..d5b17f6 100644
--- a/benchmarks/malloc_sql_benchmark.cpp
+++ b/benchmarks/malloc_sql_benchmark.cpp
@@ -31,6 +31,7 @@
 #include <unistd.h>
 
 #include <benchmark/benchmark.h>
+#include "ScopedDecayTimeRestorer.h"
 #include "util.h"
 
 #if defined(__BIONIC__)
@@ -104,6 +105,8 @@
 #include "malloc_sql.h"
 
 static void BM_malloc_sql_trace_default(benchmark::State& state) {
+  ScopedDecayTimeRestorer restorer;
+
   // The default is expected to be a zero decay time.
   mallopt(M_DECAY_TIME, 0);
 
@@ -115,14 +118,14 @@
 BIONIC_BENCHMARK(BM_malloc_sql_trace_default);
 
 static void BM_malloc_sql_trace_decay1(benchmark::State& state) {
+  ScopedDecayTimeRestorer restorer;
+
   mallopt(M_DECAY_TIME, 1);
 
   for (auto _ : state) {
     BenchmarkMalloc(g_sql_entries, sizeof(g_sql_entries) / sizeof(MallocEntry),
                     kMaxSqlAllocSlots);
   }
-
-  mallopt(M_DECAY_TIME, 0);
 }
 BIONIC_BENCHMARK(BM_malloc_sql_trace_decay1);
 
diff --git a/benchmarks/property_benchmark.cpp b/benchmarks/property_benchmark.cpp
index 15a621b..b356ab7 100644
--- a/benchmarks/property_benchmark.cpp
+++ b/benchmarks/property_benchmark.cpp
@@ -28,8 +28,7 @@
 
 #if defined(__BIONIC__)
 
-#define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
-#include <sys/_system_properties.h>
+#include <sys/system_properties.h>
 
 #include <benchmark/benchmark.h>
 #include <system_properties/system_properties.h>
@@ -40,9 +39,10 @@
       : nprops(nprops), valid(false), system_properties_(false) {
     static const char prop_name_chars[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_.";
 
-    valid = system_properties_.AreaInit(dir_.path, nullptr);
+    valid = system_properties_.AreaInit(dir_.path, nullptr, true);
     if (!valid) {
-      return;
+      printf("Failed to initialize properties, terminating...\n");
+      exit(1);
     }
 
     names = new char* [nprops];
@@ -100,6 +100,9 @@
     }
 
     system_properties_.contexts_->FreeAndUnmap();
+    if (system_properties_.appcompat_override_contexts_) {
+      system_properties_.appcompat_override_contexts_->FreeAndUnmap();
+    }
 
     for (int i = 0; i < nprops; i++) {
       delete names[i];
diff --git a/benchmarks/spawn/Android.bp b/benchmarks/spawn/Android.bp
index 61e7bf6..de9b161 100644
--- a/benchmarks/spawn/Android.bp
+++ b/benchmarks/spawn/Android.bp
@@ -27,6 +27,7 @@
 //
 
 package {
+    default_team: "trendy_team_native_tools_libraries",
     default_applicable_licenses: ["bionic_benchmarks_license"],
 }
 
diff --git a/benchmarks/stdlib_benchmark.cpp b/benchmarks/stdlib_benchmark.cpp
index 14b380a..7680b40 100644
--- a/benchmarks/stdlib_benchmark.cpp
+++ b/benchmarks/stdlib_benchmark.cpp
@@ -22,6 +22,7 @@
 #include <unistd.h>
 
 #include <benchmark/benchmark.h>
+#include "ScopedDecayTimeRestorer.h"
 #include "util.h"
 
 static void MallocFree(benchmark::State& state) {
@@ -40,6 +41,8 @@
 
 static void BM_stdlib_malloc_free_default(benchmark::State& state) {
 #if defined(__BIONIC__)
+  ScopedDecayTimeRestorer restorer;
+
   // The default is expected to be a zero decay time.
   mallopt(M_DECAY_TIME, 0);
 #endif
@@ -50,11 +53,11 @@
 
 #if defined(__BIONIC__)
 static void BM_stdlib_malloc_free_decay1(benchmark::State& state) {
+  ScopedDecayTimeRestorer restorer;
+
   mallopt(M_DECAY_TIME, 1);
 
   MallocFree(state);
-
-  mallopt(M_DECAY_TIME, 0);
 }
 BIONIC_BENCHMARK_WITH_ARG(BM_stdlib_malloc_free_decay1, "AT_COMMON_SIZES");
 #endif
@@ -75,6 +78,8 @@
 
 static void BM_stdlib_calloc_free_default(benchmark::State& state) {
 #if defined(__BIONIC__)
+  ScopedDecayTimeRestorer restorer;
+
   // The default is expected to be a zero decay time.
   mallopt(M_DECAY_TIME, 0);
 #endif
@@ -113,8 +118,9 @@
 }
 
 void BM_stdlib_malloc_forty_default(benchmark::State& state) {
-
 #if defined(__BIONIC__)
+  ScopedDecayTimeRestorer restorer;
+
   // The default is expected to be a zero decay time.
   mallopt(M_DECAY_TIME, 0);
 #endif
@@ -125,17 +131,19 @@
 
 #if defined(__BIONIC__)
 void BM_stdlib_malloc_forty_decay1(benchmark::State& state) {
+  ScopedDecayTimeRestorer restorer;
+
   mallopt(M_DECAY_TIME, 1);
 
   MallocMultiple(state, state.range(0), 40);
-
-  mallopt(M_DECAY_TIME, 0);
 }
 BIONIC_BENCHMARK_WITH_ARG(BM_stdlib_malloc_forty_decay1, "AT_COMMON_SIZES");
 #endif
 
 void BM_stdlib_malloc_multiple_8192_allocs_default(benchmark::State& state) {
 #if defined(__BIONIC__)
+  ScopedDecayTimeRestorer restorer;
+
   // The default is expected to be a zero decay time.
   mallopt(M_DECAY_TIME, 0);
 #endif
@@ -146,11 +154,11 @@
 
 #if defined(__BIONIC__)
 void BM_stdlib_malloc_multiple_8192_allocs_decay1(benchmark::State& state) {
+  ScopedDecayTimeRestorer restorer;
+
   mallopt(M_DECAY_TIME, 1);
 
   MallocMultiple(state, 8192, state.range(0));
-
-  mallopt(M_DECAY_TIME, 0);
 }
 BIONIC_BENCHMARK_WITH_ARG(BM_stdlib_malloc_multiple_8192_allocs_decay1, "AT_SMALL_SIZES");
 #endif
@@ -227,3 +235,6 @@
 BIONIC_TRIVIAL_BENCHMARK(BM_stdlib_strtoll, strtoll(" -123", nullptr, 0));
 BIONIC_TRIVIAL_BENCHMARK(BM_stdlib_strtoul, strtoul(" -123", nullptr, 0));
 BIONIC_TRIVIAL_BENCHMARK(BM_stdlib_strtoull, strtoull(" -123", nullptr, 0));
+
+BIONIC_TRIVIAL_BENCHMARK(BM_stdlib_strtol_hex, strtol("0xdeadbeef", nullptr, 0));
+BIONIC_TRIVIAL_BENCHMARK(BM_stdlib_strtoul_hex, strtoul("0xdeadbeef", nullptr, 0));
diff --git a/benchmarks/suites/syscall.xml b/benchmarks/suites/syscall.xml
new file mode 100644
index 0000000..5a0f904
--- /dev/null
+++ b/benchmarks/suites/syscall.xml
@@ -0,0 +1,120 @@
+<!-- mmap tests -->
+<fn>
+  <name>BM_syscall_mmap_anon_rw</name>
+  <iterations>10</iterations>
+  <args>AT_ALL_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_anon_noreserve</name>
+  <iterations>10</iterations>
+  <args>AT_ALL_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_anon_none</name>
+  <iterations>10</iterations>
+  <args>AT_ALL_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_anon_rw_fixed</name>
+  <iterations>10</iterations>
+  <args>AT_ALL_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_anon_none_fixed</name>
+  <iterations>10</iterations>
+  <args>AT_ALL_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_file_rd_priv</name>
+  <iterations>10</iterations>
+  <args>AT_ALL_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_file_rw_shared</name>
+  <iterations>10</iterations>
+  <args>AT_ALL_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_file_rw_priv_fixed_start</name>
+  <iterations>10</iterations>
+  <args>AT_ALL_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_file_rw_priv_fixed_mid</name>
+  <iterations>10</iterations>
+  <args>AT_MULTI_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_file_rw_priv_fixed_end</name>
+  <iterations>10</iterations>
+  <args>AT_MULTI_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_anon_mmap_only</name>
+  <iterations>10</iterations>
+  <args>AT_MULTI_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_anon_munmap_only</name>
+  <iterations>10</iterations>
+  <args>AT_MULTI_PAGE_SIZES</args>
+</fn>
+
+<!-- madvise tests -->
+<fn>
+  <name>BM_syscall_mmap_anon_madvise_dontneed</name>
+  <iterations>10</iterations>
+  <args>AT_MULTI_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_anon_madvise_pageout</name>
+  <iterations>10</iterations>
+  <args>AT_MULTI_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_anon_madvise_free</name>
+  <iterations>10</iterations>
+  <args>AT_MULTI_PAGE_SIZES</args>
+</fn>
+
+<!-- mprotect tests -->
+<fn>
+  <name>BM_syscall_mmap_anon_mprotect_rw_to_rd</name>
+  <iterations>10</iterations>
+  <args>AT_ALL_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_anon_mprotect_rw_to_none</name>
+  <iterations>10</iterations>
+  <args>AT_ALL_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_anon_mprotect_rd_to_none</name>
+  <iterations>10</iterations>
+  <args>AT_ALL_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_file_mprotect_rw_to_rd</name>
+  <iterations>10</iterations>
+  <args>AT_ALL_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_file_mprotect_rw_to_none</name>
+  <iterations>10</iterations>
+  <args>AT_ALL_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_file_mprotect_none_to_rw</name>
+  <iterations>10</iterations>
+  <args>AT_ALL_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_file_mprotect_none_to_rd</name>
+  <iterations>10</iterations>
+  <args>AT_ALL_PAGE_SIZES</args>
+</fn>
+<fn>
+  <name>BM_syscall_mmap_file_mprotect_rd_to_none</name>
+  <iterations>10</iterations>
+  <args>AT_ALL_PAGE_SIZES</args>
+</fn>
diff --git a/benchmarks/syscall_mm_benchmark.cpp b/benchmarks/syscall_mm_benchmark.cpp
new file mode 100644
index 0000000..1f22f31
--- /dev/null
+++ b/benchmarks/syscall_mm_benchmark.cpp
@@ -0,0 +1,464 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <string.h>
+#include <sys/mman.h>
+#include <sys/syscall.h>
+
+#include <android-base/file.h>
+#include <android-base/stringprintf.h>
+#include <benchmark/benchmark.h>
+
+#include "util.h"
+
+enum BenchmarkType : uint8_t {
+  kBenchmarkMmapOnly,
+  kBenchmarkMunmapOnly,
+  kBenchmarkAll,
+};
+
+static size_t page_sz = getpagesize();
+
+struct MmapParams {
+  int prot;
+  int flags;
+  int64_t size;
+};
+
+struct MprotectParams {
+  int initial_prot;
+  int mprotect_prot;
+  int64_t size;
+};
+
+template <BenchmarkType type>
+void MmapBenchmarkImpl(benchmark::State& state, const struct MmapParams& params, int fd,
+                       void* area = nullptr) {
+  for (auto _ : state) {
+    if (type == kBenchmarkMunmapOnly) state.PauseTiming();
+    void* addr = mmap(area, params.size, params.prot, params.flags, fd, 0);
+    if (addr == MAP_FAILED) {
+      state.SkipWithError(android::base::StringPrintf("mmap failed: %s", strerror(errno)).c_str());
+      break;
+    }
+
+    if (type == kBenchmarkMmapOnly) state.PauseTiming();
+
+    if (params.prot & PROT_WRITE) {
+      MakeAllocationResident(addr, params.size, page_sz);
+    }
+
+    if (type == kBenchmarkMunmapOnly) state.ResumeTiming();
+
+    if (munmap(addr, params.size) != 0) {
+      state.SkipWithError(
+          android::base::StringPrintf("munmap failed: %s", strerror(errno)).c_str());
+      break;
+    }
+    if (type == kBenchmarkMmapOnly) state.ResumeTiming();
+  }
+}
+
+static void MmapBenchmark(benchmark::State& state, const struct MmapParams& params, int fd,
+                          void* area = nullptr) {
+  MmapBenchmarkImpl<kBenchmarkAll>(state, params, fd, area);
+}
+
+static void MmapFixedBenchmark(benchmark::State& state, const struct MmapParams& params, int fd,
+                               size_t area_size, size_t offs) {
+  if ((params.flags & MAP_FIXED) == 0) {
+    state.SkipWithError("MmapFixedBenchmark called without MAP_FIXED set");
+    return;
+  }
+
+  // Create the mmap that will be used for the fixed mmaps.
+  uint8_t* area = reinterpret_cast<uint8_t*>(
+      mmap(nullptr, area_size, params.prot, params.flags & ~MAP_FIXED, fd, 0));
+  if (area == MAP_FAILED) {
+    state.SkipWithError(android::base::StringPrintf("mmap failed: %s", strerror(errno)).c_str());
+    return;
+  }
+
+  MmapBenchmark(state, params, fd, area + offs);
+
+  if (munmap(area, area_size) != 0) {
+    state.SkipWithError(android::base::StringPrintf("munmap failed: %s", strerror(errno)).c_str());
+    return;
+  }
+}
+
+static void MmapFileBenchmark(benchmark::State& state, const struct MmapParams& params,
+                              size_t area_size, size_t offs) {
+  TemporaryFile tf;
+
+  if (tf.fd < 0) {
+    state.SkipWithError(
+        android::base::StringPrintf("failed to create a temporary file: %s", strerror(errno))
+            .c_str());
+    return;
+  }
+
+  if (area_size > 0 && ftruncate(tf.fd, area_size)) {
+    state.SkipWithError(
+        android::base::StringPrintf("ftruncate failed: %s", strerror(errno)).c_str());
+    return;
+  }
+
+  if (params.flags & MAP_FIXED) {
+    MmapFixedBenchmark(state, params, tf.fd, area_size, offs);
+  } else {
+    MmapBenchmark(state, params, tf.fd);
+  }
+}
+
+// anon mmap
+static void BM_syscall_mmap_anon_rw(benchmark::State& state) {
+  struct MmapParams params = {
+      .prot = PROT_READ | PROT_WRITE,
+      .flags = MAP_PRIVATE | MAP_ANONYMOUS,
+      .size = state.range(0),
+  };
+
+  MmapBenchmark(state, params, 0);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_anon_rw, "AT_ALL_PAGE_SIZES");
+
+static void BM_syscall_mmap_anon_noreserve(benchmark::State& state) {
+  struct MmapParams params = {
+      .prot = PROT_NONE,
+      .flags = MAP_PRIVATE | MAP_ANONYMOUS | MAP_NORESERVE,
+      .size = state.range(0),
+  };
+
+  MmapBenchmark(state, params, 0);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_anon_noreserve, "AT_ALL_PAGE_SIZES");
+
+static void BM_syscall_mmap_anon_none(benchmark::State& state) {
+  struct MmapParams params = {
+      .prot = PROT_NONE,
+      .flags = MAP_PRIVATE | MAP_ANONYMOUS,
+      .size = state.range(0),
+  };
+
+  MmapBenchmark(state, params, 0);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_anon_none, "AT_ALL_PAGE_SIZES");
+
+// anon fixed mmap
+static void BM_syscall_mmap_anon_rw_fixed(benchmark::State& state) {
+  struct MmapParams params = {
+      .prot = PROT_READ | PROT_WRITE,
+      .flags = MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED,
+      .size = state.range(0),
+  };
+
+  MmapFixedBenchmark(state, params, -1, params.size, 0);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_anon_rw_fixed, "AT_ALL_PAGE_SIZES");
+
+static void BM_syscall_mmap_anon_none_fixed(benchmark::State& state) {
+  struct MmapParams params = {
+      .prot = PROT_NONE,
+      .flags = MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED,
+      .size = state.range(0),
+  };
+
+  MmapFixedBenchmark(state, params, -1, params.size, 0);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_anon_none_fixed, "AT_ALL_PAGE_SIZES");
+
+// file mmap
+static void BM_syscall_mmap_file_rd_priv(benchmark::State& state) {
+  struct MmapParams params = {
+      .prot = PROT_READ,
+      .flags = MAP_PRIVATE,
+      .size = state.range(0),
+  };
+
+  MmapFileBenchmark(state, params, params.size, 0);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_file_rd_priv, "AT_ALL_PAGE_SIZES");
+
+static void BM_syscall_mmap_file_rw_shared(benchmark::State& state) {
+  struct MmapParams params = {
+      .prot = PROT_READ | PROT_WRITE,
+      .flags = MAP_SHARED,
+      .size = state.range(0),
+  };
+
+  MmapFileBenchmark(state, params, params.size, 0);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_file_rw_shared, "AT_ALL_PAGE_SIZES");
+
+// file fixed mmap
+static void BM_syscall_mmap_file_rw_priv_fixed_start(benchmark::State& state) {
+  struct MmapParams params = {
+      .prot = PROT_READ | PROT_WRITE,
+      .flags = MAP_PRIVATE | MAP_FIXED,
+      .size = state.range(0),
+  };
+
+  // allocate 3x area and map at the start
+  MmapFileBenchmark(state, params, params.size * 3, 0);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_file_rw_priv_fixed_start, "AT_ALL_PAGE_SIZES");
+
+static void BM_syscall_mmap_file_rw_priv_fixed_mid(benchmark::State& state) {
+  struct MmapParams params = {
+      .prot = PROT_READ | PROT_WRITE,
+      .flags = MAP_PRIVATE | MAP_FIXED,
+      .size = state.range(0),
+  };
+
+  // allocate 3x area and map at the middle
+  MmapFileBenchmark(state, params, params.size * 3, params.size);
+}
+// mapping at sub-page size offset is not supported, so run only for AT_MULTI_PAGE_SIZES
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_file_rw_priv_fixed_mid, "AT_MULTI_PAGE_SIZES");
+
+static void BM_syscall_mmap_file_rw_priv_fixed_end(benchmark::State& state) {
+  struct MmapParams params = {
+      .prot = PROT_READ | PROT_WRITE,
+      .flags = MAP_PRIVATE | MAP_FIXED,
+      .size = state.range(0),
+  };
+
+  // allocate 3x area and map at the end
+  MmapFileBenchmark(state, params, params.size * 3, params.size * 2);
+}
+// mapping at sub-page size offset is not supported, so run only for AT_MULTI_PAGE_SIZES
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_file_rw_priv_fixed_end, "AT_MULTI_PAGE_SIZES");
+
+static void BM_syscall_mmap_anon_mmap_only(benchmark::State& state) {
+  struct MmapParams params = {
+      .prot = PROT_READ | PROT_WRITE,
+      .flags = MAP_PRIVATE | MAP_ANONYMOUS,
+      .size = state.range(0),
+  };
+  MmapBenchmarkImpl<kBenchmarkMmapOnly>(state, params, 0);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_anon_mmap_only, "AT_MULTI_PAGE_SIZES");
+
+static void BM_syscall_mmap_anon_munmap_only(benchmark::State& state) {
+  struct MmapParams params = {
+      .prot = PROT_READ | PROT_WRITE,
+      .flags = MAP_PRIVATE | MAP_ANONYMOUS,
+      .size = state.range(0),
+  };
+  MmapBenchmarkImpl<kBenchmarkMunmapOnly>(state, params, 0);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_anon_munmap_only, "AT_MULTI_PAGE_SIZES");
+
+void MadviseBenchmark(benchmark::State& state, const struct MmapParams& params, int madvise_flags) {
+  void* addr = mmap(nullptr, params.size, params.prot, params.flags, 0, 0);
+  if (addr == MAP_FAILED) {
+    state.SkipWithError(android::base::StringPrintf("mmap failed: %s", strerror(errno)).c_str());
+    return;
+  }
+  for (auto _ : state) {
+    state.PauseTiming();
+    if (params.prot & PROT_WRITE) {
+      MakeAllocationResident(addr, params.size, page_sz);
+    }
+    state.ResumeTiming();
+
+    madvise(addr, params.size, madvise_flags);
+  }
+
+  if (munmap(addr, params.size) != 0) {
+    state.SkipWithError(android::base::StringPrintf("munmap failed: %s", strerror(errno)).c_str());
+  }
+}
+
+static void BM_syscall_mmap_anon_madvise_dontneed(benchmark::State& state) {
+  struct MmapParams params = {
+      .prot = PROT_READ | PROT_WRITE,
+      .flags = MAP_PRIVATE | MAP_ANONYMOUS,
+      .size = state.range(0),
+  };
+  MadviseBenchmark(state, params, MADV_DONTNEED);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_anon_madvise_dontneed, "AT_MULTI_PAGE_SIZES");
+
+static void BM_syscall_mmap_anon_madvise_pageout(benchmark::State& state) {
+  struct MmapParams params = {
+      .prot = PROT_READ | PROT_WRITE,
+      .flags = MAP_PRIVATE | MAP_ANONYMOUS,
+      .size = state.range(0),
+  };
+  MadviseBenchmark(state, params, MADV_PAGEOUT);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_anon_madvise_pageout, "AT_MULTI_PAGE_SIZES");
+
+static void BM_syscall_mmap_anon_madvise_free(benchmark::State& state) {
+  struct MmapParams params = {
+      .prot = PROT_READ | PROT_WRITE,
+      .flags = MAP_PRIVATE | MAP_ANONYMOUS,
+      .size = state.range(0),
+  };
+  MadviseBenchmark(state, params, MADV_FREE);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_anon_madvise_free, "AT_MULTI_PAGE_SIZES");
+
+void MprotectBenchmark(benchmark::State& state, const struct MprotectParams& params, void* addr) {
+  for (auto _ : state) {
+    state.PauseTiming();
+    /*
+     * Guarantee that physical memory pages are allocated for this region to prevent
+     * segmentation fault when using mprotect to change permissions.
+     */
+    if (params.initial_prot & PROT_WRITE) {
+      MakeAllocationResident(addr, params.size, page_sz);
+    }
+    state.ResumeTiming();
+
+    if (mprotect(addr, params.size, params.mprotect_prot) != 0) {
+      state.SkipWithError(android::base::StringPrintf("mprotect failed: %m"));
+      break;
+    }
+
+    state.PauseTiming();
+    // Revert back to the original protection
+    int res = mprotect(addr, params.size, params.initial_prot);
+    state.ResumeTiming();
+    if (res != 0) {
+      state.SkipWithError(
+          android::base::StringPrintf("mprotect failed to revert to original prot: %m"));
+      break;
+    }
+  }
+}
+
+static void MprotectBenchmarkWithMmapAnon(benchmark::State& state,
+                                          const struct MprotectParams& params) {
+  void* addr = mmap(nullptr, params.size, params.initial_prot, MAP_PRIVATE | MAP_ANONYMOUS, 0, 0);
+  if (addr == MAP_FAILED) {
+    state.SkipWithError(android::base::StringPrintf("mmap failed: %m"));
+    return;
+  }
+
+  MprotectBenchmark(state, params, addr);
+
+  if (munmap(addr, params.size) != 0)
+    state.SkipWithError(android::base::StringPrintf("munmap failed: %m"));
+}
+
+static void BM_syscall_mmap_anon_mprotect_rw_to_rd(benchmark::State& state) {
+  struct MprotectParams params = {
+      .initial_prot = PROT_READ | PROT_WRITE,
+      .mprotect_prot = PROT_READ,
+      .size = state.range(0),
+  };
+  MprotectBenchmarkWithMmapAnon(state, params);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_anon_mprotect_rw_to_rd, "AT_ALL_PAGE_SIZES");
+
+static void BM_syscall_mmap_anon_mprotect_rw_to_none(benchmark::State& state) {
+  struct MprotectParams params = {
+      .initial_prot = PROT_READ | PROT_WRITE,
+      .mprotect_prot = PROT_NONE,
+      .size = state.range(0),
+  };
+  MprotectBenchmarkWithMmapAnon(state, params);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_anon_mprotect_rw_to_none, "AT_ALL_PAGE_SIZES");
+
+static void BM_syscall_mmap_anon_mprotect_rd_to_none(benchmark::State& state) {
+  struct MprotectParams params = {
+      .initial_prot = PROT_READ,
+      .mprotect_prot = PROT_NONE,
+      .size = state.range(0),
+  };
+  MprotectBenchmarkWithMmapAnon(state, params);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_anon_mprotect_rd_to_none, "AT_ALL_PAGE_SIZES");
+
+static void MprotectBenchmarkWithMmapFile(benchmark::State& state,
+                                          const struct MprotectParams& params) {
+  TemporaryFile tf;
+
+  if (tf.fd < 0) {
+    state.SkipWithError(android::base::StringPrintf("failed to create a temporary file: %m"));
+    return;
+  }
+
+  if (params.size > 0 && ftruncate(tf.fd, params.size)) {
+    state.SkipWithError(android::base::StringPrintf("ftruncate failed: %m"));
+    return;
+  }
+
+  void* addr = mmap(nullptr, params.size, params.initial_prot, MAP_PRIVATE, tf.fd, 0);
+  if (addr == MAP_FAILED) {
+    state.SkipWithError(android::base::StringPrintf("mmap failed: %m"));
+    return;
+  }
+
+  MprotectBenchmark(state, params, addr);
+
+  if (munmap(addr, params.size) != 0)
+    state.SkipWithError(android::base::StringPrintf("munmap failed: %m"));
+}
+
+static void BM_syscall_mmap_file_mprotect_rw_to_rd(benchmark::State& state) {
+  struct MprotectParams params = {
+      .initial_prot = PROT_READ | PROT_WRITE,
+      .mprotect_prot = PROT_READ,
+      .size = state.range(0),
+  };
+  MprotectBenchmarkWithMmapFile(state, params);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_file_mprotect_rw_to_rd, "AT_ALL_PAGE_SIZES");
+
+static void BM_syscall_mmap_file_mprotect_rw_to_none(benchmark::State& state) {
+  struct MprotectParams params = {
+      .initial_prot = PROT_READ | PROT_WRITE,
+      .mprotect_prot = PROT_NONE,
+      .size = state.range(0),
+  };
+  MprotectBenchmarkWithMmapFile(state, params);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_file_mprotect_rw_to_none, "AT_ALL_PAGE_SIZES");
+
+static void BM_syscall_mmap_file_mprotect_none_to_rw(benchmark::State& state) {
+  struct MprotectParams params = {
+      .initial_prot = PROT_NONE,
+      .mprotect_prot = PROT_READ | PROT_WRITE,
+      .size = state.range(0),
+  };
+  MprotectBenchmarkWithMmapFile(state, params);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_file_mprotect_none_to_rw, "AT_ALL_PAGE_SIZES");
+
+static void BM_syscall_mmap_file_mprotect_none_to_rd(benchmark::State& state) {
+  struct MprotectParams params = {
+      .initial_prot = PROT_NONE,
+      .mprotect_prot = PROT_READ,
+      .size = state.range(0),
+  };
+  MprotectBenchmarkWithMmapFile(state, params);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_file_mprotect_none_to_rd, "AT_ALL_PAGE_SIZES");
+
+static void BM_syscall_mmap_file_mprotect_rd_to_none(benchmark::State& state) {
+  struct MprotectParams params = {
+      .initial_prot = PROT_READ,
+      .mprotect_prot = PROT_NONE,
+      .size = state.range(0),
+  };
+  MprotectBenchmarkWithMmapFile(state, params);
+}
+BIONIC_BENCHMARK_WITH_ARG(BM_syscall_mmap_file_mprotect_rd_to_none, "AT_ALL_PAGE_SIZES");
diff --git a/benchmarks/test_suites/test_from_each.xml b/benchmarks/test_suites/test_from_each.xml
index bad18e7..51c14b6 100644
--- a/benchmarks/test_suites/test_from_each.xml
+++ b/benchmarks/test_suites/test_from_each.xml
@@ -20,7 +20,7 @@
 </fn>
 <fn>
   <name>BM_string_memcpy</name>
-  <args>512 4 4</args>
+  <args>512/4/4</args>
 </fn>
 <fn>
   <name>BM_time_clock_gettime</name>
diff --git a/benchmarks/test_suites/test_medium.xml b/benchmarks/test_suites/test_medium.xml
index 9528af3..0d29a99 100644
--- a/benchmarks/test_suites/test_medium.xml
+++ b/benchmarks/test_suites/test_medium.xml
@@ -8,7 +8,7 @@
 <fn>
   <name>BM_string_memcpy</name>
   <iterations>25</iterations>
-  <args>512 4 4</args>
+  <args>512/4/4</args>
 </fn>
 <fn>
   <name>BM_property_get</name>
diff --git a/benchmarks/test_suites/test_small.xml b/benchmarks/test_suites/test_small.xml
index a4cc285..66d3732 100644
--- a/benchmarks/test_suites/test_small.xml
+++ b/benchmarks/test_suites/test_small.xml
@@ -1,11 +1,11 @@
 <fn>
   <name>BM_string_memcmp</name>
-  <args>8 8 8</args>
+  <args>8/8/8</args>
 </fn>
 <fn>
   <name>BM_math_sqrt</name>
 </fn>
 <fn>
   <name>BM_property_get</name>
-  <args>1</args>
+  <args>1 2 3</args>
 </fn>
diff --git a/benchmarks/tests/interface_test.cpp b/benchmarks/tests/interface_test.cpp
index 301c294..b56866e 100644
--- a/benchmarks/tests/interface_test.cpp
+++ b/benchmarks/tests/interface_test.cpp
@@ -49,12 +49,8 @@
   int fd_;
 };
 
-static const char* GetBenchmarkExe() {
-#if defined(__LP64__)
-  return "/data/benchmarktest64/bionic-benchmarks/bionic-benchmarks";
-#else
-  return "/data/benchmarktest/bionic-benchmarks/bionic-benchmarks";
-#endif
+static std::string GetBenchmarkExe() {
+  return android::base::GetExecutableDirectory() + "/bionic-benchmarks";
 }
 
 static std::string GetBionicXmlArg(const char* xml_file) {
@@ -90,7 +86,8 @@
     ASSERT_NE(0, dup2(fds[1], STDERR_FILENO));
     close(fds[1]);
 
-    args.insert(args.begin(), GetBenchmarkExe());
+    const std::string exe(GetBenchmarkExe());
+    args.insert(args.begin(), exe.c_str());
     args.push_back(nullptr);
     execv(args[0], reinterpret_cast<char* const*>(const_cast<char**>(args.data())));
     exit(1);
@@ -145,10 +142,10 @@
 
 TEST_F(SystemTests, check_benchmark_exe) {
   // Verify that the benchmark exe is present.
-  const char* exe = GetBenchmarkExe();
+  const std::string exe(GetBenchmarkExe());
 
   struct stat st;
-  ASSERT_NE(-1, stat(exe, &st)) << "Stat of " << exe << " failed";
+  ASSERT_NE(-1, stat(exe.c_str(), &st)) << "Stat of " << exe << " failed";
   ASSERT_TRUE(S_ISREG(st.st_mode)) << exe << " is not a file, or doesn't exist.";
 }
 
@@ -163,8 +160,10 @@
     "Google benchmark flags:\n"
     "benchmark [--benchmark_list_tests={true|false}]\n"
     "          [--benchmark_filter=<regex>]\n"
-    "          [--benchmark_min_time=<min_time>]\n"
+    "          [--benchmark_min_time=`<integer>x` OR `<float>s` ]\n"
+    "          [--benchmark_min_warmup_time=<min_warmup_time>]\n"
     "          [--benchmark_repetitions=<num_repetitions>]\n"
+    "          [--benchmark_enable_random_interleaving={true|false}]\n"
     "          [--benchmark_report_aggregates_only={true|false}]\n"
     "          [--benchmark_display_aggregates_only={true|false}]\n"
     "          [--benchmark_format=<console|json|csv>]\n"
@@ -172,6 +171,8 @@
     "          [--benchmark_out_format=<json|console|csv>]\n"
     "          [--benchmark_color={auto|true|false}]\n"
     "          [--benchmark_counters_tabular={true|false}]\n"
+    "          [--benchmark_context=<key>=<value>,...]\n"
+    "          [--benchmark_time_unit={ns|us|ms|s}]\n"
     "          [--v=<verbosity>]\n";
   Verify(expected, 0, std::vector<const char*>{"--help"}, false);
 }
@@ -195,27 +196,31 @@
 
 TEST_F(SystemTests, small) {
   std::string expected =
-    "BM_string_memcmp/8/8/8/iterations:1\n"
-    "BM_math_sqrt/iterations:1\n"
-    "BM_property_get/1/iterations:1\n";
+      "BM_string_memcmp/8/8/8/iterations:1\n"
+      "BM_math_sqrt/iterations:1\n"
+      "BM_property_get/1/iterations:1\n"
+      "BM_property_get/2/iterations:1\n"
+      "BM_property_get/3/iterations:1\n";
   Verify(expected, 0, std::vector<const char*>{GetBionicXmlArg("test_small.xml").c_str(),
                                                "--bionic_iterations=1"});
 }
 
 TEST_F(SystemTests, medium) {
   std::string expected =
-    "BM_string_memcmp/8/0/0/iterations:1\n"
-    "BM_string_memcmp/64/0/0/iterations:1\n"
-    "BM_string_memcmp/512/0/0/iterations:1\n"
-    "BM_string_memcmp/1024/0/0/iterations:1\n"
-    "BM_string_memcmp/8192/0/0/iterations:1\n"
-    "BM_string_memcmp/16384/0/0/iterations:1\n"
-    "BM_string_memcmp/32768/0/0/iterations:1\n"
-    "BM_string_memcmp/65536/0/0/iterations:1\n"
-    "BM_string_memcmp/131072/0/0/iterations:1\n"
-    "BM_math_sqrt/iterations:1\n"
-    "BM_string_memcpy/512/4/4/iterations:25\n"
-    "BM_property_get/1/iterations:1\n";
+      "BM_string_memcmp/8/0/0/iterations:1\n"
+      "BM_string_memcmp/16/0/0/iterations:1\n"
+      "BM_string_memcmp/32/0/0/iterations:1\n"
+      "BM_string_memcmp/64/0/0/iterations:1\n"
+      "BM_string_memcmp/512/0/0/iterations:1\n"
+      "BM_string_memcmp/1024/0/0/iterations:1\n"
+      "BM_string_memcmp/8192/0/0/iterations:1\n"
+      "BM_string_memcmp/16384/0/0/iterations:1\n"
+      "BM_string_memcmp/32768/0/0/iterations:1\n"
+      "BM_string_memcmp/65536/0/0/iterations:1\n"
+      "BM_string_memcmp/131072/0/0/iterations:1\n"
+      "BM_math_sqrt/iterations:1\n"
+      "BM_string_memcpy/512/4/4/iterations:25\n"
+      "BM_property_get/1/iterations:1\n";
   Verify(expected, 0, std::vector<const char*>{GetBionicXmlArg("test_medium.xml").c_str(),
                                                "--bionic_iterations=1"});
 }
@@ -239,43 +244,48 @@
   std::string expected =
     "BM_string_memcpy/8/8/8/iterations:1\n"
     "BM_math_log10/iterations:1\n";
-  Verify(expected, 0, std::vector<const char*>{"--bionic_extra=BM_string_memcpy 8 8 8",
-                                               "--bionic_extra=BM_math_log10",
-                                               "--bionic_iterations=1"});
+  Verify(expected, 0,
+         std::vector<const char*>{"--bionic_extra=BM_string_memcpy 8/8/8",
+                                  "--bionic_extra=BM_math_log10", "--bionic_iterations=1"});
 }
 
 TEST_F(SystemTests, cmd_args_no_iter) {
   std::string expected =
     "BM_string_memcpy/8/8/8\n"
     "BM_math_log10\n";
-  Verify(expected, 0, std::vector<const char*>{"--bionic_extra=BM_string_memcpy 8 8 8",
-                                               "--bionic_extra=BM_math_log10"});
+  Verify(expected, 0,
+         std::vector<const char*>{"--bionic_extra=BM_string_memcpy 8/8/8",
+                                  "--bionic_extra=BM_math_log10"});
 }
 
 TEST_F(SystemTests, xml_and_args) {
   std::string expected =
-    "BM_string_memcmp/8/0/0/iterations:1\n"
-    "BM_string_memcmp/64/0/0/iterations:1\n"
-    "BM_string_memcmp/512/0/0/iterations:1\n"
-    "BM_string_memcmp/1024/0/0/iterations:1\n"
-    "BM_string_memcmp/8192/0/0/iterations:1\n"
-    "BM_string_memcmp/16384/0/0/iterations:1\n"
-    "BM_string_memcmp/32768/0/0/iterations:1\n"
-    "BM_string_memcmp/65536/0/0/iterations:1\n"
-    "BM_string_memcmp/131072/0/0/iterations:1\n"
-    "BM_math_sqrt/iterations:1\n"
-    "BM_string_memcpy/512/4/4/iterations:25\n"
-    "BM_property_get/1/iterations:1\n"
-    "BM_string_memcpy/8/0/0/iterations:1\n"
-    "BM_string_memcpy/64/0/0/iterations:1\n"
-    "BM_string_memcpy/512/0/0/iterations:1\n"
-    "BM_string_memcpy/1024/0/0/iterations:1\n"
-    "BM_string_memcpy/8192/0/0/iterations:1\n"
-    "BM_string_memcpy/16384/0/0/iterations:1\n"
-    "BM_string_memcpy/32768/0/0/iterations:1\n"
-    "BM_string_memcpy/65536/0/0/iterations:1\n"
-    "BM_string_memcpy/131072/0/0/iterations:1\n"
-    "BM_math_log10/iterations:1\n";
+      "BM_string_memcmp/8/0/0/iterations:1\n"
+      "BM_string_memcmp/16/0/0/iterations:1\n"
+      "BM_string_memcmp/32/0/0/iterations:1\n"
+      "BM_string_memcmp/64/0/0/iterations:1\n"
+      "BM_string_memcmp/512/0/0/iterations:1\n"
+      "BM_string_memcmp/1024/0/0/iterations:1\n"
+      "BM_string_memcmp/8192/0/0/iterations:1\n"
+      "BM_string_memcmp/16384/0/0/iterations:1\n"
+      "BM_string_memcmp/32768/0/0/iterations:1\n"
+      "BM_string_memcmp/65536/0/0/iterations:1\n"
+      "BM_string_memcmp/131072/0/0/iterations:1\n"
+      "BM_math_sqrt/iterations:1\n"
+      "BM_string_memcpy/512/4/4/iterations:25\n"
+      "BM_property_get/1/iterations:1\n"
+      "BM_string_memcpy/8/0/0/iterations:1\n"
+      "BM_string_memcpy/16/0/0/iterations:1\n"
+      "BM_string_memcpy/32/0/0/iterations:1\n"
+      "BM_string_memcpy/64/0/0/iterations:1\n"
+      "BM_string_memcpy/512/0/0/iterations:1\n"
+      "BM_string_memcpy/1024/0/0/iterations:1\n"
+      "BM_string_memcpy/8192/0/0/iterations:1\n"
+      "BM_string_memcpy/16384/0/0/iterations:1\n"
+      "BM_string_memcpy/32768/0/0/iterations:1\n"
+      "BM_string_memcpy/65536/0/0/iterations:1\n"
+      "BM_string_memcpy/131072/0/0/iterations:1\n"
+      "BM_math_log10/iterations:1\n";
   Verify(expected, 0, std::vector<const char*>{"--bionic_extra=BM_string_memcpy AT_ALIGNED_TWOBUF",
                                                "--bionic_extra=BM_math_log10",
                                                "--bionic_cpu=0",
@@ -285,580 +295,584 @@
 
 TEST_F(SystemTests, sizes) {
   std::string expected =
-    "BM_stdio_fwrite/8/iterations:1\n"
-    "BM_stdio_fwrite/64/iterations:1\n"
-    "BM_stdio_fwrite/512/iterations:1\n"
-    "BM_stdio_fwrite/1024/iterations:1\n"
-    "BM_stdio_fwrite/8192/iterations:1\n"
-    "BM_stdio_fwrite/16384/iterations:1\n"
-    "BM_stdio_fwrite/32768/iterations:1\n"
-    "BM_stdio_fwrite/65536/iterations:1\n"
-    "BM_stdio_fwrite/131072/iterations:1\n"
-    "BM_stdio_fread/1/iterations:1\n"
-    "BM_stdio_fread/2/iterations:1\n"
-    "BM_stdio_fread/3/iterations:1\n"
-    "BM_stdio_fread/4/iterations:1\n"
-    "BM_stdio_fread/5/iterations:1\n"
-    "BM_stdio_fread/6/iterations:1\n"
-    "BM_stdio_fread/7/iterations:1\n"
-    "BM_stdio_fread/8/iterations:1\n"
-    "BM_stdio_fread/9/iterations:1\n"
-    "BM_stdio_fread/10/iterations:1\n"
-    "BM_stdio_fread/11/iterations:1\n"
-    "BM_stdio_fread/12/iterations:1\n"
-    "BM_stdio_fread/13/iterations:1\n"
-    "BM_stdio_fread/14/iterations:1\n"
-    "BM_stdio_fread/15/iterations:1\n"
-    "BM_stdio_fread/16/iterations:1\n"
-    "BM_stdio_fread/24/iterations:1\n"
-    "BM_stdio_fread/32/iterations:1\n"
-    "BM_stdio_fread/40/iterations:1\n"
-    "BM_stdio_fread/48/iterations:1\n"
-    "BM_stdio_fread/56/iterations:1\n"
-    "BM_stdio_fread/64/iterations:1\n"
-    "BM_stdio_fread/72/iterations:1\n"
-    "BM_stdio_fread/80/iterations:1\n"
-    "BM_stdio_fread/88/iterations:1\n"
-    "BM_stdio_fread/96/iterations:1\n"
-    "BM_stdio_fread/104/iterations:1\n"
-    "BM_stdio_fread/112/iterations:1\n"
-    "BM_stdio_fread/120/iterations:1\n"
-    "BM_stdio_fread/128/iterations:1\n"
-    "BM_stdio_fread/136/iterations:1\n"
-    "BM_stdio_fread/144/iterations:1\n"
-    "BM_stdio_fread/160/iterations:1\n"
-    "BM_stdio_fread/176/iterations:1\n"
-    "BM_stdio_fread/192/iterations:1\n"
-    "BM_stdio_fread/208/iterations:1\n"
-    "BM_stdio_fread/224/iterations:1\n"
-    "BM_stdio_fread/240/iterations:1\n"
-    "BM_stdio_fread/256/iterations:1\n"
-    "BM_stdio_fwrite/512/iterations:1\n"
-    "BM_stdio_fwrite/1024/iterations:1\n"
-    "BM_stdio_fwrite/8192/iterations:1\n"
-    "BM_stdio_fwrite/16384/iterations:1\n"
-    "BM_stdio_fwrite/32768/iterations:1\n"
-    "BM_stdio_fwrite/65536/iterations:1\n"
-    "BM_stdio_fwrite/131072/iterations:1\n"
-    "BM_stdio_fread/262144/iterations:1\n"
-    "BM_stdio_fread/524288/iterations:1\n"
-    "BM_stdio_fread/1048576/iterations:1\n"
-    "BM_stdio_fread/2097152/iterations:1\n"
-    "BM_stdio_fwrite/1/iterations:1\n"
-    "BM_stdio_fwrite/2/iterations:1\n"
-    "BM_stdio_fwrite/3/iterations:1\n"
-    "BM_stdio_fwrite/4/iterations:1\n"
-    "BM_stdio_fwrite/5/iterations:1\n"
-    "BM_stdio_fwrite/6/iterations:1\n"
-    "BM_stdio_fwrite/7/iterations:1\n"
-    "BM_stdio_fwrite/8/iterations:1\n"
-    "BM_stdio_fwrite/9/iterations:1\n"
-    "BM_stdio_fwrite/10/iterations:1\n"
-    "BM_stdio_fwrite/11/iterations:1\n"
-    "BM_stdio_fwrite/12/iterations:1\n"
-    "BM_stdio_fwrite/13/iterations:1\n"
-    "BM_stdio_fwrite/14/iterations:1\n"
-    "BM_stdio_fwrite/15/iterations:1\n"
-    "BM_stdio_fwrite/16/iterations:1\n"
-    "BM_stdio_fwrite/24/iterations:1\n"
-    "BM_stdio_fwrite/32/iterations:1\n"
-    "BM_stdio_fwrite/40/iterations:1\n"
-    "BM_stdio_fwrite/48/iterations:1\n"
-    "BM_stdio_fwrite/56/iterations:1\n"
-    "BM_stdio_fwrite/64/iterations:1\n"
-    "BM_stdio_fwrite/72/iterations:1\n"
-    "BM_stdio_fwrite/80/iterations:1\n"
-    "BM_stdio_fwrite/88/iterations:1\n"
-    "BM_stdio_fwrite/96/iterations:1\n"
-    "BM_stdio_fwrite/104/iterations:1\n"
-    "BM_stdio_fwrite/112/iterations:1\n"
-    "BM_stdio_fwrite/120/iterations:1\n"
-    "BM_stdio_fwrite/128/iterations:1\n"
-    "BM_stdio_fwrite/136/iterations:1\n"
-    "BM_stdio_fwrite/144/iterations:1\n"
-    "BM_stdio_fwrite/160/iterations:1\n"
-    "BM_stdio_fwrite/176/iterations:1\n"
-    "BM_stdio_fwrite/192/iterations:1\n"
-    "BM_stdio_fwrite/208/iterations:1\n"
-    "BM_stdio_fwrite/224/iterations:1\n"
-    "BM_stdio_fwrite/240/iterations:1\n"
-    "BM_stdio_fwrite/256/iterations:1\n"
-    "BM_stdio_fwrite/512/iterations:1\n"
-    "BM_stdio_fwrite/1024/iterations:1\n"
-    "BM_stdio_fwrite/8192/iterations:1\n"
-    "BM_stdio_fwrite/16384/iterations:1\n"
-    "BM_stdio_fwrite/32768/iterations:1\n"
-    "BM_stdio_fwrite/65536/iterations:1\n"
-    "BM_stdio_fwrite/131072/iterations:1\n"
-    "BM_stdio_fwrite/262144/iterations:1\n"
-    "BM_stdio_fwrite/524288/iterations:1\n"
-    "BM_stdio_fwrite/1048576/iterations:1\n"
-    "BM_stdio_fwrite/2097152/iterations:1\n";
+      "BM_stdio_fwrite/8/iterations:1\n"
+      "BM_stdio_fwrite/16/iterations:1\n"
+      "BM_stdio_fwrite/32/iterations:1\n"
+      "BM_stdio_fwrite/64/iterations:1\n"
+      "BM_stdio_fwrite/512/iterations:1\n"
+      "BM_stdio_fwrite/1024/iterations:1\n"
+      "BM_stdio_fwrite/8192/iterations:1\n"
+      "BM_stdio_fwrite/16384/iterations:1\n"
+      "BM_stdio_fwrite/32768/iterations:1\n"
+      "BM_stdio_fwrite/65536/iterations:1\n"
+      "BM_stdio_fwrite/131072/iterations:1\n"
+      "BM_stdio_fread/1/iterations:1\n"
+      "BM_stdio_fread/2/iterations:1\n"
+      "BM_stdio_fread/3/iterations:1\n"
+      "BM_stdio_fread/4/iterations:1\n"
+      "BM_stdio_fread/5/iterations:1\n"
+      "BM_stdio_fread/6/iterations:1\n"
+      "BM_stdio_fread/7/iterations:1\n"
+      "BM_stdio_fread/8/iterations:1\n"
+      "BM_stdio_fread/9/iterations:1\n"
+      "BM_stdio_fread/10/iterations:1\n"
+      "BM_stdio_fread/11/iterations:1\n"
+      "BM_stdio_fread/12/iterations:1\n"
+      "BM_stdio_fread/13/iterations:1\n"
+      "BM_stdio_fread/14/iterations:1\n"
+      "BM_stdio_fread/15/iterations:1\n"
+      "BM_stdio_fread/16/iterations:1\n"
+      "BM_stdio_fread/24/iterations:1\n"
+      "BM_stdio_fread/32/iterations:1\n"
+      "BM_stdio_fread/40/iterations:1\n"
+      "BM_stdio_fread/48/iterations:1\n"
+      "BM_stdio_fread/56/iterations:1\n"
+      "BM_stdio_fread/64/iterations:1\n"
+      "BM_stdio_fread/72/iterations:1\n"
+      "BM_stdio_fread/80/iterations:1\n"
+      "BM_stdio_fread/88/iterations:1\n"
+      "BM_stdio_fread/96/iterations:1\n"
+      "BM_stdio_fread/104/iterations:1\n"
+      "BM_stdio_fread/112/iterations:1\n"
+      "BM_stdio_fread/120/iterations:1\n"
+      "BM_stdio_fread/128/iterations:1\n"
+      "BM_stdio_fread/136/iterations:1\n"
+      "BM_stdio_fread/144/iterations:1\n"
+      "BM_stdio_fread/160/iterations:1\n"
+      "BM_stdio_fread/176/iterations:1\n"
+      "BM_stdio_fread/192/iterations:1\n"
+      "BM_stdio_fread/208/iterations:1\n"
+      "BM_stdio_fread/224/iterations:1\n"
+      "BM_stdio_fread/240/iterations:1\n"
+      "BM_stdio_fread/256/iterations:1\n"
+      "BM_stdio_fwrite/512/iterations:1\n"
+      "BM_stdio_fwrite/1024/iterations:1\n"
+      "BM_stdio_fwrite/8192/iterations:1\n"
+      "BM_stdio_fwrite/16384/iterations:1\n"
+      "BM_stdio_fwrite/32768/iterations:1\n"
+      "BM_stdio_fwrite/65536/iterations:1\n"
+      "BM_stdio_fwrite/131072/iterations:1\n"
+      "BM_stdio_fread/262144/iterations:1\n"
+      "BM_stdio_fread/524288/iterations:1\n"
+      "BM_stdio_fread/1048576/iterations:1\n"
+      "BM_stdio_fread/2097152/iterations:1\n"
+      "BM_stdio_fwrite/1/iterations:1\n"
+      "BM_stdio_fwrite/2/iterations:1\n"
+      "BM_stdio_fwrite/3/iterations:1\n"
+      "BM_stdio_fwrite/4/iterations:1\n"
+      "BM_stdio_fwrite/5/iterations:1\n"
+      "BM_stdio_fwrite/6/iterations:1\n"
+      "BM_stdio_fwrite/7/iterations:1\n"
+      "BM_stdio_fwrite/8/iterations:1\n"
+      "BM_stdio_fwrite/9/iterations:1\n"
+      "BM_stdio_fwrite/10/iterations:1\n"
+      "BM_stdio_fwrite/11/iterations:1\n"
+      "BM_stdio_fwrite/12/iterations:1\n"
+      "BM_stdio_fwrite/13/iterations:1\n"
+      "BM_stdio_fwrite/14/iterations:1\n"
+      "BM_stdio_fwrite/15/iterations:1\n"
+      "BM_stdio_fwrite/16/iterations:1\n"
+      "BM_stdio_fwrite/24/iterations:1\n"
+      "BM_stdio_fwrite/32/iterations:1\n"
+      "BM_stdio_fwrite/40/iterations:1\n"
+      "BM_stdio_fwrite/48/iterations:1\n"
+      "BM_stdio_fwrite/56/iterations:1\n"
+      "BM_stdio_fwrite/64/iterations:1\n"
+      "BM_stdio_fwrite/72/iterations:1\n"
+      "BM_stdio_fwrite/80/iterations:1\n"
+      "BM_stdio_fwrite/88/iterations:1\n"
+      "BM_stdio_fwrite/96/iterations:1\n"
+      "BM_stdio_fwrite/104/iterations:1\n"
+      "BM_stdio_fwrite/112/iterations:1\n"
+      "BM_stdio_fwrite/120/iterations:1\n"
+      "BM_stdio_fwrite/128/iterations:1\n"
+      "BM_stdio_fwrite/136/iterations:1\n"
+      "BM_stdio_fwrite/144/iterations:1\n"
+      "BM_stdio_fwrite/160/iterations:1\n"
+      "BM_stdio_fwrite/176/iterations:1\n"
+      "BM_stdio_fwrite/192/iterations:1\n"
+      "BM_stdio_fwrite/208/iterations:1\n"
+      "BM_stdio_fwrite/224/iterations:1\n"
+      "BM_stdio_fwrite/240/iterations:1\n"
+      "BM_stdio_fwrite/256/iterations:1\n"
+      "BM_stdio_fwrite/512/iterations:1\n"
+      "BM_stdio_fwrite/1024/iterations:1\n"
+      "BM_stdio_fwrite/8192/iterations:1\n"
+      "BM_stdio_fwrite/16384/iterations:1\n"
+      "BM_stdio_fwrite/32768/iterations:1\n"
+      "BM_stdio_fwrite/65536/iterations:1\n"
+      "BM_stdio_fwrite/131072/iterations:1\n"
+      "BM_stdio_fwrite/262144/iterations:1\n"
+      "BM_stdio_fwrite/524288/iterations:1\n"
+      "BM_stdio_fwrite/1048576/iterations:1\n"
+      "BM_stdio_fwrite/2097152/iterations:1\n";
 
   Verify(expected, 0, std::vector<const char*>{GetBionicXmlArg("test_size.xml").c_str()});
 }
 
 TEST_F(SystemTests, alignment_onebuf) {
   std::string expected =
-    "BM_string_strlen/8/0/iterations:1\n"
-    "BM_string_strlen/64/0/iterations:1\n"
-    "BM_string_strlen/512/0/iterations:1\n"
-    "BM_string_strlen/1024/0/iterations:1\n"
-    "BM_string_strlen/8192/0/iterations:1\n"
-    "BM_string_strlen/16384/0/iterations:1\n"
-    "BM_string_strlen/32768/0/iterations:1\n"
-    "BM_string_strlen/65536/0/iterations:1\n"
-    "BM_string_strlen/131072/0/iterations:1\n"
-    "BM_string_memset/1/0/iterations:1\n"
-    "BM_string_memset/2/0/iterations:1\n"
-    "BM_string_memset/3/0/iterations:1\n"
-    "BM_string_memset/4/0/iterations:1\n"
-    "BM_string_memset/5/0/iterations:1\n"
-    "BM_string_memset/6/0/iterations:1\n"
-    "BM_string_memset/7/0/iterations:1\n"
-    "BM_string_memset/8/0/iterations:1\n"
-    "BM_string_memset/9/0/iterations:1\n"
-    "BM_string_memset/10/0/iterations:1\n"
-    "BM_string_memset/11/0/iterations:1\n"
-    "BM_string_memset/12/0/iterations:1\n"
-    "BM_string_memset/13/0/iterations:1\n"
-    "BM_string_memset/14/0/iterations:1\n"
-    "BM_string_memset/15/0/iterations:1\n"
-    "BM_string_memset/16/0/iterations:1\n"
-    "BM_string_memset/24/0/iterations:1\n"
-    "BM_string_memset/32/0/iterations:1\n"
-    "BM_string_memset/40/0/iterations:1\n"
-    "BM_string_memset/48/0/iterations:1\n"
-    "BM_string_memset/56/0/iterations:1\n"
-    "BM_string_memset/64/0/iterations:1\n"
-    "BM_string_memset/72/0/iterations:1\n"
-    "BM_string_memset/80/0/iterations:1\n"
-    "BM_string_memset/88/0/iterations:1\n"
-    "BM_string_memset/96/0/iterations:1\n"
-    "BM_string_memset/104/0/iterations:1\n"
-    "BM_string_memset/112/0/iterations:1\n"
-    "BM_string_memset/120/0/iterations:1\n"
-    "BM_string_memset/128/0/iterations:1\n"
-    "BM_string_memset/136/0/iterations:1\n"
-    "BM_string_memset/144/0/iterations:1\n"
-    "BM_string_memset/160/0/iterations:1\n"
-    "BM_string_memset/176/0/iterations:1\n"
-    "BM_string_memset/192/0/iterations:1\n"
-    "BM_string_memset/208/0/iterations:1\n"
-    "BM_string_memset/224/0/iterations:1\n"
-    "BM_string_memset/240/0/iterations:1\n"
-    "BM_string_memset/256/0/iterations:1\n"
-    "BM_string_strlen/512/0/iterations:1\n"
-    "BM_string_strlen/1024/0/iterations:1\n"
-    "BM_string_strlen/8192/0/iterations:1\n"
-    "BM_string_strlen/16384/0/iterations:1\n"
-    "BM_string_strlen/32768/0/iterations:1\n"
-    "BM_string_strlen/65536/0/iterations:1\n"
-    "BM_string_strlen/131072/0/iterations:1\n"
-    "BM_string_memset/262144/0/iterations:1\n"
-    "BM_string_memset/524288/0/iterations:1\n"
-    "BM_string_memset/1048576/0/iterations:1\n"
-    "BM_string_memset/2097152/0/iterations:1\n"
-    "BM_string_strlen/1/0/iterations:1\n"
-    "BM_string_strlen/2/0/iterations:1\n"
-    "BM_string_strlen/3/0/iterations:1\n"
-    "BM_string_strlen/4/0/iterations:1\n"
-    "BM_string_strlen/5/0/iterations:1\n"
-    "BM_string_strlen/6/0/iterations:1\n"
-    "BM_string_strlen/7/0/iterations:1\n"
-    "BM_string_strlen/8/0/iterations:1\n"
-    "BM_string_strlen/9/0/iterations:1\n"
-    "BM_string_strlen/10/0/iterations:1\n"
-    "BM_string_strlen/11/0/iterations:1\n"
-    "BM_string_strlen/12/0/iterations:1\n"
-    "BM_string_strlen/13/0/iterations:1\n"
-    "BM_string_strlen/14/0/iterations:1\n"
-    "BM_string_strlen/15/0/iterations:1\n"
-    "BM_string_strlen/16/0/iterations:1\n"
-    "BM_string_strlen/24/0/iterations:1\n"
-    "BM_string_strlen/32/0/iterations:1\n"
-    "BM_string_strlen/40/0/iterations:1\n"
-    "BM_string_strlen/48/0/iterations:1\n"
-    "BM_string_strlen/56/0/iterations:1\n"
-    "BM_string_strlen/64/0/iterations:1\n"
-    "BM_string_strlen/72/0/iterations:1\n"
-    "BM_string_strlen/80/0/iterations:1\n"
-    "BM_string_strlen/88/0/iterations:1\n"
-    "BM_string_strlen/96/0/iterations:1\n"
-    "BM_string_strlen/104/0/iterations:1\n"
-    "BM_string_strlen/112/0/iterations:1\n"
-    "BM_string_strlen/120/0/iterations:1\n"
-    "BM_string_strlen/128/0/iterations:1\n"
-    "BM_string_strlen/136/0/iterations:1\n"
-    "BM_string_strlen/144/0/iterations:1\n"
-    "BM_string_strlen/160/0/iterations:1\n"
-    "BM_string_strlen/176/0/iterations:1\n"
-    "BM_string_strlen/192/0/iterations:1\n"
-    "BM_string_strlen/208/0/iterations:1\n"
-    "BM_string_strlen/224/0/iterations:1\n"
-    "BM_string_strlen/240/0/iterations:1\n"
-    "BM_string_strlen/256/0/iterations:1\n"
-    "BM_string_strlen/512/0/iterations:1\n"
-    "BM_string_strlen/1024/0/iterations:1\n"
-    "BM_string_strlen/8192/0/iterations:1\n"
-    "BM_string_strlen/16384/0/iterations:1\n"
-    "BM_string_strlen/32768/0/iterations:1\n"
-    "BM_string_strlen/65536/0/iterations:1\n"
-    "BM_string_strlen/131072/0/iterations:1\n"
-    "BM_string_strlen/262144/0/iterations:1\n"
-    "BM_string_strlen/524288/0/iterations:1\n"
-    "BM_string_strlen/1048576/0/iterations:1\n"
-    "BM_string_strlen/2097152/0/iterations:1\n"
-    "BM_string_memset/1/0/iterations:1\n"
-    "BM_string_memset/1/1/iterations:1\n"
-    "BM_string_memset/1/2/iterations:1\n"
-    "BM_string_memset/1/4/iterations:1\n"
-    "BM_string_memset/1/8/iterations:1\n"
-    "BM_string_memset/1/16/iterations:1\n"
-    "BM_string_memset/1/32/iterations:1\n"
-    "BM_string_memset/2/0/iterations:1\n"
-    "BM_string_memset/2/1/iterations:1\n"
-    "BM_string_memset/2/2/iterations:1\n"
-    "BM_string_memset/2/4/iterations:1\n"
-    "BM_string_memset/2/8/iterations:1\n"
-    "BM_string_memset/2/16/iterations:1\n"
-    "BM_string_memset/2/32/iterations:1\n"
-    "BM_string_memset/3/0/iterations:1\n"
-    "BM_string_memset/3/1/iterations:1\n"
-    "BM_string_memset/3/2/iterations:1\n"
-    "BM_string_memset/3/4/iterations:1\n"
-    "BM_string_memset/3/8/iterations:1\n"
-    "BM_string_memset/3/16/iterations:1\n"
-    "BM_string_memset/3/32/iterations:1\n"
-    "BM_string_memset/4/0/iterations:1\n"
-    "BM_string_memset/4/1/iterations:1\n"
-    "BM_string_memset/4/2/iterations:1\n"
-    "BM_string_memset/4/4/iterations:1\n"
-    "BM_string_memset/4/8/iterations:1\n"
-    "BM_string_memset/4/16/iterations:1\n"
-    "BM_string_memset/4/32/iterations:1\n"
-    "BM_string_memset/5/0/iterations:1\n"
-    "BM_string_memset/5/1/iterations:1\n"
-    "BM_string_memset/5/2/iterations:1\n"
-    "BM_string_memset/5/4/iterations:1\n"
-    "BM_string_memset/5/8/iterations:1\n"
-    "BM_string_memset/5/16/iterations:1\n"
-    "BM_string_memset/5/32/iterations:1\n"
-    "BM_string_memset/6/0/iterations:1\n"
-    "BM_string_memset/6/1/iterations:1\n"
-    "BM_string_memset/6/2/iterations:1\n"
-    "BM_string_memset/6/4/iterations:1\n"
-    "BM_string_memset/6/8/iterations:1\n"
-    "BM_string_memset/6/16/iterations:1\n"
-    "BM_string_memset/6/32/iterations:1\n"
-    "BM_string_memset/7/0/iterations:1\n"
-    "BM_string_memset/7/1/iterations:1\n"
-    "BM_string_memset/7/2/iterations:1\n"
-    "BM_string_memset/7/4/iterations:1\n"
-    "BM_string_memset/7/8/iterations:1\n"
-    "BM_string_memset/7/16/iterations:1\n"
-    "BM_string_memset/7/32/iterations:1\n"
-    "BM_string_memset/8/0/iterations:1\n"
-    "BM_string_memset/8/1/iterations:1\n"
-    "BM_string_memset/8/2/iterations:1\n"
-    "BM_string_memset/8/4/iterations:1\n"
-    "BM_string_memset/8/8/iterations:1\n"
-    "BM_string_memset/8/16/iterations:1\n"
-    "BM_string_memset/8/32/iterations:1\n"
-    "BM_string_memset/9/0/iterations:1\n"
-    "BM_string_memset/9/1/iterations:1\n"
-    "BM_string_memset/9/2/iterations:1\n"
-    "BM_string_memset/9/4/iterations:1\n"
-    "BM_string_memset/9/8/iterations:1\n"
-    "BM_string_memset/9/16/iterations:1\n"
-    "BM_string_memset/9/32/iterations:1\n"
-    "BM_string_memset/10/0/iterations:1\n"
-    "BM_string_memset/10/1/iterations:1\n"
-    "BM_string_memset/10/2/iterations:1\n"
-    "BM_string_memset/10/4/iterations:1\n"
-    "BM_string_memset/10/8/iterations:1\n"
-    "BM_string_memset/10/16/iterations:1\n"
-    "BM_string_memset/10/32/iterations:1\n"
-    "BM_string_memset/11/0/iterations:1\n"
-    "BM_string_memset/11/1/iterations:1\n"
-    "BM_string_memset/11/2/iterations:1\n"
-    "BM_string_memset/11/4/iterations:1\n"
-    "BM_string_memset/11/8/iterations:1\n"
-    "BM_string_memset/11/16/iterations:1\n"
-    "BM_string_memset/11/32/iterations:1\n"
-    "BM_string_memset/12/0/iterations:1\n"
-    "BM_string_memset/12/1/iterations:1\n"
-    "BM_string_memset/12/2/iterations:1\n"
-    "BM_string_memset/12/4/iterations:1\n"
-    "BM_string_memset/12/8/iterations:1\n"
-    "BM_string_memset/12/16/iterations:1\n"
-    "BM_string_memset/12/32/iterations:1\n"
-    "BM_string_memset/13/0/iterations:1\n"
-    "BM_string_memset/13/1/iterations:1\n"
-    "BM_string_memset/13/2/iterations:1\n"
-    "BM_string_memset/13/4/iterations:1\n"
-    "BM_string_memset/13/8/iterations:1\n"
-    "BM_string_memset/13/16/iterations:1\n"
-    "BM_string_memset/13/32/iterations:1\n"
-    "BM_string_memset/14/0/iterations:1\n"
-    "BM_string_memset/14/1/iterations:1\n"
-    "BM_string_memset/14/2/iterations:1\n"
-    "BM_string_memset/14/4/iterations:1\n"
-    "BM_string_memset/14/8/iterations:1\n"
-    "BM_string_memset/14/16/iterations:1\n"
-    "BM_string_memset/14/32/iterations:1\n"
-    "BM_string_memset/15/0/iterations:1\n"
-    "BM_string_memset/15/1/iterations:1\n"
-    "BM_string_memset/15/2/iterations:1\n"
-    "BM_string_memset/15/4/iterations:1\n"
-    "BM_string_memset/15/8/iterations:1\n"
-    "BM_string_memset/15/16/iterations:1\n"
-    "BM_string_memset/15/32/iterations:1\n"
-    "BM_string_memset/16/0/iterations:1\n"
-    "BM_string_memset/16/1/iterations:1\n"
-    "BM_string_memset/16/2/iterations:1\n"
-    "BM_string_memset/16/4/iterations:1\n"
-    "BM_string_memset/16/8/iterations:1\n"
-    "BM_string_memset/16/16/iterations:1\n"
-    "BM_string_memset/16/32/iterations:1\n"
-    "BM_string_memset/24/0/iterations:1\n"
-    "BM_string_memset/24/1/iterations:1\n"
-    "BM_string_memset/24/2/iterations:1\n"
-    "BM_string_memset/24/4/iterations:1\n"
-    "BM_string_memset/24/8/iterations:1\n"
-    "BM_string_memset/24/16/iterations:1\n"
-    "BM_string_memset/24/32/iterations:1\n"
-    "BM_string_memset/32/0/iterations:1\n"
-    "BM_string_memset/32/1/iterations:1\n"
-    "BM_string_memset/32/2/iterations:1\n"
-    "BM_string_memset/32/4/iterations:1\n"
-    "BM_string_memset/32/8/iterations:1\n"
-    "BM_string_memset/32/16/iterations:1\n"
-    "BM_string_memset/32/32/iterations:1\n"
-    "BM_string_memset/40/0/iterations:1\n"
-    "BM_string_memset/40/1/iterations:1\n"
-    "BM_string_memset/40/2/iterations:1\n"
-    "BM_string_memset/40/4/iterations:1\n"
-    "BM_string_memset/40/8/iterations:1\n"
-    "BM_string_memset/40/16/iterations:1\n"
-    "BM_string_memset/40/32/iterations:1\n"
-    "BM_string_memset/48/0/iterations:1\n"
-    "BM_string_memset/48/1/iterations:1\n"
-    "BM_string_memset/48/2/iterations:1\n"
-    "BM_string_memset/48/4/iterations:1\n"
-    "BM_string_memset/48/8/iterations:1\n"
-    "BM_string_memset/48/16/iterations:1\n"
-    "BM_string_memset/48/32/iterations:1\n"
-    "BM_string_memset/56/0/iterations:1\n"
-    "BM_string_memset/56/1/iterations:1\n"
-    "BM_string_memset/56/2/iterations:1\n"
-    "BM_string_memset/56/4/iterations:1\n"
-    "BM_string_memset/56/8/iterations:1\n"
-    "BM_string_memset/56/16/iterations:1\n"
-    "BM_string_memset/56/32/iterations:1\n"
-    "BM_string_memset/64/0/iterations:1\n"
-    "BM_string_memset/64/1/iterations:1\n"
-    "BM_string_memset/64/2/iterations:1\n"
-    "BM_string_memset/64/4/iterations:1\n"
-    "BM_string_memset/64/8/iterations:1\n"
-    "BM_string_memset/64/16/iterations:1\n"
-    "BM_string_memset/64/32/iterations:1\n"
-    "BM_string_memset/72/0/iterations:1\n"
-    "BM_string_memset/72/1/iterations:1\n"
-    "BM_string_memset/72/2/iterations:1\n"
-    "BM_string_memset/72/4/iterations:1\n"
-    "BM_string_memset/72/8/iterations:1\n"
-    "BM_string_memset/72/16/iterations:1\n"
-    "BM_string_memset/72/32/iterations:1\n"
-    "BM_string_memset/80/0/iterations:1\n"
-    "BM_string_memset/80/1/iterations:1\n"
-    "BM_string_memset/80/2/iterations:1\n"
-    "BM_string_memset/80/4/iterations:1\n"
-    "BM_string_memset/80/8/iterations:1\n"
-    "BM_string_memset/80/16/iterations:1\n"
-    "BM_string_memset/80/32/iterations:1\n"
-    "BM_string_memset/88/0/iterations:1\n"
-    "BM_string_memset/88/1/iterations:1\n"
-    "BM_string_memset/88/2/iterations:1\n"
-    "BM_string_memset/88/4/iterations:1\n"
-    "BM_string_memset/88/8/iterations:1\n"
-    "BM_string_memset/88/16/iterations:1\n"
-    "BM_string_memset/88/32/iterations:1\n"
-    "BM_string_memset/96/0/iterations:1\n"
-    "BM_string_memset/96/1/iterations:1\n"
-    "BM_string_memset/96/2/iterations:1\n"
-    "BM_string_memset/96/4/iterations:1\n"
-    "BM_string_memset/96/8/iterations:1\n"
-    "BM_string_memset/96/16/iterations:1\n"
-    "BM_string_memset/96/32/iterations:1\n"
-    "BM_string_memset/104/0/iterations:1\n"
-    "BM_string_memset/104/1/iterations:1\n"
-    "BM_string_memset/104/2/iterations:1\n"
-    "BM_string_memset/104/4/iterations:1\n"
-    "BM_string_memset/104/8/iterations:1\n"
-    "BM_string_memset/104/16/iterations:1\n"
-    "BM_string_memset/104/32/iterations:1\n"
-    "BM_string_memset/112/0/iterations:1\n"
-    "BM_string_memset/112/1/iterations:1\n"
-    "BM_string_memset/112/2/iterations:1\n"
-    "BM_string_memset/112/4/iterations:1\n"
-    "BM_string_memset/112/8/iterations:1\n"
-    "BM_string_memset/112/16/iterations:1\n"
-    "BM_string_memset/112/32/iterations:1\n"
-    "BM_string_memset/120/0/iterations:1\n"
-    "BM_string_memset/120/1/iterations:1\n"
-    "BM_string_memset/120/2/iterations:1\n"
-    "BM_string_memset/120/4/iterations:1\n"
-    "BM_string_memset/120/8/iterations:1\n"
-    "BM_string_memset/120/16/iterations:1\n"
-    "BM_string_memset/120/32/iterations:1\n"
-    "BM_string_memset/128/0/iterations:1\n"
-    "BM_string_memset/128/1/iterations:1\n"
-    "BM_string_memset/128/2/iterations:1\n"
-    "BM_string_memset/128/4/iterations:1\n"
-    "BM_string_memset/128/8/iterations:1\n"
-    "BM_string_memset/128/16/iterations:1\n"
-    "BM_string_memset/128/32/iterations:1\n"
-    "BM_string_memset/136/0/iterations:1\n"
-    "BM_string_memset/136/1/iterations:1\n"
-    "BM_string_memset/136/2/iterations:1\n"
-    "BM_string_memset/136/4/iterations:1\n"
-    "BM_string_memset/136/8/iterations:1\n"
-    "BM_string_memset/136/16/iterations:1\n"
-    "BM_string_memset/136/32/iterations:1\n"
-    "BM_string_memset/144/0/iterations:1\n"
-    "BM_string_memset/144/1/iterations:1\n"
-    "BM_string_memset/144/2/iterations:1\n"
-    "BM_string_memset/144/4/iterations:1\n"
-    "BM_string_memset/144/8/iterations:1\n"
-    "BM_string_memset/144/16/iterations:1\n"
-    "BM_string_memset/144/32/iterations:1\n"
-    "BM_string_memset/160/0/iterations:1\n"
-    "BM_string_memset/160/1/iterations:1\n"
-    "BM_string_memset/160/2/iterations:1\n"
-    "BM_string_memset/160/4/iterations:1\n"
-    "BM_string_memset/160/8/iterations:1\n"
-    "BM_string_memset/160/16/iterations:1\n"
-    "BM_string_memset/160/32/iterations:1\n"
-    "BM_string_memset/176/0/iterations:1\n"
-    "BM_string_memset/176/1/iterations:1\n"
-    "BM_string_memset/176/2/iterations:1\n"
-    "BM_string_memset/176/4/iterations:1\n"
-    "BM_string_memset/176/8/iterations:1\n"
-    "BM_string_memset/176/16/iterations:1\n"
-    "BM_string_memset/176/32/iterations:1\n"
-    "BM_string_memset/192/0/iterations:1\n"
-    "BM_string_memset/192/1/iterations:1\n"
-    "BM_string_memset/192/2/iterations:1\n"
-    "BM_string_memset/192/4/iterations:1\n"
-    "BM_string_memset/192/8/iterations:1\n"
-    "BM_string_memset/192/16/iterations:1\n"
-    "BM_string_memset/192/32/iterations:1\n"
-    "BM_string_memset/208/0/iterations:1\n"
-    "BM_string_memset/208/1/iterations:1\n"
-    "BM_string_memset/208/2/iterations:1\n"
-    "BM_string_memset/208/4/iterations:1\n"
-    "BM_string_memset/208/8/iterations:1\n"
-    "BM_string_memset/208/16/iterations:1\n"
-    "BM_string_memset/208/32/iterations:1\n"
-    "BM_string_memset/224/0/iterations:1\n"
-    "BM_string_memset/224/1/iterations:1\n"
-    "BM_string_memset/224/2/iterations:1\n"
-    "BM_string_memset/224/4/iterations:1\n"
-    "BM_string_memset/224/8/iterations:1\n"
-    "BM_string_memset/224/16/iterations:1\n"
-    "BM_string_memset/224/32/iterations:1\n"
-    "BM_string_memset/240/0/iterations:1\n"
-    "BM_string_memset/240/1/iterations:1\n"
-    "BM_string_memset/240/2/iterations:1\n"
-    "BM_string_memset/240/4/iterations:1\n"
-    "BM_string_memset/240/8/iterations:1\n"
-    "BM_string_memset/240/16/iterations:1\n"
-    "BM_string_memset/240/32/iterations:1\n"
-    "BM_string_memset/256/0/iterations:1\n"
-    "BM_string_memset/256/1/iterations:1\n"
-    "BM_string_memset/256/2/iterations:1\n"
-    "BM_string_memset/256/4/iterations:1\n"
-    "BM_string_memset/256/8/iterations:1\n"
-    "BM_string_memset/256/16/iterations:1\n"
-    "BM_string_memset/256/32/iterations:1\n"
-    "BM_string_memset/512/0/iterations:1\n"
-    "BM_string_memset/512/1/iterations:1\n"
-    "BM_string_memset/512/2/iterations:1\n"
-    "BM_string_memset/512/4/iterations:1\n"
-    "BM_string_memset/512/8/iterations:1\n"
-    "BM_string_memset/512/16/iterations:1\n"
-    "BM_string_memset/512/32/iterations:1\n"
-    "BM_string_memset/1024/0/iterations:1\n"
-    "BM_string_memset/1024/1/iterations:1\n"
-    "BM_string_memset/1024/2/iterations:1\n"
-    "BM_string_memset/1024/4/iterations:1\n"
-    "BM_string_memset/1024/8/iterations:1\n"
-    "BM_string_memset/1024/16/iterations:1\n"
-    "BM_string_memset/1024/32/iterations:1\n"
-    "BM_string_memset/8192/0/iterations:1\n"
-    "BM_string_memset/8192/1/iterations:1\n"
-    "BM_string_memset/8192/2/iterations:1\n"
-    "BM_string_memset/8192/4/iterations:1\n"
-    "BM_string_memset/8192/8/iterations:1\n"
-    "BM_string_memset/8192/16/iterations:1\n"
-    "BM_string_memset/8192/32/iterations:1\n"
-    "BM_string_memset/16384/0/iterations:1\n"
-    "BM_string_memset/16384/1/iterations:1\n"
-    "BM_string_memset/16384/2/iterations:1\n"
-    "BM_string_memset/16384/4/iterations:1\n"
-    "BM_string_memset/16384/8/iterations:1\n"
-    "BM_string_memset/16384/16/iterations:1\n"
-    "BM_string_memset/16384/32/iterations:1\n"
-    "BM_string_memset/32768/0/iterations:1\n"
-    "BM_string_memset/32768/1/iterations:1\n"
-    "BM_string_memset/32768/2/iterations:1\n"
-    "BM_string_memset/32768/4/iterations:1\n"
-    "BM_string_memset/32768/8/iterations:1\n"
-    "BM_string_memset/32768/16/iterations:1\n"
-    "BM_string_memset/32768/32/iterations:1\n"
-    "BM_string_memset/65536/0/iterations:1\n"
-    "BM_string_memset/65536/1/iterations:1\n"
-    "BM_string_memset/65536/2/iterations:1\n"
-    "BM_string_memset/65536/4/iterations:1\n"
-    "BM_string_memset/65536/8/iterations:1\n"
-    "BM_string_memset/65536/16/iterations:1\n"
-    "BM_string_memset/65536/32/iterations:1\n"
-    "BM_string_memset/131072/0/iterations:1\n"
-    "BM_string_memset/131072/1/iterations:1\n"
-    "BM_string_memset/131072/2/iterations:1\n"
-    "BM_string_memset/131072/4/iterations:1\n"
-    "BM_string_memset/131072/8/iterations:1\n"
-    "BM_string_memset/131072/16/iterations:1\n"
-    "BM_string_memset/131072/32/iterations:1\n"
-    "BM_string_memset/262144/0/iterations:1\n"
-    "BM_string_memset/262144/1/iterations:1\n"
-    "BM_string_memset/262144/2/iterations:1\n"
-    "BM_string_memset/262144/4/iterations:1\n"
-    "BM_string_memset/262144/8/iterations:1\n"
-    "BM_string_memset/262144/16/iterations:1\n"
-    "BM_string_memset/262144/32/iterations:1\n"
-    "BM_string_memset/524288/0/iterations:1\n"
-    "BM_string_memset/524288/1/iterations:1\n"
-    "BM_string_memset/524288/2/iterations:1\n"
-    "BM_string_memset/524288/4/iterations:1\n"
-    "BM_string_memset/524288/8/iterations:1\n"
-    "BM_string_memset/524288/16/iterations:1\n"
-    "BM_string_memset/524288/32/iterations:1\n"
-    "BM_string_memset/1048576/0/iterations:1\n"
-    "BM_string_memset/1048576/1/iterations:1\n"
-    "BM_string_memset/1048576/2/iterations:1\n"
-    "BM_string_memset/1048576/4/iterations:1\n"
-    "BM_string_memset/1048576/8/iterations:1\n"
-    "BM_string_memset/1048576/16/iterations:1\n"
-    "BM_string_memset/1048576/32/iterations:1\n"
-    "BM_string_memset/2097152/0/iterations:1\n"
-    "BM_string_memset/2097152/1/iterations:1\n"
-    "BM_string_memset/2097152/2/iterations:1\n"
-    "BM_string_memset/2097152/4/iterations:1\n"
-    "BM_string_memset/2097152/8/iterations:1\n"
-    "BM_string_memset/2097152/16/iterations:1\n"
-    "BM_string_memset/2097152/32/iterations:1\n";
+      "BM_string_strlen/8/0/iterations:1\n"
+      "BM_string_strlen/16/0/iterations:1\n"
+      "BM_string_strlen/32/0/iterations:1\n"
+      "BM_string_strlen/64/0/iterations:1\n"
+      "BM_string_strlen/512/0/iterations:1\n"
+      "BM_string_strlen/1024/0/iterations:1\n"
+      "BM_string_strlen/8192/0/iterations:1\n"
+      "BM_string_strlen/16384/0/iterations:1\n"
+      "BM_string_strlen/32768/0/iterations:1\n"
+      "BM_string_strlen/65536/0/iterations:1\n"
+      "BM_string_strlen/131072/0/iterations:1\n"
+      "BM_string_memset/1/0/iterations:1\n"
+      "BM_string_memset/2/0/iterations:1\n"
+      "BM_string_memset/3/0/iterations:1\n"
+      "BM_string_memset/4/0/iterations:1\n"
+      "BM_string_memset/5/0/iterations:1\n"
+      "BM_string_memset/6/0/iterations:1\n"
+      "BM_string_memset/7/0/iterations:1\n"
+      "BM_string_memset/8/0/iterations:1\n"
+      "BM_string_memset/9/0/iterations:1\n"
+      "BM_string_memset/10/0/iterations:1\n"
+      "BM_string_memset/11/0/iterations:1\n"
+      "BM_string_memset/12/0/iterations:1\n"
+      "BM_string_memset/13/0/iterations:1\n"
+      "BM_string_memset/14/0/iterations:1\n"
+      "BM_string_memset/15/0/iterations:1\n"
+      "BM_string_memset/16/0/iterations:1\n"
+      "BM_string_memset/24/0/iterations:1\n"
+      "BM_string_memset/32/0/iterations:1\n"
+      "BM_string_memset/40/0/iterations:1\n"
+      "BM_string_memset/48/0/iterations:1\n"
+      "BM_string_memset/56/0/iterations:1\n"
+      "BM_string_memset/64/0/iterations:1\n"
+      "BM_string_memset/72/0/iterations:1\n"
+      "BM_string_memset/80/0/iterations:1\n"
+      "BM_string_memset/88/0/iterations:1\n"
+      "BM_string_memset/96/0/iterations:1\n"
+      "BM_string_memset/104/0/iterations:1\n"
+      "BM_string_memset/112/0/iterations:1\n"
+      "BM_string_memset/120/0/iterations:1\n"
+      "BM_string_memset/128/0/iterations:1\n"
+      "BM_string_memset/136/0/iterations:1\n"
+      "BM_string_memset/144/0/iterations:1\n"
+      "BM_string_memset/160/0/iterations:1\n"
+      "BM_string_memset/176/0/iterations:1\n"
+      "BM_string_memset/192/0/iterations:1\n"
+      "BM_string_memset/208/0/iterations:1\n"
+      "BM_string_memset/224/0/iterations:1\n"
+      "BM_string_memset/240/0/iterations:1\n"
+      "BM_string_memset/256/0/iterations:1\n"
+      "BM_string_strlen/512/0/iterations:1\n"
+      "BM_string_strlen/1024/0/iterations:1\n"
+      "BM_string_strlen/8192/0/iterations:1\n"
+      "BM_string_strlen/16384/0/iterations:1\n"
+      "BM_string_strlen/32768/0/iterations:1\n"
+      "BM_string_strlen/65536/0/iterations:1\n"
+      "BM_string_strlen/131072/0/iterations:1\n"
+      "BM_string_memset/262144/0/iterations:1\n"
+      "BM_string_memset/524288/0/iterations:1\n"
+      "BM_string_memset/1048576/0/iterations:1\n"
+      "BM_string_memset/2097152/0/iterations:1\n"
+      "BM_string_strlen/1/0/iterations:1\n"
+      "BM_string_strlen/2/0/iterations:1\n"
+      "BM_string_strlen/3/0/iterations:1\n"
+      "BM_string_strlen/4/0/iterations:1\n"
+      "BM_string_strlen/5/0/iterations:1\n"
+      "BM_string_strlen/6/0/iterations:1\n"
+      "BM_string_strlen/7/0/iterations:1\n"
+      "BM_string_strlen/8/0/iterations:1\n"
+      "BM_string_strlen/9/0/iterations:1\n"
+      "BM_string_strlen/10/0/iterations:1\n"
+      "BM_string_strlen/11/0/iterations:1\n"
+      "BM_string_strlen/12/0/iterations:1\n"
+      "BM_string_strlen/13/0/iterations:1\n"
+      "BM_string_strlen/14/0/iterations:1\n"
+      "BM_string_strlen/15/0/iterations:1\n"
+      "BM_string_strlen/16/0/iterations:1\n"
+      "BM_string_strlen/24/0/iterations:1\n"
+      "BM_string_strlen/32/0/iterations:1\n"
+      "BM_string_strlen/40/0/iterations:1\n"
+      "BM_string_strlen/48/0/iterations:1\n"
+      "BM_string_strlen/56/0/iterations:1\n"
+      "BM_string_strlen/64/0/iterations:1\n"
+      "BM_string_strlen/72/0/iterations:1\n"
+      "BM_string_strlen/80/0/iterations:1\n"
+      "BM_string_strlen/88/0/iterations:1\n"
+      "BM_string_strlen/96/0/iterations:1\n"
+      "BM_string_strlen/104/0/iterations:1\n"
+      "BM_string_strlen/112/0/iterations:1\n"
+      "BM_string_strlen/120/0/iterations:1\n"
+      "BM_string_strlen/128/0/iterations:1\n"
+      "BM_string_strlen/136/0/iterations:1\n"
+      "BM_string_strlen/144/0/iterations:1\n"
+      "BM_string_strlen/160/0/iterations:1\n"
+      "BM_string_strlen/176/0/iterations:1\n"
+      "BM_string_strlen/192/0/iterations:1\n"
+      "BM_string_strlen/208/0/iterations:1\n"
+      "BM_string_strlen/224/0/iterations:1\n"
+      "BM_string_strlen/240/0/iterations:1\n"
+      "BM_string_strlen/256/0/iterations:1\n"
+      "BM_string_strlen/512/0/iterations:1\n"
+      "BM_string_strlen/1024/0/iterations:1\n"
+      "BM_string_strlen/8192/0/iterations:1\n"
+      "BM_string_strlen/16384/0/iterations:1\n"
+      "BM_string_strlen/32768/0/iterations:1\n"
+      "BM_string_strlen/65536/0/iterations:1\n"
+      "BM_string_strlen/131072/0/iterations:1\n"
+      "BM_string_strlen/262144/0/iterations:1\n"
+      "BM_string_strlen/524288/0/iterations:1\n"
+      "BM_string_strlen/1048576/0/iterations:1\n"
+      "BM_string_strlen/2097152/0/iterations:1\n"
+      "BM_string_memset/1/0/iterations:1\n"
+      "BM_string_memset/1/1/iterations:1\n"
+      "BM_string_memset/1/2/iterations:1\n"
+      "BM_string_memset/1/4/iterations:1\n"
+      "BM_string_memset/1/8/iterations:1\n"
+      "BM_string_memset/1/16/iterations:1\n"
+      "BM_string_memset/1/32/iterations:1\n"
+      "BM_string_memset/2/0/iterations:1\n"
+      "BM_string_memset/2/1/iterations:1\n"
+      "BM_string_memset/2/2/iterations:1\n"
+      "BM_string_memset/2/4/iterations:1\n"
+      "BM_string_memset/2/8/iterations:1\n"
+      "BM_string_memset/2/16/iterations:1\n"
+      "BM_string_memset/2/32/iterations:1\n"
+      "BM_string_memset/3/0/iterations:1\n"
+      "BM_string_memset/3/1/iterations:1\n"
+      "BM_string_memset/3/2/iterations:1\n"
+      "BM_string_memset/3/4/iterations:1\n"
+      "BM_string_memset/3/8/iterations:1\n"
+      "BM_string_memset/3/16/iterations:1\n"
+      "BM_string_memset/3/32/iterations:1\n"
+      "BM_string_memset/4/0/iterations:1\n"
+      "BM_string_memset/4/1/iterations:1\n"
+      "BM_string_memset/4/2/iterations:1\n"
+      "BM_string_memset/4/4/iterations:1\n"
+      "BM_string_memset/4/8/iterations:1\n"
+      "BM_string_memset/4/16/iterations:1\n"
+      "BM_string_memset/4/32/iterations:1\n"
+      "BM_string_memset/5/0/iterations:1\n"
+      "BM_string_memset/5/1/iterations:1\n"
+      "BM_string_memset/5/2/iterations:1\n"
+      "BM_string_memset/5/4/iterations:1\n"
+      "BM_string_memset/5/8/iterations:1\n"
+      "BM_string_memset/5/16/iterations:1\n"
+      "BM_string_memset/5/32/iterations:1\n"
+      "BM_string_memset/6/0/iterations:1\n"
+      "BM_string_memset/6/1/iterations:1\n"
+      "BM_string_memset/6/2/iterations:1\n"
+      "BM_string_memset/6/4/iterations:1\n"
+      "BM_string_memset/6/8/iterations:1\n"
+      "BM_string_memset/6/16/iterations:1\n"
+      "BM_string_memset/6/32/iterations:1\n"
+      "BM_string_memset/7/0/iterations:1\n"
+      "BM_string_memset/7/1/iterations:1\n"
+      "BM_string_memset/7/2/iterations:1\n"
+      "BM_string_memset/7/4/iterations:1\n"
+      "BM_string_memset/7/8/iterations:1\n"
+      "BM_string_memset/7/16/iterations:1\n"
+      "BM_string_memset/7/32/iterations:1\n"
+      "BM_string_memset/8/0/iterations:1\n"
+      "BM_string_memset/8/1/iterations:1\n"
+      "BM_string_memset/8/2/iterations:1\n"
+      "BM_string_memset/8/4/iterations:1\n"
+      "BM_string_memset/8/8/iterations:1\n"
+      "BM_string_memset/8/16/iterations:1\n"
+      "BM_string_memset/8/32/iterations:1\n"
+      "BM_string_memset/9/0/iterations:1\n"
+      "BM_string_memset/9/1/iterations:1\n"
+      "BM_string_memset/9/2/iterations:1\n"
+      "BM_string_memset/9/4/iterations:1\n"
+      "BM_string_memset/9/8/iterations:1\n"
+      "BM_string_memset/9/16/iterations:1\n"
+      "BM_string_memset/9/32/iterations:1\n"
+      "BM_string_memset/10/0/iterations:1\n"
+      "BM_string_memset/10/1/iterations:1\n"
+      "BM_string_memset/10/2/iterations:1\n"
+      "BM_string_memset/10/4/iterations:1\n"
+      "BM_string_memset/10/8/iterations:1\n"
+      "BM_string_memset/10/16/iterations:1\n"
+      "BM_string_memset/10/32/iterations:1\n"
+      "BM_string_memset/11/0/iterations:1\n"
+      "BM_string_memset/11/1/iterations:1\n"
+      "BM_string_memset/11/2/iterations:1\n"
+      "BM_string_memset/11/4/iterations:1\n"
+      "BM_string_memset/11/8/iterations:1\n"
+      "BM_string_memset/11/16/iterations:1\n"
+      "BM_string_memset/11/32/iterations:1\n"
+      "BM_string_memset/12/0/iterations:1\n"
+      "BM_string_memset/12/1/iterations:1\n"
+      "BM_string_memset/12/2/iterations:1\n"
+      "BM_string_memset/12/4/iterations:1\n"
+      "BM_string_memset/12/8/iterations:1\n"
+      "BM_string_memset/12/16/iterations:1\n"
+      "BM_string_memset/12/32/iterations:1\n"
+      "BM_string_memset/13/0/iterations:1\n"
+      "BM_string_memset/13/1/iterations:1\n"
+      "BM_string_memset/13/2/iterations:1\n"
+      "BM_string_memset/13/4/iterations:1\n"
+      "BM_string_memset/13/8/iterations:1\n"
+      "BM_string_memset/13/16/iterations:1\n"
+      "BM_string_memset/13/32/iterations:1\n"
+      "BM_string_memset/14/0/iterations:1\n"
+      "BM_string_memset/14/1/iterations:1\n"
+      "BM_string_memset/14/2/iterations:1\n"
+      "BM_string_memset/14/4/iterations:1\n"
+      "BM_string_memset/14/8/iterations:1\n"
+      "BM_string_memset/14/16/iterations:1\n"
+      "BM_string_memset/14/32/iterations:1\n"
+      "BM_string_memset/15/0/iterations:1\n"
+      "BM_string_memset/15/1/iterations:1\n"
+      "BM_string_memset/15/2/iterations:1\n"
+      "BM_string_memset/15/4/iterations:1\n"
+      "BM_string_memset/15/8/iterations:1\n"
+      "BM_string_memset/15/16/iterations:1\n"
+      "BM_string_memset/15/32/iterations:1\n"
+      "BM_string_memset/16/0/iterations:1\n"
+      "BM_string_memset/16/1/iterations:1\n"
+      "BM_string_memset/16/2/iterations:1\n"
+      "BM_string_memset/16/4/iterations:1\n"
+      "BM_string_memset/16/8/iterations:1\n"
+      "BM_string_memset/16/16/iterations:1\n"
+      "BM_string_memset/16/32/iterations:1\n"
+      "BM_string_memset/24/0/iterations:1\n"
+      "BM_string_memset/24/1/iterations:1\n"
+      "BM_string_memset/24/2/iterations:1\n"
+      "BM_string_memset/24/4/iterations:1\n"
+      "BM_string_memset/24/8/iterations:1\n"
+      "BM_string_memset/24/16/iterations:1\n"
+      "BM_string_memset/24/32/iterations:1\n"
+      "BM_string_memset/32/0/iterations:1\n"
+      "BM_string_memset/32/1/iterations:1\n"
+      "BM_string_memset/32/2/iterations:1\n"
+      "BM_string_memset/32/4/iterations:1\n"
+      "BM_string_memset/32/8/iterations:1\n"
+      "BM_string_memset/32/16/iterations:1\n"
+      "BM_string_memset/32/32/iterations:1\n"
+      "BM_string_memset/40/0/iterations:1\n"
+      "BM_string_memset/40/1/iterations:1\n"
+      "BM_string_memset/40/2/iterations:1\n"
+      "BM_string_memset/40/4/iterations:1\n"
+      "BM_string_memset/40/8/iterations:1\n"
+      "BM_string_memset/40/16/iterations:1\n"
+      "BM_string_memset/40/32/iterations:1\n"
+      "BM_string_memset/48/0/iterations:1\n"
+      "BM_string_memset/48/1/iterations:1\n"
+      "BM_string_memset/48/2/iterations:1\n"
+      "BM_string_memset/48/4/iterations:1\n"
+      "BM_string_memset/48/8/iterations:1\n"
+      "BM_string_memset/48/16/iterations:1\n"
+      "BM_string_memset/48/32/iterations:1\n"
+      "BM_string_memset/56/0/iterations:1\n"
+      "BM_string_memset/56/1/iterations:1\n"
+      "BM_string_memset/56/2/iterations:1\n"
+      "BM_string_memset/56/4/iterations:1\n"
+      "BM_string_memset/56/8/iterations:1\n"
+      "BM_string_memset/56/16/iterations:1\n"
+      "BM_string_memset/56/32/iterations:1\n"
+      "BM_string_memset/64/0/iterations:1\n"
+      "BM_string_memset/64/1/iterations:1\n"
+      "BM_string_memset/64/2/iterations:1\n"
+      "BM_string_memset/64/4/iterations:1\n"
+      "BM_string_memset/64/8/iterations:1\n"
+      "BM_string_memset/64/16/iterations:1\n"
+      "BM_string_memset/64/32/iterations:1\n"
+      "BM_string_memset/72/0/iterations:1\n"
+      "BM_string_memset/72/1/iterations:1\n"
+      "BM_string_memset/72/2/iterations:1\n"
+      "BM_string_memset/72/4/iterations:1\n"
+      "BM_string_memset/72/8/iterations:1\n"
+      "BM_string_memset/72/16/iterations:1\n"
+      "BM_string_memset/72/32/iterations:1\n"
+      "BM_string_memset/80/0/iterations:1\n"
+      "BM_string_memset/80/1/iterations:1\n"
+      "BM_string_memset/80/2/iterations:1\n"
+      "BM_string_memset/80/4/iterations:1\n"
+      "BM_string_memset/80/8/iterations:1\n"
+      "BM_string_memset/80/16/iterations:1\n"
+      "BM_string_memset/80/32/iterations:1\n"
+      "BM_string_memset/88/0/iterations:1\n"
+      "BM_string_memset/88/1/iterations:1\n"
+      "BM_string_memset/88/2/iterations:1\n"
+      "BM_string_memset/88/4/iterations:1\n"
+      "BM_string_memset/88/8/iterations:1\n"
+      "BM_string_memset/88/16/iterations:1\n"
+      "BM_string_memset/88/32/iterations:1\n"
+      "BM_string_memset/96/0/iterations:1\n"
+      "BM_string_memset/96/1/iterations:1\n"
+      "BM_string_memset/96/2/iterations:1\n"
+      "BM_string_memset/96/4/iterations:1\n"
+      "BM_string_memset/96/8/iterations:1\n"
+      "BM_string_memset/96/16/iterations:1\n"
+      "BM_string_memset/96/32/iterations:1\n"
+      "BM_string_memset/104/0/iterations:1\n"
+      "BM_string_memset/104/1/iterations:1\n"
+      "BM_string_memset/104/2/iterations:1\n"
+      "BM_string_memset/104/4/iterations:1\n"
+      "BM_string_memset/104/8/iterations:1\n"
+      "BM_string_memset/104/16/iterations:1\n"
+      "BM_string_memset/104/32/iterations:1\n"
+      "BM_string_memset/112/0/iterations:1\n"
+      "BM_string_memset/112/1/iterations:1\n"
+      "BM_string_memset/112/2/iterations:1\n"
+      "BM_string_memset/112/4/iterations:1\n"
+      "BM_string_memset/112/8/iterations:1\n"
+      "BM_string_memset/112/16/iterations:1\n"
+      "BM_string_memset/112/32/iterations:1\n"
+      "BM_string_memset/120/0/iterations:1\n"
+      "BM_string_memset/120/1/iterations:1\n"
+      "BM_string_memset/120/2/iterations:1\n"
+      "BM_string_memset/120/4/iterations:1\n"
+      "BM_string_memset/120/8/iterations:1\n"
+      "BM_string_memset/120/16/iterations:1\n"
+      "BM_string_memset/120/32/iterations:1\n"
+      "BM_string_memset/128/0/iterations:1\n"
+      "BM_string_memset/128/1/iterations:1\n"
+      "BM_string_memset/128/2/iterations:1\n"
+      "BM_string_memset/128/4/iterations:1\n"
+      "BM_string_memset/128/8/iterations:1\n"
+      "BM_string_memset/128/16/iterations:1\n"
+      "BM_string_memset/128/32/iterations:1\n"
+      "BM_string_memset/136/0/iterations:1\n"
+      "BM_string_memset/136/1/iterations:1\n"
+      "BM_string_memset/136/2/iterations:1\n"
+      "BM_string_memset/136/4/iterations:1\n"
+      "BM_string_memset/136/8/iterations:1\n"
+      "BM_string_memset/136/16/iterations:1\n"
+      "BM_string_memset/136/32/iterations:1\n"
+      "BM_string_memset/144/0/iterations:1\n"
+      "BM_string_memset/144/1/iterations:1\n"
+      "BM_string_memset/144/2/iterations:1\n"
+      "BM_string_memset/144/4/iterations:1\n"
+      "BM_string_memset/144/8/iterations:1\n"
+      "BM_string_memset/144/16/iterations:1\n"
+      "BM_string_memset/144/32/iterations:1\n"
+      "BM_string_memset/160/0/iterations:1\n"
+      "BM_string_memset/160/1/iterations:1\n"
+      "BM_string_memset/160/2/iterations:1\n"
+      "BM_string_memset/160/4/iterations:1\n"
+      "BM_string_memset/160/8/iterations:1\n"
+      "BM_string_memset/160/16/iterations:1\n"
+      "BM_string_memset/160/32/iterations:1\n"
+      "BM_string_memset/176/0/iterations:1\n"
+      "BM_string_memset/176/1/iterations:1\n"
+      "BM_string_memset/176/2/iterations:1\n"
+      "BM_string_memset/176/4/iterations:1\n"
+      "BM_string_memset/176/8/iterations:1\n"
+      "BM_string_memset/176/16/iterations:1\n"
+      "BM_string_memset/176/32/iterations:1\n"
+      "BM_string_memset/192/0/iterations:1\n"
+      "BM_string_memset/192/1/iterations:1\n"
+      "BM_string_memset/192/2/iterations:1\n"
+      "BM_string_memset/192/4/iterations:1\n"
+      "BM_string_memset/192/8/iterations:1\n"
+      "BM_string_memset/192/16/iterations:1\n"
+      "BM_string_memset/192/32/iterations:1\n"
+      "BM_string_memset/208/0/iterations:1\n"
+      "BM_string_memset/208/1/iterations:1\n"
+      "BM_string_memset/208/2/iterations:1\n"
+      "BM_string_memset/208/4/iterations:1\n"
+      "BM_string_memset/208/8/iterations:1\n"
+      "BM_string_memset/208/16/iterations:1\n"
+      "BM_string_memset/208/32/iterations:1\n"
+      "BM_string_memset/224/0/iterations:1\n"
+      "BM_string_memset/224/1/iterations:1\n"
+      "BM_string_memset/224/2/iterations:1\n"
+      "BM_string_memset/224/4/iterations:1\n"
+      "BM_string_memset/224/8/iterations:1\n"
+      "BM_string_memset/224/16/iterations:1\n"
+      "BM_string_memset/224/32/iterations:1\n"
+      "BM_string_memset/240/0/iterations:1\n"
+      "BM_string_memset/240/1/iterations:1\n"
+      "BM_string_memset/240/2/iterations:1\n"
+      "BM_string_memset/240/4/iterations:1\n"
+      "BM_string_memset/240/8/iterations:1\n"
+      "BM_string_memset/240/16/iterations:1\n"
+      "BM_string_memset/240/32/iterations:1\n"
+      "BM_string_memset/256/0/iterations:1\n"
+      "BM_string_memset/256/1/iterations:1\n"
+      "BM_string_memset/256/2/iterations:1\n"
+      "BM_string_memset/256/4/iterations:1\n"
+      "BM_string_memset/256/8/iterations:1\n"
+      "BM_string_memset/256/16/iterations:1\n"
+      "BM_string_memset/256/32/iterations:1\n"
+      "BM_string_memset/512/0/iterations:1\n"
+      "BM_string_memset/512/1/iterations:1\n"
+      "BM_string_memset/512/2/iterations:1\n"
+      "BM_string_memset/512/4/iterations:1\n"
+      "BM_string_memset/512/8/iterations:1\n"
+      "BM_string_memset/512/16/iterations:1\n"
+      "BM_string_memset/512/32/iterations:1\n"
+      "BM_string_memset/1024/0/iterations:1\n"
+      "BM_string_memset/1024/1/iterations:1\n"
+      "BM_string_memset/1024/2/iterations:1\n"
+      "BM_string_memset/1024/4/iterations:1\n"
+      "BM_string_memset/1024/8/iterations:1\n"
+      "BM_string_memset/1024/16/iterations:1\n"
+      "BM_string_memset/1024/32/iterations:1\n"
+      "BM_string_memset/8192/0/iterations:1\n"
+      "BM_string_memset/8192/1/iterations:1\n"
+      "BM_string_memset/8192/2/iterations:1\n"
+      "BM_string_memset/8192/4/iterations:1\n"
+      "BM_string_memset/8192/8/iterations:1\n"
+      "BM_string_memset/8192/16/iterations:1\n"
+      "BM_string_memset/8192/32/iterations:1\n"
+      "BM_string_memset/16384/0/iterations:1\n"
+      "BM_string_memset/16384/1/iterations:1\n"
+      "BM_string_memset/16384/2/iterations:1\n"
+      "BM_string_memset/16384/4/iterations:1\n"
+      "BM_string_memset/16384/8/iterations:1\n"
+      "BM_string_memset/16384/16/iterations:1\n"
+      "BM_string_memset/16384/32/iterations:1\n"
+      "BM_string_memset/32768/0/iterations:1\n"
+      "BM_string_memset/32768/1/iterations:1\n"
+      "BM_string_memset/32768/2/iterations:1\n"
+      "BM_string_memset/32768/4/iterations:1\n"
+      "BM_string_memset/32768/8/iterations:1\n"
+      "BM_string_memset/32768/16/iterations:1\n"
+      "BM_string_memset/32768/32/iterations:1\n"
+      "BM_string_memset/65536/0/iterations:1\n"
+      "BM_string_memset/65536/1/iterations:1\n"
+      "BM_string_memset/65536/2/iterations:1\n"
+      "BM_string_memset/65536/4/iterations:1\n"
+      "BM_string_memset/65536/8/iterations:1\n"
+      "BM_string_memset/65536/16/iterations:1\n"
+      "BM_string_memset/65536/32/iterations:1\n"
+      "BM_string_memset/131072/0/iterations:1\n"
+      "BM_string_memset/131072/1/iterations:1\n"
+      "BM_string_memset/131072/2/iterations:1\n"
+      "BM_string_memset/131072/4/iterations:1\n"
+      "BM_string_memset/131072/8/iterations:1\n"
+      "BM_string_memset/131072/16/iterations:1\n"
+      "BM_string_memset/131072/32/iterations:1\n"
+      "BM_string_memset/262144/0/iterations:1\n"
+      "BM_string_memset/262144/1/iterations:1\n"
+      "BM_string_memset/262144/2/iterations:1\n"
+      "BM_string_memset/262144/4/iterations:1\n"
+      "BM_string_memset/262144/8/iterations:1\n"
+      "BM_string_memset/262144/16/iterations:1\n"
+      "BM_string_memset/262144/32/iterations:1\n"
+      "BM_string_memset/524288/0/iterations:1\n"
+      "BM_string_memset/524288/1/iterations:1\n"
+      "BM_string_memset/524288/2/iterations:1\n"
+      "BM_string_memset/524288/4/iterations:1\n"
+      "BM_string_memset/524288/8/iterations:1\n"
+      "BM_string_memset/524288/16/iterations:1\n"
+      "BM_string_memset/524288/32/iterations:1\n"
+      "BM_string_memset/1048576/0/iterations:1\n"
+      "BM_string_memset/1048576/1/iterations:1\n"
+      "BM_string_memset/1048576/2/iterations:1\n"
+      "BM_string_memset/1048576/4/iterations:1\n"
+      "BM_string_memset/1048576/8/iterations:1\n"
+      "BM_string_memset/1048576/16/iterations:1\n"
+      "BM_string_memset/1048576/32/iterations:1\n"
+      "BM_string_memset/2097152/0/iterations:1\n"
+      "BM_string_memset/2097152/1/iterations:1\n"
+      "BM_string_memset/2097152/2/iterations:1\n"
+      "BM_string_memset/2097152/4/iterations:1\n"
+      "BM_string_memset/2097152/8/iterations:1\n"
+      "BM_string_memset/2097152/16/iterations:1\n"
+      "BM_string_memset/2097152/32/iterations:1\n";
 
   Verify(expected, 0,
          std::vector<const char*>{GetBionicXmlArg("test_alignment_onebuf.xml").c_str()});
@@ -888,1965 +902,1967 @@
 
 TEST_F(SystemTests, alignment_twobuf) {
   std::string expected =
-    "BM_string_strcpy/8/0/0/iterations:1\n"
-    "BM_string_strcpy/64/0/0/iterations:1\n"
-    "BM_string_strcpy/512/0/0/iterations:1\n"
-    "BM_string_strcpy/1024/0/0/iterations:1\n"
-    "BM_string_strcpy/8192/0/0/iterations:1\n"
-    "BM_string_strcpy/16384/0/0/iterations:1\n"
-    "BM_string_strcpy/32768/0/0/iterations:1\n"
-    "BM_string_strcpy/65536/0/0/iterations:1\n"
-    "BM_string_strcpy/131072/0/0/iterations:1\n"
-    "BM_string_memcpy/1/0/0/iterations:1\n"
-    "BM_string_memcpy/2/0/0/iterations:1\n"
-    "BM_string_memcpy/3/0/0/iterations:1\n"
-    "BM_string_memcpy/4/0/0/iterations:1\n"
-    "BM_string_memcpy/5/0/0/iterations:1\n"
-    "BM_string_memcpy/6/0/0/iterations:1\n"
-    "BM_string_memcpy/7/0/0/iterations:1\n"
-    "BM_string_memcpy/8/0/0/iterations:1\n"
-    "BM_string_memcpy/9/0/0/iterations:1\n"
-    "BM_string_memcpy/10/0/0/iterations:1\n"
-    "BM_string_memcpy/11/0/0/iterations:1\n"
-    "BM_string_memcpy/12/0/0/iterations:1\n"
-    "BM_string_memcpy/13/0/0/iterations:1\n"
-    "BM_string_memcpy/14/0/0/iterations:1\n"
-    "BM_string_memcpy/15/0/0/iterations:1\n"
-    "BM_string_memcpy/16/0/0/iterations:1\n"
-    "BM_string_memcpy/24/0/0/iterations:1\n"
-    "BM_string_memcpy/32/0/0/iterations:1\n"
-    "BM_string_memcpy/40/0/0/iterations:1\n"
-    "BM_string_memcpy/48/0/0/iterations:1\n"
-    "BM_string_memcpy/56/0/0/iterations:1\n"
-    "BM_string_memcpy/64/0/0/iterations:1\n"
-    "BM_string_memcpy/72/0/0/iterations:1\n"
-    "BM_string_memcpy/80/0/0/iterations:1\n"
-    "BM_string_memcpy/88/0/0/iterations:1\n"
-    "BM_string_memcpy/96/0/0/iterations:1\n"
-    "BM_string_memcpy/104/0/0/iterations:1\n"
-    "BM_string_memcpy/112/0/0/iterations:1\n"
-    "BM_string_memcpy/120/0/0/iterations:1\n"
-    "BM_string_memcpy/128/0/0/iterations:1\n"
-    "BM_string_memcpy/136/0/0/iterations:1\n"
-    "BM_string_memcpy/144/0/0/iterations:1\n"
-    "BM_string_memcpy/160/0/0/iterations:1\n"
-    "BM_string_memcpy/176/0/0/iterations:1\n"
-    "BM_string_memcpy/192/0/0/iterations:1\n"
-    "BM_string_memcpy/208/0/0/iterations:1\n"
-    "BM_string_memcpy/224/0/0/iterations:1\n"
-    "BM_string_memcpy/240/0/0/iterations:1\n"
-    "BM_string_memcpy/256/0/0/iterations:1\n"
-    "BM_string_strcpy/512/0/0/iterations:1\n"
-    "BM_string_strcpy/1024/0/0/iterations:1\n"
-    "BM_string_strcpy/8192/0/0/iterations:1\n"
-    "BM_string_strcpy/16384/0/0/iterations:1\n"
-    "BM_string_strcpy/32768/0/0/iterations:1\n"
-    "BM_string_strcpy/65536/0/0/iterations:1\n"
-    "BM_string_strcpy/131072/0/0/iterations:1\n"
-    "BM_string_memcpy/262144/0/0/iterations:1\n"
-    "BM_string_memcpy/524288/0/0/iterations:1\n"
-    "BM_string_memcpy/1048576/0/0/iterations:1\n"
-    "BM_string_memcpy/2097152/0/0/iterations:1\n"
-    "BM_string_strcpy/1/0/0/iterations:1\n"
-    "BM_string_strcpy/2/0/0/iterations:1\n"
-    "BM_string_strcpy/3/0/0/iterations:1\n"
-    "BM_string_strcpy/4/0/0/iterations:1\n"
-    "BM_string_strcpy/5/0/0/iterations:1\n"
-    "BM_string_strcpy/6/0/0/iterations:1\n"
-    "BM_string_strcpy/7/0/0/iterations:1\n"
-    "BM_string_strcpy/8/0/0/iterations:1\n"
-    "BM_string_strcpy/9/0/0/iterations:1\n"
-    "BM_string_strcpy/10/0/0/iterations:1\n"
-    "BM_string_strcpy/11/0/0/iterations:1\n"
-    "BM_string_strcpy/12/0/0/iterations:1\n"
-    "BM_string_strcpy/13/0/0/iterations:1\n"
-    "BM_string_strcpy/14/0/0/iterations:1\n"
-    "BM_string_strcpy/15/0/0/iterations:1\n"
-    "BM_string_strcpy/16/0/0/iterations:1\n"
-    "BM_string_strcpy/24/0/0/iterations:1\n"
-    "BM_string_strcpy/32/0/0/iterations:1\n"
-    "BM_string_strcpy/40/0/0/iterations:1\n"
-    "BM_string_strcpy/48/0/0/iterations:1\n"
-    "BM_string_strcpy/56/0/0/iterations:1\n"
-    "BM_string_strcpy/64/0/0/iterations:1\n"
-    "BM_string_strcpy/72/0/0/iterations:1\n"
-    "BM_string_strcpy/80/0/0/iterations:1\n"
-    "BM_string_strcpy/88/0/0/iterations:1\n"
-    "BM_string_strcpy/96/0/0/iterations:1\n"
-    "BM_string_strcpy/104/0/0/iterations:1\n"
-    "BM_string_strcpy/112/0/0/iterations:1\n"
-    "BM_string_strcpy/120/0/0/iterations:1\n"
-    "BM_string_strcpy/128/0/0/iterations:1\n"
-    "BM_string_strcpy/136/0/0/iterations:1\n"
-    "BM_string_strcpy/144/0/0/iterations:1\n"
-    "BM_string_strcpy/160/0/0/iterations:1\n"
-    "BM_string_strcpy/176/0/0/iterations:1\n"
-    "BM_string_strcpy/192/0/0/iterations:1\n"
-    "BM_string_strcpy/208/0/0/iterations:1\n"
-    "BM_string_strcpy/224/0/0/iterations:1\n"
-    "BM_string_strcpy/240/0/0/iterations:1\n"
-    "BM_string_strcpy/256/0/0/iterations:1\n"
-    "BM_string_strcpy/512/0/0/iterations:1\n"
-    "BM_string_strcpy/1024/0/0/iterations:1\n"
-    "BM_string_strcpy/8192/0/0/iterations:1\n"
-    "BM_string_strcpy/16384/0/0/iterations:1\n"
-    "BM_string_strcpy/32768/0/0/iterations:1\n"
-    "BM_string_strcpy/65536/0/0/iterations:1\n"
-    "BM_string_strcpy/131072/0/0/iterations:1\n"
-    "BM_string_strcpy/262144/0/0/iterations:1\n"
-    "BM_string_strcpy/524288/0/0/iterations:1\n"
-    "BM_string_strcpy/1048576/0/0/iterations:1\n"
-    "BM_string_strcpy/2097152/0/0/iterations:1\n"
-    "BM_string_memcpy/1/0/0/iterations:1\n"
-    "BM_string_memcpy/1/1/1/iterations:1\n"
-    "BM_string_memcpy/1/1/2/iterations:1\n"
-    "BM_string_memcpy/1/1/4/iterations:1\n"
-    "BM_string_memcpy/1/1/8/iterations:1\n"
-    "BM_string_memcpy/1/1/16/iterations:1\n"
-    "BM_string_memcpy/1/1/32/iterations:1\n"
-    "BM_string_memcpy/1/2/1/iterations:1\n"
-    "BM_string_memcpy/1/2/2/iterations:1\n"
-    "BM_string_memcpy/1/2/4/iterations:1\n"
-    "BM_string_memcpy/1/2/8/iterations:1\n"
-    "BM_string_memcpy/1/2/16/iterations:1\n"
-    "BM_string_memcpy/1/2/32/iterations:1\n"
-    "BM_string_memcpy/1/4/1/iterations:1\n"
-    "BM_string_memcpy/1/4/2/iterations:1\n"
-    "BM_string_memcpy/1/4/4/iterations:1\n"
-    "BM_string_memcpy/1/4/8/iterations:1\n"
-    "BM_string_memcpy/1/4/16/iterations:1\n"
-    "BM_string_memcpy/1/4/32/iterations:1\n"
-    "BM_string_memcpy/1/8/1/iterations:1\n"
-    "BM_string_memcpy/1/8/2/iterations:1\n"
-    "BM_string_memcpy/1/8/4/iterations:1\n"
-    "BM_string_memcpy/1/8/8/iterations:1\n"
-    "BM_string_memcpy/1/8/16/iterations:1\n"
-    "BM_string_memcpy/1/8/32/iterations:1\n"
-    "BM_string_memcpy/1/16/1/iterations:1\n"
-    "BM_string_memcpy/1/16/2/iterations:1\n"
-    "BM_string_memcpy/1/16/4/iterations:1\n"
-    "BM_string_memcpy/1/16/8/iterations:1\n"
-    "BM_string_memcpy/1/16/16/iterations:1\n"
-    "BM_string_memcpy/1/16/32/iterations:1\n"
-    "BM_string_memcpy/1/32/1/iterations:1\n"
-    "BM_string_memcpy/1/32/2/iterations:1\n"
-    "BM_string_memcpy/1/32/4/iterations:1\n"
-    "BM_string_memcpy/1/32/8/iterations:1\n"
-    "BM_string_memcpy/1/32/16/iterations:1\n"
-    "BM_string_memcpy/1/32/32/iterations:1\n"
-    "BM_string_memcpy/2/0/0/iterations:1\n"
-    "BM_string_memcpy/2/1/1/iterations:1\n"
-    "BM_string_memcpy/2/1/2/iterations:1\n"
-    "BM_string_memcpy/2/1/4/iterations:1\n"
-    "BM_string_memcpy/2/1/8/iterations:1\n"
-    "BM_string_memcpy/2/1/16/iterations:1\n"
-    "BM_string_memcpy/2/1/32/iterations:1\n"
-    "BM_string_memcpy/2/2/1/iterations:1\n"
-    "BM_string_memcpy/2/2/2/iterations:1\n"
-    "BM_string_memcpy/2/2/4/iterations:1\n"
-    "BM_string_memcpy/2/2/8/iterations:1\n"
-    "BM_string_memcpy/2/2/16/iterations:1\n"
-    "BM_string_memcpy/2/2/32/iterations:1\n"
-    "BM_string_memcpy/2/4/1/iterations:1\n"
-    "BM_string_memcpy/2/4/2/iterations:1\n"
-    "BM_string_memcpy/2/4/4/iterations:1\n"
-    "BM_string_memcpy/2/4/8/iterations:1\n"
-    "BM_string_memcpy/2/4/16/iterations:1\n"
-    "BM_string_memcpy/2/4/32/iterations:1\n"
-    "BM_string_memcpy/2/8/1/iterations:1\n"
-    "BM_string_memcpy/2/8/2/iterations:1\n"
-    "BM_string_memcpy/2/8/4/iterations:1\n"
-    "BM_string_memcpy/2/8/8/iterations:1\n"
-    "BM_string_memcpy/2/8/16/iterations:1\n"
-    "BM_string_memcpy/2/8/32/iterations:1\n"
-    "BM_string_memcpy/2/16/1/iterations:1\n"
-    "BM_string_memcpy/2/16/2/iterations:1\n"
-    "BM_string_memcpy/2/16/4/iterations:1\n"
-    "BM_string_memcpy/2/16/8/iterations:1\n"
-    "BM_string_memcpy/2/16/16/iterations:1\n"
-    "BM_string_memcpy/2/16/32/iterations:1\n"
-    "BM_string_memcpy/2/32/1/iterations:1\n"
-    "BM_string_memcpy/2/32/2/iterations:1\n"
-    "BM_string_memcpy/2/32/4/iterations:1\n"
-    "BM_string_memcpy/2/32/8/iterations:1\n"
-    "BM_string_memcpy/2/32/16/iterations:1\n"
-    "BM_string_memcpy/2/32/32/iterations:1\n"
-    "BM_string_memcpy/3/0/0/iterations:1\n"
-    "BM_string_memcpy/3/1/1/iterations:1\n"
-    "BM_string_memcpy/3/1/2/iterations:1\n"
-    "BM_string_memcpy/3/1/4/iterations:1\n"
-    "BM_string_memcpy/3/1/8/iterations:1\n"
-    "BM_string_memcpy/3/1/16/iterations:1\n"
-    "BM_string_memcpy/3/1/32/iterations:1\n"
-    "BM_string_memcpy/3/2/1/iterations:1\n"
-    "BM_string_memcpy/3/2/2/iterations:1\n"
-    "BM_string_memcpy/3/2/4/iterations:1\n"
-    "BM_string_memcpy/3/2/8/iterations:1\n"
-    "BM_string_memcpy/3/2/16/iterations:1\n"
-    "BM_string_memcpy/3/2/32/iterations:1\n"
-    "BM_string_memcpy/3/4/1/iterations:1\n"
-    "BM_string_memcpy/3/4/2/iterations:1\n"
-    "BM_string_memcpy/3/4/4/iterations:1\n"
-    "BM_string_memcpy/3/4/8/iterations:1\n"
-    "BM_string_memcpy/3/4/16/iterations:1\n"
-    "BM_string_memcpy/3/4/32/iterations:1\n"
-    "BM_string_memcpy/3/8/1/iterations:1\n"
-    "BM_string_memcpy/3/8/2/iterations:1\n"
-    "BM_string_memcpy/3/8/4/iterations:1\n"
-    "BM_string_memcpy/3/8/8/iterations:1\n"
-    "BM_string_memcpy/3/8/16/iterations:1\n"
-    "BM_string_memcpy/3/8/32/iterations:1\n"
-    "BM_string_memcpy/3/16/1/iterations:1\n"
-    "BM_string_memcpy/3/16/2/iterations:1\n"
-    "BM_string_memcpy/3/16/4/iterations:1\n"
-    "BM_string_memcpy/3/16/8/iterations:1\n"
-    "BM_string_memcpy/3/16/16/iterations:1\n"
-    "BM_string_memcpy/3/16/32/iterations:1\n"
-    "BM_string_memcpy/3/32/1/iterations:1\n"
-    "BM_string_memcpy/3/32/2/iterations:1\n"
-    "BM_string_memcpy/3/32/4/iterations:1\n"
-    "BM_string_memcpy/3/32/8/iterations:1\n"
-    "BM_string_memcpy/3/32/16/iterations:1\n"
-    "BM_string_memcpy/3/32/32/iterations:1\n"
-    "BM_string_memcpy/4/0/0/iterations:1\n"
-    "BM_string_memcpy/4/1/1/iterations:1\n"
-    "BM_string_memcpy/4/1/2/iterations:1\n"
-    "BM_string_memcpy/4/1/4/iterations:1\n"
-    "BM_string_memcpy/4/1/8/iterations:1\n"
-    "BM_string_memcpy/4/1/16/iterations:1\n"
-    "BM_string_memcpy/4/1/32/iterations:1\n"
-    "BM_string_memcpy/4/2/1/iterations:1\n"
-    "BM_string_memcpy/4/2/2/iterations:1\n"
-    "BM_string_memcpy/4/2/4/iterations:1\n"
-    "BM_string_memcpy/4/2/8/iterations:1\n"
-    "BM_string_memcpy/4/2/16/iterations:1\n"
-    "BM_string_memcpy/4/2/32/iterations:1\n"
-    "BM_string_memcpy/4/4/1/iterations:1\n"
-    "BM_string_memcpy/4/4/2/iterations:1\n"
-    "BM_string_memcpy/4/4/4/iterations:1\n"
-    "BM_string_memcpy/4/4/8/iterations:1\n"
-    "BM_string_memcpy/4/4/16/iterations:1\n"
-    "BM_string_memcpy/4/4/32/iterations:1\n"
-    "BM_string_memcpy/4/8/1/iterations:1\n"
-    "BM_string_memcpy/4/8/2/iterations:1\n"
-    "BM_string_memcpy/4/8/4/iterations:1\n"
-    "BM_string_memcpy/4/8/8/iterations:1\n"
-    "BM_string_memcpy/4/8/16/iterations:1\n"
-    "BM_string_memcpy/4/8/32/iterations:1\n"
-    "BM_string_memcpy/4/16/1/iterations:1\n"
-    "BM_string_memcpy/4/16/2/iterations:1\n"
-    "BM_string_memcpy/4/16/4/iterations:1\n"
-    "BM_string_memcpy/4/16/8/iterations:1\n"
-    "BM_string_memcpy/4/16/16/iterations:1\n"
-    "BM_string_memcpy/4/16/32/iterations:1\n"
-    "BM_string_memcpy/4/32/1/iterations:1\n"
-    "BM_string_memcpy/4/32/2/iterations:1\n"
-    "BM_string_memcpy/4/32/4/iterations:1\n"
-    "BM_string_memcpy/4/32/8/iterations:1\n"
-    "BM_string_memcpy/4/32/16/iterations:1\n"
-    "BM_string_memcpy/4/32/32/iterations:1\n"
-    "BM_string_memcpy/5/0/0/iterations:1\n"
-    "BM_string_memcpy/5/1/1/iterations:1\n"
-    "BM_string_memcpy/5/1/2/iterations:1\n"
-    "BM_string_memcpy/5/1/4/iterations:1\n"
-    "BM_string_memcpy/5/1/8/iterations:1\n"
-    "BM_string_memcpy/5/1/16/iterations:1\n"
-    "BM_string_memcpy/5/1/32/iterations:1\n"
-    "BM_string_memcpy/5/2/1/iterations:1\n"
-    "BM_string_memcpy/5/2/2/iterations:1\n"
-    "BM_string_memcpy/5/2/4/iterations:1\n"
-    "BM_string_memcpy/5/2/8/iterations:1\n"
-    "BM_string_memcpy/5/2/16/iterations:1\n"
-    "BM_string_memcpy/5/2/32/iterations:1\n"
-    "BM_string_memcpy/5/4/1/iterations:1\n"
-    "BM_string_memcpy/5/4/2/iterations:1\n"
-    "BM_string_memcpy/5/4/4/iterations:1\n"
-    "BM_string_memcpy/5/4/8/iterations:1\n"
-    "BM_string_memcpy/5/4/16/iterations:1\n"
-    "BM_string_memcpy/5/4/32/iterations:1\n"
-    "BM_string_memcpy/5/8/1/iterations:1\n"
-    "BM_string_memcpy/5/8/2/iterations:1\n"
-    "BM_string_memcpy/5/8/4/iterations:1\n"
-    "BM_string_memcpy/5/8/8/iterations:1\n"
-    "BM_string_memcpy/5/8/16/iterations:1\n"
-    "BM_string_memcpy/5/8/32/iterations:1\n"
-    "BM_string_memcpy/5/16/1/iterations:1\n"
-    "BM_string_memcpy/5/16/2/iterations:1\n"
-    "BM_string_memcpy/5/16/4/iterations:1\n"
-    "BM_string_memcpy/5/16/8/iterations:1\n"
-    "BM_string_memcpy/5/16/16/iterations:1\n"
-    "BM_string_memcpy/5/16/32/iterations:1\n"
-    "BM_string_memcpy/5/32/1/iterations:1\n"
-    "BM_string_memcpy/5/32/2/iterations:1\n"
-    "BM_string_memcpy/5/32/4/iterations:1\n"
-    "BM_string_memcpy/5/32/8/iterations:1\n"
-    "BM_string_memcpy/5/32/16/iterations:1\n"
-    "BM_string_memcpy/5/32/32/iterations:1\n"
-    "BM_string_memcpy/6/0/0/iterations:1\n"
-    "BM_string_memcpy/6/1/1/iterations:1\n"
-    "BM_string_memcpy/6/1/2/iterations:1\n"
-    "BM_string_memcpy/6/1/4/iterations:1\n"
-    "BM_string_memcpy/6/1/8/iterations:1\n"
-    "BM_string_memcpy/6/1/16/iterations:1\n"
-    "BM_string_memcpy/6/1/32/iterations:1\n"
-    "BM_string_memcpy/6/2/1/iterations:1\n"
-    "BM_string_memcpy/6/2/2/iterations:1\n"
-    "BM_string_memcpy/6/2/4/iterations:1\n"
-    "BM_string_memcpy/6/2/8/iterations:1\n"
-    "BM_string_memcpy/6/2/16/iterations:1\n"
-    "BM_string_memcpy/6/2/32/iterations:1\n"
-    "BM_string_memcpy/6/4/1/iterations:1\n"
-    "BM_string_memcpy/6/4/2/iterations:1\n"
-    "BM_string_memcpy/6/4/4/iterations:1\n"
-    "BM_string_memcpy/6/4/8/iterations:1\n"
-    "BM_string_memcpy/6/4/16/iterations:1\n"
-    "BM_string_memcpy/6/4/32/iterations:1\n"
-    "BM_string_memcpy/6/8/1/iterations:1\n"
-    "BM_string_memcpy/6/8/2/iterations:1\n"
-    "BM_string_memcpy/6/8/4/iterations:1\n"
-    "BM_string_memcpy/6/8/8/iterations:1\n"
-    "BM_string_memcpy/6/8/16/iterations:1\n"
-    "BM_string_memcpy/6/8/32/iterations:1\n"
-    "BM_string_memcpy/6/16/1/iterations:1\n"
-    "BM_string_memcpy/6/16/2/iterations:1\n"
-    "BM_string_memcpy/6/16/4/iterations:1\n"
-    "BM_string_memcpy/6/16/8/iterations:1\n"
-    "BM_string_memcpy/6/16/16/iterations:1\n"
-    "BM_string_memcpy/6/16/32/iterations:1\n"
-    "BM_string_memcpy/6/32/1/iterations:1\n"
-    "BM_string_memcpy/6/32/2/iterations:1\n"
-    "BM_string_memcpy/6/32/4/iterations:1\n"
-    "BM_string_memcpy/6/32/8/iterations:1\n"
-    "BM_string_memcpy/6/32/16/iterations:1\n"
-    "BM_string_memcpy/6/32/32/iterations:1\n"
-    "BM_string_memcpy/7/0/0/iterations:1\n"
-    "BM_string_memcpy/7/1/1/iterations:1\n"
-    "BM_string_memcpy/7/1/2/iterations:1\n"
-    "BM_string_memcpy/7/1/4/iterations:1\n"
-    "BM_string_memcpy/7/1/8/iterations:1\n"
-    "BM_string_memcpy/7/1/16/iterations:1\n"
-    "BM_string_memcpy/7/1/32/iterations:1\n"
-    "BM_string_memcpy/7/2/1/iterations:1\n"
-    "BM_string_memcpy/7/2/2/iterations:1\n"
-    "BM_string_memcpy/7/2/4/iterations:1\n"
-    "BM_string_memcpy/7/2/8/iterations:1\n"
-    "BM_string_memcpy/7/2/16/iterations:1\n"
-    "BM_string_memcpy/7/2/32/iterations:1\n"
-    "BM_string_memcpy/7/4/1/iterations:1\n"
-    "BM_string_memcpy/7/4/2/iterations:1\n"
-    "BM_string_memcpy/7/4/4/iterations:1\n"
-    "BM_string_memcpy/7/4/8/iterations:1\n"
-    "BM_string_memcpy/7/4/16/iterations:1\n"
-    "BM_string_memcpy/7/4/32/iterations:1\n"
-    "BM_string_memcpy/7/8/1/iterations:1\n"
-    "BM_string_memcpy/7/8/2/iterations:1\n"
-    "BM_string_memcpy/7/8/4/iterations:1\n"
-    "BM_string_memcpy/7/8/8/iterations:1\n"
-    "BM_string_memcpy/7/8/16/iterations:1\n"
-    "BM_string_memcpy/7/8/32/iterations:1\n"
-    "BM_string_memcpy/7/16/1/iterations:1\n"
-    "BM_string_memcpy/7/16/2/iterations:1\n"
-    "BM_string_memcpy/7/16/4/iterations:1\n"
-    "BM_string_memcpy/7/16/8/iterations:1\n"
-    "BM_string_memcpy/7/16/16/iterations:1\n"
-    "BM_string_memcpy/7/16/32/iterations:1\n"
-    "BM_string_memcpy/7/32/1/iterations:1\n"
-    "BM_string_memcpy/7/32/2/iterations:1\n"
-    "BM_string_memcpy/7/32/4/iterations:1\n"
-    "BM_string_memcpy/7/32/8/iterations:1\n"
-    "BM_string_memcpy/7/32/16/iterations:1\n"
-    "BM_string_memcpy/7/32/32/iterations:1\n"
-    "BM_string_memcpy/8/0/0/iterations:1\n"
-    "BM_string_memcpy/8/1/1/iterations:1\n"
-    "BM_string_memcpy/8/1/2/iterations:1\n"
-    "BM_string_memcpy/8/1/4/iterations:1\n"
-    "BM_string_memcpy/8/1/8/iterations:1\n"
-    "BM_string_memcpy/8/1/16/iterations:1\n"
-    "BM_string_memcpy/8/1/32/iterations:1\n"
-    "BM_string_memcpy/8/2/1/iterations:1\n"
-    "BM_string_memcpy/8/2/2/iterations:1\n"
-    "BM_string_memcpy/8/2/4/iterations:1\n"
-    "BM_string_memcpy/8/2/8/iterations:1\n"
-    "BM_string_memcpy/8/2/16/iterations:1\n"
-    "BM_string_memcpy/8/2/32/iterations:1\n"
-    "BM_string_memcpy/8/4/1/iterations:1\n"
-    "BM_string_memcpy/8/4/2/iterations:1\n"
-    "BM_string_memcpy/8/4/4/iterations:1\n"
-    "BM_string_memcpy/8/4/8/iterations:1\n"
-    "BM_string_memcpy/8/4/16/iterations:1\n"
-    "BM_string_memcpy/8/4/32/iterations:1\n"
-    "BM_string_memcpy/8/8/1/iterations:1\n"
-    "BM_string_memcpy/8/8/2/iterations:1\n"
-    "BM_string_memcpy/8/8/4/iterations:1\n"
-    "BM_string_memcpy/8/8/8/iterations:1\n"
-    "BM_string_memcpy/8/8/16/iterations:1\n"
-    "BM_string_memcpy/8/8/32/iterations:1\n"
-    "BM_string_memcpy/8/16/1/iterations:1\n"
-    "BM_string_memcpy/8/16/2/iterations:1\n"
-    "BM_string_memcpy/8/16/4/iterations:1\n"
-    "BM_string_memcpy/8/16/8/iterations:1\n"
-    "BM_string_memcpy/8/16/16/iterations:1\n"
-    "BM_string_memcpy/8/16/32/iterations:1\n"
-    "BM_string_memcpy/8/32/1/iterations:1\n"
-    "BM_string_memcpy/8/32/2/iterations:1\n"
-    "BM_string_memcpy/8/32/4/iterations:1\n"
-    "BM_string_memcpy/8/32/8/iterations:1\n"
-    "BM_string_memcpy/8/32/16/iterations:1\n"
-    "BM_string_memcpy/8/32/32/iterations:1\n"
-    "BM_string_memcpy/9/0/0/iterations:1\n"
-    "BM_string_memcpy/9/1/1/iterations:1\n"
-    "BM_string_memcpy/9/1/2/iterations:1\n"
-    "BM_string_memcpy/9/1/4/iterations:1\n"
-    "BM_string_memcpy/9/1/8/iterations:1\n"
-    "BM_string_memcpy/9/1/16/iterations:1\n"
-    "BM_string_memcpy/9/1/32/iterations:1\n"
-    "BM_string_memcpy/9/2/1/iterations:1\n"
-    "BM_string_memcpy/9/2/2/iterations:1\n"
-    "BM_string_memcpy/9/2/4/iterations:1\n"
-    "BM_string_memcpy/9/2/8/iterations:1\n"
-    "BM_string_memcpy/9/2/16/iterations:1\n"
-    "BM_string_memcpy/9/2/32/iterations:1\n"
-    "BM_string_memcpy/9/4/1/iterations:1\n"
-    "BM_string_memcpy/9/4/2/iterations:1\n"
-    "BM_string_memcpy/9/4/4/iterations:1\n"
-    "BM_string_memcpy/9/4/8/iterations:1\n"
-    "BM_string_memcpy/9/4/16/iterations:1\n"
-    "BM_string_memcpy/9/4/32/iterations:1\n"
-    "BM_string_memcpy/9/8/1/iterations:1\n"
-    "BM_string_memcpy/9/8/2/iterations:1\n"
-    "BM_string_memcpy/9/8/4/iterations:1\n"
-    "BM_string_memcpy/9/8/8/iterations:1\n"
-    "BM_string_memcpy/9/8/16/iterations:1\n"
-    "BM_string_memcpy/9/8/32/iterations:1\n"
-    "BM_string_memcpy/9/16/1/iterations:1\n"
-    "BM_string_memcpy/9/16/2/iterations:1\n"
-    "BM_string_memcpy/9/16/4/iterations:1\n"
-    "BM_string_memcpy/9/16/8/iterations:1\n"
-    "BM_string_memcpy/9/16/16/iterations:1\n"
-    "BM_string_memcpy/9/16/32/iterations:1\n"
-    "BM_string_memcpy/9/32/1/iterations:1\n"
-    "BM_string_memcpy/9/32/2/iterations:1\n"
-    "BM_string_memcpy/9/32/4/iterations:1\n"
-    "BM_string_memcpy/9/32/8/iterations:1\n"
-    "BM_string_memcpy/9/32/16/iterations:1\n"
-    "BM_string_memcpy/9/32/32/iterations:1\n"
-    "BM_string_memcpy/10/0/0/iterations:1\n"
-    "BM_string_memcpy/10/1/1/iterations:1\n"
-    "BM_string_memcpy/10/1/2/iterations:1\n"
-    "BM_string_memcpy/10/1/4/iterations:1\n"
-    "BM_string_memcpy/10/1/8/iterations:1\n"
-    "BM_string_memcpy/10/1/16/iterations:1\n"
-    "BM_string_memcpy/10/1/32/iterations:1\n"
-    "BM_string_memcpy/10/2/1/iterations:1\n"
-    "BM_string_memcpy/10/2/2/iterations:1\n"
-    "BM_string_memcpy/10/2/4/iterations:1\n"
-    "BM_string_memcpy/10/2/8/iterations:1\n"
-    "BM_string_memcpy/10/2/16/iterations:1\n"
-    "BM_string_memcpy/10/2/32/iterations:1\n"
-    "BM_string_memcpy/10/4/1/iterations:1\n"
-    "BM_string_memcpy/10/4/2/iterations:1\n"
-    "BM_string_memcpy/10/4/4/iterations:1\n"
-    "BM_string_memcpy/10/4/8/iterations:1\n"
-    "BM_string_memcpy/10/4/16/iterations:1\n"
-    "BM_string_memcpy/10/4/32/iterations:1\n"
-    "BM_string_memcpy/10/8/1/iterations:1\n"
-    "BM_string_memcpy/10/8/2/iterations:1\n"
-    "BM_string_memcpy/10/8/4/iterations:1\n"
-    "BM_string_memcpy/10/8/8/iterations:1\n"
-    "BM_string_memcpy/10/8/16/iterations:1\n"
-    "BM_string_memcpy/10/8/32/iterations:1\n"
-    "BM_string_memcpy/10/16/1/iterations:1\n"
-    "BM_string_memcpy/10/16/2/iterations:1\n"
-    "BM_string_memcpy/10/16/4/iterations:1\n"
-    "BM_string_memcpy/10/16/8/iterations:1\n"
-    "BM_string_memcpy/10/16/16/iterations:1\n"
-    "BM_string_memcpy/10/16/32/iterations:1\n"
-    "BM_string_memcpy/10/32/1/iterations:1\n"
-    "BM_string_memcpy/10/32/2/iterations:1\n"
-    "BM_string_memcpy/10/32/4/iterations:1\n"
-    "BM_string_memcpy/10/32/8/iterations:1\n"
-    "BM_string_memcpy/10/32/16/iterations:1\n"
-    "BM_string_memcpy/10/32/32/iterations:1\n"
-    "BM_string_memcpy/11/0/0/iterations:1\n"
-    "BM_string_memcpy/11/1/1/iterations:1\n"
-    "BM_string_memcpy/11/1/2/iterations:1\n"
-    "BM_string_memcpy/11/1/4/iterations:1\n"
-    "BM_string_memcpy/11/1/8/iterations:1\n"
-    "BM_string_memcpy/11/1/16/iterations:1\n"
-    "BM_string_memcpy/11/1/32/iterations:1\n"
-    "BM_string_memcpy/11/2/1/iterations:1\n"
-    "BM_string_memcpy/11/2/2/iterations:1\n"
-    "BM_string_memcpy/11/2/4/iterations:1\n"
-    "BM_string_memcpy/11/2/8/iterations:1\n"
-    "BM_string_memcpy/11/2/16/iterations:1\n"
-    "BM_string_memcpy/11/2/32/iterations:1\n"
-    "BM_string_memcpy/11/4/1/iterations:1\n"
-    "BM_string_memcpy/11/4/2/iterations:1\n"
-    "BM_string_memcpy/11/4/4/iterations:1\n"
-    "BM_string_memcpy/11/4/8/iterations:1\n"
-    "BM_string_memcpy/11/4/16/iterations:1\n"
-    "BM_string_memcpy/11/4/32/iterations:1\n"
-    "BM_string_memcpy/11/8/1/iterations:1\n"
-    "BM_string_memcpy/11/8/2/iterations:1\n"
-    "BM_string_memcpy/11/8/4/iterations:1\n"
-    "BM_string_memcpy/11/8/8/iterations:1\n"
-    "BM_string_memcpy/11/8/16/iterations:1\n"
-    "BM_string_memcpy/11/8/32/iterations:1\n"
-    "BM_string_memcpy/11/16/1/iterations:1\n"
-    "BM_string_memcpy/11/16/2/iterations:1\n"
-    "BM_string_memcpy/11/16/4/iterations:1\n"
-    "BM_string_memcpy/11/16/8/iterations:1\n"
-    "BM_string_memcpy/11/16/16/iterations:1\n"
-    "BM_string_memcpy/11/16/32/iterations:1\n"
-    "BM_string_memcpy/11/32/1/iterations:1\n"
-    "BM_string_memcpy/11/32/2/iterations:1\n"
-    "BM_string_memcpy/11/32/4/iterations:1\n"
-    "BM_string_memcpy/11/32/8/iterations:1\n"
-    "BM_string_memcpy/11/32/16/iterations:1\n"
-    "BM_string_memcpy/11/32/32/iterations:1\n"
-    "BM_string_memcpy/12/0/0/iterations:1\n"
-    "BM_string_memcpy/12/1/1/iterations:1\n"
-    "BM_string_memcpy/12/1/2/iterations:1\n"
-    "BM_string_memcpy/12/1/4/iterations:1\n"
-    "BM_string_memcpy/12/1/8/iterations:1\n"
-    "BM_string_memcpy/12/1/16/iterations:1\n"
-    "BM_string_memcpy/12/1/32/iterations:1\n"
-    "BM_string_memcpy/12/2/1/iterations:1\n"
-    "BM_string_memcpy/12/2/2/iterations:1\n"
-    "BM_string_memcpy/12/2/4/iterations:1\n"
-    "BM_string_memcpy/12/2/8/iterations:1\n"
-    "BM_string_memcpy/12/2/16/iterations:1\n"
-    "BM_string_memcpy/12/2/32/iterations:1\n"
-    "BM_string_memcpy/12/4/1/iterations:1\n"
-    "BM_string_memcpy/12/4/2/iterations:1\n"
-    "BM_string_memcpy/12/4/4/iterations:1\n"
-    "BM_string_memcpy/12/4/8/iterations:1\n"
-    "BM_string_memcpy/12/4/16/iterations:1\n"
-    "BM_string_memcpy/12/4/32/iterations:1\n"
-    "BM_string_memcpy/12/8/1/iterations:1\n"
-    "BM_string_memcpy/12/8/2/iterations:1\n"
-    "BM_string_memcpy/12/8/4/iterations:1\n"
-    "BM_string_memcpy/12/8/8/iterations:1\n"
-    "BM_string_memcpy/12/8/16/iterations:1\n"
-    "BM_string_memcpy/12/8/32/iterations:1\n"
-    "BM_string_memcpy/12/16/1/iterations:1\n"
-    "BM_string_memcpy/12/16/2/iterations:1\n"
-    "BM_string_memcpy/12/16/4/iterations:1\n"
-    "BM_string_memcpy/12/16/8/iterations:1\n"
-    "BM_string_memcpy/12/16/16/iterations:1\n"
-    "BM_string_memcpy/12/16/32/iterations:1\n"
-    "BM_string_memcpy/12/32/1/iterations:1\n"
-    "BM_string_memcpy/12/32/2/iterations:1\n"
-    "BM_string_memcpy/12/32/4/iterations:1\n"
-    "BM_string_memcpy/12/32/8/iterations:1\n"
-    "BM_string_memcpy/12/32/16/iterations:1\n"
-    "BM_string_memcpy/12/32/32/iterations:1\n"
-    "BM_string_memcpy/13/0/0/iterations:1\n"
-    "BM_string_memcpy/13/1/1/iterations:1\n"
-    "BM_string_memcpy/13/1/2/iterations:1\n"
-    "BM_string_memcpy/13/1/4/iterations:1\n"
-    "BM_string_memcpy/13/1/8/iterations:1\n"
-    "BM_string_memcpy/13/1/16/iterations:1\n"
-    "BM_string_memcpy/13/1/32/iterations:1\n"
-    "BM_string_memcpy/13/2/1/iterations:1\n"
-    "BM_string_memcpy/13/2/2/iterations:1\n"
-    "BM_string_memcpy/13/2/4/iterations:1\n"
-    "BM_string_memcpy/13/2/8/iterations:1\n"
-    "BM_string_memcpy/13/2/16/iterations:1\n"
-    "BM_string_memcpy/13/2/32/iterations:1\n"
-    "BM_string_memcpy/13/4/1/iterations:1\n"
-    "BM_string_memcpy/13/4/2/iterations:1\n"
-    "BM_string_memcpy/13/4/4/iterations:1\n"
-    "BM_string_memcpy/13/4/8/iterations:1\n"
-    "BM_string_memcpy/13/4/16/iterations:1\n"
-    "BM_string_memcpy/13/4/32/iterations:1\n"
-    "BM_string_memcpy/13/8/1/iterations:1\n"
-    "BM_string_memcpy/13/8/2/iterations:1\n"
-    "BM_string_memcpy/13/8/4/iterations:1\n"
-    "BM_string_memcpy/13/8/8/iterations:1\n"
-    "BM_string_memcpy/13/8/16/iterations:1\n"
-    "BM_string_memcpy/13/8/32/iterations:1\n"
-    "BM_string_memcpy/13/16/1/iterations:1\n"
-    "BM_string_memcpy/13/16/2/iterations:1\n"
-    "BM_string_memcpy/13/16/4/iterations:1\n"
-    "BM_string_memcpy/13/16/8/iterations:1\n"
-    "BM_string_memcpy/13/16/16/iterations:1\n"
-    "BM_string_memcpy/13/16/32/iterations:1\n"
-    "BM_string_memcpy/13/32/1/iterations:1\n"
-    "BM_string_memcpy/13/32/2/iterations:1\n"
-    "BM_string_memcpy/13/32/4/iterations:1\n"
-    "BM_string_memcpy/13/32/8/iterations:1\n"
-    "BM_string_memcpy/13/32/16/iterations:1\n"
-    "BM_string_memcpy/13/32/32/iterations:1\n"
-    "BM_string_memcpy/14/0/0/iterations:1\n"
-    "BM_string_memcpy/14/1/1/iterations:1\n"
-    "BM_string_memcpy/14/1/2/iterations:1\n"
-    "BM_string_memcpy/14/1/4/iterations:1\n"
-    "BM_string_memcpy/14/1/8/iterations:1\n"
-    "BM_string_memcpy/14/1/16/iterations:1\n"
-    "BM_string_memcpy/14/1/32/iterations:1\n"
-    "BM_string_memcpy/14/2/1/iterations:1\n"
-    "BM_string_memcpy/14/2/2/iterations:1\n"
-    "BM_string_memcpy/14/2/4/iterations:1\n"
-    "BM_string_memcpy/14/2/8/iterations:1\n"
-    "BM_string_memcpy/14/2/16/iterations:1\n"
-    "BM_string_memcpy/14/2/32/iterations:1\n"
-    "BM_string_memcpy/14/4/1/iterations:1\n"
-    "BM_string_memcpy/14/4/2/iterations:1\n"
-    "BM_string_memcpy/14/4/4/iterations:1\n"
-    "BM_string_memcpy/14/4/8/iterations:1\n"
-    "BM_string_memcpy/14/4/16/iterations:1\n"
-    "BM_string_memcpy/14/4/32/iterations:1\n"
-    "BM_string_memcpy/14/8/1/iterations:1\n"
-    "BM_string_memcpy/14/8/2/iterations:1\n"
-    "BM_string_memcpy/14/8/4/iterations:1\n"
-    "BM_string_memcpy/14/8/8/iterations:1\n"
-    "BM_string_memcpy/14/8/16/iterations:1\n"
-    "BM_string_memcpy/14/8/32/iterations:1\n"
-    "BM_string_memcpy/14/16/1/iterations:1\n"
-    "BM_string_memcpy/14/16/2/iterations:1\n"
-    "BM_string_memcpy/14/16/4/iterations:1\n"
-    "BM_string_memcpy/14/16/8/iterations:1\n"
-    "BM_string_memcpy/14/16/16/iterations:1\n"
-    "BM_string_memcpy/14/16/32/iterations:1\n"
-    "BM_string_memcpy/14/32/1/iterations:1\n"
-    "BM_string_memcpy/14/32/2/iterations:1\n"
-    "BM_string_memcpy/14/32/4/iterations:1\n"
-    "BM_string_memcpy/14/32/8/iterations:1\n"
-    "BM_string_memcpy/14/32/16/iterations:1\n"
-    "BM_string_memcpy/14/32/32/iterations:1\n"
-    "BM_string_memcpy/15/0/0/iterations:1\n"
-    "BM_string_memcpy/15/1/1/iterations:1\n"
-    "BM_string_memcpy/15/1/2/iterations:1\n"
-    "BM_string_memcpy/15/1/4/iterations:1\n"
-    "BM_string_memcpy/15/1/8/iterations:1\n"
-    "BM_string_memcpy/15/1/16/iterations:1\n"
-    "BM_string_memcpy/15/1/32/iterations:1\n"
-    "BM_string_memcpy/15/2/1/iterations:1\n"
-    "BM_string_memcpy/15/2/2/iterations:1\n"
-    "BM_string_memcpy/15/2/4/iterations:1\n"
-    "BM_string_memcpy/15/2/8/iterations:1\n"
-    "BM_string_memcpy/15/2/16/iterations:1\n"
-    "BM_string_memcpy/15/2/32/iterations:1\n"
-    "BM_string_memcpy/15/4/1/iterations:1\n"
-    "BM_string_memcpy/15/4/2/iterations:1\n"
-    "BM_string_memcpy/15/4/4/iterations:1\n"
-    "BM_string_memcpy/15/4/8/iterations:1\n"
-    "BM_string_memcpy/15/4/16/iterations:1\n"
-    "BM_string_memcpy/15/4/32/iterations:1\n"
-    "BM_string_memcpy/15/8/1/iterations:1\n"
-    "BM_string_memcpy/15/8/2/iterations:1\n"
-    "BM_string_memcpy/15/8/4/iterations:1\n"
-    "BM_string_memcpy/15/8/8/iterations:1\n"
-    "BM_string_memcpy/15/8/16/iterations:1\n"
-    "BM_string_memcpy/15/8/32/iterations:1\n"
-    "BM_string_memcpy/15/16/1/iterations:1\n"
-    "BM_string_memcpy/15/16/2/iterations:1\n"
-    "BM_string_memcpy/15/16/4/iterations:1\n"
-    "BM_string_memcpy/15/16/8/iterations:1\n"
-    "BM_string_memcpy/15/16/16/iterations:1\n"
-    "BM_string_memcpy/15/16/32/iterations:1\n"
-    "BM_string_memcpy/15/32/1/iterations:1\n"
-    "BM_string_memcpy/15/32/2/iterations:1\n"
-    "BM_string_memcpy/15/32/4/iterations:1\n"
-    "BM_string_memcpy/15/32/8/iterations:1\n"
-    "BM_string_memcpy/15/32/16/iterations:1\n"
-    "BM_string_memcpy/15/32/32/iterations:1\n"
-    "BM_string_memcpy/16/0/0/iterations:1\n"
-    "BM_string_memcpy/16/1/1/iterations:1\n"
-    "BM_string_memcpy/16/1/2/iterations:1\n"
-    "BM_string_memcpy/16/1/4/iterations:1\n"
-    "BM_string_memcpy/16/1/8/iterations:1\n"
-    "BM_string_memcpy/16/1/16/iterations:1\n"
-    "BM_string_memcpy/16/1/32/iterations:1\n"
-    "BM_string_memcpy/16/2/1/iterations:1\n"
-    "BM_string_memcpy/16/2/2/iterations:1\n"
-    "BM_string_memcpy/16/2/4/iterations:1\n"
-    "BM_string_memcpy/16/2/8/iterations:1\n"
-    "BM_string_memcpy/16/2/16/iterations:1\n"
-    "BM_string_memcpy/16/2/32/iterations:1\n"
-    "BM_string_memcpy/16/4/1/iterations:1\n"
-    "BM_string_memcpy/16/4/2/iterations:1\n"
-    "BM_string_memcpy/16/4/4/iterations:1\n"
-    "BM_string_memcpy/16/4/8/iterations:1\n"
-    "BM_string_memcpy/16/4/16/iterations:1\n"
-    "BM_string_memcpy/16/4/32/iterations:1\n"
-    "BM_string_memcpy/16/8/1/iterations:1\n"
-    "BM_string_memcpy/16/8/2/iterations:1\n"
-    "BM_string_memcpy/16/8/4/iterations:1\n"
-    "BM_string_memcpy/16/8/8/iterations:1\n"
-    "BM_string_memcpy/16/8/16/iterations:1\n"
-    "BM_string_memcpy/16/8/32/iterations:1\n"
-    "BM_string_memcpy/16/16/1/iterations:1\n"
-    "BM_string_memcpy/16/16/2/iterations:1\n"
-    "BM_string_memcpy/16/16/4/iterations:1\n"
-    "BM_string_memcpy/16/16/8/iterations:1\n"
-    "BM_string_memcpy/16/16/16/iterations:1\n"
-    "BM_string_memcpy/16/16/32/iterations:1\n"
-    "BM_string_memcpy/16/32/1/iterations:1\n"
-    "BM_string_memcpy/16/32/2/iterations:1\n"
-    "BM_string_memcpy/16/32/4/iterations:1\n"
-    "BM_string_memcpy/16/32/8/iterations:1\n"
-    "BM_string_memcpy/16/32/16/iterations:1\n"
-    "BM_string_memcpy/16/32/32/iterations:1\n"
-    "BM_string_memcpy/24/0/0/iterations:1\n"
-    "BM_string_memcpy/24/1/1/iterations:1\n"
-    "BM_string_memcpy/24/1/2/iterations:1\n"
-    "BM_string_memcpy/24/1/4/iterations:1\n"
-    "BM_string_memcpy/24/1/8/iterations:1\n"
-    "BM_string_memcpy/24/1/16/iterations:1\n"
-    "BM_string_memcpy/24/1/32/iterations:1\n"
-    "BM_string_memcpy/24/2/1/iterations:1\n"
-    "BM_string_memcpy/24/2/2/iterations:1\n"
-    "BM_string_memcpy/24/2/4/iterations:1\n"
-    "BM_string_memcpy/24/2/8/iterations:1\n"
-    "BM_string_memcpy/24/2/16/iterations:1\n"
-    "BM_string_memcpy/24/2/32/iterations:1\n"
-    "BM_string_memcpy/24/4/1/iterations:1\n"
-    "BM_string_memcpy/24/4/2/iterations:1\n"
-    "BM_string_memcpy/24/4/4/iterations:1\n"
-    "BM_string_memcpy/24/4/8/iterations:1\n"
-    "BM_string_memcpy/24/4/16/iterations:1\n"
-    "BM_string_memcpy/24/4/32/iterations:1\n"
-    "BM_string_memcpy/24/8/1/iterations:1\n"
-    "BM_string_memcpy/24/8/2/iterations:1\n"
-    "BM_string_memcpy/24/8/4/iterations:1\n"
-    "BM_string_memcpy/24/8/8/iterations:1\n"
-    "BM_string_memcpy/24/8/16/iterations:1\n"
-    "BM_string_memcpy/24/8/32/iterations:1\n"
-    "BM_string_memcpy/24/16/1/iterations:1\n"
-    "BM_string_memcpy/24/16/2/iterations:1\n"
-    "BM_string_memcpy/24/16/4/iterations:1\n"
-    "BM_string_memcpy/24/16/8/iterations:1\n"
-    "BM_string_memcpy/24/16/16/iterations:1\n"
-    "BM_string_memcpy/24/16/32/iterations:1\n"
-    "BM_string_memcpy/24/32/1/iterations:1\n"
-    "BM_string_memcpy/24/32/2/iterations:1\n"
-    "BM_string_memcpy/24/32/4/iterations:1\n"
-    "BM_string_memcpy/24/32/8/iterations:1\n"
-    "BM_string_memcpy/24/32/16/iterations:1\n"
-    "BM_string_memcpy/24/32/32/iterations:1\n"
-    "BM_string_memcpy/32/0/0/iterations:1\n"
-    "BM_string_memcpy/32/1/1/iterations:1\n"
-    "BM_string_memcpy/32/1/2/iterations:1\n"
-    "BM_string_memcpy/32/1/4/iterations:1\n"
-    "BM_string_memcpy/32/1/8/iterations:1\n"
-    "BM_string_memcpy/32/1/16/iterations:1\n"
-    "BM_string_memcpy/32/1/32/iterations:1\n"
-    "BM_string_memcpy/32/2/1/iterations:1\n"
-    "BM_string_memcpy/32/2/2/iterations:1\n"
-    "BM_string_memcpy/32/2/4/iterations:1\n"
-    "BM_string_memcpy/32/2/8/iterations:1\n"
-    "BM_string_memcpy/32/2/16/iterations:1\n"
-    "BM_string_memcpy/32/2/32/iterations:1\n"
-    "BM_string_memcpy/32/4/1/iterations:1\n"
-    "BM_string_memcpy/32/4/2/iterations:1\n"
-    "BM_string_memcpy/32/4/4/iterations:1\n"
-    "BM_string_memcpy/32/4/8/iterations:1\n"
-    "BM_string_memcpy/32/4/16/iterations:1\n"
-    "BM_string_memcpy/32/4/32/iterations:1\n"
-    "BM_string_memcpy/32/8/1/iterations:1\n"
-    "BM_string_memcpy/32/8/2/iterations:1\n"
-    "BM_string_memcpy/32/8/4/iterations:1\n"
-    "BM_string_memcpy/32/8/8/iterations:1\n"
-    "BM_string_memcpy/32/8/16/iterations:1\n"
-    "BM_string_memcpy/32/8/32/iterations:1\n"
-    "BM_string_memcpy/32/16/1/iterations:1\n"
-    "BM_string_memcpy/32/16/2/iterations:1\n"
-    "BM_string_memcpy/32/16/4/iterations:1\n"
-    "BM_string_memcpy/32/16/8/iterations:1\n"
-    "BM_string_memcpy/32/16/16/iterations:1\n"
-    "BM_string_memcpy/32/16/32/iterations:1\n"
-    "BM_string_memcpy/32/32/1/iterations:1\n"
-    "BM_string_memcpy/32/32/2/iterations:1\n"
-    "BM_string_memcpy/32/32/4/iterations:1\n"
-    "BM_string_memcpy/32/32/8/iterations:1\n"
-    "BM_string_memcpy/32/32/16/iterations:1\n"
-    "BM_string_memcpy/32/32/32/iterations:1\n"
-    "BM_string_memcpy/40/0/0/iterations:1\n"
-    "BM_string_memcpy/40/1/1/iterations:1\n"
-    "BM_string_memcpy/40/1/2/iterations:1\n"
-    "BM_string_memcpy/40/1/4/iterations:1\n"
-    "BM_string_memcpy/40/1/8/iterations:1\n"
-    "BM_string_memcpy/40/1/16/iterations:1\n"
-    "BM_string_memcpy/40/1/32/iterations:1\n"
-    "BM_string_memcpy/40/2/1/iterations:1\n"
-    "BM_string_memcpy/40/2/2/iterations:1\n"
-    "BM_string_memcpy/40/2/4/iterations:1\n"
-    "BM_string_memcpy/40/2/8/iterations:1\n"
-    "BM_string_memcpy/40/2/16/iterations:1\n"
-    "BM_string_memcpy/40/2/32/iterations:1\n"
-    "BM_string_memcpy/40/4/1/iterations:1\n"
-    "BM_string_memcpy/40/4/2/iterations:1\n"
-    "BM_string_memcpy/40/4/4/iterations:1\n"
-    "BM_string_memcpy/40/4/8/iterations:1\n"
-    "BM_string_memcpy/40/4/16/iterations:1\n"
-    "BM_string_memcpy/40/4/32/iterations:1\n"
-    "BM_string_memcpy/40/8/1/iterations:1\n"
-    "BM_string_memcpy/40/8/2/iterations:1\n"
-    "BM_string_memcpy/40/8/4/iterations:1\n"
-    "BM_string_memcpy/40/8/8/iterations:1\n"
-    "BM_string_memcpy/40/8/16/iterations:1\n"
-    "BM_string_memcpy/40/8/32/iterations:1\n"
-    "BM_string_memcpy/40/16/1/iterations:1\n"
-    "BM_string_memcpy/40/16/2/iterations:1\n"
-    "BM_string_memcpy/40/16/4/iterations:1\n"
-    "BM_string_memcpy/40/16/8/iterations:1\n"
-    "BM_string_memcpy/40/16/16/iterations:1\n"
-    "BM_string_memcpy/40/16/32/iterations:1\n"
-    "BM_string_memcpy/40/32/1/iterations:1\n"
-    "BM_string_memcpy/40/32/2/iterations:1\n"
-    "BM_string_memcpy/40/32/4/iterations:1\n"
-    "BM_string_memcpy/40/32/8/iterations:1\n"
-    "BM_string_memcpy/40/32/16/iterations:1\n"
-    "BM_string_memcpy/40/32/32/iterations:1\n"
-    "BM_string_memcpy/48/0/0/iterations:1\n"
-    "BM_string_memcpy/48/1/1/iterations:1\n"
-    "BM_string_memcpy/48/1/2/iterations:1\n"
-    "BM_string_memcpy/48/1/4/iterations:1\n"
-    "BM_string_memcpy/48/1/8/iterations:1\n"
-    "BM_string_memcpy/48/1/16/iterations:1\n"
-    "BM_string_memcpy/48/1/32/iterations:1\n"
-    "BM_string_memcpy/48/2/1/iterations:1\n"
-    "BM_string_memcpy/48/2/2/iterations:1\n"
-    "BM_string_memcpy/48/2/4/iterations:1\n"
-    "BM_string_memcpy/48/2/8/iterations:1\n"
-    "BM_string_memcpy/48/2/16/iterations:1\n"
-    "BM_string_memcpy/48/2/32/iterations:1\n"
-    "BM_string_memcpy/48/4/1/iterations:1\n"
-    "BM_string_memcpy/48/4/2/iterations:1\n"
-    "BM_string_memcpy/48/4/4/iterations:1\n"
-    "BM_string_memcpy/48/4/8/iterations:1\n"
-    "BM_string_memcpy/48/4/16/iterations:1\n"
-    "BM_string_memcpy/48/4/32/iterations:1\n"
-    "BM_string_memcpy/48/8/1/iterations:1\n"
-    "BM_string_memcpy/48/8/2/iterations:1\n"
-    "BM_string_memcpy/48/8/4/iterations:1\n"
-    "BM_string_memcpy/48/8/8/iterations:1\n"
-    "BM_string_memcpy/48/8/16/iterations:1\n"
-    "BM_string_memcpy/48/8/32/iterations:1\n"
-    "BM_string_memcpy/48/16/1/iterations:1\n"
-    "BM_string_memcpy/48/16/2/iterations:1\n"
-    "BM_string_memcpy/48/16/4/iterations:1\n"
-    "BM_string_memcpy/48/16/8/iterations:1\n"
-    "BM_string_memcpy/48/16/16/iterations:1\n"
-    "BM_string_memcpy/48/16/32/iterations:1\n"
-    "BM_string_memcpy/48/32/1/iterations:1\n"
-    "BM_string_memcpy/48/32/2/iterations:1\n"
-    "BM_string_memcpy/48/32/4/iterations:1\n"
-    "BM_string_memcpy/48/32/8/iterations:1\n"
-    "BM_string_memcpy/48/32/16/iterations:1\n"
-    "BM_string_memcpy/48/32/32/iterations:1\n"
-    "BM_string_memcpy/56/0/0/iterations:1\n"
-    "BM_string_memcpy/56/1/1/iterations:1\n"
-    "BM_string_memcpy/56/1/2/iterations:1\n"
-    "BM_string_memcpy/56/1/4/iterations:1\n"
-    "BM_string_memcpy/56/1/8/iterations:1\n"
-    "BM_string_memcpy/56/1/16/iterations:1\n"
-    "BM_string_memcpy/56/1/32/iterations:1\n"
-    "BM_string_memcpy/56/2/1/iterations:1\n"
-    "BM_string_memcpy/56/2/2/iterations:1\n"
-    "BM_string_memcpy/56/2/4/iterations:1\n"
-    "BM_string_memcpy/56/2/8/iterations:1\n"
-    "BM_string_memcpy/56/2/16/iterations:1\n"
-    "BM_string_memcpy/56/2/32/iterations:1\n"
-    "BM_string_memcpy/56/4/1/iterations:1\n"
-    "BM_string_memcpy/56/4/2/iterations:1\n"
-    "BM_string_memcpy/56/4/4/iterations:1\n"
-    "BM_string_memcpy/56/4/8/iterations:1\n"
-    "BM_string_memcpy/56/4/16/iterations:1\n"
-    "BM_string_memcpy/56/4/32/iterations:1\n"
-    "BM_string_memcpy/56/8/1/iterations:1\n"
-    "BM_string_memcpy/56/8/2/iterations:1\n"
-    "BM_string_memcpy/56/8/4/iterations:1\n"
-    "BM_string_memcpy/56/8/8/iterations:1\n"
-    "BM_string_memcpy/56/8/16/iterations:1\n"
-    "BM_string_memcpy/56/8/32/iterations:1\n"
-    "BM_string_memcpy/56/16/1/iterations:1\n"
-    "BM_string_memcpy/56/16/2/iterations:1\n"
-    "BM_string_memcpy/56/16/4/iterations:1\n"
-    "BM_string_memcpy/56/16/8/iterations:1\n"
-    "BM_string_memcpy/56/16/16/iterations:1\n"
-    "BM_string_memcpy/56/16/32/iterations:1\n"
-    "BM_string_memcpy/56/32/1/iterations:1\n"
-    "BM_string_memcpy/56/32/2/iterations:1\n"
-    "BM_string_memcpy/56/32/4/iterations:1\n"
-    "BM_string_memcpy/56/32/8/iterations:1\n"
-    "BM_string_memcpy/56/32/16/iterations:1\n"
-    "BM_string_memcpy/56/32/32/iterations:1\n"
-    "BM_string_memcpy/64/0/0/iterations:1\n"
-    "BM_string_memcpy/64/1/1/iterations:1\n"
-    "BM_string_memcpy/64/1/2/iterations:1\n"
-    "BM_string_memcpy/64/1/4/iterations:1\n"
-    "BM_string_memcpy/64/1/8/iterations:1\n"
-    "BM_string_memcpy/64/1/16/iterations:1\n"
-    "BM_string_memcpy/64/1/32/iterations:1\n"
-    "BM_string_memcpy/64/2/1/iterations:1\n"
-    "BM_string_memcpy/64/2/2/iterations:1\n"
-    "BM_string_memcpy/64/2/4/iterations:1\n"
-    "BM_string_memcpy/64/2/8/iterations:1\n"
-    "BM_string_memcpy/64/2/16/iterations:1\n"
-    "BM_string_memcpy/64/2/32/iterations:1\n"
-    "BM_string_memcpy/64/4/1/iterations:1\n"
-    "BM_string_memcpy/64/4/2/iterations:1\n"
-    "BM_string_memcpy/64/4/4/iterations:1\n"
-    "BM_string_memcpy/64/4/8/iterations:1\n"
-    "BM_string_memcpy/64/4/16/iterations:1\n"
-    "BM_string_memcpy/64/4/32/iterations:1\n"
-    "BM_string_memcpy/64/8/1/iterations:1\n"
-    "BM_string_memcpy/64/8/2/iterations:1\n"
-    "BM_string_memcpy/64/8/4/iterations:1\n"
-    "BM_string_memcpy/64/8/8/iterations:1\n"
-    "BM_string_memcpy/64/8/16/iterations:1\n"
-    "BM_string_memcpy/64/8/32/iterations:1\n"
-    "BM_string_memcpy/64/16/1/iterations:1\n"
-    "BM_string_memcpy/64/16/2/iterations:1\n"
-    "BM_string_memcpy/64/16/4/iterations:1\n"
-    "BM_string_memcpy/64/16/8/iterations:1\n"
-    "BM_string_memcpy/64/16/16/iterations:1\n"
-    "BM_string_memcpy/64/16/32/iterations:1\n"
-    "BM_string_memcpy/64/32/1/iterations:1\n"
-    "BM_string_memcpy/64/32/2/iterations:1\n"
-    "BM_string_memcpy/64/32/4/iterations:1\n"
-    "BM_string_memcpy/64/32/8/iterations:1\n"
-    "BM_string_memcpy/64/32/16/iterations:1\n"
-    "BM_string_memcpy/64/32/32/iterations:1\n"
-    "BM_string_memcpy/72/0/0/iterations:1\n"
-    "BM_string_memcpy/72/1/1/iterations:1\n"
-    "BM_string_memcpy/72/1/2/iterations:1\n"
-    "BM_string_memcpy/72/1/4/iterations:1\n"
-    "BM_string_memcpy/72/1/8/iterations:1\n"
-    "BM_string_memcpy/72/1/16/iterations:1\n"
-    "BM_string_memcpy/72/1/32/iterations:1\n"
-    "BM_string_memcpy/72/2/1/iterations:1\n"
-    "BM_string_memcpy/72/2/2/iterations:1\n"
-    "BM_string_memcpy/72/2/4/iterations:1\n"
-    "BM_string_memcpy/72/2/8/iterations:1\n"
-    "BM_string_memcpy/72/2/16/iterations:1\n"
-    "BM_string_memcpy/72/2/32/iterations:1\n"
-    "BM_string_memcpy/72/4/1/iterations:1\n"
-    "BM_string_memcpy/72/4/2/iterations:1\n"
-    "BM_string_memcpy/72/4/4/iterations:1\n"
-    "BM_string_memcpy/72/4/8/iterations:1\n"
-    "BM_string_memcpy/72/4/16/iterations:1\n"
-    "BM_string_memcpy/72/4/32/iterations:1\n"
-    "BM_string_memcpy/72/8/1/iterations:1\n"
-    "BM_string_memcpy/72/8/2/iterations:1\n"
-    "BM_string_memcpy/72/8/4/iterations:1\n"
-    "BM_string_memcpy/72/8/8/iterations:1\n"
-    "BM_string_memcpy/72/8/16/iterations:1\n"
-    "BM_string_memcpy/72/8/32/iterations:1\n"
-    "BM_string_memcpy/72/16/1/iterations:1\n"
-    "BM_string_memcpy/72/16/2/iterations:1\n"
-    "BM_string_memcpy/72/16/4/iterations:1\n"
-    "BM_string_memcpy/72/16/8/iterations:1\n"
-    "BM_string_memcpy/72/16/16/iterations:1\n"
-    "BM_string_memcpy/72/16/32/iterations:1\n"
-    "BM_string_memcpy/72/32/1/iterations:1\n"
-    "BM_string_memcpy/72/32/2/iterations:1\n"
-    "BM_string_memcpy/72/32/4/iterations:1\n"
-    "BM_string_memcpy/72/32/8/iterations:1\n"
-    "BM_string_memcpy/72/32/16/iterations:1\n"
-    "BM_string_memcpy/72/32/32/iterations:1\n"
-    "BM_string_memcpy/80/0/0/iterations:1\n"
-    "BM_string_memcpy/80/1/1/iterations:1\n"
-    "BM_string_memcpy/80/1/2/iterations:1\n"
-    "BM_string_memcpy/80/1/4/iterations:1\n"
-    "BM_string_memcpy/80/1/8/iterations:1\n"
-    "BM_string_memcpy/80/1/16/iterations:1\n"
-    "BM_string_memcpy/80/1/32/iterations:1\n"
-    "BM_string_memcpy/80/2/1/iterations:1\n"
-    "BM_string_memcpy/80/2/2/iterations:1\n"
-    "BM_string_memcpy/80/2/4/iterations:1\n"
-    "BM_string_memcpy/80/2/8/iterations:1\n"
-    "BM_string_memcpy/80/2/16/iterations:1\n"
-    "BM_string_memcpy/80/2/32/iterations:1\n"
-    "BM_string_memcpy/80/4/1/iterations:1\n"
-    "BM_string_memcpy/80/4/2/iterations:1\n"
-    "BM_string_memcpy/80/4/4/iterations:1\n"
-    "BM_string_memcpy/80/4/8/iterations:1\n"
-    "BM_string_memcpy/80/4/16/iterations:1\n"
-    "BM_string_memcpy/80/4/32/iterations:1\n"
-    "BM_string_memcpy/80/8/1/iterations:1\n"
-    "BM_string_memcpy/80/8/2/iterations:1\n"
-    "BM_string_memcpy/80/8/4/iterations:1\n"
-    "BM_string_memcpy/80/8/8/iterations:1\n"
-    "BM_string_memcpy/80/8/16/iterations:1\n"
-    "BM_string_memcpy/80/8/32/iterations:1\n"
-    "BM_string_memcpy/80/16/1/iterations:1\n"
-    "BM_string_memcpy/80/16/2/iterations:1\n"
-    "BM_string_memcpy/80/16/4/iterations:1\n"
-    "BM_string_memcpy/80/16/8/iterations:1\n"
-    "BM_string_memcpy/80/16/16/iterations:1\n"
-    "BM_string_memcpy/80/16/32/iterations:1\n"
-    "BM_string_memcpy/80/32/1/iterations:1\n"
-    "BM_string_memcpy/80/32/2/iterations:1\n"
-    "BM_string_memcpy/80/32/4/iterations:1\n"
-    "BM_string_memcpy/80/32/8/iterations:1\n"
-    "BM_string_memcpy/80/32/16/iterations:1\n"
-    "BM_string_memcpy/80/32/32/iterations:1\n"
-    "BM_string_memcpy/88/0/0/iterations:1\n"
-    "BM_string_memcpy/88/1/1/iterations:1\n"
-    "BM_string_memcpy/88/1/2/iterations:1\n"
-    "BM_string_memcpy/88/1/4/iterations:1\n"
-    "BM_string_memcpy/88/1/8/iterations:1\n"
-    "BM_string_memcpy/88/1/16/iterations:1\n"
-    "BM_string_memcpy/88/1/32/iterations:1\n"
-    "BM_string_memcpy/88/2/1/iterations:1\n"
-    "BM_string_memcpy/88/2/2/iterations:1\n"
-    "BM_string_memcpy/88/2/4/iterations:1\n"
-    "BM_string_memcpy/88/2/8/iterations:1\n"
-    "BM_string_memcpy/88/2/16/iterations:1\n"
-    "BM_string_memcpy/88/2/32/iterations:1\n"
-    "BM_string_memcpy/88/4/1/iterations:1\n"
-    "BM_string_memcpy/88/4/2/iterations:1\n"
-    "BM_string_memcpy/88/4/4/iterations:1\n"
-    "BM_string_memcpy/88/4/8/iterations:1\n"
-    "BM_string_memcpy/88/4/16/iterations:1\n"
-    "BM_string_memcpy/88/4/32/iterations:1\n"
-    "BM_string_memcpy/88/8/1/iterations:1\n"
-    "BM_string_memcpy/88/8/2/iterations:1\n"
-    "BM_string_memcpy/88/8/4/iterations:1\n"
-    "BM_string_memcpy/88/8/8/iterations:1\n"
-    "BM_string_memcpy/88/8/16/iterations:1\n"
-    "BM_string_memcpy/88/8/32/iterations:1\n"
-    "BM_string_memcpy/88/16/1/iterations:1\n"
-    "BM_string_memcpy/88/16/2/iterations:1\n"
-    "BM_string_memcpy/88/16/4/iterations:1\n"
-    "BM_string_memcpy/88/16/8/iterations:1\n"
-    "BM_string_memcpy/88/16/16/iterations:1\n"
-    "BM_string_memcpy/88/16/32/iterations:1\n"
-    "BM_string_memcpy/88/32/1/iterations:1\n"
-    "BM_string_memcpy/88/32/2/iterations:1\n"
-    "BM_string_memcpy/88/32/4/iterations:1\n"
-    "BM_string_memcpy/88/32/8/iterations:1\n"
-    "BM_string_memcpy/88/32/16/iterations:1\n"
-    "BM_string_memcpy/88/32/32/iterations:1\n"
-    "BM_string_memcpy/96/0/0/iterations:1\n"
-    "BM_string_memcpy/96/1/1/iterations:1\n"
-    "BM_string_memcpy/96/1/2/iterations:1\n"
-    "BM_string_memcpy/96/1/4/iterations:1\n"
-    "BM_string_memcpy/96/1/8/iterations:1\n"
-    "BM_string_memcpy/96/1/16/iterations:1\n"
-    "BM_string_memcpy/96/1/32/iterations:1\n"
-    "BM_string_memcpy/96/2/1/iterations:1\n"
-    "BM_string_memcpy/96/2/2/iterations:1\n"
-    "BM_string_memcpy/96/2/4/iterations:1\n"
-    "BM_string_memcpy/96/2/8/iterations:1\n"
-    "BM_string_memcpy/96/2/16/iterations:1\n"
-    "BM_string_memcpy/96/2/32/iterations:1\n"
-    "BM_string_memcpy/96/4/1/iterations:1\n"
-    "BM_string_memcpy/96/4/2/iterations:1\n"
-    "BM_string_memcpy/96/4/4/iterations:1\n"
-    "BM_string_memcpy/96/4/8/iterations:1\n"
-    "BM_string_memcpy/96/4/16/iterations:1\n"
-    "BM_string_memcpy/96/4/32/iterations:1\n"
-    "BM_string_memcpy/96/8/1/iterations:1\n"
-    "BM_string_memcpy/96/8/2/iterations:1\n"
-    "BM_string_memcpy/96/8/4/iterations:1\n"
-    "BM_string_memcpy/96/8/8/iterations:1\n"
-    "BM_string_memcpy/96/8/16/iterations:1\n"
-    "BM_string_memcpy/96/8/32/iterations:1\n"
-    "BM_string_memcpy/96/16/1/iterations:1\n"
-    "BM_string_memcpy/96/16/2/iterations:1\n"
-    "BM_string_memcpy/96/16/4/iterations:1\n"
-    "BM_string_memcpy/96/16/8/iterations:1\n"
-    "BM_string_memcpy/96/16/16/iterations:1\n"
-    "BM_string_memcpy/96/16/32/iterations:1\n"
-    "BM_string_memcpy/96/32/1/iterations:1\n"
-    "BM_string_memcpy/96/32/2/iterations:1\n"
-    "BM_string_memcpy/96/32/4/iterations:1\n"
-    "BM_string_memcpy/96/32/8/iterations:1\n"
-    "BM_string_memcpy/96/32/16/iterations:1\n"
-    "BM_string_memcpy/96/32/32/iterations:1\n"
-    "BM_string_memcpy/104/0/0/iterations:1\n"
-    "BM_string_memcpy/104/1/1/iterations:1\n"
-    "BM_string_memcpy/104/1/2/iterations:1\n"
-    "BM_string_memcpy/104/1/4/iterations:1\n"
-    "BM_string_memcpy/104/1/8/iterations:1\n"
-    "BM_string_memcpy/104/1/16/iterations:1\n"
-    "BM_string_memcpy/104/1/32/iterations:1\n"
-    "BM_string_memcpy/104/2/1/iterations:1\n"
-    "BM_string_memcpy/104/2/2/iterations:1\n"
-    "BM_string_memcpy/104/2/4/iterations:1\n"
-    "BM_string_memcpy/104/2/8/iterations:1\n"
-    "BM_string_memcpy/104/2/16/iterations:1\n"
-    "BM_string_memcpy/104/2/32/iterations:1\n"
-    "BM_string_memcpy/104/4/1/iterations:1\n"
-    "BM_string_memcpy/104/4/2/iterations:1\n"
-    "BM_string_memcpy/104/4/4/iterations:1\n"
-    "BM_string_memcpy/104/4/8/iterations:1\n"
-    "BM_string_memcpy/104/4/16/iterations:1\n"
-    "BM_string_memcpy/104/4/32/iterations:1\n"
-    "BM_string_memcpy/104/8/1/iterations:1\n"
-    "BM_string_memcpy/104/8/2/iterations:1\n"
-    "BM_string_memcpy/104/8/4/iterations:1\n"
-    "BM_string_memcpy/104/8/8/iterations:1\n"
-    "BM_string_memcpy/104/8/16/iterations:1\n"
-    "BM_string_memcpy/104/8/32/iterations:1\n"
-    "BM_string_memcpy/104/16/1/iterations:1\n"
-    "BM_string_memcpy/104/16/2/iterations:1\n"
-    "BM_string_memcpy/104/16/4/iterations:1\n"
-    "BM_string_memcpy/104/16/8/iterations:1\n"
-    "BM_string_memcpy/104/16/16/iterations:1\n"
-    "BM_string_memcpy/104/16/32/iterations:1\n"
-    "BM_string_memcpy/104/32/1/iterations:1\n"
-    "BM_string_memcpy/104/32/2/iterations:1\n"
-    "BM_string_memcpy/104/32/4/iterations:1\n"
-    "BM_string_memcpy/104/32/8/iterations:1\n"
-    "BM_string_memcpy/104/32/16/iterations:1\n"
-    "BM_string_memcpy/104/32/32/iterations:1\n"
-    "BM_string_memcpy/112/0/0/iterations:1\n"
-    "BM_string_memcpy/112/1/1/iterations:1\n"
-    "BM_string_memcpy/112/1/2/iterations:1\n"
-    "BM_string_memcpy/112/1/4/iterations:1\n"
-    "BM_string_memcpy/112/1/8/iterations:1\n"
-    "BM_string_memcpy/112/1/16/iterations:1\n"
-    "BM_string_memcpy/112/1/32/iterations:1\n"
-    "BM_string_memcpy/112/2/1/iterations:1\n"
-    "BM_string_memcpy/112/2/2/iterations:1\n"
-    "BM_string_memcpy/112/2/4/iterations:1\n"
-    "BM_string_memcpy/112/2/8/iterations:1\n"
-    "BM_string_memcpy/112/2/16/iterations:1\n"
-    "BM_string_memcpy/112/2/32/iterations:1\n"
-    "BM_string_memcpy/112/4/1/iterations:1\n"
-    "BM_string_memcpy/112/4/2/iterations:1\n"
-    "BM_string_memcpy/112/4/4/iterations:1\n"
-    "BM_string_memcpy/112/4/8/iterations:1\n"
-    "BM_string_memcpy/112/4/16/iterations:1\n"
-    "BM_string_memcpy/112/4/32/iterations:1\n"
-    "BM_string_memcpy/112/8/1/iterations:1\n"
-    "BM_string_memcpy/112/8/2/iterations:1\n"
-    "BM_string_memcpy/112/8/4/iterations:1\n"
-    "BM_string_memcpy/112/8/8/iterations:1\n"
-    "BM_string_memcpy/112/8/16/iterations:1\n"
-    "BM_string_memcpy/112/8/32/iterations:1\n"
-    "BM_string_memcpy/112/16/1/iterations:1\n"
-    "BM_string_memcpy/112/16/2/iterations:1\n"
-    "BM_string_memcpy/112/16/4/iterations:1\n"
-    "BM_string_memcpy/112/16/8/iterations:1\n"
-    "BM_string_memcpy/112/16/16/iterations:1\n"
-    "BM_string_memcpy/112/16/32/iterations:1\n"
-    "BM_string_memcpy/112/32/1/iterations:1\n"
-    "BM_string_memcpy/112/32/2/iterations:1\n"
-    "BM_string_memcpy/112/32/4/iterations:1\n"
-    "BM_string_memcpy/112/32/8/iterations:1\n"
-    "BM_string_memcpy/112/32/16/iterations:1\n"
-    "BM_string_memcpy/112/32/32/iterations:1\n"
-    "BM_string_memcpy/120/0/0/iterations:1\n"
-    "BM_string_memcpy/120/1/1/iterations:1\n"
-    "BM_string_memcpy/120/1/2/iterations:1\n"
-    "BM_string_memcpy/120/1/4/iterations:1\n"
-    "BM_string_memcpy/120/1/8/iterations:1\n"
-    "BM_string_memcpy/120/1/16/iterations:1\n"
-    "BM_string_memcpy/120/1/32/iterations:1\n"
-    "BM_string_memcpy/120/2/1/iterations:1\n"
-    "BM_string_memcpy/120/2/2/iterations:1\n"
-    "BM_string_memcpy/120/2/4/iterations:1\n"
-    "BM_string_memcpy/120/2/8/iterations:1\n"
-    "BM_string_memcpy/120/2/16/iterations:1\n"
-    "BM_string_memcpy/120/2/32/iterations:1\n"
-    "BM_string_memcpy/120/4/1/iterations:1\n"
-    "BM_string_memcpy/120/4/2/iterations:1\n"
-    "BM_string_memcpy/120/4/4/iterations:1\n"
-    "BM_string_memcpy/120/4/8/iterations:1\n"
-    "BM_string_memcpy/120/4/16/iterations:1\n"
-    "BM_string_memcpy/120/4/32/iterations:1\n"
-    "BM_string_memcpy/120/8/1/iterations:1\n"
-    "BM_string_memcpy/120/8/2/iterations:1\n"
-    "BM_string_memcpy/120/8/4/iterations:1\n"
-    "BM_string_memcpy/120/8/8/iterations:1\n"
-    "BM_string_memcpy/120/8/16/iterations:1\n"
-    "BM_string_memcpy/120/8/32/iterations:1\n"
-    "BM_string_memcpy/120/16/1/iterations:1\n"
-    "BM_string_memcpy/120/16/2/iterations:1\n"
-    "BM_string_memcpy/120/16/4/iterations:1\n"
-    "BM_string_memcpy/120/16/8/iterations:1\n"
-    "BM_string_memcpy/120/16/16/iterations:1\n"
-    "BM_string_memcpy/120/16/32/iterations:1\n"
-    "BM_string_memcpy/120/32/1/iterations:1\n"
-    "BM_string_memcpy/120/32/2/iterations:1\n"
-    "BM_string_memcpy/120/32/4/iterations:1\n"
-    "BM_string_memcpy/120/32/8/iterations:1\n"
-    "BM_string_memcpy/120/32/16/iterations:1\n"
-    "BM_string_memcpy/120/32/32/iterations:1\n"
-    "BM_string_memcpy/128/0/0/iterations:1\n"
-    "BM_string_memcpy/128/1/1/iterations:1\n"
-    "BM_string_memcpy/128/1/2/iterations:1\n"
-    "BM_string_memcpy/128/1/4/iterations:1\n"
-    "BM_string_memcpy/128/1/8/iterations:1\n"
-    "BM_string_memcpy/128/1/16/iterations:1\n"
-    "BM_string_memcpy/128/1/32/iterations:1\n"
-    "BM_string_memcpy/128/2/1/iterations:1\n"
-    "BM_string_memcpy/128/2/2/iterations:1\n"
-    "BM_string_memcpy/128/2/4/iterations:1\n"
-    "BM_string_memcpy/128/2/8/iterations:1\n"
-    "BM_string_memcpy/128/2/16/iterations:1\n"
-    "BM_string_memcpy/128/2/32/iterations:1\n"
-    "BM_string_memcpy/128/4/1/iterations:1\n"
-    "BM_string_memcpy/128/4/2/iterations:1\n"
-    "BM_string_memcpy/128/4/4/iterations:1\n"
-    "BM_string_memcpy/128/4/8/iterations:1\n"
-    "BM_string_memcpy/128/4/16/iterations:1\n"
-    "BM_string_memcpy/128/4/32/iterations:1\n"
-    "BM_string_memcpy/128/8/1/iterations:1\n"
-    "BM_string_memcpy/128/8/2/iterations:1\n"
-    "BM_string_memcpy/128/8/4/iterations:1\n"
-    "BM_string_memcpy/128/8/8/iterations:1\n"
-    "BM_string_memcpy/128/8/16/iterations:1\n"
-    "BM_string_memcpy/128/8/32/iterations:1\n"
-    "BM_string_memcpy/128/16/1/iterations:1\n"
-    "BM_string_memcpy/128/16/2/iterations:1\n"
-    "BM_string_memcpy/128/16/4/iterations:1\n"
-    "BM_string_memcpy/128/16/8/iterations:1\n"
-    "BM_string_memcpy/128/16/16/iterations:1\n"
-    "BM_string_memcpy/128/16/32/iterations:1\n"
-    "BM_string_memcpy/128/32/1/iterations:1\n"
-    "BM_string_memcpy/128/32/2/iterations:1\n"
-    "BM_string_memcpy/128/32/4/iterations:1\n"
-    "BM_string_memcpy/128/32/8/iterations:1\n"
-    "BM_string_memcpy/128/32/16/iterations:1\n"
-    "BM_string_memcpy/128/32/32/iterations:1\n"
-    "BM_string_memcpy/136/0/0/iterations:1\n"
-    "BM_string_memcpy/136/1/1/iterations:1\n"
-    "BM_string_memcpy/136/1/2/iterations:1\n"
-    "BM_string_memcpy/136/1/4/iterations:1\n"
-    "BM_string_memcpy/136/1/8/iterations:1\n"
-    "BM_string_memcpy/136/1/16/iterations:1\n"
-    "BM_string_memcpy/136/1/32/iterations:1\n"
-    "BM_string_memcpy/136/2/1/iterations:1\n"
-    "BM_string_memcpy/136/2/2/iterations:1\n"
-    "BM_string_memcpy/136/2/4/iterations:1\n"
-    "BM_string_memcpy/136/2/8/iterations:1\n"
-    "BM_string_memcpy/136/2/16/iterations:1\n"
-    "BM_string_memcpy/136/2/32/iterations:1\n"
-    "BM_string_memcpy/136/4/1/iterations:1\n"
-    "BM_string_memcpy/136/4/2/iterations:1\n"
-    "BM_string_memcpy/136/4/4/iterations:1\n"
-    "BM_string_memcpy/136/4/8/iterations:1\n"
-    "BM_string_memcpy/136/4/16/iterations:1\n"
-    "BM_string_memcpy/136/4/32/iterations:1\n"
-    "BM_string_memcpy/136/8/1/iterations:1\n"
-    "BM_string_memcpy/136/8/2/iterations:1\n"
-    "BM_string_memcpy/136/8/4/iterations:1\n"
-    "BM_string_memcpy/136/8/8/iterations:1\n"
-    "BM_string_memcpy/136/8/16/iterations:1\n"
-    "BM_string_memcpy/136/8/32/iterations:1\n"
-    "BM_string_memcpy/136/16/1/iterations:1\n"
-    "BM_string_memcpy/136/16/2/iterations:1\n"
-    "BM_string_memcpy/136/16/4/iterations:1\n"
-    "BM_string_memcpy/136/16/8/iterations:1\n"
-    "BM_string_memcpy/136/16/16/iterations:1\n"
-    "BM_string_memcpy/136/16/32/iterations:1\n"
-    "BM_string_memcpy/136/32/1/iterations:1\n"
-    "BM_string_memcpy/136/32/2/iterations:1\n"
-    "BM_string_memcpy/136/32/4/iterations:1\n"
-    "BM_string_memcpy/136/32/8/iterations:1\n"
-    "BM_string_memcpy/136/32/16/iterations:1\n"
-    "BM_string_memcpy/136/32/32/iterations:1\n"
-    "BM_string_memcpy/144/0/0/iterations:1\n"
-    "BM_string_memcpy/144/1/1/iterations:1\n"
-    "BM_string_memcpy/144/1/2/iterations:1\n"
-    "BM_string_memcpy/144/1/4/iterations:1\n"
-    "BM_string_memcpy/144/1/8/iterations:1\n"
-    "BM_string_memcpy/144/1/16/iterations:1\n"
-    "BM_string_memcpy/144/1/32/iterations:1\n"
-    "BM_string_memcpy/144/2/1/iterations:1\n"
-    "BM_string_memcpy/144/2/2/iterations:1\n"
-    "BM_string_memcpy/144/2/4/iterations:1\n"
-    "BM_string_memcpy/144/2/8/iterations:1\n"
-    "BM_string_memcpy/144/2/16/iterations:1\n"
-    "BM_string_memcpy/144/2/32/iterations:1\n"
-    "BM_string_memcpy/144/4/1/iterations:1\n"
-    "BM_string_memcpy/144/4/2/iterations:1\n"
-    "BM_string_memcpy/144/4/4/iterations:1\n"
-    "BM_string_memcpy/144/4/8/iterations:1\n"
-    "BM_string_memcpy/144/4/16/iterations:1\n"
-    "BM_string_memcpy/144/4/32/iterations:1\n"
-    "BM_string_memcpy/144/8/1/iterations:1\n"
-    "BM_string_memcpy/144/8/2/iterations:1\n"
-    "BM_string_memcpy/144/8/4/iterations:1\n"
-    "BM_string_memcpy/144/8/8/iterations:1\n"
-    "BM_string_memcpy/144/8/16/iterations:1\n"
-    "BM_string_memcpy/144/8/32/iterations:1\n"
-    "BM_string_memcpy/144/16/1/iterations:1\n"
-    "BM_string_memcpy/144/16/2/iterations:1\n"
-    "BM_string_memcpy/144/16/4/iterations:1\n"
-    "BM_string_memcpy/144/16/8/iterations:1\n"
-    "BM_string_memcpy/144/16/16/iterations:1\n"
-    "BM_string_memcpy/144/16/32/iterations:1\n"
-    "BM_string_memcpy/144/32/1/iterations:1\n"
-    "BM_string_memcpy/144/32/2/iterations:1\n"
-    "BM_string_memcpy/144/32/4/iterations:1\n"
-    "BM_string_memcpy/144/32/8/iterations:1\n"
-    "BM_string_memcpy/144/32/16/iterations:1\n"
-    "BM_string_memcpy/144/32/32/iterations:1\n"
-    "BM_string_memcpy/160/0/0/iterations:1\n"
-    "BM_string_memcpy/160/1/1/iterations:1\n"
-    "BM_string_memcpy/160/1/2/iterations:1\n"
-    "BM_string_memcpy/160/1/4/iterations:1\n"
-    "BM_string_memcpy/160/1/8/iterations:1\n"
-    "BM_string_memcpy/160/1/16/iterations:1\n"
-    "BM_string_memcpy/160/1/32/iterations:1\n"
-    "BM_string_memcpy/160/2/1/iterations:1\n"
-    "BM_string_memcpy/160/2/2/iterations:1\n"
-    "BM_string_memcpy/160/2/4/iterations:1\n"
-    "BM_string_memcpy/160/2/8/iterations:1\n"
-    "BM_string_memcpy/160/2/16/iterations:1\n"
-    "BM_string_memcpy/160/2/32/iterations:1\n"
-    "BM_string_memcpy/160/4/1/iterations:1\n"
-    "BM_string_memcpy/160/4/2/iterations:1\n"
-    "BM_string_memcpy/160/4/4/iterations:1\n"
-    "BM_string_memcpy/160/4/8/iterations:1\n"
-    "BM_string_memcpy/160/4/16/iterations:1\n"
-    "BM_string_memcpy/160/4/32/iterations:1\n"
-    "BM_string_memcpy/160/8/1/iterations:1\n"
-    "BM_string_memcpy/160/8/2/iterations:1\n"
-    "BM_string_memcpy/160/8/4/iterations:1\n"
-    "BM_string_memcpy/160/8/8/iterations:1\n"
-    "BM_string_memcpy/160/8/16/iterations:1\n"
-    "BM_string_memcpy/160/8/32/iterations:1\n"
-    "BM_string_memcpy/160/16/1/iterations:1\n"
-    "BM_string_memcpy/160/16/2/iterations:1\n"
-    "BM_string_memcpy/160/16/4/iterations:1\n"
-    "BM_string_memcpy/160/16/8/iterations:1\n"
-    "BM_string_memcpy/160/16/16/iterations:1\n"
-    "BM_string_memcpy/160/16/32/iterations:1\n"
-    "BM_string_memcpy/160/32/1/iterations:1\n"
-    "BM_string_memcpy/160/32/2/iterations:1\n"
-    "BM_string_memcpy/160/32/4/iterations:1\n"
-    "BM_string_memcpy/160/32/8/iterations:1\n"
-    "BM_string_memcpy/160/32/16/iterations:1\n"
-    "BM_string_memcpy/160/32/32/iterations:1\n"
-    "BM_string_memcpy/176/0/0/iterations:1\n"
-    "BM_string_memcpy/176/1/1/iterations:1\n"
-    "BM_string_memcpy/176/1/2/iterations:1\n"
-    "BM_string_memcpy/176/1/4/iterations:1\n"
-    "BM_string_memcpy/176/1/8/iterations:1\n"
-    "BM_string_memcpy/176/1/16/iterations:1\n"
-    "BM_string_memcpy/176/1/32/iterations:1\n"
-    "BM_string_memcpy/176/2/1/iterations:1\n"
-    "BM_string_memcpy/176/2/2/iterations:1\n"
-    "BM_string_memcpy/176/2/4/iterations:1\n"
-    "BM_string_memcpy/176/2/8/iterations:1\n"
-    "BM_string_memcpy/176/2/16/iterations:1\n"
-    "BM_string_memcpy/176/2/32/iterations:1\n"
-    "BM_string_memcpy/176/4/1/iterations:1\n"
-    "BM_string_memcpy/176/4/2/iterations:1\n"
-    "BM_string_memcpy/176/4/4/iterations:1\n"
-    "BM_string_memcpy/176/4/8/iterations:1\n"
-    "BM_string_memcpy/176/4/16/iterations:1\n"
-    "BM_string_memcpy/176/4/32/iterations:1\n"
-    "BM_string_memcpy/176/8/1/iterations:1\n"
-    "BM_string_memcpy/176/8/2/iterations:1\n"
-    "BM_string_memcpy/176/8/4/iterations:1\n"
-    "BM_string_memcpy/176/8/8/iterations:1\n"
-    "BM_string_memcpy/176/8/16/iterations:1\n"
-    "BM_string_memcpy/176/8/32/iterations:1\n"
-    "BM_string_memcpy/176/16/1/iterations:1\n"
-    "BM_string_memcpy/176/16/2/iterations:1\n"
-    "BM_string_memcpy/176/16/4/iterations:1\n"
-    "BM_string_memcpy/176/16/8/iterations:1\n"
-    "BM_string_memcpy/176/16/16/iterations:1\n"
-    "BM_string_memcpy/176/16/32/iterations:1\n"
-    "BM_string_memcpy/176/32/1/iterations:1\n"
-    "BM_string_memcpy/176/32/2/iterations:1\n"
-    "BM_string_memcpy/176/32/4/iterations:1\n"
-    "BM_string_memcpy/176/32/8/iterations:1\n"
-    "BM_string_memcpy/176/32/16/iterations:1\n"
-    "BM_string_memcpy/176/32/32/iterations:1\n"
-    "BM_string_memcpy/192/0/0/iterations:1\n"
-    "BM_string_memcpy/192/1/1/iterations:1\n"
-    "BM_string_memcpy/192/1/2/iterations:1\n"
-    "BM_string_memcpy/192/1/4/iterations:1\n"
-    "BM_string_memcpy/192/1/8/iterations:1\n"
-    "BM_string_memcpy/192/1/16/iterations:1\n"
-    "BM_string_memcpy/192/1/32/iterations:1\n"
-    "BM_string_memcpy/192/2/1/iterations:1\n"
-    "BM_string_memcpy/192/2/2/iterations:1\n"
-    "BM_string_memcpy/192/2/4/iterations:1\n"
-    "BM_string_memcpy/192/2/8/iterations:1\n"
-    "BM_string_memcpy/192/2/16/iterations:1\n"
-    "BM_string_memcpy/192/2/32/iterations:1\n"
-    "BM_string_memcpy/192/4/1/iterations:1\n"
-    "BM_string_memcpy/192/4/2/iterations:1\n"
-    "BM_string_memcpy/192/4/4/iterations:1\n"
-    "BM_string_memcpy/192/4/8/iterations:1\n"
-    "BM_string_memcpy/192/4/16/iterations:1\n"
-    "BM_string_memcpy/192/4/32/iterations:1\n"
-    "BM_string_memcpy/192/8/1/iterations:1\n"
-    "BM_string_memcpy/192/8/2/iterations:1\n"
-    "BM_string_memcpy/192/8/4/iterations:1\n"
-    "BM_string_memcpy/192/8/8/iterations:1\n"
-    "BM_string_memcpy/192/8/16/iterations:1\n"
-    "BM_string_memcpy/192/8/32/iterations:1\n"
-    "BM_string_memcpy/192/16/1/iterations:1\n"
-    "BM_string_memcpy/192/16/2/iterations:1\n"
-    "BM_string_memcpy/192/16/4/iterations:1\n"
-    "BM_string_memcpy/192/16/8/iterations:1\n"
-    "BM_string_memcpy/192/16/16/iterations:1\n"
-    "BM_string_memcpy/192/16/32/iterations:1\n"
-    "BM_string_memcpy/192/32/1/iterations:1\n"
-    "BM_string_memcpy/192/32/2/iterations:1\n"
-    "BM_string_memcpy/192/32/4/iterations:1\n"
-    "BM_string_memcpy/192/32/8/iterations:1\n"
-    "BM_string_memcpy/192/32/16/iterations:1\n"
-    "BM_string_memcpy/192/32/32/iterations:1\n"
-    "BM_string_memcpy/208/0/0/iterations:1\n"
-    "BM_string_memcpy/208/1/1/iterations:1\n"
-    "BM_string_memcpy/208/1/2/iterations:1\n"
-    "BM_string_memcpy/208/1/4/iterations:1\n"
-    "BM_string_memcpy/208/1/8/iterations:1\n"
-    "BM_string_memcpy/208/1/16/iterations:1\n"
-    "BM_string_memcpy/208/1/32/iterations:1\n"
-    "BM_string_memcpy/208/2/1/iterations:1\n"
-    "BM_string_memcpy/208/2/2/iterations:1\n"
-    "BM_string_memcpy/208/2/4/iterations:1\n"
-    "BM_string_memcpy/208/2/8/iterations:1\n"
-    "BM_string_memcpy/208/2/16/iterations:1\n"
-    "BM_string_memcpy/208/2/32/iterations:1\n"
-    "BM_string_memcpy/208/4/1/iterations:1\n"
-    "BM_string_memcpy/208/4/2/iterations:1\n"
-    "BM_string_memcpy/208/4/4/iterations:1\n"
-    "BM_string_memcpy/208/4/8/iterations:1\n"
-    "BM_string_memcpy/208/4/16/iterations:1\n"
-    "BM_string_memcpy/208/4/32/iterations:1\n"
-    "BM_string_memcpy/208/8/1/iterations:1\n"
-    "BM_string_memcpy/208/8/2/iterations:1\n"
-    "BM_string_memcpy/208/8/4/iterations:1\n"
-    "BM_string_memcpy/208/8/8/iterations:1\n"
-    "BM_string_memcpy/208/8/16/iterations:1\n"
-    "BM_string_memcpy/208/8/32/iterations:1\n"
-    "BM_string_memcpy/208/16/1/iterations:1\n"
-    "BM_string_memcpy/208/16/2/iterations:1\n"
-    "BM_string_memcpy/208/16/4/iterations:1\n"
-    "BM_string_memcpy/208/16/8/iterations:1\n"
-    "BM_string_memcpy/208/16/16/iterations:1\n"
-    "BM_string_memcpy/208/16/32/iterations:1\n"
-    "BM_string_memcpy/208/32/1/iterations:1\n"
-    "BM_string_memcpy/208/32/2/iterations:1\n"
-    "BM_string_memcpy/208/32/4/iterations:1\n"
-    "BM_string_memcpy/208/32/8/iterations:1\n"
-    "BM_string_memcpy/208/32/16/iterations:1\n"
-    "BM_string_memcpy/208/32/32/iterations:1\n"
-    "BM_string_memcpy/224/0/0/iterations:1\n"
-    "BM_string_memcpy/224/1/1/iterations:1\n"
-    "BM_string_memcpy/224/1/2/iterations:1\n"
-    "BM_string_memcpy/224/1/4/iterations:1\n"
-    "BM_string_memcpy/224/1/8/iterations:1\n"
-    "BM_string_memcpy/224/1/16/iterations:1\n"
-    "BM_string_memcpy/224/1/32/iterations:1\n"
-    "BM_string_memcpy/224/2/1/iterations:1\n"
-    "BM_string_memcpy/224/2/2/iterations:1\n"
-    "BM_string_memcpy/224/2/4/iterations:1\n"
-    "BM_string_memcpy/224/2/8/iterations:1\n"
-    "BM_string_memcpy/224/2/16/iterations:1\n"
-    "BM_string_memcpy/224/2/32/iterations:1\n"
-    "BM_string_memcpy/224/4/1/iterations:1\n"
-    "BM_string_memcpy/224/4/2/iterations:1\n"
-    "BM_string_memcpy/224/4/4/iterations:1\n"
-    "BM_string_memcpy/224/4/8/iterations:1\n"
-    "BM_string_memcpy/224/4/16/iterations:1\n"
-    "BM_string_memcpy/224/4/32/iterations:1\n"
-    "BM_string_memcpy/224/8/1/iterations:1\n"
-    "BM_string_memcpy/224/8/2/iterations:1\n"
-    "BM_string_memcpy/224/8/4/iterations:1\n"
-    "BM_string_memcpy/224/8/8/iterations:1\n"
-    "BM_string_memcpy/224/8/16/iterations:1\n"
-    "BM_string_memcpy/224/8/32/iterations:1\n"
-    "BM_string_memcpy/224/16/1/iterations:1\n"
-    "BM_string_memcpy/224/16/2/iterations:1\n"
-    "BM_string_memcpy/224/16/4/iterations:1\n"
-    "BM_string_memcpy/224/16/8/iterations:1\n"
-    "BM_string_memcpy/224/16/16/iterations:1\n"
-    "BM_string_memcpy/224/16/32/iterations:1\n"
-    "BM_string_memcpy/224/32/1/iterations:1\n"
-    "BM_string_memcpy/224/32/2/iterations:1\n"
-    "BM_string_memcpy/224/32/4/iterations:1\n"
-    "BM_string_memcpy/224/32/8/iterations:1\n"
-    "BM_string_memcpy/224/32/16/iterations:1\n"
-    "BM_string_memcpy/224/32/32/iterations:1\n"
-    "BM_string_memcpy/240/0/0/iterations:1\n"
-    "BM_string_memcpy/240/1/1/iterations:1\n"
-    "BM_string_memcpy/240/1/2/iterations:1\n"
-    "BM_string_memcpy/240/1/4/iterations:1\n"
-    "BM_string_memcpy/240/1/8/iterations:1\n"
-    "BM_string_memcpy/240/1/16/iterations:1\n"
-    "BM_string_memcpy/240/1/32/iterations:1\n"
-    "BM_string_memcpy/240/2/1/iterations:1\n"
-    "BM_string_memcpy/240/2/2/iterations:1\n"
-    "BM_string_memcpy/240/2/4/iterations:1\n"
-    "BM_string_memcpy/240/2/8/iterations:1\n"
-    "BM_string_memcpy/240/2/16/iterations:1\n"
-    "BM_string_memcpy/240/2/32/iterations:1\n"
-    "BM_string_memcpy/240/4/1/iterations:1\n"
-    "BM_string_memcpy/240/4/2/iterations:1\n"
-    "BM_string_memcpy/240/4/4/iterations:1\n"
-    "BM_string_memcpy/240/4/8/iterations:1\n"
-    "BM_string_memcpy/240/4/16/iterations:1\n"
-    "BM_string_memcpy/240/4/32/iterations:1\n"
-    "BM_string_memcpy/240/8/1/iterations:1\n"
-    "BM_string_memcpy/240/8/2/iterations:1\n"
-    "BM_string_memcpy/240/8/4/iterations:1\n"
-    "BM_string_memcpy/240/8/8/iterations:1\n"
-    "BM_string_memcpy/240/8/16/iterations:1\n"
-    "BM_string_memcpy/240/8/32/iterations:1\n"
-    "BM_string_memcpy/240/16/1/iterations:1\n"
-    "BM_string_memcpy/240/16/2/iterations:1\n"
-    "BM_string_memcpy/240/16/4/iterations:1\n"
-    "BM_string_memcpy/240/16/8/iterations:1\n"
-    "BM_string_memcpy/240/16/16/iterations:1\n"
-    "BM_string_memcpy/240/16/32/iterations:1\n"
-    "BM_string_memcpy/240/32/1/iterations:1\n"
-    "BM_string_memcpy/240/32/2/iterations:1\n"
-    "BM_string_memcpy/240/32/4/iterations:1\n"
-    "BM_string_memcpy/240/32/8/iterations:1\n"
-    "BM_string_memcpy/240/32/16/iterations:1\n"
-    "BM_string_memcpy/240/32/32/iterations:1\n"
-    "BM_string_memcpy/256/0/0/iterations:1\n"
-    "BM_string_memcpy/256/1/1/iterations:1\n"
-    "BM_string_memcpy/256/1/2/iterations:1\n"
-    "BM_string_memcpy/256/1/4/iterations:1\n"
-    "BM_string_memcpy/256/1/8/iterations:1\n"
-    "BM_string_memcpy/256/1/16/iterations:1\n"
-    "BM_string_memcpy/256/1/32/iterations:1\n"
-    "BM_string_memcpy/256/2/1/iterations:1\n"
-    "BM_string_memcpy/256/2/2/iterations:1\n"
-    "BM_string_memcpy/256/2/4/iterations:1\n"
-    "BM_string_memcpy/256/2/8/iterations:1\n"
-    "BM_string_memcpy/256/2/16/iterations:1\n"
-    "BM_string_memcpy/256/2/32/iterations:1\n"
-    "BM_string_memcpy/256/4/1/iterations:1\n"
-    "BM_string_memcpy/256/4/2/iterations:1\n"
-    "BM_string_memcpy/256/4/4/iterations:1\n"
-    "BM_string_memcpy/256/4/8/iterations:1\n"
-    "BM_string_memcpy/256/4/16/iterations:1\n"
-    "BM_string_memcpy/256/4/32/iterations:1\n"
-    "BM_string_memcpy/256/8/1/iterations:1\n"
-    "BM_string_memcpy/256/8/2/iterations:1\n"
-    "BM_string_memcpy/256/8/4/iterations:1\n"
-    "BM_string_memcpy/256/8/8/iterations:1\n"
-    "BM_string_memcpy/256/8/16/iterations:1\n"
-    "BM_string_memcpy/256/8/32/iterations:1\n"
-    "BM_string_memcpy/256/16/1/iterations:1\n"
-    "BM_string_memcpy/256/16/2/iterations:1\n"
-    "BM_string_memcpy/256/16/4/iterations:1\n"
-    "BM_string_memcpy/256/16/8/iterations:1\n"
-    "BM_string_memcpy/256/16/16/iterations:1\n"
-    "BM_string_memcpy/256/16/32/iterations:1\n"
-    "BM_string_memcpy/256/32/1/iterations:1\n"
-    "BM_string_memcpy/256/32/2/iterations:1\n"
-    "BM_string_memcpy/256/32/4/iterations:1\n"
-    "BM_string_memcpy/256/32/8/iterations:1\n"
-    "BM_string_memcpy/256/32/16/iterations:1\n"
-    "BM_string_memcpy/256/32/32/iterations:1\n"
-    "BM_string_memcpy/512/0/0/iterations:1\n"
-    "BM_string_memcpy/512/1/1/iterations:1\n"
-    "BM_string_memcpy/512/1/2/iterations:1\n"
-    "BM_string_memcpy/512/1/4/iterations:1\n"
-    "BM_string_memcpy/512/1/8/iterations:1\n"
-    "BM_string_memcpy/512/1/16/iterations:1\n"
-    "BM_string_memcpy/512/1/32/iterations:1\n"
-    "BM_string_memcpy/512/2/1/iterations:1\n"
-    "BM_string_memcpy/512/2/2/iterations:1\n"
-    "BM_string_memcpy/512/2/4/iterations:1\n"
-    "BM_string_memcpy/512/2/8/iterations:1\n"
-    "BM_string_memcpy/512/2/16/iterations:1\n"
-    "BM_string_memcpy/512/2/32/iterations:1\n"
-    "BM_string_memcpy/512/4/1/iterations:1\n"
-    "BM_string_memcpy/512/4/2/iterations:1\n"
-    "BM_string_memcpy/512/4/4/iterations:1\n"
-    "BM_string_memcpy/512/4/8/iterations:1\n"
-    "BM_string_memcpy/512/4/16/iterations:1\n"
-    "BM_string_memcpy/512/4/32/iterations:1\n"
-    "BM_string_memcpy/512/8/1/iterations:1\n"
-    "BM_string_memcpy/512/8/2/iterations:1\n"
-    "BM_string_memcpy/512/8/4/iterations:1\n"
-    "BM_string_memcpy/512/8/8/iterations:1\n"
-    "BM_string_memcpy/512/8/16/iterations:1\n"
-    "BM_string_memcpy/512/8/32/iterations:1\n"
-    "BM_string_memcpy/512/16/1/iterations:1\n"
-    "BM_string_memcpy/512/16/2/iterations:1\n"
-    "BM_string_memcpy/512/16/4/iterations:1\n"
-    "BM_string_memcpy/512/16/8/iterations:1\n"
-    "BM_string_memcpy/512/16/16/iterations:1\n"
-    "BM_string_memcpy/512/16/32/iterations:1\n"
-    "BM_string_memcpy/512/32/1/iterations:1\n"
-    "BM_string_memcpy/512/32/2/iterations:1\n"
-    "BM_string_memcpy/512/32/4/iterations:1\n"
-    "BM_string_memcpy/512/32/8/iterations:1\n"
-    "BM_string_memcpy/512/32/16/iterations:1\n"
-    "BM_string_memcpy/512/32/32/iterations:1\n"
-    "BM_string_memcpy/1024/0/0/iterations:1\n"
-    "BM_string_memcpy/1024/1/1/iterations:1\n"
-    "BM_string_memcpy/1024/1/2/iterations:1\n"
-    "BM_string_memcpy/1024/1/4/iterations:1\n"
-    "BM_string_memcpy/1024/1/8/iterations:1\n"
-    "BM_string_memcpy/1024/1/16/iterations:1\n"
-    "BM_string_memcpy/1024/1/32/iterations:1\n"
-    "BM_string_memcpy/1024/2/1/iterations:1\n"
-    "BM_string_memcpy/1024/2/2/iterations:1\n"
-    "BM_string_memcpy/1024/2/4/iterations:1\n"
-    "BM_string_memcpy/1024/2/8/iterations:1\n"
-    "BM_string_memcpy/1024/2/16/iterations:1\n"
-    "BM_string_memcpy/1024/2/32/iterations:1\n"
-    "BM_string_memcpy/1024/4/1/iterations:1\n"
-    "BM_string_memcpy/1024/4/2/iterations:1\n"
-    "BM_string_memcpy/1024/4/4/iterations:1\n"
-    "BM_string_memcpy/1024/4/8/iterations:1\n"
-    "BM_string_memcpy/1024/4/16/iterations:1\n"
-    "BM_string_memcpy/1024/4/32/iterations:1\n"
-    "BM_string_memcpy/1024/8/1/iterations:1\n"
-    "BM_string_memcpy/1024/8/2/iterations:1\n"
-    "BM_string_memcpy/1024/8/4/iterations:1\n"
-    "BM_string_memcpy/1024/8/8/iterations:1\n"
-    "BM_string_memcpy/1024/8/16/iterations:1\n"
-    "BM_string_memcpy/1024/8/32/iterations:1\n"
-    "BM_string_memcpy/1024/16/1/iterations:1\n"
-    "BM_string_memcpy/1024/16/2/iterations:1\n"
-    "BM_string_memcpy/1024/16/4/iterations:1\n"
-    "BM_string_memcpy/1024/16/8/iterations:1\n"
-    "BM_string_memcpy/1024/16/16/iterations:1\n"
-    "BM_string_memcpy/1024/16/32/iterations:1\n"
-    "BM_string_memcpy/1024/32/1/iterations:1\n"
-    "BM_string_memcpy/1024/32/2/iterations:1\n"
-    "BM_string_memcpy/1024/32/4/iterations:1\n"
-    "BM_string_memcpy/1024/32/8/iterations:1\n"
-    "BM_string_memcpy/1024/32/16/iterations:1\n"
-    "BM_string_memcpy/1024/32/32/iterations:1\n"
-    "BM_string_memcpy/8192/0/0/iterations:1\n"
-    "BM_string_memcpy/8192/1/1/iterations:1\n"
-    "BM_string_memcpy/8192/1/2/iterations:1\n"
-    "BM_string_memcpy/8192/1/4/iterations:1\n"
-    "BM_string_memcpy/8192/1/8/iterations:1\n"
-    "BM_string_memcpy/8192/1/16/iterations:1\n"
-    "BM_string_memcpy/8192/1/32/iterations:1\n"
-    "BM_string_memcpy/8192/2/1/iterations:1\n"
-    "BM_string_memcpy/8192/2/2/iterations:1\n"
-    "BM_string_memcpy/8192/2/4/iterations:1\n"
-    "BM_string_memcpy/8192/2/8/iterations:1\n"
-    "BM_string_memcpy/8192/2/16/iterations:1\n"
-    "BM_string_memcpy/8192/2/32/iterations:1\n"
-    "BM_string_memcpy/8192/4/1/iterations:1\n"
-    "BM_string_memcpy/8192/4/2/iterations:1\n"
-    "BM_string_memcpy/8192/4/4/iterations:1\n"
-    "BM_string_memcpy/8192/4/8/iterations:1\n"
-    "BM_string_memcpy/8192/4/16/iterations:1\n"
-    "BM_string_memcpy/8192/4/32/iterations:1\n"
-    "BM_string_memcpy/8192/8/1/iterations:1\n"
-    "BM_string_memcpy/8192/8/2/iterations:1\n"
-    "BM_string_memcpy/8192/8/4/iterations:1\n"
-    "BM_string_memcpy/8192/8/8/iterations:1\n"
-    "BM_string_memcpy/8192/8/16/iterations:1\n"
-    "BM_string_memcpy/8192/8/32/iterations:1\n"
-    "BM_string_memcpy/8192/16/1/iterations:1\n"
-    "BM_string_memcpy/8192/16/2/iterations:1\n"
-    "BM_string_memcpy/8192/16/4/iterations:1\n"
-    "BM_string_memcpy/8192/16/8/iterations:1\n"
-    "BM_string_memcpy/8192/16/16/iterations:1\n"
-    "BM_string_memcpy/8192/16/32/iterations:1\n"
-    "BM_string_memcpy/8192/32/1/iterations:1\n"
-    "BM_string_memcpy/8192/32/2/iterations:1\n"
-    "BM_string_memcpy/8192/32/4/iterations:1\n"
-    "BM_string_memcpy/8192/32/8/iterations:1\n"
-    "BM_string_memcpy/8192/32/16/iterations:1\n"
-    "BM_string_memcpy/8192/32/32/iterations:1\n"
-    "BM_string_memcpy/16384/0/0/iterations:1\n"
-    "BM_string_memcpy/16384/1/1/iterations:1\n"
-    "BM_string_memcpy/16384/1/2/iterations:1\n"
-    "BM_string_memcpy/16384/1/4/iterations:1\n"
-    "BM_string_memcpy/16384/1/8/iterations:1\n"
-    "BM_string_memcpy/16384/1/16/iterations:1\n"
-    "BM_string_memcpy/16384/1/32/iterations:1\n"
-    "BM_string_memcpy/16384/2/1/iterations:1\n"
-    "BM_string_memcpy/16384/2/2/iterations:1\n"
-    "BM_string_memcpy/16384/2/4/iterations:1\n"
-    "BM_string_memcpy/16384/2/8/iterations:1\n"
-    "BM_string_memcpy/16384/2/16/iterations:1\n"
-    "BM_string_memcpy/16384/2/32/iterations:1\n"
-    "BM_string_memcpy/16384/4/1/iterations:1\n"
-    "BM_string_memcpy/16384/4/2/iterations:1\n"
-    "BM_string_memcpy/16384/4/4/iterations:1\n"
-    "BM_string_memcpy/16384/4/8/iterations:1\n"
-    "BM_string_memcpy/16384/4/16/iterations:1\n"
-    "BM_string_memcpy/16384/4/32/iterations:1\n"
-    "BM_string_memcpy/16384/8/1/iterations:1\n"
-    "BM_string_memcpy/16384/8/2/iterations:1\n"
-    "BM_string_memcpy/16384/8/4/iterations:1\n"
-    "BM_string_memcpy/16384/8/8/iterations:1\n"
-    "BM_string_memcpy/16384/8/16/iterations:1\n"
-    "BM_string_memcpy/16384/8/32/iterations:1\n"
-    "BM_string_memcpy/16384/16/1/iterations:1\n"
-    "BM_string_memcpy/16384/16/2/iterations:1\n"
-    "BM_string_memcpy/16384/16/4/iterations:1\n"
-    "BM_string_memcpy/16384/16/8/iterations:1\n"
-    "BM_string_memcpy/16384/16/16/iterations:1\n"
-    "BM_string_memcpy/16384/16/32/iterations:1\n"
-    "BM_string_memcpy/16384/32/1/iterations:1\n"
-    "BM_string_memcpy/16384/32/2/iterations:1\n"
-    "BM_string_memcpy/16384/32/4/iterations:1\n"
-    "BM_string_memcpy/16384/32/8/iterations:1\n"
-    "BM_string_memcpy/16384/32/16/iterations:1\n"
-    "BM_string_memcpy/16384/32/32/iterations:1\n"
-    "BM_string_memcpy/32768/0/0/iterations:1\n"
-    "BM_string_memcpy/32768/1/1/iterations:1\n"
-    "BM_string_memcpy/32768/1/2/iterations:1\n"
-    "BM_string_memcpy/32768/1/4/iterations:1\n"
-    "BM_string_memcpy/32768/1/8/iterations:1\n"
-    "BM_string_memcpy/32768/1/16/iterations:1\n"
-    "BM_string_memcpy/32768/1/32/iterations:1\n"
-    "BM_string_memcpy/32768/2/1/iterations:1\n"
-    "BM_string_memcpy/32768/2/2/iterations:1\n"
-    "BM_string_memcpy/32768/2/4/iterations:1\n"
-    "BM_string_memcpy/32768/2/8/iterations:1\n"
-    "BM_string_memcpy/32768/2/16/iterations:1\n"
-    "BM_string_memcpy/32768/2/32/iterations:1\n"
-    "BM_string_memcpy/32768/4/1/iterations:1\n"
-    "BM_string_memcpy/32768/4/2/iterations:1\n"
-    "BM_string_memcpy/32768/4/4/iterations:1\n"
-    "BM_string_memcpy/32768/4/8/iterations:1\n"
-    "BM_string_memcpy/32768/4/16/iterations:1\n"
-    "BM_string_memcpy/32768/4/32/iterations:1\n"
-    "BM_string_memcpy/32768/8/1/iterations:1\n"
-    "BM_string_memcpy/32768/8/2/iterations:1\n"
-    "BM_string_memcpy/32768/8/4/iterations:1\n"
-    "BM_string_memcpy/32768/8/8/iterations:1\n"
-    "BM_string_memcpy/32768/8/16/iterations:1\n"
-    "BM_string_memcpy/32768/8/32/iterations:1\n"
-    "BM_string_memcpy/32768/16/1/iterations:1\n"
-    "BM_string_memcpy/32768/16/2/iterations:1\n"
-    "BM_string_memcpy/32768/16/4/iterations:1\n"
-    "BM_string_memcpy/32768/16/8/iterations:1\n"
-    "BM_string_memcpy/32768/16/16/iterations:1\n"
-    "BM_string_memcpy/32768/16/32/iterations:1\n"
-    "BM_string_memcpy/32768/32/1/iterations:1\n"
-    "BM_string_memcpy/32768/32/2/iterations:1\n"
-    "BM_string_memcpy/32768/32/4/iterations:1\n"
-    "BM_string_memcpy/32768/32/8/iterations:1\n"
-    "BM_string_memcpy/32768/32/16/iterations:1\n"
-    "BM_string_memcpy/32768/32/32/iterations:1\n"
-    "BM_string_memcpy/65536/0/0/iterations:1\n"
-    "BM_string_memcpy/65536/1/1/iterations:1\n"
-    "BM_string_memcpy/65536/1/2/iterations:1\n"
-    "BM_string_memcpy/65536/1/4/iterations:1\n"
-    "BM_string_memcpy/65536/1/8/iterations:1\n"
-    "BM_string_memcpy/65536/1/16/iterations:1\n"
-    "BM_string_memcpy/65536/1/32/iterations:1\n"
-    "BM_string_memcpy/65536/2/1/iterations:1\n"
-    "BM_string_memcpy/65536/2/2/iterations:1\n"
-    "BM_string_memcpy/65536/2/4/iterations:1\n"
-    "BM_string_memcpy/65536/2/8/iterations:1\n"
-    "BM_string_memcpy/65536/2/16/iterations:1\n"
-    "BM_string_memcpy/65536/2/32/iterations:1\n"
-    "BM_string_memcpy/65536/4/1/iterations:1\n"
-    "BM_string_memcpy/65536/4/2/iterations:1\n"
-    "BM_string_memcpy/65536/4/4/iterations:1\n"
-    "BM_string_memcpy/65536/4/8/iterations:1\n"
-    "BM_string_memcpy/65536/4/16/iterations:1\n"
-    "BM_string_memcpy/65536/4/32/iterations:1\n"
-    "BM_string_memcpy/65536/8/1/iterations:1\n"
-    "BM_string_memcpy/65536/8/2/iterations:1\n"
-    "BM_string_memcpy/65536/8/4/iterations:1\n"
-    "BM_string_memcpy/65536/8/8/iterations:1\n"
-    "BM_string_memcpy/65536/8/16/iterations:1\n"
-    "BM_string_memcpy/65536/8/32/iterations:1\n"
-    "BM_string_memcpy/65536/16/1/iterations:1\n"
-    "BM_string_memcpy/65536/16/2/iterations:1\n"
-    "BM_string_memcpy/65536/16/4/iterations:1\n"
-    "BM_string_memcpy/65536/16/8/iterations:1\n"
-    "BM_string_memcpy/65536/16/16/iterations:1\n"
-    "BM_string_memcpy/65536/16/32/iterations:1\n"
-    "BM_string_memcpy/65536/32/1/iterations:1\n"
-    "BM_string_memcpy/65536/32/2/iterations:1\n"
-    "BM_string_memcpy/65536/32/4/iterations:1\n"
-    "BM_string_memcpy/65536/32/8/iterations:1\n"
-    "BM_string_memcpy/65536/32/16/iterations:1\n"
-    "BM_string_memcpy/65536/32/32/iterations:1\n"
-    "BM_string_memcpy/131072/0/0/iterations:1\n"
-    "BM_string_memcpy/131072/1/1/iterations:1\n"
-    "BM_string_memcpy/131072/1/2/iterations:1\n"
-    "BM_string_memcpy/131072/1/4/iterations:1\n"
-    "BM_string_memcpy/131072/1/8/iterations:1\n"
-    "BM_string_memcpy/131072/1/16/iterations:1\n"
-    "BM_string_memcpy/131072/1/32/iterations:1\n"
-    "BM_string_memcpy/131072/2/1/iterations:1\n"
-    "BM_string_memcpy/131072/2/2/iterations:1\n"
-    "BM_string_memcpy/131072/2/4/iterations:1\n"
-    "BM_string_memcpy/131072/2/8/iterations:1\n"
-    "BM_string_memcpy/131072/2/16/iterations:1\n"
-    "BM_string_memcpy/131072/2/32/iterations:1\n"
-    "BM_string_memcpy/131072/4/1/iterations:1\n"
-    "BM_string_memcpy/131072/4/2/iterations:1\n"
-    "BM_string_memcpy/131072/4/4/iterations:1\n"
-    "BM_string_memcpy/131072/4/8/iterations:1\n"
-    "BM_string_memcpy/131072/4/16/iterations:1\n"
-    "BM_string_memcpy/131072/4/32/iterations:1\n"
-    "BM_string_memcpy/131072/8/1/iterations:1\n"
-    "BM_string_memcpy/131072/8/2/iterations:1\n"
-    "BM_string_memcpy/131072/8/4/iterations:1\n"
-    "BM_string_memcpy/131072/8/8/iterations:1\n"
-    "BM_string_memcpy/131072/8/16/iterations:1\n"
-    "BM_string_memcpy/131072/8/32/iterations:1\n"
-    "BM_string_memcpy/131072/16/1/iterations:1\n"
-    "BM_string_memcpy/131072/16/2/iterations:1\n"
-    "BM_string_memcpy/131072/16/4/iterations:1\n"
-    "BM_string_memcpy/131072/16/8/iterations:1\n"
-    "BM_string_memcpy/131072/16/16/iterations:1\n"
-    "BM_string_memcpy/131072/16/32/iterations:1\n"
-    "BM_string_memcpy/131072/32/1/iterations:1\n"
-    "BM_string_memcpy/131072/32/2/iterations:1\n"
-    "BM_string_memcpy/131072/32/4/iterations:1\n"
-    "BM_string_memcpy/131072/32/8/iterations:1\n"
-    "BM_string_memcpy/131072/32/16/iterations:1\n"
-    "BM_string_memcpy/131072/32/32/iterations:1\n"
-    "BM_string_memcpy/262144/0/0/iterations:1\n"
-    "BM_string_memcpy/262144/1/1/iterations:1\n"
-    "BM_string_memcpy/262144/1/2/iterations:1\n"
-    "BM_string_memcpy/262144/1/4/iterations:1\n"
-    "BM_string_memcpy/262144/1/8/iterations:1\n"
-    "BM_string_memcpy/262144/1/16/iterations:1\n"
-    "BM_string_memcpy/262144/1/32/iterations:1\n"
-    "BM_string_memcpy/262144/2/1/iterations:1\n"
-    "BM_string_memcpy/262144/2/2/iterations:1\n"
-    "BM_string_memcpy/262144/2/4/iterations:1\n"
-    "BM_string_memcpy/262144/2/8/iterations:1\n"
-    "BM_string_memcpy/262144/2/16/iterations:1\n"
-    "BM_string_memcpy/262144/2/32/iterations:1\n"
-    "BM_string_memcpy/262144/4/1/iterations:1\n"
-    "BM_string_memcpy/262144/4/2/iterations:1\n"
-    "BM_string_memcpy/262144/4/4/iterations:1\n"
-    "BM_string_memcpy/262144/4/8/iterations:1\n"
-    "BM_string_memcpy/262144/4/16/iterations:1\n"
-    "BM_string_memcpy/262144/4/32/iterations:1\n"
-    "BM_string_memcpy/262144/8/1/iterations:1\n"
-    "BM_string_memcpy/262144/8/2/iterations:1\n"
-    "BM_string_memcpy/262144/8/4/iterations:1\n"
-    "BM_string_memcpy/262144/8/8/iterations:1\n"
-    "BM_string_memcpy/262144/8/16/iterations:1\n"
-    "BM_string_memcpy/262144/8/32/iterations:1\n"
-    "BM_string_memcpy/262144/16/1/iterations:1\n"
-    "BM_string_memcpy/262144/16/2/iterations:1\n"
-    "BM_string_memcpy/262144/16/4/iterations:1\n"
-    "BM_string_memcpy/262144/16/8/iterations:1\n"
-    "BM_string_memcpy/262144/16/16/iterations:1\n"
-    "BM_string_memcpy/262144/16/32/iterations:1\n"
-    "BM_string_memcpy/262144/32/1/iterations:1\n"
-    "BM_string_memcpy/262144/32/2/iterations:1\n"
-    "BM_string_memcpy/262144/32/4/iterations:1\n"
-    "BM_string_memcpy/262144/32/8/iterations:1\n"
-    "BM_string_memcpy/262144/32/16/iterations:1\n"
-    "BM_string_memcpy/262144/32/32/iterations:1\n"
-    "BM_string_memcpy/524288/0/0/iterations:1\n"
-    "BM_string_memcpy/524288/1/1/iterations:1\n"
-    "BM_string_memcpy/524288/1/2/iterations:1\n"
-    "BM_string_memcpy/524288/1/4/iterations:1\n"
-    "BM_string_memcpy/524288/1/8/iterations:1\n"
-    "BM_string_memcpy/524288/1/16/iterations:1\n"
-    "BM_string_memcpy/524288/1/32/iterations:1\n"
-    "BM_string_memcpy/524288/2/1/iterations:1\n"
-    "BM_string_memcpy/524288/2/2/iterations:1\n"
-    "BM_string_memcpy/524288/2/4/iterations:1\n"
-    "BM_string_memcpy/524288/2/8/iterations:1\n"
-    "BM_string_memcpy/524288/2/16/iterations:1\n"
-    "BM_string_memcpy/524288/2/32/iterations:1\n"
-    "BM_string_memcpy/524288/4/1/iterations:1\n"
-    "BM_string_memcpy/524288/4/2/iterations:1\n"
-    "BM_string_memcpy/524288/4/4/iterations:1\n"
-    "BM_string_memcpy/524288/4/8/iterations:1\n"
-    "BM_string_memcpy/524288/4/16/iterations:1\n"
-    "BM_string_memcpy/524288/4/32/iterations:1\n"
-    "BM_string_memcpy/524288/8/1/iterations:1\n"
-    "BM_string_memcpy/524288/8/2/iterations:1\n"
-    "BM_string_memcpy/524288/8/4/iterations:1\n"
-    "BM_string_memcpy/524288/8/8/iterations:1\n"
-    "BM_string_memcpy/524288/8/16/iterations:1\n"
-    "BM_string_memcpy/524288/8/32/iterations:1\n"
-    "BM_string_memcpy/524288/16/1/iterations:1\n"
-    "BM_string_memcpy/524288/16/2/iterations:1\n"
-    "BM_string_memcpy/524288/16/4/iterations:1\n"
-    "BM_string_memcpy/524288/16/8/iterations:1\n"
-    "BM_string_memcpy/524288/16/16/iterations:1\n"
-    "BM_string_memcpy/524288/16/32/iterations:1\n"
-    "BM_string_memcpy/524288/32/1/iterations:1\n"
-    "BM_string_memcpy/524288/32/2/iterations:1\n"
-    "BM_string_memcpy/524288/32/4/iterations:1\n"
-    "BM_string_memcpy/524288/32/8/iterations:1\n"
-    "BM_string_memcpy/524288/32/16/iterations:1\n"
-    "BM_string_memcpy/524288/32/32/iterations:1\n"
-    "BM_string_memcpy/1048576/0/0/iterations:1\n"
-    "BM_string_memcpy/1048576/1/1/iterations:1\n"
-    "BM_string_memcpy/1048576/1/2/iterations:1\n"
-    "BM_string_memcpy/1048576/1/4/iterations:1\n"
-    "BM_string_memcpy/1048576/1/8/iterations:1\n"
-    "BM_string_memcpy/1048576/1/16/iterations:1\n"
-    "BM_string_memcpy/1048576/1/32/iterations:1\n"
-    "BM_string_memcpy/1048576/2/1/iterations:1\n"
-    "BM_string_memcpy/1048576/2/2/iterations:1\n"
-    "BM_string_memcpy/1048576/2/4/iterations:1\n"
-    "BM_string_memcpy/1048576/2/8/iterations:1\n"
-    "BM_string_memcpy/1048576/2/16/iterations:1\n"
-    "BM_string_memcpy/1048576/2/32/iterations:1\n"
-    "BM_string_memcpy/1048576/4/1/iterations:1\n"
-    "BM_string_memcpy/1048576/4/2/iterations:1\n"
-    "BM_string_memcpy/1048576/4/4/iterations:1\n"
-    "BM_string_memcpy/1048576/4/8/iterations:1\n"
-    "BM_string_memcpy/1048576/4/16/iterations:1\n"
-    "BM_string_memcpy/1048576/4/32/iterations:1\n"
-    "BM_string_memcpy/1048576/8/1/iterations:1\n"
-    "BM_string_memcpy/1048576/8/2/iterations:1\n"
-    "BM_string_memcpy/1048576/8/4/iterations:1\n"
-    "BM_string_memcpy/1048576/8/8/iterations:1\n"
-    "BM_string_memcpy/1048576/8/16/iterations:1\n"
-    "BM_string_memcpy/1048576/8/32/iterations:1\n"
-    "BM_string_memcpy/1048576/16/1/iterations:1\n"
-    "BM_string_memcpy/1048576/16/2/iterations:1\n"
-    "BM_string_memcpy/1048576/16/4/iterations:1\n"
-    "BM_string_memcpy/1048576/16/8/iterations:1\n"
-    "BM_string_memcpy/1048576/16/16/iterations:1\n"
-    "BM_string_memcpy/1048576/16/32/iterations:1\n"
-    "BM_string_memcpy/1048576/32/1/iterations:1\n"
-    "BM_string_memcpy/1048576/32/2/iterations:1\n"
-    "BM_string_memcpy/1048576/32/4/iterations:1\n"
-    "BM_string_memcpy/1048576/32/8/iterations:1\n"
-    "BM_string_memcpy/1048576/32/16/iterations:1\n"
-    "BM_string_memcpy/1048576/32/32/iterations:1\n"
-    "BM_string_memcpy/2097152/0/0/iterations:1\n"
-    "BM_string_memcpy/2097152/1/1/iterations:1\n"
-    "BM_string_memcpy/2097152/1/2/iterations:1\n"
-    "BM_string_memcpy/2097152/1/4/iterations:1\n"
-    "BM_string_memcpy/2097152/1/8/iterations:1\n"
-    "BM_string_memcpy/2097152/1/16/iterations:1\n"
-    "BM_string_memcpy/2097152/1/32/iterations:1\n"
-    "BM_string_memcpy/2097152/2/1/iterations:1\n"
-    "BM_string_memcpy/2097152/2/2/iterations:1\n"
-    "BM_string_memcpy/2097152/2/4/iterations:1\n"
-    "BM_string_memcpy/2097152/2/8/iterations:1\n"
-    "BM_string_memcpy/2097152/2/16/iterations:1\n"
-    "BM_string_memcpy/2097152/2/32/iterations:1\n"
-    "BM_string_memcpy/2097152/4/1/iterations:1\n"
-    "BM_string_memcpy/2097152/4/2/iterations:1\n"
-    "BM_string_memcpy/2097152/4/4/iterations:1\n"
-    "BM_string_memcpy/2097152/4/8/iterations:1\n"
-    "BM_string_memcpy/2097152/4/16/iterations:1\n"
-    "BM_string_memcpy/2097152/4/32/iterations:1\n"
-    "BM_string_memcpy/2097152/8/1/iterations:1\n"
-    "BM_string_memcpy/2097152/8/2/iterations:1\n"
-    "BM_string_memcpy/2097152/8/4/iterations:1\n"
-    "BM_string_memcpy/2097152/8/8/iterations:1\n"
-    "BM_string_memcpy/2097152/8/16/iterations:1\n"
-    "BM_string_memcpy/2097152/8/32/iterations:1\n"
-    "BM_string_memcpy/2097152/16/1/iterations:1\n"
-    "BM_string_memcpy/2097152/16/2/iterations:1\n"
-    "BM_string_memcpy/2097152/16/4/iterations:1\n"
-    "BM_string_memcpy/2097152/16/8/iterations:1\n"
-    "BM_string_memcpy/2097152/16/16/iterations:1\n"
-    "BM_string_memcpy/2097152/16/32/iterations:1\n"
-    "BM_string_memcpy/2097152/32/1/iterations:1\n"
-    "BM_string_memcpy/2097152/32/2/iterations:1\n"
-    "BM_string_memcpy/2097152/32/4/iterations:1\n"
-    "BM_string_memcpy/2097152/32/8/iterations:1\n"
-    "BM_string_memcpy/2097152/32/16/iterations:1\n"
-    "BM_string_memcpy/2097152/32/32/iterations:1\n";
+      "BM_string_strcpy/8/0/0/iterations:1\n"
+      "BM_string_strcpy/16/0/0/iterations:1\n"
+      "BM_string_strcpy/32/0/0/iterations:1\n"
+      "BM_string_strcpy/64/0/0/iterations:1\n"
+      "BM_string_strcpy/512/0/0/iterations:1\n"
+      "BM_string_strcpy/1024/0/0/iterations:1\n"
+      "BM_string_strcpy/8192/0/0/iterations:1\n"
+      "BM_string_strcpy/16384/0/0/iterations:1\n"
+      "BM_string_strcpy/32768/0/0/iterations:1\n"
+      "BM_string_strcpy/65536/0/0/iterations:1\n"
+      "BM_string_strcpy/131072/0/0/iterations:1\n"
+      "BM_string_memcpy/1/0/0/iterations:1\n"
+      "BM_string_memcpy/2/0/0/iterations:1\n"
+      "BM_string_memcpy/3/0/0/iterations:1\n"
+      "BM_string_memcpy/4/0/0/iterations:1\n"
+      "BM_string_memcpy/5/0/0/iterations:1\n"
+      "BM_string_memcpy/6/0/0/iterations:1\n"
+      "BM_string_memcpy/7/0/0/iterations:1\n"
+      "BM_string_memcpy/8/0/0/iterations:1\n"
+      "BM_string_memcpy/9/0/0/iterations:1\n"
+      "BM_string_memcpy/10/0/0/iterations:1\n"
+      "BM_string_memcpy/11/0/0/iterations:1\n"
+      "BM_string_memcpy/12/0/0/iterations:1\n"
+      "BM_string_memcpy/13/0/0/iterations:1\n"
+      "BM_string_memcpy/14/0/0/iterations:1\n"
+      "BM_string_memcpy/15/0/0/iterations:1\n"
+      "BM_string_memcpy/16/0/0/iterations:1\n"
+      "BM_string_memcpy/24/0/0/iterations:1\n"
+      "BM_string_memcpy/32/0/0/iterations:1\n"
+      "BM_string_memcpy/40/0/0/iterations:1\n"
+      "BM_string_memcpy/48/0/0/iterations:1\n"
+      "BM_string_memcpy/56/0/0/iterations:1\n"
+      "BM_string_memcpy/64/0/0/iterations:1\n"
+      "BM_string_memcpy/72/0/0/iterations:1\n"
+      "BM_string_memcpy/80/0/0/iterations:1\n"
+      "BM_string_memcpy/88/0/0/iterations:1\n"
+      "BM_string_memcpy/96/0/0/iterations:1\n"
+      "BM_string_memcpy/104/0/0/iterations:1\n"
+      "BM_string_memcpy/112/0/0/iterations:1\n"
+      "BM_string_memcpy/120/0/0/iterations:1\n"
+      "BM_string_memcpy/128/0/0/iterations:1\n"
+      "BM_string_memcpy/136/0/0/iterations:1\n"
+      "BM_string_memcpy/144/0/0/iterations:1\n"
+      "BM_string_memcpy/160/0/0/iterations:1\n"
+      "BM_string_memcpy/176/0/0/iterations:1\n"
+      "BM_string_memcpy/192/0/0/iterations:1\n"
+      "BM_string_memcpy/208/0/0/iterations:1\n"
+      "BM_string_memcpy/224/0/0/iterations:1\n"
+      "BM_string_memcpy/240/0/0/iterations:1\n"
+      "BM_string_memcpy/256/0/0/iterations:1\n"
+      "BM_string_strcpy/512/0/0/iterations:1\n"
+      "BM_string_strcpy/1024/0/0/iterations:1\n"
+      "BM_string_strcpy/8192/0/0/iterations:1\n"
+      "BM_string_strcpy/16384/0/0/iterations:1\n"
+      "BM_string_strcpy/32768/0/0/iterations:1\n"
+      "BM_string_strcpy/65536/0/0/iterations:1\n"
+      "BM_string_strcpy/131072/0/0/iterations:1\n"
+      "BM_string_memcpy/262144/0/0/iterations:1\n"
+      "BM_string_memcpy/524288/0/0/iterations:1\n"
+      "BM_string_memcpy/1048576/0/0/iterations:1\n"
+      "BM_string_memcpy/2097152/0/0/iterations:1\n"
+      "BM_string_strcpy/1/0/0/iterations:1\n"
+      "BM_string_strcpy/2/0/0/iterations:1\n"
+      "BM_string_strcpy/3/0/0/iterations:1\n"
+      "BM_string_strcpy/4/0/0/iterations:1\n"
+      "BM_string_strcpy/5/0/0/iterations:1\n"
+      "BM_string_strcpy/6/0/0/iterations:1\n"
+      "BM_string_strcpy/7/0/0/iterations:1\n"
+      "BM_string_strcpy/8/0/0/iterations:1\n"
+      "BM_string_strcpy/9/0/0/iterations:1\n"
+      "BM_string_strcpy/10/0/0/iterations:1\n"
+      "BM_string_strcpy/11/0/0/iterations:1\n"
+      "BM_string_strcpy/12/0/0/iterations:1\n"
+      "BM_string_strcpy/13/0/0/iterations:1\n"
+      "BM_string_strcpy/14/0/0/iterations:1\n"
+      "BM_string_strcpy/15/0/0/iterations:1\n"
+      "BM_string_strcpy/16/0/0/iterations:1\n"
+      "BM_string_strcpy/24/0/0/iterations:1\n"
+      "BM_string_strcpy/32/0/0/iterations:1\n"
+      "BM_string_strcpy/40/0/0/iterations:1\n"
+      "BM_string_strcpy/48/0/0/iterations:1\n"
+      "BM_string_strcpy/56/0/0/iterations:1\n"
+      "BM_string_strcpy/64/0/0/iterations:1\n"
+      "BM_string_strcpy/72/0/0/iterations:1\n"
+      "BM_string_strcpy/80/0/0/iterations:1\n"
+      "BM_string_strcpy/88/0/0/iterations:1\n"
+      "BM_string_strcpy/96/0/0/iterations:1\n"
+      "BM_string_strcpy/104/0/0/iterations:1\n"
+      "BM_string_strcpy/112/0/0/iterations:1\n"
+      "BM_string_strcpy/120/0/0/iterations:1\n"
+      "BM_string_strcpy/128/0/0/iterations:1\n"
+      "BM_string_strcpy/136/0/0/iterations:1\n"
+      "BM_string_strcpy/144/0/0/iterations:1\n"
+      "BM_string_strcpy/160/0/0/iterations:1\n"
+      "BM_string_strcpy/176/0/0/iterations:1\n"
+      "BM_string_strcpy/192/0/0/iterations:1\n"
+      "BM_string_strcpy/208/0/0/iterations:1\n"
+      "BM_string_strcpy/224/0/0/iterations:1\n"
+      "BM_string_strcpy/240/0/0/iterations:1\n"
+      "BM_string_strcpy/256/0/0/iterations:1\n"
+      "BM_string_strcpy/512/0/0/iterations:1\n"
+      "BM_string_strcpy/1024/0/0/iterations:1\n"
+      "BM_string_strcpy/8192/0/0/iterations:1\n"
+      "BM_string_strcpy/16384/0/0/iterations:1\n"
+      "BM_string_strcpy/32768/0/0/iterations:1\n"
+      "BM_string_strcpy/65536/0/0/iterations:1\n"
+      "BM_string_strcpy/131072/0/0/iterations:1\n"
+      "BM_string_strcpy/262144/0/0/iterations:1\n"
+      "BM_string_strcpy/524288/0/0/iterations:1\n"
+      "BM_string_strcpy/1048576/0/0/iterations:1\n"
+      "BM_string_strcpy/2097152/0/0/iterations:1\n"
+      "BM_string_memcpy/1/0/0/iterations:1\n"
+      "BM_string_memcpy/1/1/1/iterations:1\n"
+      "BM_string_memcpy/1/1/2/iterations:1\n"
+      "BM_string_memcpy/1/1/4/iterations:1\n"
+      "BM_string_memcpy/1/1/8/iterations:1\n"
+      "BM_string_memcpy/1/1/16/iterations:1\n"
+      "BM_string_memcpy/1/1/32/iterations:1\n"
+      "BM_string_memcpy/1/2/1/iterations:1\n"
+      "BM_string_memcpy/1/2/2/iterations:1\n"
+      "BM_string_memcpy/1/2/4/iterations:1\n"
+      "BM_string_memcpy/1/2/8/iterations:1\n"
+      "BM_string_memcpy/1/2/16/iterations:1\n"
+      "BM_string_memcpy/1/2/32/iterations:1\n"
+      "BM_string_memcpy/1/4/1/iterations:1\n"
+      "BM_string_memcpy/1/4/2/iterations:1\n"
+      "BM_string_memcpy/1/4/4/iterations:1\n"
+      "BM_string_memcpy/1/4/8/iterations:1\n"
+      "BM_string_memcpy/1/4/16/iterations:1\n"
+      "BM_string_memcpy/1/4/32/iterations:1\n"
+      "BM_string_memcpy/1/8/1/iterations:1\n"
+      "BM_string_memcpy/1/8/2/iterations:1\n"
+      "BM_string_memcpy/1/8/4/iterations:1\n"
+      "BM_string_memcpy/1/8/8/iterations:1\n"
+      "BM_string_memcpy/1/8/16/iterations:1\n"
+      "BM_string_memcpy/1/8/32/iterations:1\n"
+      "BM_string_memcpy/1/16/1/iterations:1\n"
+      "BM_string_memcpy/1/16/2/iterations:1\n"
+      "BM_string_memcpy/1/16/4/iterations:1\n"
+      "BM_string_memcpy/1/16/8/iterations:1\n"
+      "BM_string_memcpy/1/16/16/iterations:1\n"
+      "BM_string_memcpy/1/16/32/iterations:1\n"
+      "BM_string_memcpy/1/32/1/iterations:1\n"
+      "BM_string_memcpy/1/32/2/iterations:1\n"
+      "BM_string_memcpy/1/32/4/iterations:1\n"
+      "BM_string_memcpy/1/32/8/iterations:1\n"
+      "BM_string_memcpy/1/32/16/iterations:1\n"
+      "BM_string_memcpy/1/32/32/iterations:1\n"
+      "BM_string_memcpy/2/0/0/iterations:1\n"
+      "BM_string_memcpy/2/1/1/iterations:1\n"
+      "BM_string_memcpy/2/1/2/iterations:1\n"
+      "BM_string_memcpy/2/1/4/iterations:1\n"
+      "BM_string_memcpy/2/1/8/iterations:1\n"
+      "BM_string_memcpy/2/1/16/iterations:1\n"
+      "BM_string_memcpy/2/1/32/iterations:1\n"
+      "BM_string_memcpy/2/2/1/iterations:1\n"
+      "BM_string_memcpy/2/2/2/iterations:1\n"
+      "BM_string_memcpy/2/2/4/iterations:1\n"
+      "BM_string_memcpy/2/2/8/iterations:1\n"
+      "BM_string_memcpy/2/2/16/iterations:1\n"
+      "BM_string_memcpy/2/2/32/iterations:1\n"
+      "BM_string_memcpy/2/4/1/iterations:1\n"
+      "BM_string_memcpy/2/4/2/iterations:1\n"
+      "BM_string_memcpy/2/4/4/iterations:1\n"
+      "BM_string_memcpy/2/4/8/iterations:1\n"
+      "BM_string_memcpy/2/4/16/iterations:1\n"
+      "BM_string_memcpy/2/4/32/iterations:1\n"
+      "BM_string_memcpy/2/8/1/iterations:1\n"
+      "BM_string_memcpy/2/8/2/iterations:1\n"
+      "BM_string_memcpy/2/8/4/iterations:1\n"
+      "BM_string_memcpy/2/8/8/iterations:1\n"
+      "BM_string_memcpy/2/8/16/iterations:1\n"
+      "BM_string_memcpy/2/8/32/iterations:1\n"
+      "BM_string_memcpy/2/16/1/iterations:1\n"
+      "BM_string_memcpy/2/16/2/iterations:1\n"
+      "BM_string_memcpy/2/16/4/iterations:1\n"
+      "BM_string_memcpy/2/16/8/iterations:1\n"
+      "BM_string_memcpy/2/16/16/iterations:1\n"
+      "BM_string_memcpy/2/16/32/iterations:1\n"
+      "BM_string_memcpy/2/32/1/iterations:1\n"
+      "BM_string_memcpy/2/32/2/iterations:1\n"
+      "BM_string_memcpy/2/32/4/iterations:1\n"
+      "BM_string_memcpy/2/32/8/iterations:1\n"
+      "BM_string_memcpy/2/32/16/iterations:1\n"
+      "BM_string_memcpy/2/32/32/iterations:1\n"
+      "BM_string_memcpy/3/0/0/iterations:1\n"
+      "BM_string_memcpy/3/1/1/iterations:1\n"
+      "BM_string_memcpy/3/1/2/iterations:1\n"
+      "BM_string_memcpy/3/1/4/iterations:1\n"
+      "BM_string_memcpy/3/1/8/iterations:1\n"
+      "BM_string_memcpy/3/1/16/iterations:1\n"
+      "BM_string_memcpy/3/1/32/iterations:1\n"
+      "BM_string_memcpy/3/2/1/iterations:1\n"
+      "BM_string_memcpy/3/2/2/iterations:1\n"
+      "BM_string_memcpy/3/2/4/iterations:1\n"
+      "BM_string_memcpy/3/2/8/iterations:1\n"
+      "BM_string_memcpy/3/2/16/iterations:1\n"
+      "BM_string_memcpy/3/2/32/iterations:1\n"
+      "BM_string_memcpy/3/4/1/iterations:1\n"
+      "BM_string_memcpy/3/4/2/iterations:1\n"
+      "BM_string_memcpy/3/4/4/iterations:1\n"
+      "BM_string_memcpy/3/4/8/iterations:1\n"
+      "BM_string_memcpy/3/4/16/iterations:1\n"
+      "BM_string_memcpy/3/4/32/iterations:1\n"
+      "BM_string_memcpy/3/8/1/iterations:1\n"
+      "BM_string_memcpy/3/8/2/iterations:1\n"
+      "BM_string_memcpy/3/8/4/iterations:1\n"
+      "BM_string_memcpy/3/8/8/iterations:1\n"
+      "BM_string_memcpy/3/8/16/iterations:1\n"
+      "BM_string_memcpy/3/8/32/iterations:1\n"
+      "BM_string_memcpy/3/16/1/iterations:1\n"
+      "BM_string_memcpy/3/16/2/iterations:1\n"
+      "BM_string_memcpy/3/16/4/iterations:1\n"
+      "BM_string_memcpy/3/16/8/iterations:1\n"
+      "BM_string_memcpy/3/16/16/iterations:1\n"
+      "BM_string_memcpy/3/16/32/iterations:1\n"
+      "BM_string_memcpy/3/32/1/iterations:1\n"
+      "BM_string_memcpy/3/32/2/iterations:1\n"
+      "BM_string_memcpy/3/32/4/iterations:1\n"
+      "BM_string_memcpy/3/32/8/iterations:1\n"
+      "BM_string_memcpy/3/32/16/iterations:1\n"
+      "BM_string_memcpy/3/32/32/iterations:1\n"
+      "BM_string_memcpy/4/0/0/iterations:1\n"
+      "BM_string_memcpy/4/1/1/iterations:1\n"
+      "BM_string_memcpy/4/1/2/iterations:1\n"
+      "BM_string_memcpy/4/1/4/iterations:1\n"
+      "BM_string_memcpy/4/1/8/iterations:1\n"
+      "BM_string_memcpy/4/1/16/iterations:1\n"
+      "BM_string_memcpy/4/1/32/iterations:1\n"
+      "BM_string_memcpy/4/2/1/iterations:1\n"
+      "BM_string_memcpy/4/2/2/iterations:1\n"
+      "BM_string_memcpy/4/2/4/iterations:1\n"
+      "BM_string_memcpy/4/2/8/iterations:1\n"
+      "BM_string_memcpy/4/2/16/iterations:1\n"
+      "BM_string_memcpy/4/2/32/iterations:1\n"
+      "BM_string_memcpy/4/4/1/iterations:1\n"
+      "BM_string_memcpy/4/4/2/iterations:1\n"
+      "BM_string_memcpy/4/4/4/iterations:1\n"
+      "BM_string_memcpy/4/4/8/iterations:1\n"
+      "BM_string_memcpy/4/4/16/iterations:1\n"
+      "BM_string_memcpy/4/4/32/iterations:1\n"
+      "BM_string_memcpy/4/8/1/iterations:1\n"
+      "BM_string_memcpy/4/8/2/iterations:1\n"
+      "BM_string_memcpy/4/8/4/iterations:1\n"
+      "BM_string_memcpy/4/8/8/iterations:1\n"
+      "BM_string_memcpy/4/8/16/iterations:1\n"
+      "BM_string_memcpy/4/8/32/iterations:1\n"
+      "BM_string_memcpy/4/16/1/iterations:1\n"
+      "BM_string_memcpy/4/16/2/iterations:1\n"
+      "BM_string_memcpy/4/16/4/iterations:1\n"
+      "BM_string_memcpy/4/16/8/iterations:1\n"
+      "BM_string_memcpy/4/16/16/iterations:1\n"
+      "BM_string_memcpy/4/16/32/iterations:1\n"
+      "BM_string_memcpy/4/32/1/iterations:1\n"
+      "BM_string_memcpy/4/32/2/iterations:1\n"
+      "BM_string_memcpy/4/32/4/iterations:1\n"
+      "BM_string_memcpy/4/32/8/iterations:1\n"
+      "BM_string_memcpy/4/32/16/iterations:1\n"
+      "BM_string_memcpy/4/32/32/iterations:1\n"
+      "BM_string_memcpy/5/0/0/iterations:1\n"
+      "BM_string_memcpy/5/1/1/iterations:1\n"
+      "BM_string_memcpy/5/1/2/iterations:1\n"
+      "BM_string_memcpy/5/1/4/iterations:1\n"
+      "BM_string_memcpy/5/1/8/iterations:1\n"
+      "BM_string_memcpy/5/1/16/iterations:1\n"
+      "BM_string_memcpy/5/1/32/iterations:1\n"
+      "BM_string_memcpy/5/2/1/iterations:1\n"
+      "BM_string_memcpy/5/2/2/iterations:1\n"
+      "BM_string_memcpy/5/2/4/iterations:1\n"
+      "BM_string_memcpy/5/2/8/iterations:1\n"
+      "BM_string_memcpy/5/2/16/iterations:1\n"
+      "BM_string_memcpy/5/2/32/iterations:1\n"
+      "BM_string_memcpy/5/4/1/iterations:1\n"
+      "BM_string_memcpy/5/4/2/iterations:1\n"
+      "BM_string_memcpy/5/4/4/iterations:1\n"
+      "BM_string_memcpy/5/4/8/iterations:1\n"
+      "BM_string_memcpy/5/4/16/iterations:1\n"
+      "BM_string_memcpy/5/4/32/iterations:1\n"
+      "BM_string_memcpy/5/8/1/iterations:1\n"
+      "BM_string_memcpy/5/8/2/iterations:1\n"
+      "BM_string_memcpy/5/8/4/iterations:1\n"
+      "BM_string_memcpy/5/8/8/iterations:1\n"
+      "BM_string_memcpy/5/8/16/iterations:1\n"
+      "BM_string_memcpy/5/8/32/iterations:1\n"
+      "BM_string_memcpy/5/16/1/iterations:1\n"
+      "BM_string_memcpy/5/16/2/iterations:1\n"
+      "BM_string_memcpy/5/16/4/iterations:1\n"
+      "BM_string_memcpy/5/16/8/iterations:1\n"
+      "BM_string_memcpy/5/16/16/iterations:1\n"
+      "BM_string_memcpy/5/16/32/iterations:1\n"
+      "BM_string_memcpy/5/32/1/iterations:1\n"
+      "BM_string_memcpy/5/32/2/iterations:1\n"
+      "BM_string_memcpy/5/32/4/iterations:1\n"
+      "BM_string_memcpy/5/32/8/iterations:1\n"
+      "BM_string_memcpy/5/32/16/iterations:1\n"
+      "BM_string_memcpy/5/32/32/iterations:1\n"
+      "BM_string_memcpy/6/0/0/iterations:1\n"
+      "BM_string_memcpy/6/1/1/iterations:1\n"
+      "BM_string_memcpy/6/1/2/iterations:1\n"
+      "BM_string_memcpy/6/1/4/iterations:1\n"
+      "BM_string_memcpy/6/1/8/iterations:1\n"
+      "BM_string_memcpy/6/1/16/iterations:1\n"
+      "BM_string_memcpy/6/1/32/iterations:1\n"
+      "BM_string_memcpy/6/2/1/iterations:1\n"
+      "BM_string_memcpy/6/2/2/iterations:1\n"
+      "BM_string_memcpy/6/2/4/iterations:1\n"
+      "BM_string_memcpy/6/2/8/iterations:1\n"
+      "BM_string_memcpy/6/2/16/iterations:1\n"
+      "BM_string_memcpy/6/2/32/iterations:1\n"
+      "BM_string_memcpy/6/4/1/iterations:1\n"
+      "BM_string_memcpy/6/4/2/iterations:1\n"
+      "BM_string_memcpy/6/4/4/iterations:1\n"
+      "BM_string_memcpy/6/4/8/iterations:1\n"
+      "BM_string_memcpy/6/4/16/iterations:1\n"
+      "BM_string_memcpy/6/4/32/iterations:1\n"
+      "BM_string_memcpy/6/8/1/iterations:1\n"
+      "BM_string_memcpy/6/8/2/iterations:1\n"
+      "BM_string_memcpy/6/8/4/iterations:1\n"
+      "BM_string_memcpy/6/8/8/iterations:1\n"
+      "BM_string_memcpy/6/8/16/iterations:1\n"
+      "BM_string_memcpy/6/8/32/iterations:1\n"
+      "BM_string_memcpy/6/16/1/iterations:1\n"
+      "BM_string_memcpy/6/16/2/iterations:1\n"
+      "BM_string_memcpy/6/16/4/iterations:1\n"
+      "BM_string_memcpy/6/16/8/iterations:1\n"
+      "BM_string_memcpy/6/16/16/iterations:1\n"
+      "BM_string_memcpy/6/16/32/iterations:1\n"
+      "BM_string_memcpy/6/32/1/iterations:1\n"
+      "BM_string_memcpy/6/32/2/iterations:1\n"
+      "BM_string_memcpy/6/32/4/iterations:1\n"
+      "BM_string_memcpy/6/32/8/iterations:1\n"
+      "BM_string_memcpy/6/32/16/iterations:1\n"
+      "BM_string_memcpy/6/32/32/iterations:1\n"
+      "BM_string_memcpy/7/0/0/iterations:1\n"
+      "BM_string_memcpy/7/1/1/iterations:1\n"
+      "BM_string_memcpy/7/1/2/iterations:1\n"
+      "BM_string_memcpy/7/1/4/iterations:1\n"
+      "BM_string_memcpy/7/1/8/iterations:1\n"
+      "BM_string_memcpy/7/1/16/iterations:1\n"
+      "BM_string_memcpy/7/1/32/iterations:1\n"
+      "BM_string_memcpy/7/2/1/iterations:1\n"
+      "BM_string_memcpy/7/2/2/iterations:1\n"
+      "BM_string_memcpy/7/2/4/iterations:1\n"
+      "BM_string_memcpy/7/2/8/iterations:1\n"
+      "BM_string_memcpy/7/2/16/iterations:1\n"
+      "BM_string_memcpy/7/2/32/iterations:1\n"
+      "BM_string_memcpy/7/4/1/iterations:1\n"
+      "BM_string_memcpy/7/4/2/iterations:1\n"
+      "BM_string_memcpy/7/4/4/iterations:1\n"
+      "BM_string_memcpy/7/4/8/iterations:1\n"
+      "BM_string_memcpy/7/4/16/iterations:1\n"
+      "BM_string_memcpy/7/4/32/iterations:1\n"
+      "BM_string_memcpy/7/8/1/iterations:1\n"
+      "BM_string_memcpy/7/8/2/iterations:1\n"
+      "BM_string_memcpy/7/8/4/iterations:1\n"
+      "BM_string_memcpy/7/8/8/iterations:1\n"
+      "BM_string_memcpy/7/8/16/iterations:1\n"
+      "BM_string_memcpy/7/8/32/iterations:1\n"
+      "BM_string_memcpy/7/16/1/iterations:1\n"
+      "BM_string_memcpy/7/16/2/iterations:1\n"
+      "BM_string_memcpy/7/16/4/iterations:1\n"
+      "BM_string_memcpy/7/16/8/iterations:1\n"
+      "BM_string_memcpy/7/16/16/iterations:1\n"
+      "BM_string_memcpy/7/16/32/iterations:1\n"
+      "BM_string_memcpy/7/32/1/iterations:1\n"
+      "BM_string_memcpy/7/32/2/iterations:1\n"
+      "BM_string_memcpy/7/32/4/iterations:1\n"
+      "BM_string_memcpy/7/32/8/iterations:1\n"
+      "BM_string_memcpy/7/32/16/iterations:1\n"
+      "BM_string_memcpy/7/32/32/iterations:1\n"
+      "BM_string_memcpy/8/0/0/iterations:1\n"
+      "BM_string_memcpy/8/1/1/iterations:1\n"
+      "BM_string_memcpy/8/1/2/iterations:1\n"
+      "BM_string_memcpy/8/1/4/iterations:1\n"
+      "BM_string_memcpy/8/1/8/iterations:1\n"
+      "BM_string_memcpy/8/1/16/iterations:1\n"
+      "BM_string_memcpy/8/1/32/iterations:1\n"
+      "BM_string_memcpy/8/2/1/iterations:1\n"
+      "BM_string_memcpy/8/2/2/iterations:1\n"
+      "BM_string_memcpy/8/2/4/iterations:1\n"
+      "BM_string_memcpy/8/2/8/iterations:1\n"
+      "BM_string_memcpy/8/2/16/iterations:1\n"
+      "BM_string_memcpy/8/2/32/iterations:1\n"
+      "BM_string_memcpy/8/4/1/iterations:1\n"
+      "BM_string_memcpy/8/4/2/iterations:1\n"
+      "BM_string_memcpy/8/4/4/iterations:1\n"
+      "BM_string_memcpy/8/4/8/iterations:1\n"
+      "BM_string_memcpy/8/4/16/iterations:1\n"
+      "BM_string_memcpy/8/4/32/iterations:1\n"
+      "BM_string_memcpy/8/8/1/iterations:1\n"
+      "BM_string_memcpy/8/8/2/iterations:1\n"
+      "BM_string_memcpy/8/8/4/iterations:1\n"
+      "BM_string_memcpy/8/8/8/iterations:1\n"
+      "BM_string_memcpy/8/8/16/iterations:1\n"
+      "BM_string_memcpy/8/8/32/iterations:1\n"
+      "BM_string_memcpy/8/16/1/iterations:1\n"
+      "BM_string_memcpy/8/16/2/iterations:1\n"
+      "BM_string_memcpy/8/16/4/iterations:1\n"
+      "BM_string_memcpy/8/16/8/iterations:1\n"
+      "BM_string_memcpy/8/16/16/iterations:1\n"
+      "BM_string_memcpy/8/16/32/iterations:1\n"
+      "BM_string_memcpy/8/32/1/iterations:1\n"
+      "BM_string_memcpy/8/32/2/iterations:1\n"
+      "BM_string_memcpy/8/32/4/iterations:1\n"
+      "BM_string_memcpy/8/32/8/iterations:1\n"
+      "BM_string_memcpy/8/32/16/iterations:1\n"
+      "BM_string_memcpy/8/32/32/iterations:1\n"
+      "BM_string_memcpy/9/0/0/iterations:1\n"
+      "BM_string_memcpy/9/1/1/iterations:1\n"
+      "BM_string_memcpy/9/1/2/iterations:1\n"
+      "BM_string_memcpy/9/1/4/iterations:1\n"
+      "BM_string_memcpy/9/1/8/iterations:1\n"
+      "BM_string_memcpy/9/1/16/iterations:1\n"
+      "BM_string_memcpy/9/1/32/iterations:1\n"
+      "BM_string_memcpy/9/2/1/iterations:1\n"
+      "BM_string_memcpy/9/2/2/iterations:1\n"
+      "BM_string_memcpy/9/2/4/iterations:1\n"
+      "BM_string_memcpy/9/2/8/iterations:1\n"
+      "BM_string_memcpy/9/2/16/iterations:1\n"
+      "BM_string_memcpy/9/2/32/iterations:1\n"
+      "BM_string_memcpy/9/4/1/iterations:1\n"
+      "BM_string_memcpy/9/4/2/iterations:1\n"
+      "BM_string_memcpy/9/4/4/iterations:1\n"
+      "BM_string_memcpy/9/4/8/iterations:1\n"
+      "BM_string_memcpy/9/4/16/iterations:1\n"
+      "BM_string_memcpy/9/4/32/iterations:1\n"
+      "BM_string_memcpy/9/8/1/iterations:1\n"
+      "BM_string_memcpy/9/8/2/iterations:1\n"
+      "BM_string_memcpy/9/8/4/iterations:1\n"
+      "BM_string_memcpy/9/8/8/iterations:1\n"
+      "BM_string_memcpy/9/8/16/iterations:1\n"
+      "BM_string_memcpy/9/8/32/iterations:1\n"
+      "BM_string_memcpy/9/16/1/iterations:1\n"
+      "BM_string_memcpy/9/16/2/iterations:1\n"
+      "BM_string_memcpy/9/16/4/iterations:1\n"
+      "BM_string_memcpy/9/16/8/iterations:1\n"
+      "BM_string_memcpy/9/16/16/iterations:1\n"
+      "BM_string_memcpy/9/16/32/iterations:1\n"
+      "BM_string_memcpy/9/32/1/iterations:1\n"
+      "BM_string_memcpy/9/32/2/iterations:1\n"
+      "BM_string_memcpy/9/32/4/iterations:1\n"
+      "BM_string_memcpy/9/32/8/iterations:1\n"
+      "BM_string_memcpy/9/32/16/iterations:1\n"
+      "BM_string_memcpy/9/32/32/iterations:1\n"
+      "BM_string_memcpy/10/0/0/iterations:1\n"
+      "BM_string_memcpy/10/1/1/iterations:1\n"
+      "BM_string_memcpy/10/1/2/iterations:1\n"
+      "BM_string_memcpy/10/1/4/iterations:1\n"
+      "BM_string_memcpy/10/1/8/iterations:1\n"
+      "BM_string_memcpy/10/1/16/iterations:1\n"
+      "BM_string_memcpy/10/1/32/iterations:1\n"
+      "BM_string_memcpy/10/2/1/iterations:1\n"
+      "BM_string_memcpy/10/2/2/iterations:1\n"
+      "BM_string_memcpy/10/2/4/iterations:1\n"
+      "BM_string_memcpy/10/2/8/iterations:1\n"
+      "BM_string_memcpy/10/2/16/iterations:1\n"
+      "BM_string_memcpy/10/2/32/iterations:1\n"
+      "BM_string_memcpy/10/4/1/iterations:1\n"
+      "BM_string_memcpy/10/4/2/iterations:1\n"
+      "BM_string_memcpy/10/4/4/iterations:1\n"
+      "BM_string_memcpy/10/4/8/iterations:1\n"
+      "BM_string_memcpy/10/4/16/iterations:1\n"
+      "BM_string_memcpy/10/4/32/iterations:1\n"
+      "BM_string_memcpy/10/8/1/iterations:1\n"
+      "BM_string_memcpy/10/8/2/iterations:1\n"
+      "BM_string_memcpy/10/8/4/iterations:1\n"
+      "BM_string_memcpy/10/8/8/iterations:1\n"
+      "BM_string_memcpy/10/8/16/iterations:1\n"
+      "BM_string_memcpy/10/8/32/iterations:1\n"
+      "BM_string_memcpy/10/16/1/iterations:1\n"
+      "BM_string_memcpy/10/16/2/iterations:1\n"
+      "BM_string_memcpy/10/16/4/iterations:1\n"
+      "BM_string_memcpy/10/16/8/iterations:1\n"
+      "BM_string_memcpy/10/16/16/iterations:1\n"
+      "BM_string_memcpy/10/16/32/iterations:1\n"
+      "BM_string_memcpy/10/32/1/iterations:1\n"
+      "BM_string_memcpy/10/32/2/iterations:1\n"
+      "BM_string_memcpy/10/32/4/iterations:1\n"
+      "BM_string_memcpy/10/32/8/iterations:1\n"
+      "BM_string_memcpy/10/32/16/iterations:1\n"
+      "BM_string_memcpy/10/32/32/iterations:1\n"
+      "BM_string_memcpy/11/0/0/iterations:1\n"
+      "BM_string_memcpy/11/1/1/iterations:1\n"
+      "BM_string_memcpy/11/1/2/iterations:1\n"
+      "BM_string_memcpy/11/1/4/iterations:1\n"
+      "BM_string_memcpy/11/1/8/iterations:1\n"
+      "BM_string_memcpy/11/1/16/iterations:1\n"
+      "BM_string_memcpy/11/1/32/iterations:1\n"
+      "BM_string_memcpy/11/2/1/iterations:1\n"
+      "BM_string_memcpy/11/2/2/iterations:1\n"
+      "BM_string_memcpy/11/2/4/iterations:1\n"
+      "BM_string_memcpy/11/2/8/iterations:1\n"
+      "BM_string_memcpy/11/2/16/iterations:1\n"
+      "BM_string_memcpy/11/2/32/iterations:1\n"
+      "BM_string_memcpy/11/4/1/iterations:1\n"
+      "BM_string_memcpy/11/4/2/iterations:1\n"
+      "BM_string_memcpy/11/4/4/iterations:1\n"
+      "BM_string_memcpy/11/4/8/iterations:1\n"
+      "BM_string_memcpy/11/4/16/iterations:1\n"
+      "BM_string_memcpy/11/4/32/iterations:1\n"
+      "BM_string_memcpy/11/8/1/iterations:1\n"
+      "BM_string_memcpy/11/8/2/iterations:1\n"
+      "BM_string_memcpy/11/8/4/iterations:1\n"
+      "BM_string_memcpy/11/8/8/iterations:1\n"
+      "BM_string_memcpy/11/8/16/iterations:1\n"
+      "BM_string_memcpy/11/8/32/iterations:1\n"
+      "BM_string_memcpy/11/16/1/iterations:1\n"
+      "BM_string_memcpy/11/16/2/iterations:1\n"
+      "BM_string_memcpy/11/16/4/iterations:1\n"
+      "BM_string_memcpy/11/16/8/iterations:1\n"
+      "BM_string_memcpy/11/16/16/iterations:1\n"
+      "BM_string_memcpy/11/16/32/iterations:1\n"
+      "BM_string_memcpy/11/32/1/iterations:1\n"
+      "BM_string_memcpy/11/32/2/iterations:1\n"
+      "BM_string_memcpy/11/32/4/iterations:1\n"
+      "BM_string_memcpy/11/32/8/iterations:1\n"
+      "BM_string_memcpy/11/32/16/iterations:1\n"
+      "BM_string_memcpy/11/32/32/iterations:1\n"
+      "BM_string_memcpy/12/0/0/iterations:1\n"
+      "BM_string_memcpy/12/1/1/iterations:1\n"
+      "BM_string_memcpy/12/1/2/iterations:1\n"
+      "BM_string_memcpy/12/1/4/iterations:1\n"
+      "BM_string_memcpy/12/1/8/iterations:1\n"
+      "BM_string_memcpy/12/1/16/iterations:1\n"
+      "BM_string_memcpy/12/1/32/iterations:1\n"
+      "BM_string_memcpy/12/2/1/iterations:1\n"
+      "BM_string_memcpy/12/2/2/iterations:1\n"
+      "BM_string_memcpy/12/2/4/iterations:1\n"
+      "BM_string_memcpy/12/2/8/iterations:1\n"
+      "BM_string_memcpy/12/2/16/iterations:1\n"
+      "BM_string_memcpy/12/2/32/iterations:1\n"
+      "BM_string_memcpy/12/4/1/iterations:1\n"
+      "BM_string_memcpy/12/4/2/iterations:1\n"
+      "BM_string_memcpy/12/4/4/iterations:1\n"
+      "BM_string_memcpy/12/4/8/iterations:1\n"
+      "BM_string_memcpy/12/4/16/iterations:1\n"
+      "BM_string_memcpy/12/4/32/iterations:1\n"
+      "BM_string_memcpy/12/8/1/iterations:1\n"
+      "BM_string_memcpy/12/8/2/iterations:1\n"
+      "BM_string_memcpy/12/8/4/iterations:1\n"
+      "BM_string_memcpy/12/8/8/iterations:1\n"
+      "BM_string_memcpy/12/8/16/iterations:1\n"
+      "BM_string_memcpy/12/8/32/iterations:1\n"
+      "BM_string_memcpy/12/16/1/iterations:1\n"
+      "BM_string_memcpy/12/16/2/iterations:1\n"
+      "BM_string_memcpy/12/16/4/iterations:1\n"
+      "BM_string_memcpy/12/16/8/iterations:1\n"
+      "BM_string_memcpy/12/16/16/iterations:1\n"
+      "BM_string_memcpy/12/16/32/iterations:1\n"
+      "BM_string_memcpy/12/32/1/iterations:1\n"
+      "BM_string_memcpy/12/32/2/iterations:1\n"
+      "BM_string_memcpy/12/32/4/iterations:1\n"
+      "BM_string_memcpy/12/32/8/iterations:1\n"
+      "BM_string_memcpy/12/32/16/iterations:1\n"
+      "BM_string_memcpy/12/32/32/iterations:1\n"
+      "BM_string_memcpy/13/0/0/iterations:1\n"
+      "BM_string_memcpy/13/1/1/iterations:1\n"
+      "BM_string_memcpy/13/1/2/iterations:1\n"
+      "BM_string_memcpy/13/1/4/iterations:1\n"
+      "BM_string_memcpy/13/1/8/iterations:1\n"
+      "BM_string_memcpy/13/1/16/iterations:1\n"
+      "BM_string_memcpy/13/1/32/iterations:1\n"
+      "BM_string_memcpy/13/2/1/iterations:1\n"
+      "BM_string_memcpy/13/2/2/iterations:1\n"
+      "BM_string_memcpy/13/2/4/iterations:1\n"
+      "BM_string_memcpy/13/2/8/iterations:1\n"
+      "BM_string_memcpy/13/2/16/iterations:1\n"
+      "BM_string_memcpy/13/2/32/iterations:1\n"
+      "BM_string_memcpy/13/4/1/iterations:1\n"
+      "BM_string_memcpy/13/4/2/iterations:1\n"
+      "BM_string_memcpy/13/4/4/iterations:1\n"
+      "BM_string_memcpy/13/4/8/iterations:1\n"
+      "BM_string_memcpy/13/4/16/iterations:1\n"
+      "BM_string_memcpy/13/4/32/iterations:1\n"
+      "BM_string_memcpy/13/8/1/iterations:1\n"
+      "BM_string_memcpy/13/8/2/iterations:1\n"
+      "BM_string_memcpy/13/8/4/iterations:1\n"
+      "BM_string_memcpy/13/8/8/iterations:1\n"
+      "BM_string_memcpy/13/8/16/iterations:1\n"
+      "BM_string_memcpy/13/8/32/iterations:1\n"
+      "BM_string_memcpy/13/16/1/iterations:1\n"
+      "BM_string_memcpy/13/16/2/iterations:1\n"
+      "BM_string_memcpy/13/16/4/iterations:1\n"
+      "BM_string_memcpy/13/16/8/iterations:1\n"
+      "BM_string_memcpy/13/16/16/iterations:1\n"
+      "BM_string_memcpy/13/16/32/iterations:1\n"
+      "BM_string_memcpy/13/32/1/iterations:1\n"
+      "BM_string_memcpy/13/32/2/iterations:1\n"
+      "BM_string_memcpy/13/32/4/iterations:1\n"
+      "BM_string_memcpy/13/32/8/iterations:1\n"
+      "BM_string_memcpy/13/32/16/iterations:1\n"
+      "BM_string_memcpy/13/32/32/iterations:1\n"
+      "BM_string_memcpy/14/0/0/iterations:1\n"
+      "BM_string_memcpy/14/1/1/iterations:1\n"
+      "BM_string_memcpy/14/1/2/iterations:1\n"
+      "BM_string_memcpy/14/1/4/iterations:1\n"
+      "BM_string_memcpy/14/1/8/iterations:1\n"
+      "BM_string_memcpy/14/1/16/iterations:1\n"
+      "BM_string_memcpy/14/1/32/iterations:1\n"
+      "BM_string_memcpy/14/2/1/iterations:1\n"
+      "BM_string_memcpy/14/2/2/iterations:1\n"
+      "BM_string_memcpy/14/2/4/iterations:1\n"
+      "BM_string_memcpy/14/2/8/iterations:1\n"
+      "BM_string_memcpy/14/2/16/iterations:1\n"
+      "BM_string_memcpy/14/2/32/iterations:1\n"
+      "BM_string_memcpy/14/4/1/iterations:1\n"
+      "BM_string_memcpy/14/4/2/iterations:1\n"
+      "BM_string_memcpy/14/4/4/iterations:1\n"
+      "BM_string_memcpy/14/4/8/iterations:1\n"
+      "BM_string_memcpy/14/4/16/iterations:1\n"
+      "BM_string_memcpy/14/4/32/iterations:1\n"
+      "BM_string_memcpy/14/8/1/iterations:1\n"
+      "BM_string_memcpy/14/8/2/iterations:1\n"
+      "BM_string_memcpy/14/8/4/iterations:1\n"
+      "BM_string_memcpy/14/8/8/iterations:1\n"
+      "BM_string_memcpy/14/8/16/iterations:1\n"
+      "BM_string_memcpy/14/8/32/iterations:1\n"
+      "BM_string_memcpy/14/16/1/iterations:1\n"
+      "BM_string_memcpy/14/16/2/iterations:1\n"
+      "BM_string_memcpy/14/16/4/iterations:1\n"
+      "BM_string_memcpy/14/16/8/iterations:1\n"
+      "BM_string_memcpy/14/16/16/iterations:1\n"
+      "BM_string_memcpy/14/16/32/iterations:1\n"
+      "BM_string_memcpy/14/32/1/iterations:1\n"
+      "BM_string_memcpy/14/32/2/iterations:1\n"
+      "BM_string_memcpy/14/32/4/iterations:1\n"
+      "BM_string_memcpy/14/32/8/iterations:1\n"
+      "BM_string_memcpy/14/32/16/iterations:1\n"
+      "BM_string_memcpy/14/32/32/iterations:1\n"
+      "BM_string_memcpy/15/0/0/iterations:1\n"
+      "BM_string_memcpy/15/1/1/iterations:1\n"
+      "BM_string_memcpy/15/1/2/iterations:1\n"
+      "BM_string_memcpy/15/1/4/iterations:1\n"
+      "BM_string_memcpy/15/1/8/iterations:1\n"
+      "BM_string_memcpy/15/1/16/iterations:1\n"
+      "BM_string_memcpy/15/1/32/iterations:1\n"
+      "BM_string_memcpy/15/2/1/iterations:1\n"
+      "BM_string_memcpy/15/2/2/iterations:1\n"
+      "BM_string_memcpy/15/2/4/iterations:1\n"
+      "BM_string_memcpy/15/2/8/iterations:1\n"
+      "BM_string_memcpy/15/2/16/iterations:1\n"
+      "BM_string_memcpy/15/2/32/iterations:1\n"
+      "BM_string_memcpy/15/4/1/iterations:1\n"
+      "BM_string_memcpy/15/4/2/iterations:1\n"
+      "BM_string_memcpy/15/4/4/iterations:1\n"
+      "BM_string_memcpy/15/4/8/iterations:1\n"
+      "BM_string_memcpy/15/4/16/iterations:1\n"
+      "BM_string_memcpy/15/4/32/iterations:1\n"
+      "BM_string_memcpy/15/8/1/iterations:1\n"
+      "BM_string_memcpy/15/8/2/iterations:1\n"
+      "BM_string_memcpy/15/8/4/iterations:1\n"
+      "BM_string_memcpy/15/8/8/iterations:1\n"
+      "BM_string_memcpy/15/8/16/iterations:1\n"
+      "BM_string_memcpy/15/8/32/iterations:1\n"
+      "BM_string_memcpy/15/16/1/iterations:1\n"
+      "BM_string_memcpy/15/16/2/iterations:1\n"
+      "BM_string_memcpy/15/16/4/iterations:1\n"
+      "BM_string_memcpy/15/16/8/iterations:1\n"
+      "BM_string_memcpy/15/16/16/iterations:1\n"
+      "BM_string_memcpy/15/16/32/iterations:1\n"
+      "BM_string_memcpy/15/32/1/iterations:1\n"
+      "BM_string_memcpy/15/32/2/iterations:1\n"
+      "BM_string_memcpy/15/32/4/iterations:1\n"
+      "BM_string_memcpy/15/32/8/iterations:1\n"
+      "BM_string_memcpy/15/32/16/iterations:1\n"
+      "BM_string_memcpy/15/32/32/iterations:1\n"
+      "BM_string_memcpy/16/0/0/iterations:1\n"
+      "BM_string_memcpy/16/1/1/iterations:1\n"
+      "BM_string_memcpy/16/1/2/iterations:1\n"
+      "BM_string_memcpy/16/1/4/iterations:1\n"
+      "BM_string_memcpy/16/1/8/iterations:1\n"
+      "BM_string_memcpy/16/1/16/iterations:1\n"
+      "BM_string_memcpy/16/1/32/iterations:1\n"
+      "BM_string_memcpy/16/2/1/iterations:1\n"
+      "BM_string_memcpy/16/2/2/iterations:1\n"
+      "BM_string_memcpy/16/2/4/iterations:1\n"
+      "BM_string_memcpy/16/2/8/iterations:1\n"
+      "BM_string_memcpy/16/2/16/iterations:1\n"
+      "BM_string_memcpy/16/2/32/iterations:1\n"
+      "BM_string_memcpy/16/4/1/iterations:1\n"
+      "BM_string_memcpy/16/4/2/iterations:1\n"
+      "BM_string_memcpy/16/4/4/iterations:1\n"
+      "BM_string_memcpy/16/4/8/iterations:1\n"
+      "BM_string_memcpy/16/4/16/iterations:1\n"
+      "BM_string_memcpy/16/4/32/iterations:1\n"
+      "BM_string_memcpy/16/8/1/iterations:1\n"
+      "BM_string_memcpy/16/8/2/iterations:1\n"
+      "BM_string_memcpy/16/8/4/iterations:1\n"
+      "BM_string_memcpy/16/8/8/iterations:1\n"
+      "BM_string_memcpy/16/8/16/iterations:1\n"
+      "BM_string_memcpy/16/8/32/iterations:1\n"
+      "BM_string_memcpy/16/16/1/iterations:1\n"
+      "BM_string_memcpy/16/16/2/iterations:1\n"
+      "BM_string_memcpy/16/16/4/iterations:1\n"
+      "BM_string_memcpy/16/16/8/iterations:1\n"
+      "BM_string_memcpy/16/16/16/iterations:1\n"
+      "BM_string_memcpy/16/16/32/iterations:1\n"
+      "BM_string_memcpy/16/32/1/iterations:1\n"
+      "BM_string_memcpy/16/32/2/iterations:1\n"
+      "BM_string_memcpy/16/32/4/iterations:1\n"
+      "BM_string_memcpy/16/32/8/iterations:1\n"
+      "BM_string_memcpy/16/32/16/iterations:1\n"
+      "BM_string_memcpy/16/32/32/iterations:1\n"
+      "BM_string_memcpy/24/0/0/iterations:1\n"
+      "BM_string_memcpy/24/1/1/iterations:1\n"
+      "BM_string_memcpy/24/1/2/iterations:1\n"
+      "BM_string_memcpy/24/1/4/iterations:1\n"
+      "BM_string_memcpy/24/1/8/iterations:1\n"
+      "BM_string_memcpy/24/1/16/iterations:1\n"
+      "BM_string_memcpy/24/1/32/iterations:1\n"
+      "BM_string_memcpy/24/2/1/iterations:1\n"
+      "BM_string_memcpy/24/2/2/iterations:1\n"
+      "BM_string_memcpy/24/2/4/iterations:1\n"
+      "BM_string_memcpy/24/2/8/iterations:1\n"
+      "BM_string_memcpy/24/2/16/iterations:1\n"
+      "BM_string_memcpy/24/2/32/iterations:1\n"
+      "BM_string_memcpy/24/4/1/iterations:1\n"
+      "BM_string_memcpy/24/4/2/iterations:1\n"
+      "BM_string_memcpy/24/4/4/iterations:1\n"
+      "BM_string_memcpy/24/4/8/iterations:1\n"
+      "BM_string_memcpy/24/4/16/iterations:1\n"
+      "BM_string_memcpy/24/4/32/iterations:1\n"
+      "BM_string_memcpy/24/8/1/iterations:1\n"
+      "BM_string_memcpy/24/8/2/iterations:1\n"
+      "BM_string_memcpy/24/8/4/iterations:1\n"
+      "BM_string_memcpy/24/8/8/iterations:1\n"
+      "BM_string_memcpy/24/8/16/iterations:1\n"
+      "BM_string_memcpy/24/8/32/iterations:1\n"
+      "BM_string_memcpy/24/16/1/iterations:1\n"
+      "BM_string_memcpy/24/16/2/iterations:1\n"
+      "BM_string_memcpy/24/16/4/iterations:1\n"
+      "BM_string_memcpy/24/16/8/iterations:1\n"
+      "BM_string_memcpy/24/16/16/iterations:1\n"
+      "BM_string_memcpy/24/16/32/iterations:1\n"
+      "BM_string_memcpy/24/32/1/iterations:1\n"
+      "BM_string_memcpy/24/32/2/iterations:1\n"
+      "BM_string_memcpy/24/32/4/iterations:1\n"
+      "BM_string_memcpy/24/32/8/iterations:1\n"
+      "BM_string_memcpy/24/32/16/iterations:1\n"
+      "BM_string_memcpy/24/32/32/iterations:1\n"
+      "BM_string_memcpy/32/0/0/iterations:1\n"
+      "BM_string_memcpy/32/1/1/iterations:1\n"
+      "BM_string_memcpy/32/1/2/iterations:1\n"
+      "BM_string_memcpy/32/1/4/iterations:1\n"
+      "BM_string_memcpy/32/1/8/iterations:1\n"
+      "BM_string_memcpy/32/1/16/iterations:1\n"
+      "BM_string_memcpy/32/1/32/iterations:1\n"
+      "BM_string_memcpy/32/2/1/iterations:1\n"
+      "BM_string_memcpy/32/2/2/iterations:1\n"
+      "BM_string_memcpy/32/2/4/iterations:1\n"
+      "BM_string_memcpy/32/2/8/iterations:1\n"
+      "BM_string_memcpy/32/2/16/iterations:1\n"
+      "BM_string_memcpy/32/2/32/iterations:1\n"
+      "BM_string_memcpy/32/4/1/iterations:1\n"
+      "BM_string_memcpy/32/4/2/iterations:1\n"
+      "BM_string_memcpy/32/4/4/iterations:1\n"
+      "BM_string_memcpy/32/4/8/iterations:1\n"
+      "BM_string_memcpy/32/4/16/iterations:1\n"
+      "BM_string_memcpy/32/4/32/iterations:1\n"
+      "BM_string_memcpy/32/8/1/iterations:1\n"
+      "BM_string_memcpy/32/8/2/iterations:1\n"
+      "BM_string_memcpy/32/8/4/iterations:1\n"
+      "BM_string_memcpy/32/8/8/iterations:1\n"
+      "BM_string_memcpy/32/8/16/iterations:1\n"
+      "BM_string_memcpy/32/8/32/iterations:1\n"
+      "BM_string_memcpy/32/16/1/iterations:1\n"
+      "BM_string_memcpy/32/16/2/iterations:1\n"
+      "BM_string_memcpy/32/16/4/iterations:1\n"
+      "BM_string_memcpy/32/16/8/iterations:1\n"
+      "BM_string_memcpy/32/16/16/iterations:1\n"
+      "BM_string_memcpy/32/16/32/iterations:1\n"
+      "BM_string_memcpy/32/32/1/iterations:1\n"
+      "BM_string_memcpy/32/32/2/iterations:1\n"
+      "BM_string_memcpy/32/32/4/iterations:1\n"
+      "BM_string_memcpy/32/32/8/iterations:1\n"
+      "BM_string_memcpy/32/32/16/iterations:1\n"
+      "BM_string_memcpy/32/32/32/iterations:1\n"
+      "BM_string_memcpy/40/0/0/iterations:1\n"
+      "BM_string_memcpy/40/1/1/iterations:1\n"
+      "BM_string_memcpy/40/1/2/iterations:1\n"
+      "BM_string_memcpy/40/1/4/iterations:1\n"
+      "BM_string_memcpy/40/1/8/iterations:1\n"
+      "BM_string_memcpy/40/1/16/iterations:1\n"
+      "BM_string_memcpy/40/1/32/iterations:1\n"
+      "BM_string_memcpy/40/2/1/iterations:1\n"
+      "BM_string_memcpy/40/2/2/iterations:1\n"
+      "BM_string_memcpy/40/2/4/iterations:1\n"
+      "BM_string_memcpy/40/2/8/iterations:1\n"
+      "BM_string_memcpy/40/2/16/iterations:1\n"
+      "BM_string_memcpy/40/2/32/iterations:1\n"
+      "BM_string_memcpy/40/4/1/iterations:1\n"
+      "BM_string_memcpy/40/4/2/iterations:1\n"
+      "BM_string_memcpy/40/4/4/iterations:1\n"
+      "BM_string_memcpy/40/4/8/iterations:1\n"
+      "BM_string_memcpy/40/4/16/iterations:1\n"
+      "BM_string_memcpy/40/4/32/iterations:1\n"
+      "BM_string_memcpy/40/8/1/iterations:1\n"
+      "BM_string_memcpy/40/8/2/iterations:1\n"
+      "BM_string_memcpy/40/8/4/iterations:1\n"
+      "BM_string_memcpy/40/8/8/iterations:1\n"
+      "BM_string_memcpy/40/8/16/iterations:1\n"
+      "BM_string_memcpy/40/8/32/iterations:1\n"
+      "BM_string_memcpy/40/16/1/iterations:1\n"
+      "BM_string_memcpy/40/16/2/iterations:1\n"
+      "BM_string_memcpy/40/16/4/iterations:1\n"
+      "BM_string_memcpy/40/16/8/iterations:1\n"
+      "BM_string_memcpy/40/16/16/iterations:1\n"
+      "BM_string_memcpy/40/16/32/iterations:1\n"
+      "BM_string_memcpy/40/32/1/iterations:1\n"
+      "BM_string_memcpy/40/32/2/iterations:1\n"
+      "BM_string_memcpy/40/32/4/iterations:1\n"
+      "BM_string_memcpy/40/32/8/iterations:1\n"
+      "BM_string_memcpy/40/32/16/iterations:1\n"
+      "BM_string_memcpy/40/32/32/iterations:1\n"
+      "BM_string_memcpy/48/0/0/iterations:1\n"
+      "BM_string_memcpy/48/1/1/iterations:1\n"
+      "BM_string_memcpy/48/1/2/iterations:1\n"
+      "BM_string_memcpy/48/1/4/iterations:1\n"
+      "BM_string_memcpy/48/1/8/iterations:1\n"
+      "BM_string_memcpy/48/1/16/iterations:1\n"
+      "BM_string_memcpy/48/1/32/iterations:1\n"
+      "BM_string_memcpy/48/2/1/iterations:1\n"
+      "BM_string_memcpy/48/2/2/iterations:1\n"
+      "BM_string_memcpy/48/2/4/iterations:1\n"
+      "BM_string_memcpy/48/2/8/iterations:1\n"
+      "BM_string_memcpy/48/2/16/iterations:1\n"
+      "BM_string_memcpy/48/2/32/iterations:1\n"
+      "BM_string_memcpy/48/4/1/iterations:1\n"
+      "BM_string_memcpy/48/4/2/iterations:1\n"
+      "BM_string_memcpy/48/4/4/iterations:1\n"
+      "BM_string_memcpy/48/4/8/iterations:1\n"
+      "BM_string_memcpy/48/4/16/iterations:1\n"
+      "BM_string_memcpy/48/4/32/iterations:1\n"
+      "BM_string_memcpy/48/8/1/iterations:1\n"
+      "BM_string_memcpy/48/8/2/iterations:1\n"
+      "BM_string_memcpy/48/8/4/iterations:1\n"
+      "BM_string_memcpy/48/8/8/iterations:1\n"
+      "BM_string_memcpy/48/8/16/iterations:1\n"
+      "BM_string_memcpy/48/8/32/iterations:1\n"
+      "BM_string_memcpy/48/16/1/iterations:1\n"
+      "BM_string_memcpy/48/16/2/iterations:1\n"
+      "BM_string_memcpy/48/16/4/iterations:1\n"
+      "BM_string_memcpy/48/16/8/iterations:1\n"
+      "BM_string_memcpy/48/16/16/iterations:1\n"
+      "BM_string_memcpy/48/16/32/iterations:1\n"
+      "BM_string_memcpy/48/32/1/iterations:1\n"
+      "BM_string_memcpy/48/32/2/iterations:1\n"
+      "BM_string_memcpy/48/32/4/iterations:1\n"
+      "BM_string_memcpy/48/32/8/iterations:1\n"
+      "BM_string_memcpy/48/32/16/iterations:1\n"
+      "BM_string_memcpy/48/32/32/iterations:1\n"
+      "BM_string_memcpy/56/0/0/iterations:1\n"
+      "BM_string_memcpy/56/1/1/iterations:1\n"
+      "BM_string_memcpy/56/1/2/iterations:1\n"
+      "BM_string_memcpy/56/1/4/iterations:1\n"
+      "BM_string_memcpy/56/1/8/iterations:1\n"
+      "BM_string_memcpy/56/1/16/iterations:1\n"
+      "BM_string_memcpy/56/1/32/iterations:1\n"
+      "BM_string_memcpy/56/2/1/iterations:1\n"
+      "BM_string_memcpy/56/2/2/iterations:1\n"
+      "BM_string_memcpy/56/2/4/iterations:1\n"
+      "BM_string_memcpy/56/2/8/iterations:1\n"
+      "BM_string_memcpy/56/2/16/iterations:1\n"
+      "BM_string_memcpy/56/2/32/iterations:1\n"
+      "BM_string_memcpy/56/4/1/iterations:1\n"
+      "BM_string_memcpy/56/4/2/iterations:1\n"
+      "BM_string_memcpy/56/4/4/iterations:1\n"
+      "BM_string_memcpy/56/4/8/iterations:1\n"
+      "BM_string_memcpy/56/4/16/iterations:1\n"
+      "BM_string_memcpy/56/4/32/iterations:1\n"
+      "BM_string_memcpy/56/8/1/iterations:1\n"
+      "BM_string_memcpy/56/8/2/iterations:1\n"
+      "BM_string_memcpy/56/8/4/iterations:1\n"
+      "BM_string_memcpy/56/8/8/iterations:1\n"
+      "BM_string_memcpy/56/8/16/iterations:1\n"
+      "BM_string_memcpy/56/8/32/iterations:1\n"
+      "BM_string_memcpy/56/16/1/iterations:1\n"
+      "BM_string_memcpy/56/16/2/iterations:1\n"
+      "BM_string_memcpy/56/16/4/iterations:1\n"
+      "BM_string_memcpy/56/16/8/iterations:1\n"
+      "BM_string_memcpy/56/16/16/iterations:1\n"
+      "BM_string_memcpy/56/16/32/iterations:1\n"
+      "BM_string_memcpy/56/32/1/iterations:1\n"
+      "BM_string_memcpy/56/32/2/iterations:1\n"
+      "BM_string_memcpy/56/32/4/iterations:1\n"
+      "BM_string_memcpy/56/32/8/iterations:1\n"
+      "BM_string_memcpy/56/32/16/iterations:1\n"
+      "BM_string_memcpy/56/32/32/iterations:1\n"
+      "BM_string_memcpy/64/0/0/iterations:1\n"
+      "BM_string_memcpy/64/1/1/iterations:1\n"
+      "BM_string_memcpy/64/1/2/iterations:1\n"
+      "BM_string_memcpy/64/1/4/iterations:1\n"
+      "BM_string_memcpy/64/1/8/iterations:1\n"
+      "BM_string_memcpy/64/1/16/iterations:1\n"
+      "BM_string_memcpy/64/1/32/iterations:1\n"
+      "BM_string_memcpy/64/2/1/iterations:1\n"
+      "BM_string_memcpy/64/2/2/iterations:1\n"
+      "BM_string_memcpy/64/2/4/iterations:1\n"
+      "BM_string_memcpy/64/2/8/iterations:1\n"
+      "BM_string_memcpy/64/2/16/iterations:1\n"
+      "BM_string_memcpy/64/2/32/iterations:1\n"
+      "BM_string_memcpy/64/4/1/iterations:1\n"
+      "BM_string_memcpy/64/4/2/iterations:1\n"
+      "BM_string_memcpy/64/4/4/iterations:1\n"
+      "BM_string_memcpy/64/4/8/iterations:1\n"
+      "BM_string_memcpy/64/4/16/iterations:1\n"
+      "BM_string_memcpy/64/4/32/iterations:1\n"
+      "BM_string_memcpy/64/8/1/iterations:1\n"
+      "BM_string_memcpy/64/8/2/iterations:1\n"
+      "BM_string_memcpy/64/8/4/iterations:1\n"
+      "BM_string_memcpy/64/8/8/iterations:1\n"
+      "BM_string_memcpy/64/8/16/iterations:1\n"
+      "BM_string_memcpy/64/8/32/iterations:1\n"
+      "BM_string_memcpy/64/16/1/iterations:1\n"
+      "BM_string_memcpy/64/16/2/iterations:1\n"
+      "BM_string_memcpy/64/16/4/iterations:1\n"
+      "BM_string_memcpy/64/16/8/iterations:1\n"
+      "BM_string_memcpy/64/16/16/iterations:1\n"
+      "BM_string_memcpy/64/16/32/iterations:1\n"
+      "BM_string_memcpy/64/32/1/iterations:1\n"
+      "BM_string_memcpy/64/32/2/iterations:1\n"
+      "BM_string_memcpy/64/32/4/iterations:1\n"
+      "BM_string_memcpy/64/32/8/iterations:1\n"
+      "BM_string_memcpy/64/32/16/iterations:1\n"
+      "BM_string_memcpy/64/32/32/iterations:1\n"
+      "BM_string_memcpy/72/0/0/iterations:1\n"
+      "BM_string_memcpy/72/1/1/iterations:1\n"
+      "BM_string_memcpy/72/1/2/iterations:1\n"
+      "BM_string_memcpy/72/1/4/iterations:1\n"
+      "BM_string_memcpy/72/1/8/iterations:1\n"
+      "BM_string_memcpy/72/1/16/iterations:1\n"
+      "BM_string_memcpy/72/1/32/iterations:1\n"
+      "BM_string_memcpy/72/2/1/iterations:1\n"
+      "BM_string_memcpy/72/2/2/iterations:1\n"
+      "BM_string_memcpy/72/2/4/iterations:1\n"
+      "BM_string_memcpy/72/2/8/iterations:1\n"
+      "BM_string_memcpy/72/2/16/iterations:1\n"
+      "BM_string_memcpy/72/2/32/iterations:1\n"
+      "BM_string_memcpy/72/4/1/iterations:1\n"
+      "BM_string_memcpy/72/4/2/iterations:1\n"
+      "BM_string_memcpy/72/4/4/iterations:1\n"
+      "BM_string_memcpy/72/4/8/iterations:1\n"
+      "BM_string_memcpy/72/4/16/iterations:1\n"
+      "BM_string_memcpy/72/4/32/iterations:1\n"
+      "BM_string_memcpy/72/8/1/iterations:1\n"
+      "BM_string_memcpy/72/8/2/iterations:1\n"
+      "BM_string_memcpy/72/8/4/iterations:1\n"
+      "BM_string_memcpy/72/8/8/iterations:1\n"
+      "BM_string_memcpy/72/8/16/iterations:1\n"
+      "BM_string_memcpy/72/8/32/iterations:1\n"
+      "BM_string_memcpy/72/16/1/iterations:1\n"
+      "BM_string_memcpy/72/16/2/iterations:1\n"
+      "BM_string_memcpy/72/16/4/iterations:1\n"
+      "BM_string_memcpy/72/16/8/iterations:1\n"
+      "BM_string_memcpy/72/16/16/iterations:1\n"
+      "BM_string_memcpy/72/16/32/iterations:1\n"
+      "BM_string_memcpy/72/32/1/iterations:1\n"
+      "BM_string_memcpy/72/32/2/iterations:1\n"
+      "BM_string_memcpy/72/32/4/iterations:1\n"
+      "BM_string_memcpy/72/32/8/iterations:1\n"
+      "BM_string_memcpy/72/32/16/iterations:1\n"
+      "BM_string_memcpy/72/32/32/iterations:1\n"
+      "BM_string_memcpy/80/0/0/iterations:1\n"
+      "BM_string_memcpy/80/1/1/iterations:1\n"
+      "BM_string_memcpy/80/1/2/iterations:1\n"
+      "BM_string_memcpy/80/1/4/iterations:1\n"
+      "BM_string_memcpy/80/1/8/iterations:1\n"
+      "BM_string_memcpy/80/1/16/iterations:1\n"
+      "BM_string_memcpy/80/1/32/iterations:1\n"
+      "BM_string_memcpy/80/2/1/iterations:1\n"
+      "BM_string_memcpy/80/2/2/iterations:1\n"
+      "BM_string_memcpy/80/2/4/iterations:1\n"
+      "BM_string_memcpy/80/2/8/iterations:1\n"
+      "BM_string_memcpy/80/2/16/iterations:1\n"
+      "BM_string_memcpy/80/2/32/iterations:1\n"
+      "BM_string_memcpy/80/4/1/iterations:1\n"
+      "BM_string_memcpy/80/4/2/iterations:1\n"
+      "BM_string_memcpy/80/4/4/iterations:1\n"
+      "BM_string_memcpy/80/4/8/iterations:1\n"
+      "BM_string_memcpy/80/4/16/iterations:1\n"
+      "BM_string_memcpy/80/4/32/iterations:1\n"
+      "BM_string_memcpy/80/8/1/iterations:1\n"
+      "BM_string_memcpy/80/8/2/iterations:1\n"
+      "BM_string_memcpy/80/8/4/iterations:1\n"
+      "BM_string_memcpy/80/8/8/iterations:1\n"
+      "BM_string_memcpy/80/8/16/iterations:1\n"
+      "BM_string_memcpy/80/8/32/iterations:1\n"
+      "BM_string_memcpy/80/16/1/iterations:1\n"
+      "BM_string_memcpy/80/16/2/iterations:1\n"
+      "BM_string_memcpy/80/16/4/iterations:1\n"
+      "BM_string_memcpy/80/16/8/iterations:1\n"
+      "BM_string_memcpy/80/16/16/iterations:1\n"
+      "BM_string_memcpy/80/16/32/iterations:1\n"
+      "BM_string_memcpy/80/32/1/iterations:1\n"
+      "BM_string_memcpy/80/32/2/iterations:1\n"
+      "BM_string_memcpy/80/32/4/iterations:1\n"
+      "BM_string_memcpy/80/32/8/iterations:1\n"
+      "BM_string_memcpy/80/32/16/iterations:1\n"
+      "BM_string_memcpy/80/32/32/iterations:1\n"
+      "BM_string_memcpy/88/0/0/iterations:1\n"
+      "BM_string_memcpy/88/1/1/iterations:1\n"
+      "BM_string_memcpy/88/1/2/iterations:1\n"
+      "BM_string_memcpy/88/1/4/iterations:1\n"
+      "BM_string_memcpy/88/1/8/iterations:1\n"
+      "BM_string_memcpy/88/1/16/iterations:1\n"
+      "BM_string_memcpy/88/1/32/iterations:1\n"
+      "BM_string_memcpy/88/2/1/iterations:1\n"
+      "BM_string_memcpy/88/2/2/iterations:1\n"
+      "BM_string_memcpy/88/2/4/iterations:1\n"
+      "BM_string_memcpy/88/2/8/iterations:1\n"
+      "BM_string_memcpy/88/2/16/iterations:1\n"
+      "BM_string_memcpy/88/2/32/iterations:1\n"
+      "BM_string_memcpy/88/4/1/iterations:1\n"
+      "BM_string_memcpy/88/4/2/iterations:1\n"
+      "BM_string_memcpy/88/4/4/iterations:1\n"
+      "BM_string_memcpy/88/4/8/iterations:1\n"
+      "BM_string_memcpy/88/4/16/iterations:1\n"
+      "BM_string_memcpy/88/4/32/iterations:1\n"
+      "BM_string_memcpy/88/8/1/iterations:1\n"
+      "BM_string_memcpy/88/8/2/iterations:1\n"
+      "BM_string_memcpy/88/8/4/iterations:1\n"
+      "BM_string_memcpy/88/8/8/iterations:1\n"
+      "BM_string_memcpy/88/8/16/iterations:1\n"
+      "BM_string_memcpy/88/8/32/iterations:1\n"
+      "BM_string_memcpy/88/16/1/iterations:1\n"
+      "BM_string_memcpy/88/16/2/iterations:1\n"
+      "BM_string_memcpy/88/16/4/iterations:1\n"
+      "BM_string_memcpy/88/16/8/iterations:1\n"
+      "BM_string_memcpy/88/16/16/iterations:1\n"
+      "BM_string_memcpy/88/16/32/iterations:1\n"
+      "BM_string_memcpy/88/32/1/iterations:1\n"
+      "BM_string_memcpy/88/32/2/iterations:1\n"
+      "BM_string_memcpy/88/32/4/iterations:1\n"
+      "BM_string_memcpy/88/32/8/iterations:1\n"
+      "BM_string_memcpy/88/32/16/iterations:1\n"
+      "BM_string_memcpy/88/32/32/iterations:1\n"
+      "BM_string_memcpy/96/0/0/iterations:1\n"
+      "BM_string_memcpy/96/1/1/iterations:1\n"
+      "BM_string_memcpy/96/1/2/iterations:1\n"
+      "BM_string_memcpy/96/1/4/iterations:1\n"
+      "BM_string_memcpy/96/1/8/iterations:1\n"
+      "BM_string_memcpy/96/1/16/iterations:1\n"
+      "BM_string_memcpy/96/1/32/iterations:1\n"
+      "BM_string_memcpy/96/2/1/iterations:1\n"
+      "BM_string_memcpy/96/2/2/iterations:1\n"
+      "BM_string_memcpy/96/2/4/iterations:1\n"
+      "BM_string_memcpy/96/2/8/iterations:1\n"
+      "BM_string_memcpy/96/2/16/iterations:1\n"
+      "BM_string_memcpy/96/2/32/iterations:1\n"
+      "BM_string_memcpy/96/4/1/iterations:1\n"
+      "BM_string_memcpy/96/4/2/iterations:1\n"
+      "BM_string_memcpy/96/4/4/iterations:1\n"
+      "BM_string_memcpy/96/4/8/iterations:1\n"
+      "BM_string_memcpy/96/4/16/iterations:1\n"
+      "BM_string_memcpy/96/4/32/iterations:1\n"
+      "BM_string_memcpy/96/8/1/iterations:1\n"
+      "BM_string_memcpy/96/8/2/iterations:1\n"
+      "BM_string_memcpy/96/8/4/iterations:1\n"
+      "BM_string_memcpy/96/8/8/iterations:1\n"
+      "BM_string_memcpy/96/8/16/iterations:1\n"
+      "BM_string_memcpy/96/8/32/iterations:1\n"
+      "BM_string_memcpy/96/16/1/iterations:1\n"
+      "BM_string_memcpy/96/16/2/iterations:1\n"
+      "BM_string_memcpy/96/16/4/iterations:1\n"
+      "BM_string_memcpy/96/16/8/iterations:1\n"
+      "BM_string_memcpy/96/16/16/iterations:1\n"
+      "BM_string_memcpy/96/16/32/iterations:1\n"
+      "BM_string_memcpy/96/32/1/iterations:1\n"
+      "BM_string_memcpy/96/32/2/iterations:1\n"
+      "BM_string_memcpy/96/32/4/iterations:1\n"
+      "BM_string_memcpy/96/32/8/iterations:1\n"
+      "BM_string_memcpy/96/32/16/iterations:1\n"
+      "BM_string_memcpy/96/32/32/iterations:1\n"
+      "BM_string_memcpy/104/0/0/iterations:1\n"
+      "BM_string_memcpy/104/1/1/iterations:1\n"
+      "BM_string_memcpy/104/1/2/iterations:1\n"
+      "BM_string_memcpy/104/1/4/iterations:1\n"
+      "BM_string_memcpy/104/1/8/iterations:1\n"
+      "BM_string_memcpy/104/1/16/iterations:1\n"
+      "BM_string_memcpy/104/1/32/iterations:1\n"
+      "BM_string_memcpy/104/2/1/iterations:1\n"
+      "BM_string_memcpy/104/2/2/iterations:1\n"
+      "BM_string_memcpy/104/2/4/iterations:1\n"
+      "BM_string_memcpy/104/2/8/iterations:1\n"
+      "BM_string_memcpy/104/2/16/iterations:1\n"
+      "BM_string_memcpy/104/2/32/iterations:1\n"
+      "BM_string_memcpy/104/4/1/iterations:1\n"
+      "BM_string_memcpy/104/4/2/iterations:1\n"
+      "BM_string_memcpy/104/4/4/iterations:1\n"
+      "BM_string_memcpy/104/4/8/iterations:1\n"
+      "BM_string_memcpy/104/4/16/iterations:1\n"
+      "BM_string_memcpy/104/4/32/iterations:1\n"
+      "BM_string_memcpy/104/8/1/iterations:1\n"
+      "BM_string_memcpy/104/8/2/iterations:1\n"
+      "BM_string_memcpy/104/8/4/iterations:1\n"
+      "BM_string_memcpy/104/8/8/iterations:1\n"
+      "BM_string_memcpy/104/8/16/iterations:1\n"
+      "BM_string_memcpy/104/8/32/iterations:1\n"
+      "BM_string_memcpy/104/16/1/iterations:1\n"
+      "BM_string_memcpy/104/16/2/iterations:1\n"
+      "BM_string_memcpy/104/16/4/iterations:1\n"
+      "BM_string_memcpy/104/16/8/iterations:1\n"
+      "BM_string_memcpy/104/16/16/iterations:1\n"
+      "BM_string_memcpy/104/16/32/iterations:1\n"
+      "BM_string_memcpy/104/32/1/iterations:1\n"
+      "BM_string_memcpy/104/32/2/iterations:1\n"
+      "BM_string_memcpy/104/32/4/iterations:1\n"
+      "BM_string_memcpy/104/32/8/iterations:1\n"
+      "BM_string_memcpy/104/32/16/iterations:1\n"
+      "BM_string_memcpy/104/32/32/iterations:1\n"
+      "BM_string_memcpy/112/0/0/iterations:1\n"
+      "BM_string_memcpy/112/1/1/iterations:1\n"
+      "BM_string_memcpy/112/1/2/iterations:1\n"
+      "BM_string_memcpy/112/1/4/iterations:1\n"
+      "BM_string_memcpy/112/1/8/iterations:1\n"
+      "BM_string_memcpy/112/1/16/iterations:1\n"
+      "BM_string_memcpy/112/1/32/iterations:1\n"
+      "BM_string_memcpy/112/2/1/iterations:1\n"
+      "BM_string_memcpy/112/2/2/iterations:1\n"
+      "BM_string_memcpy/112/2/4/iterations:1\n"
+      "BM_string_memcpy/112/2/8/iterations:1\n"
+      "BM_string_memcpy/112/2/16/iterations:1\n"
+      "BM_string_memcpy/112/2/32/iterations:1\n"
+      "BM_string_memcpy/112/4/1/iterations:1\n"
+      "BM_string_memcpy/112/4/2/iterations:1\n"
+      "BM_string_memcpy/112/4/4/iterations:1\n"
+      "BM_string_memcpy/112/4/8/iterations:1\n"
+      "BM_string_memcpy/112/4/16/iterations:1\n"
+      "BM_string_memcpy/112/4/32/iterations:1\n"
+      "BM_string_memcpy/112/8/1/iterations:1\n"
+      "BM_string_memcpy/112/8/2/iterations:1\n"
+      "BM_string_memcpy/112/8/4/iterations:1\n"
+      "BM_string_memcpy/112/8/8/iterations:1\n"
+      "BM_string_memcpy/112/8/16/iterations:1\n"
+      "BM_string_memcpy/112/8/32/iterations:1\n"
+      "BM_string_memcpy/112/16/1/iterations:1\n"
+      "BM_string_memcpy/112/16/2/iterations:1\n"
+      "BM_string_memcpy/112/16/4/iterations:1\n"
+      "BM_string_memcpy/112/16/8/iterations:1\n"
+      "BM_string_memcpy/112/16/16/iterations:1\n"
+      "BM_string_memcpy/112/16/32/iterations:1\n"
+      "BM_string_memcpy/112/32/1/iterations:1\n"
+      "BM_string_memcpy/112/32/2/iterations:1\n"
+      "BM_string_memcpy/112/32/4/iterations:1\n"
+      "BM_string_memcpy/112/32/8/iterations:1\n"
+      "BM_string_memcpy/112/32/16/iterations:1\n"
+      "BM_string_memcpy/112/32/32/iterations:1\n"
+      "BM_string_memcpy/120/0/0/iterations:1\n"
+      "BM_string_memcpy/120/1/1/iterations:1\n"
+      "BM_string_memcpy/120/1/2/iterations:1\n"
+      "BM_string_memcpy/120/1/4/iterations:1\n"
+      "BM_string_memcpy/120/1/8/iterations:1\n"
+      "BM_string_memcpy/120/1/16/iterations:1\n"
+      "BM_string_memcpy/120/1/32/iterations:1\n"
+      "BM_string_memcpy/120/2/1/iterations:1\n"
+      "BM_string_memcpy/120/2/2/iterations:1\n"
+      "BM_string_memcpy/120/2/4/iterations:1\n"
+      "BM_string_memcpy/120/2/8/iterations:1\n"
+      "BM_string_memcpy/120/2/16/iterations:1\n"
+      "BM_string_memcpy/120/2/32/iterations:1\n"
+      "BM_string_memcpy/120/4/1/iterations:1\n"
+      "BM_string_memcpy/120/4/2/iterations:1\n"
+      "BM_string_memcpy/120/4/4/iterations:1\n"
+      "BM_string_memcpy/120/4/8/iterations:1\n"
+      "BM_string_memcpy/120/4/16/iterations:1\n"
+      "BM_string_memcpy/120/4/32/iterations:1\n"
+      "BM_string_memcpy/120/8/1/iterations:1\n"
+      "BM_string_memcpy/120/8/2/iterations:1\n"
+      "BM_string_memcpy/120/8/4/iterations:1\n"
+      "BM_string_memcpy/120/8/8/iterations:1\n"
+      "BM_string_memcpy/120/8/16/iterations:1\n"
+      "BM_string_memcpy/120/8/32/iterations:1\n"
+      "BM_string_memcpy/120/16/1/iterations:1\n"
+      "BM_string_memcpy/120/16/2/iterations:1\n"
+      "BM_string_memcpy/120/16/4/iterations:1\n"
+      "BM_string_memcpy/120/16/8/iterations:1\n"
+      "BM_string_memcpy/120/16/16/iterations:1\n"
+      "BM_string_memcpy/120/16/32/iterations:1\n"
+      "BM_string_memcpy/120/32/1/iterations:1\n"
+      "BM_string_memcpy/120/32/2/iterations:1\n"
+      "BM_string_memcpy/120/32/4/iterations:1\n"
+      "BM_string_memcpy/120/32/8/iterations:1\n"
+      "BM_string_memcpy/120/32/16/iterations:1\n"
+      "BM_string_memcpy/120/32/32/iterations:1\n"
+      "BM_string_memcpy/128/0/0/iterations:1\n"
+      "BM_string_memcpy/128/1/1/iterations:1\n"
+      "BM_string_memcpy/128/1/2/iterations:1\n"
+      "BM_string_memcpy/128/1/4/iterations:1\n"
+      "BM_string_memcpy/128/1/8/iterations:1\n"
+      "BM_string_memcpy/128/1/16/iterations:1\n"
+      "BM_string_memcpy/128/1/32/iterations:1\n"
+      "BM_string_memcpy/128/2/1/iterations:1\n"
+      "BM_string_memcpy/128/2/2/iterations:1\n"
+      "BM_string_memcpy/128/2/4/iterations:1\n"
+      "BM_string_memcpy/128/2/8/iterations:1\n"
+      "BM_string_memcpy/128/2/16/iterations:1\n"
+      "BM_string_memcpy/128/2/32/iterations:1\n"
+      "BM_string_memcpy/128/4/1/iterations:1\n"
+      "BM_string_memcpy/128/4/2/iterations:1\n"
+      "BM_string_memcpy/128/4/4/iterations:1\n"
+      "BM_string_memcpy/128/4/8/iterations:1\n"
+      "BM_string_memcpy/128/4/16/iterations:1\n"
+      "BM_string_memcpy/128/4/32/iterations:1\n"
+      "BM_string_memcpy/128/8/1/iterations:1\n"
+      "BM_string_memcpy/128/8/2/iterations:1\n"
+      "BM_string_memcpy/128/8/4/iterations:1\n"
+      "BM_string_memcpy/128/8/8/iterations:1\n"
+      "BM_string_memcpy/128/8/16/iterations:1\n"
+      "BM_string_memcpy/128/8/32/iterations:1\n"
+      "BM_string_memcpy/128/16/1/iterations:1\n"
+      "BM_string_memcpy/128/16/2/iterations:1\n"
+      "BM_string_memcpy/128/16/4/iterations:1\n"
+      "BM_string_memcpy/128/16/8/iterations:1\n"
+      "BM_string_memcpy/128/16/16/iterations:1\n"
+      "BM_string_memcpy/128/16/32/iterations:1\n"
+      "BM_string_memcpy/128/32/1/iterations:1\n"
+      "BM_string_memcpy/128/32/2/iterations:1\n"
+      "BM_string_memcpy/128/32/4/iterations:1\n"
+      "BM_string_memcpy/128/32/8/iterations:1\n"
+      "BM_string_memcpy/128/32/16/iterations:1\n"
+      "BM_string_memcpy/128/32/32/iterations:1\n"
+      "BM_string_memcpy/136/0/0/iterations:1\n"
+      "BM_string_memcpy/136/1/1/iterations:1\n"
+      "BM_string_memcpy/136/1/2/iterations:1\n"
+      "BM_string_memcpy/136/1/4/iterations:1\n"
+      "BM_string_memcpy/136/1/8/iterations:1\n"
+      "BM_string_memcpy/136/1/16/iterations:1\n"
+      "BM_string_memcpy/136/1/32/iterations:1\n"
+      "BM_string_memcpy/136/2/1/iterations:1\n"
+      "BM_string_memcpy/136/2/2/iterations:1\n"
+      "BM_string_memcpy/136/2/4/iterations:1\n"
+      "BM_string_memcpy/136/2/8/iterations:1\n"
+      "BM_string_memcpy/136/2/16/iterations:1\n"
+      "BM_string_memcpy/136/2/32/iterations:1\n"
+      "BM_string_memcpy/136/4/1/iterations:1\n"
+      "BM_string_memcpy/136/4/2/iterations:1\n"
+      "BM_string_memcpy/136/4/4/iterations:1\n"
+      "BM_string_memcpy/136/4/8/iterations:1\n"
+      "BM_string_memcpy/136/4/16/iterations:1\n"
+      "BM_string_memcpy/136/4/32/iterations:1\n"
+      "BM_string_memcpy/136/8/1/iterations:1\n"
+      "BM_string_memcpy/136/8/2/iterations:1\n"
+      "BM_string_memcpy/136/8/4/iterations:1\n"
+      "BM_string_memcpy/136/8/8/iterations:1\n"
+      "BM_string_memcpy/136/8/16/iterations:1\n"
+      "BM_string_memcpy/136/8/32/iterations:1\n"
+      "BM_string_memcpy/136/16/1/iterations:1\n"
+      "BM_string_memcpy/136/16/2/iterations:1\n"
+      "BM_string_memcpy/136/16/4/iterations:1\n"
+      "BM_string_memcpy/136/16/8/iterations:1\n"
+      "BM_string_memcpy/136/16/16/iterations:1\n"
+      "BM_string_memcpy/136/16/32/iterations:1\n"
+      "BM_string_memcpy/136/32/1/iterations:1\n"
+      "BM_string_memcpy/136/32/2/iterations:1\n"
+      "BM_string_memcpy/136/32/4/iterations:1\n"
+      "BM_string_memcpy/136/32/8/iterations:1\n"
+      "BM_string_memcpy/136/32/16/iterations:1\n"
+      "BM_string_memcpy/136/32/32/iterations:1\n"
+      "BM_string_memcpy/144/0/0/iterations:1\n"
+      "BM_string_memcpy/144/1/1/iterations:1\n"
+      "BM_string_memcpy/144/1/2/iterations:1\n"
+      "BM_string_memcpy/144/1/4/iterations:1\n"
+      "BM_string_memcpy/144/1/8/iterations:1\n"
+      "BM_string_memcpy/144/1/16/iterations:1\n"
+      "BM_string_memcpy/144/1/32/iterations:1\n"
+      "BM_string_memcpy/144/2/1/iterations:1\n"
+      "BM_string_memcpy/144/2/2/iterations:1\n"
+      "BM_string_memcpy/144/2/4/iterations:1\n"
+      "BM_string_memcpy/144/2/8/iterations:1\n"
+      "BM_string_memcpy/144/2/16/iterations:1\n"
+      "BM_string_memcpy/144/2/32/iterations:1\n"
+      "BM_string_memcpy/144/4/1/iterations:1\n"
+      "BM_string_memcpy/144/4/2/iterations:1\n"
+      "BM_string_memcpy/144/4/4/iterations:1\n"
+      "BM_string_memcpy/144/4/8/iterations:1\n"
+      "BM_string_memcpy/144/4/16/iterations:1\n"
+      "BM_string_memcpy/144/4/32/iterations:1\n"
+      "BM_string_memcpy/144/8/1/iterations:1\n"
+      "BM_string_memcpy/144/8/2/iterations:1\n"
+      "BM_string_memcpy/144/8/4/iterations:1\n"
+      "BM_string_memcpy/144/8/8/iterations:1\n"
+      "BM_string_memcpy/144/8/16/iterations:1\n"
+      "BM_string_memcpy/144/8/32/iterations:1\n"
+      "BM_string_memcpy/144/16/1/iterations:1\n"
+      "BM_string_memcpy/144/16/2/iterations:1\n"
+      "BM_string_memcpy/144/16/4/iterations:1\n"
+      "BM_string_memcpy/144/16/8/iterations:1\n"
+      "BM_string_memcpy/144/16/16/iterations:1\n"
+      "BM_string_memcpy/144/16/32/iterations:1\n"
+      "BM_string_memcpy/144/32/1/iterations:1\n"
+      "BM_string_memcpy/144/32/2/iterations:1\n"
+      "BM_string_memcpy/144/32/4/iterations:1\n"
+      "BM_string_memcpy/144/32/8/iterations:1\n"
+      "BM_string_memcpy/144/32/16/iterations:1\n"
+      "BM_string_memcpy/144/32/32/iterations:1\n"
+      "BM_string_memcpy/160/0/0/iterations:1\n"
+      "BM_string_memcpy/160/1/1/iterations:1\n"
+      "BM_string_memcpy/160/1/2/iterations:1\n"
+      "BM_string_memcpy/160/1/4/iterations:1\n"
+      "BM_string_memcpy/160/1/8/iterations:1\n"
+      "BM_string_memcpy/160/1/16/iterations:1\n"
+      "BM_string_memcpy/160/1/32/iterations:1\n"
+      "BM_string_memcpy/160/2/1/iterations:1\n"
+      "BM_string_memcpy/160/2/2/iterations:1\n"
+      "BM_string_memcpy/160/2/4/iterations:1\n"
+      "BM_string_memcpy/160/2/8/iterations:1\n"
+      "BM_string_memcpy/160/2/16/iterations:1\n"
+      "BM_string_memcpy/160/2/32/iterations:1\n"
+      "BM_string_memcpy/160/4/1/iterations:1\n"
+      "BM_string_memcpy/160/4/2/iterations:1\n"
+      "BM_string_memcpy/160/4/4/iterations:1\n"
+      "BM_string_memcpy/160/4/8/iterations:1\n"
+      "BM_string_memcpy/160/4/16/iterations:1\n"
+      "BM_string_memcpy/160/4/32/iterations:1\n"
+      "BM_string_memcpy/160/8/1/iterations:1\n"
+      "BM_string_memcpy/160/8/2/iterations:1\n"
+      "BM_string_memcpy/160/8/4/iterations:1\n"
+      "BM_string_memcpy/160/8/8/iterations:1\n"
+      "BM_string_memcpy/160/8/16/iterations:1\n"
+      "BM_string_memcpy/160/8/32/iterations:1\n"
+      "BM_string_memcpy/160/16/1/iterations:1\n"
+      "BM_string_memcpy/160/16/2/iterations:1\n"
+      "BM_string_memcpy/160/16/4/iterations:1\n"
+      "BM_string_memcpy/160/16/8/iterations:1\n"
+      "BM_string_memcpy/160/16/16/iterations:1\n"
+      "BM_string_memcpy/160/16/32/iterations:1\n"
+      "BM_string_memcpy/160/32/1/iterations:1\n"
+      "BM_string_memcpy/160/32/2/iterations:1\n"
+      "BM_string_memcpy/160/32/4/iterations:1\n"
+      "BM_string_memcpy/160/32/8/iterations:1\n"
+      "BM_string_memcpy/160/32/16/iterations:1\n"
+      "BM_string_memcpy/160/32/32/iterations:1\n"
+      "BM_string_memcpy/176/0/0/iterations:1\n"
+      "BM_string_memcpy/176/1/1/iterations:1\n"
+      "BM_string_memcpy/176/1/2/iterations:1\n"
+      "BM_string_memcpy/176/1/4/iterations:1\n"
+      "BM_string_memcpy/176/1/8/iterations:1\n"
+      "BM_string_memcpy/176/1/16/iterations:1\n"
+      "BM_string_memcpy/176/1/32/iterations:1\n"
+      "BM_string_memcpy/176/2/1/iterations:1\n"
+      "BM_string_memcpy/176/2/2/iterations:1\n"
+      "BM_string_memcpy/176/2/4/iterations:1\n"
+      "BM_string_memcpy/176/2/8/iterations:1\n"
+      "BM_string_memcpy/176/2/16/iterations:1\n"
+      "BM_string_memcpy/176/2/32/iterations:1\n"
+      "BM_string_memcpy/176/4/1/iterations:1\n"
+      "BM_string_memcpy/176/4/2/iterations:1\n"
+      "BM_string_memcpy/176/4/4/iterations:1\n"
+      "BM_string_memcpy/176/4/8/iterations:1\n"
+      "BM_string_memcpy/176/4/16/iterations:1\n"
+      "BM_string_memcpy/176/4/32/iterations:1\n"
+      "BM_string_memcpy/176/8/1/iterations:1\n"
+      "BM_string_memcpy/176/8/2/iterations:1\n"
+      "BM_string_memcpy/176/8/4/iterations:1\n"
+      "BM_string_memcpy/176/8/8/iterations:1\n"
+      "BM_string_memcpy/176/8/16/iterations:1\n"
+      "BM_string_memcpy/176/8/32/iterations:1\n"
+      "BM_string_memcpy/176/16/1/iterations:1\n"
+      "BM_string_memcpy/176/16/2/iterations:1\n"
+      "BM_string_memcpy/176/16/4/iterations:1\n"
+      "BM_string_memcpy/176/16/8/iterations:1\n"
+      "BM_string_memcpy/176/16/16/iterations:1\n"
+      "BM_string_memcpy/176/16/32/iterations:1\n"
+      "BM_string_memcpy/176/32/1/iterations:1\n"
+      "BM_string_memcpy/176/32/2/iterations:1\n"
+      "BM_string_memcpy/176/32/4/iterations:1\n"
+      "BM_string_memcpy/176/32/8/iterations:1\n"
+      "BM_string_memcpy/176/32/16/iterations:1\n"
+      "BM_string_memcpy/176/32/32/iterations:1\n"
+      "BM_string_memcpy/192/0/0/iterations:1\n"
+      "BM_string_memcpy/192/1/1/iterations:1\n"
+      "BM_string_memcpy/192/1/2/iterations:1\n"
+      "BM_string_memcpy/192/1/4/iterations:1\n"
+      "BM_string_memcpy/192/1/8/iterations:1\n"
+      "BM_string_memcpy/192/1/16/iterations:1\n"
+      "BM_string_memcpy/192/1/32/iterations:1\n"
+      "BM_string_memcpy/192/2/1/iterations:1\n"
+      "BM_string_memcpy/192/2/2/iterations:1\n"
+      "BM_string_memcpy/192/2/4/iterations:1\n"
+      "BM_string_memcpy/192/2/8/iterations:1\n"
+      "BM_string_memcpy/192/2/16/iterations:1\n"
+      "BM_string_memcpy/192/2/32/iterations:1\n"
+      "BM_string_memcpy/192/4/1/iterations:1\n"
+      "BM_string_memcpy/192/4/2/iterations:1\n"
+      "BM_string_memcpy/192/4/4/iterations:1\n"
+      "BM_string_memcpy/192/4/8/iterations:1\n"
+      "BM_string_memcpy/192/4/16/iterations:1\n"
+      "BM_string_memcpy/192/4/32/iterations:1\n"
+      "BM_string_memcpy/192/8/1/iterations:1\n"
+      "BM_string_memcpy/192/8/2/iterations:1\n"
+      "BM_string_memcpy/192/8/4/iterations:1\n"
+      "BM_string_memcpy/192/8/8/iterations:1\n"
+      "BM_string_memcpy/192/8/16/iterations:1\n"
+      "BM_string_memcpy/192/8/32/iterations:1\n"
+      "BM_string_memcpy/192/16/1/iterations:1\n"
+      "BM_string_memcpy/192/16/2/iterations:1\n"
+      "BM_string_memcpy/192/16/4/iterations:1\n"
+      "BM_string_memcpy/192/16/8/iterations:1\n"
+      "BM_string_memcpy/192/16/16/iterations:1\n"
+      "BM_string_memcpy/192/16/32/iterations:1\n"
+      "BM_string_memcpy/192/32/1/iterations:1\n"
+      "BM_string_memcpy/192/32/2/iterations:1\n"
+      "BM_string_memcpy/192/32/4/iterations:1\n"
+      "BM_string_memcpy/192/32/8/iterations:1\n"
+      "BM_string_memcpy/192/32/16/iterations:1\n"
+      "BM_string_memcpy/192/32/32/iterations:1\n"
+      "BM_string_memcpy/208/0/0/iterations:1\n"
+      "BM_string_memcpy/208/1/1/iterations:1\n"
+      "BM_string_memcpy/208/1/2/iterations:1\n"
+      "BM_string_memcpy/208/1/4/iterations:1\n"
+      "BM_string_memcpy/208/1/8/iterations:1\n"
+      "BM_string_memcpy/208/1/16/iterations:1\n"
+      "BM_string_memcpy/208/1/32/iterations:1\n"
+      "BM_string_memcpy/208/2/1/iterations:1\n"
+      "BM_string_memcpy/208/2/2/iterations:1\n"
+      "BM_string_memcpy/208/2/4/iterations:1\n"
+      "BM_string_memcpy/208/2/8/iterations:1\n"
+      "BM_string_memcpy/208/2/16/iterations:1\n"
+      "BM_string_memcpy/208/2/32/iterations:1\n"
+      "BM_string_memcpy/208/4/1/iterations:1\n"
+      "BM_string_memcpy/208/4/2/iterations:1\n"
+      "BM_string_memcpy/208/4/4/iterations:1\n"
+      "BM_string_memcpy/208/4/8/iterations:1\n"
+      "BM_string_memcpy/208/4/16/iterations:1\n"
+      "BM_string_memcpy/208/4/32/iterations:1\n"
+      "BM_string_memcpy/208/8/1/iterations:1\n"
+      "BM_string_memcpy/208/8/2/iterations:1\n"
+      "BM_string_memcpy/208/8/4/iterations:1\n"
+      "BM_string_memcpy/208/8/8/iterations:1\n"
+      "BM_string_memcpy/208/8/16/iterations:1\n"
+      "BM_string_memcpy/208/8/32/iterations:1\n"
+      "BM_string_memcpy/208/16/1/iterations:1\n"
+      "BM_string_memcpy/208/16/2/iterations:1\n"
+      "BM_string_memcpy/208/16/4/iterations:1\n"
+      "BM_string_memcpy/208/16/8/iterations:1\n"
+      "BM_string_memcpy/208/16/16/iterations:1\n"
+      "BM_string_memcpy/208/16/32/iterations:1\n"
+      "BM_string_memcpy/208/32/1/iterations:1\n"
+      "BM_string_memcpy/208/32/2/iterations:1\n"
+      "BM_string_memcpy/208/32/4/iterations:1\n"
+      "BM_string_memcpy/208/32/8/iterations:1\n"
+      "BM_string_memcpy/208/32/16/iterations:1\n"
+      "BM_string_memcpy/208/32/32/iterations:1\n"
+      "BM_string_memcpy/224/0/0/iterations:1\n"
+      "BM_string_memcpy/224/1/1/iterations:1\n"
+      "BM_string_memcpy/224/1/2/iterations:1\n"
+      "BM_string_memcpy/224/1/4/iterations:1\n"
+      "BM_string_memcpy/224/1/8/iterations:1\n"
+      "BM_string_memcpy/224/1/16/iterations:1\n"
+      "BM_string_memcpy/224/1/32/iterations:1\n"
+      "BM_string_memcpy/224/2/1/iterations:1\n"
+      "BM_string_memcpy/224/2/2/iterations:1\n"
+      "BM_string_memcpy/224/2/4/iterations:1\n"
+      "BM_string_memcpy/224/2/8/iterations:1\n"
+      "BM_string_memcpy/224/2/16/iterations:1\n"
+      "BM_string_memcpy/224/2/32/iterations:1\n"
+      "BM_string_memcpy/224/4/1/iterations:1\n"
+      "BM_string_memcpy/224/4/2/iterations:1\n"
+      "BM_string_memcpy/224/4/4/iterations:1\n"
+      "BM_string_memcpy/224/4/8/iterations:1\n"
+      "BM_string_memcpy/224/4/16/iterations:1\n"
+      "BM_string_memcpy/224/4/32/iterations:1\n"
+      "BM_string_memcpy/224/8/1/iterations:1\n"
+      "BM_string_memcpy/224/8/2/iterations:1\n"
+      "BM_string_memcpy/224/8/4/iterations:1\n"
+      "BM_string_memcpy/224/8/8/iterations:1\n"
+      "BM_string_memcpy/224/8/16/iterations:1\n"
+      "BM_string_memcpy/224/8/32/iterations:1\n"
+      "BM_string_memcpy/224/16/1/iterations:1\n"
+      "BM_string_memcpy/224/16/2/iterations:1\n"
+      "BM_string_memcpy/224/16/4/iterations:1\n"
+      "BM_string_memcpy/224/16/8/iterations:1\n"
+      "BM_string_memcpy/224/16/16/iterations:1\n"
+      "BM_string_memcpy/224/16/32/iterations:1\n"
+      "BM_string_memcpy/224/32/1/iterations:1\n"
+      "BM_string_memcpy/224/32/2/iterations:1\n"
+      "BM_string_memcpy/224/32/4/iterations:1\n"
+      "BM_string_memcpy/224/32/8/iterations:1\n"
+      "BM_string_memcpy/224/32/16/iterations:1\n"
+      "BM_string_memcpy/224/32/32/iterations:1\n"
+      "BM_string_memcpy/240/0/0/iterations:1\n"
+      "BM_string_memcpy/240/1/1/iterations:1\n"
+      "BM_string_memcpy/240/1/2/iterations:1\n"
+      "BM_string_memcpy/240/1/4/iterations:1\n"
+      "BM_string_memcpy/240/1/8/iterations:1\n"
+      "BM_string_memcpy/240/1/16/iterations:1\n"
+      "BM_string_memcpy/240/1/32/iterations:1\n"
+      "BM_string_memcpy/240/2/1/iterations:1\n"
+      "BM_string_memcpy/240/2/2/iterations:1\n"
+      "BM_string_memcpy/240/2/4/iterations:1\n"
+      "BM_string_memcpy/240/2/8/iterations:1\n"
+      "BM_string_memcpy/240/2/16/iterations:1\n"
+      "BM_string_memcpy/240/2/32/iterations:1\n"
+      "BM_string_memcpy/240/4/1/iterations:1\n"
+      "BM_string_memcpy/240/4/2/iterations:1\n"
+      "BM_string_memcpy/240/4/4/iterations:1\n"
+      "BM_string_memcpy/240/4/8/iterations:1\n"
+      "BM_string_memcpy/240/4/16/iterations:1\n"
+      "BM_string_memcpy/240/4/32/iterations:1\n"
+      "BM_string_memcpy/240/8/1/iterations:1\n"
+      "BM_string_memcpy/240/8/2/iterations:1\n"
+      "BM_string_memcpy/240/8/4/iterations:1\n"
+      "BM_string_memcpy/240/8/8/iterations:1\n"
+      "BM_string_memcpy/240/8/16/iterations:1\n"
+      "BM_string_memcpy/240/8/32/iterations:1\n"
+      "BM_string_memcpy/240/16/1/iterations:1\n"
+      "BM_string_memcpy/240/16/2/iterations:1\n"
+      "BM_string_memcpy/240/16/4/iterations:1\n"
+      "BM_string_memcpy/240/16/8/iterations:1\n"
+      "BM_string_memcpy/240/16/16/iterations:1\n"
+      "BM_string_memcpy/240/16/32/iterations:1\n"
+      "BM_string_memcpy/240/32/1/iterations:1\n"
+      "BM_string_memcpy/240/32/2/iterations:1\n"
+      "BM_string_memcpy/240/32/4/iterations:1\n"
+      "BM_string_memcpy/240/32/8/iterations:1\n"
+      "BM_string_memcpy/240/32/16/iterations:1\n"
+      "BM_string_memcpy/240/32/32/iterations:1\n"
+      "BM_string_memcpy/256/0/0/iterations:1\n"
+      "BM_string_memcpy/256/1/1/iterations:1\n"
+      "BM_string_memcpy/256/1/2/iterations:1\n"
+      "BM_string_memcpy/256/1/4/iterations:1\n"
+      "BM_string_memcpy/256/1/8/iterations:1\n"
+      "BM_string_memcpy/256/1/16/iterations:1\n"
+      "BM_string_memcpy/256/1/32/iterations:1\n"
+      "BM_string_memcpy/256/2/1/iterations:1\n"
+      "BM_string_memcpy/256/2/2/iterations:1\n"
+      "BM_string_memcpy/256/2/4/iterations:1\n"
+      "BM_string_memcpy/256/2/8/iterations:1\n"
+      "BM_string_memcpy/256/2/16/iterations:1\n"
+      "BM_string_memcpy/256/2/32/iterations:1\n"
+      "BM_string_memcpy/256/4/1/iterations:1\n"
+      "BM_string_memcpy/256/4/2/iterations:1\n"
+      "BM_string_memcpy/256/4/4/iterations:1\n"
+      "BM_string_memcpy/256/4/8/iterations:1\n"
+      "BM_string_memcpy/256/4/16/iterations:1\n"
+      "BM_string_memcpy/256/4/32/iterations:1\n"
+      "BM_string_memcpy/256/8/1/iterations:1\n"
+      "BM_string_memcpy/256/8/2/iterations:1\n"
+      "BM_string_memcpy/256/8/4/iterations:1\n"
+      "BM_string_memcpy/256/8/8/iterations:1\n"
+      "BM_string_memcpy/256/8/16/iterations:1\n"
+      "BM_string_memcpy/256/8/32/iterations:1\n"
+      "BM_string_memcpy/256/16/1/iterations:1\n"
+      "BM_string_memcpy/256/16/2/iterations:1\n"
+      "BM_string_memcpy/256/16/4/iterations:1\n"
+      "BM_string_memcpy/256/16/8/iterations:1\n"
+      "BM_string_memcpy/256/16/16/iterations:1\n"
+      "BM_string_memcpy/256/16/32/iterations:1\n"
+      "BM_string_memcpy/256/32/1/iterations:1\n"
+      "BM_string_memcpy/256/32/2/iterations:1\n"
+      "BM_string_memcpy/256/32/4/iterations:1\n"
+      "BM_string_memcpy/256/32/8/iterations:1\n"
+      "BM_string_memcpy/256/32/16/iterations:1\n"
+      "BM_string_memcpy/256/32/32/iterations:1\n"
+      "BM_string_memcpy/512/0/0/iterations:1\n"
+      "BM_string_memcpy/512/1/1/iterations:1\n"
+      "BM_string_memcpy/512/1/2/iterations:1\n"
+      "BM_string_memcpy/512/1/4/iterations:1\n"
+      "BM_string_memcpy/512/1/8/iterations:1\n"
+      "BM_string_memcpy/512/1/16/iterations:1\n"
+      "BM_string_memcpy/512/1/32/iterations:1\n"
+      "BM_string_memcpy/512/2/1/iterations:1\n"
+      "BM_string_memcpy/512/2/2/iterations:1\n"
+      "BM_string_memcpy/512/2/4/iterations:1\n"
+      "BM_string_memcpy/512/2/8/iterations:1\n"
+      "BM_string_memcpy/512/2/16/iterations:1\n"
+      "BM_string_memcpy/512/2/32/iterations:1\n"
+      "BM_string_memcpy/512/4/1/iterations:1\n"
+      "BM_string_memcpy/512/4/2/iterations:1\n"
+      "BM_string_memcpy/512/4/4/iterations:1\n"
+      "BM_string_memcpy/512/4/8/iterations:1\n"
+      "BM_string_memcpy/512/4/16/iterations:1\n"
+      "BM_string_memcpy/512/4/32/iterations:1\n"
+      "BM_string_memcpy/512/8/1/iterations:1\n"
+      "BM_string_memcpy/512/8/2/iterations:1\n"
+      "BM_string_memcpy/512/8/4/iterations:1\n"
+      "BM_string_memcpy/512/8/8/iterations:1\n"
+      "BM_string_memcpy/512/8/16/iterations:1\n"
+      "BM_string_memcpy/512/8/32/iterations:1\n"
+      "BM_string_memcpy/512/16/1/iterations:1\n"
+      "BM_string_memcpy/512/16/2/iterations:1\n"
+      "BM_string_memcpy/512/16/4/iterations:1\n"
+      "BM_string_memcpy/512/16/8/iterations:1\n"
+      "BM_string_memcpy/512/16/16/iterations:1\n"
+      "BM_string_memcpy/512/16/32/iterations:1\n"
+      "BM_string_memcpy/512/32/1/iterations:1\n"
+      "BM_string_memcpy/512/32/2/iterations:1\n"
+      "BM_string_memcpy/512/32/4/iterations:1\n"
+      "BM_string_memcpy/512/32/8/iterations:1\n"
+      "BM_string_memcpy/512/32/16/iterations:1\n"
+      "BM_string_memcpy/512/32/32/iterations:1\n"
+      "BM_string_memcpy/1024/0/0/iterations:1\n"
+      "BM_string_memcpy/1024/1/1/iterations:1\n"
+      "BM_string_memcpy/1024/1/2/iterations:1\n"
+      "BM_string_memcpy/1024/1/4/iterations:1\n"
+      "BM_string_memcpy/1024/1/8/iterations:1\n"
+      "BM_string_memcpy/1024/1/16/iterations:1\n"
+      "BM_string_memcpy/1024/1/32/iterations:1\n"
+      "BM_string_memcpy/1024/2/1/iterations:1\n"
+      "BM_string_memcpy/1024/2/2/iterations:1\n"
+      "BM_string_memcpy/1024/2/4/iterations:1\n"
+      "BM_string_memcpy/1024/2/8/iterations:1\n"
+      "BM_string_memcpy/1024/2/16/iterations:1\n"
+      "BM_string_memcpy/1024/2/32/iterations:1\n"
+      "BM_string_memcpy/1024/4/1/iterations:1\n"
+      "BM_string_memcpy/1024/4/2/iterations:1\n"
+      "BM_string_memcpy/1024/4/4/iterations:1\n"
+      "BM_string_memcpy/1024/4/8/iterations:1\n"
+      "BM_string_memcpy/1024/4/16/iterations:1\n"
+      "BM_string_memcpy/1024/4/32/iterations:1\n"
+      "BM_string_memcpy/1024/8/1/iterations:1\n"
+      "BM_string_memcpy/1024/8/2/iterations:1\n"
+      "BM_string_memcpy/1024/8/4/iterations:1\n"
+      "BM_string_memcpy/1024/8/8/iterations:1\n"
+      "BM_string_memcpy/1024/8/16/iterations:1\n"
+      "BM_string_memcpy/1024/8/32/iterations:1\n"
+      "BM_string_memcpy/1024/16/1/iterations:1\n"
+      "BM_string_memcpy/1024/16/2/iterations:1\n"
+      "BM_string_memcpy/1024/16/4/iterations:1\n"
+      "BM_string_memcpy/1024/16/8/iterations:1\n"
+      "BM_string_memcpy/1024/16/16/iterations:1\n"
+      "BM_string_memcpy/1024/16/32/iterations:1\n"
+      "BM_string_memcpy/1024/32/1/iterations:1\n"
+      "BM_string_memcpy/1024/32/2/iterations:1\n"
+      "BM_string_memcpy/1024/32/4/iterations:1\n"
+      "BM_string_memcpy/1024/32/8/iterations:1\n"
+      "BM_string_memcpy/1024/32/16/iterations:1\n"
+      "BM_string_memcpy/1024/32/32/iterations:1\n"
+      "BM_string_memcpy/8192/0/0/iterations:1\n"
+      "BM_string_memcpy/8192/1/1/iterations:1\n"
+      "BM_string_memcpy/8192/1/2/iterations:1\n"
+      "BM_string_memcpy/8192/1/4/iterations:1\n"
+      "BM_string_memcpy/8192/1/8/iterations:1\n"
+      "BM_string_memcpy/8192/1/16/iterations:1\n"
+      "BM_string_memcpy/8192/1/32/iterations:1\n"
+      "BM_string_memcpy/8192/2/1/iterations:1\n"
+      "BM_string_memcpy/8192/2/2/iterations:1\n"
+      "BM_string_memcpy/8192/2/4/iterations:1\n"
+      "BM_string_memcpy/8192/2/8/iterations:1\n"
+      "BM_string_memcpy/8192/2/16/iterations:1\n"
+      "BM_string_memcpy/8192/2/32/iterations:1\n"
+      "BM_string_memcpy/8192/4/1/iterations:1\n"
+      "BM_string_memcpy/8192/4/2/iterations:1\n"
+      "BM_string_memcpy/8192/4/4/iterations:1\n"
+      "BM_string_memcpy/8192/4/8/iterations:1\n"
+      "BM_string_memcpy/8192/4/16/iterations:1\n"
+      "BM_string_memcpy/8192/4/32/iterations:1\n"
+      "BM_string_memcpy/8192/8/1/iterations:1\n"
+      "BM_string_memcpy/8192/8/2/iterations:1\n"
+      "BM_string_memcpy/8192/8/4/iterations:1\n"
+      "BM_string_memcpy/8192/8/8/iterations:1\n"
+      "BM_string_memcpy/8192/8/16/iterations:1\n"
+      "BM_string_memcpy/8192/8/32/iterations:1\n"
+      "BM_string_memcpy/8192/16/1/iterations:1\n"
+      "BM_string_memcpy/8192/16/2/iterations:1\n"
+      "BM_string_memcpy/8192/16/4/iterations:1\n"
+      "BM_string_memcpy/8192/16/8/iterations:1\n"
+      "BM_string_memcpy/8192/16/16/iterations:1\n"
+      "BM_string_memcpy/8192/16/32/iterations:1\n"
+      "BM_string_memcpy/8192/32/1/iterations:1\n"
+      "BM_string_memcpy/8192/32/2/iterations:1\n"
+      "BM_string_memcpy/8192/32/4/iterations:1\n"
+      "BM_string_memcpy/8192/32/8/iterations:1\n"
+      "BM_string_memcpy/8192/32/16/iterations:1\n"
+      "BM_string_memcpy/8192/32/32/iterations:1\n"
+      "BM_string_memcpy/16384/0/0/iterations:1\n"
+      "BM_string_memcpy/16384/1/1/iterations:1\n"
+      "BM_string_memcpy/16384/1/2/iterations:1\n"
+      "BM_string_memcpy/16384/1/4/iterations:1\n"
+      "BM_string_memcpy/16384/1/8/iterations:1\n"
+      "BM_string_memcpy/16384/1/16/iterations:1\n"
+      "BM_string_memcpy/16384/1/32/iterations:1\n"
+      "BM_string_memcpy/16384/2/1/iterations:1\n"
+      "BM_string_memcpy/16384/2/2/iterations:1\n"
+      "BM_string_memcpy/16384/2/4/iterations:1\n"
+      "BM_string_memcpy/16384/2/8/iterations:1\n"
+      "BM_string_memcpy/16384/2/16/iterations:1\n"
+      "BM_string_memcpy/16384/2/32/iterations:1\n"
+      "BM_string_memcpy/16384/4/1/iterations:1\n"
+      "BM_string_memcpy/16384/4/2/iterations:1\n"
+      "BM_string_memcpy/16384/4/4/iterations:1\n"
+      "BM_string_memcpy/16384/4/8/iterations:1\n"
+      "BM_string_memcpy/16384/4/16/iterations:1\n"
+      "BM_string_memcpy/16384/4/32/iterations:1\n"
+      "BM_string_memcpy/16384/8/1/iterations:1\n"
+      "BM_string_memcpy/16384/8/2/iterations:1\n"
+      "BM_string_memcpy/16384/8/4/iterations:1\n"
+      "BM_string_memcpy/16384/8/8/iterations:1\n"
+      "BM_string_memcpy/16384/8/16/iterations:1\n"
+      "BM_string_memcpy/16384/8/32/iterations:1\n"
+      "BM_string_memcpy/16384/16/1/iterations:1\n"
+      "BM_string_memcpy/16384/16/2/iterations:1\n"
+      "BM_string_memcpy/16384/16/4/iterations:1\n"
+      "BM_string_memcpy/16384/16/8/iterations:1\n"
+      "BM_string_memcpy/16384/16/16/iterations:1\n"
+      "BM_string_memcpy/16384/16/32/iterations:1\n"
+      "BM_string_memcpy/16384/32/1/iterations:1\n"
+      "BM_string_memcpy/16384/32/2/iterations:1\n"
+      "BM_string_memcpy/16384/32/4/iterations:1\n"
+      "BM_string_memcpy/16384/32/8/iterations:1\n"
+      "BM_string_memcpy/16384/32/16/iterations:1\n"
+      "BM_string_memcpy/16384/32/32/iterations:1\n"
+      "BM_string_memcpy/32768/0/0/iterations:1\n"
+      "BM_string_memcpy/32768/1/1/iterations:1\n"
+      "BM_string_memcpy/32768/1/2/iterations:1\n"
+      "BM_string_memcpy/32768/1/4/iterations:1\n"
+      "BM_string_memcpy/32768/1/8/iterations:1\n"
+      "BM_string_memcpy/32768/1/16/iterations:1\n"
+      "BM_string_memcpy/32768/1/32/iterations:1\n"
+      "BM_string_memcpy/32768/2/1/iterations:1\n"
+      "BM_string_memcpy/32768/2/2/iterations:1\n"
+      "BM_string_memcpy/32768/2/4/iterations:1\n"
+      "BM_string_memcpy/32768/2/8/iterations:1\n"
+      "BM_string_memcpy/32768/2/16/iterations:1\n"
+      "BM_string_memcpy/32768/2/32/iterations:1\n"
+      "BM_string_memcpy/32768/4/1/iterations:1\n"
+      "BM_string_memcpy/32768/4/2/iterations:1\n"
+      "BM_string_memcpy/32768/4/4/iterations:1\n"
+      "BM_string_memcpy/32768/4/8/iterations:1\n"
+      "BM_string_memcpy/32768/4/16/iterations:1\n"
+      "BM_string_memcpy/32768/4/32/iterations:1\n"
+      "BM_string_memcpy/32768/8/1/iterations:1\n"
+      "BM_string_memcpy/32768/8/2/iterations:1\n"
+      "BM_string_memcpy/32768/8/4/iterations:1\n"
+      "BM_string_memcpy/32768/8/8/iterations:1\n"
+      "BM_string_memcpy/32768/8/16/iterations:1\n"
+      "BM_string_memcpy/32768/8/32/iterations:1\n"
+      "BM_string_memcpy/32768/16/1/iterations:1\n"
+      "BM_string_memcpy/32768/16/2/iterations:1\n"
+      "BM_string_memcpy/32768/16/4/iterations:1\n"
+      "BM_string_memcpy/32768/16/8/iterations:1\n"
+      "BM_string_memcpy/32768/16/16/iterations:1\n"
+      "BM_string_memcpy/32768/16/32/iterations:1\n"
+      "BM_string_memcpy/32768/32/1/iterations:1\n"
+      "BM_string_memcpy/32768/32/2/iterations:1\n"
+      "BM_string_memcpy/32768/32/4/iterations:1\n"
+      "BM_string_memcpy/32768/32/8/iterations:1\n"
+      "BM_string_memcpy/32768/32/16/iterations:1\n"
+      "BM_string_memcpy/32768/32/32/iterations:1\n"
+      "BM_string_memcpy/65536/0/0/iterations:1\n"
+      "BM_string_memcpy/65536/1/1/iterations:1\n"
+      "BM_string_memcpy/65536/1/2/iterations:1\n"
+      "BM_string_memcpy/65536/1/4/iterations:1\n"
+      "BM_string_memcpy/65536/1/8/iterations:1\n"
+      "BM_string_memcpy/65536/1/16/iterations:1\n"
+      "BM_string_memcpy/65536/1/32/iterations:1\n"
+      "BM_string_memcpy/65536/2/1/iterations:1\n"
+      "BM_string_memcpy/65536/2/2/iterations:1\n"
+      "BM_string_memcpy/65536/2/4/iterations:1\n"
+      "BM_string_memcpy/65536/2/8/iterations:1\n"
+      "BM_string_memcpy/65536/2/16/iterations:1\n"
+      "BM_string_memcpy/65536/2/32/iterations:1\n"
+      "BM_string_memcpy/65536/4/1/iterations:1\n"
+      "BM_string_memcpy/65536/4/2/iterations:1\n"
+      "BM_string_memcpy/65536/4/4/iterations:1\n"
+      "BM_string_memcpy/65536/4/8/iterations:1\n"
+      "BM_string_memcpy/65536/4/16/iterations:1\n"
+      "BM_string_memcpy/65536/4/32/iterations:1\n"
+      "BM_string_memcpy/65536/8/1/iterations:1\n"
+      "BM_string_memcpy/65536/8/2/iterations:1\n"
+      "BM_string_memcpy/65536/8/4/iterations:1\n"
+      "BM_string_memcpy/65536/8/8/iterations:1\n"
+      "BM_string_memcpy/65536/8/16/iterations:1\n"
+      "BM_string_memcpy/65536/8/32/iterations:1\n"
+      "BM_string_memcpy/65536/16/1/iterations:1\n"
+      "BM_string_memcpy/65536/16/2/iterations:1\n"
+      "BM_string_memcpy/65536/16/4/iterations:1\n"
+      "BM_string_memcpy/65536/16/8/iterations:1\n"
+      "BM_string_memcpy/65536/16/16/iterations:1\n"
+      "BM_string_memcpy/65536/16/32/iterations:1\n"
+      "BM_string_memcpy/65536/32/1/iterations:1\n"
+      "BM_string_memcpy/65536/32/2/iterations:1\n"
+      "BM_string_memcpy/65536/32/4/iterations:1\n"
+      "BM_string_memcpy/65536/32/8/iterations:1\n"
+      "BM_string_memcpy/65536/32/16/iterations:1\n"
+      "BM_string_memcpy/65536/32/32/iterations:1\n"
+      "BM_string_memcpy/131072/0/0/iterations:1\n"
+      "BM_string_memcpy/131072/1/1/iterations:1\n"
+      "BM_string_memcpy/131072/1/2/iterations:1\n"
+      "BM_string_memcpy/131072/1/4/iterations:1\n"
+      "BM_string_memcpy/131072/1/8/iterations:1\n"
+      "BM_string_memcpy/131072/1/16/iterations:1\n"
+      "BM_string_memcpy/131072/1/32/iterations:1\n"
+      "BM_string_memcpy/131072/2/1/iterations:1\n"
+      "BM_string_memcpy/131072/2/2/iterations:1\n"
+      "BM_string_memcpy/131072/2/4/iterations:1\n"
+      "BM_string_memcpy/131072/2/8/iterations:1\n"
+      "BM_string_memcpy/131072/2/16/iterations:1\n"
+      "BM_string_memcpy/131072/2/32/iterations:1\n"
+      "BM_string_memcpy/131072/4/1/iterations:1\n"
+      "BM_string_memcpy/131072/4/2/iterations:1\n"
+      "BM_string_memcpy/131072/4/4/iterations:1\n"
+      "BM_string_memcpy/131072/4/8/iterations:1\n"
+      "BM_string_memcpy/131072/4/16/iterations:1\n"
+      "BM_string_memcpy/131072/4/32/iterations:1\n"
+      "BM_string_memcpy/131072/8/1/iterations:1\n"
+      "BM_string_memcpy/131072/8/2/iterations:1\n"
+      "BM_string_memcpy/131072/8/4/iterations:1\n"
+      "BM_string_memcpy/131072/8/8/iterations:1\n"
+      "BM_string_memcpy/131072/8/16/iterations:1\n"
+      "BM_string_memcpy/131072/8/32/iterations:1\n"
+      "BM_string_memcpy/131072/16/1/iterations:1\n"
+      "BM_string_memcpy/131072/16/2/iterations:1\n"
+      "BM_string_memcpy/131072/16/4/iterations:1\n"
+      "BM_string_memcpy/131072/16/8/iterations:1\n"
+      "BM_string_memcpy/131072/16/16/iterations:1\n"
+      "BM_string_memcpy/131072/16/32/iterations:1\n"
+      "BM_string_memcpy/131072/32/1/iterations:1\n"
+      "BM_string_memcpy/131072/32/2/iterations:1\n"
+      "BM_string_memcpy/131072/32/4/iterations:1\n"
+      "BM_string_memcpy/131072/32/8/iterations:1\n"
+      "BM_string_memcpy/131072/32/16/iterations:1\n"
+      "BM_string_memcpy/131072/32/32/iterations:1\n"
+      "BM_string_memcpy/262144/0/0/iterations:1\n"
+      "BM_string_memcpy/262144/1/1/iterations:1\n"
+      "BM_string_memcpy/262144/1/2/iterations:1\n"
+      "BM_string_memcpy/262144/1/4/iterations:1\n"
+      "BM_string_memcpy/262144/1/8/iterations:1\n"
+      "BM_string_memcpy/262144/1/16/iterations:1\n"
+      "BM_string_memcpy/262144/1/32/iterations:1\n"
+      "BM_string_memcpy/262144/2/1/iterations:1\n"
+      "BM_string_memcpy/262144/2/2/iterations:1\n"
+      "BM_string_memcpy/262144/2/4/iterations:1\n"
+      "BM_string_memcpy/262144/2/8/iterations:1\n"
+      "BM_string_memcpy/262144/2/16/iterations:1\n"
+      "BM_string_memcpy/262144/2/32/iterations:1\n"
+      "BM_string_memcpy/262144/4/1/iterations:1\n"
+      "BM_string_memcpy/262144/4/2/iterations:1\n"
+      "BM_string_memcpy/262144/4/4/iterations:1\n"
+      "BM_string_memcpy/262144/4/8/iterations:1\n"
+      "BM_string_memcpy/262144/4/16/iterations:1\n"
+      "BM_string_memcpy/262144/4/32/iterations:1\n"
+      "BM_string_memcpy/262144/8/1/iterations:1\n"
+      "BM_string_memcpy/262144/8/2/iterations:1\n"
+      "BM_string_memcpy/262144/8/4/iterations:1\n"
+      "BM_string_memcpy/262144/8/8/iterations:1\n"
+      "BM_string_memcpy/262144/8/16/iterations:1\n"
+      "BM_string_memcpy/262144/8/32/iterations:1\n"
+      "BM_string_memcpy/262144/16/1/iterations:1\n"
+      "BM_string_memcpy/262144/16/2/iterations:1\n"
+      "BM_string_memcpy/262144/16/4/iterations:1\n"
+      "BM_string_memcpy/262144/16/8/iterations:1\n"
+      "BM_string_memcpy/262144/16/16/iterations:1\n"
+      "BM_string_memcpy/262144/16/32/iterations:1\n"
+      "BM_string_memcpy/262144/32/1/iterations:1\n"
+      "BM_string_memcpy/262144/32/2/iterations:1\n"
+      "BM_string_memcpy/262144/32/4/iterations:1\n"
+      "BM_string_memcpy/262144/32/8/iterations:1\n"
+      "BM_string_memcpy/262144/32/16/iterations:1\n"
+      "BM_string_memcpy/262144/32/32/iterations:1\n"
+      "BM_string_memcpy/524288/0/0/iterations:1\n"
+      "BM_string_memcpy/524288/1/1/iterations:1\n"
+      "BM_string_memcpy/524288/1/2/iterations:1\n"
+      "BM_string_memcpy/524288/1/4/iterations:1\n"
+      "BM_string_memcpy/524288/1/8/iterations:1\n"
+      "BM_string_memcpy/524288/1/16/iterations:1\n"
+      "BM_string_memcpy/524288/1/32/iterations:1\n"
+      "BM_string_memcpy/524288/2/1/iterations:1\n"
+      "BM_string_memcpy/524288/2/2/iterations:1\n"
+      "BM_string_memcpy/524288/2/4/iterations:1\n"
+      "BM_string_memcpy/524288/2/8/iterations:1\n"
+      "BM_string_memcpy/524288/2/16/iterations:1\n"
+      "BM_string_memcpy/524288/2/32/iterations:1\n"
+      "BM_string_memcpy/524288/4/1/iterations:1\n"
+      "BM_string_memcpy/524288/4/2/iterations:1\n"
+      "BM_string_memcpy/524288/4/4/iterations:1\n"
+      "BM_string_memcpy/524288/4/8/iterations:1\n"
+      "BM_string_memcpy/524288/4/16/iterations:1\n"
+      "BM_string_memcpy/524288/4/32/iterations:1\n"
+      "BM_string_memcpy/524288/8/1/iterations:1\n"
+      "BM_string_memcpy/524288/8/2/iterations:1\n"
+      "BM_string_memcpy/524288/8/4/iterations:1\n"
+      "BM_string_memcpy/524288/8/8/iterations:1\n"
+      "BM_string_memcpy/524288/8/16/iterations:1\n"
+      "BM_string_memcpy/524288/8/32/iterations:1\n"
+      "BM_string_memcpy/524288/16/1/iterations:1\n"
+      "BM_string_memcpy/524288/16/2/iterations:1\n"
+      "BM_string_memcpy/524288/16/4/iterations:1\n"
+      "BM_string_memcpy/524288/16/8/iterations:1\n"
+      "BM_string_memcpy/524288/16/16/iterations:1\n"
+      "BM_string_memcpy/524288/16/32/iterations:1\n"
+      "BM_string_memcpy/524288/32/1/iterations:1\n"
+      "BM_string_memcpy/524288/32/2/iterations:1\n"
+      "BM_string_memcpy/524288/32/4/iterations:1\n"
+      "BM_string_memcpy/524288/32/8/iterations:1\n"
+      "BM_string_memcpy/524288/32/16/iterations:1\n"
+      "BM_string_memcpy/524288/32/32/iterations:1\n"
+      "BM_string_memcpy/1048576/0/0/iterations:1\n"
+      "BM_string_memcpy/1048576/1/1/iterations:1\n"
+      "BM_string_memcpy/1048576/1/2/iterations:1\n"
+      "BM_string_memcpy/1048576/1/4/iterations:1\n"
+      "BM_string_memcpy/1048576/1/8/iterations:1\n"
+      "BM_string_memcpy/1048576/1/16/iterations:1\n"
+      "BM_string_memcpy/1048576/1/32/iterations:1\n"
+      "BM_string_memcpy/1048576/2/1/iterations:1\n"
+      "BM_string_memcpy/1048576/2/2/iterations:1\n"
+      "BM_string_memcpy/1048576/2/4/iterations:1\n"
+      "BM_string_memcpy/1048576/2/8/iterations:1\n"
+      "BM_string_memcpy/1048576/2/16/iterations:1\n"
+      "BM_string_memcpy/1048576/2/32/iterations:1\n"
+      "BM_string_memcpy/1048576/4/1/iterations:1\n"
+      "BM_string_memcpy/1048576/4/2/iterations:1\n"
+      "BM_string_memcpy/1048576/4/4/iterations:1\n"
+      "BM_string_memcpy/1048576/4/8/iterations:1\n"
+      "BM_string_memcpy/1048576/4/16/iterations:1\n"
+      "BM_string_memcpy/1048576/4/32/iterations:1\n"
+      "BM_string_memcpy/1048576/8/1/iterations:1\n"
+      "BM_string_memcpy/1048576/8/2/iterations:1\n"
+      "BM_string_memcpy/1048576/8/4/iterations:1\n"
+      "BM_string_memcpy/1048576/8/8/iterations:1\n"
+      "BM_string_memcpy/1048576/8/16/iterations:1\n"
+      "BM_string_memcpy/1048576/8/32/iterations:1\n"
+      "BM_string_memcpy/1048576/16/1/iterations:1\n"
+      "BM_string_memcpy/1048576/16/2/iterations:1\n"
+      "BM_string_memcpy/1048576/16/4/iterations:1\n"
+      "BM_string_memcpy/1048576/16/8/iterations:1\n"
+      "BM_string_memcpy/1048576/16/16/iterations:1\n"
+      "BM_string_memcpy/1048576/16/32/iterations:1\n"
+      "BM_string_memcpy/1048576/32/1/iterations:1\n"
+      "BM_string_memcpy/1048576/32/2/iterations:1\n"
+      "BM_string_memcpy/1048576/32/4/iterations:1\n"
+      "BM_string_memcpy/1048576/32/8/iterations:1\n"
+      "BM_string_memcpy/1048576/32/16/iterations:1\n"
+      "BM_string_memcpy/1048576/32/32/iterations:1\n"
+      "BM_string_memcpy/2097152/0/0/iterations:1\n"
+      "BM_string_memcpy/2097152/1/1/iterations:1\n"
+      "BM_string_memcpy/2097152/1/2/iterations:1\n"
+      "BM_string_memcpy/2097152/1/4/iterations:1\n"
+      "BM_string_memcpy/2097152/1/8/iterations:1\n"
+      "BM_string_memcpy/2097152/1/16/iterations:1\n"
+      "BM_string_memcpy/2097152/1/32/iterations:1\n"
+      "BM_string_memcpy/2097152/2/1/iterations:1\n"
+      "BM_string_memcpy/2097152/2/2/iterations:1\n"
+      "BM_string_memcpy/2097152/2/4/iterations:1\n"
+      "BM_string_memcpy/2097152/2/8/iterations:1\n"
+      "BM_string_memcpy/2097152/2/16/iterations:1\n"
+      "BM_string_memcpy/2097152/2/32/iterations:1\n"
+      "BM_string_memcpy/2097152/4/1/iterations:1\n"
+      "BM_string_memcpy/2097152/4/2/iterations:1\n"
+      "BM_string_memcpy/2097152/4/4/iterations:1\n"
+      "BM_string_memcpy/2097152/4/8/iterations:1\n"
+      "BM_string_memcpy/2097152/4/16/iterations:1\n"
+      "BM_string_memcpy/2097152/4/32/iterations:1\n"
+      "BM_string_memcpy/2097152/8/1/iterations:1\n"
+      "BM_string_memcpy/2097152/8/2/iterations:1\n"
+      "BM_string_memcpy/2097152/8/4/iterations:1\n"
+      "BM_string_memcpy/2097152/8/8/iterations:1\n"
+      "BM_string_memcpy/2097152/8/16/iterations:1\n"
+      "BM_string_memcpy/2097152/8/32/iterations:1\n"
+      "BM_string_memcpy/2097152/16/1/iterations:1\n"
+      "BM_string_memcpy/2097152/16/2/iterations:1\n"
+      "BM_string_memcpy/2097152/16/4/iterations:1\n"
+      "BM_string_memcpy/2097152/16/8/iterations:1\n"
+      "BM_string_memcpy/2097152/16/16/iterations:1\n"
+      "BM_string_memcpy/2097152/16/32/iterations:1\n"
+      "BM_string_memcpy/2097152/32/1/iterations:1\n"
+      "BM_string_memcpy/2097152/32/2/iterations:1\n"
+      "BM_string_memcpy/2097152/32/4/iterations:1\n"
+      "BM_string_memcpy/2097152/32/8/iterations:1\n"
+      "BM_string_memcpy/2097152/32/16/iterations:1\n"
+      "BM_string_memcpy/2097152/32/32/iterations:1\n";
 
   Verify(expected, 0,
          std::vector<const char*>{GetBionicXmlArg("test_alignment_twobuf.xml").c_str()});
diff --git a/benchmarks/util.h b/benchmarks/util.h
index 99eed5f..347dc35 100644
--- a/benchmarks/util.h
+++ b/benchmarks/util.h
@@ -71,7 +71,7 @@
 
 bool LockToCPU(int cpu_to_lock);
 
-static __inline __attribute__ ((__always_inline__)) void MakeAllocationResident(
+static inline __attribute__((__always_inline__)) void MakeAllocationResident(
     void* ptr, size_t nbytes, int pagesize) {
   uint8_t* data = reinterpret_cast<uint8_t*>(ptr);
   for (size_t i = 0; i < nbytes; i += pagesize) {
diff --git a/benchmarks/wctype_benchmark.cpp b/benchmarks/wctype_benchmark.cpp
index cdf5568..cf96057 100644
--- a/benchmarks/wctype_benchmark.cpp
+++ b/benchmarks/wctype_benchmark.cpp
@@ -16,17 +16,73 @@
 
 #include <wctype.h>
 
+#include <numeric>
+#include <random>
+#include <vector>
+
 #include <benchmark/benchmark.h>
 #include "util.h"
 
-BIONIC_TRIVIAL_BENCHMARK(BM_wctype_towlower_ascii_y, towlower('X'));
-BIONIC_TRIVIAL_BENCHMARK(BM_wctype_towlower_ascii_n, towlower('x'));
+static std::vector<wint_t> RandomAscii() {
+  std::vector<wint_t> result(128);
+  std::iota(result.begin(), result.end(), 0);
+  std::shuffle(result.begin(), result.end(), std::mt19937{std::random_device{}()});
+  return result;
+}
 
-BIONIC_TRIVIAL_BENCHMARK(BM_wctype_towlower_unicode_y, towlower(0x0391));
-BIONIC_TRIVIAL_BENCHMARK(BM_wctype_towlower_unicode_n, towlower(0x03b1));
+static std::vector<wint_t> RandomNonAscii() {
+  std::vector<wint_t> result;
+  std::mt19937 rng{std::random_device{}()};
+  std::uniform_int_distribution<> d(0x80, 0xffff);
+  for (size_t i = 0; i < 128; i++) result.push_back(d(rng));
+  return result;
+}
 
-BIONIC_TRIVIAL_BENCHMARK(BM_wctype_towupper_ascii_y, towupper('x'));
-BIONIC_TRIVIAL_BENCHMARK(BM_wctype_towupper_ascii_n, towupper('X'));
+#define WCTYPE_BENCHMARK(__benchmark, fn, random_fn)            \
+  static void __benchmark##_##fn(benchmark::State& state) {     \
+    auto chars = random_fn();                                   \
+    for (auto _ : state) {                                      \
+      for (char ch : chars) {                                   \
+        benchmark::DoNotOptimize(fn(ch));                       \
+      }                                                         \
+    }                                                           \
+    state.SetBytesProcessed(state.iterations() * chars.size()); \
+  }                                                             \
+  BIONIC_BENCHMARK(__benchmark##_##fn)
 
-BIONIC_TRIVIAL_BENCHMARK(BM_wctype_towupper_unicode_y, towupper(0x03b1));
-BIONIC_TRIVIAL_BENCHMARK(BM_wctype_towupper_unicode_n, towupper(0x0391));
+#define WCTYPE_BENCHMARK_ASCII(__benchmark, fn) WCTYPE_BENCHMARK(__benchmark, fn, RandomAscii)
+
+#define WCTYPE_BENCHMARK_NON_ASCII(__benchmark, fn) \
+  WCTYPE_BENCHMARK(__benchmark, fn, RandomNonAscii)
+
+WCTYPE_BENCHMARK_ASCII(BM_wctype_ascii, iswalnum);
+WCTYPE_BENCHMARK_ASCII(BM_wctype_ascii, iswalpha);
+WCTYPE_BENCHMARK_ASCII(BM_wctype_ascii, iswblank);
+WCTYPE_BENCHMARK_ASCII(BM_wctype_ascii, iswcntrl);
+WCTYPE_BENCHMARK_ASCII(BM_wctype_ascii, iswdigit);
+WCTYPE_BENCHMARK_ASCII(BM_wctype_ascii, iswgraph);
+WCTYPE_BENCHMARK_ASCII(BM_wctype_ascii, iswlower);
+WCTYPE_BENCHMARK_ASCII(BM_wctype_ascii, iswprint);
+WCTYPE_BENCHMARK_ASCII(BM_wctype_ascii, iswpunct);
+WCTYPE_BENCHMARK_ASCII(BM_wctype_ascii, iswspace);
+WCTYPE_BENCHMARK_ASCII(BM_wctype_ascii, iswupper);
+WCTYPE_BENCHMARK_ASCII(BM_wctype_ascii, iswxdigit);
+
+WCTYPE_BENCHMARK_ASCII(BM_wctype_ascii_transform, towlower);
+WCTYPE_BENCHMARK_ASCII(BM_wctype_ascii_transform, towupper);
+
+WCTYPE_BENCHMARK_NON_ASCII(BM_wctype_non_ascii, iswalnum);
+WCTYPE_BENCHMARK_NON_ASCII(BM_wctype_non_ascii, iswalpha);
+WCTYPE_BENCHMARK_NON_ASCII(BM_wctype_non_ascii, iswblank);
+WCTYPE_BENCHMARK_NON_ASCII(BM_wctype_non_ascii, iswcntrl);
+WCTYPE_BENCHMARK_NON_ASCII(BM_wctype_non_ascii, iswdigit);
+WCTYPE_BENCHMARK_NON_ASCII(BM_wctype_non_ascii, iswgraph);
+WCTYPE_BENCHMARK_NON_ASCII(BM_wctype_non_ascii, iswlower);
+WCTYPE_BENCHMARK_NON_ASCII(BM_wctype_non_ascii, iswprint);
+WCTYPE_BENCHMARK_NON_ASCII(BM_wctype_non_ascii, iswpunct);
+WCTYPE_BENCHMARK_NON_ASCII(BM_wctype_non_ascii, iswspace);
+WCTYPE_BENCHMARK_NON_ASCII(BM_wctype_non_ascii, iswupper);
+WCTYPE_BENCHMARK_NON_ASCII(BM_wctype_non_ascii, iswxdigit);
+
+WCTYPE_BENCHMARK_NON_ASCII(BM_wctype_non_ascii_transform, towlower);
+WCTYPE_BENCHMARK_NON_ASCII(BM_wctype_non_ascii_transform, towupper);
diff --git a/cpu_target_features/Android.bp b/cpu_target_features/Android.bp
new file mode 100644
index 0000000..25f37d1
--- /dev/null
+++ b/cpu_target_features/Android.bp
@@ -0,0 +1,18 @@
+package {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+cc_binary {
+    name: "cpu-target-features",
+    srcs: [
+        "main.cpp",
+    ],
+    generated_headers: ["print_target_features.inc"],
+}
+
+genrule {
+    name: "print_target_features.inc",
+    out: ["print_target_features.inc"],
+    tool_files: ["generate_printer.py"],
+    cmd: "$(location generate_printer.py) $(out)",
+}
diff --git a/cpu_target_features/generate_printer.py b/cpu_target_features/generate_printer.py
new file mode 100755
index 0000000..dc56eb5
--- /dev/null
+++ b/cpu_target_features/generate_printer.py
@@ -0,0 +1,107 @@
+#!/usr/bin/env python3
+
+"""Generate the compilation target feature printing source code.
+
+The source code for detecting target features is heavily redundant and
+copy-pasted, and is easier to maintain using a generative script.
+
+This script creates the source and the include files in its current
+directory.
+"""
+
+import argparse
+from pathlib import Path
+from typing import Dict, List, Iterable
+
+_CPP_BOILERPLATE: str = """\
+#include <stdio.h>
+
+#define TO_STRING_EXP(DEF) #DEF
+#define TO_STRING(DEF) TO_STRING_EXP(DEF)
+"""
+
+_FEATURES = {
+    "Aarch64": [
+        "__ARM_FEATURE_AES",
+        "__ARM_FEATURE_BTI",
+        "__ARM_FEATURE_CRC32",
+        "__ARM_FEATURE_CRYPTO",
+        "__ARM_FEATURE_PAC_DEFAULT",
+        "__ARM_FEATURE_SHA2",
+        "__ARM_FEATURE_SHA3",
+        "__ARM_FEATURE_SHA512",
+    ],
+    "Arm32": [
+        "__ARM_ARCH_ISA_THUMB",
+        "__ARM_FEATURE_AES",
+        "__ARM_FEATURE_BTI",
+        "__ARM_FEATURE_CRC32",
+        "__ARM_FEATURE_CRYPTO",
+        "__ARM_FEATURE_PAC_DEFAULT",
+        "__ARM_FEATURE_SHA2",
+    ],
+    "X86": [
+        "__AES__",
+        "__AVX__",
+        "__CRC32__",
+        "__POPCNT__",
+        "__SHA512__",
+        "__SHA__",
+    ],
+    "Riscv": [
+        "__riscv_vector",
+    ],
+}
+
+
+def _make_function_sig(name: str) -> str:
+    return f"void print{name}TargetFeatures()"
+
+
+def check_template(define: str) -> List[str]:
+    return [
+        f"#if defined({define})",
+        f'  printf("%s=%s\\n", TO_STRING_EXP({define}), TO_STRING({define}));',
+        "#else",
+        f'  printf("%s not defined\\n", TO_STRING_EXP({define}));',
+        "#endif",
+    ]
+
+
+def generate_cpp_file(define_mapping: Dict[str, List[str]]) -> List[str]:
+    out: List[str] = _CPP_BOILERPLATE.split("\n")
+    for target, defines in define_mapping.items():
+        out.append("")
+        out.extend(generate_print_function(target, defines))
+    return out
+
+
+def generate_print_function(name: str, defines: List[str]) -> List[str]:
+    """Generate a print<DEFINE>TargetFeatures function."""
+    function_body = [_make_function_sig(name) + " {"]
+    for d in defines:
+        function_body.extend(check_template(d))
+    function_body.append("}")
+    return function_body
+
+
+def parse_args() -> argparse.Namespace:
+    parser = argparse.ArgumentParser(description=__doc__)
+    parser.add_argument(
+        "cpp_in",
+        type=Path,
+        help="Output path to generate the cpp file.",
+    )
+    return parser.parse_args()
+
+
+def main() -> None:
+    args = parse_args()
+    printer_cpp_filepath = args.cpp_in
+    printer_cpp_filepath.write_text(
+        "\n".join(generate_cpp_file(_FEATURES)), encoding="utf-8"
+    )
+
+
+if __name__ == "__main__":
+    main()
diff --git a/cpu_target_features/main.cpp b/cpu_target_features/main.cpp
new file mode 100644
index 0000000..61f3d25
--- /dev/null
+++ b/cpu_target_features/main.cpp
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdio.h>
+
+#include "print_target_features.inc"
+
+int main() {
+#if defined(__aarch64__)
+  printAarch64TargetFeatures();
+  return 0;
+#elif defined(__arm__)
+  printArm32TargetFeatures();
+  return 0;
+#elif defined(__x86_64__) || defined(__i386__)
+  printX86TargetFeatures();
+  return 0;
+#elif defined(__riscv)
+  printRiscvTargetFeatures();
+  return 0;
+#else
+#error Unsupported arch. This binary only supports aarch64, arm, x86, x86-64, and risc-v
+#endif
+}
diff --git a/docs/32-bit-abi.md b/docs/32-bit-abi.md
index 3be6b1a..7a96e2f 100644
--- a/docs/32-bit-abi.md
+++ b/docs/32-bit-abi.md
@@ -109,3 +109,15 @@
 mutexes for tids that don't fit in 16 bits. This typically manifests as
 a hang in `pthread_mutex_lock` if the libc startup code doesn't detect
 this condition and abort.
+
+
+## `getuid()` and friends wrongly set errno for very large results
+
+This doesn't generally affect Android devices, because we don't have any
+uids/gids/pids large enough, but 32-bit Android doesn't take into account
+that functions like getuid() potentially have return values that cover the
+entire 32-bit, and can't fail. This means that the usual "if the result is
+between -1 and -4096, set errno and return -1" code is inappropriate for
+these functions. Since LP32 is unlikely to be still supported long before
+those limits could ever matter, although -- unlike the others in this
+document -- this defect is actually fixable, it doesn't seem worth fixing.
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 0000000..2825eac
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,34 @@
+# bionic documentation
+
+[bionic](https://en.wikipedia.org/wiki/Bionic_(software)) is Android's
+C library, math library, and dynamic linker.
+
+## User documentation
+
+* [Android bionic status](status.md) - where we are in terms of standards,
+  and what changed with each OS release.
+* [32-bit ABI bugs](32-bit-abi.md) - historical accidents we can never fix.
+* [`EINTR`](EINTR.md) - what is the `EINTR` failure,
+  and how can code deal with it?
+* [When to use which `#define`](defines.md) - how to choose between
+  `__ANDROID__` and `__BIONIC__` and all the other options for conditional
+  compilation.
+* [fdsan](fdsan.md) - bionic's file descriptor sanitizer,
+  which detects use-after-close() bugs.
+* [fdtrack](fdtrack.md) - bionic's file descriptor tracker,
+  which helps debug file descriptor leaks.
+
+## Maintainer documentation
+
+If you're trying to make changes to bionic _itself_, start with the
+[bionic maintainer documentation](../README.md).
+
+We also have more detail on several specific parts of the implementation:
+
+* [The anatomy of bionic's `_FORTIFY_SOURCE`](clang_fortify_anatomy.md) -
+  how does `_FORTIFY_SOURCE` work on bionic (primarily "with clang").
+* [Android ELF TLS](elf-tls.md) - details of bionic's ELF TLS implementation.
+* [Validating libc assembler](libc_assembler.md) - how to test changes to
+  libc assembler routines.
+* [Validating native allocator changes](native_allocator.md) - how to test
+  changes to the native allocator.
diff --git a/docs/clang_fortify_anatomy.md b/docs/clang_fortify_anatomy.md
index 4b95fdc..46d3a71 100644
--- a/docs/clang_fortify_anatomy.md
+++ b/docs/clang_fortify_anatomy.md
@@ -147,8 +147,7 @@
 void* mempcpy(void* __dst, const void* __src, size_t __n) __INTRODUCED_IN(23);
 ```
 
-Which is annotated with nothing special, except for Bionic's versioner, which
-is Android-specific (and orthogonal to FORTIFY anyway), so it will be ignored.
+Which is annotated with nothing special, so it will be ignored.
 
 The [source for `mempcpy`] in Bionic's headers for is:
 ```c
diff --git a/docs/defines.md b/docs/defines.md
index 4775cd2..65cc873 100644
--- a/docs/defines.md
+++ b/docs/defines.md
@@ -54,13 +54,19 @@
 work around issues with some of them, use these macros to detect the versinon of
 the NDK you're being built with. Usually only `__NDK_MAJOR__` will be necessary.
 
-## `__arm__`, `__aarch64__`, `__i386__`, `__x86_64__`
+## `__arm__`/`__aarch64__`, `__i386__`/`__x86_64__`, `__riscv`
 
-If your code is specific to a particular processor architecture, use these
-macros to conditionally compile. Note that the ABI usually called `arm64` uses
-the macro `__aarch64__` and the ABI usually called `x86` uses `__i386__`.
+If your code is specific to a particular processor architecture, use
+these macros to conditionally compile. Note that the ABI usually called
+`arm64` uses the macro `__aarch64__` and the ABI usually called `x86` uses
+`__i386__`. Android only supports riscv64, so `__riscv` is a sufficient
+check for Android-only code. If you need to write code portable to other
+operating systems that do support riscv32, you'll also need to check
+whether `__riscv_xlen` is 32 or 64.
 
-## `__LP32__` and `__LP64__`
+## `__ILP32__` and `__LP64__`
 
-If your code depends on "bitness" -- whether `long` and pointers are 32- or
-64-bit -- use these macros to conditionally compile.
+If your code depends on "bitness" -- whether `long` and pointers are 32-
+or 64-bit -- use these macros to conditionally compile. Note the extra
+"I" in the 32-bit macro (since `int`, `long`, and pointers are all 32-bit
+on such systems, with `long long` being needed for a 64-bit type).
diff --git a/docs/elf-tls.md b/docs/elf-tls.md
index d408b3f..450f362 100644
--- a/docs/elf-tls.md
+++ b/docs/elf-tls.md
@@ -1,9 +1,10 @@
-# Android ELF TLS (Draft)
+# Android ELF TLS
 
-Internal links:
- * [go/android-elf-tls](http://go/android-elf-tls)
- * [One-pager](https://docs.google.com/document/d/1leyPTnwSs24P2LGiqnU6HetnN5YnDlZkihigi6qdf_M)
- * Tracking bugs: http://b/110100012, http://b/78026329
+App developers probably just want to read the
+[quick ELS TLS status summary](../android-changes-for-ndk-developers.md#elf-tls-available-for-api-level-29)
+instead.
+
+This document covers the detailed design and implementation choices.
 
 [TOC]
 
@@ -215,7 +216,7 @@
  * https://bugzilla.redhat.com/show_bug.cgi?id=1124987
  * web search: [`"dlopen: cannot load any more object with static TLS"`][glibc-static-tls-error]
 
-Neither musl nor the Bionic TLS prototype currently allocate any surplus TLS memory.
+Neither bionic nor musl currently allocate any surplus TLS memory.
 
 In general, supporting surplus TLS memory probably requires maintaining a thread list so that
 `dlopen` can initialize the new static TLS memory in all existing threads. A thread list could be
@@ -489,19 +490,6 @@
 [quietly ignored]: https://android.googlesource.com/platform/bionic/+/android-8.1.0_r48/linker/linker.cpp#2784
 [added compatibility checks]: https://android-review.googlesource.com/c/platform/bionic/+/648760
 
-# Bionic Prototype Notes
-
-There is an [ELF TLS prototype] uploaded on Gerrit. It implements:
- * Static TLS Block allocation for static and dynamic executables
- * TLS for dynamically loaded and unloaded modules (`__tls_get_addr`)
- * TLSDESC for arm64 only
-
-Missing:
- * `dlsym` of a TLS variable
- * debugger support
-
-[ELF TLS prototype]: https://android-review.googlesource.com/q/topic:%22elf-tls-prototype%22+(status:open%20OR%20status:merged)
-
 ## Loader/libc Communication
 
 The loader exposes a list of TLS modules ([`struct TlsModules`][TlsModules]) to `libc.so` using the
@@ -515,13 +503,14 @@
 
 ## TLS Allocator
 
-The prototype currently allocates a `pthread_internal_t` object and static TLS in a single mmap'ed
+bionic currently allocates a `pthread_internal_t` object and static TLS in a single mmap'ed
 region, along with a thread's stack if it needs one allocated. It doesn't place TLS memory on a
 preallocated stack (either the main thread's stack or one provided with `pthread_attr_setstack`).
 
 The DTV and blocks for dlopen'ed modules are instead allocated using the Bionic loader's
-`LinkerMemoryAllocator`, adapted to avoid the STL and to provide `memalign`. The prototype tries to
-achieve async-signal safety by blocking signals and acquiring a lock.
+`LinkerMemoryAllocator`, adapted to avoid the STL and to provide `memalign`.
+The implementation tries to achieve async-signal safety by blocking signals and
+acquiring a lock.
 
 There are three "entry points" to dynamically locate a TLS variable's address:
  * libc.so: `__tls_get_addr`
@@ -529,10 +518,10 @@
  * loader: dlsym
 
 The loader's entry points need to call `__tls_get_addr`, which needs to allocate memory. Currently,
-the prototype uses a [special function pointer] to call libc.so's `__tls_get_addr` from the loader.
+the implementation uses a [special function pointer] to call libc.so's `__tls_get_addr` from the loader.
 (This should probably be removed.)
 
-The prototype currently allows for arbitrarily-large TLS variable alignment. IIRC, different
+The implementation currently allows for arbitrarily-large TLS variable alignment. IIRC, different
 implementations (glibc, musl, FreeBSD) vary in their level of respect for TLS alignment. It looks
 like the Bionic loader ignores segments' alignment and aligns loaded libraries to 256 KiB. See
 `ReserveAligned`.
@@ -541,7 +530,7 @@
 
 ## Async-Signal Safety
 
-The prototype's `__tls_get_addr` might be async-signal safe. Making it AS-safe is a good idea if
+The implementation's `__tls_get_addr` might be async-signal safe. Making it AS-safe is a good idea if
 it's feasible. musl's function is AS-safe, but glibc's isn't (or wasn't). Google had a patch to make
 glibc AS-safe back in 2012-2013. See:
  * https://sourceware.org/glibc/wiki/TLSandSignals
@@ -550,7 +539,7 @@
 
 ## Out-of-Memory Handling (abort)
 
-The prototype lazily allocates TLS memory for dlopen'ed modules (see `__tls_get_addr`), and an
+The implementation lazily allocates TLS memory for dlopen'ed modules (see `__tls_get_addr`), and an
 out-of-memory error on a TLS access aborts the process. musl, on the other hand, preallocates TLS
 memory on `pthread_create` and `dlopen`, so either function can return out-of-memory. Both functions
 probably need to acquire the same lock.
@@ -572,7 +561,7 @@
 
 FWIW: emutls also aborts on out-of-memory.
 
-## ELF TLS Not Usable in libc
+## ELF TLS Not Usable in libc Itself
 
 The dynamic loader currently can't use ELF TLS, so any part of libc linked into the loader (i.e.
 most of it) also can't use ELF TLS. It might be possible to lift this restriction, perhaps with
@@ -649,7 +638,7 @@
 It seems easy to fix the incompatibility for variant 2 (x86 and x86_64) by splitting out the Bionic
 slots into a new data structure. Variant 1 is a harder problem.
 
-The TLS prototype currently uses a patched LLD that uses a variant 1 TLS layout with a 16-word TCB
+The TLS prototype used a patched LLD that uses a variant 1 TLS layout with a 16-word TCB
 on all architectures.
 
 Aside: gcc's arm64ilp32 target uses a 32-bit unsigned offset for a TLS IE access
@@ -821,8 +810,8 @@
 
 ### Workaround for Go: place pthread keys after the executable's TLS
 
-Most Android executables do not use any `thread_local` variables. In the current prototype, with the
-AOSP hikey960 build, only `/system/bin/netd` has a TLS segment, and it's only 32 bytes. As long as
+Most Android executables do not use any `thread_local` variables. In the prototype, with the
+AOSP hikey960 build, only `/system/bin/netd` had a TLS segment, and it was only 32 bytes. As long as
 `/system/bin/app_process{32,64}` limits its use of TLS memory, then the pthread keys could be
 allocated after `app_process`' TLS segment, and Go will still find them.
 
@@ -847,6 +836,12 @@
  * It looks like glibc's ld.so re-relocates itself after loading a program, so a program's symbols
    can interpose call in the loader: https://sourceware.org/ml/libc-alpha/2014-01/msg00501.html
 
+## TODO: Other
+
+Missing:
+ * `dlsym` of a TLS variable
+ * debugger support
+
 # References
 
 General (and x86/x86-64)
diff --git a/docs/fdsan.md b/docs/fdsan.md
index 6630299..5aeb7de 100644
--- a/docs/fdsan.md
+++ b/docs/fdsan.md
@@ -46,7 +46,7 @@
 
 fdsan attempts to detect and/or prevent file descriptor mismanagement by enforcing file descriptor ownership. Like how most memory allocations can have their ownership handled by types such as `std::unique_ptr`, almost all file descriptors can be associated with a unique owner which is responsible for their closure. fdsan provides functions to associate a file descriptor with an owner; if someone tries to close a file descriptor that they don't own, depending on configuration, either a warning is emitted, or the process aborts.
 
-The way this is implemented is by providing functions to set a 64-bit closure tag on a file descriptor. The tag consists of an 8-bit type byte that identifies the type of the owner (`enum android_fdan_owner_type` in [`<android/fdsan.h>`](https://android.googlesource.com/platform/bionic/+/master/libc/include/android/fdsan.h)), and a 56-bit value. The value should ideally be something that uniquely identifies the object (object address for native objects and `System.identityHashCode` for Java objects), but in cases where it's hard to derive an identifier for the "owner" that should close a file descriptor, even using the same value for all file descriptors in the module can be useful, since it'll catch other code that closes your file descriptors.
+The way this is implemented is by providing functions to set a 64-bit closure tag on a file descriptor. The tag consists of an 8-bit type byte that identifies the type of the owner (`enum android_fdan_owner_type` in [`<android/fdsan.h>`](https://android.googlesource.com/platform/bionic/+/main/libc/include/android/fdsan.h)), and a 56-bit value. The value should ideally be something that uniquely identifies the object (object address for native objects and `System.identityHashCode` for Java objects), but in cases where it's hard to derive an identifier for the "owner" that should close a file descriptor, even using the same value for all file descriptors in the module can be useful, since it'll catch other code that closes your file descriptors.
 
 If a file descriptor that's been marked with a tag is closed with an incorrect tag, or without a tag, we know something has gone wrong, and can generate diagnostics or abort.
 
@@ -62,7 +62,9 @@
  - fatal (`ANDROID_FDSAN_ERROR_LEVEL_FATAL`)
    - Abort upon detecting an error.
 
-In Android Q, fdsan has a global default of warn-once. fdsan can be made more or less strict at runtime via the `android_fdsan_set_error_level` function in [`<android/fdsan.h>`](https://android.googlesource.com/platform/bionic/+/master/libc/include/android/fdsan.h).
+In API level 29, fdsan had a global default of warn-once.
+In API level 30 and higher, fdsan has a global default of fatal.
+fdsan can be made more or less strict at runtime via the `android_fdsan_set_error_level` function in [`<android/fdsan.h>`](https://android.googlesource.com/platform/bionic/+/main/libc/include/android/fdsan.h).
 
 The likelihood of fdsan catching a file descriptor error is proportional to the percentage of file descriptors in your process that are tagged with an owner.
 
@@ -344,7 +346,8 @@
 
     // These functions are marked with __attribute__((weak)), so that their
     // availability can be determined at runtime. These wrappers will use them
-    // if available, and fall back to no-ops or regular close on pre-Q devices.
+    // if available, and fall back to no-ops or regular close on devices older
+    // than API level 29.
     static void exchange_tag(int fd, uint64_t old_tag, uint64_t new_tag) {
         if (android_fdsan_exchange_owner_tag) {
             android_fdsan_exchange_owner_tag(fd, old_tag, new_tag);
diff --git a/docs/fdtrack.md b/docs/fdtrack.md
index 7cf6e1f..8928a5c 100644
--- a/docs/fdtrack.md
+++ b/docs/fdtrack.md
@@ -4,12 +4,14 @@
 
 fdtrack is a file descriptor leak checker added to Android in API level 30.
 
-fdtrack consists of two parts: a set of hooks in bionic to register a callback
-that's invoked on file descriptor operations, and a library that implements a
-hook to perform and store backtraces for file descriptor creation.
+fdtrack consists of several parts: a set of hooks in bionic to register a
+callback that's invoked on file descriptor operations, a library that implements
+a hook to perform and store backtraces for file descriptor creation, and
+code in frameworks to automatically enable it (and deliberately crash a process
+that's leaking).
 
 ### bionic hooks
-bionic provides a header in the `bionic_libc_platform_headers` header_lib at <[bionic/fdtrack.h](https://android.googlesource.com/platform/bionic/+/refs/heads/master/libc/platform/bionic/fdtrack.h)>.
+bionic provides a header in the `bionic_libc_platform_headers` header_lib at <[bionic/fdtrack.h](https://android.googlesource.com/platform/bionic/+/refs/heads/main/libc/platform/bionic/fdtrack.h)>.
 Register a callback with `android_fdtrack_compare_exchange_hook` to receive
 callbacks upon file descriptor creation and destruction. This function can be
 called at any point in order to start capturing events, but be sure to properly
@@ -18,9 +20,31 @@
 not to call callbacks when this is the case).
 
 ### libfdtrack
-[libfdtrack](https://android.googlesource.com/platform/bionic/+/refs/heads/master/libfdtrack)
+[libfdtrack](https://android.googlesource.com/platform/bionic/+/refs/heads/main/libfdtrack)
 implements a library that uses libunwindstack to unwind and store fd creation backtraces.
 
+### frameworks
+As the name implies, `spawnFdLeakCheckThread` in SystemServer spawns a thread
+to monitor the number of open file descriptors every so often.
+If that passes a certain threshold, fdtrack is enabled.
+If it passes another threshold, the process is aborted.
+These thresholds are configurable via system properties:
+```
+    // Number of open file descriptors before fdtrack starts; default 1600.
+    private static final String SYSPROP_FDTRACK_ENABLE_THRESHOLD =
+            "persist.sys.debug.fdtrack_enable_threshold";
+
+    // Number of open file descriptors before aborting; default 3000.
+    private static final String SYSPROP_FDTRACK_ABORT_THRESHOLD =
+            "persist.sys.debug.fdtrack_abort_threshold";
+
+    // Number of seconds between open fd count checks; default 120s.
+    private static final String SYSPROP_FDTRACK_INTERVAL =
+            "persist.sys.debug.fdtrack_interval";
+```
+Note that it's also possible to monitor the number of open file descriptors for
+a given process from the shell. `adb shell watch ls -l /proc/<pid>/fd` will show
+them (and you can choose your own update rate as an argument to `watch`).
 
 #### Using libfdtrack
 libfdtrack registers its hook upon being loaded, so to start capturing
diff --git a/docs/mte.md b/docs/mte.md
new file mode 100644
index 0000000..3034cc7
--- /dev/null
+++ b/docs/mte.md
@@ -0,0 +1,244 @@
+# Arm Memory Tagging Extension (MTE) implementation
+
+AOSP supports Arm MTE to detect invalid memory accesses. The implementation is
+spread across multiple components, both within and out of the AOSP tree. This
+document gives an overview and pointers about how the various MTE features are
+implemented.
+
+For documentation of the behavior rather than the implementation, see the
+[SAC page on MTE] instead. For MTE for apps, see the [NDK page on MTE].
+
+The relevant components are:
+
+* [LLVM Project] (out of AOSP tree)
+    * Stack tagging instrumentation pass
+    * Scudo memory allocator
+* bionic
+    * libc
+    * dynamic loader
+* Zygote
+* debuggerd
+* [NDK]
+
+## MTE enablement
+
+The way MTE is requested and enabled differs between native binaries and Java
+apps. This is necessarily so, because Java apps get forked from the Zygote,
+while native executables get inintialized by the linker.
+
+### Native binaries
+
+Both AOSP and the NDK allow you to compile C/C++ code that use MTE to detect
+memory safety issues. The [NDK legacy cmake toolchain] and the
+[NDK new cmake toolchain] both support "memtag" as an argument for
+`ANDROID_SANITIZE`. NDK make has no specific support for MTE, but the
+relevant flags can be passed directly as `CFLAGS` and `LDFLAGS`.
+
+For the OS itself, [Soong] supports "memtag_[heap|stack|globals]" as
+`SANITIZE_TARGET  and as `sanitize:` attribute in Android.bp files;
+[Android make] supports the same environment variables as Soong. This passes
+the appropriate flags to the clang driver for both compile and link steps.
+
+#### Linker
+
+* For **dynamic executables** LLD has support to
+  [add appropriate dynamic sections] as defined in the [ELF standard]
+* For **static executables** and as a fallback for older devices, LLD
+  also supports [adding the Android-specific ELF note]
+
+Both of the above are controlled by the linker flag `--android-memtag-mode`
+which is [passed in by the clang driver] if
+`-fsanitize=memtag-[stack|heap|globals]` is [passed in].
+`-fsanitize=memtag` [enables all three] (even for API levels that don't
+implement the runtime for globals, which means builds from old versions
+of clang may no work with newer platform versions that support globals).
+`-fsanitize-memtag-mode` allows to choose between ASYNC and SYNC.
+
+This information can be queried using `llvm-readelf --memtag`.
+
+This information is [picked up by libc init] to decide whether to enable MTE.
+`-fsanitize-heap` controls both whether scudo tags allocations, and whether
+tag checking is enabled.
+
+#### Runtime environment (dynamic loader, libc)
+
+There are two different initialization sequences for libc, both of which end up
+calling `__libc_init_mte`.
+
+N.B. the linker has its own copy of libc, which is used when executing these
+functions. That is why we have to use `__libc_shared_globals` to communicate
+with the libc of the process we are starting.
+
+* **static executables** `__libc_init` is called from `crtbegin.c`, which calls
+                         `__libc_init_mte`
+* **dynamic executables** the linker calls `__libc_init_mte`
+
+`__libc_init_mte` figures out the appropriate MTE level that is requested by
+the process, calls `prctl` to request this from the kernel, and stores data in
+`__libc_shared_globals` which gets picked up later to enable MTE in scudo.
+
+It also does work related to stack tagging and permissive mode, which will be
+detailed later.
+
+### Apps
+
+Apps can request MTE be enabled for their process via the manifest attribute
+`android:memtagMode`. This gets interpreted by Zygote, which always runs with
+`ASYNC` MTE enabled, because MTE for a process can only be disabled after
+it has been initialized (see [Native binaries](#native-binaries)), not enabled.
+
+[decideTaggingLevel] in the Zygote figures out whether to enable MTE for
+an app, and stores it in the `runtimeFlags`, which get picked up by
+[SpecializeCommon] after forking from the Zygote.
+
+## MTE implementation
+
+### Heap Tagging
+
+Heap tagging is implemented in the scudo allocator. On `malloc` and `free`,
+scudo will update the memory's tags to prevent use-after-free and buffer
+overflows.
+
+[scudo's memtag.h] contains helper functions to deal with MTE tag management,
+which are used in [combined.h] and [secondary.h].
+
+
+### Stack Tagging
+
+Stack tagging requires instrumenting function bodies. It is implemented as
+an instrumentation pass in LLVM called [AArch64StackTagging], which sets
+the tags according to the lifetime of stack objects.
+
+The instrumentation pass also supports recording stack history, consisting of:
+
+* PC
+* Frame pointer
+* Base tag
+
+This can be used to reconstruct which stack object was referred to in an
+invalid access. The logic to reconstruct this can be found in the
+[stack script].
+
+
+Stack tagging is enabled in one of two circumstances:
+* at process startup, if the main binary or any of its dependencies are
+  compiled with `memtag-stack`
+* library compiled with `memtag-stack` is `dlopen`ed later, either directly or
+  as a dependency of a `dlopen`ed library. In this case, the
+  [__pthread_internal_remap_stack_with_mte] function is used (called from
+  `memtag_stack_dlopen_callback`). Because `dlopen`
+  is handled by the linker, we have to [store a function pointer] to the
+  process's version of the function in `__libc_shared_globals`.
+
+Enabling stack MTE consists of two operations:
+* Remapping the stacks as `PROT_MTE`
+* Allocating a stack history buffer.
+
+The first operation is only necessary when the process is running with MTE
+enabled. The second operation is also necessary when the process is not running
+with MTE enabled, because the writes to the stack history buffer are
+unconditional.
+
+libc keeps track of this through two globals:
+
+* `__libc_memtag_stack`:  whether stack MTE is enabled on the process, i.e.
+  whether the stack pages are mapped with PROT\_MTE. This is always false if
+  MTE is disabled for the process (i.e. `libc_globals.memtag` is false).
+* `__libc_memtag_stack_abi`: whether the process contains any code that was
+  compiled with memtag-stack. This is true even if the process does not have
+  MTE enabled.
+
+### Globals Tagging
+
+TODO(fmayer): write once submitted
+
+### Crash reporting
+
+For MTE crashes, debuggerd serializes special information into the Tombstone
+proto:
+
+* Tags around fault address
+* Scudo allocation history
+
+This is done in [tombstone\_proto.cpp]. The information is converted to a text
+proto in [tombstone\_proto\_to\_text.cpp].
+
+## Bootloader control
+
+The bootloader API allows userspace to enable MTE on devices that do not ship
+with MTE enabled by default.
+
+See [SAC MTE bootloader support] for the API definition. In AOSP, this API is
+implemented in [system/extras/mtectrl]. mtectrl.rc handles the property
+changes and invokes mtectrl to update the misc partition to communicate
+with the bootloader.
+
+There is also an [API in Device Policy Manager] that allows the device admin
+to enable or disable MTE under certain circumstances.
+
+The device can opt in or out of these APIs by a set of system properties:
+
+* `ro.arm64.memtag.bootctl_supported`: the system property API is supported,
+  and an option is displayed in Developer Options.
+* `ro.arm64.memtag.bootctl_settings_toggle`: an option is displayed in the
+  normal settings. This requires `ro.arm64.memtag.bootctl_supported` to be
+  true. This implies `ro.arm64.memtag.bootctl_device_policy_manager`, if it
+  is not explicitely set.
+* `ro.arm64.memtag.bootctl_device_policy_manager`: the Device Policy Manager
+  API is supported.
+
+## Permissive MTE
+
+Permissive MTE refers to a mode which, instead of crashing the process on an
+MTE fault, records a tombstone but then continues execution of the process.
+An important caveat is that system calls with invalid pointers (where the
+pointer tag does not match the memory tag) still return an error code.
+
+This mode is only available for system services, not apps. It is implemented
+in the [debugger\_signal\_handler] by disabling MTE for the faulting thread.
+Optionally, the user can ask for MTE to be re-enabled after some time.
+This is achieved by arming a timer that calls [enable_mte_signal_handler]
+upon expiry.
+
+## MTE Mode Upgrade
+
+When a system service [crashes in ASYNC mode], we set an impossible signal
+as an exit code (because that signal is always gracefully handled by libc),
+and [in init] we set `BIONIC_MEMTAG_UPGRADE_SECS`, which gets handled by
+[libc startup].
+
+[SpecializeCommon]: https://cs.android.com/android/platform/superproject/main/+/main:frameworks/base/core/jni/com_android_internal_os_Zygote.cpp?q=f:frameworks%2Fbase%2Fcore%2Fjni%2Fcom_android_internal_os_Zygote.cpp%20%22%20mallopt(M_BIONIC_SET_HEAP_TAGGING_LEVEL,%22&ss=android%2Fplatform%2Fsuperproject%2Fmain
+[LLVM Project]: https://github.com/llvm/llvm-project/
+[NDK]: https://android.googlesource.com/platform/ndk/
+[NDK legacy cmake toolchain]: https://android.googlesource.com/platform/ndk/+/refs/heads/main/build/cmake/android-legacy.toolchain.cmake#490
+[NDK new cmake toolchain]: https://android.googlesource.com/platform/ndk/+/refs/heads/main/build/cmake/flags.cmake#56
+[Soong]: https://cs.android.com/android/platform/superproject/main/+/main:build/soong/cc/sanitize.go?q=sanitize.go&ss=android%2Fplatform%2Fsuperproject%2Fmain
+[decideTaggingLevel]: https://cs.android.com/android/platform/superproject/main/+/main:frameworks/base/core/java/com/android/internal/os/Zygote.java?q=symbol:decideTaggingLevel
+[picked up by libc init]: https://cs.android.com/android/platform/superproject/main/+/main:bionic/libc/bionic/libc_init_mte.cpp?q=symbol:__get_tagging_level%20f:bionic
+[enables all three]: https://github.com/llvm/llvm-project/blob/e732d1ce86783b1d7fe30645fcb30434109505b9/clang/include/clang/Basic/Sanitizers.def#L62
+[passed in]: https://github.com/llvm/llvm-project/blob/ff2e619dfcd77328812a42d2ba2b11c3ff96f410/clang/lib/Driver/SanitizerArgs.cpp#L719
+[passed in by the clang driver]: https://github.com/llvm/llvm-project/blob/ff2e619dfcd77328812a42d2ba2b11c3ff96f410/clang/lib/Driver/ToolChains/CommonArgs.cpp#L1595
+[adding the Android-specific ELF note]: https://github.com/llvm/llvm-project/blob/435cb0dc5eca08cdd8d9ed0d887fa1693cc2bf33/lld/ELF/Driver.cpp#L1258
+[ELF standard]: https://github.com/ARM-software/abi-aa/blob/main/memtagabielf64/memtagabielf64.rst#6dynamic-section
+[add appropriate dynamic sections]: https://github.com/llvm/llvm-project/blob/7022498ac2f236e411e8a0f9a48669e754000a4b/lld/ELF/SyntheticSections.cpp#L1473
+[storeTags]: https://cs.android.com/android/platform/superproject/main/+/main:external/scudo/standalone/memtag.h?q=f:scudo%20f:memtag.h%20function:storeTags
+[SAC page on MTE]: https://source.android.com/docs/security/test/memory-safety/arm-mte
+[NDK page on MTE]: https://developer.android.com/ndk/guides/arm-mte
+[AArch64StackTagging]: https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/AArch64/AArch64StackTagging.cpp
+[scudo's memtag.h]: https://github.com/llvm/llvm-project/blob/main/compiler-rt/lib/scudo/standalone/memtag.h
+[combined.h]: https://github.com/llvm/llvm-project/blob/main/compiler-rt/lib/scudo/standalone/combined.h
+[secondary.h]: https://github.com/llvm/llvm-project/blob/main/compiler-rt/lib/scudo/standalone/secondary.h
+[__pthread_internal_remap_stack_with_mte]: https://cs.android.com/android/platform/superproject/main/+/main:bionic/libc/bionic/pthread_internal.cpp?q=__pthread_internal_remap_stack_with_mte
+[stack script]: https://cs.android.com/android/platform/superproject/main/+/main:development/scripts/stack?q=stack
+[Android make]: https://cs.android.com/android/platform/superproject/main/+/main:build/make/core/config_sanitizers.mk
+[store a function pointer]: https://cs.android.com/android/platform/superproject/main/+/main:bionic/libc/bionic/libc_init_dynamic.cpp;l=168?q=memtag_stack_dlopen_callback
+[tombstone\_proto.cpp]: https://cs.android.com/android/platform/superproject/main/+/main:system/core/debuggerd/libdebuggerd/tombstone_proto.cpp?q=tombstone_proto.cpp
+[tombstone\_proto\_to\_text.cpp]: https://cs.android.com/android/platform/superproject/main/+/main:system/core/debuggerd/libdebuggerd/tombstone_proto_to_text.cpp
+[SAC MTE bootloader support]: https://source.android.com/docs/security/test/memory-safety/bootloader-support
+[system/extras/mtectrl]: https://cs.android.com/android/platform/superproject/main/+/main:system/extras/mtectrl/
+[API in Device Policy Manager]: https://cs.android.com/android/platform/superproject/main/+/main:frameworks/base/core/java/android/app/admin/DevicePolicyManager.java?q=symbol:setMtePolicy%20f:DevicePolicyManager.java
+[debuggerd\_signal_handler]: https://cs.android.com/android/platform/superproject/main/+/main:system/core/debuggerd/handler/debuggerd_handler.cpp?q=f:debuggerd_handler.cpp%20symbol:debuggerd_signal_handler
+[enable_mte_signal_handler]: https://cs.android.com/android/platform/superproject/main/+/main:bionic/libc/bionic/libc_init_mte.cpp?q=symbol:__enable_mte_signal_handler
+[in init]: https://cs.android.com/android/platform/superproject/main/+/main:system/core/init/service.cpp?q=f:system%2Fcore%2Finit%2Fservice.cpp%20should_upgrade_mte
+[crashes in ASYNC mode]: https://cs.android.com/android/platform/superproject/main/+/main:system/core/debuggerd/handler/debuggerd_handler.cpp;l=799?q=BIONIC_SIGNAL_ART_PROFILER
+[libc startup]: https://cs.android.com/android/platform/superproject/main/+/main:bionic/libc/bionic/libc_init_mte.cpp?q=BIONIC_MEMTAG_UPGRADE_SECS
diff --git a/docs/native_allocator.md b/docs/native_allocator.md
index 9fc9a31..13d9738 100644
--- a/docs/native_allocator.md
+++ b/docs/native_allocator.md
@@ -323,8 +323,8 @@
 time. The trace data does not include timestamps,
 so it is not possible to create a completely accurate replay.
 
-To generate these traces, see the [Malloc Debug documentation](https://android.googlesource.com/platform/bionic/+/master/libc/malloc_debug/README.md),
-the option [record\_allocs](https://android.googlesource.com/platform/bionic/+/master/libc/malloc_debug/README.md#record_allocs_total_entries).
+To generate these traces, see the [Malloc Debug documentation](https://android.googlesource.com/platform/bionic/+/main/libc/malloc_debug/README.md),
+the option [record\_allocs](https://android.googlesource.com/platform/bionic/+/main/libc/malloc_debug/README.md#record_allocs_total_entries).
 
 To run these benchmarks, first copy the trace files to the target using
 these commands:
diff --git a/docs/status.md b/docs/status.md
index c2ed944..e7111d9 100644
--- a/docs/status.md
+++ b/docs/status.md
@@ -11,7 +11,7 @@
 ### POSIX
 
 You can see the current status with respect to POSIX in the form of tests:
-https://android.googlesource.com/platform/bionic/+/master/tests/headers/posix/
+https://android.googlesource.com/platform/bionic/+/main/tests/headers/posix/
 
 Some POSIX functionality is not supported by the Linux kernel, and
 is guarded with tests for `__linux__`. Other functionality is not
@@ -32,10 +32,14 @@
   * `ualarm`
 
 Missing functionality:
-  * `<aio.h>`
+  * `<aio.h>`. No particular reason not to have this other than that no-one's
+    needed it yet, and it's relatively complex. If/when llvm-libc adds this,
+    maybe we'll just reuse that.
   * `<monetary.h>`. See
     [discussion](https://github.com/android/ndk/issues/1182).
-  * `<wordexp.h>`
+  * `<wordexp.h>`. Unsafe because it passes user input to the shell (!),
+    and often should just be a call to glob() anyway. See also
+    [OpenBSD's discussion about adding wordexp()](https://www.mail-archive.com/tech@openbsd.org/msg02325.html).
   * Locales. Although bionic contains the various `_l()` functions, the only
     locale supported is a UTF-8 C/POSIX locale. Most of the POSIX APIs are
     insufficient to support the wide range of languages used by Android users,
@@ -53,7 +57,35 @@
 
 ### libc
 
-Current libc symbols: https://android.googlesource.com/platform/bionic/+/master/libc/libc.map.txt
+Current libc symbols: https://android.googlesource.com/platform/bionic/+/main/libc/libc.map.txt
+
+New libc functions in API level 36:
+  * `qsort_r`, `sig2str`/`str2sig` (POSIX Issue 8 additions).
+  * GNU/BSD extension `lchmod`.
+  * GNU extensions `pthread_getaffinity_np`/`pthread_setaffinity_np`.
+  * New system call wrapper: `mseal` (`<sys/mman.h>`).
+
+New libc functions in V (API level 35):
+  * New `android_crash_detail_register`, `android_crash_detail_unregister`,
+    `android_crash_detail_replace_name`, and `android_crash_detail_replace_data`
+    functionality for adding arbitrary data to tombstones
+    (see `<android/crash_detail.h>` for full documentation).
+  * `tcgetwinsize`, `tcsetwinsize`, `_Fork` (POSIX Issue 8 additions).
+  * `timespec_getres` (C23 addition).
+  * `localtime_rz`, `mktime_z`, `tzalloc`, and `tzfree` (NetBSD
+    extensions implemented in tzcode, and the "least non-standard"
+    functions for avoiding $TZ if you need to use multiple timezones in
+    multi-threaded C).
+  * `mbsrtowcs_l` and `wcsrtombs_l` aliases for `mbsrtowcs` and `wcsrtombs`.
+  * GNU extensions `strerrordesc_np` and `strerrorname_np`.
+  * New system call wrappers: `__riscv_flush_icache` (`<sys/cachectl.h>`),
+    `__riscv_hwprobe` (`<sys/hwprobe.h>`), `epoll_pwait2`/`epoll_pwait2_64` (`<sys/epoll.h>`).
+
+New libc behavior in V (API level 35):
+  * Added `LD_SHOW_AUXV` to the dynamic linker to dump the ELF auxiliary
+    vector if the environment variable is set.
+  * The printf family now supports `%#m` to print the name of the errno
+    constant (rather than the description printed by `%m`).
 
 New libc functions in U (API level 34):
   * `close_range` and `copy_file_range` (Linux-specific GNU extensions).
@@ -103,6 +135,7 @@
   * `getloadavg` (BSD/GNU extension in <stdlib.h>)
 
 New libc behavior in Q (API level 29):
+  * Support for [ELF TLS](elf-tls.md).
   * Whole printf family now supports the GNU `%m` extension, rather than a
     special-case hack in `syslog`.
   * `popen` now always uses `O_CLOEXEC`, not just with the `e` extension.
@@ -260,28 +293,36 @@
 
 libc function count over time:
 
-| OS    | API level | Function count |
-|-------|-----------|----------------|
-| J     | 16        | 842            |
-| J MR1 | 17        | 870            |
-| J MR2 | 18        | 878            |
-| K     | 19        | 893            |
-| L     | 21        | 1118           |
-| M     | 23        | 1183           |
-| N     | 24        | 1228           |
-| O     | 26        | 1280           |
-| P     | 28        | 1378           |
-| Q     | 29        | 1394           |
+| API level | Function count |
+|-----------|----------------|
+| 16        | 842            |
+| 17        | 870            |
+| 18        | 878            |
+| 19        | 893            |
+| 21        | 1016           |
+| 22        | 1038           |
+| 23        | 1103           |
+| 24        | 1147           |
+| 25        | 1147           |
+| 26        | 1199           |
+| 27        | 1199           |
+| 28        | 1298           |
+| 29        | 1312           |
+| 30        | 1368           |
+| 31        | 1379           |
+| 32        | 1379           |
+| 33        | 1386           |
+| 34        | 1392           |
 
 Data collected by:
 ```
-ndk-r21$ for i in `ls -1v platforms/android-*/arch-arm/usr/lib/libc.so` ; do \
-  echo $i; nm $i | grep -w T | wc -l ; done
+ndk-r26c$ for i in `ls -1v toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/*/libc.so` ; \
+  do echo $i; nm $i | grep -w T | wc -l ; done
 ```
 
 ### libm
 
-Current libm symbols: https://android.googlesource.com/platform/bionic/+/master/libm/libm.map.txt
+Current libm symbols: https://android.googlesource.com/platform/bionic/+/main/libm/libm.map.txt
 
 0 remaining missing C11/POSIX libm functions.
 
@@ -303,17 +344,25 @@
 ## Target API level behavioral differences
 
 Most bionic bug fixes and improvements have been made without checks for
-the app's `targetSdkVersion`. As of O there were exactly two exceptions,
-but there are likely to be more in future because of Project Treble.
+the app's `targetSdkVersion`. There are a handful of exceptions. (If in
+doubt, search the source for `android_get_application_target_sdk_version()`.)
 
-### Invalid `pthread_t` handling (targetSdkVersion >= O)
+### Destroyed mutex checking (targetSdkVersion >= 28)
+
+If a destroyed `pthread_mutex_t` is passed to any of the mutex functions, apps
+targeting API level 28 or higher will see a
+"<function> called on a destroyed mutex" fortify failure. Apps targeting older
+API levels will just have the function fail with EBUSY (matching the likely
+behavior before we added the check).
+
+### Invalid `pthread_t` handling (targetSdkVersion >= 26)
 
 As part of a long-term goal to remove the global thread list,
 and in an attempt to flush out racy code, we changed how an invalid
 `pthread_t` is handled. For `pthread_detach`, `pthread_getcpuclockid`,
 `pthread_getschedparam`/`pthread_setschedparam`, `pthread_join`, and
 `pthread_kill`, instead of returning ESRCH when passed an invalid
-`pthread_t`, if you're targeting O or above, they'll abort with the
+`pthread_t`, if you're targeting API level 26 or above, they'll abort with the
 message "attempt to use invalid pthread\_t".
 
 Note that this doesn't change behavior as much as you might think: the
@@ -351,13 +400,13 @@
     the tid may have been reused, but your code is inherently unsafe without
     a redesign anyway.
 
-### Interruptable `sem_wait` (targetSdkVersion >= N)
+### Interruptable `sem_wait` (targetSdkVersion >= 24)
 
 POSIX says that `sem_wait` can be interrupted by delivery of a
 signal. This wasn't historically true in Android, and when we fixed this
 bug we found that existing code relied on the old behavior. To preserve
 compatibility, `sem_wait` can only return EINTR on Android if the app
-targets N or later.
+targets API level 24 or later.
 
 
 ## FORTIFY
@@ -367,22 +416,25 @@
 overrun is detected, the program is safely aborted as in this
 [example](https://source.android.com/devices/tech/debug/native-crash#fortify).
 
-Note that in recent releases Android's FORTIFY has been extended to
-cover other issues. It can now detect, for example, passing `O_CREAT`
-to open(2) without specifying a mode. It also performs some checking
-regardless of whether the caller was built with FORTIFY enabled. In P,
-for example, calling a `pthread_mutex_` function on a destroyed mutex,
-calling a `<dirent.h>` function on a null pointer, using `%n` with the
-printf(3) family, or using the scanf(3) `m` modifier incorrectly will
-all result in FORTIFY failures even for code not built with FORTIFY.
+Note that Android's FORTIFY has been extended to cover other issues. It can
+detect, for example, passing `O_CREAT` to open(2) without specifying a mode. It
+also performs some checking regardless of whether the caller was built with
+FORTIFY enabled. From API level 28, for example, calling a `pthread_mutex_`
+function on a destroyed mutex, calling a `<dirent.h>` function on a null
+pointer, using `%n` with the printf(3) family, or using the scanf(3) `m`
+modifier incorrectly will all result in FORTIFY failures even for code not built
+with FORTIFY.
 
 More background information is available in our
 [FORTIFY in Android](https://android-developers.googleblog.com/2017/04/fortify-in-android.html)
-blog post.
+blog post, and there's more detail about the implementation in
+[The Anatomy of Clang FORTIFY](clang_fortify_anatomy.md).
 
-The Android platform is built with `-D_FORTIFY_SOURCE=2`, but NDK users
-need to manually enable FORTIFY by setting that themselves in whatever
-build system they're using. The exact subset of FORTIFY available to
+The Android platform is built with `-D_FORTIFY_SOURCE=2`. Users of ndk-build
+or the NDK's CMake toolchain file also get this by default with NDK r21 or
+newer. Users of other build systems
+need to manually enable FORTIFY by setting `_FORTIFY_SOURCE` themselves in
+whatever build system they're using. The exact subset of FORTIFY available to
 NDK users will depend on their target ABI level, because when a FORTIFY
 check can't be guaranteed at compile-time, a call to a run-time `_chk`
 function is added.
diff --git a/libc/Android.bp b/libc/Android.bp
index f5f5f7c..c34023c 100644
--- a/libc/Android.bp
+++ b/libc/Android.bp
@@ -1,5 +1,3 @@
-// Define the common source files for all the libc instances
-// =========================================================
 package {
     default_applicable_licenses: ["bionic_libc_license"],
 }
@@ -20,31 +18,6 @@
     ],
 }
 
-libc_common_src_files = [
-    "bionic/ether_aton.c",
-    "bionic/ether_ntoa.c",
-    "bionic/exit.cpp",
-    "bionic/initgroups.c",
-    "bionic/isatty.c",
-    "bionic/sched_cpualloc.c",
-    "bionic/sched_cpucount.c",
-    "bionic/sysprop_helpers.cpp",
-    "stdio/fmemopen.cpp",
-    "stdio/parsefloat.c",
-    "stdio/refill.c",
-    "stdio/stdio.cpp",
-    "stdio/stdio_ext.cpp",
-    "stdio/vfscanf.cpp",
-    "stdio/vfwscanf.cpp",
-]
-
-// off64_t/time64_t support on LP32.
-// ========================================================
-libc_common_src_files_32 = [
-    "bionic/legacy_32_bit_support.cpp",
-    "bionic/time64.c",
-]
-
 libc_common_flags = [
     "-D_LIBC=1",
     "-D__BIONIC_LP32_USE_STAT64",
@@ -55,6 +28,7 @@
     "-Wno-deprecated-declarations",
     "-Wno-gcc-compat",
     "-Wframe-larger-than=2048",
+    "-Wno-reorder-init-list",
 
     // Try to catch typical 32-bit assumptions that break with 64-bit pointers.
     "-Werror=pointer-to-int-cast",
@@ -66,9 +40,6 @@
     // __dso_handle needs to have default visibility on ARM32. See b/73485611.
     "-Wexit-time-destructors",
 
-    // GWP-ASan requires platform TLS.
-    "-fno-emulated-tls",
-
     // We know clang does a lot of harm by rewriting what we've said, and sadly
     // never see any good it does, so let's just ask it to do what we say...
     // (The specific motivating example was clang turning a loop that would only
@@ -82,7 +53,9 @@
 cc_defaults {
     name: "libc_defaults",
     defaults: ["linux_bionic_supported"],
-    cflags: libc_common_flags,
+    cflags: libc_common_flags + [
+        "-DUSE_SCUDO",
+    ],
     asflags: libc_common_flags,
     conlyflags: ["-std=gnu99"],
     cppflags: [],
@@ -95,7 +68,7 @@
 
     header_libs: [
         "libc_headers",
-        "liblog_headers",  // needed by bionic/libc/async_safe/include
+        "liblog_headers", // needed by bionic/libc/async_safe/include
     ],
     export_header_lib_headers: [
         "libc_headers",
@@ -114,10 +87,6 @@
     recovery_available: true,
     native_bridge_supported: true,
 
-    // lld complains about duplicate symbols in libcrt and libgcc. Suppress the
-    // warning since this is intended right now.
-    ldflags: ["-Wl,-z,muldefs"],
-
     product_variables: {
         malloc_zero_contents: {
             cflags: ["-DSCUDO_ZERO_CONTENTS"],
@@ -125,42 +94,104 @@
         malloc_pattern_fill_contents: {
             cflags: ["-DSCUDO_PATTERN_FILL_CONTENTS"],
         },
-        malloc_not_svelte: {
-            cflags: ["-DUSE_SCUDO"],
+        malloc_low_memory: {
+            cflags: ["-UUSE_SCUDO"],
         },
     },
 
     lto: {
         never: true,
     },
+
+    apex_available: ["com.android.runtime"],
+
+    tidy_disabled_srcs: ["upstream-*/**/*.c"],
 }
 
-libc_scudo_product_variables = {
-    malloc_not_svelte: {
-        cflags: ["-DUSE_SCUDO"],
-        whole_static_libs: ["libscudo"],
-        exclude_static_libs: [
-            "libjemalloc5",
-            "libc_jemalloc_wrapper",
-        ],
+// Workaround for b/24465209.
+// We're unlikely to be able to remove this before we just
+// remove ILP32 support completely.
+// Note that we also still have `pack_relocations: false`
+// for both libc and libm, even on LP64.
+// ========================================================
+cc_defaults {
+    name: "bug_24465209_workaround",
+    target: {
+        android_arm: {
+            pack_relocations: false,
+            ldflags: ["-Wl,--hash-style=both"],
+        },
+        android_x86: {
+            pack_relocations: false,
+            ldflags: ["-Wl,--hash-style=both"],
+        },
+    },
+}
+
+// Leave the symbols in the shared library so that stack unwinders can produce
+// meaningful name resolution. This is a bit more ugly than it sounds because
+// arm32 is a bit broken.
+// ========================================================
+cc_defaults {
+    name: "keep_symbols",
+    arch: {
+        arm: {
+            // arm32 does not produce complete exidx unwind information,
+            // so keep the .debug_frame which is relatively small and does
+            // include needed unwind information.
+            // See b/132992102 for details.
+            strip: {
+                keep_symbols_and_debug_frame: true,
+            },
+        },
+        arm64: {
+            strip: {
+                keep_symbols: true,
+            },
+        },
+        riscv64: {
+            strip: {
+                keep_symbols: true,
+            },
+        },
+        x86: {
+            strip: {
+                keep_symbols: true,
+            },
+        },
+        x86_64: {
+            strip: {
+                keep_symbols: true,
+            },
+        },
     },
 }
 
 // Defaults for native allocator libs/includes to make it
 // easier to change.
-// To disable scudo for the non-svelte config remove the line:
-//     product_variables: libc_scudo_product_variables,
-// in the cc_defaults below.
 // ========================================================
 cc_defaults {
     name: "libc_native_allocator_defaults",
 
     whole_static_libs: [
-        "libjemalloc5",
-        "libc_jemalloc_wrapper",
+        "libscudo",
+    ],
+    cflags: [
+        "-DUSE_SCUDO",
     ],
     header_libs: ["gwp_asan_headers"],
-    product_variables: libc_scudo_product_variables,
+    product_variables: {
+        malloc_low_memory: {
+            cflags: ["-UUSE_SCUDO"],
+            whole_static_libs: [
+                "libjemalloc5",
+                "libc_jemalloc_wrapper",
+            ],
+            exclude_static_libs: [
+                "libscudo",
+            ],
+        },
+    },
 }
 
 // Functions not implemented by jemalloc directly, or that need to
@@ -213,10 +244,18 @@
     },
 
     defaults: ["libc_defaults"],
-    cflags: ["-fno-stack-protector", "-ffreestanding"],
+    cflags: [
+        "-fno-stack-protector",
+        "-ffreestanding",
+    ],
     name: "libc_bootstrap",
 }
 
+filegroup {
+    name: "elf_note_sources",
+    srcs: ["bionic/elf_note.cpp"],
+}
+
 // libc_init_static.cpp and libc_init_dynamic.cpp need to be built without stack protector.
 // libc_init_static.cpp sets up TLS for static executables, and libc_init_dynamic.cpp initializes
 // the stack protector global variable.
@@ -224,7 +263,11 @@
 cc_library_static {
     name: "libc_init_static",
     defaults: ["libc_defaults"],
-    srcs: ["bionic/libc_init_static.cpp"],
+    srcs: [
+        "bionic/libc_init_mte.cpp",
+        "bionic/libc_init_static.cpp",
+        ":elf_note_sources",
+    ],
     cflags: [
         "-fno-stack-protector",
 
@@ -248,14 +291,14 @@
 cc_library_static {
 
     defaults: ["libc_defaults"],
-    tidy_disabled_srcs: ["upstream-*/**/*.c"],
     srcs: [
         "tzcode/**/*.c",
         "tzcode/bionic.cpp",
-        // tzcode doesn't include strptime or wcsftime, so we use the OpenBSD
-        // code (with some local changes in the strptime case).
+        // tzcode doesn't include strptime, so we use a fork of the
+        // OpenBSD code which needs this global data.
         "upstream-openbsd/lib/libc/locale/_def_time.c",
-        "upstream-openbsd/lib/libc/time/wcsftime.c",
+        // tzcode doesn't include wcsftime, so we use the FreeBSD code.
+        "upstream-freebsd/lib/libc/locale/wcsftime.c",
     ],
 
     cflags: [
@@ -268,7 +311,7 @@
         "-DTHREAD_SAFE=1",
         // The name of the tm_gmtoff field in our struct tm.
         "-DTM_GMTOFF=tm_gmtoff",
-        // TZDEFAULT is not applicable to Android as there is no one file per time zone mapping
+        // Android uses a system property instead of /etc/localtime, so make callers crash.
         "-DTZDEFAULT=NULL",
         // Where we store our tzdata.
         "-DTZDIR=\"/system/usr/share/zoneinfo\"",
@@ -284,7 +327,10 @@
         "-Dlint",
     ],
 
-    local_include_dirs: ["tzcode/"],
+    local_include_dirs: [
+        "tzcode/",
+        "upstream-freebsd/android/include",
+    ],
     name: "libc_tzcode",
 }
 
@@ -295,7 +341,6 @@
 cc_library_static {
 
     defaults: ["libc_defaults"],
-    tidy_disabled_srcs: ["upstream-*/**/*.c"],
     srcs: [
         "dns/**/*.c*",
 
@@ -309,7 +354,6 @@
         "-Wno-unused-parameter",
         "-include netbsd-compat.h",
         "-Wframe-larger-than=66000",
-        "-include private/bsd_sys_param.h",
     ],
 
     local_include_dirs: [
@@ -330,16 +374,22 @@
 // automatically included.
 
 cc_library_static {
+    name: "libc_freebsd_ldexp",
     defaults: ["libc_defaults"],
-    tidy_disabled_srcs: ["upstream-*/**/*.c"],
+    cflags: ["-Dscalbn=ldexp"],
+    srcs: [":libc_ldexp_srcs"],
+}
+
+cc_library_static {
+    defaults: ["libc_defaults"],
     srcs: [
-        "upstream-freebsd/lib/libc/gen/ldexp.c",
         "upstream-freebsd/lib/libc/stdlib/getopt_long.c",
         "upstream-freebsd/lib/libc/stdlib/hcreate.c",
         "upstream-freebsd/lib/libc/stdlib/hcreate_r.c",
         "upstream-freebsd/lib/libc/stdlib/hdestroy_r.c",
         "upstream-freebsd/lib/libc/stdlib/hsearch_r.c",
         "upstream-freebsd/lib/libc/stdlib/qsort.c",
+        "upstream-freebsd/lib/libc/stdlib/qsort_r.c",
         "upstream-freebsd/lib/libc/stdlib/quick_exit.c",
         "upstream-freebsd/lib/libc/string/wcpcpy.c",
         "upstream-freebsd/lib/libc/string/wcpncpy.c",
@@ -368,20 +418,6 @@
         "upstream-freebsd/lib/libc/string/wmemmove.c",
         "upstream-freebsd/lib/libc/string/wmemset.c",
     ],
-    arch: {
-        x86: {
-            exclude_srcs: [
-                "upstream-freebsd/lib/libc/string/wcschr.c",
-                "upstream-freebsd/lib/libc/string/wcscmp.c",
-                "upstream-freebsd/lib/libc/string/wcslen.c",
-                "upstream-freebsd/lib/libc/string/wcsrchr.c",
-                "upstream-freebsd/lib/libc/string/wmemcmp.c",
-                "upstream-freebsd/lib/libc/string/wcscat.c",
-                "upstream-freebsd/lib/libc/string/wcscpy.c",
-                "upstream-freebsd/lib/libc/string/wmemcmp.c",
-            ],
-        },
-    },
 
     cflags: [
         "-Wno-sign-compare",
@@ -398,7 +434,6 @@
 
 cc_library_static {
     defaults: ["libc_defaults"],
-    tidy_disabled_srcs: ["upstream-*/**/*.c"],
     srcs: [
         "upstream-freebsd/lib/libc/gen/glob.c",
     ],
@@ -426,7 +461,6 @@
 cc_library_static {
 
     defaults: ["libc_defaults"],
-    tidy_disabled_srcs: ["upstream-*/**/*.c"],
     srcs: [
         "upstream-netbsd/common/lib/libc/stdlib/random.c",
         "upstream-netbsd/lib/libc/gen/nice.c",
@@ -437,7 +471,6 @@
         "upstream-netbsd/lib/libc/regex/regerror.c",
         "upstream-netbsd/lib/libc/regex/regexec.c",
         "upstream-netbsd/lib/libc/regex/regfree.c",
-        "upstream-netbsd/lib/libc/stdlib/bsearch.c",
         "upstream-netbsd/lib/libc/stdlib/drand48.c",
         "upstream-netbsd/lib/libc/stdlib/erand48.c",
         "upstream-netbsd/lib/libc/stdlib/jrand48.c",
@@ -473,19 +506,16 @@
 }
 
 // ========================================================
-// libc_openbsd_ndk.a - upstream OpenBSD C library code
-// that can be safely included in the libc_ndk.a (doesn't
-// contain any troublesome global data or constructors).
+// libc_openbsd.a - upstream OpenBSD C library code
 // ========================================================
 //
 // These files are built with the openbsd-compat.h header file
 // automatically included.
-
 cc_library_static {
-    name: "libc_openbsd_ndk",
     defaults: ["libc_defaults"],
-    tidy_disabled_srcs: ["upstream-*/**/*.c"],
     srcs: [
+        "upstream-openbsd/lib/libc/crypt/arc4random.c",
+        "upstream-openbsd/lib/libc/crypt/arc4random_uniform.c",
         "upstream-openbsd/lib/libc/gen/alarm.c",
         "upstream-openbsd/lib/libc/gen/ctype_.c",
         "upstream-openbsd/lib/libc/gen/daemon.c",
@@ -526,7 +556,6 @@
         "upstream-openbsd/lib/libc/stdio/fgetwc.c",
         "upstream-openbsd/lib/libc/stdio/fgetws.c",
         "upstream-openbsd/lib/libc/stdio/flags.c",
-        "upstream-openbsd/lib/libc/stdio/fpurge.c",
         "upstream-openbsd/lib/libc/stdio/fputwc.c",
         "upstream-openbsd/lib/libc/stdio/fputws.c",
         "upstream-openbsd/lib/libc/stdio/fvwrite.c",
@@ -580,131 +609,47 @@
         "upstream-openbsd/lib/libc/string/wcslcpy.c",
         "upstream-openbsd/lib/libc/string/wcswidth.c",
 
-        // This file is originally from OpenBSD, and benefits from
-        // being compiled with openbsd-compat.h.
+        // These files are originally from OpenBSD,
+        // and benefit from being compiled with openbsd-compat.h.
+        // TODO: clean them up instead.
         "bionic/fts.c",
-    ],
-
-    cflags: [
-        "-Wno-sign-compare",
-        "-Wno-unused-parameter",
-        "-include openbsd-compat.h",
-    ],
-
-    local_include_dirs: [
-        "private",
-        "stdio",
-        "upstream-openbsd/android/include",
-        "upstream-openbsd/lib/libc/include",
-        "upstream-openbsd/lib/libc/gdtoa/",
-    ],
-}
-
-cc_library_static {
-    name: "libc_openbsd_large_stack",
-    defaults: ["libc_defaults"],
-    tidy_disabled_srcs: ["upstream-*/**/*.c"],
-    srcs: [
         "stdio/vfprintf.cpp",
         "stdio/vfwprintf.cpp",
-        "upstream-openbsd/lib/libc/string/memmem.c",
-        "upstream-openbsd/lib/libc/string/strstr.c",
-    ],
-    cflags: [
-        "-include openbsd-compat.h",
-        "-Wno-sign-compare",
-        "-Wframe-larger-than=5000",
     ],
 
-    local_include_dirs: [
-        "private",
-        "upstream-openbsd/android/include/",
-        "upstream-openbsd/lib/libc/include/",
-        "upstream-openbsd/lib/libc/gdtoa/",
-        "upstream-openbsd/lib/libc/stdio/",
-    ],
-}
-
-// ========================================================
-// libc_openbsd.a - upstream OpenBSD C library code
-// ========================================================
-//
-// These files are built with the openbsd-compat.h header file
-// automatically included.
-cc_library_static {
-    defaults: ["libc_defaults"],
-    tidy_disabled_srcs: ["upstream-*/**/*.c"],
-    srcs: [
-        // These two depend on getentropy, which isn't in libc_ndk.a.
-        "upstream-openbsd/lib/libc/crypt/arc4random.c",
-        "upstream-openbsd/lib/libc/crypt/arc4random_uniform.c",
-
-        // May be overriden by per-arch optimized versions
-        "upstream-openbsd/lib/libc/string/memchr.c",
-        "upstream-openbsd/lib/libc/string/memrchr.c",
-        "upstream-openbsd/lib/libc/string/stpcpy.c",
-        "upstream-openbsd/lib/libc/string/stpncpy.c",
-        "upstream-openbsd/lib/libc/string/strcat.c",
-        "upstream-openbsd/lib/libc/string/strcpy.c",
-        "upstream-openbsd/lib/libc/string/strlcat.c",
-        "upstream-openbsd/lib/libc/string/strlcpy.c",
-        "upstream-openbsd/lib/libc/string/strncat.c",
-        "upstream-openbsd/lib/libc/string/strncmp.c",
-        "upstream-openbsd/lib/libc/string/strncpy.c",
-    ],
-
+    // Each architecture has optimized versions of some routines,
+    // and only includes the portable C versions of ones it's missing.
     arch: {
         arm: {
-            exclude_srcs: [
-                "upstream-openbsd/lib/libc/string/strcpy.c",
-                "upstream-openbsd/lib/libc/string/stpcpy.c",
-                "upstream-openbsd/lib/libc/string/strcat.c",
+            srcs: [
+                "upstream-openbsd/lib/libc/string/memchr.c",
+                "upstream-openbsd/lib/libc/string/stpncpy.c",
+                "upstream-openbsd/lib/libc/string/strncat.c",
+                "upstream-openbsd/lib/libc/string/strncmp.c",
+                "upstream-openbsd/lib/libc/string/strncpy.c",
             ],
         },
         arm64: {
-            exclude_srcs: [
-                "upstream-openbsd/lib/libc/string/memchr.c",
-                "upstream-openbsd/lib/libc/string/memrchr.c",
-                "upstream-openbsd/lib/libc/string/stpcpy.c",
-                "upstream-openbsd/lib/libc/string/strcpy.c",
-                "upstream-openbsd/lib/libc/string/strncmp.c",
+            srcs: [
+                "upstream-openbsd/lib/libc/string/strcat.c",
+                "upstream-openbsd/lib/libc/string/stpncpy.c",
+                "upstream-openbsd/lib/libc/string/strncat.c",
+                "upstream-openbsd/lib/libc/string/strncpy.c",
             ],
         },
         riscv64: {
             srcs: [
-                "upstream-freebsd/lib/libc/string/memcmp.c",
-                "upstream-freebsd/lib/libc/string/memcpy.c",
-                "upstream-freebsd/lib/libc/string/memmove.c",
-                "upstream-freebsd/lib/libc/string/memset.c",
-                "upstream-openbsd/lib/libc/string/strcmp.c",
-                "upstream-openbsd/lib/libc/string/strlen.c",
+                "upstream-openbsd/lib/libc/string/stpncpy.c",
             ],
         },
         x86: {
-            exclude_srcs: [
-                "upstream-openbsd/lib/libc/string/memchr.c",
-                "upstream-openbsd/lib/libc/string/memrchr.c",
-                "upstream-openbsd/lib/libc/string/stpcpy.c",
-                "upstream-openbsd/lib/libc/string/stpncpy.c",
-                "upstream-openbsd/lib/libc/string/strcat.c",
-                "upstream-openbsd/lib/libc/string/strcpy.c",
-                "upstream-openbsd/lib/libc/string/strncmp.c",
-                "upstream-openbsd/lib/libc/string/strncpy.c",
-                "upstream-openbsd/lib/libc/string/strlcat.c",
-                "upstream-openbsd/lib/libc/string/strlcpy.c",
-                "upstream-openbsd/lib/libc/string/strncat.c",
+            srcs: [
+                // x86 has custom implementations of all of these.
             ],
         },
-
         x86_64: {
-            exclude_srcs: [
-                "upstream-openbsd/lib/libc/string/stpcpy.c",
-                "upstream-openbsd/lib/libc/string/stpncpy.c",
-                "upstream-openbsd/lib/libc/string/strcat.c",
-                "upstream-openbsd/lib/libc/string/strcpy.c",
-                "upstream-openbsd/lib/libc/string/strncat.c",
-                "upstream-openbsd/lib/libc/string/strncmp.c",
-                "upstream-openbsd/lib/libc/string/strncpy.c",
+            srcs: [
+                // x86_64 has custom/llvm-libc implementations of all of these.
             ],
         },
     },
@@ -717,12 +662,34 @@
 
     local_include_dirs: [
         "private",
-        "upstream-openbsd/android/include",
+        "stdio",
+        "upstream-openbsd/android/include/",
+        "upstream-openbsd/lib/libc/gdtoa/",
+        "upstream-openbsd/lib/libc/include/",
+        "upstream-openbsd/lib/libc/stdio/",
     ],
 
     name: "libc_openbsd",
 }
 
+cc_library_static {
+    name: "libc_openbsd_large_stack",
+    defaults: ["libc_defaults"],
+    srcs: [
+        "upstream-openbsd/lib/libc/string/memmem.c",
+        "upstream-openbsd/lib/libc/string/strstr.c",
+    ],
+    cflags: [
+        "-include openbsd-compat.h",
+        "-Wno-sign-compare",
+        "-Wframe-larger-than=5000",
+    ],
+
+    local_include_dirs: [
+        "upstream-openbsd/android/include/",
+    ],
+}
+
 // ========================================================
 // libc_gdtoa.a - upstream OpenBSD C library gdtoa code
 // ========================================================
@@ -732,7 +699,6 @@
 
 cc_library_static {
     defaults: ["libc_defaults"],
-    tidy_disabled_srcs: ["upstream-*/**/*.c"],
     srcs: [
         "upstream-openbsd/android/gdtoa_support.cpp",
         "upstream-openbsd/lib/libc/gdtoa/dmisc.c",
@@ -826,8 +792,8 @@
         },
         riscv64: {
             srcs: [
-               "arch-riscv64/string/__memset_chk.S",
-               "arch-riscv64/string/__memcpy_chk.S",
+                "arch-riscv64/string/__memset_chk.S",
+                "arch-riscv64/string/__memcpy_chk.S",
             ],
         },
     },
@@ -840,217 +806,10 @@
 cc_library_static {
     defaults: ["libc_defaults"],
     srcs: [
-        // These require getauxval, which isn't available on older platforms.
-        "bionic/sysconf.cpp",
-        "bionic/vdso.cpp",
-        "bionic/setjmp_cookie.cpp",
-
-        // The following must not be statically linked into libc_ndk.a, because
-        // debuggerd will look for the abort message in libc.so's copy.
-        "bionic/android_set_abort_message.cpp",
-
-        "bionic/strchr.cpp",
-        "bionic/strchrnul.cpp",
-        "bionic/strnlen.c",
-        "bionic/strrchr.cpp",
-    ],
-
-    arch: {
-        arm: {
-            asflags: libc_common_flags + ["-mno-restrict-it"],
-            srcs: [
-                "arch-arm/generic/bionic/memcmp.S",
-                "arch-arm/generic/bionic/memmove.S",
-                "arch-arm/generic/bionic/memset.S",
-                "arch-arm/generic/bionic/stpcpy.c",
-                "arch-arm/generic/bionic/strcat.c",
-                "arch-arm/generic/bionic/strcmp.S",
-                "arch-arm/generic/bionic/strcpy.S",
-                "arch-arm/generic/bionic/strlen.c",
-
-                "arch-arm/bionic/__aeabi_read_tp.S",
-                "arch-arm/bionic/__bionic_clone.S",
-                "arch-arm/bionic/__restore.S",
-                "arch-arm/bionic/_exit_with_stack_teardown.S",
-                "arch-arm/bionic/atomics_arm.c",
-                "arch-arm/bionic/bpabi.c",
-                "arch-arm/bionic/libcrt_compat.c",
-                "arch-arm/bionic/popcount_tab.c",
-                "arch-arm/bionic/setjmp.S",
-                "arch-arm/bionic/syscall.S",
-                "arch-arm/bionic/vfork.S",
-
-                "arch-arm/cortex-a15/bionic/memcpy.S",
-                "arch-arm/cortex-a15/bionic/memmove.S",
-                "arch-arm/cortex-a15/bionic/memset.S",
-                "arch-arm/cortex-a15/bionic/stpcpy.S",
-                "arch-arm/cortex-a15/bionic/strcat.S",
-                "arch-arm/cortex-a15/bionic/strcmp.S",
-                "arch-arm/cortex-a15/bionic/strcpy.S",
-                "arch-arm/cortex-a15/bionic/strlen.S",
-
-                "arch-arm/cortex-a7/bionic/memcpy.S",
-                "arch-arm/cortex-a7/bionic/memset.S",
-
-                "arch-arm/cortex-a9/bionic/memcpy.S",
-                "arch-arm/cortex-a9/bionic/memset.S",
-                "arch-arm/cortex-a9/bionic/stpcpy.S",
-                "arch-arm/cortex-a9/bionic/strcat.S",
-                "arch-arm/cortex-a9/bionic/strcpy.S",
-                "arch-arm/cortex-a9/bionic/strlen.S",
-
-                "arch-arm/krait/bionic/memcpy.S",
-                "arch-arm/krait/bionic/memset.S",
-
-                "arch-arm/cortex-a53/bionic/memcpy.S",
-
-                "arch-arm/cortex-a55/bionic/memcpy.S",
-
-                "arch-arm/kryo/bionic/memcpy.S",
-            ],
-        },
-        arm64: {
-            srcs: [
-                "arch-arm64/bionic/__bionic_clone.S",
-                "arch-arm64/bionic/_exit_with_stack_teardown.S",
-                "arch-arm64/bionic/setjmp.S",
-                "arch-arm64/bionic/syscall.S",
-                "arch-arm64/bionic/vfork.S",
-            ],
-            exclude_srcs: [
-                "bionic/strchr.cpp",
-                "bionic/strchrnul.cpp",
-                "bionic/strnlen.c",
-                "bionic/strrchr.cpp",
-            ],
-        },
-
-        riscv64: {
-            srcs: [
-                "arch-riscv64/bionic/__bionic_clone.S",
-                "arch-riscv64/bionic/_exit_with_stack_teardown.S",
-                "arch-riscv64/bionic/setjmp.S",
-                "arch-riscv64/bionic/syscall.S",
-                "arch-riscv64/bionic/vfork.S",
-            ],
-        },
-
-        x86: {
-            srcs: [
-                "arch-x86/generic/string/memcmp.S",
-                "arch-x86/generic/string/strcmp.S",
-                "arch-x86/generic/string/strncmp.S",
-                "arch-x86/generic/string/strcat.S",
-
-                "arch-x86/generic/string/strlcat.c",
-                "arch-x86/generic/string/strlcpy.c",
-                "arch-x86/generic/string/strncat.c",
-                "arch-x86/generic/string/wcscat.c",
-                "arch-x86/generic/string/wcscpy.c",
-                "arch-x86/generic/string/wmemcmp.c",
-
-                "arch-x86/string/sse2-memchr-atom.S",
-                "arch-x86/string/sse2-memmove-slm.S",
-                "arch-x86/string/sse2-memrchr-atom.S",
-                "arch-x86/string/sse2-memset-atom.S",
-                "arch-x86/string/sse2-memset-slm.S",
-                "arch-x86/string/sse2-stpcpy-slm.S",
-                "arch-x86/string/sse2-stpncpy-slm.S",
-                "arch-x86/string/sse2-strchr-atom.S",
-                "arch-x86/string/sse2-strcpy-slm.S",
-                "arch-x86/string/sse2-strlen-slm.S",
-                "arch-x86/string/sse2-strncpy-slm.S",
-                "arch-x86/string/sse2-strnlen-atom.S",
-                "arch-x86/string/sse2-strrchr-atom.S",
-                "arch-x86/string/sse2-wcschr-atom.S",
-                "arch-x86/string/sse2-wcsrchr-atom.S",
-                "arch-x86/string/sse2-wcslen-atom.S",
-                "arch-x86/string/sse2-wcscmp-atom.S",
-                "arch-x86/string/sse2-strlen-atom.S",
-
-                "arch-x86/string/ssse3-memcmp-atom.S",
-                "arch-x86/string/ssse3-memmove-atom.S",
-                "arch-x86/string/ssse3-strcat-atom.S",
-                "arch-x86/string/ssse3-strcmp-atom.S",
-                "arch-x86/string/ssse3-strcpy-atom.S",
-                "arch-x86/string/ssse3-strlcat-atom.S",
-                "arch-x86/string/ssse3-strlcpy-atom.S",
-                "arch-x86/string/ssse3-strncat-atom.S",
-                "arch-x86/string/ssse3-strncmp-atom.S",
-                "arch-x86/string/ssse3-strncpy-atom.S",
-                "arch-x86/string/ssse3-wcscat-atom.S",
-                "arch-x86/string/ssse3-wcscpy-atom.S",
-                "arch-x86/string/ssse3-wmemcmp-atom.S",
-
-                "arch-x86/string/sse4-memcmp-slm.S",
-                "arch-x86/string/sse4-wmemcmp-slm.S",
-
-                "arch-x86/bionic/__bionic_clone.S",
-                "arch-x86/bionic/_exit_with_stack_teardown.S",
-                "arch-x86/bionic/libcrt_compat.c",
-                "arch-x86/bionic/__restore.S",
-                "arch-x86/bionic/setjmp.S",
-                "arch-x86/bionic/syscall.S",
-                "arch-x86/bionic/vfork.S",
-                "arch-x86/bionic/__x86.get_pc_thunk.S",
-            ],
-
-            exclude_srcs: [
-                "bionic/strchr.cpp",
-                "bionic/strnlen.c",
-                "bionic/strrchr.cpp",
-            ],
-        },
-        x86_64: {
-            srcs: [
-                "arch-x86_64/string/avx2-memset-kbl.S",
-                "arch-x86_64/string/sse2-memmove-slm.S",
-                "arch-x86_64/string/sse2-memset-slm.S",
-                "arch-x86_64/string/sse2-stpcpy-slm.S",
-                "arch-x86_64/string/sse2-stpncpy-slm.S",
-                "arch-x86_64/string/sse2-strcat-slm.S",
-                "arch-x86_64/string/sse2-strcpy-slm.S",
-                "arch-x86_64/string/sse2-strlen-slm.S",
-                "arch-x86_64/string/sse2-strncat-slm.S",
-                "arch-x86_64/string/sse2-strncpy-slm.S",
-                "arch-x86_64/string/sse4-memcmp-slm.S",
-                "arch-x86_64/string/ssse3-strcmp-slm.S",
-                "arch-x86_64/string/ssse3-strncmp-slm.S",
-
-                "arch-x86_64/bionic/__bionic_clone.S",
-                "arch-x86_64/bionic/_exit_with_stack_teardown.S",
-                "arch-x86_64/bionic/__restore_rt.S",
-                "arch-x86_64/bionic/setjmp.S",
-                "arch-x86_64/bionic/syscall.S",
-                "arch-x86_64/bionic/vfork.S",
-            ],
-        },
-    },
-
-    cppflags: ["-Wold-style-cast"],
-    include_dirs: ["bionic/libstdc++/include"],
-    name: "libc_bionic",
-}
-
-genrule {
-    name: "generated_android_ids",
-    out: ["generated_android_ids.h"],
-    srcs: [":android_filesystem_config_header"],
-    tool_files: ["fs_config_generator.py"],
-    cmd: "$(location fs_config_generator.py) aidarray $(in) > $(out)",
-}
-
-// ========================================================
-// libc_bionic_ndk.a- The portions of libc_bionic that can
-// be safely used in libc_ndk.a (no troublesome global data
-// or constructors).
-// ========================================================
-cc_library_static {
-    defaults: ["libc_defaults"],
-    srcs: [
         "bionic/NetdClientDispatch.cpp",
         "bionic/__bionic_get_shell_path.cpp",
         "bionic/__cmsg_nxthdr.cpp",
+        "bionic/__cxa_thread_atexit_impl.cpp",
         "bionic/__errno.cpp",
         "bionic/__gnu_basename.cpp",
         "bionic/__libc_current_sigrtmax.cpp",
@@ -1058,13 +817,19 @@
         "bionic/abort.cpp",
         "bionic/accept.cpp",
         "bionic/access.cpp",
+        "bionic/android_crash_detail.cpp",
+        "bionic/android_set_abort_message.cpp",
+        "bionic/android_unsafe_frame_pointer_chase.cpp",
         "bionic/arpa_inet.cpp",
         "bionic/assert.cpp",
+        "bionic/atexit.cpp",
         "bionic/atof.cpp",
         "bionic/bionic_allocator.cpp",
         "bionic/bionic_arc4random.cpp",
+        "bionic/bionic_elf_tls.cpp",
         "bionic/bionic_futex.cpp",
         "bionic/bionic_netlink.cpp",
+        "bionic/bionic_systrace.cpp",
         "bionic/bionic_time_conversions.cpp",
         "bionic/brk.cpp",
         "bionic/c16rtomb.cpp",
@@ -1084,6 +849,7 @@
         "bionic/eventfd.cpp",
         "bionic/exec.cpp",
         "bionic/execinfo.cpp",
+        "bionic/exit.cpp",
         "bionic/faccessat.cpp",
         "bionic/fchmod.cpp",
         "bionic/fchmodat.cpp",
@@ -1093,6 +859,7 @@
         "bionic/ffs.cpp",
         "bionic/fgetxattr.cpp",
         "bionic/flistxattr.cpp",
+        "bionic/fork.cpp",
         "bionic/fpclassify.cpp",
         "bionic/fsetxattr.cpp",
         "bionic/ftruncate.cpp",
@@ -1117,8 +884,10 @@
         "bionic/ifaddrs.cpp",
         "bionic/inotify_init.cpp",
         "bionic/ioctl.cpp",
+        "bionic/isatty.cpp",
         "bionic/killpg.cpp",
         "bionic/langinfo.cpp",
+        "bionic/lchmod.cpp",
         "bionic/lchown.cpp",
         "bionic/lfs64_support.cpp",
         "bionic/libc_init_common.cpp",
@@ -1136,9 +905,9 @@
         "bionic/mkfifo.cpp",
         "bionic/mknod.cpp",
         "bionic/mntent.cpp",
-        "bionic/mremap.cpp",
-        "bionic/net_if.cpp",
         "bionic/netdb.cpp",
+        "bionic/net_if.cpp",
+        "bionic/netinet_ether.cpp",
         "bionic/netinet_in.cpp",
         "bionic/nl_types.cpp",
         "bionic/open.cpp",
@@ -1152,6 +921,31 @@
         "bionic/posix_madvise.cpp",
         "bionic/posix_timers.cpp",
         "bionic/preadv_pwritev.cpp",
+        "bionic/pthread_atfork.cpp",
+        "bionic/pthread_attr.cpp",
+        "bionic/pthread_barrier.cpp",
+        "bionic/pthread_cond.cpp",
+        "bionic/pthread_create.cpp",
+        "bionic/pthread_detach.cpp",
+        "bionic/pthread_equal.cpp",
+        "bionic/pthread_exit.cpp",
+        "bionic/pthread_getaffinity.cpp",
+        "bionic/pthread_getcpuclockid.cpp",
+        "bionic/pthread_getschedparam.cpp",
+        "bionic/pthread_gettid_np.cpp",
+        "bionic/pthread_internal.cpp",
+        "bionic/pthread_join.cpp",
+        "bionic/pthread_key.cpp",
+        "bionic/pthread_kill.cpp",
+        "bionic/pthread_mutex.cpp",
+        "bionic/pthread_once.cpp",
+        "bionic/pthread_rwlock.cpp",
+        "bionic/pthread_sigqueue.cpp",
+        "bionic/pthread_self.cpp",
+        "bionic/pthread_setname_np.cpp",
+        "bionic/pthread_setaffinity.cpp",
+        "bionic/pthread_setschedparam.cpp",
+        "bionic/pthread_spinlock.cpp",
         "bionic/ptrace.cpp",
         "bionic/pty.cpp",
         "bionic/raise.cpp",
@@ -1164,12 +958,15 @@
         "bionic/rename.cpp",
         "bionic/rmdir.cpp",
         "bionic/scandir.cpp",
+        "bionic/sched_cpualloc.cpp",
+        "bionic/sched_cpucount.cpp",
         "bionic/sched_getaffinity.cpp",
         "bionic/sched_getcpu.cpp",
         "bionic/semaphore.cpp",
         "bionic/send.cpp",
         "bionic/setegid.cpp",
         "bionic/seteuid.cpp",
+        "bionic/setjmp_cookie.cpp",
         "bionic/setpgrp.cpp",
         "bionic/sigaction.cpp",
         "bionic/signal.cpp",
@@ -1188,6 +985,7 @@
         "bionic/swab.cpp",
         "bionic/symlink.cpp",
         "bionic/sync_file_range.cpp",
+        "bionic/sysconf.cpp",
         "bionic/sys_epoll.cpp",
         "bionic/sys_msg.cpp",
         "bionic/sys_sem.cpp",
@@ -1195,9 +993,11 @@
         "bionic/sys_signalfd.cpp",
         "bionic/sys_statfs.cpp",
         "bionic/sys_statvfs.cpp",
+        "bionic/sys_thread_properties.cpp",
         "bionic/sys_time.cpp",
         "bionic/sysinfo.cpp",
         "bionic/syslog.cpp",
+        "bionic/sysprop_helpers.cpp",
         "bionic/system.cpp",
         "bionic/system_property_api.cpp",
         "bionic/system_property_set.cpp",
@@ -1205,13 +1005,13 @@
         "bionic/termios.cpp",
         "bionic/thread_private.cpp",
         "bionic/threads.cpp",
-        "bionic/time_l.cpp",
-        "bionic/timespec_get.cpp",
+        "bionic/time.cpp",
         "bionic/tmpfile.cpp",
         "bionic/umount.cpp",
         "bionic/unlink.cpp",
         "bionic/usleep.cpp",
         "bionic/utmp.cpp",
+        "bionic/vdso.cpp",
         "bionic/wait.cpp",
         "bionic/wchar.cpp",
         "bionic/wchar_l.cpp",
@@ -1220,97 +1020,221 @@
         "bionic/wcwidth.cpp",
         "bionic/wmempcpy.cpp",
 
-        // This contains a weak stub implementation of __find_icu_symbol for wctype.cpp,
-        // which will be overridden by the actual one in libc.so.
-        "bionic/icu_static.cpp",
+        // Forked but not yet cleaned up/rewritten stdio code.
+        // TODO: finish cleanup.
+        "stdio/fmemopen.cpp",
+        "stdio/parsefloat.c",
+        "stdio/refill.c",
+        "stdio/stdio.cpp",
+        "stdio/stdio_ext.cpp",
+        "stdio/vfscanf.cpp",
+        "stdio/vfwscanf.cpp",
     ],
 
+    arch: {
+        arm: {
+            asflags: libc_common_flags + ["-mno-restrict-it"],
+            srcs: [
+                "arch-arm/bionic/__aeabi_read_tp.S",
+                "arch-arm/bionic/__bionic_clone.S",
+                "arch-arm/bionic/__restore.S",
+                "arch-arm/bionic/_exit_with_stack_teardown.S",
+                "arch-arm/bionic/atomics_arm.c",
+                "arch-arm/bionic/bpabi.c",
+                "arch-arm/bionic/libcrt_compat.c",
+                "arch-arm/bionic/popcount_tab.c",
+                "arch-arm/bionic/setjmp.S",
+                "arch-arm/bionic/syscall.S",
+                "arch-arm/bionic/vfork.S",
+
+                "arch-arm/cortex-a7/bionic/memcpy.S",
+                "arch-arm/cortex-a7/bionic/memset.S",
+
+                "arch-arm/cortex-a9/bionic/memcpy.S",
+                "arch-arm/cortex-a9/bionic/memset.S",
+                "arch-arm/cortex-a9/bionic/stpcpy.S",
+                "arch-arm/cortex-a9/bionic/strcat.S",
+                "arch-arm/cortex-a9/bionic/strcpy.S",
+                "arch-arm/cortex-a9/bionic/strlen.S",
+
+                "arch-arm/cortex-a15/bionic/memcpy.S",
+                "arch-arm/cortex-a15/bionic/memmove.S",
+                "arch-arm/cortex-a15/bionic/memset.S",
+                "arch-arm/cortex-a15/bionic/stpcpy.S",
+                "arch-arm/cortex-a15/bionic/strcat.S",
+                "arch-arm/cortex-a15/bionic/strcmp.S",
+                "arch-arm/cortex-a15/bionic/strcpy.S",
+                "arch-arm/cortex-a15/bionic/strlen.S",
+
+                "arch-arm/cortex-a53/bionic/memcpy.S",
+
+                "arch-arm/cortex-a55/bionic/memcpy.S",
+
+                "arch-arm/generic/bionic/memcmp.S",
+                "arch-arm/generic/bionic/memmove.S",
+                "arch-arm/generic/bionic/memset.S",
+                "arch-arm/generic/bionic/stpcpy.c",
+                "arch-arm/generic/bionic/strcat.c",
+                "arch-arm/generic/bionic/strcmp.S",
+                "arch-arm/generic/bionic/strcpy.S",
+                "arch-arm/generic/bionic/strlen.c",
+
+                "arch-arm/krait/bionic/memcpy.S",
+                "arch-arm/krait/bionic/memset.S",
+
+                "arch-arm/kryo/bionic/memcpy.S",
+
+                "bionic/strchr.cpp",
+                "bionic/strchrnul.cpp",
+                "bionic/strnlen.cpp",
+                "bionic/strrchr.cpp",
+            ],
+        },
+        arm64: {
+            srcs: [
+                "arch-arm64/bionic/__bionic_clone.S",
+                "arch-arm64/bionic/_exit_with_stack_teardown.S",
+                "arch-arm64/bionic/setjmp.S",
+                "arch-arm64/bionic/syscall.S",
+                "arch-arm64/bionic/vfork.S",
+                "arch-arm64/oryon/memcpy-nt.S",
+                "arch-arm64/oryon/memset-nt.S",
+            ],
+        },
+
+        riscv64: {
+            srcs: [
+                "arch-riscv64/bionic/__bionic_clone.S",
+                "arch-riscv64/bionic/_exit_with_stack_teardown.S",
+                "arch-riscv64/bionic/setjmp.S",
+                "arch-riscv64/bionic/syscall.S",
+                "arch-riscv64/bionic/vfork.S",
+
+                "arch-riscv64/string/memchr_v.S",
+                "arch-riscv64/string/memcmp_v.S",
+                "arch-riscv64/string/memcpy_v.S",
+                "arch-riscv64/string/memmove_v.S",
+                "arch-riscv64/string/memset_v.S",
+                "arch-riscv64/string/stpcpy_v.S",
+                "arch-riscv64/string/strcat_v.S",
+                "arch-riscv64/string/strchr_v.S",
+                "arch-riscv64/string/strcmp_v.S",
+                "arch-riscv64/string/strcpy_v.S",
+                "arch-riscv64/string/strlen_v.S",
+                "arch-riscv64/string/strncat_v.S",
+                "arch-riscv64/string/strncmp_v.S",
+                "arch-riscv64/string/strncpy_v.S",
+                "arch-riscv64/string/strnlen_v.S",
+
+                "arch-riscv64/string/memchr.c",
+                "arch-riscv64/string/memcmp.c",
+                "arch-riscv64/string/memcpy.c",
+                "arch-riscv64/string/memmove.c",
+                "arch-riscv64/string/memset.c",
+                "arch-riscv64/string/stpcpy.c",
+                "arch-riscv64/string/strcat.c",
+                "arch-riscv64/string/strchr.c",
+                "arch-riscv64/string/strcmp.c",
+                "arch-riscv64/string/strcpy.c",
+                "arch-riscv64/string/strlen.c",
+                "arch-riscv64/string/strncat.c",
+                "arch-riscv64/string/strncmp.c",
+                "arch-riscv64/string/strncpy.c",
+                "arch-riscv64/string/strnlen.c",
+
+                "bionic/strchrnul.cpp",
+                "bionic/strrchr.cpp",
+            ],
+        },
+
+        x86: {
+            srcs: [
+                "arch-x86/bionic/__bionic_clone.S",
+                "arch-x86/bionic/_exit_with_stack_teardown.S",
+                "arch-x86/bionic/libcrt_compat.c",
+                "arch-x86/bionic/setjmp.S",
+                "arch-x86/bionic/syscall.S",
+                "arch-x86/bionic/vfork.S",
+                "arch-x86/bionic/__x86.get_pc_thunk.S",
+
+                "arch-x86/string/sse2-memchr-atom.S",
+                "arch-x86/string/sse2-memmove-slm.S",
+                "arch-x86/string/sse2-memset-slm.S",
+                "arch-x86/string/sse2-stpcpy-slm.S",
+                "arch-x86/string/sse2-stpncpy-slm.S",
+                "arch-x86/string/sse2-strchr-atom.S",
+                "arch-x86/string/sse2-strcpy-slm.S",
+                "arch-x86/string/sse2-strlen-slm.S",
+                "arch-x86/string/sse2-strncpy-slm.S",
+                "arch-x86/string/sse2-strnlen-atom.S",
+                "arch-x86/string/sse2-strrchr-atom.S",
+
+                "arch-x86/string/ssse3-memcmp-atom.S",
+                "arch-x86/string/ssse3-strcat-atom.S",
+                "arch-x86/string/ssse3-strcmp-atom.S",
+                "arch-x86/string/ssse3-strncat-atom.S",
+                "arch-x86/string/ssse3-strncmp-atom.S",
+
+                "arch-x86/string/sse4-memcmp-slm.S",
+
+                "bionic/strchrnul.cpp",
+            ],
+        },
+        x86_64: {
+            srcs: [
+                "arch-x86_64/bionic/__bionic_clone.S",
+                "arch-x86_64/bionic/_exit_with_stack_teardown.S",
+                "arch-x86_64/bionic/__restore_rt.S",
+                "arch-x86_64/bionic/setjmp.S",
+                "arch-x86_64/bionic/syscall.S",
+                "arch-x86_64/bionic/vfork.S",
+
+                "arch-x86_64/string/avx2-memset-kbl.S",
+                "arch-x86_64/string/sse2-memmove-slm.S",
+                "arch-x86_64/string/sse2-memset-slm.S",
+                "arch-x86_64/string/sse2-stpcpy-slm.S",
+                "arch-x86_64/string/sse2-stpncpy-slm.S",
+                "arch-x86_64/string/sse2-strcat-slm.S",
+                "arch-x86_64/string/sse2-strcpy-slm.S",
+                "arch-x86_64/string/sse2-strlen-slm.S",
+                "arch-x86_64/string/sse2-strncat-slm.S",
+                "arch-x86_64/string/sse2-strncpy-slm.S",
+                "arch-x86_64/string/sse4-memcmp-slm.S",
+                "arch-x86_64/string/ssse3-strcmp-slm.S",
+                "arch-x86_64/string/ssse3-strncmp-slm.S",
+            ],
+        },
+    },
+
     multilib: {
         lib32: {
-            // LP32 cruft
-            srcs: ["bionic/mmap.cpp"],
+            srcs: [
+                // off64_t/time64_t support on LP32.
+                "bionic/legacy_32_bit_support.cpp",
+                "bionic/time64.c",
+            ],
         },
     },
-    product_variables: {
-        treble_linker_namespaces: {
-            cflags: ["-DTREBLE_LINKER_NAMESPACES"],
-        },
-    },
+
+    local_include_dirs: ["stdio"],
+    generated_headers: ["generated_android_ids"],
+
     whole_static_libs: [
-        "libc_bionic_systrace",
+        "//external/llvm-libc:llvmlibc",
         "libsystemproperties",
     ],
-    cppflags: ["-Wold-style-cast"],
-    local_include_dirs: ["stdio"],
-    include_dirs: ["bionic/libstdc++/include"],
-    name: "libc_bionic_ndk",
-    generated_headers: ["generated_android_ids"],
-}
-
-// ========================================================
-// libc_bionic_systrace.a
-// ========================================================
-
-cc_library_static {
-    name: "libc_bionic_systrace",
-    defaults: ["libc_defaults"],
-    srcs: [
-        "bionic/bionic_systrace.cpp",
-    ],
-    apex_available: [
-        "com.android.runtime",
-    ],
-}
-
-// ========================================================
-// libc_pthread.a - pthreads parts that previously lived in
-// libc_bionic.a. Relocated to their own library because
-// they can't be included in libc_ndk.a (as the layout of
-// pthread_t has changed over the years and has ABI
-// compatibility issues).
-// ========================================================
-
-cc_library_static {
-    defaults: ["libc_defaults"],
-    srcs: [
-        "bionic/bionic_elf_tls.cpp",
-        "bionic/pthread_atfork.cpp",
-        "bionic/pthread_attr.cpp",
-        "bionic/pthread_barrier.cpp",
-        "bionic/pthread_cond.cpp",
-        "bionic/pthread_create.cpp",
-        "bionic/pthread_detach.cpp",
-        "bionic/pthread_equal.cpp",
-        "bionic/pthread_exit.cpp",
-        "bionic/pthread_getcpuclockid.cpp",
-        "bionic/pthread_getschedparam.cpp",
-        "bionic/pthread_gettid_np.cpp",
-        "bionic/pthread_internal.cpp",
-        "bionic/pthread_join.cpp",
-        "bionic/pthread_key.cpp",
-        "bionic/pthread_kill.cpp",
-        "bionic/pthread_mutex.cpp",
-        "bionic/pthread_once.cpp",
-        "bionic/pthread_rwlock.cpp",
-        "bionic/pthread_sigqueue.cpp",
-        "bionic/pthread_self.cpp",
-        "bionic/pthread_setname_np.cpp",
-        "bionic/pthread_setschedparam.cpp",
-        "bionic/pthread_spinlock.cpp",
-        "bionic/sys_thread_properties.cpp",
-
-        // The following implementations depend on pthread data or implementation,
-        // so we can't include them in libc_ndk.a.
-        "bionic/__cxa_thread_atexit_impl.cpp",
-        "bionic/android_unsafe_frame_pointer_chase.cpp",
-        "bionic/atexit.cpp",
-        "bionic/fork.cpp",
-    ],
 
     cppflags: ["-Wold-style-cast"],
     include_dirs: ["bionic/libstdc++/include"],
-    header_libs: ["bionic_libc_platform_headers"],
-    name: "libc_pthread",
+    name: "libc_bionic",
+}
+
+genrule {
+    name: "generated_android_ids",
+    out: ["generated_android_ids.h"],
+    srcs: [":android_filesystem_config_header"],
+    tools: ["fs_config_generator"],
+    cmd: "$(location fs_config_generator) aidarray $(in) > $(out)",
 }
 
 // ========================================================
@@ -1399,116 +1323,7 @@
 }
 
 // ========================================================
-// libc_ndk.a
-// Compatibility library for the NDK. This library contains
-// all the parts of libc that are safe to statically link.
-// We can't safely statically link things that can only run
-// on a certain version of the OS. Examples include
-// anything that talks to netd (a large portion of the DNS
-// code) and anything that is dependent on the layout of a
-// data structure that has changed across releases (such as
-// pthread_t).
-// ========================================================
-
-cc_library_static {
-    name: "libc_ndk",
-    defaults: [
-        "libc_defaults",
-        "libc_native_allocator_defaults",
-    ],
-    ramdisk_available: false,
-    vendor_ramdisk_available: false,
-    srcs: libc_common_src_files + [
-        "bionic/gwp_asan_wrappers.cpp",
-        "bionic/heap_tagging.cpp",
-        "bionic/malloc_common.cpp",
-        "bionic/malloc_limit.cpp",
-    ],
-    multilib: {
-        lib32: {
-            srcs: libc_common_src_files_32,
-        },
-    },
-    arch: {
-        arm: {
-            srcs: [
-                "arch-arm/bionic/exidx_dynamic.c",
-                "arch-common/bionic/crtbegin_so.c",
-                "arch-arm/bionic/atexit_legacy.c",
-                "arch-common/bionic/crtend_so.S",
-            ],
-            whole_static_libs: ["libc_aeabi"],
-        },
-    },
-
-    cflags: [
-        "-fvisibility=hidden",
-        "-DLIBC_STATIC",
-    ],
-
-    whole_static_libs: [
-        "gwp_asan",
-        "gwp_asan_crash_handler",
-        "libarm-optimized-routines-string",
-        "libasync_safe",
-        "libc_bionic_ndk",
-        "libc_bootstrap",
-        "libc_fortify",
-        "libc_freebsd",
-        "libc_freebsd_large_stack",
-        "libc_gdtoa",
-        "libc_netbsd",
-        "libc_openbsd_large_stack",
-        "libc_openbsd_ndk",
-        "libc_syscalls",
-        "libc_tzcode",
-        "libm",
-        "libstdc++",
-    ],
-}
-
-// ========================================================
-// libc_nopthread.a
-// ========================================================
-cc_library_static {
-    defaults: ["libc_defaults"],
-    srcs: libc_common_src_files,
-    multilib: {
-        lib32: {
-            srcs: libc_common_src_files_32,
-        },
-    },
-    name: "libc_nopthread",
-
-    whole_static_libs: [
-        "libarm-optimized-routines-string",
-        "libasync_safe",
-        "libc_bionic",
-        "libc_bionic_ndk",
-        "libc_bootstrap",
-        "libc_dns",
-        "libc_fortify",
-        "libc_freebsd",
-        "libc_freebsd_large_stack",
-        "libc_gdtoa",
-        "libc_netbsd",
-        "libc_openbsd",
-        "libc_openbsd_large_stack",
-        "libc_openbsd_ndk",
-        "libc_syscalls",
-        "libc_tzcode",
-        "libstdc++",
-    ],
-
-    arch: {
-        arm: {
-            whole_static_libs: ["libc_aeabi"],
-        },
-    },
-}
-
-// ========================================================
-// libc_common.a
+// libc_common.a --- everything shared by libc.a and libc.so
 // ========================================================
 
 cc_library_static {
@@ -1516,46 +1331,39 @@
     name: "libc_common",
 
     whole_static_libs: [
-        "libc_nopthread",
-        "libc_pthread",
+        "libarm-optimized-routines-string",
+        "libasync_safe",
+        "libc_bionic",
+        "libc_bootstrap",
+        "libc_dns",
+        "libc_fortify",
+        "libc_freebsd",
+        "libc_freebsd_large_stack",
+        "libc_freebsd_ldexp",
+        "libc_gdtoa",
+        "libc_netbsd",
+        "libc_openbsd",
+        "libc_openbsd_large_stack",
+        "libc_syscalls",
+        "libc_tzcode",
+        "libstdc++",
     ],
-}
-
-// ========================================================
-// libc_static_dispatch.a
-// ========================================================
-cc_library_static {
-    defaults: ["libc_defaults"],
-    name: "libc_static_dispatch",
 
     arch: {
-        x86_64: {
-            srcs: ["arch-x86_64/static_function_dispatch.S"],
-        },
-        x86: {
-            srcs: ["arch-x86/static_function_dispatch.S"],
-        },
         arm: {
-            srcs: ["arch-arm/static_function_dispatch.S"],
-        },
-        arm64: {
-            srcs: ["arch-arm64/static_function_dispatch.S"],
+            whole_static_libs: ["libc_aeabi"],
         },
     },
 }
 
 // ========================================================
-// libc_dynamic_dispatch.a
+// libc_static_dispatch.a/libc_dynamic_dispatch.a --- string/memory "ifuncs"
+// (Actually ifuncs for libc.so, but a home-grown alternative for libc.a.)
 // ========================================================
-cc_library_static {
-    defaults: ["libc_defaults"],
-    name: "libc_dynamic_dispatch",
 
-    cflags: [
-        "-ffreestanding",
-        "-fno-stack-protector",
-        "-fno-jump-tables",
-    ],
+cc_defaults {
+    name: "libc_dispatch_defaults",
+    defaults: ["libc_defaults"],
     arch: {
         x86_64: {
             srcs: ["arch-x86_64/dynamic_function_dispatch.cpp"],
@@ -1569,7 +1377,34 @@
         arm64: {
             srcs: ["arch-arm64/dynamic_function_dispatch.cpp"],
         },
+        riscv64: {
+            srcs: ["arch-riscv64/dynamic_function_dispatch.cpp"],
+        },
     },
+    // Prevent the compiler from inserting calls to libc/taking the address of
+    // a jump table from within an ifunc (or, in the static case, code that
+    // can be executed arbitrarily early).
+    cflags: [
+        "-ffreestanding",
+        "-fno-stack-protector",
+        "-fno-jump-tables",
+    ],
+}
+
+cc_library_static {
+    name: "libc_static_dispatch",
+    defaults: ["libc_dispatch_defaults"],
+    cflags: [
+        "-DBIONIC_STATIC_DISPATCH",
+    ],
+}
+
+cc_library_static {
+    name: "libc_dynamic_dispatch",
+    defaults: ["libc_dispatch_defaults"],
+    cflags: [
+        "-DBIONIC_DYNAMIC_DISPATCH",
+    ],
 }
 
 // ========================================================
@@ -1638,6 +1473,7 @@
     srcs: [
         "arch-common/bionic/crtbegin_so.c",
         "arch-common/bionic/crtbrand.S",
+        "bionic/android_mallopt.cpp",
         "bionic/gwp_asan_wrappers.cpp",
         "bionic/heap_tagging.cpp",
         "bionic/icu.cpp",
@@ -1656,8 +1492,10 @@
 filegroup {
     name: "libc_sources_static",
     srcs: [
+        "bionic/android_mallopt.cpp",
         "bionic/gwp_asan_wrappers.cpp",
         "bionic/heap_tagging.cpp",
+        "bionic/icu_static.cpp",
         "bionic/malloc_common.cpp",
         "bionic/malloc_limit.cpp",
     ],
@@ -1678,6 +1516,8 @@
     defaults: [
         "libc_defaults",
         "libc_native_allocator_defaults",
+        "bug_24465209_workaround",
+        "keep_symbols",
     ],
     name: "libc_library_defaults",
     product_variables: {
@@ -1686,21 +1526,19 @@
         },
     },
     static: {
-        srcs: [ ":libc_sources_static" ],
+        srcs: [":libc_sources_static"],
         cflags: ["-DLIBC_STATIC"],
         whole_static_libs: [
             "gwp_asan",
-            "gwp_asan_crash_handler",
             "libc_init_static",
             "libc_common_static",
             "libc_unwind_static",
         ],
     },
     shared: {
-        srcs: [ ":libc_sources_shared" ],
+        srcs: [":libc_sources_shared"],
         whole_static_libs: [
             "gwp_asan",
-            "gwp_asan_crash_handler",
             "libc_init_dynamic",
             "libc_common_shared",
             "libunwind-exported",
@@ -1715,14 +1553,6 @@
     // Do not pack libc.so relocations; see http://b/20645321 for details.
     pack_relocations: false,
 
-    // WARNING: The only libraries libc.so should depend on are libdl.so and ld-android.so!
-    // If you add other libraries, make sure to add -Wl,--exclude-libs=libgcc.a to the
-    // LOCAL_LDFLAGS for those libraries.  This ensures that symbols that are pulled into
-    // those new libraries from libgcc.a are not declared external; if that were the case,
-    // then libc would not pull those symbols from libgcc.a as it should, instead relying
-    // on the external symbols from the dependent libraries.  That would create a "cloaked"
-    // dependency on libgcc.a in libc though the libraries, which is not what you wanted!
-
     shared_libs: [
         "ld-android",
         "libdl",
@@ -1735,10 +1565,6 @@
 
     arch: {
         arm: {
-            // TODO: This is to work around b/24465209. Remove after root cause is fixed.
-            pack_relocations: false,
-            ldflags: ["-Wl,--hash-style=both"],
-
             version_script: ":libc.arm.map",
             no_libcrt: true,
 
@@ -1746,69 +1572,37 @@
                 srcs: [":libc_sources_shared_arm"],
                 // special for arm
                 cflags: ["-DCRT_LEGACY_WORKAROUND"],
-                // For backwards-compatibility, some arm32 builtins are exported from libc.so.
+                // For backwards compatibility, some arm32 builtins are exported from libc.so.
                 static_libs: ["libclang_rt.builtins-exported"],
             },
 
-            // Arm 32 bit does not produce complete exidx unwind information
-            // so keep the .debug_frame which is relatively small and does
-            // include needed unwind information.
-            // See b/132992102 for details.
-            strip: {
-                keep_symbols_and_debug_frame: true,
-            },
+            ldflags: [
+                // Since we preserve the debug_frame for libc, do not compress
+                // in this case to make unwinds as fast as possible.
+                "-Wl,--compress-debug-sections=none",
+            ],
         },
         arm64: {
             version_script: ":libc.arm64.map",
-
-            // Leave the symbols in the shared library so that stack unwinders can produce
-            // meaningful name resolution.
-            strip: {
-                keep_symbols: true,
-            },
         },
         riscv64: {
             version_script: ":libc.riscv64.map",
-
-            // Leave the symbols in the shared library so that stack unwinders can produce
-            // meaningful name resolution.
-            strip: {
-                keep_symbols: true,
-            },
         },
         x86: {
-            // TODO: This is to work around b/24465209. Remove after root cause is fixed.
-            pack_relocations: false,
-            ldflags: ["-Wl,--hash-style=both"],
-
             version_script: ":libc.x86.map",
             no_libcrt: true,
 
             shared: {
-                // For backwards-compatibility, some x86 builtins are exported from libc.so.
+                // For backwards compatibility, some x86 builtins are exported from libc.so.
                 static_libs: ["libclang_rt.builtins-exported"],
             },
-
-            // Leave the symbols in the shared library so that stack unwinders can produce
-            // meaningful name resolution.
-            strip: {
-                keep_symbols: true,
-            },
         },
         x86_64: {
             version_script: ":libc.x86_64.map",
-
-            // Leave the symbols in the shared library so that stack unwinders can produce
-            // meaningful name resolution.
-            strip: {
-                keep_symbols: true,
-            },
         },
     },
 
-
     apex_available: [
-        "//apex_available:platform",
         "com.android.runtime",
     ],
 
@@ -1823,7 +1617,7 @@
 
 cc_library {
     name: "libc",
-      defaults: [
+    defaults: [
         "libc_library_defaults",
     ],
     stubs: {
@@ -1838,14 +1632,13 @@
     llndk: {
         symbol_file: "libc.map.txt",
         export_headers_as_system: true,
-        export_preprocessed_headers: ["include"],
-        export_llndk_headers: ["libc_llndk_headers"],
+        export_llndk_headers: ["libc_headers"],
     },
 }
 
 cc_library {
     name: "libc_hwasan",
-      defaults: [
+    defaults: [
         "libc_library_defaults",
     ],
     sanitize: {
@@ -1866,8 +1659,14 @@
     },
     native_bridge_supported: false,
     // It is never correct to depend on this directly. This is only
-    // needed for the runtime apex, and in base_system.mk.
-    visibility: ["//bionic/apex"],
+    // needed for the runtime apex, and in base_system.mk, and system_image_defaults
+    // which is default module for soong-defined system image.
+    visibility: [
+        "//bionic/apex",
+        "//build/make/target/product/generic",
+        //TODO(b/381985636) : Remove visibility to Soong-defined GSI once resolved
+        "//build/make/target/product/gsi",
+    ],
 }
 
 genrule {
@@ -1950,9 +1749,10 @@
 }
 
 cc_library_headers {
-    name: "libc_llndk_headers",
+    name: "libc_uapi_headers",
     visibility: [
         "//external/musl",
+        "//external/rust/crates/v4l2r/android",
     ],
     llndk: {
         llndk_headers: true,
@@ -2032,6 +1832,7 @@
         "//external/gwp_asan",
         "//external/jemalloc_new",
         "//external/libunwind_llvm",
+        "//external/llvm-libc",
         "//external/scudo",
         "//system/core/property_service/libpropertyinfoparser",
         "//system/extras/toolchain-extras",
@@ -2044,13 +1845,13 @@
     target: {
         android: {
             export_system_include_dirs: ["include"],
-            header_libs: ["libc_llndk_headers"],
-            export_header_lib_headers: ["libc_llndk_headers"],
+            header_libs: ["libc_uapi_headers"],
+            export_header_lib_headers: ["libc_uapi_headers"],
         },
         linux_bionic: {
             export_system_include_dirs: ["include"],
-            header_libs: ["libc_llndk_headers"],
-            export_header_lib_headers: ["libc_llndk_headers"],
+            header_libs: ["libc_uapi_headers"],
+            export_header_lib_headers: ["libc_uapi_headers"],
         },
     },
 }
@@ -2060,7 +1861,10 @@
 // ========================================================
 
 cc_library {
-    defaults: ["libc_defaults"],
+    defaults: [
+        "libc_defaults",
+        "bug_24465209_workaround",
+    ],
     include_dirs: ["bionic/libstdc++/include"],
     srcs: [
         "bionic/__cxa_guard.cpp",
@@ -2070,6 +1874,9 @@
     name: "libstdc++",
     static_ndk_lib: true,
     static_libs: ["libasync_safe"],
+    apex_available: [
+        "//apex_available:platform",
+    ],
 
     static: {
         system_shared_libs: [],
@@ -2082,12 +1889,8 @@
         },
     },
 
-    //TODO (dimitry): This is to work around b/24465209. Remove after root cause is fixed
     arch: {
         arm: {
-            // TODO: This is to work around b/24465209. Remove after root cause is fixed.
-            pack_relocations: false,
-            ldflags: ["-Wl,--hash-style=both"],
             version_script: ":libstdc++.arm.map",
         },
         arm64: {
@@ -2097,8 +1900,6 @@
             version_script: ":libstdc++.riscv64.map",
         },
         x86: {
-            pack_relocations: false,
-            ldflags: ["-Wl,--hash-style=both"],
             version_script: ":libstdc++.x86.map",
         },
         x86_64: {
@@ -2187,25 +1988,15 @@
 cc_defaults {
     name: "crt_so_defaults",
     defaults: ["crt_defaults"],
-
-    arch: {
-        x86: {
-            cflags: ["-fPIC"],
-        },
-        x86_64: {
-            cflags: ["-fPIC"],
-        },
-    },
     stl: "none",
 }
 
 cc_object {
     name: "crtbrand",
-    // crtbrand.c needs <stdint.h> and a #define for the platform SDK version.
     local_include_dirs: [
-        "include",
         "private", // crtbrand.S depends on private/bionic_asm_note.h
     ],
+    // crtbrand.S needs to know the platform SDK version.
     product_variables: {
         platform_sdk_version: {
             asflags: ["-DPLATFORM_SDK_VERSION=%d"],
@@ -2232,8 +2023,7 @@
 cc_object {
     name: "crtend_so",
     local_include_dirs: [
-        "include",
-        "private",  // crtend_so.S depends on private/bionic_asm_arm64.h
+        "private", // crtend_so.S depends on private/bionic_asm_arm64.h
     ],
     srcs: ["arch-common/bionic/crtend_so.S"],
 
@@ -2248,6 +2038,8 @@
         "bionic", // crtbegin.c includes bionic/libc_init_common.h
     ],
 
+    cflags: ["-DCRTBEGIN_STATIC"],
+
     srcs: ["arch-common/bionic/crtbegin.c"],
     objs: [
         "crtbrand",
@@ -2284,20 +2076,29 @@
     // name clash between gcc and bionic.
     name: "crtend_android",
     local_include_dirs: [
-        "include",
-        "private",  // crtend.S depends on private/bionic_asm_arm64.h
+        "private", // crtend.S depends on private/bionic_asm_arm64.h
     ],
     srcs: ["arch-common/bionic/crtend.S"],
 
     defaults: ["crt_defaults"],
 }
 
+cc_object {
+    name: "crt_pad_segment",
+    local_include_dirs: [
+        "private", // crt_pad_segment.S depends on private/bionic_asm_note.h
+    ],
+    srcs: ["arch-common/bionic/crt_pad_segment.S"],
+
+    defaults: ["crt_defaults"],
+}
+
 cc_library_static {
     name: "note_memtag_heap_async",
     arch: {
-      arm64: {
-        srcs: ["arch-arm64/bionic/note_memtag_heap_async.S"],
-      }
+        arm64: {
+            srcs: ["arch-arm64/bionic/note_memtag_heap_async.S"],
+        },
     },
     sdk_version: "minimum",
 
@@ -2307,9 +2108,9 @@
 cc_library_static {
     name: "note_memtag_heap_sync",
     arch: {
-      arm64: {
-        srcs: ["arch-arm64/bionic/note_memtag_heap_sync.S"],
-      }
+        arm64: {
+            srcs: ["arch-arm64/bionic/note_memtag_heap_sync.S"],
+        },
     },
     sdk_version: "minimum",
 
@@ -2326,6 +2127,7 @@
 //     async_safe_fatal_va_list
 cc_library_static {
     name: "librust_baremetal",
+    defaults: ["cc_baremetal_defaults"],
     header_libs: ["libc_headers"],
     include_dirs: [
         "bionic/libc/async_safe/include",
@@ -2347,11 +2149,12 @@
         },
         riscv64: {
             srcs: [
-               "arch-riscv64/string/__memcpy_chk.S",
+                "arch-riscv64/string/__memcpy_chk.S",
             ],
         },
     },
     whole_static_libs: [
+        "//external/llvm-libc:llvmlibc",
         "libarm-optimized-routines-mem",
         "libc_netbsd",
     ],
@@ -2359,19 +2162,31 @@
     nocrt: true,
     stl: "none",
     visibility: [
-        "//packages/modules/Virtualization/vmbase",
+        "//packages/modules/Virtualization/libs/libvmbase",
     ],
+
+    // b/358211032: This library gets linked into a rust rlib.  Disable LTO
+    // until cross-language lto is supported.
+    lto: {
+        never: true,
+    },
 }
 
 // ========================================================
 // NDK headers.
 // ========================================================
 
-versioned_ndk_headers {
+ndk_headers {
     name: "common_libc",
     from: "include",
     to: "",
+    srcs: ["include/**/*.h"],
     license: "NOTICE",
+    // These don't pass the bad verification we do because many of them are
+    // arch-specific, and they aren't necessarily independently includable.
+    // That's not much of a problem though, since C-incompaitibilities in the
+    // UAPI headers should run into problems long before they reach us.
+    skip_verification: true,
 }
 
 ndk_headers {
@@ -2391,6 +2206,7 @@
         "kernel/uapi/xen/**/*.h",
     ],
     license: "NOTICE",
+    skip_verification: true,
 }
 
 ndk_headers {
@@ -2407,6 +2223,7 @@
     to: "scsi",
     srcs: ["kernel/android/scsi/**/*.h"],
     license: "NOTICE",
+    skip_verification: true,
 }
 
 ndk_headers {
@@ -2415,6 +2232,7 @@
     to: "arm-linux-androideabi",
     srcs: ["kernel/uapi/asm-arm/**/*.h"],
     license: "NOTICE",
+    skip_verification: true,
 }
 
 ndk_headers {
@@ -2423,6 +2241,7 @@
     to: "aarch64-linux-android",
     srcs: ["kernel/uapi/asm-arm64/**/*.h"],
     license: "NOTICE",
+    skip_verification: true,
 }
 
 ndk_headers {
@@ -2431,6 +2250,7 @@
     to: "riscv64-linux-android",
     srcs: ["kernel/uapi/asm-riscv/**/*.h"],
     license: "NOTICE",
+    skip_verification: true,
 }
 
 ndk_headers {
@@ -2439,6 +2259,7 @@
     to: "i686-linux-android",
     srcs: ["kernel/uapi/asm-x86/**/*.h"],
     license: "NOTICE",
+    skip_verification: true,
 }
 
 ndk_headers {
@@ -2447,25 +2268,13 @@
     to: "x86_64-linux-android",
     srcs: ["kernel/uapi/asm-x86/**/*.h"],
     license: "NOTICE",
+    skip_verification: true,
 }
 
 ndk_library {
     name: "libc",
     symbol_file: "libc.map.txt",
     first_version: "9",
-    // APIs implemented in asm don't have debug info: http://b/190554910.
-    allow_untyped_symbols: true,
-    export_header_libs: [
-        "common_libc",
-        "libc_uapi",
-        "libc_kernel_android_uapi_linux",
-        "libc_kernel_android_scsi",
-        "libc_asm_arm",
-        "libc_asm_arm64",
-        "libc_asm_riscv64",
-        "libc_asm_x86",
-        "libc_asm_x86_64",
-    ],
 }
 
 ndk_library {
@@ -2553,13 +2362,12 @@
     srcs: ["kernel/uapi/**/*.h"],
 }
 
-
 cc_genrule {
     name: "func_to_syscall_nrs",
     recovery_available: true,
     cmd: "$(location genfunctosyscallnrs) --out-dir=$(genDir) $(in)",
 
-    tools: [ "genfunctosyscallnrs" ],
+    tools: ["genfunctosyscallnrs"],
 
     srcs: [
         "SYSCALLS.TXT",
@@ -2647,7 +2455,7 @@
     name: "libseccomp_policy_app_zygote_sources_x86",
     recovery_available: true,
     cmd: "$(location genseccomp) --out-dir=$(genDir) --name-modifier=app_zygote $(in)",
-    tools: [ "genseccomp" ],
+    tools: ["genseccomp"],
     srcs: [
         ":seccomp_syscalls_sources_zygote",
         ":libseccomp_gen_syscall_nrs_x86",
@@ -2659,8 +2467,12 @@
     ],
     enabled: false,
     arch: {
-        x86: { enabled: true },
-        x86_64: { enabled: true },
+        x86: {
+            enabled: true,
+        },
+        x86_64: {
+            enabled: true,
+        },
     },
 }
 
@@ -2668,7 +2480,7 @@
     name: "libseccomp_policy_app_zygote_sources_arm",
     recovery_available: true,
     cmd: "$(location genseccomp) --out-dir=$(genDir) --name-modifier=app_zygote $(in)",
-    tools: [ "genseccomp" ],
+    tools: ["genseccomp"],
     srcs: [
         ":seccomp_syscalls_sources_zygote",
         ":libseccomp_gen_syscall_nrs_arm",
@@ -2680,8 +2492,12 @@
     ],
     enabled: false,
     arch: {
-        arm: { enabled: true },
-        arm64: { enabled: true },
+        arm: {
+            enabled: true,
+        },
+        arm64: {
+            enabled: true,
+        },
     },
 }
 
@@ -2689,7 +2505,7 @@
     name: "libseccomp_policy_app_zygote_sources_riscv64",
     recovery_available: true,
     cmd: "$(location genseccomp) --out-dir=$(genDir) --name-modifier=app_zygote $(in)",
-    tools: [ "genseccomp" ],
+    tools: ["genseccomp"],
     srcs: [
         ":seccomp_syscalls_sources_zygote",
         ":libseccomp_gen_syscall_nrs_riscv64",
@@ -2699,7 +2515,9 @@
     ],
     enabled: false,
     arch: {
-        riscv64: { enabled: true },
+        riscv64: {
+            enabled: true,
+        },
     },
 }
 
@@ -2707,7 +2525,7 @@
     name: "libseccomp_policy_app_sources_x86",
     recovery_available: true,
     cmd: "$(location genseccomp) --out-dir=$(genDir) --name-modifier=app $(in)",
-    tools: [ "genseccomp" ],
+    tools: ["genseccomp"],
     srcs: [
         ":seccomp_syscalls_sources_app",
         ":libseccomp_gen_syscall_nrs_x86",
@@ -2719,8 +2537,12 @@
     ],
     enabled: false,
     arch: {
-        x86: { enabled: true },
-        x86_64: { enabled: true },
+        x86: {
+            enabled: true,
+        },
+        x86_64: {
+            enabled: true,
+        },
     },
 }
 
@@ -2728,7 +2550,7 @@
     name: "libseccomp_policy_app_sources_arm",
     recovery_available: true,
     cmd: "$(location genseccomp) --out-dir=$(genDir) --name-modifier=app $(in)",
-    tools: [ "genseccomp" ],
+    tools: ["genseccomp"],
     srcs: [
         ":seccomp_syscalls_sources_app",
         ":libseccomp_gen_syscall_nrs_arm",
@@ -2740,8 +2562,12 @@
     ],
     enabled: false,
     arch: {
-        arm: { enabled: true },
-        arm64: { enabled: true },
+        arm: {
+            enabled: true,
+        },
+        arm64: {
+            enabled: true,
+        },
     },
 }
 
@@ -2749,7 +2575,7 @@
     name: "libseccomp_policy_app_sources_riscv64",
     recovery_available: true,
     cmd: "$(location genseccomp) --out-dir=$(genDir) --name-modifier=app $(in)",
-    tools: [ "genseccomp" ],
+    tools: ["genseccomp"],
     srcs: [
         ":seccomp_syscalls_sources_app",
         ":libseccomp_gen_syscall_nrs_riscv64",
@@ -2759,7 +2585,9 @@
     ],
     enabled: false,
     arch: {
-        riscv64: { enabled: true },
+        riscv64: {
+            enabled: true,
+        },
     },
 }
 
@@ -2767,7 +2595,7 @@
     name: "libseccomp_policy_system_sources_x86",
     recovery_available: true,
     cmd: "$(location genseccomp) --out-dir=$(genDir) --name-modifier=system $(in)",
-    tools: [ "genseccomp" ],
+    tools: ["genseccomp"],
     srcs: [
         ":seccomp_syscalls_sources_system",
         ":libseccomp_gen_syscall_nrs_x86",
@@ -2779,8 +2607,12 @@
     ],
     enabled: false,
     arch: {
-        x86: { enabled: true },
-        x86_64: { enabled: true },
+        x86: {
+            enabled: true,
+        },
+        x86_64: {
+            enabled: true,
+        },
     },
 }
 
@@ -2788,7 +2620,7 @@
     name: "libseccomp_policy_system_sources_arm",
     recovery_available: true,
     cmd: "$(location genseccomp) --out-dir=$(genDir) --name-modifier=system $(in)",
-    tools: [ "genseccomp" ],
+    tools: ["genseccomp"],
     srcs: [
         ":seccomp_syscalls_sources_system",
         ":libseccomp_gen_syscall_nrs_arm",
@@ -2800,8 +2632,12 @@
     ],
     enabled: false,
     arch: {
-        arm: { enabled: true },
-        arm64: { enabled: true },
+        arm: {
+            enabled: true,
+        },
+        arm64: {
+            enabled: true,
+        },
     },
 }
 
@@ -2809,7 +2645,7 @@
     name: "libseccomp_policy_system_sources_riscv64",
     recovery_available: true,
     cmd: "$(location genseccomp) --out-dir=$(genDir) --name-modifier=system $(in)",
-    tools: [ "genseccomp" ],
+    tools: ["genseccomp"],
     srcs: [
         ":seccomp_syscalls_sources_system",
         ":libseccomp_gen_syscall_nrs_riscv64",
@@ -2819,7 +2655,9 @@
     ],
     enabled: false,
     arch: {
-        riscv64: { enabled: true },
+        riscv64: {
+            enabled: true,
+        },
     },
 }
 
@@ -2831,37 +2669,37 @@
     arch: {
         arm: {
             generated_sources: [
-               "libseccomp_policy_app_sources_arm",
-               "libseccomp_policy_app_zygote_sources_arm",
-               "libseccomp_policy_system_sources_arm",
+                "libseccomp_policy_app_sources_arm",
+                "libseccomp_policy_app_zygote_sources_arm",
+                "libseccomp_policy_system_sources_arm",
             ],
         },
         arm64: {
             generated_sources: [
-               "libseccomp_policy_app_sources_arm",
-               "libseccomp_policy_app_zygote_sources_arm",
-               "libseccomp_policy_system_sources_arm",
+                "libseccomp_policy_app_sources_arm",
+                "libseccomp_policy_app_zygote_sources_arm",
+                "libseccomp_policy_system_sources_arm",
             ],
         },
         riscv64: {
             generated_sources: [
-               "libseccomp_policy_app_sources_riscv64",
-               "libseccomp_policy_app_zygote_sources_riscv64",
-               "libseccomp_policy_system_sources_riscv64",
+                "libseccomp_policy_app_sources_riscv64",
+                "libseccomp_policy_app_zygote_sources_riscv64",
+                "libseccomp_policy_system_sources_riscv64",
             ],
         },
         x86: {
             generated_sources: [
-               "libseccomp_policy_app_sources_x86",
-               "libseccomp_policy_app_zygote_sources_x86",
-               "libseccomp_policy_system_sources_x86",
+                "libseccomp_policy_app_sources_x86",
+                "libseccomp_policy_app_zygote_sources_x86",
+                "libseccomp_policy_system_sources_x86",
             ],
         },
         x86_64: {
             generated_sources: [
-               "libseccomp_policy_app_sources_x86",
-               "libseccomp_policy_app_zygote_sources_x86",
-               "libseccomp_policy_system_sources_x86",
+                "libseccomp_policy_app_sources_x86",
+                "libseccomp_policy_app_zygote_sources_x86",
+                "libseccomp_policy_system_sources_x86",
             ],
         },
     },
@@ -2885,7 +2723,6 @@
 
 cc_library_host_static {
     name: "libfts",
-    tidy_disabled_srcs: ["upstream-*/**/*.c"],
     srcs: [
         "bionic/fts.c",
         "upstream-openbsd/lib/libc/stdlib/recallocarray.c",
@@ -2928,7 +2765,6 @@
 cc_library_host_static {
     name: "libb64",
     visibility: ["//external/musl"],
-    tidy_disabled_srcs: ["upstream-*/**/*.c"],
     srcs: ["upstream-openbsd/lib/libc/net/base64.c"],
     export_include_dirs: ["b64/include"],
     local_include_dirs: [
@@ -3087,3 +2923,8 @@
         },
     },
 }
+
+filegroup {
+    name: "linux_capability_header",
+    srcs: ["kernel/uapi/linux/capability.h"],
+}
diff --git a/libc/BUILD b/libc/BUILD
deleted file mode 100644
index 1777ae9..0000000
--- a/libc/BUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright (C) 2022 The Android Open Source Project
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-# SUCH DAMAGE.
-
-load("//build/bazel/rules/apis:cc_api_contribution.bzl", "cc_api_contribution")
-
-cc_api_contribution(
-    name = "libc_contributions",
-    hdrs = [
-        "//bionic/libc/kernel/android:libc_kernel_android_scsi_headers",
-        "//bionic/libc/kernel/android:libc_kernel_android_uapi_headers",
-        "//bionic/libc/kernel/uapi:libc_kernel_uapi_asm_arm64_headers",  #arm64
-        "//bionic/libc/kernel/uapi:libc_kernel_uapi_asm_arm_headers",  #arm
-        "//bionic/libc/kernel/uapi:libc_kernel_uapi_asm_x86_64_headers",  #x86_64
-        "//bionic/libc/kernel/uapi:libc_kernel_uapi_asm_x86_headers",  #x86
-        "//bionic/libc/kernel/uapi:libc_kernel_uapi_headers",
-    ],
-    api = ":libc.map.txt",
-    library_name = "libc",
-)
diff --git a/libc/NOTICE b/libc/NOTICE
index 4d3a108..bca4891 100644
--- a/libc/NOTICE
+++ b/libc/NOTICE
@@ -63,38 +63,6 @@
 
 -------------------------------------------------------------------
 
-Based on the UCB version with the ID appearing below.
-This is ANSIish only when "multibyte character == plain character".
-
-Copyright (c) 1989, 1993
-   The Regents of the University of California.  All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. Neither the name of the University nor the names of its contributors
-   may be used to endorse or promote products derived from this software
-   without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
 All rights reserved.
 
@@ -922,6 +890,34 @@
 
 -------------------------------------------------------------------
 
+Copyright (C) 2024 The Android Open Source Project
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+ * Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in
+   the documentation and/or other materials provided with the
+   distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
 Copyright (c) 1980, 1983, 1988, 1993
    The Regents of the University of California.  All rights reserved.
 
@@ -974,6 +970,35 @@
 
 -------------------------------------------------------------------
 
+Copyright (c) 1982, 1986, 1988, 1993
+   The Regents of the University of California.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. Neither the name of the University nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
 Copyright (c) 1982, 1986, 1993
    The Regents of the University of California.  All rights reserved.
 
@@ -2080,38 +2105,6 @@
 
 Copyright (c) 1990, 1993
    The Regents of the University of California.  All rights reserved.
-
-This code is derived from software contributed to Berkeley by
-Mike Hibler and Chris Torek.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. Neither the name of the University nor the names of its contributors
-   may be used to endorse or promote products derived from this software
-   without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
-Copyright (c) 1990, 1993
-   The Regents of the University of California.  All rights reserved.
 (c) UNIX System Laboratories, Inc.
 All or some portions of this file are derived from material licensed
 to the University of California by American Telephone and Telegraph
@@ -2467,77 +2460,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 1992, 1993, 1994 Henry Spencer.
-Copyright (c) 1992, 1993, 1994
-   The Regents of the University of California.  All rights reserved.
-
-Copyright (c) 2011 The FreeBSD Foundation
-All rights reserved.
-Portions of this software were developed by David Chisnall
-under sponsorship from the FreeBSD Foundation.
-
-This code is derived from software contributed to Berkeley by
-Henry Spencer.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. Neither the name of the University nor the names of its contributors
-   may be used to endorse or promote products derived from this software
-   without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
-Copyright (c) 1992, 1993, 1994 Henry Spencer.
-Copyright (c) 1992, 1993, 1994
-   The Regents of the University of California.  All rights reserved.
-
-This code is derived from software contributed to Berkeley by
-Henry Spencer.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. Neither the name of the University nor the names of its contributors
-   may be used to endorse or promote products derived from this software
-   without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (c) 1993
    The Regents of the University of California.  All rights reserved.
 
@@ -2946,40 +2868,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 1998 Softweyr LLC.  All rights reserved.
-
-strtok_r, from Berkeley strtok
-Oct 13, 1998 by Wes Peters <wes@softweyr.com>
-
-Copyright (c) 1988, 1993
-   The Regents of the University of California.  All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notices, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notices, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. Neither the name of the University nor the names of its contributors
-   may be used to endorse or promote products derived from this software
-   without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY SOFTWEYR LLC, THE REGENTS AND CONTRIBUTORS
-``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL SOFTWEYR LLC, THE
-REGENTS, OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
-TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (c) 1998 The NetBSD Foundation, Inc.
 All rights reserved.
 
@@ -3016,33 +2904,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. The name of the author may not be used to endorse or promote products
-   derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
-AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
-THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (c) 1998, 2015 Todd C. Miller <millert@openbsd.org>
 
 Permission to use, copy, modify, and distribute this software for any
@@ -3059,37 +2920,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 1999
-   David E. O'Brien
-Copyright (c) 1988, 1993
-   The Regents of the University of California.  All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. Neither the name of the University nor the names of its contributors
-   may be used to endorse or promote products derived from this software
-   without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (c) 2000 Ben Harris.
 Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
 All rights reserved.
@@ -3239,32 +3069,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 2002 Tim J. Robbins
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (c) 2002 Tim J. Robbins.
 All rights reserved.
 
@@ -3718,32 +3522,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 2005 Tim J. Robbins.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (c) 2005 by Internet Systems Consortium, Inc. ("ISC")
 Copyright (c) 1995-1999 by Internet Software Consortium
 
@@ -3807,22 +3585,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 2007 Todd C. Miller <millert@openbsd.org>
-
-Permission to use, copy, modify, and distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
--------------------------------------------------------------------
-
 Copyright (c) 2007-2008  Michael G Schwern
 
 This software originally derived from Paul Sheer's pivotal_gmtime_r.c.
@@ -3849,35 +3611,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 2007-2008  Michael G Schwern
-
-This software originally derived from Paul Sheer's pivotal_gmtime_r.c.
-
-The MIT License:
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
-Origin: http://code.google.com/p/y2038
-Modified for Bionic by the Android Open Source Project
-
--------------------------------------------------------------------
-
 Copyright (c) 2008, 2016 Todd C. Miller <millert@openbsd.org>
 
 Permission to use, copy, modify, and distribute this software for any
@@ -3957,32 +3690,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 2009 David Schultz <das@FreeBSD.org>
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (c) 2009 The NetBSD Foundation, Inc.
 
 This code is derived from software contributed to The NetBSD Foundation
@@ -4112,32 +3819,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 2011 David Chisnall
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (c) 2011 Ed Schouten <ed@FreeBSD.org>
                    David Chisnall <theraven@FreeBSD.org>
 All rights reserved.
@@ -4165,36 +3846,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 2011 Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (c) 2011 Martin Pieuchot <mpi@openbsd.org>
 
 Permission to use, copy, modify, and distribute this software for any
@@ -4240,36 +3891,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 2011, 2012, 2013 Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (c) 2011, Intel Corporation
 All rights reserved.
 
@@ -4327,6 +3948,33 @@
 
 -------------------------------------------------------------------
 
+Copyright (c) 2012, Linaro Limited
+   All rights reserved.
+   Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+   Redistribution and use in source and binary forms, with or without
+   modification, are permitted provided that the following conditions are met:
+       * Redistributions of source code must retain the above copyright
+         notice, this list of conditions and the following disclaimer.
+       * Redistributions in binary form must reproduce the above copyright
+         notice, this list of conditions and the following disclaimer in the
+         documentation and/or other materials provided with the distribution.
+       * Neither the name of the Linaro nor the
+         names of its contributors may be used to endorse or promote products
+         derived from this software without specific prior written permission.
+   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+   HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
 Copyright (c) 2012-2014 ARM Ltd
 All rights reserved.
 
@@ -4512,9 +4160,7 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 2017, 2018 Dell EMC
-Copyright (c) 2000, 2001, 2008, 2011, David E. O'Brien
-Copyright (c) 1998 John D. Polstra.
+Copyright (c) 2023 SiFive, Inc.
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
@@ -4525,18 +4171,20 @@
 2. Redistributions in binary form must reproduce the above copyright
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.
+3. The name of the company may not be used to endorse or promote
+   products derived from this software without specific prior written
+   permission.
 
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
+THIS SOFTWARE IS PROVIDED BY SIFIVE INC ``AS IS'' AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL SIFIVE INC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 -------------------------------------------------------------------
 
@@ -4769,6 +4417,539 @@
 
 -------------------------------------------------------------------
 
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2002 Tim J. Robbins
+All rights reserved.
+
+Copyright (c) 2011 The FreeBSD Foundation
+
+Portions of this software were developed by David Chisnall
+under sponsorship from the FreeBSD Foundation.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2002 Tim J. Robbins
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2005 Tim J. Robbins.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2009 David Schultz <das@FreeBSD.org>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2011 David Chisnall
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2015 Nuxi, https://nuxi.nl/
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2017, 2018 Dell EMC
+Copyright (c) 2000, 2001, 2008, 2011, David E. O'Brien
+Copyright (c) 1998 John D. Polstra.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c)1999 Citrus Project,
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-3-Clause
+
+Copyright (c) 1989, 1993
+   The Regents of the University of California.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. Neither the name of the University nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-3-Clause
+
+Copyright (c) 1990, 1993
+   The Regents of the University of California.  All rights reserved.
+
+This code is derived from software contributed to Berkeley by
+Chris Torek.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. Neither the name of the University nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-3-Clause
+
+Copyright (c) 1990, 1993
+   The Regents of the University of California.  All rights reserved.
+
+This code is derived from software contributed to Berkeley by
+Mike Hibler and Chris Torek.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. Neither the name of the University nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-3-Clause
+
+Copyright (c) 1992, 1993
+   The Regents of the University of California.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. Neither the name of the University nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-3-Clause
+
+Copyright (c) 1992, 1993, 1994 Henry Spencer.
+Copyright (c) 1992, 1993, 1994
+   The Regents of the University of California.  All rights reserved.
+
+Copyright (c) 2011 The FreeBSD Foundation
+All rights reserved.
+Portions of this software were developed by David Chisnall
+under sponsorship from the FreeBSD Foundation.
+
+This code is derived from software contributed to Berkeley by
+Henry Spencer.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. Neither the name of the University nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-3-Clause
+
+Copyright (c) 1992, 1993, 1994 Henry Spencer.
+Copyright (c) 1992, 1993, 1994
+   The Regents of the University of California.  All rights reserved.
+
+This code is derived from software contributed to Berkeley by
+Henry Spencer.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. Neither the name of the University nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-3-Clause
+
+Copyright (c) 1998 Softweyr LLC.  All rights reserved.
+
+strtok_r, from Berkeley strtok
+Oct 13, 1998 by Wes Peters <wes@softweyr.com>
+
+Copyright (c) 1988, 1993
+   The Regents of the University of California.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notices, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notices, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. Neither the name of the University nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY SOFTWEYR LLC, THE REGENTS AND CONTRIBUTORS
+``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL SOFTWEYR LLC, THE
+REGENTS, OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-3-Clause
+
+Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. The name of the author may not be used to endorse or promote products
+   derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-3-Clause
+
+Copyright (c) 1999
+   David E. O'Brien
+Copyright (c) 1988, 1993
+   The Regents of the University of California.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. Neither the name of the University nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
 The author of this software is David M. Gay.
 
 Copyright (C) 1998 by Lucent Technologies
@@ -4925,3 +5106,11 @@
 
 -------------------------------------------------------------------
 
+memcpy - copy memory area
+
+Copyright (c) 2012-2022, Arm Limited.
+Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
+
+-------------------------------------------------------------------
+
diff --git a/libc/SECCOMP_ALLOWLIST_APP.TXT b/libc/SECCOMP_ALLOWLIST_APP.TXT
index 7e1ecde..80b15b2 100644
--- a/libc/SECCOMP_ALLOWLIST_APP.TXT
+++ b/libc/SECCOMP_ALLOWLIST_APP.TXT
@@ -4,36 +4,36 @@
 # This file is processed by a python script named genseccomp.py.
 
 # Needed for debugging 32-bit Chrome
-int	pipe:pipe(int pipefd[2])	lp32
+int	pipe(int pipefd[2])	lp32
 
 # b/34651972
-int	access:access(const char *pathname, int mode)	lp32
-int	stat64:stat64(const char*, struct stat64*)	lp32
+int	access(const char *pathname, int mode)	lp32
+int	stat64(const char*, struct stat64*)	lp32
 
 # b/34813887
-int	open:open(const char *path, int oflag, ... ) lp32,x86_64
-int	getdents:getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int count) lp32,x86_64
+int	open(const char *path, int oflag, ... ) lp32,x86_64
+int	getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int count) lp32,x86_64
 
 # b/34719286
-int	eventfd:eventfd(unsigned int initval, int flags)	lp32
+int	eventfd(unsigned int initval, int flags)	lp32
 
 # b/34817266
-int	epoll_wait:epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout)	lp32
+int	epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout)	lp32
 
 # b/34908783
-int	epoll_create:epoll_create(int size)	lp32
+int	epoll_create(int size)	lp32
 
 # b/34979910
-int	creat:creat(const char *pathname, mode_t mode)	lp32
-int	unlink:unlink(const char *pathname)	lp32
+int	creat(const char *pathname, mode_t mode)	lp32
+int	unlink(const char *pathname)	lp32
 
 # b/35059702
-int	lstat64:lstat64(const char*, struct stat64*)	lp32
+int	lstat64(const char*, struct stat64*)	lp32
 
 # b/35217603
-int	fcntl:fcntl(int fd, int cmd, ... /* arg */ )	lp32
-pid_t	fork:fork()	lp32
-int	poll:poll(struct pollfd *fds, nfds_t nfds, int timeout)	lp32
+int	fcntl(int fd, int cmd, ... /* arg */ )	lp32
+pid_t	fork()	lp32
+int	poll(struct pollfd *fds, nfds_t nfds, int timeout)	lp32
 
 # b/35906875
 int	inotify_init()	lp32
diff --git a/libc/SECCOMP_ALLOWLIST_COMMON.TXT b/libc/SECCOMP_ALLOWLIST_COMMON.TXT
index efbf28b..1d58475 100644
--- a/libc/SECCOMP_ALLOWLIST_COMMON.TXT
+++ b/libc/SECCOMP_ALLOWLIST_COMMON.TXT
@@ -11,12 +11,15 @@
 # Syscalls used internally by bionic, but not exposed directly.
 pid_t	gettid()	all
 int	futex(int*, int, int, const timespec*, int*, int)	all
-int	clone(int (*)(void*), void*, int, void*, ...) all
+pid_t	clone(int (*)(void*), void*, int, void*, ...) all
 int	sigreturn(unsigned long)	lp32
 int	rt_sigreturn(unsigned long)	all
 int	rt_tgsigqueueinfo(pid_t, pid_t, int, siginfo_t*)	all
 int	restart_syscall()	all
 
+# The public API doesn't set errno, so we call this via inline assembler.
+int riscv_hwprobe(riscv_hwprobe*, size_t, size_t, unsigned long*, unsigned) riscv64
+
 # vfork is used by bionic (and java.lang.ProcessBuilder) on some
 # architectures. (The others use clone(2) directly instead.)
 pid_t	vfork()	arm,x86,x86_64
@@ -53,6 +56,7 @@
 int execveat(int, const char*, char* const*, char* const*, int)  all
 # Since Linux 4.3, not in glibc. Probed for and conditionally used by ART.
 int membarrier(int, int) all
+int userfaultfd(int) all
 # Since Linux 5.1, not in glibc. Not used by bionic, and not likely ever
 # to be (because the last thing anyone needs is a new 32-bit ABI in the
 # 2020s!) but http://b/138781460 showed cuttlefish needed at least the
@@ -73,5 +77,8 @@
 int rt_sigtimedwait_time64(const sigset64_t*, siginfo_t*, const timespec64*, size_t) lp32
 int futex_time64(int*, int, int, const timespec64*, int*, int) lp32
 int sched_rr_get_interval_time64(pid_t, timespec64*) lp32
-# Since Linux 5.4, not in glibc. Probed for and conditionally used by ART.
-int userfaultfd(int) all
+# Since Linux 5.3, not in glibc. Not used by bionic, but increasingly
+# likely to be useful as new features are added. In particular, cgroups
+# support seems potentially useful for Android (though the struct that
+# changes size over time is obviously problematic).
+pid_t clone3(clone_args*, size_t) all
diff --git a/libc/SECCOMP_BLOCKLIST_APP.TXT b/libc/SECCOMP_BLOCKLIST_APP.TXT
index 049d577..b9ecc02 100644
--- a/libc/SECCOMP_BLOCKLIST_APP.TXT
+++ b/libc/SECCOMP_BLOCKLIST_APP.TXT
@@ -6,40 +6,39 @@
 #
 # This file is processed by a python script named genseccomp.py.
 
-# Note: Some privileged syscalls are still needed in app process after fork before uid change,
-# including capset and setresuid. This is because the seccomp filter must be installed while
-# the process still has CAP_SYS_ADMIN; changing the uid would remove that capability.
-
-# syscalls to modify IDs
-int     setgid:setgid32(gid_t)     lp32
-int     setgid:setgid(gid_t)       lp64
-int     setuid:setuid32(uid_t)    lp32
-int     setuid:setuid(uid_t)      lp64
-int     setregid:setregid32(gid_t, gid_t)  lp32
-int     setregid:setregid(gid_t, gid_t)    lp64
-int     setreuid:setreuid32(uid_t, uid_t)   lp32
-int     setreuid:setreuid(uid_t, uid_t)     lp64
-int     setresgid:setresgid32(gid_t, gid_t, gid_t)   lp32
-int     setresgid:setresgid(gid_t, gid_t, gid_t)     lp64
+# Syscalls to modify IDs.
+# Note: Some privileged syscalls are still needed in app_process after fork but
+# before uid change, including capset and setresuid. This is because the seccomp
+# filter must be installed while the process still has CAP_SYS_ADMIN; changing
+# the uid would remove that capability.
+int     setgid32(gid_t)     lp32
+int     setgid(gid_t)       lp64
+int     setuid32(uid_t)    lp32
+int     setuid(uid_t)      lp64
+int     setregid32(gid_t, gid_t)  lp32
+int     setregid(gid_t, gid_t)    lp64
+int     setreuid32(uid_t, uid_t)   lp32
+int     setreuid(uid_t, uid_t)     lp64
+int     setresgid32(gid_t, gid_t, gid_t)   lp32
+int     setresgid(gid_t, gid_t, gid_t)     lp64
 # setresuid is explicitly allowed, see above.
-int     setfsgid:setfsgid32(gid_t) lp32
-int     setfsgid:setfsgid(gid_t)   lp64
-int     setfsuid:setfsuid32(uid_t) lp32
-int     setfsuid:setfsuid(uid_t)   lp64
-int     setgroups:setgroups32(int, const gid_t*)   lp32
-int     setgroups:setgroups(int, const gid_t*)     lp64
+int     setfsgid32(gid_t) lp32
+int     setfsgid(gid_t)   lp64
+int     setfsuid32(uid_t) lp32
+int     setfsuid(uid_t)   lp64
+int     setgroups32(int, const gid_t*)   lp32
+int     setgroups(int, const gid_t*)     lp64
 
-# syscalls to modify times
+# Syscalls to modify times.
 int     adjtimex(struct timex*)   all
 int     clock_adjtime(clockid_t, struct timex*)   all
 int     clock_settime(clockid_t, const struct timespec*)  all
 int     settimeofday(const struct timeval*, const struct timezone*)   all
 
 int     acct(const char*  filepath)  all
-int     klogctl:syslog(int, char*, int)   all
+int     syslog(int, char*, int)   all
 int     chroot(const char*)  all
 
-# syscalls to change machine various configurations
 int     init_module(void*, unsigned long, const char*)  all
 int     delete_module(const char*, unsigned int)   all
 int     mount(const char*, const char*, const char*, unsigned long, const void*)  all
@@ -48,4 +47,4 @@
 int     swapoff(const char*) all
 int     setdomainname(const char*, size_t)  all
 int     sethostname(const char*, size_t)  all
-int     __reboot:reboot(int, int, int, void*)  all
+int     reboot(int, int, int, void*)  all
diff --git a/libc/SYSCALLS.TXT b/libc/SYSCALLS.TXT
index 08017f1..8c5572e 100644
--- a/libc/SYSCALLS.TXT
+++ b/libc/SYSCALLS.TXT
@@ -65,7 +65,7 @@
 int tgkill(pid_t tgid, pid_t tid, int sig) all
 
 void* __brk:brk(void*) all
-int __execve:execve(const char*, char* const*, char* const*)  all
+int execve(const char*, char* const*, char* const*)  all
 int __ptrace:ptrace(int request, int pid, void* addr, void* data) all
 
 # <sys/resource.h>
@@ -88,7 +88,6 @@
 int     setregid:setregid(gid_t, gid_t)    lp64
 int     chroot(const char*)  all
 int     prctl(int, unsigned long, unsigned long, unsigned long, unsigned long) all
-long    __arch_prctl:arch_prctl(int, unsigned long) x86_64
 int     capget(cap_user_header_t header, cap_user_data_t data) all
 int     capset(cap_user_header_t header, const cap_user_data_t data) all
 int     sigaltstack(const stack_t*, stack_t*) all
@@ -118,7 +117,6 @@
 pid_t       __getpid:getpid()  all
 int memfd_create(const char*, unsigned) all
 int         munmap(void*, size_t)  all
-void*       __mremap:mremap(void*, size_t, size_t, int, void*)  all
 int         msync(const void*, size_t, int)    all
 int         mprotect(const void*, size_t, int)  all
 int         madvise(void*, size_t, int)  all
@@ -127,6 +125,7 @@
 int mlock2(const void* addr, size_t len, int flags)    all
 int         munlock(const void* addr, size_t len)   all
 int         mlockall(int flags)   all
+int mseal(void*, size_t, unsigned long) lp64
 int         munlockall()   all
 int         mincore(void*  start, size_t  length, unsigned char*  vec)   all
 int         __ioctl:ioctl(int, int, void*)  all
@@ -161,7 +160,7 @@
 int linkat(int, const char*, int, const char*, int)  all
 int mkdirat(int, const char*, mode_t)  all
 int mknodat(int, const char*, mode_t, dev_t)  all
-int readlinkat(int, const char*, char*, size_t)  all
+ssize_t readlinkat(int, const char*, char*, size_t)  all
 int renameat2(int, const char*, int, const char*, unsigned)  all
 int symlinkat(const char*, int, const char*)  all
 int unlinkat(int, const char*, int)   all
@@ -174,20 +173,25 @@
 off_t lseek(int, off_t, int) lp32
 int __llseek:_llseek(int, unsigned long, unsigned long, off64_t*, int) lp32
 off_t lseek|lseek64(int, off_t, int) lp64
-int ftruncate64(int, off64_t) lp32
-int ftruncate|ftruncate64(int, off_t) lp64
 ssize_t sendfile(int out_fd, int in_fd, off_t* offset, size_t count) lp32
 ssize_t sendfile64(int out_fd, int in_fd, off64_t* offset, size_t count) lp32
 ssize_t sendfile|sendfile64(int out_fd, int in_fd, off_t* offset, size_t count) lp64
 int truncate(const char*, off_t) lp32
 int truncate64(const char*, off64_t) lp32
 int truncate|truncate64(const char*, off_t) lp64
-# (mmap only gets two lines because we only used the 64-bit variant on 32-bit systems.)
-void* __mmap2:mmap2(void*, size_t, int, int, int, long)   lp32
-void* mmap|mmap64(void*, size_t, int, int, int, off_t)  lp64
 # (fallocate only gets two lines because there is no 32-bit variant.)
 int fallocate64:fallocate(int, int, off64_t, off64_t) lp32
 int fallocate|fallocate64(int, int, off_t, off_t) lp64
+# (ftruncate only gets two lines because 32-bit bionic only uses the 64-bit call.)
+int ftruncate64(int, off64_t) lp32
+int ftruncate|ftruncate64(int, off_t) lp64
+# (mmap only gets two lines because 32-bit bionic only uses the 64-bit call.)
+void* __mmap2:mmap2(void*, size_t, int, int, int, long) lp32
+void* mmap|mmap64(void*, size_t, int, int, int, off_t) lp64
+
+# mremap is in C++ for 32-bit so we can add the PTRDIFF_MAX check.
+void* __mremap:mremap(void*, size_t, size_t, int, void*) lp32
+void* mremap(void*, size_t, size_t, int, void*) lp64
 
 # posix_fadvise64 is awkward: arm has shuffled arguments,
 # the POSIX functions don't set errno, and no architecture has posix_fadvise.
@@ -322,10 +326,11 @@
 int __epoll_create1:epoll_create1(int)  all
 int epoll_ctl(int, int op, int, struct epoll_event*)  all
 int __epoll_pwait:epoll_pwait(int, struct epoll_event*, int, int, const sigset64_t*, size_t)  all
+int __epoll_pwait2:epoll_pwait2(int, struct epoll_event*, int, const timespec64*, const sigset64_t*, size_t)  all
 
 int __eventfd:eventfd2(unsigned int, int)  all
 
-void __exit_group:exit_group(int)  all
+void _exit|_Exit:exit_group(int)  all
 void __exit:exit(int)  all
 
 int inotify_init1(int)  all
@@ -345,7 +350,7 @@
 int setdomainname(const char*, size_t)  all
 int sethostname(const char*, size_t)  all
 
-int __sync_file_range:sync_file_range(int, off64_t, off64_t, unsigned int) x86,lp64
+int sync_file_range(int, off64_t, off64_t, unsigned int) x86,lp64
 int __sync_file_range2:sync_file_range2(int, unsigned int, off64_t, off64_t) arm
 
 pid_t wait4(pid_t, int*, int, struct rusage*)  all
@@ -356,10 +361,11 @@
 int     cacheflush:__ARM_NR_cacheflush(long start, long end, long flags)  arm
 
 # riscv64-specific
-int _flush_icache:riscv_flush_icache(void*, void*, unsigned long) riscv64
+int __riscv_flush_icache:riscv_flush_icache(void*, void*, unsigned long) riscv64
 
 # x86-specific
 int     __set_thread_area:set_thread_area(void*) x86
+long arch_prctl(int, unsigned long) x86_64
 
 # vdso stuff.
 int __clock_getres:clock_getres(clockid_t, struct timespec*) all
diff --git a/libc/arch-arm/bionic/__restore.S b/libc/arch-arm/bionic/__restore.S
index 5291743..c79c40a 100644
--- a/libc/arch-arm/bionic/__restore.S
+++ b/libc/arch-arm/bionic/__restore.S
@@ -47,7 +47,7 @@
   .save {r0-r15}
   .pad #32
   nop
-ENTRY_PRIVATE_NO_DWARF(__restore)
+ENTRY_NO_DWARF_PRIVATE(__restore)
   // This function must have exactly this instruction sequence.
   mov r7, #__NR_sigreturn
   swi #0
@@ -57,7 +57,7 @@
   .save {r0-r15}
   .pad #160
   nop
-ENTRY_PRIVATE_NO_DWARF(__restore_rt)
+ENTRY_NO_DWARF_PRIVATE(__restore_rt)
   // This function must have exactly this instruction sequence.
   mov r7, #__NR_rt_sigreturn
   swi #0
diff --git a/libc/arch-arm/bionic/setjmp.S b/libc/arch-arm/bionic/setjmp.S
index 2579143..d3d25d4 100644
--- a/libc/arch-arm/bionic/setjmp.S
+++ b/libc/arch-arm/bionic/setjmp.S
@@ -75,14 +75,12 @@
 #define _JB_CORE_BASE   (_JB_FLOAT_STATE+1)
 #define _JB_CHECKSUM    (_JB_CORE_BASE+10)
 
-ENTRY(setjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(setjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(setjmp)
   mov r1, #1
   b sigsetjmp
 END(setjmp)
 
-ENTRY(_setjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(_setjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(_setjmp)
   mov r1, #0
   b sigsetjmp
 END(_setjmp)
@@ -96,8 +94,7 @@
 .endm
 
 // int sigsetjmp(sigjmp_buf env, int save_signal_mask);
-ENTRY(sigsetjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(sigsetjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(sigsetjmp)
   stmfd sp!, {r0, lr}
   .cfi_def_cfa_offset 8
   .cfi_rel_offset r0, 0
@@ -187,8 +184,7 @@
 END(sigsetjmp)
 
 // void siglongjmp(sigjmp_buf env, int value);
-ENTRY(siglongjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(siglongjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(siglongjmp)
   stmfd sp!, {r0, r1, lr}
   .cfi_def_cfa_offset 12
   .cfi_rel_offset r0, 0
@@ -269,7 +265,5 @@
   bx lr
 END(siglongjmp)
 
-ALIAS_SYMBOL(longjmp, siglongjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(longjmp)
-ALIAS_SYMBOL(_longjmp, siglongjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(_longjmp)
+ALIAS_SYMBOL_WEAK_FOR_NATIVE_BRIDGE(longjmp, siglongjmp)
+ALIAS_SYMBOL_WEAK_FOR_NATIVE_BRIDGE(_longjmp, siglongjmp)
diff --git a/libc/arch-arm/bionic/vfork.S b/libc/arch-arm/bionic/vfork.S
index a964be5..f4d329b 100644
--- a/libc/arch-arm/bionic/vfork.S
+++ b/libc/arch-arm/bionic/vfork.S
@@ -29,8 +29,7 @@
 #include <platform/bionic/tls_defines.h>
 #include <private/bionic_asm.h>
 
-ENTRY(vfork)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(vfork)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(vfork)
     // r3 = &__get_tls()[TLS_SLOT_THREAD_ID]
     mrc     p15, 0, r3, c13, c0, 3
     ldr     r3, [r3, #(TLS_SLOT_THREAD_ID * 4)]
diff --git a/libc/arch-arm/dynamic_function_dispatch.cpp b/libc/arch-arm/dynamic_function_dispatch.cpp
index 1d2f38f..f984421 100644
--- a/libc/arch-arm/dynamic_function_dispatch.cpp
+++ b/libc/arch-arm/dynamic_function_dispatch.cpp
@@ -27,27 +27,26 @@
  */
 
 #include <fcntl.h>
-#include <sys/syscall.h>
-
 #include <private/bionic_ifuncs.h>
+#include <sys/syscall.h>
 
 extern "C" {
 
 enum CpuVariant {
-    kUnknown = 0,
-    kGeneric,
-    kCortexA7,
-    kCortexA9,
-    kCortexA53,
-    kCortexA55,
-    kKrait,
-    kKryo,
+  kUnknown = 0,
+  kGeneric,
+  kCortexA7,
+  kCortexA9,
+  kCortexA53,
+  kCortexA55,
+  kKrait,
+  kKryo,
 };
 
 static constexpr int MAX_CPU_NAME_LEN = 12;
 struct CpuVariantNames {
-    alignas(alignof(int)) char name[MAX_CPU_NAME_LEN];
-    CpuVariant variant;
+  alignas(alignof(int)) char name[MAX_CPU_NAME_LEN];
+  CpuVariant variant;
 };
 
 static constexpr CpuVariantNames cpu_variant_names[] = {
@@ -66,227 +65,237 @@
 };
 
 static long ifunc_open(const char* pathname) {
-    register long r0 __asm__("r0") = AT_FDCWD;
-    register long r1 __asm__("r1") = reinterpret_cast<long>(pathname);
-    register long r2 __asm__("r2") = O_RDONLY;
-    register long r3 __asm__("r3") = 0;
-    register long r7 __asm__("r7") = __NR_openat;
-    __asm__ volatile("swi #0" : "=r"(r0) : "r"(r0), "r"(r1), "r"(r2), "r"(r3), "r"(r7));
-    return r0;
+  register long r0 __asm__("r0") = AT_FDCWD;
+  register long r1 __asm__("r1") = reinterpret_cast<long>(pathname);
+  register long r2 __asm__("r2") = O_RDONLY;
+  register long r3 __asm__("r3") = 0;
+  register long r7 __asm__("r7") = __NR_openat;
+  __asm__ volatile("swi #0"
+                   : "=r"(r0)
+                   : "r"(r0), "r"(r1), "r"(r2), "r"(r3), "r"(r7));
+  return r0;
 }
 
 static ssize_t ifunc_read(int fd, void* buf, size_t count) {
-    register long r0 __asm__("r0") = fd;
-    register long r1 __asm__("r1") = reinterpret_cast<long>(buf);
-    register long r2 __asm__("r2") = count;
-    register long r7 __asm__("r7") = __NR_read;
-    __asm__ volatile("swi #0" : "=r"(r0) : "r"(r0), "r"(r1), "r"(r2), "r"(r7) : "memory");
-    return r0;
+  register long r0 __asm__("r0") = fd;
+  register long r1 __asm__("r1") = reinterpret_cast<long>(buf);
+  register long r2 __asm__("r2") = count;
+  register long r7 __asm__("r7") = __NR_read;
+  __asm__ volatile("swi #0"
+                   : "=r"(r0)
+                   : "r"(r0), "r"(r1), "r"(r2), "r"(r7)
+                   : "memory");
+  return r0;
 }
 
 static int ifunc_close(int fd) {
-    register long r0 __asm__("r0") = fd;
-    register long r7 __asm__("r7") = __NR_close;
-    __asm__ volatile("swi #0" : "=r"(r0) : "r"(r0), "r"(r7));
-    return r0;
+  register long r0 __asm__("r0") = fd;
+  register long r7 __asm__("r7") = __NR_close;
+  __asm__ volatile("swi #0" : "=r"(r0) : "r"(r0), "r"(r7));
+  return r0;
 }
 
 static bool is_same_name(const char* a, const char* b) {
-    static_assert(MAX_CPU_NAME_LEN % sizeof(int) == 0, "");
-    const int* ia = reinterpret_cast<const int*>(a);
-    const int* ib = reinterpret_cast<const int*>(b);
-    for (size_t i = 0; i < MAX_CPU_NAME_LEN / sizeof(int); ++i) {
-        if (ia[i] != ib[i]) {
-            return false;
-        }
+  static_assert(MAX_CPU_NAME_LEN % sizeof(int) == 0, "");
+  const int* ia = reinterpret_cast<const int*>(a);
+  const int* ib = reinterpret_cast<const int*>(b);
+  for (size_t i = 0; i < MAX_CPU_NAME_LEN / sizeof(int); ++i) {
+    if (ia[i] != ib[i]) {
+      return false;
     }
-    return true;
+  }
+  return true;
 }
 
 static CpuVariant init_cpu_variant() {
-    int fd = ifunc_open("/dev/cpu_variant:arm");
-    if (fd < 0) return kGeneric;
+  int fd = ifunc_open("/dev/cpu_variant:arm");
+  if (fd < 0) return kGeneric;
 
-    alignas(alignof(int)) char name[MAX_CPU_NAME_LEN] = {};
+  alignas(alignof(int)) char name[MAX_CPU_NAME_LEN] = {};
 
-    int bytes_read, total_read = 0;
-    while (total_read < MAX_CPU_NAME_LEN - 1 &&
-           (bytes_read = ifunc_read(fd, name + total_read,
-                                    MAX_CPU_NAME_LEN - 1 - total_read)) > 0) {
-        total_read += bytes_read;
-    }
-    ifunc_close(fd);
+  int bytes_read, total_read = 0;
+  while (total_read < MAX_CPU_NAME_LEN - 1 &&
+         (bytes_read = ifunc_read(fd, name + total_read,
+                                  MAX_CPU_NAME_LEN - 1 - total_read)) > 0) {
+    total_read += bytes_read;
+  }
+  ifunc_close(fd);
 
-    if (bytes_read != 0) {
-        // The file is too big. We haven't reach the end. Or maybe there is an
-        // error when reading.
-        return kGeneric;
-    }
-    name[total_read] = 0;
-
-    const CpuVariantNames* cpu_variant = cpu_variant_names;
-    while (cpu_variant->variant != kUnknown) {
-        if (is_same_name(cpu_variant->name, name)) {
-            return cpu_variant->variant;
-        }
-        cpu_variant++;
-    }
+  if (bytes_read != 0) {
+    // The file is too big. We haven't reach the end. Or maybe there is an
+    // error when reading.
     return kGeneric;
+  }
+  name[total_read] = 0;
+
+  const CpuVariantNames* cpu_variant = cpu_variant_names;
+  while (cpu_variant->variant != kUnknown) {
+    if (is_same_name(cpu_variant->name, name)) {
+      return cpu_variant->variant;
+    }
+    cpu_variant++;
+  }
+  return kGeneric;
 }
 
 static CpuVariant get_cpu_variant() {
-    static CpuVariant cpu_variant = kUnknown;
-    if (cpu_variant == kUnknown) {
-        cpu_variant = init_cpu_variant();
-    }
-    return cpu_variant;
+  static CpuVariant cpu_variant = kUnknown;
+  if (cpu_variant == kUnknown) {
+    cpu_variant = init_cpu_variant();
+  }
+  return cpu_variant;
 }
 
-typedef void* memmove_func(void* __dst, const void* __src, size_t __n);
 DEFINE_IFUNC_FOR(memmove) {
-    RETURN_FUNC(memmove_func, memmove_a15);
+  RETURN_FUNC(memmove_func_t, memmove_a15);
 }
+MEMMOVE_SHIM()
 
-typedef void* memcpy_func(void*, const void*, size_t);
 DEFINE_IFUNC_FOR(memcpy) {
-    return memmove_resolver(hwcap);
+  return memmove_resolver(hwcap);
 }
+MEMCPY_SHIM()
 
-typedef void* __memcpy_func(void*, const void*, size_t);
+// On arm32, __memcpy() is not publicly exposed, but gets called by memmove()
+// in cases where the copy is known to be overlap-safe.
+typedef void* __memcpy_func_t(void*, const void*, size_t);
 DEFINE_IFUNC_FOR(__memcpy) {
-    switch(get_cpu_variant()) {
-        case kCortexA7:
-            RETURN_FUNC(__memcpy_func, __memcpy_a7);
-        case kCortexA9:
-            RETURN_FUNC(__memcpy_func, __memcpy_a9);
-        case kKrait:
-            RETURN_FUNC(__memcpy_func, __memcpy_krait);
-        case kCortexA53:
-            RETURN_FUNC(__memcpy_func, __memcpy_a53);
-        case kCortexA55:
-            RETURN_FUNC(__memcpy_func, __memcpy_a55);
-        case kKryo:
-            RETURN_FUNC(__memcpy_func, __memcpy_kryo);
-        default:
-            RETURN_FUNC(__memcpy_func, __memcpy_a15);
-    }
+  switch (get_cpu_variant()) {
+    case kCortexA7:
+      RETURN_FUNC(__memcpy_func_t, __memcpy_a7);
+    case kCortexA9:
+      RETURN_FUNC(__memcpy_func_t, __memcpy_a9);
+    case kKrait:
+      RETURN_FUNC(__memcpy_func_t, __memcpy_krait);
+    case kCortexA53:
+      RETURN_FUNC(__memcpy_func_t, __memcpy_a53);
+    case kCortexA55:
+      RETURN_FUNC(__memcpy_func_t, __memcpy_a55);
+    case kKryo:
+      RETURN_FUNC(__memcpy_func_t, __memcpy_kryo);
+    default:
+      RETURN_FUNC(__memcpy_func_t, __memcpy_a15);
+  }
 }
+DEFINE_STATIC_SHIM(void* __memcpy(void* dst, const void* src, size_t n) {
+  FORWARD(__memcpy)(dst, src, n);
+})
 
-typedef void* __memset_chk_func(void* s, int c, size_t n, size_t n2);
 DEFINE_IFUNC_FOR(__memset_chk) {
-    switch(get_cpu_variant()) {
-        case kCortexA7:
-        case kCortexA53:
-        case kCortexA55:
-        case kKryo:
-            RETURN_FUNC(__memset_chk_func, __memset_chk_a7);
-        case kCortexA9:
-            RETURN_FUNC(__memset_chk_func, __memset_chk_a9);
-        case kKrait:
-            RETURN_FUNC(__memset_chk_func, __memset_chk_krait);
-        default:
-            RETURN_FUNC(__memset_chk_func, __memset_chk_a15);
-    }
+  switch (get_cpu_variant()) {
+    case kCortexA7:
+    case kCortexA53:
+    case kCortexA55:
+    case kKryo:
+      RETURN_FUNC(__memset_chk_func_t, __memset_chk_a7);
+    case kCortexA9:
+      RETURN_FUNC(__memset_chk_func_t, __memset_chk_a9);
+    case kKrait:
+      RETURN_FUNC(__memset_chk_func_t, __memset_chk_krait);
+    default:
+      RETURN_FUNC(__memset_chk_func_t, __memset_chk_a15);
+  }
 }
+__MEMSET_CHK_SHIM()
 
-typedef void* memset_func(void* __dst, int __ch, size_t __n);
 DEFINE_IFUNC_FOR(memset) {
-    switch(get_cpu_variant()) {
-        case kCortexA7:
-        case kCortexA53:
-        case kCortexA55:
-        case kKryo:
-             RETURN_FUNC(memset_func, memset_a7);
-        case kCortexA9:
-             RETURN_FUNC(memset_func, memset_a9);
-        case kKrait:
-             RETURN_FUNC(memset_func, memset_krait);
-        default:
-             RETURN_FUNC(memset_func, memset_a15);
-    }
+  switch (get_cpu_variant()) {
+    case kCortexA7:
+    case kCortexA53:
+    case kCortexA55:
+    case kKryo:
+      RETURN_FUNC(memset_func_t, memset_a7);
+    case kCortexA9:
+      RETURN_FUNC(memset_func_t, memset_a9);
+    case kKrait:
+      RETURN_FUNC(memset_func_t, memset_krait);
+    default:
+      RETURN_FUNC(memset_func_t, memset_a15);
+  }
 }
+MEMSET_SHIM()
 
-typedef char* strcpy_func(char* __dst, const char* __src);
 DEFINE_IFUNC_FOR(strcpy) {
-    switch(get_cpu_variant()) {
-        case kCortexA9:
-            RETURN_FUNC(strcpy_func, strcpy_a9);
-        default:
-            RETURN_FUNC(strcpy_func, strcpy_a15);
-    }
+  switch (get_cpu_variant()) {
+    case kCortexA9:
+      RETURN_FUNC(strcpy_func_t, strcpy_a9);
+    default:
+      RETURN_FUNC(strcpy_func_t, strcpy_a15);
+  }
 }
+STRCPY_SHIM()
 
-typedef char* __strcpy_chk_func(char* dst, const char* src, size_t dst_len);
 DEFINE_IFUNC_FOR(__strcpy_chk) {
-    switch(get_cpu_variant()) {
-        case kCortexA7:
-            RETURN_FUNC(__strcpy_chk_func, __strcpy_chk_a7);
-        case kCortexA9:
-            RETURN_FUNC(__strcpy_chk_func, __strcpy_chk_a9);
-        case kKrait:
-        case kKryo:
-            RETURN_FUNC(__strcpy_chk_func, __strcpy_chk_krait);
-        case kCortexA53:
-            RETURN_FUNC(__strcpy_chk_func, __strcpy_chk_a53);
-        case kCortexA55:
-            RETURN_FUNC(__strcpy_chk_func, __strcpy_chk_a55);
-        default:
-            RETURN_FUNC(__strcpy_chk_func, __strcpy_chk_a15);
-    }
+  switch (get_cpu_variant()) {
+    case kCortexA7:
+      RETURN_FUNC(__strcpy_chk_func_t, __strcpy_chk_a7);
+    case kCortexA9:
+      RETURN_FUNC(__strcpy_chk_func_t, __strcpy_chk_a9);
+    case kKrait:
+    case kKryo:
+      RETURN_FUNC(__strcpy_chk_func_t, __strcpy_chk_krait);
+    case kCortexA53:
+      RETURN_FUNC(__strcpy_chk_func_t, __strcpy_chk_a53);
+    case kCortexA55:
+      RETURN_FUNC(__strcpy_chk_func_t, __strcpy_chk_a55);
+    default:
+      RETURN_FUNC(__strcpy_chk_func_t, __strcpy_chk_a15);
+  }
 }
+__STRCPY_CHK_SHIM()
 
-typedef char* stpcpy_func(char* __dst, const char* __src);
 DEFINE_IFUNC_FOR(stpcpy) {
-    switch(get_cpu_variant()) {
-        case kCortexA9:
-            RETURN_FUNC(stpcpy_func, stpcpy_a9);
-        default:
-            RETURN_FUNC(stpcpy_func, stpcpy_a15);
-    }
+  switch (get_cpu_variant()) {
+    case kCortexA9:
+      RETURN_FUNC(stpcpy_func_t, stpcpy_a9);
+    default:
+      RETURN_FUNC(stpcpy_func_t, stpcpy_a15);
+  }
 }
+STPCPY_SHIM()
 
-typedef char* strcat_func(char* __dst, const char* __src);
 DEFINE_IFUNC_FOR(strcat) {
-    switch(get_cpu_variant()) {
-        case kCortexA9:
-            RETURN_FUNC(strcat_func, strcat_a9);
-        default:
-            RETURN_FUNC(strcat_func, strcat_a15);
-    }
+  switch (get_cpu_variant()) {
+    case kCortexA9:
+      RETURN_FUNC(strcat_func_t, strcat_a9);
+    default:
+      RETURN_FUNC(strcat_func_t, strcat_a15);
+  }
 }
+STRCAT_SHIM()
 
-typedef char* __strcat_chk_func(char* dst, const char* src, size_t dst_buf_size);
 DEFINE_IFUNC_FOR(__strcat_chk) {
-    switch(get_cpu_variant()) {
-        case kCortexA7:
-            RETURN_FUNC(__strcat_chk_func, __strcat_chk_a7);
-        case kCortexA9:
-            RETURN_FUNC(__strcat_chk_func, __strcat_chk_a9);
-        case kKrait:
-        case kKryo:
-            RETURN_FUNC(__strcat_chk_func, __strcat_chk_krait);
-        case kCortexA53:
-            RETURN_FUNC(__strcat_chk_func, __strcat_chk_a53);
-        case kCortexA55:
-            RETURN_FUNC(__strcat_chk_func, __strcat_chk_a55);
-        default:
-            RETURN_FUNC(__strcat_chk_func, __strcat_chk_a15);
-    }
+  switch (get_cpu_variant()) {
+    case kCortexA7:
+      RETURN_FUNC(__strcat_chk_func_t, __strcat_chk_a7);
+    case kCortexA9:
+      RETURN_FUNC(__strcat_chk_func_t, __strcat_chk_a9);
+    case kKrait:
+    case kKryo:
+      RETURN_FUNC(__strcat_chk_func_t, __strcat_chk_krait);
+    case kCortexA53:
+      RETURN_FUNC(__strcat_chk_func_t, __strcat_chk_a53);
+    case kCortexA55:
+      RETURN_FUNC(__strcat_chk_func_t, __strcat_chk_a55);
+    default:
+      RETURN_FUNC(__strcat_chk_func_t, __strcat_chk_a15);
+  }
 }
+__STRCAT_CHK_SHIM()
 
-typedef int strcmp_func(const char* __lhs, const char* __rhs);
 DEFINE_IFUNC_FOR(strcmp) {
-    RETURN_FUNC(strcmp_func, strcmp_a15);
+  RETURN_FUNC(strcmp_func_t, strcmp_a15);
 }
+STRCMP_SHIM()
 
-typedef size_t strlen_func(const char* __s);
 DEFINE_IFUNC_FOR(strlen) {
-    switch(get_cpu_variant()) {
-        case kCortexA9:
-            RETURN_FUNC(strlen_func, strlen_a9);
-        default:
-            RETURN_FUNC(strlen_func, strlen_a15);
-    }
+  switch (get_cpu_variant()) {
+    case kCortexA9:
+      RETURN_FUNC(strlen_func_t, strlen_a9);
+    default:
+      RETURN_FUNC(strlen_func_t, strlen_a15);
+  }
 }
+STRLEN_SHIM()
 
 }  // extern "C"
diff --git a/libc/arch-arm64/bionic/__bionic_clone.S b/libc/arch-arm64/bionic/__bionic_clone.S
index e9932ad..581b47a 100644
--- a/libc/arch-arm64/bionic/__bionic_clone.S
+++ b/libc/arch-arm64/bionic/__bionic_clone.S
@@ -39,7 +39,7 @@
     svc     #0
 
     # Are we the child?
-    cbz     x0, .L_bc_child
+    cbz     x0, L(child)
 
     # Set errno if something went wrong.
     cmn     x0, #(MAX_ERRNO + 1)
@@ -48,7 +48,7 @@
 
     ret
 
-.L_bc_child:
+L(child):
     # We're in the child now. Set the end of the frame record chain.
     mov     x29, #0
     # Setting x30 to 0 will make the unwinder stop at __start_thread.
diff --git a/libc/arch-arm64/bionic/setjmp.S b/libc/arch-arm64/bionic/setjmp.S
index d787a56..c408998 100644
--- a/libc/arch-arm64/bionic/setjmp.S
+++ b/libc/arch-arm64/bionic/setjmp.S
@@ -95,21 +95,18 @@
   m_mangle_registers \reg, sp_reg=\sp_reg
 .endm
 
-ENTRY(setjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(setjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(setjmp)
   mov w1, #1
   b sigsetjmp
 END(setjmp)
 
-ENTRY(_setjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(_setjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(_setjmp)
   mov w1, #0
   b sigsetjmp
 END(_setjmp)
 
 // int sigsetjmp(sigjmp_buf env, int save_signal_mask);
-ENTRY(sigsetjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(sigsetjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(sigsetjmp)
   paciasp
   .cfi_negate_ra_state
   stp x0, x30, [sp, #-16]!
@@ -185,8 +182,7 @@
 END(sigsetjmp)
 
 // void siglongjmp(sigjmp_buf env, int value);
-ENTRY(siglongjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(siglongjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(siglongjmp)
   // Check the checksum before doing anything.
   m_calculate_checksum x12, x0, x2
   ldr x2, [x0, #(_JB_CHECKSUM * 8)]
@@ -205,6 +201,7 @@
   bic x2, x2, #1
   ldr x0, [x0, #(_JB_X30_SP  * 8 + 8)]
   eor x0, x0, x2
+  add x1, sp, #16
   bl memtag_handle_longjmp
 
   mov x1, x19 // Restore 'value'.
@@ -290,9 +287,7 @@
   ret
 END(siglongjmp)
 
-ALIAS_SYMBOL(longjmp, siglongjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(longjmp)
-ALIAS_SYMBOL(_longjmp, siglongjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(_longjmp)
+ALIAS_SYMBOL_WEAK_FOR_NATIVE_BRIDGE(longjmp, siglongjmp)
+ALIAS_SYMBOL_WEAK_FOR_NATIVE_BRIDGE(_longjmp, siglongjmp)
 
 NOTE_GNU_PROPERTY()
diff --git a/libc/arch-arm64/bionic/vfork.S b/libc/arch-arm64/bionic/vfork.S
index 9eb82d8..26ac255 100644
--- a/libc/arch-arm64/bionic/vfork.S
+++ b/libc/arch-arm64/bionic/vfork.S
@@ -31,8 +31,7 @@
 #include <asm/signal.h>
 #include <linux/sched.h>
 
-ENTRY(vfork)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(vfork)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(vfork)
     // x9 = __get_tls()[TLS_SLOT_THREAD_ID]
     mrs     x9, tpidr_el0
     ldr     x9, [x9, #(TLS_SLOT_THREAD_ID * 8)]
@@ -42,10 +41,29 @@
     ldr     w10, [x9, #20]
     str     w0, [x9, #20]
 
-    // Clear vfork_child_stack_bottom_.
-    str     xzr, [x9, #776]
+    mov     x0, #SIGCHLD
 
-    mov     x0, #(CLONE_VM | CLONE_VFORK | SIGCHLD)
+    // If either HWASan or stack MTE is enabled, set up the clone() flags to
+    // make vfork() act like fork(). We don't call the atfork handlers, so we
+    // may deadlock if the child allocates, but we have seen badly written
+    // atfork handlers themselves cause deadlocks [1]. ndk_translation already
+    // implements vfork() as fork() without calling handlers, so we have some
+    // evidence that it isn't necessary to call them.
+    //
+    // POSIX.1 defines vfork() to have the same effect as fork() except that
+    // most behavior, including heap allocation, becomes undefined in the child,
+    // so we aren't violating POSIX by doing this.
+    //
+    // [1] https://cs.android.com/android/platform/superproject/+/master:system/extras/simpleperf/app_api/cpp/simpleperf.cpp;drc=788fa4183441f4977ddbd5a055e42a7fe7691d21;l=308
+#if !__has_feature(hwaddress_sanitizer)
+    // if (!__libc_globals->memtag_stack) x0 |= CLONE_VM | CLONE_VFORK;
+    adrp    x1, __libc_memtag_stack
+    ldrb    w1, [x1, :lo12:__libc_memtag_stack]
+    cbnz    w1, 1f
+    orr     x0, x0, #CLONE_VM
+    orr     x0, x0, #CLONE_VFORK
+1:
+#endif
     mov     x1, xzr
     mov     x2, xzr
     mov     x3, xzr
@@ -54,7 +72,7 @@
     mov     x8, __NR_clone
     svc     #0
 
-    cbz     x0, .L_exit
+    cbz     x0, L(done)
 
     // rc != 0: reset cached_pid_ and vforked_.
     str     w10, [x9, #20]
@@ -62,26 +80,7 @@
     cneg    x0, x0, hi
     b.hi    __set_errno_internal
 
-    // Clean up stack shadow in the parent process.
-    // https://github.com/google/sanitizers/issues/925
-    paciasp
-    .cfi_negate_ra_state
-    stp x0, x30, [sp, #-16]!
-    .cfi_adjust_cfa_offset 16
-    .cfi_rel_offset x0, 0
-    .cfi_rel_offset x30, 8
-
-    add x0, sp, #16
-    bl memtag_handle_vfork
-
-    ldp x0, x30, [sp], #16
-    .cfi_adjust_cfa_offset -16
-    .cfi_restore x0
-    .cfi_restore x30
-    autiasp
-    .cfi_negate_ra_state
-
-.L_exit:
+L(done):
     ret
 END(vfork)
 
diff --git a/libc/arch-arm64/dynamic_function_dispatch.cpp b/libc/arch-arm64/dynamic_function_dispatch.cpp
index cd55311..29e47b3 100644
--- a/libc/arch-arm64/dynamic_function_dispatch.cpp
+++ b/libc/arch-arm64/dynamic_function_dispatch.cpp
@@ -28,107 +28,147 @@
 
 #include <private/bionic_ifuncs.h>
 #include <stddef.h>
-#include <sys/auxv.h>
+
+static inline bool __bionic_is_oryon(unsigned long hwcap) {
+  if (!(hwcap & HWCAP_CPUID)) return false;
+
+  // Extract the implementor and variant bits from MIDR_EL1.
+  // https://www.kernel.org/doc/html/latest/arch/arm64/cpu-feature-registers.html#list-of-registers-with-visible-features
+  unsigned long midr;
+  __asm__ __volatile__("mrs %0, MIDR_EL1" : "=r"(midr));
+  uint16_t cpu = (midr >> 20) & 0xfff;
+
+  auto make_cpu = [](unsigned implementor, unsigned variant) {
+    return (implementor << 4) | variant;
+  };
+
+  // Check for implementor Qualcomm's variants 0x1..0x5 (Oryon).
+  return cpu >= make_cpu('Q', 0x1) && cpu <= make_cpu('Q', 0x5);
+}
 
 extern "C" {
 
-typedef void* memchr_func(const void*, int, size_t);
 DEFINE_IFUNC_FOR(memchr) {
-    if (arg->_hwcap2 & HWCAP2_MTE) {
-        RETURN_FUNC(memchr_func, __memchr_aarch64_mte);
-    } else {
-        RETURN_FUNC(memchr_func, __memchr_aarch64);
-    }
+  if (arg->_hwcap2 & HWCAP2_MTE) {
+    RETURN_FUNC(memchr_func_t, __memchr_aarch64_mte);
+  } else {
+    RETURN_FUNC(memchr_func_t, __memchr_aarch64);
+  }
 }
+MEMCHR_SHIM()
 
-typedef void* memcmp_func(void*, const void*, size_t);
 DEFINE_IFUNC_FOR(memcmp) {
-    // TODO: enable the SVE version.
-    RETURN_FUNC(memcmp_func, __memcmp_aarch64);
+  // TODO: enable the SVE version.
+  RETURN_FUNC(memcmp_func_t, __memcmp_aarch64);
 }
+MEMCMP_SHIM()
 
-typedef void* memcpy_func(void*, const void*, size_t);
 DEFINE_IFUNC_FOR(memcpy) {
-    if (arg->_hwcap & HWCAP_ASIMD) {
-        RETURN_FUNC(memcpy_func, __memcpy_aarch64_simd);
-    } else {
-        RETURN_FUNC(memcpy_func, __memcpy_aarch64);
-    }
+  if (arg->_hwcap2 & HWCAP2_MOPS) {
+    RETURN_FUNC(memcpy_func_t, __memmove_aarch64_mops);
+  } else if (__bionic_is_oryon(arg->_hwcap)) {
+    RETURN_FUNC(memcpy_func_t, __memcpy_aarch64_nt);
+  } else if (arg->_hwcap & HWCAP_ASIMD) {
+    RETURN_FUNC(memcpy_func_t, __memcpy_aarch64_simd);
+  } else {
+    RETURN_FUNC(memcpy_func_t, __memcpy_aarch64);
+  }
 }
+MEMCPY_SHIM()
 
-typedef void* memmove_func(void*, const void*, size_t);
 DEFINE_IFUNC_FOR(memmove) {
-    if (arg->_hwcap & HWCAP_ASIMD) {
-        RETURN_FUNC(memmove_func, __memmove_aarch64_simd);
-    } else {
-        RETURN_FUNC(memmove_func, __memmove_aarch64);
-    }
+  if (arg->_hwcap2 & HWCAP2_MOPS) {
+    RETURN_FUNC(memmove_func_t, __memmove_aarch64_mops);
+  } else if (__bionic_is_oryon(arg->_hwcap)) {
+    RETURN_FUNC(memmove_func_t, __memmove_aarch64_nt);
+  } else if (arg->_hwcap & HWCAP_ASIMD) {
+    RETURN_FUNC(memmove_func_t, __memmove_aarch64_simd);
+  } else {
+    RETURN_FUNC(memmove_func_t, __memmove_aarch64);
+  }
 }
+MEMMOVE_SHIM()
 
-typedef int stpcpy_func(char*, const char*);
+DEFINE_IFUNC_FOR(memrchr) {
+  RETURN_FUNC(memrchr_func_t, __memrchr_aarch64);
+}
+MEMRCHR_SHIM()
+
+DEFINE_IFUNC_FOR(memset) {
+  if (arg->_hwcap2 & HWCAP2_MOPS) {
+    RETURN_FUNC(memset_func_t, __memset_aarch64_mops);
+  } else if (__bionic_is_oryon(arg->_hwcap)) {
+    RETURN_FUNC(memset_func_t, __memset_aarch64_nt);
+  } else {
+    RETURN_FUNC(memset_func_t, __memset_aarch64);
+  }
+}
+MEMSET_SHIM()
+
 DEFINE_IFUNC_FOR(stpcpy) {
-    // TODO: enable the SVE version.
-    RETURN_FUNC(stpcpy_func, __stpcpy_aarch64);
+  // TODO: enable the SVE version.
+  RETURN_FUNC(stpcpy_func_t, __stpcpy_aarch64);
 }
+STPCPY_SHIM()
 
-typedef char* strchr_func(const char*, int);
 DEFINE_IFUNC_FOR(strchr) {
-    if (arg->_hwcap2 & HWCAP2_MTE) {
-        RETURN_FUNC(strchr_func, __strchr_aarch64_mte);
-    } else {
-        RETURN_FUNC(strchr_func, __strchr_aarch64);
-    }
+  if (arg->_hwcap2 & HWCAP2_MTE) {
+    RETURN_FUNC(strchr_func_t, __strchr_aarch64_mte);
+  } else {
+    RETURN_FUNC(strchr_func_t, __strchr_aarch64);
+  }
 }
+STRCHR_SHIM()
 
-typedef char* strchrnul_func(const char*, int);
 DEFINE_IFUNC_FOR(strchrnul) {
-    if (arg->_hwcap2 & HWCAP2_MTE) {
-        RETURN_FUNC(strchrnul_func, __strchrnul_aarch64_mte);
-    } else {
-        RETURN_FUNC(strchrnul_func, __strchrnul_aarch64);
-    }
+  if (arg->_hwcap2 & HWCAP2_MTE) {
+    RETURN_FUNC(strchrnul_func_t, __strchrnul_aarch64_mte);
+  } else {
+    RETURN_FUNC(strchrnul_func_t, __strchrnul_aarch64);
+  }
 }
+STRCHRNUL_SHIM()
 
-typedef int strcmp_func(const char*, const char*);
 DEFINE_IFUNC_FOR(strcmp) {
-    // TODO: enable the SVE version.
-    RETURN_FUNC(strcmp_func, __strcmp_aarch64);
+  // TODO: enable the SVE version.
+  RETURN_FUNC(strcmp_func_t, __strcmp_aarch64);
 }
+STRCMP_SHIM()
 
-typedef int strcpy_func(char*, const char*);
 DEFINE_IFUNC_FOR(strcpy) {
-    // TODO: enable the SVE version.
-    RETURN_FUNC(strcpy_func, __strcpy_aarch64);
+  // TODO: enable the SVE version.
+  RETURN_FUNC(strcpy_func_t, __strcpy_aarch64);
 }
+STRCPY_SHIM()
 
-typedef size_t strlen_func(const char*);
 DEFINE_IFUNC_FOR(strlen) {
-    if (arg->_hwcap2 & HWCAP2_MTE) {
-        RETURN_FUNC(strlen_func, __strlen_aarch64_mte);
-    } else {
-        RETURN_FUNC(strlen_func, __strlen_aarch64);
-    }
+  if (arg->_hwcap2 & HWCAP2_MTE) {
+    RETURN_FUNC(strlen_func_t, __strlen_aarch64_mte);
+  } else {
+    RETURN_FUNC(strlen_func_t, __strlen_aarch64);
+  }
 }
+STRLEN_SHIM()
 
-typedef int strncmp_func(const char*, const char*, int);
 DEFINE_IFUNC_FOR(strncmp) {
-    // TODO: enable the SVE version.
-    RETURN_FUNC(strncmp_func, __strncmp_aarch64);
+  // TODO: enable the SVE version.
+  RETURN_FUNC(strncmp_func_t, __strncmp_aarch64);
 }
+STRNCMP_SHIM()
 
-typedef size_t strnlen_func(const char*);
 DEFINE_IFUNC_FOR(strnlen) {
-    // TODO: enable the SVE version.
-    RETURN_FUNC(strnlen_func, __strnlen_aarch64);
+  // TODO: enable the SVE version.
+  RETURN_FUNC(strnlen_func_t, __strnlen_aarch64);
 }
+STRNLEN_SHIM()
 
-typedef char* strrchr_func(const char*, int);
 DEFINE_IFUNC_FOR(strrchr) {
-    if (arg->_hwcap2 & HWCAP2_MTE) {
-        RETURN_FUNC(strrchr_func, __strrchr_aarch64_mte);
-    } else {
-        RETURN_FUNC(strrchr_func, __strrchr_aarch64);
-    }
+  if (arg->_hwcap2 & HWCAP2_MTE) {
+    RETURN_FUNC(strrchr_func_t, __strrchr_aarch64_mte);
+  } else {
+    RETURN_FUNC(strrchr_func_t, __strrchr_aarch64);
+  }
 }
+STRRCHR_SHIM()
 
 }  // extern "C"
diff --git a/libc/arch-arm64/oryon/memcpy-nt.S b/libc/arch-arm64/oryon/memcpy-nt.S
new file mode 100644
index 0000000..46f1541
--- /dev/null
+++ b/libc/arch-arm64/oryon/memcpy-nt.S
@@ -0,0 +1,351 @@
+/*
+ * memcpy - copy memory area
+ *
+ * Copyright (c) 2012-2022, Arm Limited.
+ * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+ * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
+ */
+
+/* Assumptions:
+ *
+ * ARMv8-a, AArch64, unaligned accesses.
+ *
+ */
+
+#include <private/bionic_asm.h>
+
+#define dstin     x0
+#define src       x1
+#define count     x2
+#define dst       x3
+#define srcend    x4
+#define dstend    x5
+#define A_l       x6
+#define A_lw      w6
+#define A_h       x7
+#define B_l       x8
+#define B_lw      w8
+#define B_h       x9
+#define C_l       x10
+#define C_lw      w10
+#define C_h       x11
+#define D_l       x12
+#define D_h       x13
+#define E_l       x14
+#define E_h       x15
+#define F_l       x16
+#define F_h       x17
+#define G_l       count
+#define G_h       dst
+#define H_l       src
+#define H_h       srcend
+#define tmp1      x14
+#define tmp2      x16
+#define SMALL_BUFFER_SIZE    48
+
+/* This implementation handles overlaps and supports both memcpy and memmove
+   from a single entry point.  It uses unaligned accesses and branchless
+   sequences to keep the code small, simple and improve performance.
+
+   Copies are split into 3 main cases: small copies of up to 32 bytes, medium
+   copies of up to 128 bytes, and large copies.  The overhead of the overlap
+   check is negligible since it is only required for large copies.
+
+   Large copies use a software pipelined loop processing 64 bytes per iteration.
+   The destination pointer is 16-byte aligned to minimize unaligned accesses.
+   The loop tail is handled by always copying 64 bytes from the end.
+*/
+
+ALIAS_SYMBOL (__memmove_aarch64_nt, __memcpy_aarch64_nt)
+ENTRY (__memcpy_aarch64_nt)
+
+    add    srcend, src, count
+    add    dstend, dstin, count
+    cmp    count, 128
+    b.hi    L(copy_long)
+    cmp    count, 32
+    b.hi    L(copy32_128)
+
+    /* Small copies: 0..32 bytes.  */
+    cmp    count, 16
+    b.lo    L(copy16)
+    ldp    A_l, A_h, [src]
+    ldp    D_l, D_h, [srcend, -16]
+    stp    A_l, A_h, [dstin]
+    stp    D_l, D_h, [dstend, -16]
+    ret
+
+    /* Copy 8-15 bytes.  */
+L(copy16):
+    tbz    count, 3, L(copy8)
+    ldr    A_l, [src]
+    ldr    A_h, [srcend, -8]
+    str    A_l, [dstin]
+    str    A_h, [dstend, -8]
+    ret
+
+    .p2align 3
+    /* Copy 4-7 bytes.  */
+L(copy8):
+    tbz    count, 2, L(copy4)
+    ldr    A_lw, [src]
+    ldr    B_lw, [srcend, -4]
+    str    A_lw, [dstin]
+    str    B_lw, [dstend, -4]
+    ret
+
+    /* Copy 0..3 bytes using a branchless sequence.  */
+L(copy4):
+    cbz    count, L(copy0)
+    lsr    tmp1, count, 1
+    ldrb    A_lw, [src]
+    ldrb    C_lw, [srcend, -1]
+    ldrb    B_lw, [src, tmp1]
+    strb    A_lw, [dstin]
+    strb    B_lw, [dstin, tmp1]
+    strb    C_lw, [dstend, -1]
+L(copy0):
+    ret
+
+    .p2align 4
+    /* Medium copies: 33..128 bytes.  */
+L(copy32_128):
+    ldp    A_l, A_h, [src]
+    ldp    B_l, B_h, [src, 16]
+    ldp    C_l, C_h, [srcend, -32]
+    ldp    D_l, D_h, [srcend, -16]
+    cmp    count, 64
+    b.hi    L(copy128)
+    stp    A_l, A_h, [dstin]
+    stp    B_l, B_h, [dstin, 16]
+    stp    C_l, C_h, [dstend, -32]
+    stp    D_l, D_h, [dstend, -16]
+    ret
+
+    .p2align 4
+    /* Copy 65..128 bytes.  */
+L(copy128):
+    ldp    E_l, E_h, [src, 32]
+    ldp    F_l, F_h, [src, 48]
+    cmp    count, 96
+    b.ls    L(copy96)
+    ldp    G_l, G_h, [srcend, -64]
+    ldp    H_l, H_h, [srcend, -48]
+    stp    G_l, G_h, [dstend, -64]
+    stp    H_l, H_h, [dstend, -48]
+L(copy96):
+    stp    A_l, A_h, [dstin]
+    stp    B_l, B_h, [dstin, 16]
+    stp    E_l, E_h, [dstin, 32]
+    stp    F_l, F_h, [dstin, 48]
+    stp    C_l, C_h, [dstend, -32]
+    stp    D_l, D_h, [dstend, -16]
+    ret
+
+    .p2align 4
+    /* Copy more than 128 bytes.  */
+L(copy_long):
+    mov tmp2, #SMALL_BUFFER_SIZE
+    cmp count, tmp2, LSL#10
+    bgt L(copy_long_nt)
+    /* Use backwards copy if there is an overlap.  */
+    sub    tmp1, dstin, src
+    cbz    tmp1, L(copy0)
+    cmp    tmp1, count
+    b.lo    L(copy_long_backwards)
+
+    /* Copy 16 bytes and then align dst to 16-byte alignment.  */
+
+    ldp    D_l, D_h, [src]
+    and    tmp1, dstin, 15
+    bic    dst, dstin, 15
+    sub    src, src, tmp1
+    add    count, count, tmp1    /* Count is now 16 too large.  */
+    ldp    A_l, A_h, [src, 16]
+    stp    D_l, D_h, [dstin]
+    ldp    B_l, B_h, [src, 32]
+    ldp    C_l, C_h, [src, 48]
+    ldp    D_l, D_h, [src, 64]!
+    subs    count, count, 128 + 16    /* Test and readjust count.  */
+    b.ls    L(copy64_from_end)
+
+L(loop64):
+    stp    A_l, A_h, [dst, 16]
+    ldp    A_l, A_h, [src, 16]
+    stp    B_l, B_h, [dst, 32]
+    ldp    B_l, B_h, [src, 32]
+    stp    C_l, C_h, [dst, 48]
+    ldp    C_l, C_h, [src, 48]
+    stp    D_l, D_h, [dst, 64]!
+    ldp    D_l, D_h, [src, 64]!
+    subs    count, count, 64
+    b.hi    L(loop64)
+
+    /* Write the last iteration and copy 64 bytes from the end.  */
+L(copy64_from_end):
+    ldp    E_l, E_h, [srcend, -64]
+    stp    A_l, A_h, [dst, 16]
+    ldp    A_l, A_h, [srcend, -48]
+    stp    B_l, B_h, [dst, 32]
+    ldp    B_l, B_h, [srcend, -32]
+    stp    C_l, C_h, [dst, 48]
+    ldp    C_l, C_h, [srcend, -16]
+    stp    D_l, D_h, [dst, 64]
+    stp    E_l, E_h, [dstend, -64]
+    stp    A_l, A_h, [dstend, -48]
+    stp    B_l, B_h, [dstend, -32]
+    stp    C_l, C_h, [dstend, -16]
+    ret
+
+    .p2align 4
+
+    /* Large backwards copy for overlapping copies.
+       Copy 16 bytes and then align dst to 16-byte alignment.  */
+L(copy_long_backwards):
+    ldp    D_l, D_h, [srcend, -16]
+    and    tmp1, dstend, 15
+    sub    srcend, srcend, tmp1
+    sub    count, count, tmp1
+    ldp    A_l, A_h, [srcend, -16]
+    stp    D_l, D_h, [dstend, -16]
+    ldp    B_l, B_h, [srcend, -32]
+    ldp    C_l, C_h, [srcend, -48]
+    ldp    D_l, D_h, [srcend, -64]!
+    sub    dstend, dstend, tmp1
+    subs    count, count, 128
+    b.ls    L(copy64_from_start)
+
+L(loop64_backwards):
+    stp    A_l, A_h, [dstend, -16]
+    ldp    A_l, A_h, [srcend, -16]
+    stp    B_l, B_h, [dstend, -32]
+    ldp    B_l, B_h, [srcend, -32]
+    stp    C_l, C_h, [dstend, -48]
+    ldp    C_l, C_h, [srcend, -48]
+    stp    D_l, D_h, [dstend, -64]!
+    ldp    D_l, D_h, [srcend, -64]!
+    subs    count, count, 64
+    b.hi    L(loop64_backwards)
+
+    /* Write the last iteration and copy 64 bytes from the start.  */
+L(copy64_from_start):
+    ldp    G_l, G_h, [src, 48]
+    stp    A_l, A_h, [dstend, -16]
+    ldp    A_l, A_h, [src, 32]
+    stp    B_l, B_h, [dstend, -32]
+    ldp    B_l, B_h, [src, 16]
+    stp    C_l, C_h, [dstend, -48]
+    ldp    C_l, C_h, [src]
+    stp    D_l, D_h, [dstend, -64]
+    stp    G_l, G_h, [dstin, 48]
+    stp    A_l, A_h, [dstin, 32]
+    stp    B_l, B_h, [dstin, 16]
+    stp    C_l, C_h, [dstin]
+    ret
+
+    .p2align 4
+    /* Copy more than 48 KB using ldnp+stnp (non-temporal) instructions.  */
+L(copy_long_nt):
+    /* Use backwards copy if there is an overlap.  */
+    sub    tmp1, dstin, src
+    cbz    tmp1, L(copy0)
+    cmp    tmp1, count
+    b.lo    L(copy_long_backwards_nt)
+
+    /* Copy 16 bytes and then align dst to 16-byte alignment.  */
+
+    ldnp    D_l, D_h, [src]
+    and    tmp1, dstin, 15
+    bic    dst, dstin, 15
+    sub    src, src, tmp1
+    add    count, count, tmp1    /* Count is now 16 too large.  */
+    ldnp    A_l, A_h, [src, 16]
+    stnp    D_l, D_h, [dstin]
+    ldnp    B_l, B_h, [src, 32]
+    ldnp    C_l, C_h, [src, 48]
+    ldnp    D_l, D_h, [src, 64]
+    add     src, src, #64
+    subs    count, count, 128 + 16    /* Test and readjust count.  */
+    b.ls    L(copy64_from_end_nt)
+
+L(loop64_nt):
+    stnp    A_l, A_h, [dst, 16]
+    ldnp    A_l, A_h, [src, 16]
+    stnp    B_l, B_h, [dst, 32]
+    ldnp    B_l, B_h, [src, 32]
+    stnp    C_l, C_h, [dst, 48]
+    ldnp    C_l, C_h, [src, 48]
+    stnp    D_l, D_h, [dst, 64]
+    add dst, dst, #64
+    ldnp    D_l, D_h, [src, 64]
+    add src, src, #64
+    subs    count, count, 64
+    b.hi    L(loop64_nt)
+
+    /* Write the last iteration and copy 64 bytes from the end.  */
+L(copy64_from_end_nt):
+    ldnp    E_l, E_h, [srcend, -64]
+    stnp    A_l, A_h, [dst, 16]
+    ldnp    A_l, A_h, [srcend, -48]
+    stnp    B_l, B_h, [dst, 32]
+    ldnp    B_l, B_h, [srcend, -32]
+    stnp    C_l, C_h, [dst, 48]
+    ldnp    C_l, C_h, [srcend, -16]
+    stnp    D_l, D_h, [dst, 64]
+    stnp    E_l, E_h, [dstend, -64]
+    stnp    A_l, A_h, [dstend, -48]
+    stnp    B_l, B_h, [dstend, -32]
+    stnp    C_l, C_h, [dstend, -16]
+    ret
+
+    .p2align 4
+
+    /* Large backwards copy for overlapping copies.
+       Copy 16 bytes and then align dst to 16-byte alignment.  */
+L(copy_long_backwards_nt):
+    ldnp    D_l, D_h, [srcend, -16]
+    and    tmp1, dstend, 15
+    sub    srcend, srcend, tmp1
+    sub    count, count, tmp1
+    ldnp    A_l, A_h, [srcend, -16]
+    stnp    D_l, D_h, [dstend, -16]
+    ldnp    B_l, B_h, [srcend, -32]
+    ldnp    C_l, C_h, [srcend, -48]
+    ldnp    D_l, D_h, [srcend, -64]
+    add     srcend, srcend, #-64
+    sub    dstend, dstend, tmp1
+    subs    count, count, 128
+    b.ls    L(copy64_from_start_nt)
+
+L(loop64_backwards_nt):
+    stnp    A_l, A_h, [dstend, -16]
+    ldnp    A_l, A_h, [srcend, -16]
+    stnp    B_l, B_h, [dstend, -32]
+    ldnp    B_l, B_h, [srcend, -32]
+    stnp    C_l, C_h, [dstend, -48]
+    ldnp    C_l, C_h, [srcend, -48]
+    stnp    D_l, D_h, [dstend, -64]
+    add     dstend, dstend, #-64
+    ldnp    D_l, D_h, [srcend, -64]
+    add     srcend, srcend, #-64
+    subs    count, count, 64
+    b.hi    L(loop64_backwards_nt)
+
+    /* Write the last iteration and copy 64 bytes from the start.  */
+L(copy64_from_start_nt):
+    ldnp    G_l, G_h, [src, 48]
+    stnp    A_l, A_h, [dstend, -16]
+    ldnp    A_l, A_h, [src, 32]
+    stnp    B_l, B_h, [dstend, -32]
+    ldnp    B_l, B_h, [src, 16]
+    stnp    C_l, C_h, [dstend, -48]
+    ldnp    C_l, C_h, [src]
+    stnp    D_l, D_h, [dstend, -64]
+    stnp    G_l, G_h, [dstin, 48]
+    stnp    A_l, A_h, [dstin, 32]
+    stnp    B_l, B_h, [dstin, 16]
+    stnp    C_l, C_h, [dstin]
+    ret
+
+END (__memcpy_aarch64_nt)
+
diff --git a/libc/arch-arm64/oryon/memset-nt.S b/libc/arch-arm64/oryon/memset-nt.S
new file mode 100644
index 0000000..b91e7da
--- /dev/null
+++ b/libc/arch-arm64/oryon/memset-nt.S
@@ -0,0 +1,218 @@
+/* Copyright (c) 2012, Linaro Limited
+   All rights reserved.
+   Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
+   Redistribution and use in source and binary forms, with or without
+   modification, are permitted provided that the following conditions are met:
+       * Redistributions of source code must retain the above copyright
+         notice, this list of conditions and the following disclaimer.
+       * Redistributions in binary form must reproduce the above copyright
+         notice, this list of conditions and the following disclaimer in the
+         documentation and/or other materials provided with the distribution.
+       * Neither the name of the Linaro nor the
+         names of its contributors may be used to endorse or promote products
+         derived from this software without specific prior written permission.
+   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+   HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+/* Assumptions:
+ *
+ * ARMv8-a, AArch64
+ * Unaligned accesses
+ *
+ */
+#include <private/bionic_asm.h>
+
+#define dstin		x0
+#define val		    w1
+#define count		x2
+#define tmp1		x3
+#define tmp1w		w3
+#define tmp2		x4
+#define tmp2w		w4
+#define zva_len_x	x5
+#define zva_len		w5
+#define zva_bits_x	x6
+#define A_l		    x7
+#define A_lw		w7
+#define dst		    x8
+#define tmp3w		w9
+#define tmp4        x10
+#define SMALL_BUFFER_SIZE    96
+
+ENTRY(__memset_aarch64_nt)
+    mov	dst, dstin		/* Preserve return value.  */
+    ands	A_lw, val, #255
+    b.eq	.Lzero_mem  /* Use DC ZVA instruction if the val = 0 */
+    orr	A_lw, A_lw, A_lw, lsl #8
+    orr	A_lw, A_lw, A_lw, lsl #16
+    orr	A_l, A_l, A_l, lsl #32
+.Ltail_maybe_long:
+    cmp	count, #64
+    b.ge	.Lnot_short
+.Ltail_maybe_tiny:
+    cmp	count, #15
+    b.le	.Ltail15tiny
+.Ltail63:
+    ands	tmp1, count, #0x30
+    b.eq	.Ltail15
+    add	dst, dst, tmp1
+    cmp	tmp1w, #0x20
+    b.eq	1f
+    b.lt	2f
+    stp	A_l, A_l, [dst, #-48]
+1:
+    stp	A_l, A_l, [dst, #-32]
+2:
+    stp	A_l, A_l, [dst, #-16]
+.Ltail15:
+    and	count, count, #15
+    add	dst, dst, count
+    stp	A_l, A_l, [dst, #-16]	/* Repeat some/all of last store. */
+    ret
+.Ltail15tiny:
+    /* Set up to 15 bytes.  Does not assume earlier memory
+       being set.  */
+    tbz	count, #3, 1f
+    str	A_l, [dst], #8
+1:
+    tbz	count, #2, 1f
+    str	A_lw, [dst], #4
+1:
+    tbz	count, #1, 1f
+    strh	A_lw, [dst], #2
+1:
+    tbz	count, #0, 1f
+    strb	A_lw, [dst]
+1:
+    ret
+    /* Critical loop.  Start at a new cache line boundary.  Assuming
+     * 64 bytes per line, this ensures the entire loop is in one line.  */
+    .p2align 6
+.Lnot_short:
+    mov tmp4, #SMALL_BUFFER_SIZE
+    cmp count, tmp4, LSL#10
+    /* Use non-temporal instruction if count > SMALL_BUFFER_SIZE */
+    bgt L(not_short_nt)
+    neg	tmp2, dst
+    ands	tmp2, tmp2, #15
+    b.eq	2f
+    /* Bring DST to 128-bit (16-byte) alignment.  We know that there's
+     * more than that to set, so we simply store 16 bytes and advance by
+     * the amount required to reach alignment.  */
+    sub	count, count, tmp2
+    stp	A_l, A_l, [dst]
+    add	dst, dst, tmp2
+    /* There may be less than 63 bytes to go now.  */
+    cmp	count, #63
+    b.le	.Ltail63
+2:
+    sub	dst, dst, #16		/* Pre-bias.  */
+    sub	count, count, #64
+1:
+    stp	A_l, A_l, [dst, #16]
+    stp	A_l, A_l, [dst, #32]
+    stp	A_l, A_l, [dst, #48]
+    stp	A_l, A_l, [dst, #64]!
+    subs	count, count, #64
+    b.ge	1b
+    tst	count, #0x3f
+    add	dst, dst, #16
+    b.ne	.Ltail63
+    ret
+.Lnot_short_nt:
+    neg	tmp2, dst
+    ands	tmp2, tmp2, #15
+    b.eq	2f
+    /* Bring DST to 128-bit (16-byte) alignment.  We know that there's
+     * more than that to set, so we simply store 16 bytes and advance by
+     * the amount required to reach alignment.  */
+    sub	count, count, tmp2
+    stnp	A_l, A_l, [dst]
+    add	dst, dst, tmp2
+    /* There may be less than 63 bytes to go now.  */
+    cmp	count, #63
+    b.le	.Ltail63
+2:
+    sub	dst, dst, #16		/* Pre-bias.  */
+    sub	count, count, #64
+1:
+    stnp	A_l, A_l, [dst, #16]
+    stnp	A_l, A_l, [dst, #32]
+    stnp	A_l, A_l, [dst, #48]
+    stnp	A_l, A_l, [dst, #64]
+    add     dst, dst, #64
+    subs	count, count, #64
+    b.ge	1b
+    tst	count, #0x3f
+    add	dst, dst, #16
+    b.ne	.Ltail63
+    ret
+.Lzero_mem:
+    mov	A_l, #0
+    cmp	count, #63
+    b.le	.Ltail_maybe_tiny
+    neg	tmp2, dst
+    ands	tmp2, tmp2, #15
+    b.eq	1f
+    sub	count, count, tmp2
+    stp	A_l, A_l, [dst]
+    add	dst, dst, tmp2
+    cmp	count, #63
+    b.le	.Ltail63
+1:
+    /* For zeroing small amounts of memory, it's not worth setting up
+     * the line-clear code.  */
+    cmp	count, #128
+    b.lt	.Lnot_short
+    mrs	tmp1, dczid_el0
+    tbnz	tmp1, #4, .Lnot_short
+    mov	tmp3w, #4
+    and	zva_len, tmp1w, #15	/* Safety: other bits reserved.  */
+    lsl	zva_len, tmp3w, zva_len
+.Lzero_by_line:
+    /* Compute how far we need to go to become suitably aligned.  We're
+     * already at quad-word alignment.  */
+    cmp	count, zva_len_x
+    b.lt	.Lnot_short		/* Not enough to reach alignment.  */
+    sub	zva_bits_x, zva_len_x, #1
+    neg	tmp2, dst
+    ands	tmp2, tmp2, zva_bits_x
+    b.eq	1f			/* Already aligned.  */
+    /* Not aligned, check that there's enough to copy after alignment.  */
+    sub	tmp1, count, tmp2
+    cmp	tmp1, #64
+    ccmp	tmp1, zva_len_x, #8, ge	/* NZCV=0b1000 */
+    b.lt	.Lnot_short
+    /* We know that there's at least 64 bytes to zero and that it's safe
+     * to overrun by 64 bytes.  */
+    mov	count, tmp1
+2:
+    stp	A_l, A_l, [dst]
+    stp	A_l, A_l, [dst, #16]
+    stp	A_l, A_l, [dst, #32]
+    subs	tmp2, tmp2, #64
+    stp	A_l, A_l, [dst, #48]
+    add	dst, dst, #64
+    b.ge	2b
+    /* We've overrun a bit, so adjust dst downwards.  */
+    add	dst, dst, tmp2
+1:
+    sub	count, count, zva_len_x
+3:
+    dc	zva, dst
+    add	dst, dst, zva_len_x
+    subs	count, count, zva_len_x
+    b.ge	3b
+    ands	count, count, zva_bits_x
+    b.ne	.Ltail_maybe_long
+    ret
+END(__memset_aarch64_nt)
diff --git a/libc/arch-arm64/static_function_dispatch.S b/libc/arch-arm64/static_function_dispatch.S
deleted file mode 100644
index c7557f8..0000000
--- a/libc/arch-arm64/static_function_dispatch.S
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <private/bionic_asm.h>
-
-#define FUNCTION_DELEGATE(name, impl) \
-ENTRY(name); \
-    b impl; \
-END(name)
-
-FUNCTION_DELEGATE(memchr, __memchr_aarch64_mte)
-FUNCTION_DELEGATE(memcmp, __memcmp_aarch64)
-FUNCTION_DELEGATE(memcpy, __memcpy_aarch64)
-FUNCTION_DELEGATE(memmove, __memmove_aarch64)
-FUNCTION_DELEGATE(stpcpy, __stpcpy_aarch64)
-FUNCTION_DELEGATE(strchr, __strchr_aarch64_mte)
-FUNCTION_DELEGATE(strchrnul, __strchrnul_aarch64_mte)
-FUNCTION_DELEGATE(strcmp, __strcmp_aarch64)
-FUNCTION_DELEGATE(strcpy, __strcpy_aarch64)
-FUNCTION_DELEGATE(strlen, __strlen_aarch64_mte)
-FUNCTION_DELEGATE(strrchr, __strrchr_aarch64_mte)
-FUNCTION_DELEGATE(strncmp, __strncmp_aarch64)
-FUNCTION_DELEGATE(strnlen, __strnlen_aarch64)
-
-NOTE_GNU_PROPERTY()
diff --git a/libc/arch-arm64/string/__memcpy_chk.S b/libc/arch-arm64/string/__memcpy_chk.S
index a8e9e83..c9fc2f7 100644
--- a/libc/arch-arm64/string/__memcpy_chk.S
+++ b/libc/arch-arm64/string/__memcpy_chk.S
@@ -31,10 +31,10 @@
 ENTRY(__memcpy_chk)
   cmp x2, x3
   // Direct b.ls memcpy may not have enough range
-  b.hi .L_memcpy_chk_fail
+  b.hi L(__memcpy_chk_fail_trampoline)
   b memcpy
 
-.L_memcpy_chk_fail:
+L(__memcpy_chk_fail_trampoline):
   // Preserve for accurate backtrace.
   stp x29, x30, [sp, -16]!
   .cfi_def_cfa_offset 16
diff --git a/libc/arch-arm64/string/__memset_chk.S b/libc/arch-arm64/string/__memset_chk.S
index e1e29d0..7a105ce 100644
--- a/libc/arch-arm64/string/__memset_chk.S
+++ b/libc/arch-arm64/string/__memset_chk.S
@@ -31,10 +31,10 @@
 ENTRY(__memset_chk)
   cmp x2, x3
   // Direct b.ls memcpy may not have enough range
-  b.hi .L_memset_chk_fail
+  b.hi L(__memset_chk_fail_trampoline)
   b memset
 
-.L_memset_chk_fail:
+L(__memset_chk_fail_trampoline):
   // Preserve for accurate backtrace.
   stp x29, x30, [sp, -16]!
   .cfi_def_cfa_offset 16
diff --git a/libm/fenv-access.h b/libc/arch-common/bionic/crt_pad_segment.S
similarity index 63%
copy from libm/fenv-access.h
copy to libc/arch-common/bionic/crt_pad_segment.S
index 7acb34d..2fbe0b9 100644
--- a/libm/fenv-access.h
+++ b/libc/arch-common/bionic/crt_pad_segment.S
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,8 +26,28 @@
  * SUCH DAMAGE.
  */
 
-#pragma once
+#if defined(__aarch64__)
+#include <private/bionic_asm_arm64.h>
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
+__bionic_asm_custom_note_gnu_section()
 #endif
+
+#include <private/bionic_asm_note.h>
+
+  .section ".note.android.pad_segment", "a", %note
+  .balign 4
+  .long 1f - 0f                       // int32_t namesz
+  .long 3f - 2f                       // int32_t descsz
+  .long NT_ANDROID_TYPE_PAD_SEGMENT   // int32_t type
+0:
+  .asciz "Android"                    // char name[]
+1:
+  .balign 2
+2:
+  .long 1    // 1 indicates to pad p_filesz/p_memsz,
+             // such that the current segment ends
+             // where the next segment begins.
+             // If/when padding becomes the default,
+             // 0 can be used to disable this behavior.
+3:
+  .balign 2
diff --git a/libc/arch-common/bionic/crtbegin.c b/libc/arch-common/bionic/crtbegin.c
index b87db64..127896a 100644
--- a/libc/arch-common/bionic/crtbegin.c
+++ b/libc/arch-common/bionic/crtbegin.c
@@ -30,17 +30,53 @@
 #include <stddef.h>
 #include <stdint.h>
 
-#define SECTION(name) __attribute__((__section__(name)))
-SECTION(".preinit_array") init_func_t* __PREINIT_ARRAY__ = (init_func_t*)-1;
-SECTION(".init_array.0") init_func_t* __INIT_ARRAY__ = (init_func_t*)-1;
-SECTION(".fini_array.0") fini_func_t* __FINI_ARRAY__ = (fini_func_t*)-1;
-#undef SECTION
+extern init_func_t* __preinit_array_start[];
+extern init_func_t* __preinit_array_end[];
+extern init_func_t* __init_array_start[];
+extern init_func_t* __init_array_end[];
+extern fini_func_t* __fini_array_start[];
+extern fini_func_t* __fini_array_end[];
+
+#if !defined(CRTBEGIN_STATIC)
+/* This function will be called during normal program termination
+ * to run the destructors that are listed in the .fini_array section
+ * of the executable, if any.
+ *
+ * 'fini_array' points to a list of function addresses.
+ */
+static void call_fini_array() {
+  fini_func_t** array = __fini_array_start;
+  size_t count = __fini_array_end - __fini_array_start;
+  // Call fini functions in reverse order.
+  while (count-- > 0) {
+    fini_func_t* function = array[count];
+    (*function)();
+  }
+}
+
+// libc.so needs fini_array with sentinels. So create a fake fini_array with sentinels.
+// It contains a function to call functions in real fini_array.
+static fini_func_t* fini_array_with_sentinels[] = {
+    (fini_func_t*)-1,
+    &call_fini_array,
+    (fini_func_t*)0,
+};
+#endif  // !defined(CRTBEGIN_STATIC)
 
 __used static void _start_main(void* raw_args) {
-  structors_array_t array;
-  array.preinit_array = &__PREINIT_ARRAY__;
-  array.init_array = &__INIT_ARRAY__;
-  array.fini_array = &__FINI_ARRAY__;
+  structors_array_t array = {};
+#if defined(CRTBEGIN_STATIC)
+  array.preinit_array = __preinit_array_start;
+  array.preinit_array_count = __preinit_array_end - __preinit_array_start;
+  array.init_array = __init_array_start;
+  array.init_array_count = __init_array_end - __init_array_start;
+  array.fini_array = __fini_array_start;
+  array.fini_array_count = __fini_array_end - __fini_array_start;
+#else
+  if (__fini_array_end - __fini_array_start > 0) {
+    array.fini_array = fini_array_with_sentinels;
+  }
+#endif  // !defined(CRTBEGIN_STATIC)
 
   __libc_init(raw_args, NULL, &main, &array);
 }
diff --git a/libc/arch-common/bionic/crtend.S b/libc/arch-common/bionic/crtend.S
index 49c729f..74b3aa9 100644
--- a/libc/arch-common/bionic/crtend.S
+++ b/libc/arch-common/bionic/crtend.S
@@ -34,18 +34,6 @@
 __bionic_asm_custom_note_gnu_section()
 #endif
 
-	.section .preinit_array, "aw"
-	ASM_ALIGN_TO_PTR_SIZE
-	ASM_PTR_SIZE(0)
-
-	.section .init_array, "aw"
-	ASM_ALIGN_TO_PTR_SIZE
-	ASM_PTR_SIZE(0)
-
-	.section .fini_array, "aw"
-	ASM_ALIGN_TO_PTR_SIZE
-	ASM_PTR_SIZE(0)
-
 	.section .note.GNU-stack, "", %progbits
 
 #if !defined(__arm__)
diff --git a/libc/arch-riscv64/bionic/__bionic_clone.S b/libc/arch-riscv64/bionic/__bionic_clone.S
index 2827857..be386b1 100644
--- a/libc/arch-riscv64/bionic/__bionic_clone.S
+++ b/libc/arch-riscv64/bionic/__bionic_clone.S
@@ -41,19 +41,19 @@
   ecall
 
   # Are we the child?
-  beqz a0, .L_bc_child
+  beqz a0, L(child)
 
   # Did the clone(2) fail?
-  bltz a0, .L_bc_failure
+  bltz a0, L(failure)
   # Nope, we're the parent, and our work here is done.
   ret
 
-.L_bc_failure:
+L(failure):
   # Set errno if something went wrong.
   neg a0, a0
   tail __set_errno_internal
 
-.L_bc_child:
+L(child):
   # We're in the child now. Set the end of the frame record chain.
   li fp, 0
   # Setting ra to 0 will make the unwinder stop at __start_thread.
diff --git a/libc/arch-riscv64/bionic/setjmp.S b/libc/arch-riscv64/bionic/setjmp.S
index 26f7ec9..5de1099 100644
--- a/libc/arch-riscv64/bionic/setjmp.S
+++ b/libc/arch-riscv64/bionic/setjmp.S
@@ -107,21 +107,18 @@
   m_mangle_registers \reg, sp_reg=\sp_reg
 .endm
 
-ENTRY(setjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(setjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(setjmp)
   li a1, 1
   tail sigsetjmp
 END(setjmp)
 
-ENTRY(_setjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(_setjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(_setjmp)
   li a1, 0
   tail sigsetjmp
 END(_setjmp)
 
 // int sigsetjmp(sigjmp_buf env, int save_signal_mask);
-ENTRY(sigsetjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(sigsetjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(sigsetjmp)
   addi sp, sp, -24
   sd a0, 0(sp)
   sd a1, 8(sp)
@@ -204,12 +201,11 @@
 END(sigsetjmp)
 
 // void siglongjmp(sigjmp_buf env, int value);
-ENTRY(siglongjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(siglongjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(siglongjmp)
   // Check the checksum before doing anything.
   m_calculate_checksum t0, a0, t1
   ld t1, _JB_CHECKSUM(a0)
-  bne t0, t1, 3f
+  bne t0, t1, L(checksum_failure)
 
   // Do we need to restore the signal mask?
   ld a2, _JB_SIGFLAG(a0)
@@ -294,11 +290,9 @@
   mv a0, a1
   ret
 
-3:
+L(checksum_failure):
   call __bionic_setjmp_checksum_mismatch
 END(siglongjmp)
 
-ALIAS_SYMBOL(longjmp, siglongjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(longjmp)
-ALIAS_SYMBOL(_longjmp, siglongjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(_longjmp)
+ALIAS_SYMBOL_WEAK_FOR_NATIVE_BRIDGE(longjmp, siglongjmp)
+ALIAS_SYMBOL_WEAK_FOR_NATIVE_BRIDGE(_longjmp, siglongjmp)
diff --git a/libc/arch-riscv64/bionic/syscall.S b/libc/arch-riscv64/bionic/syscall.S
index 1a6e60a..ca735c7 100644
--- a/libc/arch-riscv64/bionic/syscall.S
+++ b/libc/arch-riscv64/bionic/syscall.S
@@ -44,10 +44,10 @@
 
   // Did it fail?
   li a7, -MAX_ERRNO
-  bgtu a0, a7, 1f
-
+  bgtu a0, a7, L(failure)
   ret
-1:
+
+L(failure):
   neg a0, a0
   tail __set_errno_internal
 END(syscall)
diff --git a/libc/arch-riscv64/bionic/vfork.S b/libc/arch-riscv64/bionic/vfork.S
index 29ab405..06ebc3e 100644
--- a/libc/arch-riscv64/bionic/vfork.S
+++ b/libc/arch-riscv64/bionic/vfork.S
@@ -51,16 +51,16 @@
   ecall
 
   // if (rc == 0) we're the child, and finished...
-  beqz    a0, .L_success
+  beqz    a0, L(success)
 
   // else if (rc != 0): reset cached_pid_ and vforked_...
   sw      t2, 20(t0)
   // ...and work out whether we succeeded or failed.
-  bltz    a0, .L_failure
-.L_success:
+  bltz    a0, L(failure)
+L(success):
   ret
 
-.L_failure:
+L(failure):
   neg     a0, a0
   tail    __set_errno_internal
 END(vfork)
diff --git a/libc/arch-riscv64/dynamic_function_dispatch.cpp b/libc/arch-riscv64/dynamic_function_dispatch.cpp
new file mode 100644
index 0000000..ce6c028
--- /dev/null
+++ b/libc/arch-riscv64/dynamic_function_dispatch.cpp
@@ -0,0 +1,145 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <fcntl.h>
+#include <private/bionic_ifuncs.h>
+#include <stddef.h>
+#include <sys/syscall.h>
+#include <unistd.h>
+
+extern "C" {
+
+static inline __always_inline int ifunc_faccessat(int dir_fd, const char* path, int mode) {
+  register long a0 __asm__("a0") = dir_fd;
+  register long a1 __asm__("a1") = reinterpret_cast<long>(path);
+  register long a2 __asm__("a2") = mode;
+  register long a7 __asm__("a7") = __NR_faccessat;
+  __asm__("ecall" : "=r"(a0) : "r"(a0), "r"(a1), "r"(a2), "r"(a7) : "memory");
+  return a0;
+}
+
+static bool have_fast_v() {
+  static bool result = []() {
+    // We don't want to do a full "bogomips" test, so just check for the
+    // presence of a file that would indicate that we're running in qemu.
+    return ifunc_faccessat(AT_FDCWD, "/dev/hvc0", F_OK) != 0;
+  }();
+  return result;
+}
+
+DEFINE_IFUNC_FOR(memchr) {
+  if (have_fast_v()) RETURN_FUNC(memchr_func_t, memchr_v);
+  RETURN_FUNC(memchr_func_t, memchr_gc);
+}
+MEMCHR_SHIM()
+
+DEFINE_IFUNC_FOR(memcmp) {
+  if (have_fast_v()) RETURN_FUNC(memcmp_func_t, memcmp_v);
+  RETURN_FUNC(memcmp_func_t, memcmp_gc);
+}
+MEMCMP_SHIM()
+
+DEFINE_IFUNC_FOR(memcpy) {
+  if (have_fast_v()) RETURN_FUNC(memcpy_func_t, memcpy_v);
+  RETURN_FUNC(memcpy_func_t, memcpy_gc);
+}
+MEMCPY_SHIM()
+
+DEFINE_IFUNC_FOR(memmove) {
+  if (have_fast_v()) RETURN_FUNC(memmove_func_t, memmove_v);
+  RETURN_FUNC(memmove_func_t, memmove_gc);
+}
+MEMMOVE_SHIM()
+
+DEFINE_IFUNC_FOR(memset) {
+  if (have_fast_v()) RETURN_FUNC(memset_func_t, memset_v);
+  RETURN_FUNC(memset_func_t, memset_gc);
+}
+MEMSET_SHIM()
+
+DEFINE_IFUNC_FOR(stpcpy) {
+  if (have_fast_v()) RETURN_FUNC(stpcpy_func_t, stpcpy_v);
+  RETURN_FUNC(stpcpy_func_t, stpcpy_gc);
+}
+STPCPY_SHIM()
+
+DEFINE_IFUNC_FOR(strcat) {
+  if (have_fast_v()) RETURN_FUNC(strcat_func_t, strcat_v);
+  RETURN_FUNC(strcat_func_t, strcat_gc);
+}
+STRCAT_SHIM()
+
+DEFINE_IFUNC_FOR(strchr) {
+  if (have_fast_v()) RETURN_FUNC(strchr_func_t, strchr_v);
+  RETURN_FUNC(strchr_func_t, strchr_gc);
+}
+STRCHR_SHIM()
+
+DEFINE_IFUNC_FOR(strcmp) {
+  if (have_fast_v()) RETURN_FUNC(strcmp_func_t, strcmp_v);
+  RETURN_FUNC(strcmp_func_t, strcmp_gc);
+}
+STRCMP_SHIM()
+
+DEFINE_IFUNC_FOR(strcpy) {
+  if (have_fast_v()) RETURN_FUNC(strcpy_func_t, strcpy_v);
+  RETURN_FUNC(strcpy_func_t, strcpy_gc);
+}
+STRCPY_SHIM()
+
+DEFINE_IFUNC_FOR(strlen) {
+  if (have_fast_v()) RETURN_FUNC(strlen_func_t, strlen_v);
+  RETURN_FUNC(strlen_func_t, strlen_gc);
+}
+STRLEN_SHIM()
+
+DEFINE_IFUNC_FOR(strncat) {
+  if (have_fast_v()) RETURN_FUNC(strncat_func_t, strncat_v);
+  RETURN_FUNC(strncat_func_t, strncat_gc);
+}
+STRNCAT_SHIM()
+
+DEFINE_IFUNC_FOR(strncmp) {
+  if (have_fast_v()) RETURN_FUNC(strncmp_func_t, strncmp_v);
+  RETURN_FUNC(strncmp_func_t, strncmp_gc);
+}
+STRNCMP_SHIM()
+
+DEFINE_IFUNC_FOR(strncpy) {
+  if (have_fast_v()) RETURN_FUNC(strncpy_func_t, strncpy_v);
+  RETURN_FUNC(strncpy_func_t, strncpy_gc);
+}
+STRNCPY_SHIM()
+
+DEFINE_IFUNC_FOR(strnlen) {
+  if (have_fast_v()) RETURN_FUNC(strnlen_func_t, strnlen_v);
+  RETURN_FUNC(strnlen_func_t, strnlen_gc);
+}
+STRNLEN_SHIM()
+
+}  // extern "C"
diff --git a/libc/upstream-freebsd/lib/libc/string/bcopy.c b/libc/arch-riscv64/string/bcopy.c
similarity index 88%
rename from libc/upstream-freebsd/lib/libc/string/bcopy.c
rename to libc/arch-riscv64/string/bcopy.c
index 84715d0..57adcf6 100644
--- a/libc/upstream-freebsd/lib/libc/string/bcopy.c
+++ b/libc/arch-riscv64/string/bcopy.c
@@ -32,12 +32,6 @@
  * SUCH DAMAGE.
  */
 
-#if defined(LIBC_SCCS) && !defined(lint)
-static char sccsid[] = "@(#)bcopy.c	8.1 (Berkeley) 6/4/93";
-#endif /* LIBC_SCCS and not lint */
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <sys/types.h>
 
 typedef	intptr_t word;		/* "word" used for optimal copy speed */
@@ -47,25 +41,16 @@
 
 /*
  * Copy a block of memory, handling overlap.
- * This is the routine that actually implements
- * (the portable versions of) bcopy, memcpy, and memmove.
  */
-#if defined(MEMCOPY) || defined(MEMMOVE)
 #include <string.h>
 
 void *
 #ifdef MEMCOPY
-memcpy
+memcpy_gc
 #else
-memmove
+memmove_gc
 #endif
 (void *dst0, const void *src0, size_t length)
-#else
-#include <strings.h>
-
-void
-bcopy(const void *src0, void *dst0, size_t length)
-#endif
 {
 	char *dst = dst0;
 	const char *src = src0;
diff --git a/libc/arch-x86/generic/string/strncat.c b/libc/arch-riscv64/string/memchr.c
similarity index 90%
copy from libc/arch-x86/generic/string/strncat.c
copy to libc/arch-riscv64/string/memchr.c
index 687e560..34eb6d7 100644
--- a/libc/arch-x86/generic/string/strncat.c
+++ b/libc/arch-riscv64/string/memchr.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2018 The Android Open Source Project
+ * Copyright (C) 2023 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,5 +28,5 @@
 
 #include <upstream-openbsd/android/include/openbsd-compat.h>
 
-#define strncat strncat_openbsd
-#include <upstream-openbsd/lib/libc/string/strncat.c>
+#define memchr memchr_gc
+#include <upstream-openbsd/lib/libc/string/memchr.c>
diff --git a/libc/arch-riscv64/string/memchr_v.S b/libc/arch-riscv64/string/memchr_v.S
new file mode 100644
index 0000000..d4999c3
--- /dev/null
+++ b/libc/arch-riscv64/string/memchr_v.S
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+/*
+ * Copyright (c) 2023 SiFive, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the company may not be used to endorse or promote
+ *    products derived from this software without specific prior written
+ *    permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY SIFIVE INC ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL SIFIVE INC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <private/bionic_asm.h>
+
+#define iResult a0
+
+#define pSrc a0
+#define iValue a1
+#define iNum a2
+
+#define iVL a3
+#define iTemp a4
+
+#define ELEM_LMUL_SETTING m8
+#define vData v0
+#define vMask v8
+
+ENTRY(memchr_v)
+
+L(loop):
+    vsetvli iVL, iNum, e8, ELEM_LMUL_SETTING, ta, ma
+
+    vle8ff.v vData, (pSrc)
+    vmseq.vx vMask, vData, iValue
+    vfirst.m iTemp, vMask
+
+    # skip the loop if we find the matched value.
+    bgez iTemp, L(found)
+
+    csrr iVL, vl
+    sub iNum, iNum, iVL
+    add pSrc, pSrc, iVL
+
+    bnez iNum, L(loop)
+
+    li iResult, 0
+    ret
+
+L(found):
+    add iResult, pSrc, iTemp
+    ret
+
+END(memchr_v)
diff --git a/libc/upstream-freebsd/lib/libc/string/memcmp.c b/libc/arch-riscv64/string/memcmp.c
similarity index 88%
rename from libc/upstream-freebsd/lib/libc/string/memcmp.c
rename to libc/arch-riscv64/string/memcmp.c
index c8d5d92..2d7335a 100644
--- a/libc/upstream-freebsd/lib/libc/string/memcmp.c
+++ b/libc/arch-riscv64/string/memcmp.c
@@ -32,19 +32,13 @@
  * SUCH DAMAGE.
  */
 
-#if defined(LIBC_SCCS) && !defined(lint)
-static char sccsid[] = "@(#)memcmp.c	8.1 (Berkeley) 6/4/93";
-#endif /* LIBC_SCCS and not lint */
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <string.h>
 
 /*
  * Compare memory regions.
  */
 int
-memcmp(const void *s1, const void *s2, size_t n)
+memcmp_gc(const void *s1, const void *s2, size_t n)
 {
 	if (n != 0) {
 		const unsigned char *p1 = s1, *p2 = s2;
diff --git a/libc/arch-riscv64/string/memcmp_v.S b/libc/arch-riscv64/string/memcmp_v.S
new file mode 100644
index 0000000..55e08db
--- /dev/null
+++ b/libc/arch-riscv64/string/memcmp_v.S
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+/*
+ * Copyright (c) 2023 SiFive, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the company may not be used to endorse or promote
+ *    products derived from this software without specific prior written
+ *    permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY SIFIVE INC ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL SIFIVE INC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <private/bionic_asm.h>
+
+#define iResult a0
+
+#define pSrc1 a0
+#define pSrc2 a1
+#define iNum a2
+
+#define iVL a3
+#define iTemp a4
+#define iTemp1 a5
+#define iTemp2 a6
+
+#define ELEM_LMUL_SETTING m8
+#define vData1 v0
+#define vData2 v8
+#define vMask v16
+
+ENTRY(memcmp_v)
+
+L(loop):
+    vsetvli iVL, iNum, e8, ELEM_LMUL_SETTING, ta, ma
+
+    vle8.v vData1, (pSrc1)
+    vle8.v vData2, (pSrc2)
+
+    vmsne.vv vMask, vData1, vData2
+    sub iNum, iNum, iVL
+    vfirst.m iTemp, vMask
+
+    /* skip the loop if we find the different
+       value between pSrc1 and pSrc2.  */
+    bgez iTemp, L(found)
+
+    add pSrc1, pSrc1, iVL
+    add pSrc2, pSrc2, iVL
+
+    bnez iNum, L(loop)
+
+    li iResult, 0
+    ret
+
+L(found):
+    add pSrc1, pSrc1, iTemp
+    add pSrc2, pSrc2, iTemp
+    lbu iTemp1, 0(pSrc1)
+    lbu iTemp2, 0(pSrc2)
+    sub iResult, iTemp1, iTemp2
+    ret
+
+END(memcmp_v)
diff --git a/libc/arch-riscv64/string/memcpy.c b/libc/arch-riscv64/string/memcpy.c
new file mode 100644
index 0000000..ee11504
--- /dev/null
+++ b/libc/arch-riscv64/string/memcpy.c
@@ -0,0 +1,2 @@
+#define	MEMCOPY
+#include "bcopy.c"
diff --git a/libc/arch-riscv64/string/memcpy_v.S b/libc/arch-riscv64/string/memcpy_v.S
new file mode 100644
index 0000000..93ec60f
--- /dev/null
+++ b/libc/arch-riscv64/string/memcpy_v.S
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+/*
+ * Copyright (c) 2023 SiFive, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the company may not be used to endorse or promote
+ *    products derived from this software without specific prior written
+ *    permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY SIFIVE INC ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL SIFIVE INC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <private/bionic_asm.h>
+
+#define pDst a0
+#define pSrc a1
+#define iNum a2
+
+#define iVL a3
+#define pDstPtr a4
+
+#define ELEM_LMUL_SETTING m8
+#define vData v0
+
+ENTRY(memcpy_v)
+
+    mv pDstPtr, pDst
+
+L(loop):
+    vsetvli iVL, iNum, e8, ELEM_LMUL_SETTING, ta, ma
+
+    vle8.v vData, (pSrc)
+    sub iNum, iNum, iVL
+    add pSrc, pSrc, iVL
+    vse8.v vData, (pDstPtr)
+    add pDstPtr, pDstPtr, iVL
+
+    bnez iNum, L(loop)
+
+    ret
+
+END(memcpy_v)
diff --git a/libc/arch-riscv64/string/memmove.c b/libc/arch-riscv64/string/memmove.c
new file mode 100644
index 0000000..e9bb2c2
--- /dev/null
+++ b/libc/arch-riscv64/string/memmove.c
@@ -0,0 +1,2 @@
+#define	MEMMOVE
+#include "bcopy.c"
diff --git a/libc/arch-riscv64/string/memmove_v.S b/libc/arch-riscv64/string/memmove_v.S
new file mode 100644
index 0000000..cad2b05
--- /dev/null
+++ b/libc/arch-riscv64/string/memmove_v.S
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+/*
+ * Copyright (c) 2023 SiFive, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the company may not be used to endorse or promote
+ *    products derived from this software without specific prior written
+ *    permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY SIFIVE INC ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL SIFIVE INC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <private/bionic_asm.h>
+
+#define pDst a0
+#define pSrc a1
+#define iNum a2
+
+#define iVL a3
+#define pDstPtr a4
+#define pSrcBackwardPtr a5
+#define pDstBackwardPtr a6
+
+#define ELEM_LMUL_SETTING m8
+#define vData v0
+
+ENTRY(memmove_v)
+
+    mv pDstPtr, pDst
+
+    bgeu pSrc, pDst, L(forward_copy_loop)
+    add pSrcBackwardPtr, pSrc, iNum
+    add pDstBackwardPtr, pDst, iNum
+    bltu pDst, pSrcBackwardPtr, L(backward_copy_loop)
+
+L(forward_copy_loop):
+    vsetvli iVL, iNum, e8, ELEM_LMUL_SETTING, ta, ma
+
+    vle8.v vData, (pSrc)
+    sub iNum, iNum, iVL
+    add pSrc, pSrc, iVL
+    vse8.v vData, (pDstPtr)
+    add pDstPtr, pDstPtr, iVL
+
+    bnez iNum, L(forward_copy_loop)
+    ret
+
+L(backward_copy_loop):
+    vsetvli iVL, iNum, e8, ELEM_LMUL_SETTING, ta, ma
+
+    sub pSrcBackwardPtr, pSrcBackwardPtr, iVL
+    vle8.v vData, (pSrcBackwardPtr)
+    sub iNum, iNum, iVL
+    sub pDstBackwardPtr, pDstBackwardPtr, iVL
+    vse8.v vData, (pDstBackwardPtr)
+    bnez iNum, L(backward_copy_loop)
+    ret
+
+END(memmove_v)
diff --git a/libc/upstream-freebsd/lib/libc/string/memset.c b/libc/arch-riscv64/string/memset.c
similarity index 87%
rename from libc/upstream-freebsd/lib/libc/string/memset.c
rename to libc/arch-riscv64/string/memset.c
index e2d4027..d51cbf9 100644
--- a/libc/upstream-freebsd/lib/libc/string/memset.c
+++ b/libc/arch-riscv64/string/memset.c
@@ -32,12 +32,6 @@
  * SUCH DAMAGE.
  */
 
-#if defined(LIBC_SCCS) && !defined(lint)
-static char sccsid[] = "@(#)memset.c	8.1 (Berkeley) 6/4/93";
-#endif /* LIBC_SCCS and not lint */
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <sys/types.h>
 
 #include <limits.h>
@@ -45,16 +39,6 @@
 #define	wsize	sizeof(u_long)
 #define	wmask	(wsize - 1)
 
-#ifdef BZERO
-#include <strings.h>
-
-#define	RETURN	return
-#define	VAL	0
-#define	WIDEVAL	0
-
-void
-bzero(void *dst0, size_t length)
-#else
 #include <string.h>
 
 #define	RETURN	return (dst0)
@@ -62,13 +46,10 @@
 #define	WIDEVAL	c
 
 void *
-memset(void *dst0, int c0, size_t length)
-#endif
+memset_gc(void *dst0, int c0, size_t length)
 {
 	size_t t;
-#ifndef BZERO
 	u_long c;
-#endif
 	u_char *dst;
 
 	dst = dst0;
@@ -96,17 +77,11 @@
 		RETURN;
 	}
 
-#ifndef BZERO
 	if ((c = (u_char)c0) != 0) {	/* Fill the word. */
 		c = (c << 8) | c;	/* u_long is 16 bits. */
-#if ULONG_MAX > 0xffff
 		c = (c << 16) | c;	/* u_long is 32 bits. */
-#endif
-#if ULONG_MAX > 0xffffffff
 		c = (c << 32) | c;	/* u_long is 64 bits. */
-#endif
 	}
-#endif
 	/* Align destination by filling in bytes. */
 	if ((t = (long)dst & wmask) != 0) {
 		t = wsize - t;
diff --git a/libc/arch-riscv64/string/memset_v.S b/libc/arch-riscv64/string/memset_v.S
new file mode 100644
index 0000000..06a2c6a
--- /dev/null
+++ b/libc/arch-riscv64/string/memset_v.S
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+/*
+ * Copyright (c) 2023 SiFive, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the company may not be used to endorse or promote
+ *    products derived from this software without specific prior written
+ *    permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY SIFIVE INC ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL SIFIVE INC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <private/bionic_asm.h>
+
+#define pDst a0
+#define iValue a1
+#define iNum a2
+
+#define iVL a3
+#define iTemp a4
+#define pDstPtr a5
+
+#define ELEM_LMUL_SETTING m8
+#define vData v0
+
+ENTRY(memset_v)
+
+    mv pDstPtr, pDst
+
+    vsetvli iVL, iNum, e8, ELEM_LMUL_SETTING, ta, ma
+    vmv.v.x vData, iValue
+
+L(loop):
+    vse8.v vData, (pDstPtr)
+    sub iNum, iNum, iVL
+    add pDstPtr, pDstPtr, iVL
+    vsetvli iVL, iNum, e8, ELEM_LMUL_SETTING, ta, ma
+    bnez iNum, L(loop)
+
+    ret
+
+END(memset_v)
diff --git a/libc/arch-x86/generic/string/strncat.c b/libc/arch-riscv64/string/stpcpy.c
similarity index 90%
copy from libc/arch-x86/generic/string/strncat.c
copy to libc/arch-riscv64/string/stpcpy.c
index 687e560..2afcf99 100644
--- a/libc/arch-x86/generic/string/strncat.c
+++ b/libc/arch-riscv64/string/stpcpy.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2018 The Android Open Source Project
+ * Copyright (C) 2023 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,5 +28,5 @@
 
 #include <upstream-openbsd/android/include/openbsd-compat.h>
 
-#define strncat strncat_openbsd
-#include <upstream-openbsd/lib/libc/string/strncat.c>
+#define stpcpy stpcpy_gc
+#include <upstream-openbsd/lib/libc/string/stpcpy.c>
diff --git a/libc/arch-riscv64/string/stpcpy_v.S b/libc/arch-riscv64/string/stpcpy_v.S
new file mode 100644
index 0000000..6a853ec
--- /dev/null
+++ b/libc/arch-riscv64/string/stpcpy_v.S
@@ -0,0 +1,88 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+/*
+ * Copyright (c) 2023 SiFive, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the company may not be used to endorse or promote
+ *    products derived from this software without specific prior written
+ *    permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY SIFIVE INC ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL SIFIVE INC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <private/bionic_asm.h>
+
+#define pDstPtr a0
+#define pSrc a1
+
+#define iVL a3
+#define iCurrentVL a4
+#define iActiveElemPos a5
+
+#define ELEM_LMUL_SETTING m1
+#define vMask1 v0
+#define vMask2 v1
+#define vStr1 v8
+#define vStr2 v16
+
+ENTRY(stpcpy_v)
+L(stpcpy_loop):
+    vsetvli iVL, zero, e8, ELEM_LMUL_SETTING, ta, ma
+    vle8ff.v vStr1, (pSrc)
+    vmseq.vx vMask2, vStr1, zero
+    csrr iCurrentVL, vl
+    vfirst.m iActiveElemPos, vMask2
+    vmsif.m vMask1, vMask2
+    add pSrc, pSrc, iCurrentVL
+    vse8.v vStr1, (pDstPtr), vMask1.t
+    add pDstPtr, pDstPtr, iCurrentVL
+    bltz iActiveElemPos, L(stpcpy_loop)
+
+    // stpcpy() returns a pointer to the '\0' in the destination.
+    sub pDstPtr, pDstPtr, iCurrentVL
+    add pDstPtr, pDstPtr, iActiveElemPos
+    ret
+END(stpcpy_v)
diff --git a/libc/arch-x86/generic/string/strncat.c b/libc/arch-riscv64/string/strcat.c
similarity index 90%
copy from libc/arch-x86/generic/string/strncat.c
copy to libc/arch-riscv64/string/strcat.c
index 687e560..5fb1621 100644
--- a/libc/arch-x86/generic/string/strncat.c
+++ b/libc/arch-riscv64/string/strcat.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2018 The Android Open Source Project
+ * Copyright (C) 2023 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,5 +28,5 @@
 
 #include <upstream-openbsd/android/include/openbsd-compat.h>
 
-#define strncat strncat_openbsd
-#include <upstream-openbsd/lib/libc/string/strncat.c>
+#define strcat strcat_gc
+#include <upstream-openbsd/lib/libc/string/strcat.c>
diff --git a/libc/arch-riscv64/string/strcat_v.S b/libc/arch-riscv64/string/strcat_v.S
new file mode 100644
index 0000000..3d348e7
--- /dev/null
+++ b/libc/arch-riscv64/string/strcat_v.S
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+/*
+ * Copyright (c) 2023 SiFive, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the company may not be used to endorse or promote
+ *    products derived from this software without specific prior written
+ *    permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY SIFIVE INC ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL SIFIVE INC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <private/bionic_asm.h>
+
+#define pDst a0
+#define pSrc a1
+#define pDstPtr a2
+
+#define iVL a3
+#define iCurrentVL a4
+#define iActiveElemPos a5
+
+#define ELEM_LMUL_SETTING m1
+#define vMask1 v0
+#define vMask2 v1
+#define vStr1 v8
+#define vStr2 v16
+
+ENTRY(strcat_v)
+
+    mv pDstPtr, pDst
+
+    // the strlen of dst
+L(strlen_loop):
+    vsetvli iVL, zero, e8, ELEM_LMUL_SETTING, ta, ma
+
+    vle8ff.v vStr1, (pDstPtr)
+    // find the '\0'
+    vmseq.vx vMask1, vStr1, zero
+    csrr iCurrentVL, vl
+    vfirst.m iActiveElemPos, vMask1
+    add pDstPtr, pDstPtr, iCurrentVL
+    bltz iActiveElemPos, L(strlen_loop)
+
+    sub pDstPtr, pDstPtr, iCurrentVL
+    add pDstPtr, pDstPtr, iActiveElemPos
+
+    // copy pSrc to pDstPtr
+L(strcpy_loop):
+    vsetvli iVL, zero, e8, ELEM_LMUL_SETTING, ta, ma
+
+    vle8ff.v vStr1, (pSrc)
+    vmseq.vx vMask2, vStr1, zero
+    csrr iCurrentVL, vl
+    vfirst.m iActiveElemPos, vMask2
+    vmsif.m vMask1, vMask2
+    add pSrc, pSrc, iCurrentVL
+    vse8.v vStr1, (pDstPtr), vMask1.t
+    add pDstPtr, pDstPtr, iCurrentVL
+    bltz iActiveElemPos, L(strcpy_loop)
+
+    ret
+
+END(strcat_v)
diff --git a/libc/upstream-openbsd/lib/libc/string/strlen.c b/libc/arch-riscv64/string/strchr.c
similarity index 82%
copy from libc/upstream-openbsd/lib/libc/string/strlen.c
copy to libc/arch-riscv64/string/strchr.c
index a5721d3..dc07766 100644
--- a/libc/upstream-openbsd/lib/libc/string/strlen.c
+++ b/libc/arch-riscv64/string/strchr.c
@@ -1,8 +1,7 @@
-/*	$OpenBSD: strlen.c,v 1.9 2015/08/31 02:53:57 guenther Exp $	*/
-
+/*	$OpenBSD: strchr.c,v 1.4 2018/10/01 06:37:37 martijn Exp $ */
 /*-
- * Copyright (c) 1990, 1993
- *	The Regents of the University of California.  All rights reserved.
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -31,14 +30,14 @@
 
 #include <string.h>
 
-size_t
-strlen(const char *str)
+char *
+strchr_gc(const char *p, int ch)
 {
-	const char *s;
-
-	for (s = str; *s; ++s)
-		;
-	return (s - str);
+	for (;; ++p) {
+		if (*p == (char) ch)
+			return((char *)p);
+		if (!*p)
+			return((char *)NULL);
+	}
+	/* NOTREACHED */
 }
-
-DEF_STRONG(strlen);
diff --git a/libc/arch-riscv64/string/strchr_v.S b/libc/arch-riscv64/string/strchr_v.S
new file mode 100644
index 0000000..bc7b58a
--- /dev/null
+++ b/libc/arch-riscv64/string/strchr_v.S
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+/*
+ * Copyright (c) 2023 SiFive, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the company may not be used to endorse or promote
+ *    products derived from this software without specific prior written
+ *    permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY SIFIVE INC ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL SIFIVE INC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <private/bionic_asm.h>
+
+#define pStr a0
+#define iCh a1
+#define iEndOffset a2
+#define iChOffset a3
+#define iTemp1 a4
+#define iTemp2 a5
+#define iCurrentVL a6
+#define iVL t0
+
+#define ELEM_LMUL_SETTING m1
+#define vStr v0
+#define vMaskEnd v8
+#define vMaskCh v9
+
+ENTRY(strchr_v)
+
+L(strchr_loop):
+    vsetvli iVL, zero, e8, ELEM_LMUL_SETTING, ta, ma
+    vle8ff.v vStr, (pStr)
+    vmseq.vi vMaskEnd, vStr, 0
+    vmseq.vx vMaskCh, vStr, iCh
+    vfirst.m iEndOffset, vMaskEnd /* first occurrence of \0 */
+    vfirst.m iChOffset, vMaskCh /* first occurrence of ch */
+    sltz iTemp1, iChOffset
+    sltu iTemp2, iEndOffset, iChOffset
+    or iTemp1, iTemp1, iTemp2
+    beqz iTemp1, L(found_ch) /* Found ch, not preceded by \0? */
+    csrr iCurrentVL, vl
+    add pStr, pStr, iCurrentVL
+    bltz iEndOffset, L(strchr_loop) /* Didn't find \0? */
+    li pStr, 0
+    ret
+L(found_ch):
+    add pStr, pStr, iChOffset
+    ret
+
+END(strchr_v)
diff --git a/libc/upstream-openbsd/lib/libc/string/strcmp.c b/libc/arch-riscv64/string/strcmp.c
similarity index 96%
rename from libc/upstream-openbsd/lib/libc/string/strcmp.c
rename to libc/arch-riscv64/string/strcmp.c
index be17556..7a1fefe 100644
--- a/libc/upstream-openbsd/lib/libc/string/strcmp.c
+++ b/libc/arch-riscv64/string/strcmp.c
@@ -38,11 +38,10 @@
  * Compare strings.
  */
 int
-strcmp(const char *s1, const char *s2)
+strcmp_gc(const char *s1, const char *s2)
 {
 	while (*s1 == *s2++)
 		if (*s1++ == 0)
 			return (0);
 	return (*(unsigned char *)s1 - *(unsigned char *)--s2);
 }
-DEF_STRONG(strcmp);
diff --git a/libc/arch-riscv64/string/strcmp_v.S b/libc/arch-riscv64/string/strcmp_v.S
new file mode 100644
index 0000000..01e72b1
--- /dev/null
+++ b/libc/arch-riscv64/string/strcmp_v.S
@@ -0,0 +1,169 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+/*
+ * Copyright (c) 2023 SiFive, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the company may not be used to endorse or promote
+ *    products derived from this software without specific prior written
+ *    permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY SIFIVE INC ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL SIFIVE INC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <private/bionic_asm.h>
+
+#define iResult a0
+
+#define pStr1 a0
+#define pStr2 a1
+
+#define iVL a2
+#define iTemp1 a3
+#define iTemp2 a4
+#define iLMUL1 a5
+#define iLMUL2 a6
+#define iLMUL4 a7
+
+#define iLMUL t0
+
+#define vStr1 v0
+#define vStr2 v8
+#define vMask1 v16
+#define vMask2 v17
+
+ENTRY(strcmp_v)
+
+    # increase the lmul using the following sequences:
+    # 1/2, 1/2, 1, 2, 4, 4, 4, ...
+
+    # lmul=1/2
+    vsetvli iVL, zero, e8, mf2, ta, ma
+
+    vle8ff.v vStr1, (pStr1)
+     # check if vStr1[i] == 0
+    vmseq.vx vMask1, vStr1, zero
+
+    vle8ff.v vStr2, (pStr2)
+    # check if vStr1[i] != vStr2[i]
+    vmsne.vv vMask2, vStr1, vStr2
+
+    # find the index x for vStr1[x]==0
+    vfirst.m iTemp1, vMask1
+    # find the index x for vStr1[x]!=vStr2[x]
+    vfirst.m iTemp2, vMask2
+
+    bgez iTemp1, L(check1)
+    bgez iTemp2, L(check2)
+
+    # get the current vl updated by vle8ff.
+    csrr iVL, vl
+    add pStr1, pStr1, iVL
+    add pStr2, pStr2, iVL
+
+    vsetvli iVL, zero, e8, mf2, ta, ma
+    addi iLMUL1, zero, 1
+    addi iLMUL, zero, 1
+    j L(loop)
+L(m1):
+    vsetvli iVL, zero, e8, m1, ta, ma
+    addi iLMUL2, zero, 2
+    addi iLMUL, zero, 2
+    j L(loop)
+L(m2):
+    vsetvli iVL, zero, e8, m2, ta, ma
+    addi iLMUL4, zero, 4
+    addi iLMUL, zero, 4
+    j L(loop)
+L(m4):
+    vsetvli iVL, zero, e8, m4, ta, ma
+
+L(loop):
+    vle8ff.v vStr1, (pStr1)
+    vmseq.vx vMask1, vStr1, zero
+
+    vle8ff.v vStr2, (pStr2)
+    vmsne.vv vMask2, vStr1, vStr2
+
+    vfirst.m iTemp1, vMask1
+    vfirst.m iTemp2, vMask2
+
+    bgez iTemp1, L(check1)
+    bgez iTemp2, L(check2)
+
+    csrr iVL, vl
+    add pStr1, pStr1, iVL
+    add pStr2, pStr2, iVL
+
+    beq iLMUL, iLMUL1, L(m1)
+    beq iLMUL, iLMUL2, L(m2)
+    beq iLMUL, iLMUL4, L(m4)
+    j L(loop)
+
+    // iTemp1>=0
+L(check1):
+    bltz iTemp2, 1f
+    blt iTemp2, iTemp1, L(check2)
+1:
+    // iTemp2<0
+    // iTemp2>=0 && iTemp1<iTemp2
+    add pStr1, pStr1, iTemp1
+    add pStr2, pStr2, iTemp1
+    lbu iTemp1, 0(pStr1)
+    lbu iTemp2, 0(pStr2)
+    sub iResult, iTemp1, iTemp2
+    ret
+
+    // iTemp1<0
+    // iTemp2>=0
+L(check2):
+    add pStr1, pStr1, iTemp2
+    add pStr2, pStr2, iTemp2
+    lbu iTemp1, 0(pStr1)
+    lbu iTemp2, 0(pStr2)
+    sub iResult, iTemp1, iTemp2
+    ret
+
+END(strcmp_v)
diff --git a/libc/upstream-openbsd/lib/libc/string/strcpy.c b/libc/arch-riscv64/string/strcpy.c
similarity index 91%
rename from libc/upstream-openbsd/lib/libc/string/strcpy.c
rename to libc/arch-riscv64/string/strcpy.c
index 290eefe..a624541 100644
--- a/libc/upstream-openbsd/lib/libc/string/strcpy.c
+++ b/libc/arch-riscv64/string/strcpy.c
@@ -31,13 +31,8 @@
 
 #include <string.h>
 
-#if defined(APIWARN)
-__warn_references(strcpy,
-    "strcpy() is almost always misused, please use strlcpy()");
-#endif
-
 char *
-strcpy(char *to, const char *from)
+strcpy_gc(char *to, const char *from)
 {
 	char *save = to;
 
diff --git a/libc/arch-riscv64/string/strcpy_v.S b/libc/arch-riscv64/string/strcpy_v.S
new file mode 100644
index 0000000..084b3a5
--- /dev/null
+++ b/libc/arch-riscv64/string/strcpy_v.S
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+/*
+ * Copyright (c) 2023 SiFive, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the company may not be used to endorse or promote
+ *    products derived from this software without specific prior written
+ *    permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY SIFIVE INC ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL SIFIVE INC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <private/bionic_asm.h>
+
+#define pDst a0
+#define pSrc a1
+#define pDstPtr a2
+
+#define iVL a3
+#define iCurrentVL a4
+#define iActiveElemPos a5
+
+#define ELEM_LMUL_SETTING m1
+#define vMask1 v0
+#define vMask2 v1
+#define vStr1 v8
+#define vStr2 v16
+
+ENTRY(strcpy_v)
+
+    mv pDstPtr, pDst
+
+    // copy pSrc to pDstPtr
+L(strcpy_loop):
+    vsetvli iVL, zero, e8, ELEM_LMUL_SETTING, ta, ma
+    vle8ff.v vStr1, (pSrc)
+    vmseq.vx vMask2, vStr1, zero
+    csrr iCurrentVL, vl
+    vfirst.m iActiveElemPos, vMask2
+    vmsif.m vMask1, vMask2
+    add pSrc, pSrc, iCurrentVL
+    vse8.v vStr1, (pDstPtr), vMask1.t
+    add pDstPtr, pDstPtr, iCurrentVL
+    bltz iActiveElemPos, L(strcpy_loop)
+
+    ret
+
+END(strcpy_v)
diff --git a/libc/upstream-openbsd/lib/libc/string/strlen.c b/libc/arch-riscv64/string/strlen.c
similarity index 97%
rename from libc/upstream-openbsd/lib/libc/string/strlen.c
rename to libc/arch-riscv64/string/strlen.c
index a5721d3..ac8d27f 100644
--- a/libc/upstream-openbsd/lib/libc/string/strlen.c
+++ b/libc/arch-riscv64/string/strlen.c
@@ -32,7 +32,7 @@
 #include <string.h>
 
 size_t
-strlen(const char *str)
+strlen_gc(const char *str)
 {
 	const char *s;
 
@@ -40,5 +40,3 @@
 		;
 	return (s - str);
 }
-
-DEF_STRONG(strlen);
diff --git a/libc/arch-riscv64/string/strlen_v.S b/libc/arch-riscv64/string/strlen_v.S
new file mode 100644
index 0000000..c284021
--- /dev/null
+++ b/libc/arch-riscv64/string/strlen_v.S
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+/*
+ * Copyright (c) 2023 SiFive, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the company may not be used to endorse or promote
+ *    products derived from this software without specific prior written
+ *    permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY SIFIVE INC ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL SIFIVE INC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <private/bionic_asm.h>
+
+#define iResult a0
+#define pStr a0
+#define pCopyStr a1
+#define iVL a2
+#define iCurrentVL a2
+#define iEndOffset a3
+
+#define ELEM_LMUL_SETTING m2
+#define vStr v0
+#define vMaskEnd v2
+
+ENTRY(strlen_v)
+
+    mv pCopyStr, pStr
+L(loop):
+    vsetvli iVL, zero, e8, ELEM_LMUL_SETTING, ta, ma
+    vle8ff.v vStr, (pCopyStr)
+    csrr iCurrentVL, vl
+    vmseq.vi vMaskEnd, vStr, 0
+    vfirst.m iEndOffset, vMaskEnd
+    add pCopyStr, pCopyStr, iCurrentVL
+    bltz iEndOffset, L(loop)
+
+    add pStr, pStr, iCurrentVL
+    add pCopyStr, pCopyStr, iEndOffset
+    sub iResult, pCopyStr, iResult
+
+    ret
+
+END(strlen_v)
diff --git a/libc/arch-x86/generic/string/strncat.c b/libc/arch-riscv64/string/strncat.c
similarity index 94%
rename from libc/arch-x86/generic/string/strncat.c
rename to libc/arch-riscv64/string/strncat.c
index 687e560..8c26b95 100644
--- a/libc/arch-x86/generic/string/strncat.c
+++ b/libc/arch-riscv64/string/strncat.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2018 The Android Open Source Project
+ * Copyright (C) 2023 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,5 +28,5 @@
 
 #include <upstream-openbsd/android/include/openbsd-compat.h>
 
-#define strncat strncat_openbsd
+#define strncat strncat_gc
 #include <upstream-openbsd/lib/libc/string/strncat.c>
diff --git a/libc/arch-riscv64/string/strncat_v.S b/libc/arch-riscv64/string/strncat_v.S
new file mode 100644
index 0000000..adc768d
--- /dev/null
+++ b/libc/arch-riscv64/string/strncat_v.S
@@ -0,0 +1,117 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+/*
+ * Copyright (c) 2023 SiFive, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the company may not be used to endorse or promote
+ *    products derived from this software without specific prior written
+ *    permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY SIFIVE INC ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL SIFIVE INC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <private/bionic_asm.h>
+
+#define pDst a0
+#define pSrc a1
+#define iLength a2
+#define pDstPtr a3
+
+#define iVL a4
+#define iCurrentVL a5
+#define iActiveElemPos a6
+
+#define ELEM_LMUL_SETTING m1
+#define vMask1 v0
+#define vMask2 v1
+#define vStr1 v8
+#define vStr2 v16
+
+ENTRY(strncat_v)
+
+    mv pDstPtr, pDst
+
+    // the strlen of dst
+L(strlen_loop):
+    vsetvli iVL, zero, e8, ELEM_LMUL_SETTING, ta, ma
+
+    vle8ff.v vStr1, (pDstPtr)
+    // find the '\0'
+    vmseq.vx vMask1, vStr1, zero
+    csrr iCurrentVL, vl
+    vfirst.m iActiveElemPos, vMask1
+    add pDstPtr, pDstPtr, iCurrentVL
+    bltz iActiveElemPos, L(strlen_loop)
+
+    sub pDstPtr, pDstPtr, iCurrentVL
+    add pDstPtr, pDstPtr, iActiveElemPos
+
+    // copy pSrc to pDstPtr
+L(strcpy_loop):
+    vsetvli iVL, iLength, e8, ELEM_LMUL_SETTING, ta, ma
+
+    vle8ff.v vStr1, (pSrc)
+    vmseq.vx vMask2, vStr1, zero
+    csrr iCurrentVL, vl
+    vfirst.m iActiveElemPos, vMask2
+    vmsif.m vMask1, vMask2
+    add pSrc, pSrc, iCurrentVL
+    sub iLength, iLength, iCurrentVL
+    vse8.v vStr1, (pDstPtr), vMask1.t
+    add pDstPtr, pDstPtr, iCurrentVL
+    beqz iLength, L(fill_zero)
+    bltz iActiveElemPos, L(strcpy_loop)
+
+    ret
+
+L(fill_zero):
+    bgez iActiveElemPos, L(fill_zero_end)
+    sb zero, (pDstPtr)
+
+L(fill_zero_end):
+    ret
+
+END(strncat_v)
diff --git a/libc/arch-x86/generic/string/strncat.c b/libc/arch-riscv64/string/strncmp.c
similarity index 90%
copy from libc/arch-x86/generic/string/strncat.c
copy to libc/arch-riscv64/string/strncmp.c
index 687e560..ebc5357 100644
--- a/libc/arch-x86/generic/string/strncat.c
+++ b/libc/arch-riscv64/string/strncmp.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2018 The Android Open Source Project
+ * Copyright (C) 2023 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,5 +28,5 @@
 
 #include <upstream-openbsd/android/include/openbsd-compat.h>
 
-#define strncat strncat_openbsd
-#include <upstream-openbsd/lib/libc/string/strncat.c>
+#define strncmp strncmp_gc
+#include <upstream-openbsd/lib/libc/string/strncmp.c>
diff --git a/libc/arch-riscv64/string/strncmp_v.S b/libc/arch-riscv64/string/strncmp_v.S
new file mode 100644
index 0000000..1ce4817
--- /dev/null
+++ b/libc/arch-riscv64/string/strncmp_v.S
@@ -0,0 +1,119 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+/*
+ * Copyright (c) 2023 SiFive, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the company may not be used to endorse or promote
+ *    products derived from this software without specific prior written
+ *    permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY SIFIVE INC ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL SIFIVE INC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <private/bionic_asm.h>
+
+#define iResult a0
+
+#define pStr1 a0
+#define pStr2 a1
+#define iLength a2
+
+#define iVL a3
+#define iTemp1 a4
+#define iTemp2 a5
+
+#define ELEM_LMUL_SETTING m1
+#define vStr1 v0
+#define vStr2 v4
+#define vMask1 v8
+#define vMask2 v9
+
+ENTRY(strncmp_v)
+
+    beqz iLength, L(zero_length)
+
+L(loop):
+    vsetvli iVL, iLength, e8, ELEM_LMUL_SETTING, ta, ma
+
+    vle8ff.v vStr1, (pStr1)
+     # vStr1[i] == 0
+    vmseq.vx vMask1, vStr1, zero
+
+    vle8ff.v vStr2, (pStr2)
+    # vStr1[i] != vStr2[i]
+    vmsne.vv vMask2, vStr1, vStr2
+
+    csrr iVL, vl
+
+    # r = mask1 | mask2
+    # We could use vfirst.m to get the first zero char or the
+    # first different char between str1 and str2.
+    vmor.mm vMask1, vMask1, vMask2
+
+    sub iLength, iLength, iVL
+
+    vfirst.m iTemp1, vMask1
+
+    bgez iTemp1, L(end_loop)
+
+    add pStr1, pStr1, iVL
+    add pStr2, pStr2, iVL
+    bnez iLength, L(loop)
+L(end_loop):
+
+    add pStr1, pStr1, iTemp1
+    add pStr2, pStr2, iTemp1
+    lbu iTemp1, 0(pStr1)
+    lbu iTemp2, 0(pStr2)
+
+    sub iResult, iTemp1, iTemp2
+    ret
+
+L(zero_length):
+    li iResult, 0
+    ret
+
+END(strncmp_v)
diff --git a/libc/arch-x86/generic/string/strncat.c b/libc/arch-riscv64/string/strncpy.c
similarity index 90%
copy from libc/arch-x86/generic/string/strncat.c
copy to libc/arch-riscv64/string/strncpy.c
index 687e560..bbd1bd7 100644
--- a/libc/arch-x86/generic/string/strncat.c
+++ b/libc/arch-riscv64/string/strncpy.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2018 The Android Open Source Project
+ * Copyright (C) 2023 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,5 +28,5 @@
 
 #include <upstream-openbsd/android/include/openbsd-compat.h>
 
-#define strncat strncat_openbsd
-#include <upstream-openbsd/lib/libc/string/strncat.c>
+#define strncpy strncpy_gc
+#include <upstream-openbsd/lib/libc/string/strncpy.c>
diff --git a/libc/arch-riscv64/string/strncpy_v.S b/libc/arch-riscv64/string/strncpy_v.S
new file mode 100644
index 0000000..f133f28
--- /dev/null
+++ b/libc/arch-riscv64/string/strncpy_v.S
@@ -0,0 +1,114 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+/*
+ * Copyright (c) 2023 SiFive, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the company may not be used to endorse or promote
+ *    products derived from this software without specific prior written
+ *    permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY SIFIVE INC ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL SIFIVE INC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <private/bionic_asm.h>
+
+#define pDst a0
+#define pSrc a1
+#define iLength a2
+#define pDstPtr a3
+
+#define iVL a4
+#define iCurrentVL a5
+#define iActiveElemPos a6
+
+#define ELEM_LMUL_SETTING m1
+#define vMask1 v0
+#define vMask2 v1
+#define ZERO_FILL_ELEM_LMUL_SETTING m8
+#define vStr1 v8
+#define vStr2 v16
+
+ENTRY(strncpy_v)
+
+    mv pDstPtr, pDst
+
+    // copy pSrc to pDstPtr
+L(strcpy_loop):
+    vsetvli iVL, iLength, e8, ELEM_LMUL_SETTING, ta, ma
+    vle8ff.v vStr1, (pSrc)
+    vmseq.vx vMask2, vStr1, zero
+    csrr iCurrentVL, vl
+    vfirst.m iActiveElemPos, vMask2
+    vmsif.m vMask1, vMask2
+    add pSrc, pSrc, iCurrentVL
+    sub iLength, iLength, iCurrentVL
+    vse8.v vStr1, (pDstPtr), vMask1.t
+    add pDstPtr, pDstPtr, iCurrentVL
+    bgez iActiveElemPos, L(fill_zero)
+    bnez iLength, L(strcpy_loop)
+    ret
+
+    # fill the tail zero.
+L(fill_zero):
+    sub iVL, iCurrentVL, iActiveElemPos
+    add iLength, iLength, iVL
+    bnez iLength, 1f
+    ret
+1:
+    sub pDstPtr, pDstPtr, iVL
+    vsetvli zero, iLength, e8, ZERO_FILL_ELEM_LMUL_SETTING, ta, ma
+    vmv.v.x vStr2, zero
+
+L(fill_zero_loop):
+    vsetvli iVL, iLength, e8, ZERO_FILL_ELEM_LMUL_SETTING, ta, ma
+    vse8.v vStr2, (pDstPtr)
+    sub iLength, iLength, iVL
+    add pDstPtr, pDstPtr, iVL
+    bnez iLength, L(fill_zero_loop)
+
+    ret
+
+END(strncpy_v)
diff --git a/libc/upstream-openbsd/lib/libc/string/memrchr.c b/libc/arch-riscv64/string/strnlen.c
similarity index 61%
rename from libc/upstream-openbsd/lib/libc/string/memrchr.c
rename to libc/arch-riscv64/string/strnlen.c
index e123bc1..0e31c3b 100644
--- a/libc/upstream-openbsd/lib/libc/string/memrchr.c
+++ b/libc/arch-riscv64/string/strnlen.c
@@ -1,7 +1,7 @@
-/*	$OpenBSD: memrchr.c,v 1.4 2019/01/25 00:19:25 millert Exp $	*/
+/*	$OpenBSD: strnlen.c,v 1.9 2019/01/25 00:19:25 millert Exp $	*/
 
 /*
- * Copyright (c) 2007 Todd C. Miller <millert@openbsd.org>
+ * Copyright (c) 2010 Todd C. Miller <millert@openbsd.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -16,24 +16,17 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
+#include <sys/types.h>
+
 #include <string.h>
 
-/*
- * Reverse memchr()
- * Find the last occurrence of 'c' in the buffer 's' of size 'n'.
- */
-void *
-memrchr(const void *s, int c, size_t n)
+size_t
+strnlen_gc(const char *str, size_t maxlen)
 {
-	const unsigned char *cp;
+	const char *cp;
 
-	if (n != 0) {
-		cp = (unsigned char *)s + n;
-		do {
-			if (*(--cp) == (unsigned char)c)
-				return((void *)cp);
-		} while (--n != 0);
-	}
-	return(NULL);
+	for (cp = str; maxlen != 0 && *cp != '\0'; cp++, maxlen--)
+		;
+
+	return (size_t)(cp - str);
 }
-DEF_WEAK(memrchr);
diff --git a/libc/arch-riscv64/string/strnlen_v.S b/libc/arch-riscv64/string/strnlen_v.S
new file mode 100644
index 0000000..bd1bb9a
--- /dev/null
+++ b/libc/arch-riscv64/string/strnlen_v.S
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+/*
+ * Copyright (c) 2023 SiFive, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the company may not be used to endorse or promote
+ *    products derived from this software without specific prior written
+ *    permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY SIFIVE INC ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL SIFIVE INC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
+ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <private/bionic_asm.h>
+
+#define pStr a0
+#define pCopyStr a2
+#define iRetValue a0
+#define iMaxlen a1
+#define iCurrentVL a3
+#define iEndOffset a4
+
+#define ELEM_LMUL_SETTING m1
+#define vStr v0
+#define vMaskEnd v8
+
+ENTRY(strnlen_v)
+
+    mv pCopyStr, pStr
+    mv iRetValue, iMaxlen
+L(strnlen_loop):
+    beqz iMaxlen, L(end_strnlen_loop)
+    vsetvli zero, iMaxlen, e8, ELEM_LMUL_SETTING, ta, ma
+    vle8ff.v vStr, (pCopyStr)
+    vmseq.vi vMaskEnd, vStr, 0
+    vfirst.m iEndOffset, vMaskEnd /* first occurrence of \0 */
+    csrr iCurrentVL, vl
+    add pCopyStr, pCopyStr, iCurrentVL
+    sub iMaxlen, iMaxlen, iCurrentVL
+    bltz iEndOffset, L(strnlen_loop)
+    add iMaxlen, iMaxlen, iCurrentVL
+    sub iRetValue, iRetValue, iMaxlen
+    add iRetValue, iRetValue, iEndOffset
+L(end_strnlen_loop):
+    ret
+
+END(strnlen_v)
diff --git a/libc/arch-x86/bionic/__restore.S b/libc/arch-x86/bionic/__restore.S
deleted file mode 100644
index 5977eab..0000000
--- a/libc/arch-x86/bionic/__restore.S
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <private/bionic_asm.h>
-#include <private/bionic_asm_dwarf_exprs.h>
-
-// Offsets into struct sigcontext.
-#define OFFSET_EDI 16
-#define OFFSET_ESI 20
-#define OFFSET_EBP 24
-#define OFFSET_ESP 28
-#define OFFSET_EBX 32
-#define OFFSET_EDX 36
-#define OFFSET_ECX 40
-#define OFFSET_EAX 44
-#define OFFSET_EIP 56
-
-// Non-standard DWARF constants for the x86 registers.
-#define DW_x86_REG_EAX 0
-#define DW_x86_REG_ECX 1
-#define DW_x86_REG_EDX 2
-#define DW_x86_REG_EBX 3
-#define DW_x86_REG_ESP 4
-#define DW_x86_REG_EBP 5
-#define DW_x86_REG_ESI 6
-#define DW_x86_REG_EDI 7
-#define DW_x86_REG_EIP 8
-
-#define RESTORE_GPR(reg, extra_offset)                    \
-    m_cfi_breg_offset DW_x86_REG_ ## reg,                 \
-                      DW_x86_REG_ESP,                     \
-                      (OFFSET_ ## reg + (extra_offset));
-
-// Restoring ESP is unnecessary as the unwinder simply uses the CFA value.
-#define RESTORE_GPRS(extra_offset)                                      \
-    m_cfi_def_cfa_deref DW_x86_REG_ESP, (OFFSET_ESP + (extra_offset));  \
-    RESTORE_GPR(EDI, extra_offset)                                      \
-    RESTORE_GPR(ESI, extra_offset)                                      \
-    RESTORE_GPR(EBP, extra_offset)                                      \
-    RESTORE_GPR(EBX, extra_offset)                                      \
-    RESTORE_GPR(EDX, extra_offset)                                      \
-    RESTORE_GPR(ECX, extra_offset)                                      \
-    RESTORE_GPR(EAX, extra_offset)                                      \
-    RESTORE_GPR(EIP, extra_offset)                                      \
-
-  .text
-
-  .cfi_startproc
-  .cfi_signal_frame
-  RESTORE_GPRS(4)
-  nop   // See comment in libc/arch-x86_64/bionic/__restore_rt.S about this nop.
-ENTRY_PRIVATE_NO_DWARF(__restore)
-  popl %eax
-  RESTORE_GPRS(0)
-  movl $__NR_sigreturn, %eax
-  int $0x80
-END(__restore)
-
-  .cfi_startproc
-  .cfi_signal_frame
-  RESTORE_GPRS(160)
-  nop   // See comment in libc/arch-x86_64/bionic/__restore_rt.S about this nop.
-ENTRY_PRIVATE_NO_DWARF(__restore_rt)
-  movl $__NR_rt_sigreturn, %eax
-  int $0x80
-END(__restore_rt)
diff --git a/libc/arch-x86/bionic/setjmp.S b/libc/arch-x86/bionic/setjmp.S
index 1a3eb4b..b9e6bdf 100644
--- a/libc/arch-x86/bionic/setjmp.S
+++ b/libc/arch-x86/bionic/setjmp.S
@@ -64,23 +64,17 @@
   .endr
 .endm
 
-ENTRY(setjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(setjmp)
-  movl 4(%esp),%ecx
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(setjmp)
   mov $1,%eax
   jmp .L_sigsetjmp
 END(setjmp)
 
-ENTRY(_setjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(_setjmp)
-  movl 4(%esp),%ecx
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(_setjmp)
   movl $0,%eax
   jmp .L_sigsetjmp
 END(_setjmp)
 
-ENTRY(sigsetjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(sigsetjmp)
-  movl 4(%esp),%ecx
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(sigsetjmp)
   movl 8(%esp),%eax
 
 .L_sigsetjmp:
@@ -91,6 +85,7 @@
   PIC_EPILOGUE
 
   // Record the setjmp cookie and whether or not we're saving the signal mask.
+  movl 4(%esp),%ecx
   movl %eax,(_JB_SIGFLAG * 4)(%ecx)
 
   // Do we need to save the signal mask?
@@ -135,8 +130,7 @@
   ret
 END(sigsetjmp)
 
-ENTRY(siglongjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(siglongjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(siglongjmp)
   movl 4(%esp),%edx
 
   // Check the checksum before doing anything.
@@ -210,7 +204,5 @@
   call PIC_PLT(__bionic_setjmp_checksum_mismatch)
 END(siglongjmp)
 
-ALIAS_SYMBOL(longjmp, siglongjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(longjmp)
-ALIAS_SYMBOL(_longjmp, siglongjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(_longjmp)
+ALIAS_SYMBOL_WEAK_FOR_NATIVE_BRIDGE(longjmp, siglongjmp)
+ALIAS_SYMBOL_WEAK_FOR_NATIVE_BRIDGE(_longjmp, siglongjmp)
diff --git a/libc/arch-x86/bionic/vfork.S b/libc/arch-x86/bionic/vfork.S
index 231a36e..872d0c2 100644
--- a/libc/arch-x86/bionic/vfork.S
+++ b/libc/arch-x86/bionic/vfork.S
@@ -31,8 +31,7 @@
 
 // This custom code preserves the return address across the system call.
 
-ENTRY(vfork)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(vfork)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(vfork)
   popl    %ecx  // Grab the return address.
   .cfi_adjust_cfa_offset 4
   .cfi_rel_offset ecx, 0
diff --git a/libc/arch-x86/dynamic_function_dispatch.cpp b/libc/arch-x86/dynamic_function_dispatch.cpp
index 38d8a0a..240fcdf 100644
--- a/libc/arch-x86/dynamic_function_dispatch.cpp
+++ b/libc/arch-x86/dynamic_function_dispatch.cpp
@@ -26,129 +26,16 @@
  * SUCH DAMAGE.
  */
 
-#include <stddef.h>
-
 #include <private/bionic_ifuncs.h>
+#include <stddef.h>
 
 extern "C" {
 
-typedef int memcmp_func(const void* __lhs, const void* __rhs, size_t __n);
 DEFINE_IFUNC_FOR(memcmp) {
-    __builtin_cpu_init();
-    if (__builtin_cpu_is("atom")) RETURN_FUNC(memcmp_func, memcmp_atom);
-    if (__builtin_cpu_supports("sse4.1")) RETURN_FUNC(memcmp_func, memcmp_sse4);
-    RETURN_FUNC(memcmp_func, memcmp_generic);
+  __builtin_cpu_init();
+  if (__builtin_cpu_supports("sse4.1")) RETURN_FUNC(memcmp_func_t, memcmp_sse4);
+  RETURN_FUNC(memcmp_func_t, memcmp_atom);
 }
-
-typedef void* memset_func(void* __dst, int __ch, size_t __n);
-DEFINE_IFUNC_FOR(memset) {
-    __builtin_cpu_init();
-    if (__builtin_cpu_is("atom")) RETURN_FUNC(memset_func, memset_atom);
-    RETURN_FUNC(memset_func, memset_generic);
-}
-
-typedef void* __memset_chk_func(void *s, int c, size_t n, size_t n2);
-DEFINE_IFUNC_FOR(__memset_chk) {
-    __builtin_cpu_init();
-    if (__builtin_cpu_is("atom")) RETURN_FUNC(__memset_chk_func, __memset_chk_atom);
-    RETURN_FUNC(__memset_chk_func, __memset_chk_generic);
-}
-
-typedef void* memmove_func(void* __dst, const void* __src, size_t __n);
-DEFINE_IFUNC_FOR(memmove) {
-    __builtin_cpu_init();
-    if (__builtin_cpu_is("atom")) RETURN_FUNC(memmove_func, memmove_atom);
-    RETURN_FUNC(memmove_func, memmove_generic);
-}
-
-typedef void* memcpy_func(void*, const void*, size_t);
-DEFINE_IFUNC_FOR(memcpy) {
-    return memmove_resolver();
-}
-
-typedef char* strcpy_func(char* __dst, const char* __src);
-DEFINE_IFUNC_FOR(strcpy) {
-    __builtin_cpu_init();
-    if (__builtin_cpu_is("atom")) RETURN_FUNC(strcpy_func, strcpy_atom);
-    RETURN_FUNC(strcpy_func, strcpy_generic);
-}
-
-typedef char* strncpy_func(char* __dst, const char* __src, size_t __n);
-DEFINE_IFUNC_FOR(strncpy) {
-    __builtin_cpu_init();
-    if (__builtin_cpu_is("atom")) RETURN_FUNC(strncpy_func, strncpy_atom);
-    RETURN_FUNC(strncpy_func, strncpy_generic);
-}
-
-typedef size_t strlen_func(const char* __s);
-DEFINE_IFUNC_FOR(strlen) {
-    __builtin_cpu_init();
-    if (__builtin_cpu_is("atom")) RETURN_FUNC(strlen_func, strlen_atom);
-    RETURN_FUNC(strlen_func, strlen_generic);
-}
-
-typedef int wmemcmp_func(const wchar_t* __lhs, const wchar_t* __rhs, size_t __n);
-DEFINE_IFUNC_FOR(wmemcmp) {
-    __builtin_cpu_init();
-    if (__builtin_cpu_supports("sse4.1")) RETURN_FUNC(wmemcmp_func, wmemcmp_sse4);
-    if (__builtin_cpu_is("atom")) RETURN_FUNC(wmemcmp_func, wmemcmp_atom);
-    RETURN_FUNC(wmemcmp_func, wmemcmp_freebsd);
-}
-
-typedef int strcmp_func(const char* __lhs, const char* __rhs);
-DEFINE_IFUNC_FOR(strcmp) {
-    __builtin_cpu_init();
-    if (__builtin_cpu_supports("ssse3")) RETURN_FUNC(strcmp_func, strcmp_ssse3);
-    RETURN_FUNC(strcmp_func, strcmp_generic);
-}
-
-typedef int strncmp_func(const char* __lhs, const char* __rhs, size_t __n);
-DEFINE_IFUNC_FOR(strncmp) {
-    __builtin_cpu_init();
-    if (__builtin_cpu_supports("ssse3")) RETURN_FUNC(strncmp_func, strncmp_ssse3);
-    RETURN_FUNC(strncmp_func, strncmp_generic);
-}
-
-typedef char* strcat_func(char* __dst, const char* __src);
-DEFINE_IFUNC_FOR(strcat) {
-    __builtin_cpu_init();
-    if (__builtin_cpu_supports("ssse3")) RETURN_FUNC(strcat_func, strcat_ssse3);
-    RETURN_FUNC(strcat_func, strcat_generic);
-}
-
-typedef char* strncat_func(char* __dst, const char* __src, size_t __n);
-DEFINE_IFUNC_FOR(strncat) {
-    __builtin_cpu_init();
-    if (__builtin_cpu_supports("ssse3")) RETURN_FUNC(strncat_func, strncat_ssse3);
-    RETURN_FUNC(strncat_func, strncat_openbsd);
-}
-
-typedef size_t strlcat_func(char *dst, const char *src, size_t dsize);
-DEFINE_IFUNC_FOR(strlcat) {
-    __builtin_cpu_init();
-    if (__builtin_cpu_supports("ssse3")) RETURN_FUNC(strlcat_func, strlcat_ssse3);
-    RETURN_FUNC(strlcat_func, strlcat_openbsd);
-}
-
-typedef size_t strlcpy_func(char *dst, const char *src, size_t dsize);
-DEFINE_IFUNC_FOR(strlcpy) {
-    __builtin_cpu_init();
-    if (__builtin_cpu_supports("ssse3")) RETURN_FUNC(strlcpy_func, strlcpy_ssse3);
-    RETURN_FUNC(strlcpy_func, strlcpy_openbsd);
-}
-
-typedef wchar_t* wcscat_func(wchar_t *s1, const wchar_t *s2);
-DEFINE_IFUNC_FOR(wcscat) {
-    __builtin_cpu_init();
-    if (__builtin_cpu_supports("ssse3")) RETURN_FUNC(wcscat_func, wcscat_ssse3);
-    RETURN_FUNC(wcscat_func, wcscat_freebsd);
-}
-
-typedef wchar_t* wcscpy_func(wchar_t *s1, const wchar_t *s2);
-DEFINE_IFUNC_FOR(wcscpy) {
-    __builtin_cpu_init();
-    if (__builtin_cpu_supports("ssse3")) RETURN_FUNC(wcscpy_func, wcscpy_ssse3);
-    RETURN_FUNC(wcscpy_func, wcscpy_freebsd);
-}
+MEMCMP_SHIM()
 
 }  // extern "C"
diff --git a/libc/arch-x86/generic/string/memcmp.S b/libc/arch-x86/generic/string/memcmp.S
deleted file mode 100644
index 1d327c7..0000000
--- a/libc/arch-x86/generic/string/memcmp.S
+++ /dev/null
@@ -1,44 +0,0 @@
-/*	$OpenBSD: memcmp.S,v 1.4 2005/08/07 11:30:38 espie Exp $ */
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- */
-
-#include <private/bionic_asm.h>
-
-ENTRY(memcmp_generic)
-	pushl	%edi
-	pushl	%esi
-	movl	12(%esp),%edi
-	movl	16(%esp),%esi
-	cld				/* set compare direction forward */
-
-	movl	20(%esp),%ecx		/* compare by words */
-	shrl	$2,%ecx
-	repe
-	cmpsl
-	jne	L5			/* do we match so far? */
-
-	movl	20(%esp),%ecx		/* compare remainder by bytes */
-	andl	$3,%ecx
-	repe
-	cmpsb
-	jne	L6			/* do we match? */
-
-	xorl	%eax,%eax		/* we match, return zero	*/
-	popl	%esi
-	popl	%edi
-	ret
-
-L5:	movl	$4,%ecx			/* We know that one of the next	*/
-	subl	%ecx,%edi		/* four pairs of bytes do not	*/
-	subl	%ecx,%esi		/* match.			*/
-	repe
-	cmpsb
-L6:	movzbl  -1(%edi),%eax		/* Perform unsigned comparison	*/
-	movzbl	-1(%esi),%edx
-	subl	%edx,%eax
-	popl	%esi
-	popl	%edi
-	ret
-END(memcmp_generic)
diff --git a/libc/arch-x86/generic/string/strcat.S b/libc/arch-x86/generic/string/strcat.S
deleted file mode 100644
index e2e9623..0000000
--- a/libc/arch-x86/generic/string/strcat.S
+++ /dev/null
@@ -1,74 +0,0 @@
-/*	$OpenBSD: strcat.S,v 1.8 2005/08/07 11:30:38 espie Exp $ */
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- */
-
-#include <private/bionic_asm.h>
-
-#if defined(APIWARN)
-#APP
-	.section .gnu.warning.strcat
-	.ascii "warning: strcat() is almost always misused, please use strlcat()"
-#NO_APP
-#endif
-
-/*
- * NOTE: I've unrolled the loop eight times: large enough to make a
- * significant difference, and small enough not to totally trash the
- * cache.
- */
-
-ENTRY(strcat_generic)
-	pushl	%edi			/* save edi */
-	movl	8(%esp),%edi		/* dst address */
-	movl	12(%esp),%edx		/* src address */
-	pushl	%edi			/* push destination address */
-
-	cld				/* set search forward */
-	xorl	%eax,%eax		/* set search for null terminator */
-	movl	$-1,%ecx		/* set search for lots of characters */
-	repne				/* search! */
-	scasb
-
-	leal	-1(%edi),%ecx		/* correct dst address */
-
-	.align 2,0x90
-L1:	movb	(%edx),%al		/* unroll loop, but not too much */
-	movb	%al,(%ecx)
-	testb	%al,%al
-	jz	L2
-	movb	1(%edx),%al
-	movb	%al,1(%ecx)
-	testb	%al,%al
-	jz	L2
-	movb	2(%edx),%al
-	movb	%al,2(%ecx)
-	testb	%al,%al
-	jz	L2
-	movb	3(%edx),%al
-	movb	%al,3(%ecx)
-	testb	%al,%al
-	jz	L2
-	movb	4(%edx),%al
-	movb	%al,4(%ecx)
-	testb	%al,%al
-	jz	L2
-	movb	5(%edx),%al
-	movb	%al,5(%ecx)
-	testb	%al,%al
-	jz	L2
-	movb	6(%edx),%al
-	movb	%al,6(%ecx)
-	testb	%al,%al
-	jz	L2
-	movb	7(%edx),%al
-	movb	%al,7(%ecx)
-	addl	$8,%edx
-	addl	$8,%ecx
-	testb	%al,%al
-	jnz	L1
-L2:	popl	%eax			/* pop destination address */
-	popl	%edi			/* restore edi */
-	ret
-END(strcat_generic)
diff --git a/libc/arch-x86/generic/string/strcmp.S b/libc/arch-x86/generic/string/strcmp.S
deleted file mode 100644
index 7b003e8..0000000
--- a/libc/arch-x86/generic/string/strcmp.S
+++ /dev/null
@@ -1,82 +0,0 @@
-/*	$OpenBSD: strcmp.S,v 1.3 2005/08/07 11:30:38 espie Exp $ */
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- */
-
-#include <private/bionic_asm.h>
-
-/*
- * NOTE: I've unrolled the loop eight times: large enough to make a
- * significant difference, and small enough not to totally trash the
- * cache.
- */
-
-ENTRY(strcmp_generic)
-	movl	0x04(%esp),%eax
-	movl	0x08(%esp),%edx
-	jmp	L2			/* Jump into the loop! */
-
-	.align	2,0x90
-L1:	incl	%eax
-	incl	%edx
-L2:	movb	(%eax),%cl
-	testb	%cl,%cl			/* null terminator??? */
-	jz	L3
-	cmpb	%cl,(%edx)		/* chars match??? */
-	jne	L3
-	incl	%eax
-	incl	%edx
-	movb	(%eax),%cl
-	testb	%cl,%cl
-	jz	L3
-	cmpb	%cl,(%edx)
-	jne	L3
-	incl	%eax
-	incl	%edx
-	movb	(%eax),%cl
-	testb	%cl,%cl
-	jz	L3
-	cmpb	%cl,(%edx)
-	jne	L3
-	incl	%eax
-	incl	%edx
-	movb	(%eax),%cl
-	testb	%cl,%cl
-	jz	L3
-	cmpb	%cl,(%edx)
-	jne	L3
-	incl	%eax
-	incl	%edx
-	movb	(%eax),%cl
-	testb	%cl,%cl
-	jz	L3
-	cmpb	%cl,(%edx)
-	jne	L3
-	incl	%eax
-	incl	%edx
-	movb	(%eax),%cl
-	testb	%cl,%cl
-	jz	L3
-	cmpb	%cl,(%edx)
-	jne	L3
-	incl	%eax
-	incl	%edx
-	movb	(%eax),%cl
-	testb	%cl,%cl
-	jz	L3
-	cmpb	%cl,(%edx)
-	jne	L3
-	incl	%eax
-	incl	%edx
-	movb	(%eax),%cl
-	testb	%cl,%cl
-	jz	L3
-	cmpb	%cl,(%edx)
-	je	L1
-	.align 2, 0x90
-L3:	movzbl	(%eax),%eax		/* unsigned comparison */
-	movzbl	(%edx),%edx
-	subl	%edx,%eax
-	ret
-END(strcmp_generic)
diff --git a/libc/arch-x86/generic/string/strlcat.c b/libc/arch-x86/generic/string/strlcat.c
deleted file mode 100644
index 95c34a3..0000000
--- a/libc/arch-x86/generic/string/strlcat.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <upstream-openbsd/android/include/openbsd-compat.h>
-
-#define strlcat strlcat_openbsd
-#include <upstream-openbsd/lib/libc/string/strlcat.c>
diff --git a/libc/arch-x86/generic/string/strlcpy.c b/libc/arch-x86/generic/string/strlcpy.c
deleted file mode 100644
index 8d4047c..0000000
--- a/libc/arch-x86/generic/string/strlcpy.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <upstream-openbsd/android/include/openbsd-compat.h>
-
-#define strlcpy strlcpy_openbsd
-#include <upstream-openbsd/lib/libc/string/strlcpy.c>
diff --git a/libc/arch-x86/generic/string/strncmp.S b/libc/arch-x86/generic/string/strncmp.S
deleted file mode 100644
index 6d9f23c..0000000
--- a/libc/arch-x86/generic/string/strncmp.S
+++ /dev/null
@@ -1,114 +0,0 @@
-/*	$OpenBSD: strncmp.S,v 1.3 2005/08/07 11:30:38 espie Exp $ */
-/*
- * Written by J.T. Conklin <jtc@netbsd.org>.
- * Public domain.
- */
-
-#include <private/bionic_asm.h>
-
-/*
- * NOTE: I've unrolled the loop eight times: large enough to make a
- * significant difference, and small enough not to totally trash the
- * cache.
- */
-
-ENTRY(strncmp_generic)
-	pushl	%ebx
-	movl	8(%esp),%eax
-	movl	12(%esp),%ecx
-	movl	16(%esp),%edx
-	testl	%edx,%edx
-	jmp	L2			/* Jump into the loop! */
-
-	.align 2,0x90
-L1:	incl	%eax
-	incl	%ecx
-	decl	%edx
-L2:	jz	L4			/* strings are equal */
-	movb	(%eax),%bl
-	testb	%bl,%bl
-	jz	L3
-	cmpb	%bl,(%ecx)
-	jne	L3
-
-	incl	%eax
-	incl	%ecx
-	decl	%edx
-	jz	L4
-	movb	(%eax),%bl
-	testb	%bl,%bl
-	jz	L3
-	cmpb	%bl,(%ecx)
-	jne	L3
-
-	incl	%eax
-	incl	%ecx
-	decl	%edx
-	jz	L4
-	movb	(%eax),%bl
-	testb	%bl,%bl
-	jz	L3
-	cmpb	%bl,(%ecx)
-	jne	L3
-
-	incl	%eax
-	incl	%ecx
-	decl	%edx
-	jz	L4
-	movb	(%eax),%bl
-	testb	%bl,%bl
-	jz	L3
-	cmpb	%bl,(%ecx)
-	jne	L3
-
-	incl	%eax
-	incl	%ecx
-	decl	%edx
-	jz	L4
-	movb	(%eax),%bl
-	testb	%bl,%bl
-	jz	L3
-	cmpb	%bl,(%ecx)
-	jne	L3
-
-	incl	%eax
-	incl	%ecx
-	decl	%edx
-	jz	L4
-	movb	(%eax),%bl
-	testb	%bl,%bl
-	jz	L3
-	cmpb	%bl,(%ecx)
-	jne	L3
-
-	incl	%eax
-	incl	%ecx
-	decl	%edx
-	jz	L4
-	movb	(%eax),%bl
-	testb	%bl,%bl
-	jz	L3
-	cmpb	%bl,(%ecx)
-	jne	L3
-
-	incl	%eax
-	incl	%ecx
-	decl	%edx
-	jz	L4
-	movb	(%eax),%bl
-	testb	%bl,%bl
-	jz	L3
-	cmpb	%bl,(%ecx)
-	je	L1
-
-	.align 2,0x90
-L3:	movzbl	(%eax),%eax		/* unsigned comparision */
-	movzbl	(%ecx),%ecx
-	subl	%ecx,%eax
-	popl	%ebx
-	ret
-	.align 2,0x90
-L4:	xorl	%eax,%eax
-	popl	%ebx
-	ret
-END(strncmp_generic)
diff --git a/libc/arch-x86/generic/string/wcscat.c b/libc/arch-x86/generic/string/wcscat.c
deleted file mode 100644
index a102551..0000000
--- a/libc/arch-x86/generic/string/wcscat.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#define wcscat wcscat_freebsd
-#include <upstream-freebsd/lib/libc/string/wcscat.c>
diff --git a/libc/arch-x86/generic/string/wcscpy.c b/libc/arch-x86/generic/string/wcscpy.c
deleted file mode 100644
index 10fb66d..0000000
--- a/libc/arch-x86/generic/string/wcscpy.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#define wcscpy wcscpy_freebsd
-#include <upstream-freebsd/lib/libc/string/wcscpy.c>
diff --git a/libc/arch-x86/generic/string/wmemcmp.c b/libc/arch-x86/generic/string/wmemcmp.c
deleted file mode 100644
index 9d5e929..0000000
--- a/libc/arch-x86/generic/string/wmemcmp.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#define wmemcmp wmemcmp_freebsd
-#include <upstream-freebsd/lib/libc/string/wmemcmp.c>
diff --git a/libc/arch-x86/static_function_dispatch.S b/libc/arch-x86/static_function_dispatch.S
deleted file mode 100644
index 7e8e63d..0000000
--- a/libc/arch-x86/static_function_dispatch.S
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <private/bionic_asm.h>
-
-#define FUNCTION_DELEGATE(name, impl) \
-ENTRY(name); \
-    jmp impl; \
-END(name)
-
-FUNCTION_DELEGATE(memcmp, memcmp_generic)
-FUNCTION_DELEGATE(memset, memset_generic)
-FUNCTION_DELEGATE(__memset_chk, __memset_chk_generic)
-FUNCTION_DELEGATE(memcpy, memmove_generic)
-FUNCTION_DELEGATE(memmove, memmove_generic)
-FUNCTION_DELEGATE(strcpy, strcpy_generic)
-FUNCTION_DELEGATE(strncpy, strncpy_generic)
-FUNCTION_DELEGATE(strlen, strlen_generic)
-FUNCTION_DELEGATE(strcmp, strcmp_generic)
-FUNCTION_DELEGATE(strncmp, strncmp_generic)
-FUNCTION_DELEGATE(strcat, strcat_generic)
-FUNCTION_DELEGATE(wmemcmp, wmemcmp_freebsd)
-FUNCTION_DELEGATE(wcscat, wcscat_freebsd)
-FUNCTION_DELEGATE(strncat, strncat_openbsd)
-FUNCTION_DELEGATE(strlcat, strlcat_openbsd)
-FUNCTION_DELEGATE(strlcpy, strlcpy_openbsd)
-FUNCTION_DELEGATE(wcscpy, wcscpy_freebsd)
diff --git a/libc/arch-x86/string/cache.h b/libc/arch-x86/string/cache.h
deleted file mode 100644
index 33719a0..0000000
--- a/libc/arch-x86/string/cache.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-Copyright (c) 2010, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifdef FOR_ATOM
-#define SHARED_CACHE_SIZE (512 * 1024) /* Atom L2 Cache */
-#endif
-#ifdef FOR_SILVERMONT
-#define SHARED_CACHE_SIZE (1024 * 1024) /* Silvermont L2 Cache */
-#endif
-
-#define DATA_CACHE_SIZE (24 * 1024) /* Atom and Silvermont L1 Data Cache */
-
-#define SHARED_CACHE_SIZE_HALF (SHARED_CACHE_SIZE / 2)
-#define DATA_CACHE_SIZE_HALF (DATA_CACHE_SIZE / 2)
diff --git a/libc/arch-x86/string/sse2-memmove-slm.S b/libc/arch-x86/string/sse2-memmove-slm.S
index 79b5d1b..2ed4e7b 100644
--- a/libc/arch-x86/string/sse2-memmove-slm.S
+++ b/libc/arch-x86/string/sse2-memmove-slm.S
@@ -29,10 +29,9 @@
 */
 
 #define FOR_SILVERMONT
-#include "cache.h"
 
 #ifndef MEMMOVE
-# define MEMMOVE	memmove_generic
+# define MEMMOVE	memmove
 #endif
 
 #ifndef L
@@ -94,6 +93,8 @@
 #define RETURN_END	POP (%ebx); ret
 #define RETURN		RETURN_END; CFI_PUSH (%ebx)
 
+#define SETUP_PIC_REG(x)	call	__x86.get_pc_thunk.x
+
 	.section .text.sse2,"ax",@progbits
 ENTRY (MEMMOVE)
 	ENTRANCE
@@ -193,7 +194,13 @@
 	cmp	%edi, %ebx
 	jbe	L(mm_copy_remaining_forward)
 
-	cmp	$SHARED_CACHE_SIZE_HALF, %ecx
+	PUSH(%ebx)
+	SETUP_PIC_REG(bx)
+	add	$_GLOBAL_OFFSET_TABLE_, %ebx
+	cmp	__x86_shared_cache_size_half@GOTOFF(%ebx), %ecx
+	/* Restore ebx. We can place a pop before jump as it doesn't affect any flags. */
+	POP(%ebx)
+
 	jae	L(mm_large_page_loop_forward)
 
 	.p2align 4
@@ -424,7 +431,13 @@
 	cmp	%edi, %ebx
 	jae	L(mm_main_loop_backward_end)
 
-	cmp	$SHARED_CACHE_SIZE_HALF, %ecx
+	PUSH(%ebx)
+	SETUP_PIC_REG(bx)
+	add	$_GLOBAL_OFFSET_TABLE_, %ebx
+	cmp	__x86_shared_cache_size_half@GOTOFF(%ebx), %ecx
+	/* Restore ebx. We can place a pop before jump as it doesn't affect any flags. */
+	POP(%ebx)
+
 	jae	L(mm_large_page_loop_backward)
 
 	.p2align 4
@@ -538,3 +551,9 @@
 	jmp	L(mm_recalc_len)
 
 END (MEMMOVE)
+
+// N.B., `private/bionic_asm.h` provides ALIAS_SYMBOL, but that file provides
+// conflicting definitions for some macros in this file. Since ALIAS_SYMBOL is
+// small, inline it here.
+.globl memcpy;
+.equ memcpy, MEMMOVE
diff --git a/libc/arch-x86/string/sse2-memrchr-atom.S b/libc/arch-x86/string/sse2-memrchr-atom.S
deleted file mode 100644
index 1aa1a1a..0000000
--- a/libc/arch-x86/string/sse2-memrchr-atom.S
+++ /dev/null
@@ -1,778 +0,0 @@
-/*
-Copyright (c) 2011, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef L
-# define L(label)	.L##label
-#endif
-
-#ifndef cfi_startproc
-# define cfi_startproc	.cfi_startproc
-#endif
-
-#ifndef cfi_endproc
-# define cfi_endproc	.cfi_endproc
-#endif
-
-#ifndef cfi_rel_offset
-# define cfi_rel_offset(reg, off)	.cfi_rel_offset reg, off
-#endif
-
-#ifndef cfi_restore
-# define cfi_restore(reg)	.cfi_restore reg
-#endif
-
-#ifndef cfi_adjust_cfa_offset
-# define cfi_adjust_cfa_offset(off)	.cfi_adjust_cfa_offset off
-#endif
-
-#ifndef ENTRY
-# define ENTRY(name)	\
-	.type name,  @function;	\
-	.globl name;	\
-	.p2align 4;	\
-name:	\
-	cfi_startproc
-#endif
-
-#ifndef END
-# define END(name)	\
-	cfi_endproc;	\
-	.size name,	.-name
-#endif
-
-#define CFI_PUSH(REG)	\
-	cfi_adjust_cfa_offset (4);	\
-	cfi_rel_offset (REG, 0)
-
-#define CFI_POP(REG)	\
-	cfi_adjust_cfa_offset (-4);	\
-	cfi_restore (REG)
-
-#define PUSH(REG) pushl REG; CFI_PUSH (REG)
-#define POP(REG) popl REG; CFI_POP (REG)
-
-#define PARMS  4
-#define STR1  PARMS
-#define STR2  STR1+4
-#define LEN   STR2+4
-
-	.text
-ENTRY (memrchr)
-	mov	STR1(%esp), %ecx
-	movd	STR2(%esp), %xmm1
-	mov	LEN(%esp), %edx
-
-	test	%edx, %edx
-	jz	L(return_null)
-	sub	$16, %edx
-	jbe	L(length_less16)
-
-	punpcklbw %xmm1, %xmm1
-	add	%edx, %ecx
-	punpcklbw %xmm1, %xmm1
-
-	movdqu	(%ecx), %xmm0
-	pshufd	$0, %xmm1, %xmm1
-	pcmpeqb	%xmm1, %xmm0
-
-	pmovmskb %xmm0, %eax
-	test	%eax, %eax
-	jnz	L(exit_dispatch)
-
-	sub	$64, %ecx
-	mov	%ecx, %eax
-	and	$15, %eax
-	jz	L(loop_prolog)
-
-	add	$16, %ecx
-	add	$16, %edx
-	and	$-16, %ecx
-	sub	%eax, %edx
-
-	.p2align 4
-/* Loop start on aligned string.  */
-L(loop_prolog):
-	sub	$64, %edx
-	jbe	L(exit_loop)
-
-	movdqa	48(%ecx), %xmm0
-	pcmpeqb	%xmm1, %xmm0
-	pmovmskb %xmm0, %eax
-	test	%eax, %eax
-	jnz	L(matches48)
-
-	movdqa	32(%ecx), %xmm2
-	pcmpeqb	%xmm1, %xmm2
-	pmovmskb %xmm2, %eax
-	test	%eax, %eax
-	jnz	L(matches32)
-
-	movdqa	16(%ecx), %xmm3
-	pcmpeqb	%xmm1, %xmm3
-	pmovmskb %xmm3, %eax
-	test	%eax, %eax
-	jnz	L(matches16)
-
-	movdqa	(%ecx), %xmm4
-	pcmpeqb	%xmm1, %xmm4
-	pmovmskb %xmm4, %eax
-	test	%eax, %eax
-	jnz	L(exit_dispatch)
-
-	sub	$64, %ecx
-	sub	$64, %edx
-	jbe	L(exit_loop)
-
-	movdqa	48(%ecx), %xmm0
-	pcmpeqb	%xmm1, %xmm0
-	pmovmskb %xmm0, %eax
-	test	%eax, %eax
-	jnz	L(matches48)
-
-	movdqa	32(%ecx), %xmm2
-	pcmpeqb	%xmm1, %xmm2
-	pmovmskb %xmm2, %eax
-	test	%eax, %eax
-	jnz	L(matches32)
-
-	movdqa	16(%ecx), %xmm3
-	pcmpeqb	%xmm1, %xmm3
-	pmovmskb %xmm3, %eax
-	test	%eax, %eax
-	jnz	L(matches16)
-
-	movdqa	(%ecx), %xmm3
-	pcmpeqb	%xmm1, %xmm3
-	pmovmskb %xmm3, %eax
-	test	%eax, %eax
-	jnz	L(exit_dispatch)
-
-	mov	%ecx, %eax
-	and	$63, %eax
-	test	%eax, %eax
-	jz	L(align64_loop)
-
-	add	$64, %ecx
-	add	$64, %edx
-	and	$-64, %ecx
-	sub	%eax, %edx
-
-	.p2align 4
-L(align64_loop):
-	sub	$64, %ecx
-	sub	$64, %edx
-	jbe	L(exit_loop)
-
-	movdqa	(%ecx), %xmm0
-	movdqa	16(%ecx), %xmm2
-	movdqa	32(%ecx), %xmm3
-	movdqa	48(%ecx), %xmm4
-
-	pcmpeqb	%xmm1, %xmm0
-	pcmpeqb	%xmm1, %xmm2
-	pcmpeqb	%xmm1, %xmm3
-	pcmpeqb	%xmm1, %xmm4
-
-	pmaxub	%xmm3, %xmm0
-	pmaxub	%xmm4, %xmm2
-	pmaxub	%xmm0, %xmm2
-	pmovmskb %xmm2, %eax
-
-	test	%eax, %eax
-	jz	L(align64_loop)
-
-	pmovmskb %xmm4, %eax
-	test	%eax, %eax
-	jnz	L(matches48)
-
-	pmovmskb %xmm3, %eax
-	test	%eax, %eax
-	jnz	L(matches32)
-
-	movdqa	16(%ecx), %xmm2
-
-	pcmpeqb	%xmm1, %xmm2
-	pcmpeqb	(%ecx), %xmm1
-
-	pmovmskb %xmm2, %eax
-	test	%eax, %eax
-	jnz	L(matches16)
-
-	pmovmskb %xmm1, %eax
-	test	%ah, %ah
-	jnz	L(exit_dispatch_high)
-	mov	%al, %dl
-	and	$15 << 4, %dl
-	jnz	L(exit_dispatch_8)
-	test	$0x08, %al
-	jnz	L(exit_4)
-	test	$0x04, %al
-	jnz	L(exit_3)
-	test	$0x02, %al
-	jnz	L(exit_2)
-	mov	%ecx, %eax
-	ret
-
-	.p2align 4
-L(exit_loop):
-	add	$64, %edx
-	cmp	$32, %edx
-	jbe	L(exit_loop_32)
-
-	movdqa	48(%ecx), %xmm0
-	pcmpeqb	%xmm1, %xmm0
-	pmovmskb %xmm0, %eax
-	test	%eax, %eax
-	jnz	L(matches48)
-
-	movdqa	32(%ecx), %xmm2
-	pcmpeqb	%xmm1, %xmm2
-	pmovmskb %xmm2, %eax
-	test	%eax, %eax
-	jnz	L(matches32)
-
-	movdqa	16(%ecx), %xmm3
-	pcmpeqb	%xmm1, %xmm3
-	pmovmskb %xmm3, %eax
-	test	%eax, %eax
-	jnz	L(matches16_1)
-	cmp	$48, %edx
-	jbe	L(return_null)
-
-	pcmpeqb	(%ecx), %xmm1
-	pmovmskb %xmm1, %eax
-	test	%eax, %eax
-	jnz	L(matches0_1)
-	xor	%eax, %eax
-	ret
-
-	.p2align 4
-L(exit_loop_32):
-	movdqa	48(%ecx), %xmm0
-	pcmpeqb	%xmm1, %xmm0
-	pmovmskb %xmm0, %eax
-	test	%eax, %eax
-	jnz	L(matches48_1)
-	cmp	$16, %edx
-	jbe	L(return_null)
-
-	pcmpeqb	32(%ecx), %xmm1
-	pmovmskb %xmm1, %eax
-	test	%eax, %eax
-	jnz	L(matches32_1)
-	xor	%eax, %eax
-	ret
-
-	.p2align 4
-L(matches16):
-	lea	16(%ecx), %ecx
-	test	%ah, %ah
-	jnz	L(exit_dispatch_high)
-	mov	%al, %dl
-	and	$15 << 4, %dl
-	jnz	L(exit_dispatch_8)
-	test	$0x08, %al
-	jnz	L(exit_4)
-	test	$0x04, %al
-	jnz	L(exit_3)
-	test	$0x02, %al
-	jnz	L(exit_2)
-	mov	%ecx, %eax
-	ret
-
-	.p2align 4
-L(matches32):
-	lea	32(%ecx), %ecx
-	test	%ah, %ah
-	jnz	L(exit_dispatch_high)
-	mov	%al, %dl
-	and	$15 << 4, %dl
-	jnz	L(exit_dispatch_8)
-	test	$0x08, %al
-	jnz	L(exit_4)
-	test	$0x04, %al
-	jnz	L(exit_3)
-	test	$0x02, %al
-	jnz	L(exit_2)
-	mov	%ecx, %eax
-	ret
-
-	.p2align 4
-L(matches48):
-	lea	48(%ecx), %ecx
-
-	.p2align 4
-L(exit_dispatch):
-	test	%ah, %ah
-	jnz	L(exit_dispatch_high)
-	mov	%al, %dl
-	and	$15 << 4, %dl
-	jnz	L(exit_dispatch_8)
-	test	$0x08, %al
-	jnz	L(exit_4)
-	test	$0x04, %al
-	jnz	L(exit_3)
-	test	$0x02, %al
-	jnz	L(exit_2)
-	mov	%ecx, %eax
-	ret
-
-	.p2align 4
-L(exit_dispatch_8):
-	test	$0x80, %al
-	jnz	L(exit_8)
-	test	$0x40, %al
-	jnz	L(exit_7)
-	test	$0x20, %al
-	jnz	L(exit_6)
-	lea	4(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_dispatch_high):
-	mov	%ah, %dh
-	and	$15 << 4, %dh
-	jnz	L(exit_dispatch_high_8)
-	test	$0x08, %ah
-	jnz	L(exit_12)
-	test	$0x04, %ah
-	jnz	L(exit_11)
-	test	$0x02, %ah
-	jnz	L(exit_10)
-	lea	8(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_dispatch_high_8):
-	test	$0x80, %ah
-	jnz	L(exit_16)
-	test	$0x40, %ah
-	jnz	L(exit_15)
-	test	$0x20, %ah
-	jnz	L(exit_14)
-	lea	12(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_2):
-	lea	1(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_3):
-	lea	2(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_4):
-	lea	3(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_6):
-	lea	5(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_7):
-	lea	6(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_8):
-	lea	7(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_10):
-	lea	9(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_11):
-	lea	10(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_12):
-	lea	11(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_14):
-	lea	13(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_15):
-	lea	14(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_16):
-	lea	15(%ecx), %eax
-	ret
-
-	.p2align 4
-L(matches0_1):
-	lea	-64(%edx), %edx
-
-	test	%ah, %ah
-	jnz	L(exit_dispatch_1_high)
-	mov	%al, %ah
-	and	$15 << 4, %ah
-	jnz	L(exit_dispatch_1_8)
-	test	$0x08, %al
-	jnz	L(exit_1_4)
-	test	$0x04, %al
-	jnz	L(exit_1_3)
-	test	$0x02, %al
-	jnz	L(exit_1_2)
-
-	add	$0, %edx
-	jl	L(return_null)
-	mov	%ecx, %eax
-	ret
-
-	.p2align 4
-L(matches16_1):
-	lea	-48(%edx), %edx
-	lea	16(%ecx), %ecx
-
-	test	%ah, %ah
-	jnz	L(exit_dispatch_1_high)
-	mov	%al, %ah
-	and	$15 << 4, %ah
-	jnz	L(exit_dispatch_1_8)
-	test	$0x08, %al
-	jnz	L(exit_1_4)
-	test	$0x04, %al
-	jnz	L(exit_1_3)
-	test	$0x02, %al
-	jnz	L(exit_1_2)
-
-	add	$0, %edx
-	jl	L(return_null)
-	mov	%ecx, %eax
-	ret
-
-	.p2align 4
-L(matches32_1):
-	lea	-32(%edx), %edx
-	lea	32(%ecx), %ecx
-
-	test	%ah, %ah
-	jnz	L(exit_dispatch_1_high)
-	mov	%al, %ah
-	and	$15 << 4, %ah
-	jnz	L(exit_dispatch_1_8)
-	test	$0x08, %al
-	jnz	L(exit_1_4)
-	test	$0x04, %al
-	jnz	L(exit_1_3)
-	test	$0x02, %al
-	jnz	L(exit_1_2)
-
-	add	$0, %edx
-	jl	L(return_null)
-	mov	%ecx, %eax
-	ret
-
-	.p2align 4
-L(matches48_1):
-	lea	-16(%edx), %edx
-	lea	48(%ecx), %ecx
-
-	.p2align 4
-L(exit_dispatch_1):
-	test	%ah, %ah
-	jnz	L(exit_dispatch_1_high)
-	mov	%al, %ah
-	and	$15 << 4, %ah
-	jnz	L(exit_dispatch_1_8)
-	test	$0x08, %al
-	jnz	L(exit_1_4)
-	test	$0x04, %al
-	jnz	L(exit_1_3)
-	test	$0x02, %al
-	jnz	L(exit_1_2)
-
-	add	$0, %edx
-	jl	L(return_null)
-	mov	%ecx, %eax
-	ret
-
-	.p2align 4
-L(exit_dispatch_1_8):
-	test	$0x80, %al
-	jnz	L(exit_1_8)
-	test	$0x40, %al
-	jnz	L(exit_1_7)
-	test	$0x20, %al
-	jnz	L(exit_1_6)
-
-	add	$4, %edx
-	jl	L(return_null)
-	lea	4(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_dispatch_1_high):
-	mov	%ah, %al
-	and	$15 << 4, %al
-	jnz	L(exit_dispatch_1_high_8)
-	test	$0x08, %ah
-	jnz	L(exit_1_12)
-	test	$0x04, %ah
-	jnz	L(exit_1_11)
-	test	$0x02, %ah
-	jnz	L(exit_1_10)
-
-	add	$8, %edx
-	jl	L(return_null)
-	lea	8(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_dispatch_1_high_8):
-	test	$0x80, %ah
-	jnz	L(exit_1_16)
-	test	$0x40, %ah
-	jnz	L(exit_1_15)
-	test	$0x20, %ah
-	jnz	L(exit_1_14)
-
-	add	$12, %edx
-	jl	L(return_null)
-	lea	12(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_1_2):
-	add	$1, %edx
-	jl	L(return_null)
-	lea	1(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_1_3):
-	add	$2, %edx
-	jl	L(return_null)
-	lea	2(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_1_4):
-	add	$3, %edx
-	jl	L(return_null)
-	lea	3(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_1_6):
-	add	$5, %edx
-	jl	L(return_null)
-	lea	5(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_1_7):
-	add	$6, %edx
-	jl	L(return_null)
-	lea	6(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_1_8):
-	add	$7, %edx
-	jl	L(return_null)
-	lea	7(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_1_10):
-	add	$9, %edx
-	jl	L(return_null)
-	lea	9(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_1_11):
-	add	$10, %edx
-	jl	L(return_null)
-	lea	10(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_1_12):
-	add	$11, %edx
-	jl	L(return_null)
-	lea	11(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_1_14):
-	add	$13, %edx
-	jl	L(return_null)
-	lea	13(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_1_15):
-	add	$14, %edx
-	jl	L(return_null)
-	lea	14(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit_1_16):
-	add	$15, %edx
-	jl	L(return_null)
-	lea	15(%ecx), %eax
-	ret
-
-	.p2align 4
-L(return_null):
-	xor	%eax, %eax
-	ret
-
-	.p2align 4
-L(length_less16_offset0):
-	mov	%dl, %cl
-	pcmpeqb	(%eax), %xmm1
-
-	mov	$1, %edx
-	sal	%cl, %edx
-	sub	$1, %edx
-
-	mov	%eax, %ecx
-	pmovmskb %xmm1, %eax
-
-	and	%edx, %eax
-	test	%eax, %eax
-	jnz	L(exit_dispatch)
-
-	xor	%eax, %eax
-	ret
-
-	.p2align 4
-L(length_less16):
-	punpcklbw %xmm1, %xmm1
-	add	$16, %edx
-	punpcklbw %xmm1, %xmm1
-
-	mov	%ecx, %eax
-	pshufd	$0, %xmm1, %xmm1
-
-	and	$15, %ecx
-	jz	L(length_less16_offset0)
-
-	PUSH	(%edi)
-
-	mov	%cl, %dh
-	add	%dl, %dh
-	and	$-16, %eax
-
-	sub	$16, %dh
-	ja	L(length_less16_part2)
-
-	pcmpeqb	(%eax), %xmm1
-	pmovmskb %xmm1, %edi
-
-	sar	%cl, %edi
-	add	%ecx, %eax
-	mov	%dl, %cl
-
-	mov	$1, %edx
-	sal	%cl, %edx
-	sub	$1, %edx
-
-	and	%edx, %edi
-	test	%edi, %edi
-	jz	L(ret_null)
-
-	bsr	%edi, %edi
-	add	%edi, %eax
-	POP	(%edi)
-	ret
-
-	CFI_PUSH     (%edi)
-
-	.p2align 4
-L(length_less16_part2):
-	movdqa	16(%eax), %xmm2
-	pcmpeqb	%xmm1, %xmm2
-	pmovmskb %xmm2, %edi
-
-	mov	%cl, %ch
-
-	mov	%dh, %cl
-	mov	$1, %edx
-	sal	%cl, %edx
-	sub	$1, %edx
-
-	and	%edx, %edi
-
-	test	%edi, %edi
-	jnz	L(length_less16_part2_return)
-
-	pcmpeqb	(%eax), %xmm1
-	pmovmskb %xmm1, %edi
-
-	mov	%ch, %cl
-	sar	%cl, %edi
-	test	%edi, %edi
-	jz	L(ret_null)
-
-	bsr	%edi, %edi
-	add	%edi, %eax
-	xor	%ch, %ch
-	add	%ecx, %eax
-	POP	(%edi)
-	ret
-
-	CFI_PUSH     (%edi)
-
-	.p2align 4
-L(length_less16_part2_return):
-	bsr	%edi, %edi
-	lea	16(%eax, %edi), %eax
-	POP	(%edi)
-	ret
-
-	CFI_PUSH     (%edi)
-
-	.p2align 4
-L(ret_null):
-	xor	%eax, %eax
-	POP	(%edi)
-	ret
-
-END (memrchr)
diff --git a/libc/arch-x86/string/sse2-memset-atom.S b/libc/arch-x86/string/sse2-memset-atom.S
deleted file mode 100644
index 320afec..0000000
--- a/libc/arch-x86/string/sse2-memset-atom.S
+++ /dev/null
@@ -1,834 +0,0 @@
-/*
-Copyright (c) 2010, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#include <private/bionic_asm.h>
-
-#define FOR_ATOM
-#include "cache.h"
-
-#ifndef L
-# define L(label)	.L##label
-#endif
-
-#ifndef ALIGN
-# define ALIGN(n)	.p2align n
-#endif
-
-#define CFI_PUSH(REG)						\
-  .cfi_adjust_cfa_offset 4;					\
-  .cfi_rel_offset REG, 0
-
-#define CFI_POP(REG)						\
-  .cfi_adjust_cfa_offset -4;					\
-  .cfi_restore REG
-
-#define PUSH(REG)	pushl REG; CFI_PUSH(REG)
-#define POP(REG)	popl REG; CFI_POP(REG)
-
-#define PARMS 8  /* Preserve EBX. */
-#define DST PARMS
-#define CHR (DST+4)
-#define LEN (CHR+4)
-#define CHK_DST_LEN (LEN+4)
-#define SETRTNVAL	movl DST(%esp), %eax
-
-#define ENTRANCE	PUSH(%ebx);
-#define RETURN_END	POP(%ebx); ret
-#define RETURN		RETURN_END; CFI_PUSH(%ebx)
-#define JMPTBL(I, B)	I - B
-
-/* Load an entry in a jump table into EBX and branch to it.  TABLE is a
-   jump table with relative offsets.   */
-# define BRANCH_TO_JMPTBL_ENTRY(TABLE)				\
-    /* We first load PC into EBX.  */				\
-    call	__x86.get_pc_thunk.bx;				\
-    /* Get the address of the jump table.  */			\
-    add		$(TABLE - .), %ebx;				\
-    /* Get the entry and convert the relative offset to the	\
-       absolute address.  */					\
-    add		(%ebx,%ecx,4), %ebx;				\
-    add		%ecx, %edx;					\
-    /* We loaded the jump table and adjusted EDX. Go.  */	\
-    jmp		*%ebx
-
-ENTRY(__memset_chk_atom)
-  ENTRANCE
-
-  movl LEN(%esp), %ecx
-  cmpl CHK_DST_LEN(%esp), %ecx
-  jna L(memset_length_loaded)
-
-  POP(%ebx) // Undo ENTRANCE without returning.
-  jmp __memset_chk_fail
-END(__memset_chk_atom)
-
-	.section .text.sse2,"ax",@progbits
-	ALIGN(4)
-ENTRY(memset_atom)
-	ENTRANCE
-
-	movl	LEN(%esp), %ecx
-L(memset_length_loaded):
-	movzbl	CHR(%esp), %eax
-	movb	%al, %ah
-	/* Fill the whole EAX with pattern.  */
-	movl	%eax, %edx
-	shl	$16, %eax
-	or	%edx, %eax
-	movl	DST(%esp), %edx
-	cmp	$32, %ecx
-	jae	L(32bytesormore)
-
-L(write_less32bytes):
-	BRANCH_TO_JMPTBL_ENTRY(L(table_less_32bytes))
-
-
-	.pushsection .rodata.sse2,"a",@progbits
-	ALIGN(2)
-L(table_less_32bytes):
-	.int	JMPTBL(L(write_0bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_1bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_2bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_3bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_4bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_5bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_6bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_7bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_8bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_9bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_10bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_11bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_12bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_13bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_14bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_15bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_16bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_17bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_18bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_19bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_20bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_21bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_22bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_23bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_24bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_25bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_26bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_27bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_28bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_29bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_30bytes), L(table_less_32bytes))
-	.int	JMPTBL(L(write_31bytes), L(table_less_32bytes))
-	.popsection
-
-	ALIGN(4)
-L(write_28bytes):
-	movl	%eax, -28(%edx)
-L(write_24bytes):
-	movl	%eax, -24(%edx)
-L(write_20bytes):
-	movl	%eax, -20(%edx)
-L(write_16bytes):
-	movl	%eax, -16(%edx)
-L(write_12bytes):
-	movl	%eax, -12(%edx)
-L(write_8bytes):
-	movl	%eax, -8(%edx)
-L(write_4bytes):
-	movl	%eax, -4(%edx)
-L(write_0bytes):
-	SETRTNVAL
-	RETURN
-
-	ALIGN(4)
-L(write_29bytes):
-	movl	%eax, -29(%edx)
-L(write_25bytes):
-	movl	%eax, -25(%edx)
-L(write_21bytes):
-	movl	%eax, -21(%edx)
-L(write_17bytes):
-	movl	%eax, -17(%edx)
-L(write_13bytes):
-	movl	%eax, -13(%edx)
-L(write_9bytes):
-	movl	%eax, -9(%edx)
-L(write_5bytes):
-	movl	%eax, -5(%edx)
-L(write_1bytes):
-	movb	%al, -1(%edx)
-	SETRTNVAL
-	RETURN
-
-	ALIGN(4)
-L(write_30bytes):
-	movl	%eax, -30(%edx)
-L(write_26bytes):
-	movl	%eax, -26(%edx)
-L(write_22bytes):
-	movl	%eax, -22(%edx)
-L(write_18bytes):
-	movl	%eax, -18(%edx)
-L(write_14bytes):
-	movl	%eax, -14(%edx)
-L(write_10bytes):
-	movl	%eax, -10(%edx)
-L(write_6bytes):
-	movl	%eax, -6(%edx)
-L(write_2bytes):
-	movw	%ax, -2(%edx)
-	SETRTNVAL
-	RETURN
-
-	ALIGN(4)
-L(write_31bytes):
-	movl	%eax, -31(%edx)
-L(write_27bytes):
-	movl	%eax, -27(%edx)
-L(write_23bytes):
-	movl	%eax, -23(%edx)
-L(write_19bytes):
-	movl	%eax, -19(%edx)
-L(write_15bytes):
-	movl	%eax, -15(%edx)
-L(write_11bytes):
-	movl	%eax, -11(%edx)
-L(write_7bytes):
-	movl	%eax, -7(%edx)
-L(write_3bytes):
-	movw	%ax, -3(%edx)
-	movb	%al, -1(%edx)
-	SETRTNVAL
-	RETURN
-
-	ALIGN(4)
-/* ECX > 32 and EDX is 4 byte aligned.  */
-L(32bytesormore):
-	/* Fill xmm0 with the pattern.  */
-	movd	%eax, %xmm0
-	pshufd	$0, %xmm0, %xmm0
-	testl	$0xf, %edx
-	jz	L(aligned_16)
-/* ECX > 32 and EDX is not 16 byte aligned.  */
-L(not_aligned_16):
-	movdqu	%xmm0, (%edx)
-	movl	%edx, %eax
-	and	$-16, %edx
-	add	$16, %edx
-	sub	%edx, %eax
-	add	%eax, %ecx
-	movd	%xmm0, %eax
-
-	ALIGN(4)
-L(aligned_16):
-	cmp	$128, %ecx
-	jae	L(128bytesormore)
-
-L(aligned_16_less128bytes):
-	BRANCH_TO_JMPTBL_ENTRY(L(table_16_128bytes))
-
-	ALIGN(4)
-L(128bytesormore):
-	PUSH(%ebx)
-	mov	$SHARED_CACHE_SIZE, %ebx
-	cmp	%ebx, %ecx
-	jae	L(128bytesormore_nt_start)
-
-
-	POP(%ebx)
-# define RESTORE_EBX_STATE CFI_PUSH(%ebx)
-	cmp	$DATA_CACHE_SIZE, %ecx
-
-	jae	L(128bytes_L2_normal)
-	subl	$128, %ecx
-L(128bytesormore_normal):
-	sub	$128, %ecx
-	movdqa	%xmm0, (%edx)
-	movdqa	%xmm0, 0x10(%edx)
-	movdqa	%xmm0, 0x20(%edx)
-	movdqa	%xmm0, 0x30(%edx)
-	movdqa	%xmm0, 0x40(%edx)
-	movdqa	%xmm0, 0x50(%edx)
-	movdqa	%xmm0, 0x60(%edx)
-	movdqa	%xmm0, 0x70(%edx)
-	lea	128(%edx), %edx
-	jb	L(128bytesless_normal)
-
-
-	sub	$128, %ecx
-	movdqa	%xmm0, (%edx)
-	movdqa	%xmm0, 0x10(%edx)
-	movdqa	%xmm0, 0x20(%edx)
-	movdqa	%xmm0, 0x30(%edx)
-	movdqa	%xmm0, 0x40(%edx)
-	movdqa	%xmm0, 0x50(%edx)
-	movdqa	%xmm0, 0x60(%edx)
-	movdqa	%xmm0, 0x70(%edx)
-	lea	128(%edx), %edx
-	jae	L(128bytesormore_normal)
-
-L(128bytesless_normal):
-	add	$128, %ecx
-	BRANCH_TO_JMPTBL_ENTRY(L(table_16_128bytes))
-
-	ALIGN(4)
-L(128bytes_L2_normal):
-	prefetcht0	0x380(%edx)
-	prefetcht0	0x3c0(%edx)
-	sub	$128, %ecx
-	movdqa	%xmm0, (%edx)
-	movaps	%xmm0, 0x10(%edx)
-	movaps	%xmm0, 0x20(%edx)
-	movaps	%xmm0, 0x30(%edx)
-	movaps	%xmm0, 0x40(%edx)
-	movaps	%xmm0, 0x50(%edx)
-	movaps	%xmm0, 0x60(%edx)
-	movaps	%xmm0, 0x70(%edx)
-	add	$128, %edx
-	cmp	$128, %ecx
-	jae	L(128bytes_L2_normal)
-
-L(128bytesless_L2_normal):
-	BRANCH_TO_JMPTBL_ENTRY(L(table_16_128bytes))
-
-	RESTORE_EBX_STATE
-L(128bytesormore_nt_start):
-	sub	%ebx, %ecx
-	mov	%ebx, %eax
-	and	$0x7f, %eax
-	add	%eax, %ecx
-	movd	%xmm0, %eax
-	ALIGN(4)
-L(128bytesormore_shared_cache_loop):
-	prefetcht0	0x3c0(%edx)
-	prefetcht0	0x380(%edx)
-	sub	$0x80, %ebx
-	movdqa	%xmm0, (%edx)
-	movdqa	%xmm0, 0x10(%edx)
-	movdqa	%xmm0, 0x20(%edx)
-	movdqa	%xmm0, 0x30(%edx)
-	movdqa	%xmm0, 0x40(%edx)
-	movdqa	%xmm0, 0x50(%edx)
-	movdqa	%xmm0, 0x60(%edx)
-	movdqa	%xmm0, 0x70(%edx)
-	add	$0x80, %edx
-	cmp	$0x80, %ebx
-	jae	L(128bytesormore_shared_cache_loop)
-	cmp	$0x80, %ecx
-	jb	L(shared_cache_loop_end)
-	ALIGN(4)
-L(128bytesormore_nt):
-	sub	$0x80, %ecx
-	movntdq	%xmm0, (%edx)
-	movntdq	%xmm0, 0x10(%edx)
-	movntdq	%xmm0, 0x20(%edx)
-	movntdq	%xmm0, 0x30(%edx)
-	movntdq	%xmm0, 0x40(%edx)
-	movntdq	%xmm0, 0x50(%edx)
-	movntdq	%xmm0, 0x60(%edx)
-	movntdq	%xmm0, 0x70(%edx)
-	add	$0x80, %edx
-	cmp	$0x80, %ecx
-	jae	L(128bytesormore_nt)
-	sfence
-L(shared_cache_loop_end):
-	POP(%ebx)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_16_128bytes))
-
-
-	.pushsection .rodata.sse2,"a",@progbits
-	ALIGN(2)
-L(table_16_128bytes):
-	.int	JMPTBL(L(aligned_16_0bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_1bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_2bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_3bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_4bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_5bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_6bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_7bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_8bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_9bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_10bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_11bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_12bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_13bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_14bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_15bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_16bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_17bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_18bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_19bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_20bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_21bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_22bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_23bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_24bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_25bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_26bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_27bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_28bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_29bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_30bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_31bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_32bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_33bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_34bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_35bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_36bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_37bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_38bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_39bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_40bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_41bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_42bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_43bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_44bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_45bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_46bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_47bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_48bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_49bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_50bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_51bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_52bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_53bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_54bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_55bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_56bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_57bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_58bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_59bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_60bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_61bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_62bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_63bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_64bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_65bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_66bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_67bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_68bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_69bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_70bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_71bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_72bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_73bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_74bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_75bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_76bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_77bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_78bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_79bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_80bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_81bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_82bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_83bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_84bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_85bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_86bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_87bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_88bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_89bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_90bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_91bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_92bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_93bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_94bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_95bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_96bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_97bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_98bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_99bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_100bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_101bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_102bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_103bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_104bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_105bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_106bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_107bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_108bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_109bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_110bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_111bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_112bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_113bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_114bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_115bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_116bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_117bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_118bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_119bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_120bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_121bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_122bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_123bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_124bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_125bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_126bytes), L(table_16_128bytes))
-	.int	JMPTBL(L(aligned_16_127bytes), L(table_16_128bytes))
-	.popsection
-
-	ALIGN(4)
-L(aligned_16_112bytes):
-	movdqa	%xmm0, -112(%edx)
-L(aligned_16_96bytes):
-	movdqa	%xmm0, -96(%edx)
-L(aligned_16_80bytes):
-	movdqa	%xmm0, -80(%edx)
-L(aligned_16_64bytes):
-	movdqa	%xmm0, -64(%edx)
-L(aligned_16_48bytes):
-	movdqa	%xmm0, -48(%edx)
-L(aligned_16_32bytes):
-	movdqa	%xmm0, -32(%edx)
-L(aligned_16_16bytes):
-	movdqa	%xmm0, -16(%edx)
-L(aligned_16_0bytes):
-	SETRTNVAL
-	RETURN
-
-	ALIGN(4)
-L(aligned_16_113bytes):
-	movdqa	%xmm0, -113(%edx)
-L(aligned_16_97bytes):
-	movdqa	%xmm0, -97(%edx)
-L(aligned_16_81bytes):
-	movdqa	%xmm0, -81(%edx)
-L(aligned_16_65bytes):
-	movdqa	%xmm0, -65(%edx)
-L(aligned_16_49bytes):
-	movdqa	%xmm0, -49(%edx)
-L(aligned_16_33bytes):
-	movdqa	%xmm0, -33(%edx)
-L(aligned_16_17bytes):
-	movdqa	%xmm0, -17(%edx)
-L(aligned_16_1bytes):
-	movb	%al, -1(%edx)
-	SETRTNVAL
-	RETURN
-
-	ALIGN(4)
-L(aligned_16_114bytes):
-	movdqa	%xmm0, -114(%edx)
-L(aligned_16_98bytes):
-	movdqa	%xmm0, -98(%edx)
-L(aligned_16_82bytes):
-	movdqa	%xmm0, -82(%edx)
-L(aligned_16_66bytes):
-	movdqa	%xmm0, -66(%edx)
-L(aligned_16_50bytes):
-	movdqa	%xmm0, -50(%edx)
-L(aligned_16_34bytes):
-	movdqa	%xmm0, -34(%edx)
-L(aligned_16_18bytes):
-	movdqa	%xmm0, -18(%edx)
-L(aligned_16_2bytes):
-	movw	%ax, -2(%edx)
-	SETRTNVAL
-	RETURN
-
-	ALIGN(4)
-L(aligned_16_115bytes):
-	movdqa	%xmm0, -115(%edx)
-L(aligned_16_99bytes):
-	movdqa	%xmm0, -99(%edx)
-L(aligned_16_83bytes):
-	movdqa	%xmm0, -83(%edx)
-L(aligned_16_67bytes):
-	movdqa	%xmm0, -67(%edx)
-L(aligned_16_51bytes):
-	movdqa	%xmm0, -51(%edx)
-L(aligned_16_35bytes):
-	movdqa	%xmm0, -35(%edx)
-L(aligned_16_19bytes):
-	movdqa	%xmm0, -19(%edx)
-L(aligned_16_3bytes):
-	movw	%ax, -3(%edx)
-	movb	%al, -1(%edx)
-	SETRTNVAL
-	RETURN
-
-	ALIGN(4)
-L(aligned_16_116bytes):
-	movdqa	%xmm0, -116(%edx)
-L(aligned_16_100bytes):
-	movdqa	%xmm0, -100(%edx)
-L(aligned_16_84bytes):
-	movdqa	%xmm0, -84(%edx)
-L(aligned_16_68bytes):
-	movdqa	%xmm0, -68(%edx)
-L(aligned_16_52bytes):
-	movdqa	%xmm0, -52(%edx)
-L(aligned_16_36bytes):
-	movdqa	%xmm0, -36(%edx)
-L(aligned_16_20bytes):
-	movdqa	%xmm0, -20(%edx)
-L(aligned_16_4bytes):
-	movl	%eax, -4(%edx)
-	SETRTNVAL
-	RETURN
-
-	ALIGN(4)
-L(aligned_16_117bytes):
-	movdqa	%xmm0, -117(%edx)
-L(aligned_16_101bytes):
-	movdqa	%xmm0, -101(%edx)
-L(aligned_16_85bytes):
-	movdqa	%xmm0, -85(%edx)
-L(aligned_16_69bytes):
-	movdqa	%xmm0, -69(%edx)
-L(aligned_16_53bytes):
-	movdqa	%xmm0, -53(%edx)
-L(aligned_16_37bytes):
-	movdqa	%xmm0, -37(%edx)
-L(aligned_16_21bytes):
-	movdqa	%xmm0, -21(%edx)
-L(aligned_16_5bytes):
-	movl	%eax, -5(%edx)
-	movb	%al, -1(%edx)
-	SETRTNVAL
-	RETURN
-
-	ALIGN(4)
-L(aligned_16_118bytes):
-	movdqa	%xmm0, -118(%edx)
-L(aligned_16_102bytes):
-	movdqa	%xmm0, -102(%edx)
-L(aligned_16_86bytes):
-	movdqa	%xmm0, -86(%edx)
-L(aligned_16_70bytes):
-	movdqa	%xmm0, -70(%edx)
-L(aligned_16_54bytes):
-	movdqa	%xmm0, -54(%edx)
-L(aligned_16_38bytes):
-	movdqa	%xmm0, -38(%edx)
-L(aligned_16_22bytes):
-	movdqa	%xmm0, -22(%edx)
-L(aligned_16_6bytes):
-	movl	%eax, -6(%edx)
-	movw	%ax, -2(%edx)
-	SETRTNVAL
-	RETURN
-
-	ALIGN(4)
-L(aligned_16_119bytes):
-	movdqa	%xmm0, -119(%edx)
-L(aligned_16_103bytes):
-	movdqa	%xmm0, -103(%edx)
-L(aligned_16_87bytes):
-	movdqa	%xmm0, -87(%edx)
-L(aligned_16_71bytes):
-	movdqa	%xmm0, -71(%edx)
-L(aligned_16_55bytes):
-	movdqa	%xmm0, -55(%edx)
-L(aligned_16_39bytes):
-	movdqa	%xmm0, -39(%edx)
-L(aligned_16_23bytes):
-	movdqa	%xmm0, -23(%edx)
-L(aligned_16_7bytes):
-	movl	%eax, -7(%edx)
-	movw	%ax, -3(%edx)
-	movb	%al, -1(%edx)
-	SETRTNVAL
-	RETURN
-
-	ALIGN(4)
-L(aligned_16_120bytes):
-	movdqa	%xmm0, -120(%edx)
-L(aligned_16_104bytes):
-	movdqa	%xmm0, -104(%edx)
-L(aligned_16_88bytes):
-	movdqa	%xmm0, -88(%edx)
-L(aligned_16_72bytes):
-	movdqa	%xmm0, -72(%edx)
-L(aligned_16_56bytes):
-	movdqa	%xmm0, -56(%edx)
-L(aligned_16_40bytes):
-	movdqa	%xmm0, -40(%edx)
-L(aligned_16_24bytes):
-	movdqa	%xmm0, -24(%edx)
-L(aligned_16_8bytes):
-	movq	%xmm0, -8(%edx)
-	SETRTNVAL
-	RETURN
-
-	ALIGN(4)
-L(aligned_16_121bytes):
-	movdqa	%xmm0, -121(%edx)
-L(aligned_16_105bytes):
-	movdqa	%xmm0, -105(%edx)
-L(aligned_16_89bytes):
-	movdqa	%xmm0, -89(%edx)
-L(aligned_16_73bytes):
-	movdqa	%xmm0, -73(%edx)
-L(aligned_16_57bytes):
-	movdqa	%xmm0, -57(%edx)
-L(aligned_16_41bytes):
-	movdqa	%xmm0, -41(%edx)
-L(aligned_16_25bytes):
-	movdqa	%xmm0, -25(%edx)
-L(aligned_16_9bytes):
-	movq	%xmm0, -9(%edx)
-	movb	%al, -1(%edx)
-	SETRTNVAL
-	RETURN
-
-	ALIGN(4)
-L(aligned_16_122bytes):
-	movdqa	%xmm0, -122(%edx)
-L(aligned_16_106bytes):
-	movdqa	%xmm0, -106(%edx)
-L(aligned_16_90bytes):
-	movdqa	%xmm0, -90(%edx)
-L(aligned_16_74bytes):
-	movdqa	%xmm0, -74(%edx)
-L(aligned_16_58bytes):
-	movdqa	%xmm0, -58(%edx)
-L(aligned_16_42bytes):
-	movdqa	%xmm0, -42(%edx)
-L(aligned_16_26bytes):
-	movdqa	%xmm0, -26(%edx)
-L(aligned_16_10bytes):
-	movq	%xmm0, -10(%edx)
-	movw	%ax, -2(%edx)
-	SETRTNVAL
-	RETURN
-
-	ALIGN(4)
-L(aligned_16_123bytes):
-	movdqa	%xmm0, -123(%edx)
-L(aligned_16_107bytes):
-	movdqa	%xmm0, -107(%edx)
-L(aligned_16_91bytes):
-	movdqa	%xmm0, -91(%edx)
-L(aligned_16_75bytes):
-	movdqa	%xmm0, -75(%edx)
-L(aligned_16_59bytes):
-	movdqa	%xmm0, -59(%edx)
-L(aligned_16_43bytes):
-	movdqa	%xmm0, -43(%edx)
-L(aligned_16_27bytes):
-	movdqa	%xmm0, -27(%edx)
-L(aligned_16_11bytes):
-	movq	%xmm0, -11(%edx)
-	movw	%ax, -3(%edx)
-	movb	%al, -1(%edx)
-	SETRTNVAL
-	RETURN
-
-	ALIGN(4)
-L(aligned_16_124bytes):
-	movdqa	%xmm0, -124(%edx)
-L(aligned_16_108bytes):
-	movdqa	%xmm0, -108(%edx)
-L(aligned_16_92bytes):
-	movdqa	%xmm0, -92(%edx)
-L(aligned_16_76bytes):
-	movdqa	%xmm0, -76(%edx)
-L(aligned_16_60bytes):
-	movdqa	%xmm0, -60(%edx)
-L(aligned_16_44bytes):
-	movdqa	%xmm0, -44(%edx)
-L(aligned_16_28bytes):
-	movdqa	%xmm0, -28(%edx)
-L(aligned_16_12bytes):
-	movq	%xmm0, -12(%edx)
-	movl	%eax, -4(%edx)
-	SETRTNVAL
-	RETURN
-
-	ALIGN(4)
-L(aligned_16_125bytes):
-	movdqa	%xmm0, -125(%edx)
-L(aligned_16_109bytes):
-	movdqa	%xmm0, -109(%edx)
-L(aligned_16_93bytes):
-	movdqa	%xmm0, -93(%edx)
-L(aligned_16_77bytes):
-	movdqa	%xmm0, -77(%edx)
-L(aligned_16_61bytes):
-	movdqa	%xmm0, -61(%edx)
-L(aligned_16_45bytes):
-	movdqa	%xmm0, -45(%edx)
-L(aligned_16_29bytes):
-	movdqa	%xmm0, -29(%edx)
-L(aligned_16_13bytes):
-	movq	%xmm0, -13(%edx)
-	movl	%eax, -5(%edx)
-	movb	%al, -1(%edx)
-	SETRTNVAL
-	RETURN
-
-	ALIGN(4)
-L(aligned_16_126bytes):
-	movdqa	%xmm0, -126(%edx)
-L(aligned_16_110bytes):
-	movdqa	%xmm0, -110(%edx)
-L(aligned_16_94bytes):
-	movdqa	%xmm0, -94(%edx)
-L(aligned_16_78bytes):
-	movdqa	%xmm0, -78(%edx)
-L(aligned_16_62bytes):
-	movdqa	%xmm0, -62(%edx)
-L(aligned_16_46bytes):
-	movdqa	%xmm0, -46(%edx)
-L(aligned_16_30bytes):
-	movdqa	%xmm0, -30(%edx)
-L(aligned_16_14bytes):
-	movq	%xmm0, -14(%edx)
-	movl	%eax, -6(%edx)
-	movw	%ax, -2(%edx)
-	SETRTNVAL
-	RETURN
-
-	ALIGN(4)
-L(aligned_16_127bytes):
-	movdqa	%xmm0, -127(%edx)
-L(aligned_16_111bytes):
-	movdqa	%xmm0, -111(%edx)
-L(aligned_16_95bytes):
-	movdqa	%xmm0, -95(%edx)
-L(aligned_16_79bytes):
-	movdqa	%xmm0, -79(%edx)
-L(aligned_16_63bytes):
-	movdqa	%xmm0, -63(%edx)
-L(aligned_16_47bytes):
-	movdqa	%xmm0, -47(%edx)
-L(aligned_16_31bytes):
-	movdqa	%xmm0, -31(%edx)
-L(aligned_16_15bytes):
-	movq	%xmm0, -15(%edx)
-	movl	%eax, -7(%edx)
-	movw	%ax, -3(%edx)
-	movb	%al, -1(%edx)
-	SETRTNVAL
-	RETURN_END
-
-END(memset_atom)
diff --git a/libc/arch-x86/string/sse2-memset-slm.S b/libc/arch-x86/string/sse2-memset-slm.S
index 5cff141..ec2ee52 100644
--- a/libc/arch-x86/string/sse2-memset-slm.S
+++ b/libc/arch-x86/string/sse2-memset-slm.S
@@ -31,7 +31,6 @@
 #include <private/bionic_asm.h>
 
 #define FOR_SILVERMONT
-#include "cache.h"
 
 #ifndef L
 # define L(label)	.L##label
@@ -64,6 +63,8 @@
 # define RETURN		RETURN_END; CFI_PUSH(%ebx)
 # define JMPTBL(I, B)	I - B
 
+#define SETUP_PIC_REG(x)	call	__x86.get_pc_thunk.x
+
 /* Load an entry in a jump table into EBX and branch to it.  TABLE is a
    jump table with relative offsets.   */
 # define BRANCH_TO_JMPTBL_ENTRY(TABLE)				\
@@ -78,7 +79,7 @@
     /* We loaded the jump table and adjusted EDX. Go.  */	\
     jmp		*%ebx
 
-ENTRY(__memset_chk_generic)
+ENTRY(__memset_chk)
   ENTRANCE
 
   movl LEN(%esp), %ecx
@@ -87,11 +88,11 @@
 
   POP(%ebx) // Undo ENTRANCE without returning.
   jmp __memset_chk_fail
-END(__memset_chk_generic)
+END(__memset_chk)
 
 	.section .text.sse2,"ax",@progbits
 	ALIGN(4)
-ENTRY(memset_generic)
+ENTRY(memset)
 	ENTRANCE
 
 	movl	LEN(%esp), %ecx
@@ -177,14 +178,18 @@
 	ALIGN(4)
 L(128bytesormore):
 	PUSH(%ebx)
-	mov	$SHARED_CACHE_SIZE, %ebx
+	SETUP_PIC_REG(bx)
+	add	$_GLOBAL_OFFSET_TABLE_, %ebx
+	mov	__x86_shared_cache_size@GOTOFF(%ebx), %ebx
 	cmp	%ebx, %ecx
 	jae	L(128bytesormore_nt_start)
 
 	POP(%ebx)
 
 	PUSH(%ebx)
-	mov	$DATA_CACHE_SIZE, %ebx
+	SETUP_PIC_REG(bx)
+	add	$_GLOBAL_OFFSET_TABLE_, %ebx
+	mov	__x86_data_cache_size@GOTOFF(%ebx), %ebx
 
 	cmp	%ebx, %ecx
 	jae	L(128bytes_L2_normal)
@@ -750,4 +755,4 @@
 	SETRTNVAL
 	RETURN_END
 
-END(memset_generic)
+END(memset)
diff --git a/libc/arch-x86/string/sse2-stpcpy-slm.S b/libc/arch-x86/string/sse2-stpcpy-slm.S
old mode 100755
new mode 100644
diff --git a/libc/arch-x86/string/sse2-strcpy-slm.S b/libc/arch-x86/string/sse2-strcpy-slm.S
old mode 100755
new mode 100644
index 22ceeab..b5d84b5
--- a/libc/arch-x86/string/sse2-strcpy-slm.S
+++ b/libc/arch-x86/string/sse2-strcpy-slm.S
@@ -79,7 +79,7 @@
 #define POP(REG) popl REG; CFI_POP (REG)
 
 #ifndef STRCPY
-# define STRCPY  strcpy_generic
+# define STRCPY  strcpy
 #endif
 
 #ifdef USE_AS_STPNCPY
diff --git a/libc/arch-x86/string/sse2-strlen-slm.S b/libc/arch-x86/string/sse2-strlen-slm.S
old mode 100755
new mode 100644
index b805ad6..27cc025
--- a/libc/arch-x86/string/sse2-strlen-slm.S
+++ b/libc/arch-x86/string/sse2-strlen-slm.S
@@ -29,7 +29,7 @@
 */
 
 #ifndef STRLEN
-# define STRLEN strlen_generic
+# define STRLEN strlen
 #endif
 
 #ifndef L
diff --git a/libc/arch-x86/string/sse2-strncpy-slm.S b/libc/arch-x86/string/sse2-strncpy-slm.S
old mode 100755
new mode 100644
index aff7fb9..591419f
--- a/libc/arch-x86/string/sse2-strncpy-slm.S
+++ b/libc/arch-x86/string/sse2-strncpy-slm.S
@@ -29,5 +29,5 @@
 */
 
 #define USE_AS_STRNCPY
-#define STRCPY strncpy_generic
+#define STRCPY strncpy
 #include "sse2-strcpy-slm.S"
diff --git a/libc/arch-x86/string/sse2-wcschr-atom.S b/libc/arch-x86/string/sse2-wcschr-atom.S
deleted file mode 100644
index 729302b..0000000
--- a/libc/arch-x86/string/sse2-wcschr-atom.S
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
-Copyright (c) 2011 Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef L
-# define L(label)	.L##label
-#endif
-
-#ifndef cfi_startproc
-# define cfi_startproc	.cfi_startproc
-#endif
-
-#ifndef cfi_endproc
-# define cfi_endproc	.cfi_endproc
-#endif
-
-#ifndef cfi_rel_offset
-# define cfi_rel_offset(reg, off)	.cfi_rel_offset reg, off
-#endif
-
-#ifndef cfi_restore
-# define cfi_restore(reg)	.cfi_restore reg
-#endif
-
-#ifndef cfi_adjust_cfa_offset
-# define cfi_adjust_cfa_offset(off)	.cfi_adjust_cfa_offset off
-#endif
-
-#ifndef ENTRY
-# define ENTRY(name)	\
-	.type name,  @function;	\
-	.globl name;	\
-	.p2align 4;	\
-name:	\
-	cfi_startproc
-#endif
-
-#ifndef END
-# define END(name)	\
-	cfi_endproc;	\
-	.size name,	.-name
-#endif
-
-#define CFI_PUSH(REG)	\
-	cfi_adjust_cfa_offset (4);	\
-	cfi_rel_offset (REG, 0)
-
-#define CFI_POP(REG)	\
-	cfi_adjust_cfa_offset (-4);	\
-	cfi_restore (REG)
-
-#define PUSH(REG)	pushl REG; CFI_PUSH (REG)
-#define POP(REG)	popl REG; CFI_POP (REG)
-
-#define PARMS	4
-
-
-#define STR1  PARMS
-#define STR2  STR1+4
-
-	.text
-ENTRY (wcschr)
-
-	mov	STR1(%esp), %ecx
-	movd	STR2(%esp), %xmm1
-
-	mov	%ecx, %eax
-	punpckldq %xmm1, %xmm1
-	pxor	%xmm2, %xmm2
-	punpckldq %xmm1, %xmm1
-
-	and	$63, %eax
-	cmp	$48, %eax
-	ja	L(cross_cache)
-
-	movdqu	(%ecx), %xmm0
-	pcmpeqd	%xmm0, %xmm2
-	pcmpeqd	%xmm1, %xmm0
-	pmovmskb %xmm2, %edx
-	pmovmskb %xmm0, %eax
-	or	%eax, %edx
-	jnz	L(matches)
-	and	$-16, %ecx
-	jmp	L(loop)
-
-	.p2align 4
-L(cross_cache):
-	PUSH	(%edi)
-	mov	%ecx, %edi
-	mov	%eax, %ecx
-	and	$-16, %edi
-	and	$15, %ecx
-	movdqa	(%edi), %xmm0
-	pcmpeqd	%xmm0, %xmm2
-	pcmpeqd	%xmm1, %xmm0
-	pmovmskb %xmm2, %edx
-	pmovmskb %xmm0, %eax
-
-	sarl	%cl, %edx
-	sarl	%cl, %eax
-	test	%eax, %eax
-	jz	L(unaligned_no_match)
-
-	add	%edi, %ecx
-	POP	(%edi)
-
-	test	%edx, %edx
-	jz	L(match_case1)
-	test	%al, %al
-	jz	L(match_higth_case2)
-	test	$15, %al
-	jnz	L(match_case2_4)
-	test	$15, %dl
-	jnz	L(return_null)
-	lea	4(%ecx), %eax
-	ret
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(unaligned_no_match):
-	mov	%edi, %ecx
-	POP	(%edi)
-
-	test	%edx, %edx
-	jnz	L(return_null)
-
-	pxor	%xmm2, %xmm2
-
-/* Loop start on aligned string.  */
-	.p2align 4
-L(loop):
-	add	$16, %ecx
-	movdqa	(%ecx), %xmm0
-	pcmpeqd	%xmm0, %xmm2
-	pcmpeqd	%xmm1, %xmm0
-	pmovmskb %xmm2, %edx
-	pmovmskb %xmm0, %eax
-	or	%eax, %edx
-	jnz	L(matches)
-	add	$16, %ecx
-
-	movdqa	(%ecx), %xmm0
-	pcmpeqd	%xmm0, %xmm2
-	pcmpeqd	%xmm1, %xmm0
-	pmovmskb %xmm2, %edx
-	pmovmskb %xmm0, %eax
-	or	%eax, %edx
-	jnz	L(matches)
-	add	$16, %ecx
-
-	movdqa	(%ecx), %xmm0
-	pcmpeqd	%xmm0, %xmm2
-	pcmpeqd	%xmm1, %xmm0
-	pmovmskb %xmm2, %edx
-	pmovmskb %xmm0, %eax
-	or	%eax, %edx
-	jnz	L(matches)
-	add	$16, %ecx
-
-	movdqa	(%ecx), %xmm0
-	pcmpeqd	%xmm0, %xmm2
-	pcmpeqd	%xmm1, %xmm0
-	pmovmskb %xmm2, %edx
-	pmovmskb %xmm0, %eax
-	or	%eax, %edx
-	jz	L(loop)
-
-	.p2align 4
-L(matches):
-	pmovmskb %xmm2, %edx
-	test	%eax, %eax
-	jz	L(return_null)
-	test	%edx, %edx
-	jz	L(match_case1)
-
-	.p2align 4
-L(match_case2):
-	test	%al, %al
-	jz	L(match_higth_case2)
-	test	$15, %al
-	jnz	L(match_case2_4)
-	test	$15, %dl
-	jnz	L(return_null)
-	lea	4(%ecx), %eax
-	ret
-
-	.p2align 4
-L(match_case2_4):
-	mov	%ecx, %eax
-	ret
-
-	.p2align 4
-L(match_higth_case2):
-	test	%dl, %dl
-	jnz	L(return_null)
-	test	$15, %ah
-	jnz	L(match_case2_12)
-	test	$15, %dh
-	jnz	L(return_null)
-	lea	12(%ecx), %eax
-	ret
-
-	.p2align 4
-L(match_case2_12):
-	lea	8(%ecx), %eax
-	ret
-
-	.p2align 4
-L(match_case1):
-	test	%al, %al
-	jz	L(match_higth_case1)
-
-	test	$0x01, %al
-	jnz	L(exit0)
-	lea	4(%ecx), %eax
-	ret
-
-	.p2align 4
-L(match_higth_case1):
-	test	$0x01, %ah
-	jnz	L(exit3)
-	lea	12(%ecx), %eax
-	ret
-
-	.p2align 4
-L(exit0):
-	mov	%ecx, %eax
-	ret
-
-	.p2align 4
-L(exit3):
-	lea	8(%ecx), %eax
-	ret
-
-	.p2align 4
-L(return_null):
-	xor	%eax, %eax
-	ret
-
-END (wcschr)
diff --git a/libc/arch-x86/string/sse2-wcscmp-atom.S b/libc/arch-x86/string/sse2-wcscmp-atom.S
deleted file mode 100644
index 8867d28..0000000
--- a/libc/arch-x86/string/sse2-wcscmp-atom.S
+++ /dev/null
@@ -1,1062 +0,0 @@
-/*
-Copyright (c) 2011 Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef L
-# define L(label)	.L##label
-#endif
-
-#ifndef cfi_startproc
-# define cfi_startproc	.cfi_startproc
-#endif
-
-#ifndef cfi_endproc
-# define cfi_endproc	.cfi_endproc
-#endif
-
-#ifndef cfi_rel_offset
-# define cfi_rel_offset(reg, off)	.cfi_rel_offset reg, off
-#endif
-
-#ifndef cfi_restore
-# define cfi_restore(reg)	.cfi_restore reg
-#endif
-
-#ifndef cfi_adjust_cfa_offset
-# define cfi_adjust_cfa_offset(off)	.cfi_adjust_cfa_offset off
-#endif
-
-#ifndef ENTRY
-# define ENTRY(name)	\
-	.type name, @function;	\
-	.globl name;	\
-	.p2align 4;	\
-name:	\
-	cfi_startproc
-#endif
-
-#ifndef END
-# define END(name)	\
-	cfi_endproc;	\
-	.size name, .-name
-#endif
-
-#define CFI_PUSH(REG)	\
-	cfi_adjust_cfa_offset (4);	\
-	cfi_rel_offset (REG, 0)
-
-#define CFI_POP(REG)	\
-	cfi_adjust_cfa_offset (-4);	\
-	cfi_restore (REG)
-
-#define PUSH(REG) pushl REG; CFI_PUSH (REG)
-#define POP(REG) popl REG; CFI_POP (REG)
-
-#define ENTRANCE PUSH(%esi); PUSH(%edi)
-#define RETURN  POP(%edi); POP(%esi); ret; CFI_PUSH(%esi); CFI_PUSH(%edi);
-#define PARMS  4
-#define STR1  PARMS
-#define STR2  STR1+4
-
-	.text
-ENTRY (wcscmp)
-/*
-	* This implementation uses SSE to compare up to 16 bytes at a time.
-*/
-	mov	STR1(%esp), %edx
-	mov	STR2(%esp), %eax
-
-	mov	(%eax), %ecx
-	cmp	%ecx, (%edx)
-	jne	L(neq)
-	test	%ecx, %ecx
-	jz	L(eq)
-
-	mov	4(%eax), %ecx
-	cmp	%ecx, 4(%edx)
-	jne	L(neq)
-	test	%ecx, %ecx
-	jz	L(eq)
-
-	mov	8(%eax), %ecx
-	cmp	%ecx, 8(%edx)
-	jne	L(neq)
-	test	%ecx, %ecx
-	jz	L(eq)
-
-	mov	12(%eax), %ecx
-	cmp	%ecx, 12(%edx)
-	jne	L(neq)
-	test	%ecx, %ecx
-	jz	L(eq)
-
-	ENTRANCE
-	add	$16, %eax
-	add	$16, %edx
-
-	mov	%eax, %esi
-	mov	%edx, %edi
-	pxor	%xmm0, %xmm0		/* clear %xmm0 for null char checks */
-	mov	%al, %ch
-	mov	%dl, %cl
-	and	$63, %eax		/* esi alignment in cache line */
-	and	$63, %edx		/* edi alignment in cache line */
-	and	$15, %cl
-	jz	L(continue_00)
-	cmp	$16, %edx
-	jb	L(continue_0)
-	cmp	$32, %edx
-	jb	L(continue_16)
-	cmp	$48, %edx
-	jb	L(continue_32)
-
-L(continue_48):
-	and	$15, %ch
-	jz	L(continue_48_00)
-	cmp	$16, %eax
-	jb	L(continue_0_48)
-	cmp	$32, %eax
-	jb	L(continue_16_48)
-	cmp	$48, %eax
-	jb	L(continue_32_48)
-
-	.p2align 4
-L(continue_48_48):
-	mov	(%esi), %ecx
-	cmp	%ecx, (%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	4(%esi), %ecx
-	cmp	%ecx, 4(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	8(%esi), %ecx
-	cmp	%ecx, 8(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	12(%esi), %ecx
-	cmp	%ecx, 12(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	movdqu	16(%edi), %xmm1
-	movdqu	16(%esi), %xmm2
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	%xmm2, %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_16)
-
-	movdqu	32(%edi), %xmm1
-	movdqu	32(%esi), %xmm2
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	%xmm2, %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_32)
-
-	movdqu	48(%edi), %xmm1
-	movdqu	48(%esi), %xmm2
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	%xmm2, %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_48)
-
-	add	$64, %esi
-	add	$64, %edi
-	jmp	L(continue_48_48)
-
-L(continue_0):
-	and	$15, %ch
-	jz	L(continue_0_00)
-	cmp	$16, %eax
-	jb	L(continue_0_0)
-	cmp	$32, %eax
-	jb	L(continue_0_16)
-	cmp	$48, %eax
-	jb	L(continue_0_32)
-
-	.p2align 4
-L(continue_0_48):
-	mov	(%esi), %ecx
-	cmp	%ecx, (%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	4(%esi), %ecx
-	cmp	%ecx, 4(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	8(%esi), %ecx
-	cmp	%ecx, 8(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	12(%esi), %ecx
-	cmp	%ecx, 12(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	movdqu	16(%edi), %xmm1
-	movdqu	16(%esi), %xmm2
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	%xmm2, %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_16)
-
-	movdqu	32(%edi), %xmm1
-	movdqu	32(%esi), %xmm2
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	%xmm2, %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_32)
-
-	mov	48(%esi), %ecx
-	cmp	%ecx, 48(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	52(%esi), %ecx
-	cmp	%ecx, 52(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	56(%esi), %ecx
-	cmp	%ecx, 56(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	60(%esi), %ecx
-	cmp	%ecx, 60(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	add	$64, %esi
-	add	$64, %edi
-	jmp	L(continue_0_48)
-
-	.p2align 4
-L(continue_00):
-	and	$15, %ch
-	jz	L(continue_00_00)
-	cmp	$16, %eax
-	jb	L(continue_00_0)
-	cmp	$32, %eax
-	jb	L(continue_00_16)
-	cmp	$48, %eax
-	jb	L(continue_00_32)
-
-	.p2align 4
-L(continue_00_48):
-	pcmpeqd	(%edi), %xmm0
-	mov	(%edi), %eax
-	pmovmskb %xmm0, %ecx
-	test	%ecx, %ecx
-	jnz	L(less4_double_words1)
-
-	cmp	(%esi), %eax
-	jne	L(nequal)
-
-	mov	4(%edi), %eax
-	cmp	4(%esi), %eax
-	jne	L(nequal)
-
-	mov	8(%edi), %eax
-	cmp	8(%esi), %eax
-	jne	L(nequal)
-
-	mov	12(%edi), %eax
-	cmp	12(%esi), %eax
-	jne	L(nequal)
-
-	movdqu	16(%esi), %xmm2
-	pcmpeqd	%xmm2, %xmm0		/* Any null double_word? */
-	pcmpeqd	16(%edi), %xmm2		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm2		/* packed sub of comparison results*/
-	pmovmskb %xmm2, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_16)
-
-	movdqu	32(%esi), %xmm2
-	pcmpeqd	%xmm2, %xmm0		/* Any null double_word? */
-	pcmpeqd	32(%edi), %xmm2		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm2		/* packed sub of comparison results*/
-	pmovmskb %xmm2, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_32)
-
-	movdqu	48(%esi), %xmm2
-	pcmpeqd	%xmm2, %xmm0		/* Any null double_word? */
-	pcmpeqd	48(%edi), %xmm2		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm2		/* packed sub of comparison results*/
-	pmovmskb %xmm2, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_48)
-
-	add	$64, %esi
-	add	$64, %edi
-	jmp	L(continue_00_48)
-
-	.p2align 4
-L(continue_32):
-	and	$15, %ch
-	jz	L(continue_32_00)
-	cmp	$16, %eax
-	jb	L(continue_0_32)
-	cmp	$32, %eax
-	jb	L(continue_16_32)
-	cmp	$48, %eax
-	jb	L(continue_32_32)
-
-	.p2align 4
-L(continue_32_48):
-	mov	(%esi), %ecx
-	cmp	%ecx, (%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	4(%esi), %ecx
-	cmp	%ecx, 4(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	8(%esi), %ecx
-	cmp	%ecx, 8(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	12(%esi), %ecx
-	cmp	%ecx, 12(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	16(%esi), %ecx
-	cmp	%ecx, 16(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	20(%esi), %ecx
-	cmp	%ecx, 20(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	24(%esi), %ecx
-	cmp	%ecx, 24(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	28(%esi), %ecx
-	cmp	%ecx, 28(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	movdqu	32(%edi), %xmm1
-	movdqu	32(%esi), %xmm2
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	%xmm2, %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_32)
-
-	movdqu	48(%edi), %xmm1
-	movdqu	48(%esi), %xmm2
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	%xmm2, %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_48)
-
-	add	$64, %esi
-	add	$64, %edi
-	jmp	L(continue_32_48)
-
-	.p2align 4
-L(continue_16):
-	and	$15, %ch
-	jz	L(continue_16_00)
-	cmp	$16, %eax
-	jb	L(continue_0_16)
-	cmp	$32, %eax
-	jb	L(continue_16_16)
-	cmp	$48, %eax
-	jb	L(continue_16_32)
-
-	.p2align 4
-L(continue_16_48):
-	mov	(%esi), %ecx
-	cmp	%ecx, (%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	4(%esi), %ecx
-	cmp	%ecx, 4(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	8(%esi), %ecx
-	cmp	%ecx, 8(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	12(%esi), %ecx
-	cmp	%ecx, 12(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	movdqu	16(%edi), %xmm1
-	movdqu	16(%esi), %xmm2
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	%xmm2, %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_16)
-
-	mov	32(%esi), %ecx
-	cmp	%ecx, 32(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	36(%esi), %ecx
-	cmp	%ecx, 36(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	40(%esi), %ecx
-	cmp	%ecx, 40(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	44(%esi), %ecx
-	cmp	%ecx, 44(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	movdqu	48(%edi), %xmm1
-	movdqu	48(%esi), %xmm2
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	%xmm2, %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_48)
-
-	add	$64, %esi
-	add	$64, %edi
-	jmp	L(continue_16_48)
-
-	.p2align 4
-L(continue_00_00):
-	movdqa	(%edi), %xmm1
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	(%esi), %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words)
-
-	movdqa	16(%edi), %xmm3
-	pcmpeqd	%xmm3, %xmm0		/* Any null double_word? */
-	pcmpeqd	16(%esi), %xmm3		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm3		/* packed sub of comparison results*/
-	pmovmskb %xmm3, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_16)
-
-	movdqa	32(%edi), %xmm5
-	pcmpeqd	%xmm5, %xmm0		/* Any null double_word? */
-	pcmpeqd	32(%esi), %xmm5		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm5		/* packed sub of comparison results*/
-	pmovmskb %xmm5, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_32)
-
-	movdqa	48(%edi), %xmm1
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	48(%esi), %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_48)
-
-	add	$64, %esi
-	add	$64, %edi
-	jmp	L(continue_00_00)
-
-	.p2align 4
-L(continue_00_32):
-	movdqu	(%esi), %xmm2
-	pcmpeqd	%xmm2, %xmm0		/* Any null double_word? */
-	pcmpeqd	(%edi), %xmm2		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm2		/* packed sub of comparison results*/
-	pmovmskb %xmm2, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words)
-
-	add	$16, %esi
-	add	$16, %edi
-	jmp	L(continue_00_48)
-
-	.p2align 4
-L(continue_00_16):
-	movdqu	(%esi), %xmm2
-	pcmpeqd	%xmm2, %xmm0		/* Any null double_word? */
-	pcmpeqd	(%edi), %xmm2		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm2		/* packed sub of comparison results*/
-	pmovmskb %xmm2, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words)
-
-	movdqu	16(%esi), %xmm2
-	pcmpeqd	%xmm2, %xmm0		/* Any null double_word? */
-	pcmpeqd	16(%edi), %xmm2		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm2		/* packed sub of comparison results*/
-	pmovmskb %xmm2, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_16)
-
-	add	$32, %esi
-	add	$32, %edi
-	jmp	L(continue_00_48)
-
-	.p2align 4
-L(continue_00_0):
-	movdqu	(%esi), %xmm2
-	pcmpeqd	%xmm2, %xmm0		/* Any null double_word? */
-	pcmpeqd	(%edi), %xmm2		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm2		/* packed sub of comparison results*/
-	pmovmskb %xmm2, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words)
-
-	movdqu	16(%esi), %xmm2
-	pcmpeqd	%xmm2, %xmm0		/* Any null double_word? */
-	pcmpeqd	16(%edi), %xmm2		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm2		/* packed sub of comparison results*/
-	pmovmskb %xmm2, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_16)
-
-	movdqu	32(%esi), %xmm2
-	pcmpeqd	%xmm2, %xmm0		/* Any null double_word? */
-	pcmpeqd	32(%edi), %xmm2		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm2		/* packed sub of comparison results*/
-	pmovmskb %xmm2, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_32)
-
-	add	$48, %esi
-	add	$48, %edi
-	jmp	L(continue_00_48)
-
-	.p2align 4
-L(continue_48_00):
-	pcmpeqd	(%esi), %xmm0
-	mov	(%edi), %eax
-	pmovmskb %xmm0, %ecx
-	test	%ecx, %ecx
-	jnz	L(less4_double_words1)
-
-	cmp	(%esi), %eax
-	jne	L(nequal)
-
-	mov	4(%edi), %eax
-	cmp	4(%esi), %eax
-	jne	L(nequal)
-
-	mov	8(%edi), %eax
-	cmp	8(%esi), %eax
-	jne	L(nequal)
-
-	mov	12(%edi), %eax
-	cmp	12(%esi), %eax
-	jne	L(nequal)
-
-	movdqu	16(%edi), %xmm1
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	16(%esi), %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_16)
-
-	movdqu	32(%edi), %xmm1
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	32(%esi), %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_32)
-
-	movdqu	48(%edi), %xmm1
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	48(%esi), %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_48)
-
-	add	$64, %esi
-	add	$64, %edi
-	jmp	L(continue_48_00)
-
-	.p2align 4
-L(continue_32_00):
-	movdqu	(%edi), %xmm1
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	(%esi), %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words)
-
-	add	$16, %esi
-	add	$16, %edi
-	jmp	L(continue_48_00)
-
-	.p2align 4
-L(continue_16_00):
-	movdqu	(%edi), %xmm1
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	(%esi), %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words)
-
-	movdqu	16(%edi), %xmm1
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	16(%esi), %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_16)
-
-	add	$32, %esi
-	add	$32, %edi
-	jmp	L(continue_48_00)
-
-	.p2align 4
-L(continue_0_00):
-	movdqu	(%edi), %xmm1
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	(%esi), %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words)
-
-	movdqu	16(%edi), %xmm1
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	16(%esi), %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_16)
-
-	movdqu	32(%edi), %xmm1
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	32(%esi), %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_32)
-
-	add	$48, %esi
-	add	$48, %edi
-	jmp	L(continue_48_00)
-
-	.p2align 4
-L(continue_32_32):
-	movdqu	(%edi), %xmm1
-	movdqu	(%esi), %xmm2
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	%xmm2, %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words)
-
-	add	$16, %esi
-	add	$16, %edi
-	jmp	L(continue_48_48)
-
-	.p2align 4
-L(continue_16_16):
-	movdqu	(%edi), %xmm1
-	movdqu	(%esi), %xmm2
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	%xmm2, %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words)
-
-	movdqu	16(%edi), %xmm3
-	movdqu	16(%esi), %xmm4
-	pcmpeqd	%xmm3, %xmm0		/* Any null double_word? */
-	pcmpeqd	%xmm4, %xmm3		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm3		/* packed sub of comparison results*/
-	pmovmskb %xmm3, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_16)
-
-	add	$32, %esi
-	add	$32, %edi
-	jmp	L(continue_48_48)
-
-	.p2align 4
-L(continue_0_0):
-	movdqu	(%edi), %xmm1
-	movdqu	(%esi), %xmm2
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	%xmm2, %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words)
-
-	movdqu	16(%edi), %xmm3
-	movdqu	16(%esi), %xmm4
-	pcmpeqd	%xmm3, %xmm0		/* Any null double_word? */
-	pcmpeqd	%xmm4, %xmm3		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm3		/* packed sub of comparison results*/
-	pmovmskb %xmm3, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_16)
-
-	movdqu	32(%edi), %xmm1
-	movdqu	32(%esi), %xmm2
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	%xmm2, %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_32)
-
-	add	$48, %esi
-	add	$48, %edi
-	jmp	L(continue_48_48)
-
-	.p2align 4
-L(continue_0_16):
-	movdqu	(%edi), %xmm1
-	movdqu	(%esi), %xmm2
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	%xmm2, %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words)
-
-	movdqu	16(%edi), %xmm1
-	movdqu	16(%esi), %xmm2
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	%xmm2, %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words_16)
-
-	add	$32, %esi
-	add	$32, %edi
-	jmp	L(continue_32_48)
-
-	.p2align 4
-L(continue_0_32):
-	movdqu	(%edi), %xmm1
-	movdqu	(%esi), %xmm2
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	%xmm2, %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words)
-
-	add	$16, %esi
-	add	$16, %edi
-	jmp	L(continue_16_48)
-
-	.p2align 4
-L(continue_16_32):
-	movdqu	(%edi), %xmm1
-	movdqu	(%esi), %xmm2
-	pcmpeqd	%xmm1, %xmm0		/* Any null double_word? */
-	pcmpeqd	%xmm2, %xmm1		/* compare first 4 double_words for equality */
-	psubb	%xmm0, %xmm1		/* packed sub of comparison results*/
-	pmovmskb %xmm1, %edx
-	sub	$0xffff, %edx		/* if first 4 double_words are same, edx == 0xffff */
-	jnz	L(less4_double_words)
-
-	add	$16, %esi
-	add	$16, %edi
-	jmp	L(continue_32_48)
-
-	.p2align 4
-L(less4_double_words1):
-	cmp	(%esi), %eax
-	jne	L(nequal)
-	test	%eax, %eax
-	jz	L(equal)
-
-	mov	4(%esi), %ecx
-	cmp	%ecx, 4(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	8(%esi), %ecx
-	cmp	%ecx, 8(%edi)
-	jne	L(nequal)
-	test	%ecx, %ecx
-	jz	L(equal)
-
-	mov	12(%esi), %ecx
-	cmp	%ecx, 12(%edi)
-	jne	L(nequal)
-	xor	%eax, %eax
-	RETURN
-
-	.p2align 4
-L(less4_double_words):
-	xor	%eax, %eax
-	test	%dl, %dl
-	jz	L(next_two_double_words)
-	and	$15, %dl
-	jz	L(second_double_word)
-	mov	(%esi), %ecx
-	cmp	%ecx, (%edi)
-	jne	L(nequal)
-	RETURN
-
-	.p2align 4
-L(second_double_word):
-	mov	4(%esi), %ecx
-	cmp	%ecx, 4(%edi)
-	jne	L(nequal)
-	RETURN
-
-	.p2align 4
-L(next_two_double_words):
-	and	$15, %dh
-	jz	L(fourth_double_word)
-	mov	8(%esi), %ecx
-	cmp	%ecx, 8(%edi)
-	jne	L(nequal)
-	RETURN
-
-	.p2align 4
-L(fourth_double_word):
-	mov	12(%esi), %ecx
-	cmp	%ecx, 12(%edi)
-	jne	L(nequal)
-	RETURN
-
-	.p2align 4
-L(less4_double_words_16):
-	xor	%eax, %eax
-	test	%dl, %dl
-	jz	L(next_two_double_words_16)
-	and	$15, %dl
-	jz	L(second_double_word_16)
-	mov	16(%esi), %ecx
-	cmp	%ecx, 16(%edi)
-	jne	L(nequal)
-	RETURN
-
-	.p2align 4
-L(second_double_word_16):
-	mov	20(%esi), %ecx
-	cmp	%ecx, 20(%edi)
-	jne	L(nequal)
-	RETURN
-
-	.p2align 4
-L(next_two_double_words_16):
-	and	$15, %dh
-	jz	L(fourth_double_word_16)
-	mov	24(%esi), %ecx
-	cmp	%ecx, 24(%edi)
-	jne	L(nequal)
-	RETURN
-
-	.p2align 4
-L(fourth_double_word_16):
-	mov	28(%esi), %ecx
-	cmp	%ecx, 28(%edi)
-	jne	L(nequal)
-	RETURN
-
-	.p2align 4
-L(less4_double_words_32):
-	xor	%eax, %eax
-	test	%dl, %dl
-	jz	L(next_two_double_words_32)
-	and	$15, %dl
-	jz	L(second_double_word_32)
-	mov	32(%esi), %ecx
-	cmp	%ecx, 32(%edi)
-	jne	L(nequal)
-	RETURN
-
-	.p2align 4
-L(second_double_word_32):
-	mov	36(%esi), %ecx
-	cmp	%ecx, 36(%edi)
-	jne	L(nequal)
-	RETURN
-
-	.p2align 4
-L(next_two_double_words_32):
-	and	$15, %dh
-	jz	L(fourth_double_word_32)
-	mov	40(%esi), %ecx
-	cmp	%ecx, 40(%edi)
-	jne	L(nequal)
-	RETURN
-
-	.p2align 4
-L(fourth_double_word_32):
-	mov	44(%esi), %ecx
-	cmp	%ecx, 44(%edi)
-	jne	L(nequal)
-	RETURN
-
-	.p2align 4
-L(less4_double_words_48):
-	xor	%eax, %eax
-	test	%dl, %dl
-	jz	L(next_two_double_words_48)
-	and	$15, %dl
-	jz	L(second_double_word_48)
-	mov	48(%esi), %ecx
-	cmp	%ecx, 48(%edi)
-	jne	L(nequal)
-	RETURN
-
-	.p2align 4
-L(second_double_word_48):
-	mov	52(%esi), %ecx
-	cmp	%ecx, 52(%edi)
-	jne	L(nequal)
-	RETURN
-
-	.p2align 4
-L(next_two_double_words_48):
-	and	$15, %dh
-	jz	L(fourth_double_word_48)
-	mov	56(%esi), %ecx
-	cmp	%ecx, 56(%edi)
-	jne	L(nequal)
-	RETURN
-
-	.p2align 4
-L(fourth_double_word_48):
-	mov	60(%esi), %ecx
-	cmp	%ecx, 60(%edi)
-	jne	L(nequal)
-	RETURN
-
-	.p2align 4
-L(nequal):
-	mov	$1, %eax
-	jg	L(return)
-	neg	%eax
-	RETURN
-
-	.p2align 4
-L(return):
-	RETURN
-
-	.p2align 4
-L(equal):
-	xorl	%eax, %eax
-	RETURN
-
-	CFI_POP (%edi)
-	CFI_POP (%esi)
-
-	.p2align 4
-L(neq):
-	mov	$1, %eax
-	jg	L(neq_bigger)
-	neg	%eax
-
-L(neq_bigger):
-	ret
-
-	.p2align 4
-L(eq):
-	xorl	%eax, %eax
-	ret
-
-END (wcscmp)
-
diff --git a/libc/arch-x86/string/sse2-wcslen-atom.S b/libc/arch-x86/string/sse2-wcslen-atom.S
deleted file mode 100644
index 2f10db4..0000000
--- a/libc/arch-x86/string/sse2-wcslen-atom.S
+++ /dev/null
@@ -1,306 +0,0 @@
-/*
-Copyright (c) 2011 Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef USE_AS_WCSCAT
-
-# ifndef L
-#  define L(label)	.L##label
-# endif
-
-# ifndef cfi_startproc
-#  define cfi_startproc	.cfi_startproc
-# endif
-
-# ifndef cfi_endproc
-#  define cfi_endproc	.cfi_endproc
-# endif
-
-# ifndef ENTRY
-#  define ENTRY(name)	\
-	.type name,  @function;	\
-	.globl name;	\
-	.p2align 4;	\
-name:	\
-	cfi_startproc
-# endif
-
-# ifndef END
-#  define END(name)	\
-	cfi_endproc;	\
-	.size name, .-name
-# endif
-
-# define PARMS	4
-# define STR	PARMS
-# define RETURN ret
-
-	.text
-ENTRY (wcslen)
-	mov	STR(%esp), %edx
-#endif
-	cmpl	$0, (%edx)
-	jz	L(exit_tail0)
-	cmpl	$0, 4(%edx)
-	jz	L(exit_tail1)
-	cmpl	$0, 8(%edx)
-	jz	L(exit_tail2)
-	cmpl	$0, 12(%edx)
-	jz	L(exit_tail3)
-	cmpl	$0, 16(%edx)
-	jz	L(exit_tail4)
-	cmpl	$0, 20(%edx)
-	jz	L(exit_tail5)
-	cmpl	$0, 24(%edx)
-	jz	L(exit_tail6)
-	cmpl	$0, 28(%edx)
-	jz	L(exit_tail7)
-
-	pxor	%xmm0, %xmm0
-
-	lea	32(%edx), %eax
-	lea	-16(%eax), %ecx
-	and	$-16, %eax
-
-	pcmpeqd	(%eax), %xmm0
-	pmovmskb %xmm0, %edx
-	pxor	%xmm1, %xmm1
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqd	(%eax), %xmm1
-	pmovmskb %xmm1, %edx
-	pxor	%xmm2, %xmm2
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqd	(%eax), %xmm2
-	pmovmskb %xmm2, %edx
-	pxor	%xmm3, %xmm3
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqd	(%eax), %xmm3
-	pmovmskb %xmm3, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqd	(%eax), %xmm0
-	pmovmskb %xmm0, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqd	(%eax), %xmm1
-	pmovmskb %xmm1, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqd	(%eax), %xmm2
-	pmovmskb %xmm2, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqd	(%eax), %xmm3
-	pmovmskb %xmm3, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqd	(%eax), %xmm0
-	pmovmskb %xmm0, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqd	(%eax), %xmm1
-	pmovmskb %xmm1, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqd	(%eax), %xmm2
-	pmovmskb %xmm2, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqd	(%eax), %xmm3
-	pmovmskb %xmm3, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqd	(%eax), %xmm0
-	pmovmskb %xmm0, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqd	(%eax), %xmm1
-	pmovmskb %xmm1, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqd	(%eax), %xmm2
-	pmovmskb %xmm2, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqd	(%eax), %xmm3
-	pmovmskb %xmm3, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	and	$-0x40, %eax
-
-	.p2align 4
-L(aligned_64_loop):
-	movaps	(%eax), %xmm0
-	movaps	16(%eax), %xmm1
-	movaps	32(%eax), %xmm2
-	movaps	48(%eax), %xmm6
-
-	pminub	%xmm1, %xmm0
-	pminub	%xmm6, %xmm2
-	pminub	%xmm0, %xmm2
-	pcmpeqd	%xmm3, %xmm2
-	pmovmskb %xmm2, %edx
-	lea	64(%eax), %eax
-	test	%edx, %edx
-	jz	L(aligned_64_loop)
-
-	pcmpeqd	-64(%eax), %xmm3
-	pmovmskb %xmm3, %edx
-	lea	48(%ecx), %ecx
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqd	%xmm1, %xmm3
-	pmovmskb %xmm3, %edx
-	lea	-16(%ecx), %ecx
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqd	-32(%eax), %xmm3
-	pmovmskb %xmm3, %edx
-	lea	-16(%ecx), %ecx
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqd	%xmm6, %xmm3
-	pmovmskb %xmm3, %edx
-	lea	-16(%ecx), %ecx
-	test	%edx, %edx
-	jnz	L(exit)
-
-	jmp	L(aligned_64_loop)
-
-	.p2align 4
-L(exit):
-	sub	%ecx, %eax
-	shr	$2, %eax
-	test	%dl, %dl
-	jz	L(exit_high)
-
-	mov	%dl, %cl
-	and	$15, %cl
-	jz	L(exit_1)
-	RETURN
-
-	.p2align 4
-L(exit_high):
-	mov	%dh, %ch
-	and	$15, %ch
-	jz	L(exit_3)
-	add	$2, %eax
-	RETURN
-
-	.p2align 4
-L(exit_1):
-	add	$1, %eax
-	RETURN
-
-	.p2align 4
-L(exit_3):
-	add	$3, %eax
-	RETURN
-
-	.p2align 4
-L(exit_tail0):
-	xor	%eax, %eax
-	RETURN
-
-	.p2align 4
-L(exit_tail1):
-	mov	$1, %eax
-	RETURN
-
-	.p2align 4
-L(exit_tail2):
-	mov	$2, %eax
-	RETURN
-
-	.p2align 4
-L(exit_tail3):
-	mov	$3, %eax
-	RETURN
-
-	.p2align 4
-L(exit_tail4):
-	mov	$4, %eax
-	RETURN
-
-	.p2align 4
-L(exit_tail5):
-	mov	$5, %eax
-	RETURN
-
-	.p2align 4
-L(exit_tail6):
-	mov	$6, %eax
-	RETURN
-
-	.p2align 4
-L(exit_tail7):
-	mov	$7, %eax
-#ifndef USE_AS_WCSCAT
-	RETURN
-
-END (wcslen)
-#endif
diff --git a/libc/arch-x86/string/sse2-wcsrchr-atom.S b/libc/arch-x86/string/sse2-wcsrchr-atom.S
deleted file mode 100644
index 1a55df2..0000000
--- a/libc/arch-x86/string/sse2-wcsrchr-atom.S
+++ /dev/null
@@ -1,402 +0,0 @@
-/*
-Copyright (c) 2011 Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef L
-# define L(label)	.L##label
-#endif
-
-#ifndef cfi_startproc
-# define cfi_startproc	.cfi_startproc
-#endif
-
-#ifndef cfi_endproc
-# define cfi_endproc	.cfi_endproc
-#endif
-
-#ifndef cfi_rel_offset
-# define cfi_rel_offset(reg, off)	.cfi_rel_offset reg, off
-#endif
-
-#ifndef cfi_restore
-# define cfi_restore(reg)	.cfi_restore reg
-#endif
-
-#ifndef cfi_adjust_cfa_offset
-# define cfi_adjust_cfa_offset(off)	.cfi_adjust_cfa_offset off
-#endif
-
-#ifndef ENTRY
-# define ENTRY(name)	\
-	.type name, @function;	\
-	.globl name;	\
-	.p2align 4;	\
-name:	\
-	cfi_startproc
-#endif
-
-#ifndef END
-# define END(name)	\
-	cfi_endproc;	\
-	.size name, .-name
-#endif
-
-#define CFI_PUSH(REG)	\
-	cfi_adjust_cfa_offset (4);	\
-	cfi_rel_offset (REG, 0)
-
-#define CFI_POP(REG)	\
-	cfi_adjust_cfa_offset (-4);	\
-	cfi_restore (REG)
-
-#define PUSH(REG)	pushl REG;	CFI_PUSH (REG)
-#define POP(REG)	popl REG;	CFI_POP (REG)
-
-#define PARMS  8
-#define ENTRANCE PUSH(%edi);
-#define RETURN  POP(%edi);	ret;	CFI_PUSH(%edi);
-
-#define STR1  PARMS
-#define STR2  STR1+4
-
-	.text
-ENTRY (wcsrchr)
-
-	ENTRANCE
-	mov	STR1(%esp), %ecx
-	movd	STR2(%esp), %xmm1
-
-	mov	%ecx, %edi
-	punpckldq %xmm1, %xmm1
-	pxor	%xmm2, %xmm2
-	punpckldq %xmm1, %xmm1
-
-/* ECX has OFFSET. */
-	and	$63, %ecx
-	cmp	$48, %ecx
-	ja	L(crosscache)
-
-/* unaligned string. */
-	movdqu	(%edi), %xmm0
-	pcmpeqd	%xmm0, %xmm2
-	pcmpeqd	%xmm1, %xmm0
-/* Find where NULL is.  */
-	pmovmskb %xmm2, %ecx
-/* Check if there is a match.  */
-	pmovmskb %xmm0, %eax
-	add	$16, %edi
-
-	test	%eax, %eax
-	jnz	L(unaligned_match1)
-
-	test	%ecx, %ecx
-	jnz	L(return_null)
-
-	and	$-16, %edi
-
-	PUSH	(%esi)
-
-	xor	%edx, %edx
-	jmp	L(loop)
-
-	CFI_POP	(%esi)
-
-	.p2align 4
-L(unaligned_match1):
-	test	%ecx, %ecx
-	jnz	L(prolog_find_zero_1)
-
-	PUSH	(%esi)
-
-/* Save current match */
-	mov	%eax, %edx
-	mov	%edi, %esi
-	and	$-16, %edi
-	jmp	L(loop)
-
-	CFI_POP	(%esi)
-
-	.p2align 4
-L(crosscache):
-/* Hancle unaligned string.  */
-	and	$15, %ecx
-	and	$-16, %edi
-	pxor	%xmm3, %xmm3
-	movdqa	(%edi), %xmm0
-	pcmpeqd	%xmm0, %xmm3
-	pcmpeqd	%xmm1, %xmm0
-/* Find where NULL is.  */
-	pmovmskb %xmm3, %edx
-/* Check if there is a match.  */
-	pmovmskb %xmm0, %eax
-/* Remove the leading bytes.  */
-	shr	%cl, %edx
-	shr	%cl, %eax
-	add	$16, %edi
-
-	test	%eax, %eax
-	jnz	L(unaligned_match)
-
-	test	%edx, %edx
-	jnz	L(return_null)
-
-	PUSH	(%esi)
-
-	xor	%edx, %edx
-	jmp	L(loop)
-
-	CFI_POP	(%esi)
-
-	.p2align 4
-L(unaligned_match):
-	test	%edx, %edx
-	jnz	L(prolog_find_zero)
-
-	PUSH	(%esi)
-
-	mov	%eax, %edx
-	lea	(%edi, %ecx), %esi
-
-/* Loop start on aligned string.  */
-	.p2align 4
-L(loop):
-	movdqa	(%edi), %xmm0
-	pcmpeqd	%xmm0, %xmm2
-	add	$16, %edi
-	pcmpeqd	%xmm1, %xmm0
-	pmovmskb %xmm2, %ecx
-	pmovmskb %xmm0, %eax
-	or	%eax, %ecx
-	jnz	L(matches)
-
-	movdqa	(%edi), %xmm3
-	pcmpeqd	%xmm3, %xmm2
-	add	$16, %edi
-	pcmpeqd	%xmm1, %xmm3
-	pmovmskb %xmm2, %ecx
-	pmovmskb %xmm3, %eax
-	or	%eax, %ecx
-	jnz	L(matches)
-
-	movdqa	(%edi), %xmm4
-	pcmpeqd	%xmm4, %xmm2
-	add	$16, %edi
-	pcmpeqd	%xmm1, %xmm4
-	pmovmskb %xmm2, %ecx
-	pmovmskb %xmm4, %eax
-	or	%eax, %ecx
-	jnz	L(matches)
-
-	movdqa	(%edi), %xmm5
-	pcmpeqd	%xmm5, %xmm2
-	add	$16, %edi
-	pcmpeqd	%xmm1, %xmm5
-	pmovmskb %xmm2, %ecx
-	pmovmskb %xmm5, %eax
-	or	%eax, %ecx
-	jz	L(loop)
-
-	.p2align 4
-L(matches):
-	test	%eax, %eax
-	jnz	L(match)
-L(return_value):
-	test	%edx, %edx
-	jz	L(return_null_1)
-	mov	%edx, %eax
-	mov	%esi, %edi
-
-	POP	(%esi)
-
-	test	%ah, %ah
-	jnz	L(match_third_or_fourth_wchar)
-	test	$15 << 4, %al
-	jnz	L(match_second_wchar)
-	lea	-16(%edi), %eax
-	RETURN
-
-	CFI_PUSH	(%esi)
-
-	.p2align 4
-L(return_null_1):
-	POP	(%esi)
-
-	xor	%eax, %eax
-	RETURN
-
-	CFI_PUSH	(%esi)
-
-	.p2align 4
-L(match):
-	pmovmskb %xmm2, %ecx
-	test	%ecx, %ecx
-	jnz	L(find_zero)
-/* save match info */
-	mov	%eax, %edx
-	mov	%edi, %esi
-	jmp	L(loop)
-
-	.p2align 4
-L(find_zero):
-	test	%cl, %cl
-	jz	L(find_zero_in_third_or_fourth_wchar)
-	test	$15, %cl
-	jz	L(find_zero_in_second_wchar)
-	and	$1, %eax
-	jz	L(return_value)
-
-	POP	(%esi)
-
-	lea	-16(%edi), %eax
-	RETURN
-
-	CFI_PUSH	(%esi)
-
-	.p2align 4
-L(find_zero_in_second_wchar):
-	and	$(1 << 5) - 1, %eax
-	jz	L(return_value)
-
-	POP	(%esi)
-
-	test	$15 << 4, %al
-	jnz	L(match_second_wchar)
-	lea	-16(%edi), %eax
-	RETURN
-
-	CFI_PUSH	(%esi)
-
-	.p2align 4
-L(find_zero_in_third_or_fourth_wchar):
-	test	$15, %ch
-	jz	L(find_zero_in_fourth_wchar)
-	and	$(1 << 9) - 1, %eax
-	jz	L(return_value)
-
-	POP	(%esi)
-
-	test	%ah, %ah
-	jnz	L(match_third_wchar)
-	test	$15 << 4, %al
-	jnz	L(match_second_wchar)
-	lea	-16(%edi), %eax
-	RETURN
-
-	CFI_PUSH	(%esi)
-
-	.p2align 4
-L(find_zero_in_fourth_wchar):
-
-	POP	(%esi)
-
-	test	%ah, %ah
-	jnz	L(match_third_or_fourth_wchar)
-	test	$15 << 4, %al
-	jnz	L(match_second_wchar)
-	lea	-16(%edi), %eax
-	RETURN
-
-	CFI_PUSH	(%esi)
-
-	.p2align 4
-L(match_second_wchar):
-	lea	-12(%edi), %eax
-	RETURN
-
-	.p2align 4
-L(match_third_or_fourth_wchar):
-	test	$15 << 4, %ah
-	jnz	L(match_fourth_wchar)
-	lea	-8(%edi), %eax
-	RETURN
-
-	.p2align 4
-L(match_third_wchar):
-	lea	-8(%edi), %eax
-	RETURN
-
-	.p2align 4
-L(match_fourth_wchar):
-	lea	-4(%edi), %eax
-	RETURN
-
-	.p2align 4
-L(return_null):
-	xor	%eax, %eax
-	RETURN
-
-	.p2align 4
-L(prolog_find_zero):
-	add	%ecx, %edi
-	mov     %edx, %ecx
-L(prolog_find_zero_1):
-	test	%cl, %cl
-	jz	L(prolog_find_zero_in_third_or_fourth_wchar)
-	test	$15, %cl
-	jz	L(prolog_find_zero_in_second_wchar)
-	and	$1, %eax
-	jz	L(return_null)
-
-	lea	-16(%edi), %eax
-	RETURN
-
-	.p2align 4
-L(prolog_find_zero_in_second_wchar):
-	and	$(1 << 5) - 1, %eax
-	jz	L(return_null)
-
-	test	$15 << 4, %al
-	jnz	L(match_second_wchar)
-	lea	-16(%edi), %eax
-	RETURN
-
-	.p2align 4
-L(prolog_find_zero_in_third_or_fourth_wchar):
-	test	$15, %ch
-	jz	L(prolog_find_zero_in_fourth_wchar)
-	and	$(1 << 9) - 1, %eax
-	jz	L(return_null)
-
-	test	%ah, %ah
-	jnz	L(match_third_wchar)
-	test	$15 << 4, %al
-	jnz	L(match_second_wchar)
-	lea	-16(%edi), %eax
-	RETURN
-
-	.p2align 4
-L(prolog_find_zero_in_fourth_wchar):
-	test	%ah, %ah
-	jnz	L(match_third_or_fourth_wchar)
-	test	$15 << 4, %al
-	jnz	L(match_second_wchar)
-	lea	-16(%edi), %eax
-	RETURN
-
-END (wcsrchr)
diff --git a/libc/arch-x86/string/sse4-memcmp-slm.S b/libc/arch-x86/string/sse4-memcmp-slm.S
old mode 100755
new mode 100644
diff --git a/libc/arch-x86/string/sse4-wmemcmp-slm.S b/libc/arch-x86/string/sse4-wmemcmp-slm.S
deleted file mode 100755
index 2bf92f5..0000000
--- a/libc/arch-x86/string/sse4-wmemcmp-slm.S
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright (c) 2014, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#define USE_AS_WMEMCMP
-#define MEMCMP wmemcmp_sse4
-#include "sse4-memcmp-slm.S"
diff --git a/libc/arch-x86/string/ssse3-memcpy-atom.S b/libc/arch-x86/string/ssse3-memcpy-atom.S
deleted file mode 100644
index fe3082e..0000000
--- a/libc/arch-x86/string/ssse3-memcpy-atom.S
+++ /dev/null
@@ -1,3125 +0,0 @@
-/*
-Copyright (c) 2010, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#define FOR_ATOM
-#include "cache.h"
-
-#ifndef MEMCPY
-# define MEMCPY	memcpy_atom
-#endif
-
-#ifndef L
-# define L(label)	.L##label
-#endif
-
-#ifndef cfi_startproc
-# define cfi_startproc	.cfi_startproc
-#endif
-
-#ifndef cfi_endproc
-# define cfi_endproc	.cfi_endproc
-#endif
-
-#ifndef cfi_rel_offset
-# define cfi_rel_offset(reg, off)	.cfi_rel_offset reg, off
-#endif
-
-#ifndef cfi_restore
-# define cfi_restore(reg)	.cfi_restore reg
-#endif
-
-#ifndef cfi_adjust_cfa_offset
-# define cfi_adjust_cfa_offset(off)	.cfi_adjust_cfa_offset off
-#endif
-
-#ifndef ENTRY
-# define ENTRY(name)		\
-	.type name,  @function;		\
-	.globl name;		\
-	.p2align 4;		\
-name:		\
-	cfi_startproc
-#endif
-
-#ifndef END
-# define END(name)		\
-	cfi_endproc;		\
-	.size name, .-name
-#endif
-
-#define DEST		PARMS
-#define SRC		DEST+4
-#define LEN		SRC+4
-
-#define CFI_PUSH(REG)		\
-  cfi_adjust_cfa_offset (4);		\
-  cfi_rel_offset (REG, 0)
-
-#define CFI_POP(REG)		\
-  cfi_adjust_cfa_offset (-4);		\
-  cfi_restore (REG)
-
-#define PUSH(REG)	pushl REG; CFI_PUSH (REG)
-#define POP(REG)	popl REG; CFI_POP (REG)
-
-#if (defined SHARED || defined __PIC__)
-# define PARMS		8		/* Preserve EBX.  */
-# define ENTRANCE	PUSH (%ebx);
-# define RETURN_END	POP (%ebx); ret
-# define RETURN		RETURN_END; CFI_PUSH (%ebx)
-# define JMPTBL(I, B)	I - B
-
-# define SETUP_PIC_REG(x)	call	__x86.get_pc_thunk.x
-
-/* Load an entry in a jump table into EBX and branch to it.  TABLE is a
-	jump table with relative offsets.  INDEX is a register contains the
-	index into the jump table.   SCALE is the scale of INDEX. */
-
-# define BRANCH_TO_JMPTBL_ENTRY(TABLE, INDEX, SCALE)		\
-    /* We first load PC into EBX.  */		\
-	SETUP_PIC_REG(bx);		\
-    /* Get the address of the jump table.  */		\
-	addl	$(TABLE - .), %ebx;		\
-    /* Get the entry and convert the relative offset to the		\
-	absolute	address.  */		\
-	addl	(%ebx, INDEX, SCALE), %ebx;		\
-    /* We loaded the jump table.  Go.  */		\
-	jmp	*%ebx
-#else
-
-# define PARMS		4
-# define ENTRANCE
-# define RETURN_END	ret
-# define RETURN		RETURN_END
-# define JMPTBL(I, B)	I
-
-/* Branch to an entry in a jump table.  TABLE is a jump table with
-	absolute offsets.  INDEX is a register contains the index into the
-	jump table.  SCALE is the scale of INDEX. */
-
-# define BRANCH_TO_JMPTBL_ENTRY(TABLE, INDEX, SCALE)		\
-	jmp	*TABLE(, INDEX, SCALE)
-#endif
-
-	.section .text.ssse3,"ax",@progbits
-ENTRY (MEMCPY)
-	ENTRANCE
-	movl	LEN(%esp), %ecx
-	movl	SRC(%esp), %eax
-	movl	DEST(%esp), %edx
-
-#ifdef USE_AS_MEMMOVE
-	cmp	%eax, %edx
-	jb	L(copy_forward)
-	je	L(fwd_write_0bytes)
-	cmp	$32, %ecx
-	jae	L(memmove_bwd)
-	jmp	L(bk_write_less32bytes_2)
-
-	.p2align 4
-L(memmove_bwd):
-	add	%ecx, %eax
-	cmp	%eax, %edx
-	movl	SRC(%esp), %eax
-	jb	L(copy_backward)
-
-L(copy_forward):
-#endif
-	cmp	$48, %ecx
-	jae	L(48bytesormore)
-
-L(fwd_write_less32bytes):
-#ifndef USE_AS_MEMMOVE
-	cmp	%dl, %al
-	jb	L(bk_write)
-#endif
-	add	%ecx, %edx
-	add	%ecx, %eax
-	BRANCH_TO_JMPTBL_ENTRY (L(table_48bytes_fwd), %ecx, 4)
-#ifndef USE_AS_MEMMOVE
-	.p2align 4
-L(bk_write):
-	BRANCH_TO_JMPTBL_ENTRY (L(table_48_bytes_bwd), %ecx, 4)
-#endif
-
-	.p2align 4
-L(48bytesormore):
-#ifndef USE_AS_MEMMOVE
-	movlpd	(%eax), %xmm0
-	movlpd	8(%eax), %xmm1
-	movlpd	%xmm0, (%edx)
-	movlpd	%xmm1, 8(%edx)
-#else
-	movdqu	(%eax), %xmm0
-#endif
-	PUSH (%edi)
-	movl	%edx, %edi
-	and	$-16, %edx
-	add	$16, %edx
-	sub	%edx, %edi
-	add	%edi, %ecx
-	sub	%edi, %eax
-
-#ifdef SHARED_CACHE_SIZE_HALF
-	cmp	$SHARED_CACHE_SIZE_HALF, %ecx
-#else
-# if (defined SHARED || defined __PIC__)
-	SETUP_PIC_REG(bx)
-	add	$_GLOBAL_OFFSET_TABLE_, %ebx
-	cmp	__x86_shared_cache_size_half@GOTOFF(%ebx), %ecx
-# else
-	cmp	__x86_shared_cache_size_half, %ecx
-# endif
-#endif
-
-	mov	%eax, %edi
-	jae	L(large_page)
-	and	$0xf, %edi
-	jz	L(shl_0)
-	BRANCH_TO_JMPTBL_ENTRY (L(shl_table), %edi, 4)
-
-	.p2align 4
-L(shl_0):
-#ifdef USE_AS_MEMMOVE
-	movl	DEST+4(%esp), %edi
-	movdqu	%xmm0, (%edi)
-#endif
-	xor	%edi, %edi
-	cmp	$127, %ecx
-	ja	L(shl_0_gobble)
-	lea	-32(%ecx), %ecx
-
-	.p2align 4
-L(shl_0_loop):
-	movdqa	(%eax, %edi), %xmm0
-	movdqa	16(%eax, %edi), %xmm1
-	sub	$32, %ecx
-	movdqa	%xmm0, (%edx, %edi)
-	movdqa	%xmm1, 16(%edx, %edi)
-	lea	32(%edi), %edi
-	jb	L(shl_0_end)
-
-	movdqa	(%eax, %edi), %xmm0
-	movdqa	16(%eax, %edi), %xmm1
-	sub	$32, %ecx
-	movdqa	%xmm0, (%edx, %edi)
-	movdqa	%xmm1, 16(%edx, %edi)
-	lea	32(%edi), %edi
-	jb	L(shl_0_end)
-
-	movdqa	(%eax, %edi), %xmm0
-	movdqa	16(%eax, %edi), %xmm1
-	sub	$32, %ecx
-	movdqa	%xmm0, (%edx, %edi)
-	movdqa	%xmm1, 16(%edx, %edi)
-	lea	32(%edi), %edi
-	jb	L(shl_0_end)
-
-	movdqa	(%eax, %edi), %xmm0
-	movdqa	16(%eax, %edi), %xmm1
-	sub	$32, %ecx
-	movdqa	%xmm0, (%edx, %edi)
-	movdqa	%xmm1, 16(%edx, %edi)
-	lea	32(%edi), %edi
-
-L(shl_0_end):
-	lea	32(%ecx), %ecx
-	add	%ecx, %edi
-	add	%edi, %edx
-	add	%edi, %eax
-	POP (%edi)
-	BRANCH_TO_JMPTBL_ENTRY (L(table_48bytes_fwd_align), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(shl_0_gobble):
-#ifdef DATA_CACHE_SIZE_HALF
-	cmp	$DATA_CACHE_SIZE_HALF, %ecx
-#else
-# if (defined SHARED || defined __PIC__)
-	SETUP_PIC_REG(bx)
-	add	$_GLOBAL_OFFSET_TABLE_, %ebx
-	cmp	__x86_data_cache_size_half@GOTOFF(%ebx), %ecx
-# else
-	cmp	__x86_data_cache_size_half, %ecx
-# endif
-#endif
-	POP	(%edi)
-	lea	-128(%ecx), %ecx
-	jae	L(shl_0_gobble_mem_loop)
-
-	.p2align 4
-L(shl_0_gobble_cache_loop):
-	movdqa	(%eax), %xmm0
-	movdqa	0x10(%eax), %xmm1
-	movdqa	0x20(%eax), %xmm2
-	movdqa	0x30(%eax), %xmm3
-	movdqa	0x40(%eax), %xmm4
-	movdqa	0x50(%eax), %xmm5
-	movdqa	0x60(%eax), %xmm6
-	movdqa	0x70(%eax), %xmm7
-	lea	0x80(%eax), %eax
-	sub	$128, %ecx
-	movdqa	%xmm0, (%edx)
-	movdqa	%xmm1, 0x10(%edx)
-	movdqa	%xmm2, 0x20(%edx)
-	movdqa	%xmm3, 0x30(%edx)
-	movdqa	%xmm4, 0x40(%edx)
-	movdqa	%xmm5, 0x50(%edx)
-	movdqa	%xmm6, 0x60(%edx)
-	movdqa	%xmm7, 0x70(%edx)
-	lea	0x80(%edx), %edx
-
-	jae	L(shl_0_gobble_cache_loop)
-	cmp	$-0x40, %ecx
-	lea	0x80(%ecx), %ecx
-	jl	L(shl_0_cache_less_64bytes)
-
-	movdqa	(%eax), %xmm0
-	sub	$0x40, %ecx
-	movdqa	0x10(%eax), %xmm1
-	movdqa	%xmm0, (%edx)
-	movdqa	%xmm1, 0x10(%edx)
-	movdqa	0x20(%eax), %xmm0
-	movdqa	0x30(%eax), %xmm1
-	add	$0x40, %eax
-	movdqa	%xmm0, 0x20(%edx)
-	movdqa	%xmm1, 0x30(%edx)
-	add	$0x40, %edx
-
-L(shl_0_cache_less_64bytes):
-	cmp	$0x20, %ecx
-	jb	L(shl_0_cache_less_32bytes)
-	movdqa	(%eax), %xmm0
-	sub	$0x20, %ecx
-	movdqa	0x10(%eax), %xmm1
-	add	$0x20, %eax
-	movdqa	%xmm0, (%edx)
-	movdqa	%xmm1, 0x10(%edx)
-	add	$0x20, %edx
-
-L(shl_0_cache_less_32bytes):
-	cmp	$0x10, %ecx
-	jb	L(shl_0_cache_less_16bytes)
-	sub	$0x10, %ecx
-	movdqa	(%eax), %xmm0
-	add	$0x10, %eax
-	movdqa	%xmm0, (%edx)
-	add	$0x10, %edx
-
-L(shl_0_cache_less_16bytes):
-	add	%ecx, %edx
-	add	%ecx, %eax
-	BRANCH_TO_JMPTBL_ENTRY (L(table_48bytes_fwd), %ecx, 4)
-
-	.p2align 4
-L(shl_0_gobble_mem_loop):
-	prefetcht0 0x1c0(%eax)
-	prefetcht0 0x280(%eax)
-	prefetcht0 0x1c0(%edx)
-
-	movdqa	(%eax), %xmm0
-	movdqa	0x10(%eax), %xmm1
-	movdqa	0x20(%eax), %xmm2
-	movdqa	0x30(%eax), %xmm3
-	movdqa	0x40(%eax), %xmm4
-	movdqa	0x50(%eax), %xmm5
-	movdqa	0x60(%eax), %xmm6
-	movdqa	0x70(%eax), %xmm7
-	lea	0x80(%eax), %eax
-	sub	$0x80, %ecx
-	movdqa	%xmm0, (%edx)
-	movdqa	%xmm1, 0x10(%edx)
-	movdqa	%xmm2, 0x20(%edx)
-	movdqa	%xmm3, 0x30(%edx)
-	movdqa	%xmm4, 0x40(%edx)
-	movdqa	%xmm5, 0x50(%edx)
-	movdqa	%xmm6, 0x60(%edx)
-	movdqa	%xmm7, 0x70(%edx)
-	lea	0x80(%edx), %edx
-
-	jae	L(shl_0_gobble_mem_loop)
-	cmp	$-0x40, %ecx
-	lea	0x80(%ecx), %ecx
-	jl	L(shl_0_mem_less_64bytes)
-
-	movdqa	(%eax), %xmm0
-	sub	$0x40, %ecx
-	movdqa	0x10(%eax), %xmm1
-
-	movdqa	%xmm0, (%edx)
-	movdqa	%xmm1, 0x10(%edx)
-
-	movdqa	0x20(%eax), %xmm0
-	movdqa	0x30(%eax), %xmm1
-	add	$0x40, %eax
-
-	movdqa	%xmm0, 0x20(%edx)
-	movdqa	%xmm1, 0x30(%edx)
-	add	$0x40, %edx
-
-L(shl_0_mem_less_64bytes):
-	cmp	$0x20, %ecx
-	jb	L(shl_0_mem_less_32bytes)
-	movdqa	(%eax), %xmm0
-	sub	$0x20, %ecx
-	movdqa	0x10(%eax), %xmm1
-	add	$0x20, %eax
-	movdqa	%xmm0, (%edx)
-	movdqa	%xmm1, 0x10(%edx)
-	add	$0x20, %edx
-
-L(shl_0_mem_less_32bytes):
-	cmp	$0x10, %ecx
-	jb	L(shl_0_mem_less_16bytes)
-	sub	$0x10, %ecx
-	movdqa	(%eax), %xmm0
-	add	$0x10, %eax
-	movdqa	%xmm0, (%edx)
-	add	$0x10, %edx
-
-L(shl_0_mem_less_16bytes):
-	add	%ecx, %edx
-	add	%ecx, %eax
-	BRANCH_TO_JMPTBL_ENTRY (L(table_48bytes_fwd_align), %ecx, 4)
-
-	.p2align 4
-L(shl_1):
-#ifndef USE_AS_MEMMOVE
-	movaps	-1(%eax), %xmm1
-#else
-	movl	DEST+4(%esp), %edi
-	movaps	-1(%eax), %xmm1
-	movdqu	%xmm0, (%edi)
-#endif
-#ifdef DATA_CACHE_SIZE_HALF
-	cmp	$DATA_CACHE_SIZE_HALF, %ecx
-#else
-# if (defined SHARED || defined __PIC__)
-	SETUP_PIC_REG(bx)
-	add	$_GLOBAL_OFFSET_TABLE_, %ebx
-	cmp	__x86_data_cache_size_half@GOTOFF(%ebx), %ecx
-# else
-	cmp	__x86_data_cache_size_half, %ecx
-# endif
-#endif
-	jb L(sh_1_no_prefetch)
-
-	lea	-64(%ecx), %ecx
-
-	.p2align 4
-L(Shl1LoopStart):
-	prefetcht0 0x1c0(%eax)
-	prefetcht0 0x1c0(%edx)
-	movaps	15(%eax), %xmm2
-	movaps	31(%eax), %xmm3
-	movaps	47(%eax), %xmm4
-	movaps	63(%eax), %xmm5
-	movaps	%xmm5, %xmm7
-	palignr	$1, %xmm4, %xmm5
-	palignr	$1, %xmm3, %xmm4
-	movaps	%xmm5, 48(%edx)
-	palignr	$1, %xmm2, %xmm3
-	lea	64(%eax), %eax
-	palignr	$1, %xmm1, %xmm2
-	movaps	%xmm4, 32(%edx)
-	movaps	%xmm3, 16(%edx)
-	movaps	%xmm7, %xmm1
-	movaps	%xmm2, (%edx)
-	lea	64(%edx), %edx
-	sub	$64, %ecx
-	ja	L(Shl1LoopStart)
-
-L(Shl1LoopLeave):
-	add	$32, %ecx
-	jle	L(shl_end_0)
-
-	movaps	15(%eax), %xmm2
-	movaps	31(%eax), %xmm3
-	palignr	$1, %xmm2, %xmm3
-	palignr	$1, %xmm1, %xmm2
-	movaps	%xmm2, (%edx)
-	movaps	%xmm3, 16(%edx)
-	lea	32(%edx, %ecx), %edx
-	lea	32(%eax, %ecx), %eax
-	POP (%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(sh_1_no_prefetch):
-	lea	-32(%ecx), %ecx
-	lea	-1(%eax), %eax
-	xor	%edi, %edi
-
-	.p2align 4
-L(sh_1_no_prefetch_loop):
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm4
-	palignr	$1, %xmm2, %xmm3
-	palignr	$1, %xmm1, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jb	L(sh_1_end_no_prefetch_loop)
-
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm1
-	palignr	$1, %xmm2, %xmm3
-	palignr	$1, %xmm4, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jae	L(sh_1_no_prefetch_loop)
-
-L(sh_1_end_no_prefetch_loop):
-	lea	32(%ecx), %ecx
-	add	%ecx, %edi
-	add	%edi, %edx
-	lea	1(%edi, %eax), %eax
-	POP	(%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(shl_2):
-#ifndef USE_AS_MEMMOVE
-	movaps	-2(%eax), %xmm1
-#else
-	movl	DEST+4(%esp), %edi
-	movaps	-2(%eax), %xmm1
-	movdqu	%xmm0, (%edi)
-#endif
-#ifdef DATA_CACHE_SIZE_HALF
-	cmp	$DATA_CACHE_SIZE_HALF, %ecx
-#else
-# if (defined SHARED || defined __PIC__)
-	SETUP_PIC_REG(bx)
-	add	$_GLOBAL_OFFSET_TABLE_, %ebx
-	cmp	__x86_data_cache_size_half@GOTOFF(%ebx), %ecx
-# else
-	cmp	__x86_data_cache_size_half, %ecx
-# endif
-#endif
-	jb L(sh_2_no_prefetch)
-
-	lea	-64(%ecx), %ecx
-
-	.p2align 4
-L(Shl2LoopStart):
-	prefetcht0 0x1c0(%eax)
-	prefetcht0 0x1c0(%edx)
-	movaps	14(%eax), %xmm2
-	movaps	30(%eax), %xmm3
-	movaps	46(%eax), %xmm4
-	movaps	62(%eax), %xmm5
-	movaps	%xmm5, %xmm7
-	palignr	$2, %xmm4, %xmm5
-	palignr	$2, %xmm3, %xmm4
-	movaps	%xmm5, 48(%edx)
-	palignr	$2, %xmm2, %xmm3
-	lea	64(%eax), %eax
-	palignr	$2, %xmm1, %xmm2
-	movaps	%xmm4, 32(%edx)
-	movaps	%xmm3, 16(%edx)
-	movaps	%xmm7, %xmm1
-	movaps	%xmm2, (%edx)
-	lea	64(%edx), %edx
-	sub	$64, %ecx
-	ja	L(Shl2LoopStart)
-
-L(Shl2LoopLeave):
-	add	$32, %ecx
-	jle	L(shl_end_0)
-
-	movaps	14(%eax), %xmm2
-	movaps	30(%eax), %xmm3
-	palignr	$2, %xmm2, %xmm3
-	palignr	$2, %xmm1, %xmm2
-	movaps	%xmm2, (%edx)
-	movaps	%xmm3, 16(%edx)
-	lea	32(%edx, %ecx), %edx
-	lea	32(%eax, %ecx), %eax
-	POP (%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(sh_2_no_prefetch):
-	lea	-32(%ecx), %ecx
-	lea	-2(%eax), %eax
-	xor	%edi, %edi
-
-	.p2align 4
-L(sh_2_no_prefetch_loop):
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm4
-	palignr	$2, %xmm2, %xmm3
-	palignr	$2, %xmm1, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jb	L(sh_2_end_no_prefetch_loop)
-
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm1
-	palignr	$2, %xmm2, %xmm3
-	palignr	$2, %xmm4, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jae	L(sh_2_no_prefetch_loop)
-
-L(sh_2_end_no_prefetch_loop):
-	lea	32(%ecx), %ecx
-	add	%ecx, %edi
-	add	%edi, %edx
-	lea	2(%edi, %eax), %eax
-	POP	(%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(shl_3):
-#ifndef USE_AS_MEMMOVE
-	movaps	-3(%eax), %xmm1
-#else
-	movl	DEST+4(%esp), %edi
-	movaps	-3(%eax), %xmm1
-	movdqu	%xmm0, (%edi)
-#endif
-#ifdef DATA_CACHE_SIZE_HALF
-	cmp	$DATA_CACHE_SIZE_HALF, %ecx
-#else
-# if (defined SHARED || defined __PIC__)
-	SETUP_PIC_REG(bx)
-	add	$_GLOBAL_OFFSET_TABLE_, %ebx
-	cmp	__x86_data_cache_size_half@GOTOFF(%ebx), %ecx
-# else
-	cmp	__x86_data_cache_size_half, %ecx
-# endif
-#endif
-	jb L(sh_3_no_prefetch)
-
-	lea	-64(%ecx), %ecx
-
-	.p2align 4
-L(Shl3LoopStart):
-	prefetcht0 0x1c0(%eax)
-	prefetcht0 0x1c0(%edx)
-	movaps	13(%eax), %xmm2
-	movaps	29(%eax), %xmm3
-	movaps	45(%eax), %xmm4
-	movaps	61(%eax), %xmm5
-	movaps	%xmm5, %xmm7
-	palignr	$3, %xmm4, %xmm5
-	palignr	$3, %xmm3, %xmm4
-	movaps	%xmm5, 48(%edx)
-	palignr	$3, %xmm2, %xmm3
-	lea	64(%eax), %eax
-	palignr	$3, %xmm1, %xmm2
-	movaps	%xmm4, 32(%edx)
-	movaps	%xmm3, 16(%edx)
-	movaps	%xmm7, %xmm1
-	movaps	%xmm2, (%edx)
-	lea	64(%edx), %edx
-	sub	$64, %ecx
-	ja	L(Shl3LoopStart)
-
-L(Shl3LoopLeave):
-	add	$32, %ecx
-	jle	L(shl_end_0)
-
-	movaps	13(%eax), %xmm2
-	movaps	29(%eax), %xmm3
-	palignr	$3, %xmm2, %xmm3
-	palignr	$3, %xmm1, %xmm2
-	movaps	%xmm2, (%edx)
-	movaps	%xmm3, 16(%edx)
-	lea	32(%edx, %ecx), %edx
-	lea	32(%eax, %ecx), %eax
-	POP (%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(sh_3_no_prefetch):
-	lea	-32(%ecx), %ecx
-	lea	-3(%eax), %eax
-	xor	%edi, %edi
-
-	.p2align 4
-L(sh_3_no_prefetch_loop):
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm4
-	palignr	$3, %xmm2, %xmm3
-	palignr	$3, %xmm1, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-
-	jb	L(sh_3_end_no_prefetch_loop)
-
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm1
-	palignr	$3, %xmm2, %xmm3
-	palignr	$3, %xmm4, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-
-	jae	L(sh_3_no_prefetch_loop)
-
-L(sh_3_end_no_prefetch_loop):
-	lea	32(%ecx), %ecx
-	add	%ecx, %edi
-	add	%edi, %edx
-	lea	3(%edi, %eax), %eax
-	POP	(%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(shl_4):
-#ifndef USE_AS_MEMMOVE
-	movaps	-4(%eax), %xmm1
-#else
-	movl	DEST+4(%esp), %edi
-	movaps	-4(%eax), %xmm1
-	movdqu	%xmm0, (%edi)
-#endif
-#ifdef DATA_CACHE_SIZE_HALF
-	cmp	$DATA_CACHE_SIZE_HALF, %ecx
-#else
-# if (defined SHARED || defined __PIC__)
-	SETUP_PIC_REG(bx)
-	add	$_GLOBAL_OFFSET_TABLE_, %ebx
-	cmp	__x86_data_cache_size_half@GOTOFF(%ebx), %ecx
-# else
-	cmp	__x86_data_cache_size_half, %ecx
-# endif
-#endif
-	jb L(sh_4_no_prefetch)
-
-	lea	-64(%ecx), %ecx
-
-	.p2align 4
-L(Shl4LoopStart):
-	prefetcht0 0x1c0(%eax)
-	prefetcht0 0x1c0(%edx)
-	movaps	12(%eax), %xmm2
-	movaps	28(%eax), %xmm3
-	movaps	44(%eax), %xmm4
-	movaps	60(%eax), %xmm5
-	movaps	%xmm5, %xmm7
-	palignr	$4, %xmm4, %xmm5
-	palignr	$4, %xmm3, %xmm4
-	movaps	%xmm5, 48(%edx)
-	palignr	$4, %xmm2, %xmm3
-	lea	64(%eax), %eax
-	palignr	$4, %xmm1, %xmm2
-	movaps	%xmm4, 32(%edx)
-	movaps	%xmm3, 16(%edx)
-	movaps	%xmm7, %xmm1
-	movaps	%xmm2, (%edx)
-	lea	64(%edx), %edx
-	sub	$64, %ecx
-	ja	L(Shl4LoopStart)
-
-L(Shl4LoopLeave):
-	add	$32, %ecx
-	jle	L(shl_end_0)
-
-	movaps	12(%eax), %xmm2
-	movaps	28(%eax), %xmm3
-	palignr	$4, %xmm2, %xmm3
-	palignr	$4, %xmm1, %xmm2
-	movaps	%xmm2, (%edx)
-	movaps	%xmm3, 16(%edx)
-	lea	32(%edx, %ecx), %edx
-	lea	32(%eax, %ecx), %eax
-	POP (%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(sh_4_no_prefetch):
-	lea	-32(%ecx), %ecx
-	lea	-4(%eax), %eax
-	xor	%edi, %edi
-
-	.p2align 4
-L(sh_4_no_prefetch_loop):
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm4
-	palignr	$4, %xmm2, %xmm3
-	palignr	$4, %xmm1, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-
-	jb	L(sh_4_end_no_prefetch_loop)
-
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm1
-	palignr	$4, %xmm2, %xmm3
-	palignr	$4, %xmm4, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-
-	jae	L(sh_4_no_prefetch_loop)
-
-L(sh_4_end_no_prefetch_loop):
-	lea	32(%ecx), %ecx
-	add	%ecx, %edi
-	add	%edi, %edx
-	lea	4(%edi, %eax), %eax
-	POP	(%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(shl_5):
-#ifndef USE_AS_MEMMOVE
-	movaps	-5(%eax), %xmm1
-#else
-	movl	DEST+4(%esp), %edi
-	movaps	-5(%eax), %xmm1
-	movdqu	%xmm0, (%edi)
-#endif
-#ifdef DATA_CACHE_SIZE_HALF
-	cmp	$DATA_CACHE_SIZE_HALF, %ecx
-#else
-# if (defined SHARED || defined __PIC__)
-	SETUP_PIC_REG(bx)
-	add	$_GLOBAL_OFFSET_TABLE_, %ebx
-	cmp	__x86_data_cache_size_half@GOTOFF(%ebx), %ecx
-# else
-	cmp	__x86_data_cache_size_half, %ecx
-# endif
-#endif
-	jb L(sh_5_no_prefetch)
-
-	lea	-64(%ecx), %ecx
-
-	.p2align 4
-L(Shl5LoopStart):
-	prefetcht0 0x1c0(%eax)
-	prefetcht0 0x1c0(%edx)
-	movaps	11(%eax), %xmm2
-	movaps	27(%eax), %xmm3
-	movaps	43(%eax), %xmm4
-	movaps	59(%eax), %xmm5
-	movaps	%xmm5, %xmm7
-	palignr	$5, %xmm4, %xmm5
-	palignr	$5, %xmm3, %xmm4
-	movaps	%xmm5, 48(%edx)
-	palignr	$5, %xmm2, %xmm3
-	lea	64(%eax), %eax
-	palignr	$5, %xmm1, %xmm2
-	movaps	%xmm4, 32(%edx)
-	movaps	%xmm3, 16(%edx)
-	movaps	%xmm7, %xmm1
-	movaps	%xmm2, (%edx)
-	lea	64(%edx), %edx
-	sub	$64, %ecx
-	ja	L(Shl5LoopStart)
-
-L(Shl5LoopLeave):
-	add	$32, %ecx
-	jle	L(shl_end_0)
-
-	movaps	11(%eax), %xmm2
-	movaps	27(%eax), %xmm3
-	palignr	$5, %xmm2, %xmm3
-	palignr	$5, %xmm1, %xmm2
-	movaps	%xmm2, (%edx)
-	movaps	%xmm3, 16(%edx)
-	lea	32(%edx, %ecx), %edx
-	lea	32(%eax, %ecx), %eax
-	POP (%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(sh_5_no_prefetch):
-	lea	-32(%ecx), %ecx
-	lea	-5(%eax), %eax
-	xor	%edi, %edi
-
-	.p2align 4
-L(sh_5_no_prefetch_loop):
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm4
-	palignr	$5, %xmm2, %xmm3
-	palignr	$5, %xmm1, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-
-	jb	L(sh_5_end_no_prefetch_loop)
-
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm1
-	palignr	$5, %xmm2, %xmm3
-	palignr	$5, %xmm4, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-
-	jae	L(sh_5_no_prefetch_loop)
-
-L(sh_5_end_no_prefetch_loop):
-	lea	32(%ecx), %ecx
-	add	%ecx, %edi
-	add	%edi, %edx
-	lea	5(%edi, %eax), %eax
-	POP	(%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(shl_6):
-#ifndef USE_AS_MEMMOVE
-	movaps	-6(%eax), %xmm1
-#else
-	movl	DEST+4(%esp), %edi
-	movaps	-6(%eax), %xmm1
-	movdqu	%xmm0, (%edi)
-#endif
-#ifdef DATA_CACHE_SIZE_HALF
-	cmp	$DATA_CACHE_SIZE_HALF, %ecx
-#else
-# if (defined SHARED || defined __PIC__)
-	SETUP_PIC_REG(bx)
-	add	$_GLOBAL_OFFSET_TABLE_, %ebx
-	cmp	__x86_data_cache_size_half@GOTOFF(%ebx), %ecx
-# else
-	cmp	__x86_data_cache_size_half, %ecx
-# endif
-#endif
-	jb L(sh_6_no_prefetch)
-
-	lea	-64(%ecx), %ecx
-
-	.p2align 4
-L(Shl6LoopStart):
-	prefetcht0 0x1c0(%eax)
-	prefetcht0 0x1c0(%edx)
-	movaps	10(%eax), %xmm2
-	movaps	26(%eax), %xmm3
-	movaps	42(%eax), %xmm4
-	movaps	58(%eax), %xmm5
-	movaps	%xmm5, %xmm7
-	palignr	$6, %xmm4, %xmm5
-	palignr	$6, %xmm3, %xmm4
-	movaps	%xmm5, 48(%edx)
-	palignr	$6, %xmm2, %xmm3
-	lea	64(%eax), %eax
-	palignr	$6, %xmm1, %xmm2
-	movaps	%xmm4, 32(%edx)
-	movaps	%xmm3, 16(%edx)
-	movaps	%xmm7, %xmm1
-	movaps	%xmm2, (%edx)
-	lea	64(%edx), %edx
-	sub	$64, %ecx
-	ja	L(Shl6LoopStart)
-
-L(Shl6LoopLeave):
-	add	$32, %ecx
-	jle	L(shl_end_0)
-
-	movaps	10(%eax), %xmm2
-	movaps	26(%eax), %xmm3
-	palignr	$6, %xmm2, %xmm3
-	palignr	$6, %xmm1, %xmm2
-	movaps	%xmm2, (%edx)
-	movaps	%xmm3, 16(%edx)
-	lea	32(%edx, %ecx), %edx
-	lea	32(%eax, %ecx), %eax
-	POP (%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(sh_6_no_prefetch):
-	lea	-32(%ecx), %ecx
-	lea	-6(%eax), %eax
-	xor	%edi, %edi
-
-	.p2align 4
-L(sh_6_no_prefetch_loop):
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm4
-	palignr	$6, %xmm2, %xmm3
-	palignr	$6, %xmm1, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-
-	jb	L(sh_6_end_no_prefetch_loop)
-
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm1
-	palignr	$6, %xmm2, %xmm3
-	palignr	$6, %xmm4, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-
-	jae	L(sh_6_no_prefetch_loop)
-
-L(sh_6_end_no_prefetch_loop):
-	lea	32(%ecx), %ecx
-	add	%ecx, %edi
-	add	%edi, %edx
-	lea	6(%edi, %eax), %eax
-	POP	(%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(shl_7):
-#ifndef USE_AS_MEMMOVE
-	movaps	-7(%eax), %xmm1
-#else
-	movl	DEST+4(%esp), %edi
-	movaps	-7(%eax), %xmm1
-	movdqu	%xmm0, (%edi)
-#endif
-#ifdef DATA_CACHE_SIZE_HALF
-	cmp	$DATA_CACHE_SIZE_HALF, %ecx
-#else
-# if (defined SHARED || defined __PIC__)
-	SETUP_PIC_REG(bx)
-	add	$_GLOBAL_OFFSET_TABLE_, %ebx
-	cmp	__x86_data_cache_size_half@GOTOFF(%ebx), %ecx
-# else
-	cmp	__x86_data_cache_size_half, %ecx
-# endif
-#endif
-	jb L(sh_7_no_prefetch)
-
-	lea	-64(%ecx), %ecx
-
-	.p2align 4
-L(Shl7LoopStart):
-	prefetcht0 0x1c0(%eax)
-	prefetcht0 0x1c0(%edx)
-	movaps	9(%eax), %xmm2
-	movaps	25(%eax), %xmm3
-	movaps	41(%eax), %xmm4
-	movaps	57(%eax), %xmm5
-	movaps	%xmm5, %xmm7
-	palignr	$7, %xmm4, %xmm5
-	palignr	$7, %xmm3, %xmm4
-	movaps	%xmm5, 48(%edx)
-	palignr	$7, %xmm2, %xmm3
-	lea	64(%eax), %eax
-	palignr	$7, %xmm1, %xmm2
-	movaps	%xmm4, 32(%edx)
-	movaps	%xmm3, 16(%edx)
-	movaps	%xmm7, %xmm1
-	movaps	%xmm2, (%edx)
-	lea	64(%edx), %edx
-	sub	$64, %ecx
-	ja	L(Shl7LoopStart)
-
-L(Shl7LoopLeave):
-	add	$32, %ecx
-	jle	L(shl_end_0)
-
-	movaps	9(%eax), %xmm2
-	movaps	25(%eax), %xmm3
-	palignr	$7, %xmm2, %xmm3
-	palignr	$7, %xmm1, %xmm2
-	movaps	%xmm2, (%edx)
-	movaps	%xmm3, 16(%edx)
-	lea	32(%edx, %ecx), %edx
-	lea	32(%eax, %ecx), %eax
-	POP (%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(sh_7_no_prefetch):
-	lea	-32(%ecx), %ecx
-	lea	-7(%eax), %eax
-	xor	%edi, %edi
-
-	.p2align 4
-L(sh_7_no_prefetch_loop):
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm4
-	palignr	$7, %xmm2, %xmm3
-	palignr	$7, %xmm1, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jb	L(sh_7_end_no_prefetch_loop)
-
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm1
-	palignr	$7, %xmm2, %xmm3
-	palignr	$7, %xmm4, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jae	L(sh_7_no_prefetch_loop)
-
-L(sh_7_end_no_prefetch_loop):
-	lea	32(%ecx), %ecx
-	add	%ecx, %edi
-	add	%edi, %edx
-	lea	7(%edi, %eax), %eax
-	POP	(%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(shl_8):
-#ifndef USE_AS_MEMMOVE
-	movaps	-8(%eax), %xmm1
-#else
-	movl	DEST+4(%esp), %edi
-	movaps	-8(%eax), %xmm1
-	movdqu	%xmm0, (%edi)
-#endif
-#ifdef DATA_CACHE_SIZE_HALF
-	cmp	$DATA_CACHE_SIZE_HALF, %ecx
-#else
-# if (defined SHARED || defined __PIC__)
-	SETUP_PIC_REG(bx)
-	add	$_GLOBAL_OFFSET_TABLE_, %ebx
-	cmp	__x86_data_cache_size_half@GOTOFF(%ebx), %ecx
-# else
-	cmp	__x86_data_cache_size_half, %ecx
-# endif
-#endif
-	jb L(sh_8_no_prefetch)
-
-	lea	-64(%ecx), %ecx
-
-	.p2align 4
-L(Shl8LoopStart):
-	prefetcht0 0x1c0(%eax)
-	prefetcht0 0x1c0(%edx)
-	movaps	8(%eax), %xmm2
-	movaps	24(%eax), %xmm3
-	movaps	40(%eax), %xmm4
-	movaps	56(%eax), %xmm5
-	movaps	%xmm5, %xmm7
-	palignr	$8, %xmm4, %xmm5
-	palignr	$8, %xmm3, %xmm4
-	movaps	%xmm5, 48(%edx)
-	palignr	$8, %xmm2, %xmm3
-	lea	64(%eax), %eax
-	palignr	$8, %xmm1, %xmm2
-	movaps	%xmm4, 32(%edx)
-	movaps	%xmm3, 16(%edx)
-	movaps	%xmm7, %xmm1
-	movaps	%xmm2, (%edx)
-	lea	64(%edx), %edx
-	sub	$64, %ecx
-	ja	L(Shl8LoopStart)
-
-L(LoopLeave8):
-	add	$32, %ecx
-	jle	L(shl_end_0)
-
-	movaps	8(%eax), %xmm2
-	movaps	24(%eax), %xmm3
-	palignr	$8, %xmm2, %xmm3
-	palignr	$8, %xmm1, %xmm2
-	movaps	%xmm2, (%edx)
-	movaps	%xmm3, 16(%edx)
-	lea	32(%edx, %ecx), %edx
-	lea	32(%eax, %ecx), %eax
-	POP (%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(sh_8_no_prefetch):
-	lea	-32(%ecx), %ecx
-	lea	-8(%eax), %eax
-	xor	%edi, %edi
-
-	.p2align 4
-L(sh_8_no_prefetch_loop):
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm4
-	palignr	$8, %xmm2, %xmm3
-	palignr	$8, %xmm1, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jb	L(sh_8_end_no_prefetch_loop)
-
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm1
-	palignr	$8, %xmm2, %xmm3
-	palignr	$8, %xmm4, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jae	L(sh_8_no_prefetch_loop)
-
-L(sh_8_end_no_prefetch_loop):
-	lea	32(%ecx), %ecx
-	add	%ecx, %edi
-	add	%edi, %edx
-	lea	8(%edi, %eax), %eax
-	POP	(%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(shl_9):
-#ifndef USE_AS_MEMMOVE
-	movaps	-9(%eax), %xmm1
-#else
-	movl	DEST+4(%esp), %edi
-	movaps	-9(%eax), %xmm1
-	movdqu	%xmm0, (%edi)
-#endif
-#ifdef DATA_CACHE_SIZE_HALF
-	cmp	$DATA_CACHE_SIZE_HALF, %ecx
-#else
-# if (defined SHARED || defined __PIC__)
-	SETUP_PIC_REG(bx)
-	add	$_GLOBAL_OFFSET_TABLE_, %ebx
-	cmp	__x86_data_cache_size_half@GOTOFF(%ebx), %ecx
-# else
-	cmp	__x86_data_cache_size_half, %ecx
-# endif
-#endif
-	jb L(sh_9_no_prefetch)
-
-	lea	-64(%ecx), %ecx
-
-	.p2align 4
-L(Shl9LoopStart):
-	prefetcht0 0x1c0(%eax)
-	prefetcht0 0x1c0(%edx)
-	movaps	7(%eax), %xmm2
-	movaps	23(%eax), %xmm3
-	movaps	39(%eax), %xmm4
-	movaps	55(%eax), %xmm5
-	movaps	%xmm5, %xmm7
-	palignr	$9, %xmm4, %xmm5
-	palignr	$9, %xmm3, %xmm4
-	movaps	%xmm5, 48(%edx)
-	palignr	$9, %xmm2, %xmm3
-	lea	64(%eax), %eax
-	palignr	$9, %xmm1, %xmm2
-	movaps	%xmm4, 32(%edx)
-	movaps	%xmm3, 16(%edx)
-	movaps	%xmm7, %xmm1
-	movaps	%xmm2, (%edx)
-	lea	64(%edx), %edx
-	sub	$64, %ecx
-	ja	L(Shl9LoopStart)
-
-L(Shl9LoopLeave):
-	add	$32, %ecx
-	jle	L(shl_end_0)
-
-	movaps	7(%eax), %xmm2
-	movaps	23(%eax), %xmm3
-	palignr	$9, %xmm2, %xmm3
-	palignr	$9, %xmm1, %xmm2
-
-	movaps	%xmm2, (%edx)
-	movaps	%xmm3, 16(%edx)
-	lea	32(%edx, %ecx), %edx
-	lea	32(%eax, %ecx), %eax
-	POP (%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(sh_9_no_prefetch):
-	lea	-32(%ecx), %ecx
-	lea	-9(%eax), %eax
-	xor	%edi, %edi
-
-	.p2align 4
-L(sh_9_no_prefetch_loop):
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm4
-	palignr	$9, %xmm2, %xmm3
-	palignr	$9, %xmm1, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jb	L(sh_9_end_no_prefetch_loop)
-
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm1
-	palignr	$9, %xmm2, %xmm3
-	palignr	$9, %xmm4, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jae	L(sh_9_no_prefetch_loop)
-
-L(sh_9_end_no_prefetch_loop):
-	lea	32(%ecx), %ecx
-	add	%ecx, %edi
-	add	%edi, %edx
-	lea	9(%edi, %eax), %eax
-	POP	(%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(shl_10):
-#ifndef USE_AS_MEMMOVE
-	movaps	-10(%eax), %xmm1
-#else
-	movl	DEST+4(%esp), %edi
-	movaps	-10(%eax), %xmm1
-	movdqu	%xmm0, (%edi)
-#endif
-#ifdef DATA_CACHE_SIZE_HALF
-	cmp	$DATA_CACHE_SIZE_HALF, %ecx
-#else
-# if (defined SHARED || defined __PIC__)
-	SETUP_PIC_REG(bx)
-	add	$_GLOBAL_OFFSET_TABLE_, %ebx
-	cmp	__x86_data_cache_size_half@GOTOFF(%ebx), %ecx
-# else
-	cmp	__x86_data_cache_size_half, %ecx
-# endif
-#endif
-	jb L(sh_10_no_prefetch)
-
-	lea	-64(%ecx), %ecx
-
-	.p2align 4
-L(Shl10LoopStart):
-	prefetcht0 0x1c0(%eax)
-	prefetcht0 0x1c0(%edx)
-	movaps	6(%eax), %xmm2
-	movaps	22(%eax), %xmm3
-	movaps	38(%eax), %xmm4
-	movaps	54(%eax), %xmm5
-	movaps	%xmm5, %xmm7
-	palignr	$10, %xmm4, %xmm5
-	palignr	$10, %xmm3, %xmm4
-	movaps	%xmm5, 48(%edx)
-	palignr	$10, %xmm2, %xmm3
-	lea	64(%eax), %eax
-	palignr	$10, %xmm1, %xmm2
-	movaps	%xmm4, 32(%edx)
-	movaps	%xmm3, 16(%edx)
-	movaps	%xmm7, %xmm1
-	movaps	%xmm2, (%edx)
-	lea	64(%edx), %edx
-	sub	$64, %ecx
-	ja	L(Shl10LoopStart)
-
-L(Shl10LoopLeave):
-	add	$32, %ecx
-	jle	L(shl_end_0)
-
-	movaps	6(%eax), %xmm2
-	movaps	22(%eax), %xmm3
-	palignr	$10, %xmm2, %xmm3
-	palignr	$10, %xmm1, %xmm2
-
-	movaps	%xmm2, (%edx)
-	movaps	%xmm3, 16(%edx)
-	lea	32(%edx, %ecx), %edx
-	lea	32(%eax, %ecx), %eax
-	POP (%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(sh_10_no_prefetch):
-	lea	-32(%ecx), %ecx
-	lea	-10(%eax), %eax
-	xor	%edi, %edi
-
-	.p2align 4
-L(sh_10_no_prefetch_loop):
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm4
-	palignr	$10, %xmm2, %xmm3
-	palignr	$10, %xmm1, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jb	L(sh_10_end_no_prefetch_loop)
-
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm1
-	palignr	$10, %xmm2, %xmm3
-	palignr	$10, %xmm4, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jae	L(sh_10_no_prefetch_loop)
-
-L(sh_10_end_no_prefetch_loop):
-	lea	32(%ecx), %ecx
-	add	%ecx, %edi
-	add	%edi, %edx
-	lea	10(%edi, %eax), %eax
-	POP	(%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(shl_11):
-#ifndef USE_AS_MEMMOVE
-	movaps	-11(%eax), %xmm1
-#else
-	movl	DEST+4(%esp), %edi
-	movaps	-11(%eax), %xmm1
-	movdqu	%xmm0, (%edi)
-#endif
-#ifdef DATA_CACHE_SIZE_HALF
-	cmp	$DATA_CACHE_SIZE_HALF, %ecx
-#else
-# if (defined SHARED || defined __PIC__)
-	SETUP_PIC_REG(bx)
-	add	$_GLOBAL_OFFSET_TABLE_, %ebx
-	cmp	__x86_data_cache_size_half@GOTOFF(%ebx), %ecx
-# else
-	cmp	__x86_data_cache_size_half, %ecx
-# endif
-#endif
-	jb L(sh_11_no_prefetch)
-
-	lea	-64(%ecx), %ecx
-
-	.p2align 4
-L(Shl11LoopStart):
-	prefetcht0 0x1c0(%eax)
-	prefetcht0 0x1c0(%edx)
-	movaps	5(%eax), %xmm2
-	movaps	21(%eax), %xmm3
-	movaps	37(%eax), %xmm4
-	movaps	53(%eax), %xmm5
-	movaps	%xmm5, %xmm7
-	palignr	$11, %xmm4, %xmm5
-	palignr	$11, %xmm3, %xmm4
-	movaps	%xmm5, 48(%edx)
-	palignr	$11, %xmm2, %xmm3
-	lea	64(%eax), %eax
-	palignr	$11, %xmm1, %xmm2
-	movaps	%xmm4, 32(%edx)
-	movaps	%xmm3, 16(%edx)
-	movaps	%xmm7, %xmm1
-	movaps	%xmm2, (%edx)
-	lea	64(%edx), %edx
-	sub	$64, %ecx
-	ja	L(Shl11LoopStart)
-
-L(Shl11LoopLeave):
-	add	$32, %ecx
-	jle	L(shl_end_0)
-
-	movaps	5(%eax), %xmm2
-	movaps	21(%eax), %xmm3
-	palignr	$11, %xmm2, %xmm3
-	palignr	$11, %xmm1, %xmm2
-
-	movaps	%xmm2, (%edx)
-	movaps	%xmm3, 16(%edx)
-	lea	32(%edx, %ecx), %edx
-	lea	32(%eax, %ecx), %eax
-	POP (%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(sh_11_no_prefetch):
-	lea	-32(%ecx), %ecx
-	lea	-11(%eax), %eax
-	xor	%edi, %edi
-
-	.p2align 4
-L(sh_11_no_prefetch_loop):
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm4
-	palignr	$11, %xmm2, %xmm3
-	palignr	$11, %xmm1, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jb	L(sh_11_end_no_prefetch_loop)
-
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm1
-	palignr	$11, %xmm2, %xmm3
-	palignr	$11, %xmm4, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jae	L(sh_11_no_prefetch_loop)
-
-L(sh_11_end_no_prefetch_loop):
-	lea	32(%ecx), %ecx
-	add	%ecx, %edi
-	add	%edi, %edx
-	lea	11(%edi, %eax), %eax
-	POP	(%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(shl_12):
-#ifndef USE_AS_MEMMOVE
-	movaps	-12(%eax), %xmm1
-#else
-	movl	DEST+4(%esp), %edi
-	movaps	-12(%eax), %xmm1
-	movdqu	%xmm0, (%edi)
-#endif
-#ifdef DATA_CACHE_SIZE_HALF
-	cmp	$DATA_CACHE_SIZE_HALF, %ecx
-#else
-# if (defined SHARED || defined __PIC__)
-	SETUP_PIC_REG(bx)
-	add	$_GLOBAL_OFFSET_TABLE_, %ebx
-	cmp	__x86_data_cache_size_half@GOTOFF(%ebx), %ecx
-# else
-	cmp	__x86_data_cache_size_half, %ecx
-# endif
-#endif
-	jb L(sh_12_no_prefetch)
-
-	lea	-64(%ecx), %ecx
-
-	.p2align 4
-L(Shl12LoopStart):
-	prefetcht0 0x1c0(%eax)
-	prefetcht0 0x1c0(%edx)
-	movaps	4(%eax), %xmm2
-	movaps	20(%eax), %xmm3
-	movaps	36(%eax), %xmm4
-	movaps	52(%eax), %xmm5
-	movaps	%xmm5, %xmm7
-	palignr	$12, %xmm4, %xmm5
-	palignr	$12, %xmm3, %xmm4
-	movaps	%xmm5, 48(%edx)
-	palignr	$12, %xmm2, %xmm3
-	lea	64(%eax), %eax
-	palignr	$12, %xmm1, %xmm2
-	movaps	%xmm4, 32(%edx)
-	movaps	%xmm3, 16(%edx)
-	movaps	%xmm7, %xmm1
-	movaps	%xmm2, (%edx)
-	lea	64(%edx), %edx
-	sub	$64, %ecx
-	ja	L(Shl12LoopStart)
-
-L(Shl12LoopLeave):
-	add	$32, %ecx
-	jle	L(shl_end_0)
-
-	movaps	4(%eax), %xmm2
-	movaps	20(%eax), %xmm3
-	palignr	$12, %xmm2, %xmm3
-	palignr	$12, %xmm1, %xmm2
-
-	movaps	%xmm2, (%edx)
-	movaps	%xmm3, 16(%edx)
-	lea	32(%edx, %ecx), %edx
-	lea	32(%eax, %ecx), %eax
-	POP (%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(sh_12_no_prefetch):
-	lea	-32(%ecx), %ecx
-	lea	-12(%eax), %eax
-	xor	%edi, %edi
-
-	.p2align 4
-L(sh_12_no_prefetch_loop):
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm4
-	palignr	$12, %xmm2, %xmm3
-	palignr	$12, %xmm1, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jb	L(sh_12_end_no_prefetch_loop)
-
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm1
-	palignr	$12, %xmm2, %xmm3
-	palignr	$12, %xmm4, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jae	L(sh_12_no_prefetch_loop)
-
-L(sh_12_end_no_prefetch_loop):
-	lea	32(%ecx), %ecx
-	add	%ecx, %edi
-	add	%edi, %edx
-	lea	12(%edi, %eax), %eax
-	POP	(%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(shl_13):
-#ifndef USE_AS_MEMMOVE
-	movaps	-13(%eax), %xmm1
-#else
-	movl	DEST+4(%esp), %edi
-	movaps	-13(%eax), %xmm1
-	movdqu	%xmm0, (%edi)
-#endif
-#ifdef DATA_CACHE_SIZE_HALF
-	cmp	$DATA_CACHE_SIZE_HALF, %ecx
-#else
-# if (defined SHARED || defined __PIC__)
-	SETUP_PIC_REG(bx)
-	add	$_GLOBAL_OFFSET_TABLE_, %ebx
-	cmp	__x86_data_cache_size_half@GOTOFF(%ebx), %ecx
-# else
-	cmp	__x86_data_cache_size_half, %ecx
-# endif
-#endif
-	jb L(sh_13_no_prefetch)
-
-	lea	-64(%ecx), %ecx
-
-	.p2align 4
-L(Shl13LoopStart):
-	prefetcht0 0x1c0(%eax)
-	prefetcht0 0x1c0(%edx)
-	movaps	3(%eax), %xmm2
-	movaps	19(%eax), %xmm3
-	movaps	35(%eax), %xmm4
-	movaps	51(%eax), %xmm5
-	movaps	%xmm5, %xmm7
-	palignr	$13, %xmm4, %xmm5
-	palignr	$13, %xmm3, %xmm4
-	movaps	%xmm5, 48(%edx)
-	palignr	$13, %xmm2, %xmm3
-	lea	64(%eax), %eax
-	palignr	$13, %xmm1, %xmm2
-	movaps	%xmm4, 32(%edx)
-	movaps	%xmm3, 16(%edx)
-	movaps	%xmm7, %xmm1
-	movaps	%xmm2, (%edx)
-	lea	64(%edx), %edx
-	sub	$64, %ecx
-	ja	L(Shl13LoopStart)
-
-L(Shl13LoopLeave):
-	add	$32, %ecx
-	jle	L(shl_end_0)
-
-	movaps	3(%eax), %xmm2
-	movaps	19(%eax), %xmm3
-	palignr	$13, %xmm2, %xmm3
-	palignr	$13, %xmm1, %xmm2
-
-	movaps	%xmm2, (%edx)
-	movaps	%xmm3, 16(%edx)
-	lea	32(%edx, %ecx), %edx
-	lea	32(%eax, %ecx), %eax
-	POP (%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(sh_13_no_prefetch):
-	lea	-32(%ecx), %ecx
-	lea	-13(%eax), %eax
-	xor	%edi, %edi
-
-	.p2align 4
-L(sh_13_no_prefetch_loop):
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm4
-	palignr	$13, %xmm2, %xmm3
-	palignr	$13, %xmm1, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jb	L(sh_13_end_no_prefetch_loop)
-
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm1
-	palignr	$13, %xmm2, %xmm3
-	palignr	$13, %xmm4, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jae	L(sh_13_no_prefetch_loop)
-
-L(sh_13_end_no_prefetch_loop):
-	lea	32(%ecx), %ecx
-	add	%ecx, %edi
-	add	%edi, %edx
-	lea	13(%edi, %eax), %eax
-	POP	(%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(shl_14):
-#ifndef USE_AS_MEMMOVE
-	movaps	-14(%eax), %xmm1
-#else
-	movl	DEST+4(%esp), %edi
-	movaps	-14(%eax), %xmm1
-	movdqu	%xmm0, (%edi)
-#endif
-#ifdef DATA_CACHE_SIZE_HALF
-	cmp	$DATA_CACHE_SIZE_HALF, %ecx
-#else
-# if (defined SHARED || defined __PIC__)
-	SETUP_PIC_REG(bx)
-	add	$_GLOBAL_OFFSET_TABLE_, %ebx
-	cmp	__x86_data_cache_size_half@GOTOFF(%ebx), %ecx
-# else
-	cmp	__x86_data_cache_size_half, %ecx
-# endif
-#endif
-	jb L(sh_14_no_prefetch)
-
-	lea	-64(%ecx), %ecx
-
-	.p2align 4
-L(Shl14LoopStart):
-	prefetcht0 0x1c0(%eax)
-	prefetcht0 0x1c0(%edx)
-	movaps	2(%eax), %xmm2
-	movaps	18(%eax), %xmm3
-	movaps	34(%eax), %xmm4
-	movaps	50(%eax), %xmm5
-	movaps	%xmm5, %xmm7
-	palignr	$14, %xmm4, %xmm5
-	palignr	$14, %xmm3, %xmm4
-	movaps	%xmm5, 48(%edx)
-	palignr	$14, %xmm2, %xmm3
-	lea	64(%eax), %eax
-	palignr	$14, %xmm1, %xmm2
-	movaps	%xmm4, 32(%edx)
-	movaps	%xmm3, 16(%edx)
-	movaps	%xmm7, %xmm1
-	movaps	%xmm2, (%edx)
-	lea	64(%edx), %edx
-	sub	$64, %ecx
-	ja	L(Shl14LoopStart)
-
-L(Shl14LoopLeave):
-	add	$32, %ecx
-	jle	L(shl_end_0)
-
-	movaps	2(%eax), %xmm2
-	movaps	18(%eax), %xmm3
-	palignr	$14, %xmm2, %xmm3
-	palignr	$14, %xmm1, %xmm2
-
-	movaps	%xmm2, (%edx)
-	movaps	%xmm3, 16(%edx)
-	lea	32(%edx, %ecx), %edx
-	lea	32(%eax, %ecx), %eax
-	POP (%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(sh_14_no_prefetch):
-	lea	-32(%ecx), %ecx
-	lea	-14(%eax), %eax
-	xor	%edi, %edi
-
-	.p2align 4
-L(sh_14_no_prefetch_loop):
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm4
-	palignr	$14, %xmm2, %xmm3
-	palignr	$14, %xmm1, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jb	L(sh_14_end_no_prefetch_loop)
-
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm1
-	palignr	$14, %xmm2, %xmm3
-	palignr	$14, %xmm4, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jae	L(sh_14_no_prefetch_loop)
-
-L(sh_14_end_no_prefetch_loop):
-	lea	32(%ecx), %ecx
-	add	%ecx, %edi
-	add	%edi, %edx
-	lea	14(%edi, %eax), %eax
-	POP	(%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(shl_15):
-#ifndef USE_AS_MEMMOVE
-	movaps	-15(%eax), %xmm1
-#else
-	movl	DEST+4(%esp), %edi
-	movaps	-15(%eax), %xmm1
-	movdqu	%xmm0, (%edi)
-#endif
-#ifdef DATA_CACHE_SIZE_HALF
-	cmp	$DATA_CACHE_SIZE_HALF, %ecx
-#else
-# if (defined SHARED || defined __PIC__)
-	SETUP_PIC_REG(bx)
-	add	$_GLOBAL_OFFSET_TABLE_, %ebx
-	cmp	__x86_data_cache_size_half@GOTOFF(%ebx), %ecx
-# else
-	cmp	__x86_data_cache_size_half, %ecx
-# endif
-#endif
-	jb L(sh_15_no_prefetch)
-
-	lea	-64(%ecx), %ecx
-
-	.p2align 4
-L(Shl15LoopStart):
-	prefetcht0 0x1c0(%eax)
-	prefetcht0 0x1c0(%edx)
-	movaps	1(%eax), %xmm2
-	movaps	17(%eax), %xmm3
-	movaps	33(%eax), %xmm4
-	movaps	49(%eax), %xmm5
-	movaps	%xmm5, %xmm7
-	palignr	$15, %xmm4, %xmm5
-	palignr	$15, %xmm3, %xmm4
-	movaps	%xmm5, 48(%edx)
-	palignr	$15, %xmm2, %xmm3
-	lea	64(%eax), %eax
-	palignr	$15, %xmm1, %xmm2
-	movaps	%xmm4, 32(%edx)
-	movaps	%xmm3, 16(%edx)
-	movaps	%xmm7, %xmm1
-	movaps	%xmm2, (%edx)
-	lea	64(%edx), %edx
-	sub	$64, %ecx
-	ja	L(Shl15LoopStart)
-
-L(Shl15LoopLeave):
-	add	$32, %ecx
-	jle	L(shl_end_0)
-
-	movaps	1(%eax), %xmm2
-	movaps	17(%eax), %xmm3
-	palignr	$15, %xmm2, %xmm3
-	palignr	$15, %xmm1, %xmm2
-
-	movaps	%xmm2, (%edx)
-	movaps	%xmm3, 16(%edx)
-	lea	32(%edx, %ecx), %edx
-	lea	32(%eax, %ecx), %eax
-	POP (%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(sh_15_no_prefetch):
-	lea	-32(%ecx), %ecx
-	lea	-15(%eax), %eax
-	xor	%edi, %edi
-
-	.p2align 4
-L(sh_15_no_prefetch_loop):
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm4
-	palignr	$15, %xmm2, %xmm3
-	palignr	$15, %xmm1, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jb	L(sh_15_end_no_prefetch_loop)
-
-	movdqa	16(%eax, %edi), %xmm2
-	sub	$32, %ecx
-	movdqa	32(%eax, %edi), %xmm3
-	movdqa	%xmm3, %xmm1
-	palignr	$15, %xmm2, %xmm3
-	palignr	$15, %xmm4, %xmm2
-	lea	32(%edi), %edi
-	movdqa	%xmm2, -32(%edx, %edi)
-	movdqa	%xmm3, -16(%edx, %edi)
-	jae	L(sh_15_no_prefetch_loop)
-
-L(sh_15_end_no_prefetch_loop):
-	lea	32(%ecx), %ecx
-	add	%ecx, %edi
-	add	%edi, %edx
-	lea	15(%edi, %eax), %eax
-	POP	(%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(shl_end_0):
-	lea	32(%ecx), %ecx
-	lea	(%edx, %ecx), %edx
-	lea	(%eax, %ecx), %eax
-	POP	(%edi)
-	BRANCH_TO_JMPTBL_ENTRY(L(table_48bytes_fwd), %ecx, 4)
-
-	.p2align 4
-L(fwd_write_44bytes):
-	movq	-44(%eax), %xmm0
-	movq	%xmm0, -44(%edx)
-L(fwd_write_36bytes):
-	movq	-36(%eax), %xmm0
-	movq	%xmm0, -36(%edx)
-L(fwd_write_28bytes):
-	movq	-28(%eax), %xmm0
-	movq	%xmm0, -28(%edx)
-L(fwd_write_20bytes):
-	movq	-20(%eax), %xmm0
-	movq	%xmm0, -20(%edx)
-L(fwd_write_12bytes):
-	movq	-12(%eax), %xmm0
-	movq	%xmm0, -12(%edx)
-L(fwd_write_4bytes):
-	movl	-4(%eax), %ecx
-	movl	%ecx, -4(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_40bytes):
-	movq	-40(%eax), %xmm0
-	movq	%xmm0, -40(%edx)
-L(fwd_write_32bytes):
-	movq	-32(%eax), %xmm0
-	movq	%xmm0, -32(%edx)
-L(fwd_write_24bytes):
-	movq	-24(%eax), %xmm0
-	movq	%xmm0, -24(%edx)
-L(fwd_write_16bytes):
-	movq	-16(%eax), %xmm0
-	movq	%xmm0, -16(%edx)
-L(fwd_write_8bytes):
-	movq	-8(%eax), %xmm0
-	movq	%xmm0, -8(%edx)
-L(fwd_write_0bytes):
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_5bytes):
-	movl	-5(%eax), %ecx
-	movl	-4(%eax), %eax
-	movl	%ecx, -5(%edx)
-	movl	%eax, -4(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_45bytes):
-	movq	-45(%eax), %xmm0
-	movq	%xmm0, -45(%edx)
-L(fwd_write_37bytes):
-	movq	-37(%eax), %xmm0
-	movq	%xmm0, -37(%edx)
-L(fwd_write_29bytes):
-	movq	-29(%eax), %xmm0
-	movq	%xmm0, -29(%edx)
-L(fwd_write_21bytes):
-	movq	-21(%eax), %xmm0
-	movq	%xmm0, -21(%edx)
-L(fwd_write_13bytes):
-	movq	-13(%eax), %xmm0
-	movq	%xmm0, -13(%edx)
-	movl	-5(%eax), %ecx
-	movl	%ecx, -5(%edx)
-	movzbl	-1(%eax), %ecx
-	movb	%cl, -1(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_41bytes):
-	movq	-41(%eax), %xmm0
-	movq	%xmm0, -41(%edx)
-L(fwd_write_33bytes):
-	movq	-33(%eax), %xmm0
-	movq	%xmm0, -33(%edx)
-L(fwd_write_25bytes):
-	movq	-25(%eax), %xmm0
-	movq	%xmm0, -25(%edx)
-L(fwd_write_17bytes):
-	movq	-17(%eax), %xmm0
-	movq	%xmm0, -17(%edx)
-L(fwd_write_9bytes):
-	movq	-9(%eax), %xmm0
-	movq	%xmm0, -9(%edx)
-L(fwd_write_1bytes):
-	movzbl	-1(%eax), %ecx
-	movb	%cl, -1(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_46bytes):
-	movq	-46(%eax), %xmm0
-	movq	%xmm0, -46(%edx)
-L(fwd_write_38bytes):
-	movq	-38(%eax), %xmm0
-	movq	%xmm0, -38(%edx)
-L(fwd_write_30bytes):
-	movq	-30(%eax), %xmm0
-	movq	%xmm0, -30(%edx)
-L(fwd_write_22bytes):
-	movq	-22(%eax), %xmm0
-	movq	%xmm0, -22(%edx)
-L(fwd_write_14bytes):
-	movq	-14(%eax), %xmm0
-	movq	%xmm0, -14(%edx)
-L(fwd_write_6bytes):
-	movl	-6(%eax), %ecx
-	movl	%ecx, -6(%edx)
-	movzwl	-2(%eax), %ecx
-	movw	%cx, -2(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_42bytes):
-	movq	-42(%eax), %xmm0
-	movq	%xmm0, -42(%edx)
-L(fwd_write_34bytes):
-	movq	-34(%eax), %xmm0
-	movq	%xmm0, -34(%edx)
-L(fwd_write_26bytes):
-	movq	-26(%eax), %xmm0
-	movq	%xmm0, -26(%edx)
-L(fwd_write_18bytes):
-	movq	-18(%eax), %xmm0
-	movq	%xmm0, -18(%edx)
-L(fwd_write_10bytes):
-	movq	-10(%eax), %xmm0
-	movq	%xmm0, -10(%edx)
-L(fwd_write_2bytes):
-	movzwl	-2(%eax), %ecx
-	movw	%cx, -2(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_47bytes):
-	movq	-47(%eax), %xmm0
-	movq	%xmm0, -47(%edx)
-L(fwd_write_39bytes):
-	movq	-39(%eax), %xmm0
-	movq	%xmm0, -39(%edx)
-L(fwd_write_31bytes):
-	movq	-31(%eax), %xmm0
-	movq	%xmm0, -31(%edx)
-L(fwd_write_23bytes):
-	movq	-23(%eax), %xmm0
-	movq	%xmm0, -23(%edx)
-L(fwd_write_15bytes):
-	movq	-15(%eax), %xmm0
-	movq	%xmm0, -15(%edx)
-L(fwd_write_7bytes):
-	movl	-7(%eax), %ecx
-	movl	%ecx, -7(%edx)
-	movzwl	-3(%eax), %ecx
-	movzbl	-1(%eax), %eax
-	movw	%cx, -3(%edx)
-	movb	%al, -1(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_43bytes):
-	movq	-43(%eax), %xmm0
-	movq	%xmm0, -43(%edx)
-L(fwd_write_35bytes):
-	movq	-35(%eax), %xmm0
-	movq	%xmm0, -35(%edx)
-L(fwd_write_27bytes):
-	movq	-27(%eax), %xmm0
-	movq	%xmm0, -27(%edx)
-L(fwd_write_19bytes):
-	movq	-19(%eax), %xmm0
-	movq	%xmm0, -19(%edx)
-L(fwd_write_11bytes):
-	movq	-11(%eax), %xmm0
-	movq	%xmm0, -11(%edx)
-L(fwd_write_3bytes):
-	movzwl	-3(%eax), %ecx
-	movzbl	-1(%eax), %eax
-	movw	%cx, -3(%edx)
-	movb	%al, -1(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_40bytes_align):
-	movdqa	-40(%eax), %xmm0
-	movdqa	%xmm0, -40(%edx)
-L(fwd_write_24bytes_align):
-	movdqa	-24(%eax), %xmm0
-	movdqa	%xmm0, -24(%edx)
-L(fwd_write_8bytes_align):
-	movq	-8(%eax), %xmm0
-	movq	%xmm0, -8(%edx)
-L(fwd_write_0bytes_align):
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_32bytes_align):
-	movdqa	-32(%eax), %xmm0
-	movdqa	%xmm0, -32(%edx)
-L(fwd_write_16bytes_align):
-	movdqa	-16(%eax), %xmm0
-	movdqa	%xmm0, -16(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_5bytes_align):
-	movl	-5(%eax), %ecx
-	movl	-4(%eax), %eax
-	movl	%ecx, -5(%edx)
-	movl	%eax, -4(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_45bytes_align):
-	movdqa	-45(%eax), %xmm0
-	movdqa	%xmm0, -45(%edx)
-L(fwd_write_29bytes_align):
-	movdqa	-29(%eax), %xmm0
-	movdqa	%xmm0, -29(%edx)
-L(fwd_write_13bytes_align):
-	movq	-13(%eax), %xmm0
-	movq	%xmm0, -13(%edx)
-	movl	-5(%eax), %ecx
-	movl	%ecx, -5(%edx)
-	movzbl	-1(%eax), %ecx
-	movb	%cl, -1(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_37bytes_align):
-	movdqa	-37(%eax), %xmm0
-	movdqa	%xmm0, -37(%edx)
-L(fwd_write_21bytes_align):
-	movdqa	-21(%eax), %xmm0
-	movdqa	%xmm0, -21(%edx)
-	movl	-5(%eax), %ecx
-	movl	%ecx, -5(%edx)
-	movzbl	-1(%eax), %ecx
-	movb	%cl, -1(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_41bytes_align):
-	movdqa	-41(%eax), %xmm0
-	movdqa	%xmm0, -41(%edx)
-L(fwd_write_25bytes_align):
-	movdqa	-25(%eax), %xmm0
-	movdqa	%xmm0, -25(%edx)
-L(fwd_write_9bytes_align):
-	movq	-9(%eax), %xmm0
-	movq	%xmm0, -9(%edx)
-L(fwd_write_1bytes_align):
-	movzbl	-1(%eax), %ecx
-	movb	%cl, -1(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_33bytes_align):
-	movdqa	-33(%eax), %xmm0
-	movdqa	%xmm0, -33(%edx)
-L(fwd_write_17bytes_align):
-	movdqa	-17(%eax), %xmm0
-	movdqa	%xmm0, -17(%edx)
-	movzbl	-1(%eax), %ecx
-	movb	%cl, -1(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_46bytes_align):
-	movdqa	-46(%eax), %xmm0
-	movdqa	%xmm0, -46(%edx)
-L(fwd_write_30bytes_align):
-	movdqa	-30(%eax), %xmm0
-	movdqa	%xmm0, -30(%edx)
-L(fwd_write_14bytes_align):
-	movq	-14(%eax), %xmm0
-	movq	%xmm0, -14(%edx)
-L(fwd_write_6bytes_align):
-	movl	-6(%eax), %ecx
-	movl	%ecx, -6(%edx)
-	movzwl	-2(%eax), %ecx
-	movw	%cx, -2(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_38bytes_align):
-	movdqa	-38(%eax), %xmm0
-	movdqa	%xmm0, -38(%edx)
-L(fwd_write_22bytes_align):
-	movdqa	-22(%eax), %xmm0
-	movdqa	%xmm0, -22(%edx)
-	movl	-6(%eax), %ecx
-	movl	%ecx, -6(%edx)
-	movzwl	-2(%eax), %ecx
-	movw	%cx, -2(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_42bytes_align):
-	movdqa	-42(%eax), %xmm0
-	movdqa	%xmm0, -42(%edx)
-L(fwd_write_26bytes_align):
-	movdqa	-26(%eax), %xmm0
-	movdqa	%xmm0, -26(%edx)
-L(fwd_write_10bytes_align):
-	movq	-10(%eax), %xmm0
-	movq	%xmm0, -10(%edx)
-L(fwd_write_2bytes_align):
-	movzwl	-2(%eax), %ecx
-	movw	%cx, -2(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_34bytes_align):
-	movdqa	-34(%eax), %xmm0
-	movdqa	%xmm0, -34(%edx)
-L(fwd_write_18bytes_align):
-	movdqa	-18(%eax), %xmm0
-	movdqa	%xmm0, -18(%edx)
-	movzwl	-2(%eax), %ecx
-	movw	%cx, -2(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_47bytes_align):
-	movdqa	-47(%eax), %xmm0
-	movdqa	%xmm0, -47(%edx)
-L(fwd_write_31bytes_align):
-	movdqa	-31(%eax), %xmm0
-	movdqa	%xmm0, -31(%edx)
-L(fwd_write_15bytes_align):
-	movq	-15(%eax), %xmm0
-	movq	%xmm0, -15(%edx)
-L(fwd_write_7bytes_align):
-	movl	-7(%eax), %ecx
-	movl	%ecx, -7(%edx)
-	movzwl	-3(%eax), %ecx
-	movzbl	-1(%eax), %eax
-	movw	%cx, -3(%edx)
-	movb	%al, -1(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_39bytes_align):
-	movdqa	-39(%eax), %xmm0
-	movdqa	%xmm0, -39(%edx)
-L(fwd_write_23bytes_align):
-	movdqa	-23(%eax), %xmm0
-	movdqa	%xmm0, -23(%edx)
-	movl	-7(%eax), %ecx
-	movl	%ecx, -7(%edx)
-	movzwl	-3(%eax), %ecx
-	movzbl	-1(%eax), %eax
-	movw	%cx, -3(%edx)
-	movb	%al, -1(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_43bytes_align):
-	movdqa	-43(%eax), %xmm0
-	movdqa	%xmm0, -43(%edx)
-L(fwd_write_27bytes_align):
-	movdqa	-27(%eax), %xmm0
-	movdqa	%xmm0, -27(%edx)
-L(fwd_write_11bytes_align):
-	movq	-11(%eax), %xmm0
-	movq	%xmm0, -11(%edx)
-L(fwd_write_3bytes_align):
-	movzwl	-3(%eax), %ecx
-	movzbl	-1(%eax), %eax
-	movw	%cx, -3(%edx)
-	movb	%al, -1(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_35bytes_align):
-	movdqa	-35(%eax), %xmm0
-	movdqa	%xmm0, -35(%edx)
-L(fwd_write_19bytes_align):
-	movdqa	-19(%eax), %xmm0
-	movdqa	%xmm0, -19(%edx)
-	movzwl	-3(%eax), %ecx
-	movzbl	-1(%eax), %eax
-	movw	%cx, -3(%edx)
-	movb	%al, -1(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_44bytes_align):
-	movdqa	-44(%eax), %xmm0
-	movdqa	%xmm0, -44(%edx)
-L(fwd_write_28bytes_align):
-	movdqa	-28(%eax), %xmm0
-	movdqa	%xmm0, -28(%edx)
-L(fwd_write_12bytes_align):
-	movq	-12(%eax), %xmm0
-	movq	%xmm0, -12(%edx)
-L(fwd_write_4bytes_align):
-	movl	-4(%eax), %ecx
-	movl	%ecx, -4(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(fwd_write_36bytes_align):
-	movdqa	-36(%eax), %xmm0
-	movdqa	%xmm0, -36(%edx)
-L(fwd_write_20bytes_align):
-	movdqa	-20(%eax), %xmm0
-	movdqa	%xmm0, -20(%edx)
-	movl	-4(%eax), %ecx
-	movl	%ecx, -4(%edx)
-#ifdef USE_AS_MEMPCPY
-	movl	%edx, %eax
-#else
-	movl	DEST(%esp), %eax
-#endif
-	RETURN_END
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(large_page):
-	movdqu	(%eax), %xmm1
-#ifdef USE_AS_MEMMOVE
-	movl	DEST+4(%esp), %edi
-	movdqu	%xmm0, (%edi)
-#endif
-	lea	16(%eax), %eax
-	movntdq	%xmm1, (%edx)
-	lea	16(%edx), %edx
-	lea	-0x90(%ecx), %ecx
-	POP (%edi)
-
-	.p2align 4
-L(large_page_loop):
-	movdqu	(%eax), %xmm0
-	movdqu	0x10(%eax), %xmm1
-	movdqu	0x20(%eax), %xmm2
-	movdqu	0x30(%eax), %xmm3
-	movdqu	0x40(%eax), %xmm4
-	movdqu	0x50(%eax), %xmm5
-	movdqu	0x60(%eax), %xmm6
-	movdqu	0x70(%eax), %xmm7
-	lea	0x80(%eax), %eax
-
-	sub	$0x80, %ecx
-	movntdq	%xmm0, (%edx)
-	movntdq	%xmm1, 0x10(%edx)
-	movntdq	%xmm2, 0x20(%edx)
-	movntdq	%xmm3, 0x30(%edx)
-	movntdq	%xmm4, 0x40(%edx)
-	movntdq	%xmm5, 0x50(%edx)
-	movntdq	%xmm6, 0x60(%edx)
-	movntdq	%xmm7, 0x70(%edx)
-	lea	0x80(%edx), %edx
-	jae	L(large_page_loop)
-	cmp	$-0x40, %ecx
-	lea	0x80(%ecx), %ecx
-	jl	L(large_page_less_64bytes)
-
-	movdqu	(%eax), %xmm0
-	movdqu	0x10(%eax), %xmm1
-	movdqu	0x20(%eax), %xmm2
-	movdqu	0x30(%eax), %xmm3
-	lea	0x40(%eax), %eax
-
-	movntdq	%xmm0, (%edx)
-	movntdq	%xmm1, 0x10(%edx)
-	movntdq	%xmm2, 0x20(%edx)
-	movntdq	%xmm3, 0x30(%edx)
-	lea	0x40(%edx), %edx
-	sub	$0x40, %ecx
-L(large_page_less_64bytes):
-	cmp	$32, %ecx
-	jb	L(large_page_less_32bytes)
-	movdqu	(%eax), %xmm0
-	movdqu	0x10(%eax), %xmm1
-	lea	0x20(%eax), %eax
-	movntdq	%xmm0, (%edx)
-	movntdq	%xmm1, 0x10(%edx)
-	lea	0x20(%edx), %edx
-	sub	$0x20, %ecx
-L(large_page_less_32bytes):
-	add	%ecx, %edx
-	add	%ecx, %eax
-	sfence
-	BRANCH_TO_JMPTBL_ENTRY (L(table_48bytes_fwd), %ecx, 4)
-
-	.p2align 4
-L(bk_write_44bytes):
-	movq	36(%eax), %xmm0
-	movq	%xmm0, 36(%edx)
-L(bk_write_36bytes):
-	movq	28(%eax), %xmm0
-	movq	%xmm0, 28(%edx)
-L(bk_write_28bytes):
-	movq	20(%eax), %xmm0
-	movq	%xmm0, 20(%edx)
-L(bk_write_20bytes):
-	movq	12(%eax), %xmm0
-	movq	%xmm0, 12(%edx)
-L(bk_write_12bytes):
-	movq	4(%eax), %xmm0
-	movq	%xmm0, 4(%edx)
-L(bk_write_4bytes):
-	movl	(%eax), %ecx
-	movl	%ecx, (%edx)
-L(bk_write_0bytes):
-	movl	DEST(%esp), %eax
-#ifdef USE_AS_MEMPCPY
-	movl	LEN(%esp), %ecx
-	add	%ecx, %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(bk_write_40bytes):
-	movq	32(%eax), %xmm0
-	movq	%xmm0, 32(%edx)
-L(bk_write_32bytes):
-	movq	24(%eax), %xmm0
-	movq	%xmm0, 24(%edx)
-L(bk_write_24bytes):
-	movq	16(%eax), %xmm0
-	movq	%xmm0, 16(%edx)
-L(bk_write_16bytes):
-	movq	8(%eax), %xmm0
-	movq	%xmm0, 8(%edx)
-L(bk_write_8bytes):
-	movq	(%eax), %xmm0
-	movq	%xmm0, (%edx)
-	movl	DEST(%esp), %eax
-#ifdef USE_AS_MEMPCPY
-	movl	LEN(%esp), %ecx
-	add	%ecx, %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(bk_write_45bytes):
-	movq	37(%eax), %xmm0
-	movq	%xmm0, 37(%edx)
-L(bk_write_37bytes):
-	movq	29(%eax), %xmm0
-	movq	%xmm0, 29(%edx)
-L(bk_write_29bytes):
-	movq	21(%eax), %xmm0
-	movq	%xmm0, 21(%edx)
-L(bk_write_21bytes):
-	movq	13(%eax), %xmm0
-	movq	%xmm0, 13(%edx)
-L(bk_write_13bytes):
-	movq	5(%eax), %xmm0
-	movq	%xmm0, 5(%edx)
-L(bk_write_5bytes):
-	movl	1(%eax), %ecx
-	movl	%ecx, 1(%edx)
-L(bk_write_1bytes):
-	movzbl	(%eax), %ecx
-	movb	%cl, (%edx)
-	movl	DEST(%esp), %eax
-#ifdef USE_AS_MEMPCPY
-	movl	LEN(%esp), %ecx
-	add	%ecx, %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(bk_write_41bytes):
-	movq	33(%eax), %xmm0
-	movq	%xmm0, 33(%edx)
-L(bk_write_33bytes):
-	movq	25(%eax), %xmm0
-	movq	%xmm0, 25(%edx)
-L(bk_write_25bytes):
-	movq	17(%eax), %xmm0
-	movq	%xmm0, 17(%edx)
-L(bk_write_17bytes):
-	movq	9(%eax), %xmm0
-	movq	%xmm0, 9(%edx)
-L(bk_write_9bytes):
-	movq	1(%eax), %xmm0
-	movq	%xmm0, 1(%edx)
-	movzbl	(%eax), %ecx
-	movb	%cl, (%edx)
-	movl	DEST(%esp), %eax
-#ifdef USE_AS_MEMPCPY
-	movl	LEN(%esp), %ecx
-	add	%ecx, %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(bk_write_46bytes):
-	movq	38(%eax), %xmm0
-	movq	%xmm0, 38(%edx)
-L(bk_write_38bytes):
-	movq	30(%eax), %xmm0
-	movq	%xmm0, 30(%edx)
-L(bk_write_30bytes):
-	movq	22(%eax), %xmm0
-	movq	%xmm0, 22(%edx)
-L(bk_write_22bytes):
-	movq	14(%eax), %xmm0
-	movq	%xmm0, 14(%edx)
-L(bk_write_14bytes):
-	movq	6(%eax), %xmm0
-	movq	%xmm0, 6(%edx)
-L(bk_write_6bytes):
-	movl	2(%eax), %ecx
-	movl	%ecx, 2(%edx)
-	movzwl	(%eax), %ecx
-	movw	%cx, (%edx)
-	movl	DEST(%esp), %eax
-#ifdef USE_AS_MEMPCPY
-	movl	LEN(%esp), %ecx
-	add	%ecx, %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(bk_write_42bytes):
-	movq	34(%eax), %xmm0
-	movq	%xmm0, 34(%edx)
-L(bk_write_34bytes):
-	movq	26(%eax), %xmm0
-	movq	%xmm0, 26(%edx)
-L(bk_write_26bytes):
-	movq	18(%eax), %xmm0
-	movq	%xmm0, 18(%edx)
-L(bk_write_18bytes):
-	movq	10(%eax), %xmm0
-	movq	%xmm0, 10(%edx)
-L(bk_write_10bytes):
-	movq	2(%eax), %xmm0
-	movq	%xmm0, 2(%edx)
-L(bk_write_2bytes):
-	movzwl	(%eax), %ecx
-	movw	%cx, (%edx)
-	movl	DEST(%esp), %eax
-#ifdef USE_AS_MEMPCPY
-	movl	LEN(%esp), %ecx
-	add	%ecx, %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(bk_write_47bytes):
-	movq	39(%eax), %xmm0
-	movq	%xmm0, 39(%edx)
-L(bk_write_39bytes):
-	movq	31(%eax), %xmm0
-	movq	%xmm0, 31(%edx)
-L(bk_write_31bytes):
-	movq	23(%eax), %xmm0
-	movq	%xmm0, 23(%edx)
-L(bk_write_23bytes):
-	movq	15(%eax), %xmm0
-	movq	%xmm0, 15(%edx)
-L(bk_write_15bytes):
-	movq	7(%eax), %xmm0
-	movq	%xmm0, 7(%edx)
-L(bk_write_7bytes):
-	movl	3(%eax), %ecx
-	movl	%ecx, 3(%edx)
-	movzwl	1(%eax), %ecx
-	movw	%cx, 1(%edx)
-	movzbl	(%eax), %eax
-	movb	%al, (%edx)
-	movl	DEST(%esp), %eax
-#ifdef USE_AS_MEMPCPY
-	movl	LEN(%esp), %ecx
-	add	%ecx, %eax
-#endif
-	RETURN
-
-	.p2align 4
-L(bk_write_43bytes):
-	movq	35(%eax), %xmm0
-	movq	%xmm0, 35(%edx)
-L(bk_write_35bytes):
-	movq	27(%eax), %xmm0
-	movq	%xmm0, 27(%edx)
-L(bk_write_27bytes):
-	movq	19(%eax), %xmm0
-	movq	%xmm0, 19(%edx)
-L(bk_write_19bytes):
-	movq	11(%eax), %xmm0
-	movq	%xmm0, 11(%edx)
-L(bk_write_11bytes):
-	movq	3(%eax), %xmm0
-	movq	%xmm0, 3(%edx)
-L(bk_write_3bytes):
-	movzwl	1(%eax), %ecx
-	movw	%cx, 1(%edx)
-	movzbl	(%eax), %eax
-	movb	%al, (%edx)
-	movl	DEST(%esp), %eax
-#ifdef USE_AS_MEMPCPY
-	movl	LEN(%esp), %ecx
-	add	%ecx, %eax
-#endif
-	RETURN_END
-
-
-	.pushsection .rodata.ssse3,"a",@progbits
-	.p2align 2
-L(table_48bytes_fwd):
-	.int	JMPTBL (L(fwd_write_0bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_1bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_2bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_3bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_4bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_5bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_6bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_7bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_8bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_9bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_10bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_11bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_12bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_13bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_14bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_15bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_16bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_17bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_18bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_19bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_20bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_21bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_22bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_23bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_24bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_25bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_26bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_27bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_28bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_29bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_30bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_31bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_32bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_33bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_34bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_35bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_36bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_37bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_38bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_39bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_40bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_41bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_42bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_43bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_44bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_45bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_46bytes), L(table_48bytes_fwd))
-	.int	JMPTBL (L(fwd_write_47bytes), L(table_48bytes_fwd))
-
-	.p2align 2
-L(table_48bytes_fwd_align):
-	.int	JMPTBL (L(fwd_write_0bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_1bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_2bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_3bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_4bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_5bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_6bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_7bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_8bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_9bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_10bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_11bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_12bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_13bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_14bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_15bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_16bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_17bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_18bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_19bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_20bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_21bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_22bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_23bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_24bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_25bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_26bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_27bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_28bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_29bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_30bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_31bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_32bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_33bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_34bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_35bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_36bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_37bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_38bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_39bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_40bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_41bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_42bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_43bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_44bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_45bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_46bytes_align), L(table_48bytes_fwd_align))
-	.int	JMPTBL (L(fwd_write_47bytes_align), L(table_48bytes_fwd_align))
-
-	.p2align 2
-L(shl_table):
-	.int	JMPTBL (L(shl_0), L(shl_table))
-	.int	JMPTBL (L(shl_1), L(shl_table))
-	.int	JMPTBL (L(shl_2), L(shl_table))
-	.int	JMPTBL (L(shl_3), L(shl_table))
-	.int	JMPTBL (L(shl_4), L(shl_table))
-	.int	JMPTBL (L(shl_5), L(shl_table))
-	.int	JMPTBL (L(shl_6), L(shl_table))
-	.int	JMPTBL (L(shl_7), L(shl_table))
-	.int	JMPTBL (L(shl_8), L(shl_table))
-	.int	JMPTBL (L(shl_9), L(shl_table))
-	.int	JMPTBL (L(shl_10), L(shl_table))
-	.int	JMPTBL (L(shl_11), L(shl_table))
-	.int	JMPTBL (L(shl_12), L(shl_table))
-	.int	JMPTBL (L(shl_13), L(shl_table))
-	.int	JMPTBL (L(shl_14), L(shl_table))
-	.int	JMPTBL (L(shl_15), L(shl_table))
-
-	.p2align 2
-L(table_48_bytes_bwd):
-	.int	JMPTBL (L(bk_write_0bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_1bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_2bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_3bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_4bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_5bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_6bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_7bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_8bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_9bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_10bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_11bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_12bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_13bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_14bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_15bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_16bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_17bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_18bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_19bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_20bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_21bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_22bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_23bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_24bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_25bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_26bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_27bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_28bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_29bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_30bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_31bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_32bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_33bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_34bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_35bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_36bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_37bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_38bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_39bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_40bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_41bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_42bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_43bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_44bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_45bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_46bytes), L(table_48_bytes_bwd))
-	.int	JMPTBL (L(bk_write_47bytes), L(table_48_bytes_bwd))
-
-	.popsection
-
-#ifdef USE_AS_MEMMOVE
-	.p2align 4
-L(copy_backward):
-	PUSH (%edi)
-	movl	%eax, %edi
-	lea	(%ecx,%edx,1),%edx
-	lea	(%ecx,%edi,1),%edi
-	testl	$0x3, %edx
-	jnz	L(bk_align)
-
-L(bk_aligned_4):
-	cmp	$64, %ecx
-	jae	L(bk_write_more64bytes)
-
-L(bk_write_64bytesless):
-	cmp	$32, %ecx
-	jb	L(bk_write_less32bytes)
-
-L(bk_write_more32bytes):
-	/* Copy 32 bytes at a time.  */
-	sub	$32, %ecx
-	movq	-8(%edi), %xmm0
-	movq	%xmm0, -8(%edx)
-	movq	-16(%edi), %xmm0
-	movq	%xmm0, -16(%edx)
-	movq	-24(%edi), %xmm0
-	movq	%xmm0, -24(%edx)
-	movq	-32(%edi), %xmm0
-	movq	%xmm0, -32(%edx)
-	sub	$32, %edx
-	sub	$32, %edi
-
-L(bk_write_less32bytes):
-	movl	%edi, %eax
-	sub	%ecx, %edx
-	sub	%ecx, %eax
-	POP (%edi)
-L(bk_write_less32bytes_2):
-	BRANCH_TO_JMPTBL_ENTRY (L(table_48_bytes_bwd), %ecx, 4)
-
-	CFI_PUSH (%edi)
-
-	.p2align 4
-L(bk_align):
-	cmp	$8, %ecx
-	jbe	L(bk_write_less32bytes)
-	testl	$1, %edx
-	/* We get here only if (EDX & 3 ) != 0 so if (EDX & 1) ==0,
-	then	(EDX & 2) must be != 0.  */
-	jz	L(bk_got2)
-	sub	$1, %edi
-	sub	$1, %ecx
-	sub	$1, %edx
-	movzbl	(%edi), %eax
-	movb	%al, (%edx)
-
-	testl	$2, %edx
-	jz	L(bk_aligned_4)
-
-L(bk_got2):
-	sub	$2, %edi
-	sub	$2, %ecx
-	sub	$2, %edx
-	movzwl	(%edi), %eax
-	movw	%ax, (%edx)
-	jmp	L(bk_aligned_4)
-
-	.p2align 4
-L(bk_write_more64bytes):
-	/* Check alignment of last byte.  */
-	testl	$15, %edx
-	jz	L(bk_ssse3_cpy_pre)
-
-/* EDX is aligned 4 bytes, but not 16 bytes.  */
-L(bk_ssse3_align):
-	sub	$4, %edi
-	sub	$4, %ecx
-	sub	$4, %edx
-	movl	(%edi), %eax
-	movl	%eax, (%edx)
-
-	testl	$15, %edx
-	jz	L(bk_ssse3_cpy_pre)
-
-	sub	$4, %edi
-	sub	$4, %ecx
-	sub	$4, %edx
-	movl	(%edi), %eax
-	movl	%eax, (%edx)
-
-	testl	$15, %edx
-	jz	L(bk_ssse3_cpy_pre)
-
-	sub	$4, %edi
-	sub	$4, %ecx
-	sub	$4, %edx
-	movl	(%edi), %eax
-	movl	%eax, (%edx)
-
-L(bk_ssse3_cpy_pre):
-	cmp	$64, %ecx
-	jb	L(bk_write_more32bytes)
-
-	.p2align 4
-L(bk_ssse3_cpy):
-	sub	$64, %edi
-	sub	$64, %ecx
-	sub	$64, %edx
-	movdqu	0x30(%edi), %xmm3
-	movdqa	%xmm3, 0x30(%edx)
-	movdqu	0x20(%edi), %xmm2
-	movdqa	%xmm2, 0x20(%edx)
-	movdqu	0x10(%edi), %xmm1
-	movdqa	%xmm1, 0x10(%edx)
-	movdqu	(%edi), %xmm0
-	movdqa	%xmm0, (%edx)
-	cmp	$64, %ecx
-	jae	L(bk_ssse3_cpy)
-	jmp	L(bk_write_64bytesless)
-
-#endif
-
-END (MEMCPY)
diff --git a/libc/arch-x86/string/ssse3-memmove-atom.S b/libc/arch-x86/string/ssse3-memmove-atom.S
deleted file mode 100644
index 3572eac..0000000
--- a/libc/arch-x86/string/ssse3-memmove-atom.S
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright (c) 2010, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-
-#define MEMCPY memmove_atom
-#define USE_AS_MEMMOVE
-#include "ssse3-memcpy-atom.S"
diff --git a/libc/arch-x86/string/ssse3-strcat-atom.S b/libc/arch-x86/string/ssse3-strcat-atom.S
index 8d8e89d..b851d9e 100644
--- a/libc/arch-x86/string/ssse3-strcat-atom.S
+++ b/libc/arch-x86/string/ssse3-strcat-atom.S
@@ -87,7 +87,7 @@
 #define POP(REG)	popl REG; CFI_POP (REG)
 
 #ifndef STRCAT
-# define STRCAT	strcat_ssse3
+# define STRCAT	strcat
 #endif
 
 #define PARMS	4
diff --git a/libc/arch-x86/string/ssse3-strcmp-atom.S b/libc/arch-x86/string/ssse3-strcmp-atom.S
index 08f6d4a..ee253b9 100644
--- a/libc/arch-x86/string/ssse3-strcmp-atom.S
+++ b/libc/arch-x86/string/ssse3-strcmp-atom.S
@@ -108,7 +108,7 @@
 #endif
 
 #ifndef STRCMP
-# define STRCMP strcmp_ssse3
+# define STRCMP strcmp
 #endif
 
 	.section .text.ssse3,"ax",@progbits
diff --git a/libc/arch-x86/string/ssse3-strlcat-atom.S b/libc/arch-x86/string/ssse3-strlcat-atom.S
deleted file mode 100644
index 055b489..0000000
--- a/libc/arch-x86/string/ssse3-strlcat-atom.S
+++ /dev/null
@@ -1,1225 +0,0 @@
-/*
-Copyright (c) 2011, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* Optimized strlcat with SSSE3 */
-
-#ifndef cfi_startproc
-# define cfi_startproc	.cfi_startproc
-#endif
-
-#ifndef cfi_endproc
-# define cfi_endproc	.cfi_endproc
-#endif
-
-#ifndef cfi_rel_offset
-# define cfi_rel_offset(reg, off)	.cfi_rel_offset reg, off
-#endif
-
-#ifndef cfi_restore
-# define cfi_restore(reg)	.cfi_restore reg
-#endif
-
-#ifndef cfi_adjust_cfa_offset
-# define cfi_adjust_cfa_offset(off)	.cfi_adjust_cfa_offset off
-#endif
-
-#ifndef ENTRY
-# define ENTRY(name)	\
-	.type name,  @function;	\
-	.globl name;	\
-	.p2align 4;	\
-name:	\
-	cfi_startproc
-#endif
-
-#ifndef END
-# define END(name)	\
-	cfi_endproc;	\
-	.size name, .-name
-#endif
-
-#define CFI_PUSH(REG)	\
-	cfi_adjust_cfa_offset (4);	\
-	cfi_rel_offset (REG, 0)
-
-#define CFI_POP(REG)	\
-	cfi_adjust_cfa_offset (-4);	\
-	cfi_restore (REG)
-
-#define PUSH(REG)	pushl	REG;	CFI_PUSH (REG)
-#define POP(REG)	popl	REG;	CFI_POP (REG)
-#define L(label)	.L##Prolog_##label
-
-#define DST	4
-#define SRC	DST+8
-#define LEN	SRC+4
-
-	.text
-ENTRY (strlcat_ssse3)
-	mov	DST(%esp), %edx
-	PUSH	(%ebx)
-	mov	LEN(%esp), %ebx
-	sub	$4, %ebx
-	jbe	L(len_less4_prolog)
-
-#define RETURN	jmp	L(StrcpyStep)
-#define edi	ebx
-
-#define USE_AS_STRNLEN
-#define USE_AS_STRCAT
-#define USE_AS_STRLCAT
-
-#include "sse2-strlen-atom.S"
-
-	.p2align 4
-L(StrcpyStep):
-
-#undef edi
-#undef L
-#define L(label) .L##label
-#undef RETURN
-#define RETURN	POP (%ebx); ret; CFI_PUSH (%ebx);
-#define RETURN1	POP (%edi); POP (%ebx); ret; CFI_PUSH (%ebx); CFI_PUSH (%edi)
-
-        movl	SRC(%esp), %ecx
-	movl	LEN(%esp), %ebx
-
-	cmp	%eax, %ebx
-	je	L(CalculateLengthOfSrcProlog)
-	sub	%eax, %ebx
-
-	test	%ebx, %ebx
-	jz	L(CalculateLengthOfSrcProlog)
-
-	mov	DST + 4(%esp), %edx
-
-	PUSH	(%edi)
-	add	%eax, %edx
-	mov	%ecx, %edi
-	sub	%eax, %edi
-
-	cmp	$8, %ebx
-	jbe	L(StrncpyExit8Bytes)
-
-	cmpb	$0, (%ecx)
-	jz	L(Exit1)
-	cmpb	$0, 1(%ecx)
-	jz	L(Exit2)
-	cmpb	$0, 2(%ecx)
-	jz	L(Exit3)
-	cmpb	$0, 3(%ecx)
-	jz	L(Exit4)
-	cmpb	$0, 4(%ecx)
-	jz	L(Exit5)
-	cmpb	$0, 5(%ecx)
-	jz	L(Exit6)
-	cmpb	$0, 6(%ecx)
-	jz	L(Exit7)
-	cmpb	$0, 7(%ecx)
-	jz	L(Exit8)
-	cmp	$16, %ebx
-	jb	L(StrncpyExit15Bytes)
-	cmpb	$0, 8(%ecx)
-	jz	L(Exit9)
-	cmpb	$0, 9(%ecx)
-	jz	L(Exit10)
-	cmpb	$0, 10(%ecx)
-	jz	L(Exit11)
-	cmpb	$0, 11(%ecx)
-	jz	L(Exit12)
-	cmpb	$0, 12(%ecx)
-	jz	L(Exit13)
-	cmpb	$0, 13(%ecx)
-	jz	L(Exit14)
-	cmpb	$0, 14(%ecx)
-	jz	L(Exit15)
-	cmpb	$0, 15(%ecx)
-	jz	L(Exit16)
-	cmp	$16, %ebx
-	je	L(StrlcpyExit16)
-
-#define USE_AS_STRNCPY
-#include "ssse3-strcpy-atom.S"
-
-	.p2align 4
-L(CopyFrom1To16Bytes):
-	add	%esi, %edx
-	add	%esi, %ecx
-
-	POP	(%esi)
-	test	%al, %al
-	jz	L(ExitHigh8)
-
-L(CopyFrom1To16BytesLess8):
-	mov	%al, %ah
-	and	$15, %ah
-	jz	L(ExitHigh4)
-
-	test	$0x01, %al
-	jnz	L(Exit1)
-	test	$0x02, %al
-	jnz	L(Exit2)
-	test	$0x04, %al
-	jnz	L(Exit3)
-L(Exit4):
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-
-	lea	3(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(ExitHigh4):
-	test	$0x10, %al
-	jnz	L(Exit5)
-	test	$0x20, %al
-	jnz	L(Exit6)
-	test	$0x40, %al
-	jnz	L(Exit7)
-L(Exit8):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-
-	lea	7(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(ExitHigh8):
-	mov	%ah, %al
-	and	$15, %al
-	jz	L(ExitHigh12)
-
-	test	$0x01, %ah
-	jnz	L(Exit9)
-	test	$0x02, %ah
-	jnz	L(Exit10)
-	test	$0x04, %ah
-	jnz	L(Exit11)
-L(Exit12):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movl	8(%ecx), %eax
-	movl	%eax, 8(%edx)
-
-	lea	11(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(ExitHigh12):
-	test	$0x10, %ah
-	jnz	L(Exit13)
-	test	$0x20, %ah
-	jnz	L(Exit14)
-	test	$0x40, %ah
-	jnz	L(Exit15)
-L(Exit16):
-	movlpd	(%ecx), %xmm0
-	movlpd	8(%ecx), %xmm1
-	movlpd	%xmm0, (%edx)
-	movlpd	%xmm1, 8(%edx)
-
-	lea	15(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	CFI_PUSH(%esi)
-
-	.p2align 4
-L(CopyFrom1To16BytesCase2):
-	add	$16, %ebx
-	add	%esi, %ecx
-	add	%esi, %edx
-
-	POP	(%esi)
-
-	test	%al, %al
-	jz	L(ExitHighCase2)
-
-	cmp	$8, %ebx
-	ja	L(CopyFrom1To16BytesLess8)
-
-	test	$0x01, %al
-	jnz	L(Exit1)
-	cmp	$1, %ebx
-	je	L(StrlcpyExit1)
-	test	$0x02, %al
-	jnz	L(Exit2)
-	cmp	$2, %ebx
-	je	L(StrlcpyExit2)
-	test	$0x04, %al
-	jnz	L(Exit3)
-	cmp	$3, %ebx
-	je	L(StrlcpyExit3)
-	test	$0x08, %al
-	jnz	L(Exit4)
-	cmp	$4, %ebx
-	je	L(StrlcpyExit4)
-	test	$0x10, %al
-	jnz	L(Exit5)
-	cmp	$5, %ebx
-	je	L(StrlcpyExit5)
-	test	$0x20, %al
-	jnz	L(Exit6)
-	cmp	$6, %ebx
-	je	L(StrlcpyExit6)
-	test	$0x40, %al
-	jnz	L(Exit7)
-	cmp	$7, %ebx
-	je	L(StrlcpyExit7)
-	test	$0x80, %al
-	jnz	L(Exit8)
-	jmp	L(StrlcpyExit8)
-
-	.p2align 4
-L(ExitHighCase2):
-	cmp	$8, %ebx
-	jbe	L(CopyFrom1To16BytesLess8Case3)
-
-	test	$0x01, %ah
-	jnz	L(Exit9)
-	cmp	$9, %ebx
-	je	L(StrlcpyExit9)
-	test	$0x02, %ah
-	jnz	L(Exit10)
-	cmp	$10, %ebx
-	je	L(StrlcpyExit10)
-	test	$0x04, %ah
-	jnz	L(Exit11)
-	cmp	$11, %ebx
-	je	L(StrlcpyExit11)
-	test	$0x8, %ah
-	jnz	L(Exit12)
-	cmp	$12, %ebx
-	je	L(StrlcpyExit12)
-	test	$0x10, %ah
-	jnz	L(Exit13)
-	cmp	$13, %ebx
-	je	L(StrlcpyExit13)
-	test	$0x20, %ah
-	jnz	L(Exit14)
-	cmp	$14, %ebx
-	je	L(StrlcpyExit14)
-	test	$0x40, %ah
-	jnz	L(Exit15)
-	cmp	$15, %ebx
-	je	L(StrlcpyExit15)
-	test	$0x80, %ah
-	jnz	L(Exit16)
-	jmp	L(StrlcpyExit16)
-
-	CFI_PUSH(%esi)
-
-	.p2align 4
-L(CopyFrom1To16BytesCase2OrCase3):
-	test	%eax, %eax
-	jnz	L(CopyFrom1To16BytesCase2)
-
-	.p2align 4
-L(CopyFrom1To16BytesCase3):
-	add	$16, %ebx
-	add	%esi, %edx
-	add	%esi, %ecx
-
-	POP	(%esi)
-
-	cmp	$8, %ebx
-	ja	L(ExitHigh8Case3)
-
-L(CopyFrom1To16BytesLess8Case3):
-	cmp	$4, %ebx
-	ja	L(ExitHigh4Case3)
-
-	cmp	$1, %ebx
-	je	L(StrlcpyExit1)
-	cmp	$2, %ebx
-	je	L(StrlcpyExit2)
-	cmp	$3, %ebx
-	je	L(StrlcpyExit3)
-L(StrlcpyExit4):
-	movb	%bh, 3(%edx)
-	movw	(%ecx), %ax
-	movw	%ax, (%edx)
-	movb	2(%ecx), %al
-	movb	%al, 2(%edx)
-
-	lea	4(%ecx), %edx
-	mov	%edi, %ecx
-	POP	(%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(ExitHigh4Case3):
-	cmp	$5, %ebx
-	je	L(StrlcpyExit5)
-	cmp	$6, %ebx
-	je	L(StrlcpyExit6)
-	cmp	$7, %ebx
-	je	L(StrlcpyExit7)
-L(StrlcpyExit8):
-	movb	%bh, 7(%edx)
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movl	3(%ecx), %eax
-	movl	%eax, 3(%edx)
-
-	lea	8(%ecx), %edx
-	mov	%edi, %ecx
-	POP	(%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(ExitHigh8Case3):
-	cmp	$12, %ebx
-	ja	L(ExitHigh12Case3)
-
-	cmp	$9, %ebx
-	je	L(StrlcpyExit9)
-	cmp	$10, %ebx
-	je	L(StrlcpyExit10)
-	cmp	$11, %ebx
-	je	L(StrlcpyExit11)
-L(StrlcpyExit12):
-	movb	%bh, 11(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movl	7(%ecx), %eax
-	movl	%eax, 7(%edx)
-
-	lea	12(%ecx), %edx
-	mov	%edi, %ecx
-	POP	(%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(ExitHigh12Case3):
-	cmp	$13, %ebx
-	je	L(StrlcpyExit13)
-	cmp	$14, %ebx
-	je	L(StrlcpyExit14)
-	cmp	$15, %ebx
-	je	L(StrlcpyExit15)
-L(StrlcpyExit16):
-	movb	%bh, 15(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movlpd	7(%ecx), %xmm0
-	movlpd	%xmm0, 7(%edx)
-
-	lea	16(%ecx), %edx
-	mov	%edi, %ecx
-	POP	(%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(StrlcpyExit1):
-	movb	%bh, (%edx)
-
-	lea	1(%ecx), %edx
-	mov	%edi, %ecx
-	POP	(%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit1):
-	movb	(%ecx), %al
-	movb	%al, (%edx)
-
-	mov	%ecx, %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit2):
-	movb	%bh, 1(%edx)
-	movb	(%ecx), %al
-	movb	%al, (%edx)
-
-	lea	2(%ecx), %edx
-	mov	%edi, %ecx
-	POP	(%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit2):
-	movw	(%ecx), %ax
-	movw	%ax, (%edx)
-	movl	%edi, %eax
-
-	lea	1(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit3):
-	movb	%bh, 2(%edx)
-	movw	(%ecx), %ax
-	movw	%ax, (%edx)
-
-	lea	3(%ecx), %edx
-	mov	%edi, %ecx
-	POP	(%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit3):
-	movw	(%ecx), %ax
-	movw	%ax, (%edx)
-	movb	2(%ecx), %al
-	movb	%al, 2(%edx)
-
-	lea	2(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit5):
-	movb	%bh, 4(%edx)
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movl	%edi, %eax
-
-	lea	5(%ecx), %edx
-	mov	%edi, %ecx
-	POP	(%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit5):
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movb	4(%ecx), %al
-	movb	%al, 4(%edx)
-
-	lea	4(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit6):
-	movb	%bh, 5(%edx)
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movb	4(%ecx), %al
-	movb	%al, 4(%edx)
-
-	lea	6(%ecx), %edx
-	mov	%edi, %ecx
-	POP	(%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit6):
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movw	4(%ecx), %ax
-	movw	%ax, 4(%edx)
-
-	lea	5(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit7):
-	movb	%bh, 6(%edx)
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movw	4(%ecx), %ax
-	movw	%ax, 4(%edx)
-
-	lea	7(%ecx), %edx
-	mov	%edi, %ecx
-	POP	(%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit7):
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movl	3(%ecx), %eax
-	movl	%eax, 3(%edx)
-
-	lea	6(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit9):
-	movb	%bh, 8(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-
-	lea	9(%ecx), %edx
-	mov	%edi, %ecx
-	POP	(%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit9):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movb	8(%ecx), %al
-	movb	%al, 8(%edx)
-
-	lea	8(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit10):
-	movb	%bh, 9(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movb	8(%ecx), %al
-	movb	%al, 8(%edx)
-
-	lea	10(%ecx), %edx
-	mov	%edi, %ecx
-	POP	(%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit10):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movw	8(%ecx), %ax
-	movw	%ax, 8(%edx)
-
-	lea	9(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit11):
-	movb	%bh, 10(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movw	8(%ecx), %ax
-	movw	%ax, 8(%edx)
-
-	lea	11(%ecx), %edx
-	mov	%edi, %ecx
-	POP	(%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit11):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movl	7(%ecx), %eax
-	movl	%eax, 7(%edx)
-
-	lea	10(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit13):
-	movb	%bh, 12(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movl	8(%ecx), %eax
-	movl	%eax, 8(%edx)
-
-	lea	13(%ecx), %edx
-	mov	%edi, %ecx
-	POP	(%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit13):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movlpd	5(%ecx), %xmm0
-	movlpd	%xmm0, 5(%edx)
-
-	lea	12(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit14):
-	movb	%bh, 13(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movlpd	5(%ecx), %xmm0
-	movlpd	%xmm0, 5(%edx)
-
-	lea	14(%ecx), %edx
-	mov	%edi, %ecx
-	POP	(%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit14):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movlpd	6(%ecx), %xmm0
-	movlpd	%xmm0, 6(%edx)
-
-	lea	13(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit15):
-	movb	%bh, 14(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movlpd	6(%ecx), %xmm0
-	movlpd	%xmm0, 6(%edx)
-
-	lea	15(%ecx), %edx
-	mov	%edi, %ecx
-	POP	(%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit15):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movlpd	7(%ecx), %xmm0
-	movlpd	%xmm0, 7(%edx)
-
-	lea	14(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrncpyExit15Bytes):
-	cmp	$12, %ebx
-	ja	L(StrncpyExit15Bytes1)
-
-	cmpb	$0, 8(%ecx)
-	jz	L(Exit9)
-	cmp	$9, %ebx
-	je	L(StrlcpyExit9)
-
-	cmpb	$0, 9(%ecx)
-	jz	L(Exit10)
-	cmp	$10, %ebx
-	je	L(StrlcpyExit10)
-
-	cmpb	$0, 10(%ecx)
-	jz	L(Exit11)
-	cmp	$11, %ebx
-	je	L(StrlcpyExit11)
-
-	cmpb	$0, 11(%ecx)
-	jz	L(Exit12)
-	jmp	L(StrlcpyExit12)
-
-	.p2align 4
-L(StrncpyExit15Bytes1):
-	cmpb	$0, 8(%ecx)
-	jz	L(Exit9)
-	cmpb	$0, 9(%ecx)
-	jz	L(Exit10)
-	cmpb	$0, 10(%ecx)
-	jz	L(Exit11)
-	cmpb	$0, 11(%ecx)
-	jz	L(Exit12)
-
-	cmpb	$0, 12(%ecx)
-	jz	L(Exit13)
-	cmp	$13, %ebx
-	je	L(StrlcpyExit13)
-
-	cmpb	$0, 13(%ecx)
-	jz	L(Exit14)
-	cmp	$14, %ebx
-	je	L(StrlcpyExit14)
-
-	cmpb	$0, 14(%ecx)
-	jz	L(Exit15)
-	jmp	L(StrlcpyExit15)
-
-	.p2align 4
-L(StrncpyExit8Bytes):
-	cmp	$4, %ebx
-	ja	L(StrncpyExit8Bytes1)
-
-	cmpb	$0, (%ecx)
-	jz	L(Exit1)
-	cmp	$1, %ebx
-	je	L(StrlcpyExit1)
-
-	cmpb	$0, 1(%ecx)
-	jz	L(Exit2)
-	cmp	$2, %ebx
-	je	L(StrlcpyExit2)
-
-	cmpb	$0, 2(%ecx)
-	jz	L(Exit3)
-	cmp	$3, %ebx
-	je	L(StrlcpyExit3)
-
-	cmpb	$0, 3(%ecx)
-	jz	L(Exit4)
-	jmp	L(StrlcpyExit4)
-
-	.p2align 4
-L(StrncpyExit8Bytes1):
-	cmpb	$0, (%ecx)
-	jz	L(Exit1)
-	cmpb	$0, 1(%ecx)
-	jz	L(Exit2)
-	cmpb	$0, 2(%ecx)
-	jz	L(Exit3)
-	cmpb	$0, 3(%ecx)
-	jz	L(Exit4)
-
-	cmpb	$0, 4(%ecx)
-	jz	L(Exit5)
-	cmp	$5, %ebx
-	je	L(StrlcpyExit5)
-
-	cmpb	$0, 5(%ecx)
-	jz	L(Exit6)
-	cmp	$6, %ebx
-	je	L(StrlcpyExit6)
-
-	cmpb	$0, 6(%ecx)
-	jz	L(Exit7)
-	cmp	$7, %ebx
-	je	L(StrlcpyExit7)
-
-	cmpb	$0, 7(%ecx)
-	jz	L(Exit8)
-	jmp	L(StrlcpyExit8)
-
-	CFI_POP	(%edi)
-
-
-	.p2align 4
-L(Prolog_return_start_len):
-	movl	LEN(%esp), %ebx
-        movl	SRC(%esp), %ecx
-L(CalculateLengthOfSrcProlog):
-	mov	%ecx, %edx
-	sub	%ebx, %ecx
-
-	.p2align 4
-L(CalculateLengthOfSrc):
-	cmpb	$0, (%edx)
-	jz	L(exit_tail0)
-	cmpb	$0, 1(%edx)
-	jz	L(exit_tail1)
-	cmpb	$0, 2(%edx)
-	jz	L(exit_tail2)
-	cmpb	$0, 3(%edx)
-	jz	L(exit_tail3)
-
-	cmpb	$0, 4(%edx)
-	jz	L(exit_tail4)
-	cmpb	$0, 5(%edx)
-	jz	L(exit_tail5)
-	cmpb	$0, 6(%edx)
-	jz	L(exit_tail6)
-	cmpb	$0, 7(%edx)
-	jz	L(exit_tail7)
-
-	cmpb	$0, 8(%edx)
-	jz	L(exit_tail8)
-	cmpb	$0, 9(%edx)
-	jz	L(exit_tail9)
-	cmpb	$0, 10(%edx)
-	jz	L(exit_tail10)
-	cmpb	$0, 11(%edx)
-	jz	L(exit_tail11)
-
-	cmpb	$0, 12(%edx)
-	jz	L(exit_tail12)
-	cmpb	$0, 13(%edx)
-	jz	L(exit_tail13)
-	cmpb	$0, 14(%edx)
-	jz	L(exit_tail14)
-	cmpb	$0, 15(%edx)
-	jz	L(exit_tail15)
-
-	pxor	%xmm0, %xmm0
-	lea	16(%edx), %eax
-	add	$16, %ecx
-	and	$-16, %eax
-
-	pcmpeqb	(%eax), %xmm0
-	pmovmskb %xmm0, %edx
-	pxor	%xmm1, %xmm1
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm1
-	pmovmskb %xmm1, %edx
-	pxor	%xmm2, %xmm2
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm2
-	pmovmskb %xmm2, %edx
-	pxor	%xmm3, %xmm3
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm3
-	pmovmskb %xmm3, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm0
-	pmovmskb %xmm0, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm1
-	pmovmskb %xmm1, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm2
-	pmovmskb %xmm2, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm3
-	pmovmskb %xmm3, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm0
-	pmovmskb %xmm0, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm1
-	pmovmskb %xmm1, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm2
-	pmovmskb %xmm2, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm3
-	pmovmskb %xmm3, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm0
-	pmovmskb %xmm0, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm1
-	pmovmskb %xmm1, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm2
-	pmovmskb %xmm2, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm3
-	pmovmskb %xmm3, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	and	$-0x40, %eax
-
-	.p2align 4
-L(aligned_64_loop):
-	movaps	(%eax), %xmm0
-	movaps	16(%eax), %xmm1
-	movaps	32(%eax), %xmm2
-	movaps	48(%eax), %xmm6
-	pminub	%xmm1, %xmm0
-	pminub	%xmm6, %xmm2
-	pminub	%xmm0, %xmm2
-	pcmpeqb	%xmm3, %xmm2
-	pmovmskb %xmm2, %edx
-	lea	64(%eax), %eax
-	test	%edx, %edx
-	jz	L(aligned_64_loop)
-
-	pcmpeqb	-64(%eax), %xmm3
-	pmovmskb %xmm3, %edx
-	lea	48(%ecx), %ecx
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	%xmm1, %xmm3
-	pmovmskb %xmm3, %edx
-	lea	-16(%ecx), %ecx
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	-32(%eax), %xmm3
-	pmovmskb %xmm3, %edx
-	lea	-16(%ecx), %ecx
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	%xmm6, %xmm3
-	pmovmskb %xmm3, %edx
-	lea	-16(%ecx), %ecx
-
-	.p2align 4
-L(exit):
-	sub	%ecx, %eax
-	test	%dl, %dl
-	jz	L(exit_more_8)
-
-	mov	%dl, %cl
-	and	$15, %cl
-	jz	L(exit_more_4)
-	test	$0x01, %dl
-	jnz	L(exit_0)
-	test	$0x02, %dl
-	jnz	L(exit_1)
-	test	$0x04, %dl
-	jnz	L(exit_2)
-	add	$3, %eax
-	RETURN
-
-	.p2align 4
-L(exit_more_4):
-	test	$0x10, %dl
-	jnz	L(exit_4)
-	test	$0x20, %dl
-	jnz	L(exit_5)
-	test	$0x40, %dl
-	jnz	L(exit_6)
-	add	$7, %eax
-	RETURN
-
-	.p2align 4
-L(exit_more_8):
-	mov	%dh, %ch
-	and	$15, %ch
-	jz	L(exit_more_12)
-	test	$0x01, %dh
-	jnz	L(exit_8)
-	test	$0x02, %dh
-	jnz	L(exit_9)
-	test	$0x04, %dh
-	jnz	L(exit_10)
-	add	$11, %eax
-	RETURN
-
-	.p2align 4
-L(exit_more_12):
-	test	$0x10, %dh
-	jnz	L(exit_12)
-	test	$0x20, %dh
-	jnz	L(exit_13)
-	test	$0x40, %dh
-	jnz	L(exit_14)
-	add	$15, %eax
-L(exit_0):
-	RETURN
-
-	.p2align 4
-L(exit_1):
-	add	$1, %eax
-	RETURN
-
-L(exit_2):
-	add	$2, %eax
-	RETURN
-
-L(exit_3):
-	add	$3, %eax
-	RETURN
-
-L(exit_4):
-	add	$4, %eax
-	RETURN
-
-L(exit_5):
-	add	$5, %eax
-	RETURN
-
-L(exit_6):
-	add	$6, %eax
-	RETURN
-
-L(exit_7):
-	add	$7, %eax
-	RETURN
-
-L(exit_8):
-	add	$8, %eax
-	RETURN
-
-L(exit_9):
-	add	$9, %eax
-	RETURN
-
-L(exit_10):
-	add	$10, %eax
-	RETURN
-
-L(exit_11):
-	add	$11, %eax
-	RETURN
-
-L(exit_12):
-	add	$12, %eax
-	RETURN
-
-L(exit_13):
-	add	$13, %eax
-	RETURN
-
-L(exit_14):
-	add	$14, %eax
-	RETURN
-
-L(exit_15):
-	add	$15, %eax
-	RETURN
-
-L(exit_tail0):
-	mov	%edx, %eax
-	sub	%ecx, %eax
-	RETURN
-
-	.p2align 4
-L(exit_tail1):
-	lea	1(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail2):
-	lea	2(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail3):
-	lea	3(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail4):
-	lea	4(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail5):
-	lea	5(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail6):
-	lea	6(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail7):
-	lea	7(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail8):
-	lea	8(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail9):
-	lea	9(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail10):
-	lea	10(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail11):
-	lea	11(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail12):
-	lea	12(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail13):
-	lea	13(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail14):
-	lea	14(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail15):
-	lea	15(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-END (strlcat)
diff --git a/libc/arch-x86/string/ssse3-strlcpy-atom.S b/libc/arch-x86/string/ssse3-strlcpy-atom.S
deleted file mode 100644
index 1671da6..0000000
--- a/libc/arch-x86/string/ssse3-strlcpy-atom.S
+++ /dev/null
@@ -1,1403 +0,0 @@
-/*
-Copyright (c) 2011, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#define USE_AS_STRNCPY
-#define STRCPY strlcpy_ssse3
-#define STRLEN strlcpy_ssse3
-#define USE_AS_STRLCPY
-#include "ssse3-strcpy-atom.S"
-
-	.p2align 4
-L(CopyFrom1To16Bytes):
-	add	%esi, %edx
-	add	%esi, %ecx
-
-	POP	(%esi)
-	test	%al, %al
-	jz	L(ExitHigh8)
-
-L(CopyFrom1To16BytesLess8):
-	mov	%al, %ah
-	and	$15, %ah
-	jz	L(ExitHigh4)
-
-	test	$0x01, %al
-	jnz	L(Exit1)
-	test	$0x02, %al
-	jnz	L(Exit2)
-	test	$0x04, %al
-	jnz	L(Exit3)
-L(Exit4):
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-
-	lea	3(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(ExitHigh4):
-	test	$0x10, %al
-	jnz	L(Exit5)
-	test	$0x20, %al
-	jnz	L(Exit6)
-	test	$0x40, %al
-	jnz	L(Exit7)
-L(Exit8):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-
-	lea	7(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(ExitHigh8):
-	mov	%ah, %al
-	and	$15, %al
-	jz	L(ExitHigh12)
-
-	test	$0x01, %ah
-	jnz	L(Exit9)
-	test	$0x02, %ah
-	jnz	L(Exit10)
-	test	$0x04, %ah
-	jnz	L(Exit11)
-L(Exit12):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movl	8(%ecx), %eax
-	movl	%eax, 8(%edx)
-
-	lea	11(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(ExitHigh12):
-	test	$0x10, %ah
-	jnz	L(Exit13)
-	test	$0x20, %ah
-	jnz	L(Exit14)
-	test	$0x40, %ah
-	jnz	L(Exit15)
-L(Exit16):
-	movlpd	(%ecx), %xmm0
-	movlpd	8(%ecx), %xmm1
-	movlpd	%xmm0, (%edx)
-	movlpd	%xmm1, 8(%edx)
-
-	lea	15(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	CFI_PUSH(%esi)
-
-	.p2align 4
-L(CopyFrom1To16BytesCase2):
-	add	$16, %ebx
-	add	%esi, %ecx
-        add     %esi, %edx
-
-	POP	(%esi)
-
-        test    %al, %al
-        jz      L(ExitHighCase2)
-
-        cmp     $8, %ebx
-        ja      L(CopyFrom1To16BytesLess8)
-
-	test	$0x01, %al
-	jnz	L(Exit1)
-	cmp	$1, %ebx
-	je	L(StrlcpyExit1)
-	test	$0x02, %al
-	jnz	L(Exit2)
-	cmp	$2, %ebx
-	je	L(StrlcpyExit2)
-	test	$0x04, %al
-	jnz	L(Exit3)
-	cmp	$3, %ebx
-	je	L(StrlcpyExit3)
-	test	$0x08, %al
-	jnz	L(Exit4)
-	cmp	$4, %ebx
-	je	L(StrlcpyExit4)
-	test	$0x10, %al
-	jnz	L(Exit5)
-	cmp	$5, %ebx
-	je	L(StrlcpyExit5)
-	test	$0x20, %al
-	jnz	L(Exit6)
-	cmp	$6, %ebx
-	je	L(StrlcpyExit6)
-	test	$0x40, %al
-	jnz	L(Exit7)
-	cmp	$7, %ebx
-	je	L(StrlcpyExit7)
-	test	$0x80, %al
-	jnz	L(Exit8)
-	jmp	L(StrlcpyExit8)
-
-	.p2align 4
-L(ExitHighCase2):
-        cmp     $8, %ebx
-        jbe      L(CopyFrom1To16BytesLess8Case3)
-
-	test	$0x01, %ah
-	jnz	L(Exit9)
-	cmp	$9, %ebx
-	je	L(StrlcpyExit9)
-	test	$0x02, %ah
-	jnz	L(Exit10)
-	cmp	$10, %ebx
-	je	L(StrlcpyExit10)
-	test	$0x04, %ah
-	jnz	L(Exit11)
-	cmp	$11, %ebx
-	je	L(StrlcpyExit11)
-	test	$0x8, %ah
-	jnz	L(Exit12)
-	cmp	$12, %ebx
-	je	L(StrlcpyExit12)
-	test	$0x10, %ah
-	jnz	L(Exit13)
-	cmp	$13, %ebx
-	je	L(StrlcpyExit13)
-	test	$0x20, %ah
-	jnz	L(Exit14)
-	cmp	$14, %ebx
-	je	L(StrlcpyExit14)
-	test	$0x40, %ah
-	jnz	L(Exit15)
-	cmp	$15, %ebx
-	je	L(StrlcpyExit15)
-	test	$0x80, %ah
-	jnz	L(Exit16)
-	jmp	L(StrlcpyExit16)
-
-	CFI_PUSH(%esi)
-
-	.p2align 4
-L(CopyFrom1To16BytesCase2OrCase3):
-	test	%eax, %eax
-	jnz	L(CopyFrom1To16BytesCase2)
-
-	.p2align 4
-L(CopyFrom1To16BytesCase3):
-	add	$16, %ebx
-	add	%esi, %edx
-	add	%esi, %ecx
-
-	POP	(%esi)
-
-	cmp	$8, %ebx
-	ja	L(ExitHigh8Case3)
-
-L(CopyFrom1To16BytesLess8Case3):
-	cmp	$4, %ebx
-	ja	L(ExitHigh4Case3)
-
-	cmp	$1, %ebx
-	je	L(StrlcpyExit1)
-	cmp	$2, %ebx
-	je	L(StrlcpyExit2)
-	cmp	$3, %ebx
-	je	L(StrlcpyExit3)
-L(StrlcpyExit4):
-	movb	%bh, 3(%edx)
-	movw	(%ecx), %ax
-	movw	%ax, (%edx)
-	movb	2(%ecx), %al
-	movb	%al, 2(%edx)
-
-	lea	4(%ecx), %edx
-	mov	%edi, %ecx
-        POP     (%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(ExitHigh4Case3):
-	cmp	$5, %ebx
-	je	L(StrlcpyExit5)
-	cmp	$6, %ebx
-	je	L(StrlcpyExit6)
-	cmp	$7, %ebx
-	je	L(StrlcpyExit7)
-L(StrlcpyExit8):
-	movb	%bh, 7(%edx)
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movl	3(%ecx), %eax
-	movl	%eax, 3(%edx)
-
-	lea	8(%ecx), %edx
-	mov	%edi, %ecx
-        POP     (%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(ExitHigh8Case3):
-	cmp	$12, %ebx
-	ja	L(ExitHigh12Case3)
-
-	cmp	$9, %ebx
-	je	L(StrlcpyExit9)
-	cmp	$10, %ebx
-	je	L(StrlcpyExit10)
-	cmp	$11, %ebx
-	je	L(StrlcpyExit11)
-L(StrlcpyExit12):
-	movb	%bh, 11(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movl	7(%ecx), %eax
-	movl	%eax, 7(%edx)
-
-	lea	12(%ecx), %edx
-	mov	%edi, %ecx
-        POP     (%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(ExitHigh12Case3):
-	cmp	$13, %ebx
-	je	L(StrlcpyExit13)
-	cmp	$14, %ebx
-	je	L(StrlcpyExit14)
-	cmp	$15, %ebx
-	je	L(StrlcpyExit15)
-L(StrlcpyExit16):
-	movb	%bh, 15(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movlpd	7(%ecx), %xmm0
-	movlpd	%xmm0, 7(%edx)
-
-	lea	16(%ecx), %edx
-	mov	%edi, %ecx
-        POP     (%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(StrlcpyExit1):
-	movb	%bh, (%edx)
-
-	lea	1(%ecx), %edx
-	mov	%edi, %ecx
-        POP     (%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit1):
-	movb	(%ecx), %al
-	movb	%al, (%edx)
-
-	mov	%ecx, %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit2):
-	movb	%bh, 1(%edx)
-	movb	(%ecx), %al
-	movb	%al, (%edx)
-
-	lea	2(%ecx), %edx
-	mov	%edi, %ecx
-        POP     (%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit2):
-	movw	(%ecx), %ax
-	movw	%ax, (%edx)
-	movl	%edi, %eax
-
-	lea	1(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit3):
-	movb	%bh, 2(%edx)
-	movw	(%ecx), %ax
-	movw	%ax, (%edx)
-
-	lea	3(%ecx), %edx
-	mov	%edi, %ecx
-        POP     (%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit3):
-	movw	(%ecx), %ax
-	movw	%ax, (%edx)
-	movb	2(%ecx), %al
-	movb	%al, 2(%edx)
-
-	lea	2(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit5):
-	movb	%bh, 4(%edx)
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movl	%edi, %eax
-
-	lea	5(%ecx), %edx
-	mov	%edi, %ecx
-        POP     (%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit5):
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movb	4(%ecx), %al
-	movb	%al, 4(%edx)
-
-	lea	4(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit6):
-	movb	%bh, 5(%edx)
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movb	4(%ecx), %al
-	movb	%al, 4(%edx)
-
-	lea	6(%ecx), %edx
-	mov	%edi, %ecx
-        POP     (%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit6):
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movw	4(%ecx), %ax
-	movw	%ax, 4(%edx)
-
-	lea	5(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit7):
-	movb	%bh, 6(%edx)
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movw	4(%ecx), %ax
-	movw	%ax, 4(%edx)
-
-	lea	7(%ecx), %edx
-	mov	%edi, %ecx
-        POP     (%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit7):
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movl	3(%ecx), %eax
-	movl	%eax, 3(%edx)
-
-	lea	6(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit9):
-	movb	%bh, 8(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-
-	lea	9(%ecx), %edx
-	mov	%edi, %ecx
-        POP     (%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit9):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movb	8(%ecx), %al
-	movb	%al, 8(%edx)
-
-	lea	8(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit10):
-	movb	%bh, 9(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movb	8(%ecx), %al
-	movb	%al, 8(%edx)
-
-	lea	10(%ecx), %edx
-	mov	%edi, %ecx
-        POP     (%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit10):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movw	8(%ecx), %ax
-	movw	%ax, 8(%edx)
-
-	lea	9(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit11):
-	movb	%bh, 10(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movw	8(%ecx), %ax
-	movw	%ax, 8(%edx)
-
-	lea	11(%ecx), %edx
-	mov	%edi, %ecx
-        POP     (%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit11):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movl	7(%ecx), %eax
-	movl	%eax, 7(%edx)
-
-	lea	10(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit13):
-	movb	%bh, 12(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movl	8(%ecx), %eax
-	movl	%eax, 8(%edx)
-
-	lea	13(%ecx), %edx
-	mov	%edi, %ecx
-        POP     (%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit13):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movlpd	5(%ecx), %xmm0
-	movlpd	%xmm0, 5(%edx)
-
-	lea	12(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit14):
-	movb	%bh, 13(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movlpd	5(%ecx), %xmm0
-	movlpd	%xmm0, 5(%edx)
-
-	lea	14(%ecx), %edx
-	mov	%edi, %ecx
-        POP     (%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit14):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movlpd	6(%ecx), %xmm0
-	movlpd	%xmm0, 6(%edx)
-
-	lea	13(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-	.p2align 4
-L(StrlcpyExit15):
-	movb	%bh, 14(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movlpd	6(%ecx), %xmm0
-	movlpd	%xmm0, 6(%edx)
-
-	lea	15(%ecx), %edx
-	mov	%edi, %ecx
-        POP     (%edi)
-	jmp	L(CalculateLengthOfSrc)
-        CFI_PUSH     (%edi)
-
-	.p2align 4
-L(Exit15):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movlpd	7(%ecx), %xmm0
-	movlpd	%xmm0, 7(%edx)
-
-	lea	14(%ecx), %eax
-	sub	%edi, %eax
-	RETURN1
-
-        CFI_POP (%edi)
-
-	.p2align 4
-L(StrlcpyExit0):
-	movl	$0, %eax
-	RETURN
-
-	.p2align 4
-L(StrncpyExit15Bytes):
-	cmp	$12, %ebx
-	ja	L(StrncpyExit15Bytes1)
-
-	cmpb	$0, 8(%ecx)
-	jz	L(ExitTail9)
-	cmp	$9, %ebx
-	je	L(StrlcpyExitTail9)
-
-	cmpb	$0, 9(%ecx)
-	jz	L(ExitTail10)
-	cmp	$10, %ebx
-	je	L(StrlcpyExitTail10)
-
-	cmpb	$0, 10(%ecx)
-	jz	L(ExitTail11)
-	cmp	$11, %ebx
-	je	L(StrlcpyExitTail11)
-
-	cmpb	$0, 11(%ecx)
-	jz	L(ExitTail12)
-
-	movb	%bh, 11(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movl	7(%ecx), %eax
-	movl	%eax, 7(%edx)
-
-	lea	12(%ecx), %edx
-	jmp	L(CalculateLengthOfSrc)
-
-	.p2align 4
-L(StrncpyExit15Bytes1):
-	cmpb	$0, 8(%ecx)
-	jz	L(ExitTail9)
-	cmpb	$0, 9(%ecx)
-	jz	L(ExitTail10)
-	cmpb	$0, 10(%ecx)
-	jz	L(ExitTail11)
-	cmpb	$0, 11(%ecx)
-	jz	L(ExitTail12)
-
-	cmpb	$0, 12(%ecx)
-	jz	L(ExitTail13)
-	cmp	$13, %ebx
-	je	L(StrlcpyExitTail13)
-
-	cmpb	$0, 13(%ecx)
-	jz	L(ExitTail14)
-	cmp	$14, %ebx
-	je	L(StrlcpyExitTail14)
-
-	cmpb	$0, 14(%ecx)
-	jz	L(ExitTail15)
-
-	movb	%bh, 14(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movlpd	6(%ecx), %xmm0
-	movlpd	%xmm0, 6(%edx)
-
-	lea	15(%ecx), %edx
-	jmp	L(CalculateLengthOfSrc)
-
-	.p2align 4
-L(StrncpyExit8Bytes):
-	cmp	$4, %ebx
-	ja	L(StrncpyExit8Bytes1)
-
-	test	%ebx, %ebx
-	jz	L(StrlcpyExitTail0)
-
-	cmpb	$0, (%ecx)
-	jz	L(ExitTail1)
-	cmp	$1, %ebx
-	je	L(StrlcpyExitTail1)
-
-	cmpb	$0, 1(%ecx)
-	jz	L(ExitTail2)
-	cmp	$2, %ebx
-	je	L(StrlcpyExitTail2)
-
-	cmpb	$0, 2(%ecx)
-	jz	L(ExitTail3)
-	cmp	$3, %ebx
-	je	L(StrlcpyExitTail3)
-
-	cmpb	$0, 3(%ecx)
-	jz	L(ExitTail4)
-
-	movb	%bh, 3(%edx)
-	movw	(%ecx), %ax
-	movw	%ax, (%edx)
-	movb	2(%ecx), %al
-	movb	%al, 2(%edx)
-
-	lea	4(%ecx), %edx
-	jmp	L(CalculateLengthOfSrc)
-
-	.p2align 4
-L(StrncpyExit8Bytes1):
-	cmpb	$0, (%ecx)
-	jz	L(ExitTail1)
-	cmpb	$0, 1(%ecx)
-	jz	L(ExitTail2)
-	cmpb	$0, 2(%ecx)
-	jz	L(ExitTail3)
-	cmpb	$0, 3(%ecx)
-	jz	L(ExitTail4)
-
-	cmpb	$0, 4(%ecx)
-	jz	L(ExitTail5)
-	cmp	$5, %ebx
-	je	L(StrlcpyExitTail5)
-
-	cmpb	$0, 5(%ecx)
-	jz	L(ExitTail6)
-	cmp	$6, %ebx
-	je	L(StrlcpyExitTail6)
-
-	cmpb	$0, 6(%ecx)
-	jz	L(ExitTail7)
-	cmp	$7, %ebx
-	je	L(StrlcpyExitTail7)
-
-	cmpb	$0, 7(%ecx)
-	jz	L(ExitTail8)
-
-	movb	%bh, 7(%edx)
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movl	3(%ecx), %eax
-	movl	%eax, 3(%edx)
-
-	lea	8(%ecx), %edx
-	jmp	L(CalculateLengthOfSrc)
-
-	.p2align 4
-L(StrlcpyExitTail0):
-	mov	%ecx, %edx
-	jmp	L(CalculateLengthOfSrc)
-
-	.p2align 4
-L(StrlcpyExitTail1):
-	movb	%bh, (%edx)
-
-	lea	1(%ecx), %edx
-	jmp	L(CalculateLengthOfSrc)
-
-	.p2align 4
-L(ExitTail1):
-	movb	(%ecx), %al
-	movb	%al, (%edx)
-
-	mov	$0, %eax
-	RETURN
-
-	.p2align 4
-L(StrlcpyExitTail2):
-	movb	%bh, 1(%edx)
-	movb	(%ecx), %al
-	movb	%al, (%edx)
-
-	lea	2(%ecx), %edx
-	jmp	L(CalculateLengthOfSrc)
-
-	.p2align 4
-L(ExitTail2):
-	movw	(%ecx), %ax
-	movw	%ax, (%edx)
-	movl	%edx, %eax
-
-	mov	$1, %eax
-	RETURN
-
-	.p2align 4
-L(StrlcpyExitTail3):
-	movb	%bh, 2(%edx)
-	movw	(%ecx), %ax
-	movw	%ax, (%edx)
-
-	lea	3(%ecx), %edx
-	jmp	L(CalculateLengthOfSrc)
-
-	.p2align 4
-L(ExitTail3):
-	movw	(%ecx), %ax
-	movw	%ax, (%edx)
-	movb	2(%ecx), %al
-	movb	%al, 2(%edx)
-
-	mov	$2, %eax
-	RETURN
-
-	.p2align 4
-L(ExitTail4):
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-
-	mov	$3, %eax
-	RETURN
-
-	.p2align 4
-L(StrlcpyExitTail5):
-	movb	%bh, 4(%edx)
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movl	%edx, %eax
-
-	lea	5(%ecx), %edx
-	jmp	L(CalculateLengthOfSrc)
-
-	.p2align 4
-L(ExitTail5):
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movb	4(%ecx), %al
-	movb	%al, 4(%edx)
-
-	mov	$4, %eax
-	RETURN
-
-	.p2align 4
-L(StrlcpyExitTail6):
-	movb	%bh, 5(%edx)
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movb	4(%ecx), %al
-	movb	%al, 4(%edx)
-
-	lea	6(%ecx), %edx
-	jmp	L(CalculateLengthOfSrc)
-
-	.p2align 4
-L(ExitTail6):
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movw	4(%ecx), %ax
-	movw	%ax, 4(%edx)
-
-	mov	$5, %eax
-	RETURN
-
-	.p2align 4
-L(StrlcpyExitTail7):
-	movb	%bh, 6(%edx)
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movw	4(%ecx), %ax
-	movw	%ax, 4(%edx)
-
-	lea	7(%ecx), %edx
-	jmp	L(CalculateLengthOfSrc)
-
-	.p2align 4
-L(ExitTail7):
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movl	3(%ecx), %eax
-	movl	%eax, 3(%edx)
-
-	mov	$6, %eax
-	RETURN
-
-	.p2align 4
-L(ExitTail8):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-
-	mov	$7, %eax
-	RETURN
-
-	.p2align 4
-L(StrlcpyExitTail9):
-	movb	%bh, 8(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-
-	lea	9(%ecx), %edx
-	jmp	L(CalculateLengthOfSrc)
-
-	.p2align 4
-L(ExitTail9):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movb	8(%ecx), %al
-	movb	%al, 8(%edx)
-
-	mov	$8, %eax
-	RETURN
-
-	.p2align 4
-L(StrlcpyExitTail10):
-	movb	%bh, 9(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movb	8(%ecx), %al
-	movb	%al, 8(%edx)
-
-	lea	10(%ecx), %edx
-	jmp	L(CalculateLengthOfSrc)
-
-	.p2align 4
-L(ExitTail10):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movw	8(%ecx), %ax
-	movw	%ax, 8(%edx)
-
-	mov	$9, %eax
-	RETURN
-
-	.p2align 4
-L(StrlcpyExitTail11):
-	movb	%bh, 10(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movw	8(%ecx), %ax
-	movw	%ax, 8(%edx)
-
-	lea	11(%ecx), %edx
-	jmp	L(CalculateLengthOfSrc)
-
-	.p2align 4
-L(ExitTail11):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movl	7(%ecx), %eax
-	movl	%eax, 7(%edx)
-
-	mov	$10, %eax
-	RETURN
-
-	.p2align 4
-L(ExitTail12):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movl	8(%ecx), %eax
-	movl	%eax, 8(%edx)
-
-	mov	$11, %eax
-	RETURN
-
-	.p2align 4
-L(StrlcpyExitTail13):
-	movb	%bh, 12(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movl	8(%ecx), %eax
-	movl	%eax, 8(%edx)
-
-	lea	13(%ecx), %edx
-	jmp	L(CalculateLengthOfSrc)
-
-	.p2align 4
-L(ExitTail13):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movlpd	5(%ecx), %xmm0
-	movlpd	%xmm0, 5(%edx)
-
-	mov	$12, %eax
-	RETURN
-
-	.p2align 4
-L(StrlcpyExitTail14):
-	movb	%bh, 13(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movlpd	5(%ecx), %xmm0
-	movlpd	%xmm0, 5(%edx)
-
-	lea	14(%ecx), %edx
-	jmp	L(CalculateLengthOfSrc)
-
-	.p2align 4
-L(ExitTail14):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movlpd	6(%ecx), %xmm0
-	movlpd	%xmm0, 6(%edx)
-
-	mov	$13, %eax
-	RETURN
-
-	.p2align 4
-L(ExitTail15):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movlpd	7(%ecx), %xmm0
-	movlpd	%xmm0, 7(%edx)
-
-	mov	$14, %eax
-	RETURN
-
-	.p2align 4
-L(StrlcpyExitTail16):
-	movb	%bh, 15(%edx)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movlpd	7(%ecx), %xmm0
-	movlpd	%xmm0, 7(%edx)
-
-	lea	16(%ecx), %edx
-	jmp	L(CalculateLengthOfSrc)
-
-	.p2align 4
-L(ExitTail16):
-	movlpd	(%ecx), %xmm0
-	movlpd	8(%ecx), %xmm1
-	movlpd	%xmm0, (%edx)
-	movlpd	%xmm1, 8(%edx)
-
-	mov	$15, %eax
-	RETURN
-
-	.p2align 4
-L(CalculateLengthOfSrc):
-	xor	%eax, %eax
-	cmpb	$0, (%edx)
-	jz	L(exit_tail0)
-	cmpb	$0, 1(%edx)
-	jz	L(exit_tail1)
-	cmpb	$0, 2(%edx)
-	jz	L(exit_tail2)
-	cmpb	$0, 3(%edx)
-	jz	L(exit_tail3)
-
-	cmpb	$0, 4(%edx)
-	jz	L(exit_tail4)
-	cmpb	$0, 5(%edx)
-	jz	L(exit_tail5)
-	cmpb	$0, 6(%edx)
-	jz	L(exit_tail6)
-	cmpb	$0, 7(%edx)
-	jz	L(exit_tail7)
-
-	cmpb	$0, 8(%edx)
-	jz	L(exit_tail8)
-	cmpb	$0, 9(%edx)
-	jz	L(exit_tail9)
-	cmpb	$0, 10(%edx)
-	jz	L(exit_tail10)
-	cmpb	$0, 11(%edx)
-	jz	L(exit_tail11)
-
-	cmpb	$0, 12(%edx)
-	jz	L(exit_tail12)
-	cmpb	$0, 13(%edx)
-	jz	L(exit_tail13)
-	cmpb	$0, 14(%edx)
-	jz	L(exit_tail14)
-	cmpb	$0, 15(%edx)
-	jz	L(exit_tail15)
-
-	pxor	%xmm0, %xmm0
-	lea	16(%edx), %eax
-	add	$16, %ecx
-	and	$-16, %eax
-
-	pcmpeqb	(%eax), %xmm0
-	pmovmskb %xmm0, %edx
-	pxor	%xmm1, %xmm1
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm1
-	pmovmskb %xmm1, %edx
-	pxor	%xmm2, %xmm2
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm2
-	pmovmskb %xmm2, %edx
-	pxor	%xmm3, %xmm3
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm3
-	pmovmskb %xmm3, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm0
-	pmovmskb %xmm0, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm1
-	pmovmskb %xmm1, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm2
-	pmovmskb %xmm2, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm3
-	pmovmskb %xmm3, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm0
-	pmovmskb %xmm0, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm1
-	pmovmskb %xmm1, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm2
-	pmovmskb %xmm2, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm3
-	pmovmskb %xmm3, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm0
-	pmovmskb %xmm0, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm1
-	pmovmskb %xmm1, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm2
-	pmovmskb %xmm2, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	(%eax), %xmm3
-	pmovmskb %xmm3, %edx
-	lea	16(%eax), %eax
-	test	%edx, %edx
-	jnz	L(exit)
-
-	and	$-0x40, %eax
-
-	.p2align 4
-L(aligned_64_loop):
-	movaps	(%eax), %xmm0
-	movaps	16(%eax), %xmm1
-	movaps	32(%eax), %xmm2
-	movaps	48(%eax), %xmm6
-	pminub	%xmm1, %xmm0
-	pminub	%xmm6, %xmm2
-	pminub	%xmm0, %xmm2
-	pcmpeqb	%xmm3, %xmm2
-	pmovmskb %xmm2, %edx
-	lea	64(%eax), %eax
-	test	%edx, %edx
-	jz	L(aligned_64_loop)
-
-	pcmpeqb	-64(%eax), %xmm3
-	pmovmskb %xmm3, %edx
-	lea	48(%ecx), %ecx
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	%xmm1, %xmm3
-	pmovmskb %xmm3, %edx
-	lea	-16(%ecx), %ecx
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	-32(%eax), %xmm3
-	pmovmskb %xmm3, %edx
-	lea	-16(%ecx), %ecx
-	test	%edx, %edx
-	jnz	L(exit)
-
-	pcmpeqb	%xmm6, %xmm3
-	pmovmskb %xmm3, %edx
-	lea	-16(%ecx), %ecx
-
-	.p2align 4
-L(exit):
-	sub	%ecx, %eax
-	test	%dl, %dl
-	jz	L(exit_more_8)
-
-	mov	%dl, %cl
-	and	$15, %cl
-	jz	L(exit_more_4)
-	test	$0x01, %dl
-	jnz	L(exit_0)
-	test	$0x02, %dl
-	jnz	L(exit_1)
-	test	$0x04, %dl
-	jnz	L(exit_2)
-	add	$3, %eax
-	RETURN
-
-	.p2align 4
-L(exit_more_4):
-	test	$0x10, %dl
-	jnz	L(exit_4)
-	test	$0x20, %dl
-	jnz	L(exit_5)
-	test	$0x40, %dl
-	jnz	L(exit_6)
-	add	$7, %eax
-	RETURN
-
-	.p2align 4
-L(exit_more_8):
-	mov	%dh, %ch
-	and	$15, %ch
-	jz	L(exit_more_12)
-	test	$0x01, %dh
-	jnz	L(exit_8)
-	test	$0x02, %dh
-	jnz	L(exit_9)
-	test	$0x04, %dh
-	jnz	L(exit_10)
-	add	$11, %eax
-	RETURN
-
-	.p2align 4
-L(exit_more_12):
-	test	$0x10, %dh
-	jnz	L(exit_12)
-	test	$0x20, %dh
-	jnz	L(exit_13)
-	test	$0x40, %dh
-	jnz	L(exit_14)
-	add	$15, %eax
-L(exit_0):
-	RETURN
-
-	.p2align 4
-L(exit_1):
-	add	$1, %eax
-	RETURN
-
-L(exit_2):
-	add	$2, %eax
-	RETURN
-
-L(exit_3):
-	add	$3, %eax
-	RETURN
-
-L(exit_4):
-	add	$4, %eax
-	RETURN
-
-L(exit_5):
-	add	$5, %eax
-	RETURN
-
-L(exit_6):
-	add	$6, %eax
-	RETURN
-
-L(exit_7):
-	add	$7, %eax
-	RETURN
-
-L(exit_8):
-	add	$8, %eax
-	RETURN
-
-L(exit_9):
-	add	$9, %eax
-	RETURN
-
-L(exit_10):
-	add	$10, %eax
-	RETURN
-
-L(exit_11):
-	add	$11, %eax
-	RETURN
-
-L(exit_12):
-	add	$12, %eax
-	RETURN
-
-L(exit_13):
-	add	$13, %eax
-	RETURN
-
-L(exit_14):
-	add	$14, %eax
-	RETURN
-
-L(exit_15):
-	add	$15, %eax
-	RETURN
-
-L(exit_tail0):
-	mov	%edx, %eax
-	sub	%ecx, %eax
-	RETURN
-
-	.p2align 4
-L(exit_tail1):
-	lea	1(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail2):
-	lea	2(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail3):
-	lea	3(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail4):
-	lea	4(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail5):
-	lea	5(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail6):
-	lea	6(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail7):
-	lea	7(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail8):
-	lea	8(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail9):
-	lea	9(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail10):
-	lea	10(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail11):
-	lea	11(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail12):
-	lea	12(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail13):
-	lea	13(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail14):
-	lea	14(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-L(exit_tail15):
-	lea	15(%edx), %eax
-	sub	%ecx, %eax
-	RETURN
-
-END (STRCPY)
-
diff --git a/libc/arch-x86/string/ssse3-strncat-atom.S b/libc/arch-x86/string/ssse3-strncat-atom.S
index ccb08a7..5618771 100644
--- a/libc/arch-x86/string/ssse3-strncat-atom.S
+++ b/libc/arch-x86/string/ssse3-strncat-atom.S
@@ -28,7 +28,7 @@
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
-#define STRCAT  strncat_ssse3
+#define STRCAT  strncat
 #define USE_AS_STRNCAT
 
 #include "ssse3-strcat-atom.S"
diff --git a/libc/arch-x86/string/ssse3-strncmp-atom.S b/libc/arch-x86/string/ssse3-strncmp-atom.S
index 2bf5002..234f728 100644
--- a/libc/arch-x86/string/ssse3-strncmp-atom.S
+++ b/libc/arch-x86/string/ssse3-strncmp-atom.S
@@ -30,6 +30,5 @@
 
 
 #define USE_AS_STRNCMP
-#define STRCMP  strncmp_ssse3
+#define STRCMP  strncmp
 #include "ssse3-strcmp-atom.S"
-
diff --git a/libc/arch-x86/string/ssse3-strncpy-atom.S b/libc/arch-x86/string/ssse3-strncpy-atom.S
deleted file mode 100644
index 0c27ffe..0000000
--- a/libc/arch-x86/string/ssse3-strncpy-atom.S
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright (c) 2011, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#define USE_AS_STRNCPY
-#define STRCPY strncpy_atom
-#include "ssse3-strcpy-atom.S"
diff --git a/libc/arch-x86/string/ssse3-wcscat-atom.S b/libc/arch-x86/string/ssse3-wcscat-atom.S
deleted file mode 100644
index a307983..0000000
--- a/libc/arch-x86/string/ssse3-wcscat-atom.S
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
-Copyright (c) 2011 Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef L
-# define L(label)	.L##label
-#endif
-
-#ifndef cfi_startproc
-# define cfi_startproc                  .cfi_startproc
-#endif
-
-#ifndef cfi_endproc
-# define cfi_endproc                    .cfi_endproc
-#endif
-
-#ifndef cfi_rel_offset
-# define cfi_rel_offset(reg, off)	.cfi_rel_offset reg, off
-#endif
-
-#ifndef cfi_restore
-# define cfi_restore(reg)	.cfi_restore reg
-#endif
-
-#ifndef cfi_adjust_cfa_offset
-# define cfi_adjust_cfa_offset(off)	.cfi_adjust_cfa_offset off
-#endif
-
-#ifndef ENTRY
-# define ENTRY(name)	\
-	.type name,  @function;	\
-	.globl name;	\
-	.p2align 4;	\
-name:	\
-	cfi_startproc
-#endif
-
-#ifndef END
-# define END(name)	\
-	cfi_endproc;	\
-	.size name, .-name
-#endif
-
-#define CFI_PUSH(REG)	\
-	cfi_adjust_cfa_offset (4);	\
-	cfi_rel_offset (REG, 0)
-
-#define CFI_POP(REG)	\
-	cfi_adjust_cfa_offset (-4);	\
-	cfi_restore (REG)
-
-#define PUSH(REG)	pushl REG;	CFI_PUSH (REG)
-#define POP(REG)	popl REG;	CFI_POP (REG)
-
-#define PARMS  4
-#define STR1  PARMS+4
-#define STR2  STR1+4
-
-#define USE_AS_WCSCAT
-
-.text
-ENTRY (wcscat_ssse3)
-	PUSH    (%edi)
-	mov	STR1(%esp), %edi
-	mov	%edi, %edx
-
-#define RETURN  jmp L(WcscpyAtom)
-#include "sse2-wcslen-atom.S"
-
-L(WcscpyAtom):
-	shl	$2, %eax
-	mov	STR2(%esp), %ecx
-	lea	(%edi, %eax), %edx
-
-	cmpl	$0, (%ecx)
-	jz	L(Exit4)
-	cmpl	$0, 4(%ecx)
-	jz	L(Exit8)
-	cmpl	$0, 8(%ecx)
-	jz	L(Exit12)
-	cmpl	$0, 12(%ecx)
-	jz	L(Exit16)
-
-#undef RETURN
-#define RETURN  POP(%edi);	ret;	CFI_PUSH(%edi)
-#include "ssse3-wcscpy-atom.S"
-
-END (wcscat_ssse3)
diff --git a/libc/arch-x86/string/ssse3-wcscpy-atom.S b/libc/arch-x86/string/ssse3-wcscpy-atom.S
deleted file mode 100644
index 80aa15f..0000000
--- a/libc/arch-x86/string/ssse3-wcscpy-atom.S
+++ /dev/null
@@ -1,652 +0,0 @@
-/*
-Copyright (c) 2011, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#ifndef USE_AS_WCSCAT
-
-# ifndef L
-#  define L(label)	.L##label
-# endif
-
-# ifndef cfi_startproc
-#  define cfi_startproc	.cfi_startproc
-# endif
-
-# ifndef cfi_endproc
-#  define cfi_endproc	.cfi_endproc
-# endif
-
-# ifndef cfi_rel_offset
-#  define cfi_rel_offset(reg, off)	.cfi_rel_offset reg, off
-# endif
-
-# ifndef cfi_restore
-#  define cfi_restore(reg)	.cfi_restore reg
-# endif
-
-# ifndef cfi_adjust_cfa_offset
-#  define cfi_adjust_cfa_offset(off)	.cfi_adjust_cfa_offset off
-# endif
-
-# ifndef ENTRY
-#  define ENTRY(name)	\
-	.type name, @function;	\
-	.globl name;	\
-	.p2align 4;	\
-name:	\
-	cfi_startproc
-# endif
-
-# ifndef END
-#  define END(name)	\
-	cfi_endproc;	\
-	.size name, .-name
-# endif
-
-# define CFI_PUSH(REG)	\
-	cfi_adjust_cfa_offset (4);	\
-	cfi_rel_offset (REG, 0)
-
-# define CFI_POP(REG)	\
-	cfi_adjust_cfa_offset (-4);	\
-	cfi_restore (REG)
-
-# define PUSH(REG)	pushl REG; CFI_PUSH (REG)
-# define POP(REG)	popl REG; CFI_POP (REG)
-
-# define PARMS	4
-# define RETURN	POP (%edi); ret; CFI_PUSH (%edi)
-
-# define STR1	PARMS
-# define STR2	STR1+4
-# define LEN	STR2+4
-
-.text
-ENTRY (wcscpy_ssse3)
-	mov	STR1(%esp), %edx
-	mov	STR2(%esp), %ecx
-
-	cmpl	$0, (%ecx)
-	jz	L(ExitTail4)
-	cmpl	$0, 4(%ecx)
-	jz	L(ExitTail8)
-	cmpl	$0, 8(%ecx)
-	jz	L(ExitTail12)
-	cmpl	$0, 12(%ecx)
-	jz	L(ExitTail16)
-
-	PUSH	(%edi)
-	mov	%edx, %edi
-#endif
-	PUSH	(%esi)
-	lea	16(%ecx), %esi
-
-	and	$-16, %esi
-
-	pxor	%xmm0, %xmm0
-	pcmpeqd	(%esi), %xmm0
-	movdqu	(%ecx), %xmm1
-	movdqu	%xmm1, (%edx)
-
-	pmovmskb %xmm0, %eax
-	sub	%ecx, %esi
-
-	test	%eax, %eax
-	jnz	L(CopyFrom1To16Bytes)
-
-	mov	%edx, %eax
-	lea	16(%edx), %edx
-	and	$-16, %edx
-	sub	%edx, %eax
-
-	sub	%eax, %ecx
-	mov	%ecx, %eax
-	and	$0xf, %eax
-	mov	$0, %esi
-
-	jz	L(Align16Both)
-	cmp	$4, %eax
-	je	L(Shl4)
-	cmp	$8, %eax
-	je	L(Shl8)
-	jmp	L(Shl12)
-
-L(Align16Both):
-	movaps	(%ecx), %xmm1
-	movaps	16(%ecx), %xmm2
-	movaps	%xmm1, (%edx)
-	pcmpeqd	%xmm2, %xmm0
-	pmovmskb %xmm0, %eax
-	lea	16(%esi), %esi
-
-	test	%eax, %eax
-	jnz	L(CopyFrom1To16Bytes)
-
-	movaps	16(%ecx, %esi), %xmm3
-	movaps	%xmm2, (%edx, %esi)
-	pcmpeqd	%xmm3, %xmm0
-	pmovmskb %xmm0, %eax
-	lea	16(%esi), %esi
-
-	test	%eax, %eax
-	jnz	L(CopyFrom1To16Bytes)
-
-	movaps	16(%ecx, %esi), %xmm4
-	movaps	%xmm3, (%edx, %esi)
-	pcmpeqd	%xmm4, %xmm0
-	pmovmskb %xmm0, %eax
-	lea	16(%esi), %esi
-
-	test	%eax, %eax
-	jnz	L(CopyFrom1To16Bytes)
-
-	movaps	16(%ecx, %esi), %xmm1
-	movaps	%xmm4, (%edx, %esi)
-	pcmpeqd	%xmm1, %xmm0
-	pmovmskb %xmm0, %eax
-	lea	16(%esi), %esi
-
-	test	%eax, %eax
-	jnz	L(CopyFrom1To16Bytes)
-
-	movaps	16(%ecx, %esi), %xmm2
-	movaps	%xmm1, (%edx, %esi)
-	pcmpeqd	%xmm2, %xmm0
-	pmovmskb %xmm0, %eax
-	lea	16(%esi), %esi
-
-	test	%eax, %eax
-	jnz	L(CopyFrom1To16Bytes)
-
-	movaps	16(%ecx, %esi), %xmm3
-	movaps	%xmm2, (%edx, %esi)
-	pcmpeqd	%xmm3, %xmm0
-	pmovmskb %xmm0, %eax
-	lea	16(%esi), %esi
-
-	test	%eax, %eax
-	jnz	L(CopyFrom1To16Bytes)
-
-	movaps	%xmm3, (%edx, %esi)
-	mov	%ecx, %eax
-	lea	16(%ecx, %esi), %ecx
-	and	$-0x40, %ecx
-	sub	%ecx, %eax
-	sub	%eax, %edx
-
-	mov	$-0x40, %esi
-
-L(Aligned64Loop):
-	movaps	(%ecx), %xmm2
-	movaps	32(%ecx), %xmm3
-	movaps	%xmm2, %xmm4
-	movaps	16(%ecx), %xmm5
-	movaps	%xmm3, %xmm6
-	movaps	48(%ecx), %xmm7
-	pminub	%xmm5, %xmm2
-	pminub	%xmm7, %xmm3
-	pminub	%xmm2, %xmm3
-	lea	64(%edx), %edx
-	pcmpeqd	%xmm0, %xmm3
-	lea	64(%ecx), %ecx
-	pmovmskb %xmm3, %eax
-
-	test	%eax, %eax
-	jnz	L(Aligned64Leave)
-	movaps	%xmm4, -64(%edx)
-	movaps	%xmm5, -48(%edx)
-	movaps	%xmm6, -32(%edx)
-	movaps	%xmm7, -16(%edx)
-	jmp	L(Aligned64Loop)
-
-L(Aligned64Leave):
-	pcmpeqd	%xmm4, %xmm0
-	pmovmskb %xmm0, %eax
-	test	%eax, %eax
-	jnz	L(CopyFrom1To16Bytes)
-
-	pcmpeqd	%xmm5, %xmm0
-	pmovmskb %xmm0, %eax
-	movaps	%xmm4, -64(%edx)
-	lea	16(%esi), %esi
-	test	%eax, %eax
-	jnz	L(CopyFrom1To16Bytes)
-
-	pcmpeqd	%xmm6, %xmm0
-	pmovmskb %xmm0, %eax
-	movaps	%xmm5, -48(%edx)
-	lea	16(%esi), %esi
-	test	%eax, %eax
-	jnz	L(CopyFrom1To16Bytes)
-
-	movaps	%xmm6, -32(%edx)
-	pcmpeqd	%xmm7, %xmm0
-	pmovmskb %xmm0, %eax
-	lea	16(%esi), %esi
-	test	%eax, %eax
-	jnz	L(CopyFrom1To16Bytes)
-
-	mov	$-0x40, %esi
-	movaps	%xmm7, -16(%edx)
-	jmp	L(Aligned64Loop)
-
-	.p2align 4
-L(Shl4):
-	movaps	-4(%ecx), %xmm1
-	movaps	12(%ecx), %xmm2
-L(Shl4Start):
-	pcmpeqd	%xmm2, %xmm0
-	pmovmskb %xmm0, %eax
-	movaps	%xmm2, %xmm3
-
-	test	%eax, %eax
-	jnz	L(Shl4LoopExit)
-
-	palignr	$4, %xmm1, %xmm2
-	movaps	%xmm2, (%edx)
-	movaps	28(%ecx), %xmm2
-
-	pcmpeqd	%xmm2, %xmm0
-	lea	16(%edx), %edx
-	pmovmskb %xmm0, %eax
-	lea	16(%ecx), %ecx
-	movaps	%xmm2, %xmm1
-
-	test	%eax, %eax
-	jnz	L(Shl4LoopExit)
-
-	palignr	$4, %xmm3, %xmm2
-	movaps	%xmm2, (%edx)
-	movaps	28(%ecx), %xmm2
-
-	pcmpeqd	%xmm2, %xmm0
-	lea	16(%edx), %edx
-	pmovmskb %xmm0, %eax
-	lea	16(%ecx), %ecx
-	movaps	%xmm2, %xmm3
-
-	test	%eax, %eax
-	jnz	L(Shl4LoopExit)
-
-	palignr	$4, %xmm1, %xmm2
-	movaps	%xmm2, (%edx)
-	movaps	28(%ecx), %xmm2
-
-	pcmpeqd	%xmm2, %xmm0
-	lea	16(%edx), %edx
-	pmovmskb %xmm0, %eax
-	lea	16(%ecx), %ecx
-
-	test	%eax, %eax
-	jnz	L(Shl4LoopExit)
-
-	palignr	$4, %xmm3, %xmm2
-	movaps	%xmm2, (%edx)
-	lea	28(%ecx), %ecx
-	lea	16(%edx), %edx
-
-	mov	%ecx, %eax
-	and	$-0x40, %ecx
-	sub	%ecx, %eax
-	lea	-12(%ecx), %ecx
-	sub	%eax, %edx
-
-	movaps	-4(%ecx), %xmm1
-
-L(Shl4LoopStart):
-	movaps	12(%ecx), %xmm2
-	movaps	28(%ecx), %xmm3
-	movaps	%xmm3, %xmm6
-	movaps	44(%ecx), %xmm4
-	movaps	%xmm4, %xmm7
-	movaps	60(%ecx), %xmm5
-	pminub	%xmm2, %xmm6
-	pminub	%xmm5, %xmm7
-	pminub	%xmm6, %xmm7
-	pcmpeqd	%xmm0, %xmm7
-	pmovmskb %xmm7, %eax
-	movaps	%xmm5, %xmm7
-	palignr	$4, %xmm4, %xmm5
-	palignr	$4, %xmm3, %xmm4
-	test	%eax, %eax
-	jnz	L(Shl4Start)
-
-	palignr	$4, %xmm2, %xmm3
-	lea	64(%ecx), %ecx
-	palignr	$4, %xmm1, %xmm2
-	movaps	%xmm7, %xmm1
-	movaps	%xmm5, 48(%edx)
-	movaps	%xmm4, 32(%edx)
-	movaps	%xmm3, 16(%edx)
-	movaps	%xmm2, (%edx)
-	lea	64(%edx), %edx
-	jmp	L(Shl4LoopStart)
-
-L(Shl4LoopExit):
-	movlpd	(%ecx), %xmm0
-	movl	8(%ecx), %esi
-	movlpd	%xmm0, (%edx)
-	movl	%esi, 8(%edx)
-	POP	(%esi)
-	add	$12, %edx
-	add	$12, %ecx
-	test	%al, %al
-	jz	L(ExitHigh)
-	test	$0x01, %al
-	jnz	L(Exit4)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movl	%edi, %eax
-	RETURN
-
-	CFI_PUSH	(%esi)
-
-	.p2align 4
-L(Shl8):
-	movaps	-8(%ecx), %xmm1
-	movaps	8(%ecx), %xmm2
-L(Shl8Start):
-	pcmpeqd	%xmm2, %xmm0
-	pmovmskb %xmm0, %eax
-	movaps	%xmm2, %xmm3
-
-	test	%eax, %eax
-	jnz	L(Shl8LoopExit)
-
-	palignr	$8, %xmm1, %xmm2
-	movaps	%xmm2, (%edx)
-	movaps	24(%ecx), %xmm2
-
-	pcmpeqd	%xmm2, %xmm0
-	lea	16(%edx), %edx
-	pmovmskb %xmm0, %eax
-	lea	16(%ecx), %ecx
-	movaps	%xmm2, %xmm1
-
-	test	%eax, %eax
-	jnz	L(Shl8LoopExit)
-
-	palignr	$8, %xmm3, %xmm2
-	movaps	%xmm2, (%edx)
-	movaps	24(%ecx), %xmm2
-
-	pcmpeqd	%xmm2, %xmm0
-	lea	16(%edx), %edx
-	pmovmskb %xmm0, %eax
-	lea	16(%ecx), %ecx
-	movaps	%xmm2, %xmm3
-
-	test	%eax, %eax
-	jnz	L(Shl8LoopExit)
-
-	palignr	$8, %xmm1, %xmm2
-	movaps	%xmm2, (%edx)
-	movaps	24(%ecx), %xmm2
-
-	pcmpeqd	%xmm2, %xmm0
-	lea	16(%edx), %edx
-	pmovmskb %xmm0, %eax
-	lea	16(%ecx), %ecx
-
-	test	%eax, %eax
-	jnz	L(Shl8LoopExit)
-
-	palignr	$8, %xmm3, %xmm2
-	movaps	%xmm2, (%edx)
-	lea	24(%ecx), %ecx
-	lea	16(%edx), %edx
-
-	mov	%ecx, %eax
-	and	$-0x40, %ecx
-	sub	%ecx, %eax
-	lea	-8(%ecx), %ecx
-	sub	%eax, %edx
-
-	movaps	-8(%ecx), %xmm1
-
-L(Shl8LoopStart):
-	movaps	8(%ecx), %xmm2
-	movaps	24(%ecx), %xmm3
-	movaps	%xmm3, %xmm6
-	movaps	40(%ecx), %xmm4
-	movaps	%xmm4, %xmm7
-	movaps	56(%ecx), %xmm5
-	pminub	%xmm2, %xmm6
-	pminub	%xmm5, %xmm7
-	pminub	%xmm6, %xmm7
-	pcmpeqd	%xmm0, %xmm7
-	pmovmskb %xmm7, %eax
-	movaps	%xmm5, %xmm7
-	palignr	$8, %xmm4, %xmm5
-	palignr	$8, %xmm3, %xmm4
-	test	%eax, %eax
-	jnz	L(Shl8Start)
-
-	palignr	$8, %xmm2, %xmm3
-	lea	64(%ecx), %ecx
-	palignr	$8, %xmm1, %xmm2
-	movaps	%xmm7, %xmm1
-	movaps	%xmm5, 48(%edx)
-	movaps	%xmm4, 32(%edx)
-	movaps	%xmm3, 16(%edx)
-	movaps	%xmm2, (%edx)
-	lea	64(%edx), %edx
-	jmp	L(Shl8LoopStart)
-
-L(Shl8LoopExit):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	POP	(%esi)
-	add	$8, %edx
-	add	$8, %ecx
-	test	%al, %al
-	jz	L(ExitHigh)
-	test	$0x01, %al
-	jnz	L(Exit4)
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movl	%edi, %eax
-	RETURN
-
-	CFI_PUSH	(%esi)
-
-	.p2align 4
-L(Shl12):
-	movaps	-12(%ecx), %xmm1
-	movaps	4(%ecx), %xmm2
-L(Shl12Start):
-	pcmpeqd	%xmm2, %xmm0
-	pmovmskb %xmm0, %eax
-	movaps	%xmm2, %xmm3
-
-	test	%eax, %eax
-	jnz	L(Shl12LoopExit)
-
-	palignr	$12, %xmm1, %xmm2
-	movaps	%xmm2, (%edx)
-	movaps	20(%ecx), %xmm2
-
-	pcmpeqd	%xmm2, %xmm0
-	lea	16(%edx), %edx
-	pmovmskb %xmm0, %eax
-	lea	16(%ecx), %ecx
-	movaps	%xmm2, %xmm1
-
-	test	%eax, %eax
-	jnz	L(Shl12LoopExit)
-
-	palignr	$12, %xmm3, %xmm2
-	movaps	%xmm2, (%edx)
-	movaps	20(%ecx), %xmm2
-
-	pcmpeqd	%xmm2, %xmm0
-	lea	16(%edx), %edx
-	pmovmskb %xmm0, %eax
-	lea	16(%ecx), %ecx
-	movaps	%xmm2, %xmm3
-
-	test	%eax, %eax
-	jnz	L(Shl12LoopExit)
-
-	palignr	$12, %xmm1, %xmm2
-	movaps	%xmm2, (%edx)
-	movaps	20(%ecx), %xmm2
-
-	pcmpeqd	%xmm2, %xmm0
-	lea	16(%edx), %edx
-	pmovmskb %xmm0, %eax
-	lea	16(%ecx), %ecx
-
-	test	%eax, %eax
-	jnz	L(Shl12LoopExit)
-
-	palignr	$12, %xmm3, %xmm2
-	movaps	%xmm2, (%edx)
-	lea	20(%ecx), %ecx
-	lea	16(%edx), %edx
-
-	mov	%ecx, %eax
-	and	$-0x40, %ecx
-	sub	%ecx, %eax
-	lea	-4(%ecx), %ecx
-	sub	%eax, %edx
-
-	movaps	-12(%ecx), %xmm1
-
-L(Shl12LoopStart):
-	movaps	4(%ecx), %xmm2
-	movaps	20(%ecx), %xmm3
-	movaps	%xmm3, %xmm6
-	movaps	36(%ecx), %xmm4
-	movaps	%xmm4, %xmm7
-	movaps	52(%ecx), %xmm5
-	pminub	%xmm2, %xmm6
-	pminub	%xmm5, %xmm7
-	pminub	%xmm6, %xmm7
-	pcmpeqd	%xmm0, %xmm7
-	pmovmskb %xmm7, %eax
-	movaps	%xmm5, %xmm7
-	palignr	$12, %xmm4, %xmm5
-	palignr	$12, %xmm3, %xmm4
-	test	%eax, %eax
-	jnz	L(Shl12Start)
-
-	palignr	$12, %xmm2, %xmm3
-	lea	64(%ecx), %ecx
-	palignr	$12, %xmm1, %xmm2
-	movaps	%xmm7, %xmm1
-	movaps	%xmm5, 48(%edx)
-	movaps	%xmm4, 32(%edx)
-	movaps	%xmm3, 16(%edx)
-	movaps	%xmm2, (%edx)
-	lea	64(%edx), %edx
-	jmp	L(Shl12LoopStart)
-
-L(Shl12LoopExit):
-	movl	(%ecx), %esi
-	movl	%esi, (%edx)
-	mov	$4, %esi
-
-	.p2align 4
-L(CopyFrom1To16Bytes):
-	add	%esi, %edx
-	add	%esi, %ecx
-
-	POP	(%esi)
-	test	%al, %al
-	jz	L(ExitHigh)
-	test	$0x01, %al
-	jnz	L(Exit4)
-L(Exit8):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movl	%edi, %eax
-	RETURN
-
-	.p2align 4
-L(ExitHigh):
-	test	$0x01, %ah
-	jnz	L(Exit12)
-L(Exit16):
-	movdqu	(%ecx), %xmm0
-	movdqu	%xmm0, (%edx)
-	movl	%edi, %eax
-	RETURN
-
-	.p2align 4
-L(Exit4):
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movl	%edi, %eax
-	RETURN
-
-	.p2align 4
-L(Exit12):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movl	8(%ecx), %eax
-	movl	%eax, 8(%edx)
-	movl	%edi, %eax
-	RETURN
-
-CFI_POP	(%edi)
-
-	.p2align 4
-L(ExitTail4):
-	movl	(%ecx), %eax
-	movl	%eax, (%edx)
-	movl	%edx, %eax
-	ret
-
-	.p2align 4
-L(ExitTail8):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movl	%edx, %eax
-	ret
-
-	.p2align 4
-L(ExitTail12):
-	movlpd	(%ecx), %xmm0
-	movlpd	%xmm0, (%edx)
-	movl	8(%ecx), %eax
-	movl	%eax, 8(%edx)
-	movl	%edx, %eax
-	ret
-
-	.p2align 4
-L(ExitTail16):
-	movdqu	(%ecx), %xmm0
-	movdqu	%xmm0, (%edx)
-	movl	%edx, %eax
-	ret
-
-#ifndef USE_AS_WCSCAT
-END (wcscpy_ssse3)
-#endif
diff --git a/libc/arch-x86/string/ssse3-wmemcmp-atom.S b/libc/arch-x86/string/ssse3-wmemcmp-atom.S
deleted file mode 100644
index a81b78b..0000000
--- a/libc/arch-x86/string/ssse3-wmemcmp-atom.S
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-Copyright (c) 2011, 2012, 2013 Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#define MEMCMP  wmemcmp_atom
-
-#define USE_WCHAR
-#define USE_AS_WMEMCMP 1
-#include "ssse3-memcmp-atom.S"
diff --git a/libc/arch-x86_64/bionic/__bionic_clone.S b/libc/arch-x86_64/bionic/__bionic_clone.S
index a4245b8..c293020 100644
--- a/libc/arch-x86_64/bionic/__bionic_clone.S
+++ b/libc/arch-x86_64/bionic/__bionic_clone.S
@@ -48,8 +48,8 @@
 
         # Check result.
         testq   %rax, %rax
-        jz      .L_bc_child
-        jg      .L_bc_parent
+        jz      L(bc_child)
+        jg      L(bc_parent)
 
         # An error occurred, set errno and return -1.
         negl    %eax
@@ -57,7 +57,7 @@
         call    __set_errno_internal
         ret
 
-.L_bc_child:
+L(bc_child):
         # We don't want anyone to unwind past this point.
         .cfi_undefined %rip
         .cfi_undefined %rbp
@@ -70,7 +70,7 @@
         call    __start_thread
         hlt
 
-.L_bc_parent:
+L(bc_parent):
         # We're the parent; nothing to do.
         ret
 END(__bionic_clone)
diff --git a/libc/arch-x86_64/bionic/__restore_rt.S b/libc/arch-x86_64/bionic/__restore_rt.S
index f3e4012..98d0ef5 100644
--- a/libc/arch-x86_64/bionic/__restore_rt.S
+++ b/libc/arch-x86_64/bionic/__restore_rt.S
@@ -109,7 +109,7 @@
   // Restoring RSP is unnecessary as the unwinder simply uses the CFA value.
   RESTORE_GPR(RIP)
   nop
-ENTRY_PRIVATE_NO_DWARF(__restore_rt)
+ENTRY_NO_DWARF_PRIVATE(__restore_rt)
   mov $__NR_rt_sigreturn, %rax
   syscall
 END(__restore_rt)
diff --git a/libc/arch-x86_64/bionic/__set_tls.c b/libc/arch-x86_64/bionic/__set_tls.c
index 10fd36f..9460a03 100644
--- a/libc/arch-x86_64/bionic/__set_tls.c
+++ b/libc/arch-x86_64/bionic/__set_tls.c
@@ -27,11 +27,12 @@
  */
 
 #include <sys/cdefs.h>
-#include <asm/prctl.h>
-#include <stdint.h>
 
-extern int __arch_prctl(int, unsigned long);
+// ARCH_SET_FS is not exposed via <sys/prctl.h> or <linux/prctl.h>.
+#include <asm/prctl.h>
+
+extern int arch_prctl(int, unsigned long);
 
 __LIBC_HIDDEN__ int __set_tls(void* ptr) {
-  return __arch_prctl(ARCH_SET_FS, (uintptr_t) ptr);
+  return arch_prctl(ARCH_SET_FS, (unsigned long) ptr);
 }
diff --git a/libc/arch-x86_64/bionic/setjmp.S b/libc/arch-x86_64/bionic/setjmp.S
index ba3f05f..11db14b 100644
--- a/libc/arch-x86_64/bionic/setjmp.S
+++ b/libc/arch-x86_64/bionic/setjmp.S
@@ -71,21 +71,18 @@
   .endr
 .endm
 
-ENTRY(setjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(setjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(setjmp)
   movl $1,%esi
   jmp PIC_PLT(sigsetjmp)
 END(setjmp)
 
-ENTRY(_setjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(_setjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(_setjmp)
   movl $0,%esi
   jmp PIC_PLT(sigsetjmp)
 END(_setjmp)
 
 // int sigsetjmp(sigjmp_buf env, int save_signal_mask);
-ENTRY(sigsetjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(sigsetjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(sigsetjmp)
   pushq %rdi
   movq %rsi,%rdi
   call PIC_PLT(__bionic_setjmp_cookie_get)
@@ -137,8 +134,7 @@
 END(sigsetjmp)
 
 // void siglongjmp(sigjmp_buf env, int value);
-ENTRY(siglongjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(siglongjmp)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(siglongjmp)
   movq %rdi,%r12
   pushq %rsi // Push 'value'.
 
@@ -203,7 +199,5 @@
   call PIC_PLT(__bionic_setjmp_checksum_mismatch)
 END(siglongjmp)
 
-ALIAS_SYMBOL(longjmp, siglongjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(longjmp)
-ALIAS_SYMBOL(_longjmp, siglongjmp)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(_longjmp)
+ALIAS_SYMBOL_WEAK_FOR_NATIVE_BRIDGE(longjmp, siglongjmp)
+ALIAS_SYMBOL_WEAK_FOR_NATIVE_BRIDGE(_longjmp, siglongjmp)
diff --git a/libc/arch-x86_64/bionic/vfork.S b/libc/arch-x86_64/bionic/vfork.S
index 8cfcc36..56d7050 100644
--- a/libc/arch-x86_64/bionic/vfork.S
+++ b/libc/arch-x86_64/bionic/vfork.S
@@ -31,8 +31,7 @@
 
 // This custom code preserves the return address across the system call.
 
-ENTRY(vfork)
-__BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(vfork)
+ENTRY_WEAK_FOR_NATIVE_BRIDGE(vfork)
   popq    %rdi  // Grab the return address.
 
   // Set cached_pid_ to 0, vforked_ to 1, and stash the previous value.
diff --git a/libc/arch-x86_64/dynamic_function_dispatch.cpp b/libc/arch-x86_64/dynamic_function_dispatch.cpp
index c846ded..cbe68a3 100644
--- a/libc/arch-x86_64/dynamic_function_dispatch.cpp
+++ b/libc/arch-x86_64/dynamic_function_dispatch.cpp
@@ -32,18 +32,18 @@
 
 extern "C" {
 
-typedef int memset_func(void* __dst, int __ch, size_t __n);
 DEFINE_IFUNC_FOR(memset) {
   __builtin_cpu_init();
-  if (__builtin_cpu_supports("avx2")) RETURN_FUNC(memset_func, memset_avx2);
-  RETURN_FUNC(memset_func, memset_generic);
+  if (__builtin_cpu_supports("avx2")) RETURN_FUNC(memset_func_t, memset_avx2);
+  RETURN_FUNC(memset_func_t, memset_generic);
 }
+MEMSET_SHIM()
 
-typedef void* __memset_chk_func(void* s, int c, size_t n, size_t n2);
 DEFINE_IFUNC_FOR(__memset_chk) {
   __builtin_cpu_init();
-  if (__builtin_cpu_supports("avx2")) RETURN_FUNC(__memset_chk_func, __memset_chk_avx2);
-  RETURN_FUNC(__memset_chk_func, __memset_chk_generic);
+  if (__builtin_cpu_supports("avx2")) RETURN_FUNC(__memset_chk_func_t, __memset_chk_avx2);
+  RETURN_FUNC(__memset_chk_func_t, __memset_chk_generic);
 }
+__MEMSET_CHK_SHIM()
 
 }  // extern "C"
diff --git a/libc/arch-x86_64/static_function_dispatch.S b/libc/arch-x86_64/static_function_dispatch.S
deleted file mode 100644
index 93ff5f2..0000000
--- a/libc/arch-x86_64/static_function_dispatch.S
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <private/bionic_asm.h>
-
-#define FUNCTION_DELEGATE(name, impl) \
-ENTRY(name); \
-    jmp impl; \
-END(name)
-
-FUNCTION_DELEGATE(memset, memset_generic)
-FUNCTION_DELEGATE(__memset_chk, __memset_chk_generic)
diff --git a/libc/arch-x86_64/string/avx2-memset-kbl.S b/libc/arch-x86_64/string/avx2-memset-kbl.S
index 09dd07d..35d682a 100644
--- a/libc/arch-x86_64/string/avx2-memset-kbl.S
+++ b/libc/arch-x86_64/string/avx2-memset-kbl.S
@@ -30,7 +30,6 @@
 
 #include <private/bionic_asm.h>
 
-#include "cache.h"
 
 #ifndef L
 # define L(label)	.L##label
@@ -63,10 +62,9 @@
 	testb	$2, %dl
 	jnz	L(2_3bytes)
 	testb	$1, %dl
-	jz	L(return)
+	jz	1f
 	movb	%cl, (%rdi)
-L(return):
-	ret
+1:	ret
 
 L(8_15bytes):
 	movq	%rcx, (%rdi)
@@ -90,59 +88,51 @@
 	movdqu	%xmm0, (%rdi)
 	movdqu	%xmm0, -16(%rdi, %rdx)
 	cmpq	$32, %rdx
-	jbe	L(32bytesless)
+	jbe	L(done)
 	movdqu	%xmm0, 16(%rdi)
 	movdqu	%xmm0, -32(%rdi, %rdx)
 	cmpq	$64, %rdx
-	jbe	L(64bytesless)
+	jbe	L(done)
 	movdqu	%xmm0, 32(%rdi)
 	movdqu	%xmm0, 48(%rdi)
 	movdqu	%xmm0, -64(%rdi, %rdx)
 	movdqu	%xmm0, -48(%rdi, %rdx)
 	cmpq	$128, %rdx
-	jbe	L(128bytesless)
-        vpbroadcastb %xmm0, %ymm0
+	jbe	L(done)
+	vpbroadcastb %xmm0, %ymm0
 	vmovdqu	%ymm0, 64(%rdi)
 	vmovdqu	%ymm0, 96(%rdi)
 	vmovdqu	%ymm0, -128(%rdi, %rdx)
 	vmovdqu	%ymm0, -96(%rdi, %rdx)
 	cmpq	$256, %rdx
-        ja      L(256bytesmore)
-L(32bytesless):
-L(64bytesless):
-L(128bytesless):
-	ret
+	jbe	L(done)
 
 	ALIGN (4)
-L(256bytesmore):
 	leaq	128(%rdi), %rcx
 	andq	$-128, %rcx
 	movq	%rdx, %r8
 	addq	%rdi, %rdx
 	andq	$-128, %rdx
 	cmpq	%rcx, %rdx
-	je	L(return)
+	je	L(done)
 
-#ifdef SHARED_CACHE_SIZE
-	cmp	$SHARED_CACHE_SIZE, %r8
-#else
-	cmp	__x86_64_shared_cache_size(%rip), %r8
-#endif
-	ja	L(256bytesmore_nt)
+	cmp	__x86_shared_cache_size(%rip), %r8
+
+	ja	L(non_temporal_loop)
 
 	ALIGN (4)
-L(256bytesmore_normal):
+L(normal_loop):
 	vmovdqa	%ymm0, (%rcx)
 	vmovdqa	%ymm0, 32(%rcx)
 	vmovdqa	%ymm0, 64(%rcx)
 	vmovdqa	%ymm0, 96(%rcx)
 	addq	$128, %rcx
 	cmpq	%rcx, %rdx
-	jne	L(256bytesmore_normal)
-	ret
+	jne	L(normal_loop)
+	jmp	L(done)
 
 	ALIGN (4)
-L(256bytesmore_nt):
+L(non_temporal_loop):
 	movntdq	 %xmm0, (%rcx)
 	movntdq	 %xmm0, 16(%rcx)
 	movntdq	 %xmm0, 32(%rcx)
@@ -153,8 +143,14 @@
 	movntdq	 %xmm0, 112(%rcx)
 	leaq	128(%rcx), %rcx
 	cmpq	%rcx, %rdx
-	jne	L(256bytesmore_nt)
+	jne	L(non_temporal_loop)
+	# We used non-temporal stores, so we need a fence here.
 	sfence
+
+L(done):
+	# We used the ymm registers, and that can break SSE2 performance
+	# unless you do this.
+	vzeroupper
 	ret
 
 END(memset_avx2)
diff --git a/libc/arch-x86_64/string/cache.h b/libc/arch-x86_64/string/cache.h
deleted file mode 100644
index 4131509..0000000
--- a/libc/arch-x86_64/string/cache.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-Copyright (c) 2014, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/* Values are optimized for Core Architecture */
-#define SHARED_CACHE_SIZE (4096*1024)  /* Core Architecture L2 Cache */
-#define DATA_CACHE_SIZE   (24*1024)    /* Core Architecture L1 Data Cache */
-
-#define SHARED_CACHE_SIZE_HALF (SHARED_CACHE_SIZE / 2)
-#define DATA_CACHE_SIZE_HALF   (DATA_CACHE_SIZE / 2)
diff --git a/libc/arch-x86_64/string/sse2-memmove-slm.S b/libc/arch-x86_64/string/sse2-memmove-slm.S
index 7395028..8b32680 100644
--- a/libc/arch-x86_64/string/sse2-memmove-slm.S
+++ b/libc/arch-x86_64/string/sse2-memmove-slm.S
@@ -28,7 +28,6 @@
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
-#include "cache.h"
 
 #ifndef MEMMOVE
 # define MEMMOVE		memmove
@@ -189,8 +188,9 @@
 	cmp	%r8, %rbx
 	jbe	L(mm_copy_remaining_forward)
 
-	cmp	$SHARED_CACHE_SIZE_HALF, %rdx
-	jae	L(mm_large_page_loop_forward)
+	cmp	__x86_shared_cache_size_half(%rip), %rdx
+
+	ja      L(mm_overlapping_check_forward)
 
 	.p2align 4
 L(mm_main_loop_forward):
@@ -414,8 +414,9 @@
 	cmp	%r9, %rbx
 	jae	L(mm_recalc_len)
 
-	cmp	$SHARED_CACHE_SIZE_HALF, %rdx
-	jae	L(mm_large_page_loop_backward)
+	cmp	__x86_shared_cache_size_half(%rip), %rdx
+
+	ja	L(mm_overlapping_check_backward)
 
 	.p2align 4
 L(mm_main_loop_backward):
@@ -481,6 +482,13 @@
 /* Big length copy forward part.  */
 
 	.p2align 4
+
+L(mm_overlapping_check_forward):
+	mov	%rsi, %r9
+	add	%rdx, %r9
+	cmp	__x86_shared_cache_size(%rip), %r9
+	jbe	L(mm_main_loop_forward)
+
 L(mm_large_page_loop_forward):
 	movdqu	(%r8, %rsi), %xmm0
 	movdqu	16(%r8, %rsi), %xmm1
@@ -498,6 +506,14 @@
 
 /* Big length copy backward part.  */
 	.p2align 4
+
+L(mm_overlapping_check_backward):
+	mov	%rdi, %r11
+	sub	%rsi, %r11 /* r11 = dst - src, diff */
+	add	%rdx, %r11
+	cmp	__x86_shared_cache_size(%rip), %r11
+	jbe	L(mm_main_loop_backward)
+
 L(mm_large_page_loop_backward):
 	movdqu	-64(%r9, %r8), %xmm0
 	movdqu	-48(%r9, %r8), %xmm1
diff --git a/libc/arch-x86_64/string/sse2-memset-slm.S b/libc/arch-x86_64/string/sse2-memset-slm.S
index cceadd2..84ab327 100644
--- a/libc/arch-x86_64/string/sse2-memset-slm.S
+++ b/libc/arch-x86_64/string/sse2-memset-slm.S
@@ -30,7 +30,6 @@
 
 #include <private/bionic_asm.h>
 
-#include "cache.h"
 
 #ifndef L
 # define L(label)	.L##label
@@ -116,11 +115,8 @@
 	cmpq	%rcx, %rdx
 	je	L(return)
 
-#ifdef SHARED_CACHE_SIZE
-	cmp	$SHARED_CACHE_SIZE, %r8
-#else
-	cmp	__x86_64_shared_cache_size(%rip), %r8
-#endif
+	cmp	__x86_shared_cache_size(%rip), %r8
+
 	ja	L(128bytesmore_nt)
 
 	ALIGN (4)
diff --git a/libc/arch-x86_64/string/sse4-memcmp-slm.S b/libc/arch-x86_64/string/sse4-memcmp-slm.S
index 8a8b180..46ad78d 100644
--- a/libc/arch-x86_64/string/sse4-memcmp-slm.S
+++ b/libc/arch-x86_64/string/sse4-memcmp-slm.S
@@ -28,7 +28,6 @@
 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
-#include "cache.h"
 
 #ifndef MEMCMP
 # define MEMCMP		memcmp
@@ -353,11 +352,7 @@
 
 	ALIGN (4)
 L(512bytesormore):
-#ifdef DATA_CACHE_SIZE_HALF
-	mov	$DATA_CACHE_SIZE_HALF, %r8
-#else
-	mov	__x86_64_data_cache_size_half(%rip), %r8
-#endif
+	mov	__x86_data_cache_size_half(%rip), %r8
 	mov	%r8, %r9
 	shr	$1, %r8
 	add	%r9, %r8
@@ -669,11 +664,7 @@
 
 	ALIGN (4)
 L(512bytesormorein2aligned):
-#ifdef DATA_CACHE_SIZE_HALF
-	mov	$DATA_CACHE_SIZE_HALF, %r8
-#else
-	mov	__x86_64_data_cache_size_half(%rip), %r8
-#endif
+	mov	__x86_data_cache_size_half(%rip), %r8
 	mov	%r8, %r9
 	shr	$1, %r8
 	add	%r9, %r8
diff --git a/libc/async_safe/Android.bp b/libc/async_safe/Android.bp
index eb690dd..c7de2ce 100644
--- a/libc/async_safe/Android.bp
+++ b/libc/async_safe/Android.bp
@@ -23,7 +23,10 @@
     native_bridge_supported: true,
 
     include_dirs: ["bionic/libc"],
-    header_libs: ["libc_headers", "liblog_headers"],
+    header_libs: [
+        "libc_headers",
+        "liblog_headers",
+    ],
 
     export_include_dirs: ["include"],
     export_header_lib_headers: ["liblog_headers"],
diff --git a/libc/async_safe/async_safe_log.cpp b/libc/async_safe/async_safe_log.cpp
index 420560f..07133b7 100644
--- a/libc/async_safe/async_safe_log.cpp
+++ b/libc/async_safe/async_safe_log.cpp
@@ -48,9 +48,7 @@
 #include <android/set_abort_message.h>
 #include <async_safe/log.h>
 
-#include "private/CachedProperty.h"
 #include "private/ErrnoRestorer.h"
-#include "private/ScopedPthreadMutexLocker.h"
 
 // Don't call libc's close or socket, since it might call back into us as a result of fdsan/fdtrack.
 #pragma GCC poison close
@@ -207,10 +205,12 @@
   // Decode the conversion specifier.
   int is_signed = (conversion == 'd' || conversion == 'i' || conversion == 'o');
   int base = 10;
-  if (conversion == 'x' || conversion == 'X') {
+  if (tolower(conversion) == 'x') {
     base = 16;
   } else if (conversion == 'o') {
     base = 8;
+  } else if (tolower(conversion) == 'b') {
+    base = 2;
   }
   bool caps = (conversion == 'X');
 
@@ -359,8 +359,21 @@
       buffer[1] = 'x';
       format_integer(buffer + 2, sizeof(buffer) - 2, value, 'x');
     } else if (c == 'm') {
-      strerror_r(errno, buffer, sizeof(buffer));
-    } else if (c == 'd' || c == 'i' || c == 'o' || c == 'u' || c == 'x' || c == 'X') {
+#if __ANDROID_API_LEVEL__ >= 35 // This library is used in mainline modules.
+      if (alternate) {
+        const char* name = strerrorname_np(errno);
+        if (name) {
+          strcpy(buffer, name);
+        } else {
+          format_integer(buffer, sizeof(buffer), errno, 'd');
+        }
+      } else
+#endif
+      {
+        strerror_r(errno, buffer, sizeof(buffer));
+      }
+    } else if (tolower(c) == 'b' || c == 'd' || c == 'i' || c == 'o' || c == 'u' ||
+               tolower(c) == 'x') {
       /* integers - first read value from stack */
       uint64_t value;
       int is_signed = (c == 'd' || c == 'i' || c == 'o');
@@ -391,10 +404,10 @@
         value = static_cast<uint64_t>((static_cast<int64_t>(value << shift)) >> shift);
       }
 
-      if (alternate && value != 0 && (c == 'x' || c == 'o')) {
-        if (c == 'x') {
+      if (alternate && value != 0 && (tolower(c) == 'x' || c == 'o' || tolower(c) == 'b')) {
+        if (tolower(c) == 'x' || tolower(c) == 'b') {
           buffer[0] = '0';
-          buffer[1] = 'x';
+          buffer[1] = c;
           format_integer(buffer + 2, sizeof(buffer) - 2, value, c);
         } else {
           buffer[0] = '0';
diff --git a/libc/bionic/NetdClientDispatch.cpp b/libc/bionic/NetdClientDispatch.cpp
index e6f4a97..be5fb11 100644
--- a/libc/bionic/NetdClientDispatch.cpp
+++ b/libc/bionic/NetdClientDispatch.cpp
@@ -20,18 +20,12 @@
 
 #include "private/bionic_fdtrack.h"
 
-#ifdef __i386__
-#define __socketcall __attribute__((__cdecl__))
-#else
-#define __socketcall
-#endif
-
-extern "C" __socketcall int __accept4(int, sockaddr*, socklen_t*, int);
-extern "C" __socketcall int __connect(int, const sockaddr*, socklen_t);
-extern "C" __socketcall int __sendmmsg(int, const mmsghdr*, unsigned int, int);
-extern "C" __socketcall ssize_t __sendmsg(int, const msghdr*, unsigned int);
-extern "C" __socketcall int __sendto(int, const void*, size_t, int, const sockaddr*, socklen_t);
-extern "C" __socketcall int __socket(int, int, int);
+extern "C" int __accept4(int, sockaddr*, socklen_t*, int);
+extern "C" int __connect(int, const sockaddr*, socklen_t);
+extern "C" int __sendmmsg(int, const mmsghdr*, unsigned int, int);
+extern "C" ssize_t __sendmsg(int, const msghdr*, unsigned int);
+extern "C" int __sendto(int, const void*, size_t, int, const sockaddr*, socklen_t);
+extern "C" int __socket(int, int, int);
 
 static unsigned fallBackNetIdForResolv(unsigned netId) {
     return netId;
diff --git a/libc/bionic/__bionic_get_shell_path.cpp b/libc/bionic/__bionic_get_shell_path.cpp
index c087b35..3ea256d 100644
--- a/libc/bionic/__bionic_get_shell_path.cpp
+++ b/libc/bionic/__bionic_get_shell_path.cpp
@@ -28,37 +28,15 @@
 
 #include "private/__bionic_get_shell_path.h"
 
-#include <errno.h>
-#include <string.h>
-#include <sys/cdefs.h>
-#include <unistd.h>
-
-#define VENDOR_PREFIX "/vendor/"
-
-static const char* init_sh_path() {
+const char* __bionic_get_shell_path() {
+  // For the host Bionic, we use the standard /bin/sh.
+  // Since P there's a /bin -> /system/bin symlink that means this will work
+  // for the device too, but as long as the NDK supports earlier API levels,
+  // we should probably make sure that this works in static binaries run on
+  // those OS versions too.
 #if !defined(__ANDROID__)
-  // For the host Bionic, use the standard /bin/sh
   return "/bin/sh";
 #else
-  /* If the device is not treble enabled, return the path to the system shell.
-   * Vendor code, on non-treble enabled devices could use system() / popen()
-   * with relative paths for executables on /system. Since /system will not be
-   * in $PATH for the vendor shell, simply return the system shell.
-   */
-
-#ifdef TREBLE_LINKER_NAMESPACES
-  /* look for /system or /vendor prefix */
-  char exe_path[strlen(VENDOR_PREFIX)];
-  ssize_t len = readlink("/proc/self/exe", exe_path, sizeof(exe_path));
-  if (len != -1 && !strncmp(exe_path, VENDOR_PREFIX, strlen(VENDOR_PREFIX))) {
-    return "/vendor/bin/sh";
-  }
-#endif
   return "/system/bin/sh";
-#endif  // if !defined(__ANDROID__)
-}
-
-const char* __bionic_get_shell_path() {
-  static const char* sh_path = init_sh_path();
-  return sh_path;
+#endif
 }
diff --git a/libc/bionic/__libc_init_main_thread.cpp b/libc/bionic/__libc_init_main_thread.cpp
index 95f46e9..0d557f1 100644
--- a/libc/bionic/__libc_init_main_thread.cpp
+++ b/libc/bionic/__libc_init_main_thread.cpp
@@ -44,7 +44,7 @@
 // Declared in "private/bionic_ssp.h".
 uintptr_t __stack_chk_guard = 0;
 
-static pthread_internal_t main_thread;
+BIONIC_USED_BEFORE_LINKER_RELOCATES static pthread_internal_t main_thread;
 
 // Setup for the main thread. For dynamic executables, this is called by the
 // linker _before_ libc is mapped in memory. This means that all writes to
@@ -150,7 +150,7 @@
   // stack.)
   ThreadMapping mapping = __allocate_thread_mapping(0, PTHREAD_GUARD_SIZE);
   if (mapping.mmap_base == nullptr) {
-    async_safe_fatal("failed to mmap main thread static TLS: %s", strerror(errno));
+    async_safe_fatal("failed to mmap main thread static TLS: %m");
   }
 
   const StaticTlsLayout& layout = __libc_shared_globals()->static_tls_layout;
diff --git a/libc/bionic/abort.cpp b/libc/bionic/abort.cpp
index c8bba01..1b7a5e6 100644
--- a/libc/bionic/abort.cpp
+++ b/libc/bionic/abort.cpp
@@ -29,27 +29,27 @@
 
 #include <signal.h>
 #include <stdlib.h>
-#include <sys/syscall.h>
 #include <unistd.h>
 
 #include "private/bionic_inline_raise.h"
 
 void abort() {
-  // Don't block SIGABRT to give any signal handler a chance; we ignore
-  // any errors -- X311J doesn't allow abort to return anyway.
-  sigset64_t mask;
-  sigfillset64(&mask);
-  sigdelset64(&mask, SIGABRT);
+  // Since abort() must not return, there's no error checking in this function:
+  // there's no way to report an error anyway.
 
-  sigprocmask64(SIG_SETMASK, &mask, nullptr);
+  // Unblock SIGABRT to give any signal handler a chance.
+  sigset64_t mask;
+  sigemptyset64(&mask);
+  sigaddset64(&mask, SIGABRT);
+  sigprocmask64(SIG_UNBLOCK, &mask, nullptr);
+
+  // Use inline_raise() to raise SIGABRT without adding an uninteresting
+  // stack frame that anyone investigating the crash would have to ignore.
   inline_raise(SIGABRT);
 
-  // If SIGABRT is ignored or it's caught and the handler returns,
-  // remove the SIGABRT signal handler and raise SIGABRT again.
-  struct sigaction64 sa = { .sa_handler = SIG_DFL, .sa_flags = SA_RESTART };
-  sigaction64(SIGABRT, &sa, nullptr);
-
-  sigprocmask64(SIG_SETMASK, &mask, nullptr);
+  // If that signal was ignored or was caught and the handler returned,
+  // remove the signal handler and raise SIGABRT again.
+  signal(SIGABRT, SIG_DFL);
   inline_raise(SIGABRT);
 
   // If we get this far, just exit.
diff --git a/libc/bionic/android_crash_detail.cpp b/libc/bionic/android_crash_detail.cpp
new file mode 100644
index 0000000..30ce505
--- /dev/null
+++ b/libc/bionic/android_crash_detail.cpp
@@ -0,0 +1,122 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <android/crash_detail.h>
+
+#include <async_safe/log.h>
+#include <bionic/crash_detail_internal.h>
+
+#include <bits/stdatomic.h>
+#include <pthread.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <string.h>
+#include <sys/mman.h>
+#include <sys/prctl.h>
+
+#include "private/ScopedPthreadMutexLocker.h"
+#include "private/bionic_defs.h"
+#include "private/bionic_globals.h"
+
+static _Atomic(crash_detail_t*) free_head = nullptr;
+
+__BIONIC_WEAK_FOR_NATIVE_BRIDGE
+crash_detail_t* android_crash_detail_register(const void* name, size_t name_size, const void* data,
+                                              size_t data_size) {
+  auto populate_crash_detail = [&](crash_detail_t* result) {
+    result->name = reinterpret_cast<const char*>(name);
+    result->name_size = name_size;
+    result->data = reinterpret_cast<const char*>(data);
+    result->data_size = data_size;
+  };
+  // This is a atomic fast-path for RAII use-cases where the app keeps creating and deleting
+  // crash details for short periods of time to capture detailed scopes.
+  if (crash_detail_t* head = atomic_load(&free_head)) {
+    while (head != nullptr && !atomic_compare_exchange_strong(&free_head, &head, head->prev_free)) {
+      // intentionally left blank.
+    }
+    if (head) {
+      head->prev_free = nullptr;
+      populate_crash_detail(head);
+      return head;
+    }
+  }
+  ScopedPthreadMutexLocker locker(&__libc_shared_globals()->crash_detail_page_lock);
+  struct crash_detail_page_t* prev = nullptr;
+  struct crash_detail_page_t* page = __libc_shared_globals()->crash_detail_page;
+  if (page != nullptr && page->used == kNumCrashDetails) {
+    prev = page;
+    page = nullptr;
+  }
+  if (page == nullptr) {
+    size_t size = sizeof(crash_detail_page_t);
+    void* map = mmap(nullptr, size, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0);
+    if (map == MAP_FAILED) {
+      async_safe_format_log(ANDROID_LOG_ERROR, "libc", "failed to allocate crash_detail_page: %m");
+      return nullptr;
+    }
+    prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, map, size, "crash details");
+    page = reinterpret_cast<struct crash_detail_page_t*>(map);
+    page->prev = prev;
+    __libc_shared_globals()->crash_detail_page = page;
+  }
+  crash_detail_t* result = &page->crash_details[page->used];
+  populate_crash_detail(result);
+  page->used++;
+  return result;
+}
+
+__BIONIC_WEAK_FOR_NATIVE_BRIDGE
+void android_crash_detail_unregister(crash_detail_t* crash_detail) {
+  if (crash_detail) {
+    if (crash_detail->prev_free) {
+      // removing already removed would mess up the free-list by creating a circle.
+      return;
+    }
+    crash_detail->data = nullptr;
+    crash_detail->name = nullptr;
+    crash_detail_t* prev = atomic_load(&free_head);
+    do {
+      crash_detail->prev_free = prev;
+    } while (!atomic_compare_exchange_strong(&free_head, &prev, crash_detail));
+  }
+}
+
+__BIONIC_WEAK_FOR_NATIVE_BRIDGE
+void android_crash_detail_replace_data(crash_detail_t* crash_detail, const void* data,
+                                       size_t data_size) {
+  crash_detail->data = reinterpret_cast<const char*>(data);
+  crash_detail->data_size = data_size;
+}
+
+__BIONIC_WEAK_FOR_NATIVE_BRIDGE
+void android_crash_detail_replace_name(crash_detail_t* crash_detail, const void* name,
+                                       size_t name_size) {
+  crash_detail->name = reinterpret_cast<const char*>(name);
+  crash_detail->name_size = name_size;
+}
diff --git a/libc/bionic/android_mallopt.cpp b/libc/bionic/android_mallopt.cpp
new file mode 100644
index 0000000..79e4072
--- /dev/null
+++ b/libc/bionic/android_mallopt.cpp
@@ -0,0 +1,146 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <errno.h>
+#include <stdatomic.h>
+
+#include <platform/bionic/malloc.h>
+#include <private/bionic_globals.h>
+
+#include "gwp_asan_wrappers.h"
+#include "malloc_limit.h"
+
+#if !defined(LIBC_STATIC)
+#include <stdio.h>
+
+#include <private/bionic_defs.h>
+
+#include "malloc_heapprofd.h"
+
+extern bool gZygoteChild;
+extern _Atomic bool gZygoteChildProfileable;
+
+bool WriteMallocLeakInfo(FILE* fp);
+bool GetMallocLeakInfo(android_mallopt_leak_info_t* leak_info);
+bool FreeMallocLeakInfo(android_mallopt_leak_info_t* leak_info);
+#endif
+
+// =============================================================================
+// Platform-internal mallopt variant.
+// =============================================================================
+#if !defined(LIBC_STATIC)
+__BIONIC_WEAK_FOR_NATIVE_BRIDGE
+#endif
+extern "C" bool android_mallopt(int opcode, void* arg, size_t arg_size) {
+  // Functionality available in both static and dynamic libc.
+  if (opcode == M_GET_DECAY_TIME_ENABLED) {
+    if (arg == nullptr || arg_size != sizeof(bool)) {
+      errno = EINVAL;
+      return false;
+    }
+    *reinterpret_cast<bool*>(arg) = atomic_load(&__libc_globals->decay_time_enabled);
+    return true;
+  }
+  if (opcode == M_INITIALIZE_GWP_ASAN) {
+    if (arg == nullptr || arg_size != sizeof(android_mallopt_gwp_asan_options_t)) {
+      errno = EINVAL;
+      return false;
+    }
+
+    return EnableGwpAsan(*reinterpret_cast<android_mallopt_gwp_asan_options_t*>(arg));
+  }
+  if (opcode == M_MEMTAG_STACK_IS_ON) {
+    if (arg == nullptr || arg_size != sizeof(bool)) {
+      errno = EINVAL;
+      return false;
+    }
+    *reinterpret_cast<bool*>(arg) = atomic_load(&__libc_memtag_stack);
+    return true;
+  }
+  if (opcode == M_SET_ALLOCATION_LIMIT_BYTES) {
+    return LimitEnable(arg, arg_size);
+  }
+
+#if defined(LIBC_STATIC)
+  errno = ENOTSUP;
+  return false;
+#else
+  if (opcode == M_SET_ZYGOTE_CHILD) {
+    if (arg != nullptr || arg_size != 0) {
+      errno = EINVAL;
+      return false;
+    }
+    gZygoteChild = true;
+    return true;
+  }
+  if (opcode == M_INIT_ZYGOTE_CHILD_PROFILING) {
+    if (arg != nullptr || arg_size != 0) {
+      errno = EINVAL;
+      return false;
+    }
+    atomic_store_explicit(&gZygoteChildProfileable, true, memory_order_release);
+    // Also check if heapprofd should start profiling from app startup.
+    HeapprofdInitZygoteChildProfiling();
+    return true;
+  }
+  if (opcode == M_GET_PROCESS_PROFILEABLE) {
+    if (arg == nullptr || arg_size != sizeof(bool)) {
+      errno = EINVAL;
+      return false;
+    }
+    // Native processes are considered profileable. Zygote children are considered
+    // profileable only when appropriately tagged.
+    *reinterpret_cast<bool*>(arg) =
+        !gZygoteChild || atomic_load_explicit(&gZygoteChildProfileable, memory_order_acquire);
+    return true;
+  }
+  if (opcode == M_WRITE_MALLOC_LEAK_INFO_TO_FILE) {
+    if (arg == nullptr || arg_size != sizeof(FILE*)) {
+      errno = EINVAL;
+      return false;
+    }
+    return WriteMallocLeakInfo(reinterpret_cast<FILE*>(arg));
+  }
+  if (opcode == M_GET_MALLOC_LEAK_INFO) {
+    if (arg == nullptr || arg_size != sizeof(android_mallopt_leak_info_t)) {
+      errno = EINVAL;
+      return false;
+    }
+    return GetMallocLeakInfo(reinterpret_cast<android_mallopt_leak_info_t*>(arg));
+  }
+  if (opcode == M_FREE_MALLOC_LEAK_INFO) {
+    if (arg == nullptr || arg_size != sizeof(android_mallopt_leak_info_t)) {
+      errno = EINVAL;
+      return false;
+    }
+    return FreeMallocLeakInfo(reinterpret_cast<android_mallopt_leak_info_t*>(arg));
+  }
+  // Try heapprofd's mallopt, as it handles options not covered here.
+  return HeapprofdMallopt(opcode, arg, arg_size);
+#endif
+}
diff --git a/libc/bionic/android_profiling_dynamic.cpp b/libc/bionic/android_profiling_dynamic.cpp
index 8c9127e..849d04b 100644
--- a/libc/bionic/android_profiling_dynamic.cpp
+++ b/libc/bionic/android_profiling_dynamic.cpp
@@ -126,15 +126,14 @@
 static void HandleTracedPerfSignal() {
   ScopedFd sock_fd{ socket(AF_UNIX, SOCK_STREAM | SOCK_NONBLOCK | SOCK_CLOEXEC, 0 /*protocol*/) };
   if (sock_fd.get() == -1) {
-    async_safe_format_log(ANDROID_LOG_ERROR, "libc", "failed to create socket: %s", strerror(errno));
+    async_safe_format_log(ANDROID_LOG_ERROR, "libc", "failed to create socket: %m");
     return;
   }
 
   sockaddr_un saddr{ AF_UNIX, "/dev/socket/traced_perf" };
   size_t addrlen = sizeof(sockaddr_un);
   if (connect(sock_fd.get(), reinterpret_cast<const struct sockaddr*>(&saddr), addrlen) == -1) {
-    async_safe_format_log(ANDROID_LOG_ERROR, "libc", "failed to connect to traced_perf socket: %s",
-                          strerror(errno));
+    async_safe_format_log(ANDROID_LOG_ERROR, "libc", "failed to connect to traced_perf socket: %m");
     return;
   }
 
@@ -153,13 +152,11 @@
   }
 
   if (maps_fd.get() == -1) {
-    async_safe_format_log(ANDROID_LOG_ERROR, "libc", "failed to open /proc/self/maps: %s",
-                          strerror(errno));
+    async_safe_format_log(ANDROID_LOG_ERROR, "libc", "failed to open /proc/self/maps: %m");
     return;
   }
   if (mem_fd.get() == -1) {
-    async_safe_format_log(ANDROID_LOG_ERROR, "libc", "failed to open /proc/self/mem: %s",
-                          strerror(errno));
+    async_safe_format_log(ANDROID_LOG_ERROR, "libc", "failed to open /proc/self/mem: %m");
     return;
   }
 
@@ -183,7 +180,7 @@
   memcpy(CMSG_DATA(cmsg), send_fds, num_fds * sizeof(int));
 
   if (sendmsg(sock_fd.get(), &msg_hdr, 0) == -1) {
-    async_safe_format_log(ANDROID_LOG_ERROR, "libc", "failed to sendmsg: %s", strerror(errno));
+    async_safe_format_log(ANDROID_LOG_ERROR, "libc", "failed to sendmsg: %m");
   }
 }
 
diff --git a/libc/bionic/android_set_abort_message.cpp b/libc/bionic/android_set_abort_message.cpp
index d5f8cb9..05adf3e 100644
--- a/libc/bionic/android_set_abort_message.cpp
+++ b/libc/bionic/android_set_abort_message.cpp
@@ -28,9 +28,12 @@
 
 #include <android/set_abort_message.h>
 
+#include <async_safe/log.h>
+
+#include <bits/stdatomic.h>
 #include <pthread.h>
-#include <stdint.h>
 #include <stddef.h>
+#include <stdint.h>
 #include <string.h>
 #include <sys/mman.h>
 #include <sys/prctl.h>
diff --git a/libc/bionic/android_unsafe_frame_pointer_chase.cpp b/libc/bionic/android_unsafe_frame_pointer_chase.cpp
index 1a59718..7d5cd6c 100644
--- a/libc/bionic/android_unsafe_frame_pointer_chase.cpp
+++ b/libc/bionic/android_unsafe_frame_pointer_chase.cpp
@@ -74,13 +74,19 @@
   while (1) {
 #if defined(__riscv)
     // Frame addresses seem to have been implemented incorrectly for RISC-V.
-    // See https://reviews.llvm.org/D87579.
+    // See https://reviews.llvm.org/D87579. We did at least manage to get this
+    // documented in the RISC-V psABI though:
+    // https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-cc.adoc#frame-pointer-convention
     auto* frame = reinterpret_cast<frame_record*>(begin - 16);
 #else
     auto* frame = reinterpret_cast<frame_record*>(begin);
 #endif
     if (num_frames < num_entries) {
-      buf[num_frames] = __bionic_clear_pac_bits(frame->return_addr);
+      uintptr_t addr = __bionic_clear_pac_bits(frame->return_addr);
+      if (addr == 0) {
+        break;
+      }
+      buf[num_frames] = addr;
     }
     ++num_frames;
     if (frame->next_frame < begin + sizeof(frame_record) || frame->next_frame >= end ||
diff --git a/libc/bionic/atexit.cpp b/libc/bionic/atexit.cpp
index 5dbf322..29f9c7b 100644
--- a/libc/bionic/atexit.cpp
+++ b/libc/bionic/atexit.cpp
@@ -73,8 +73,8 @@
   // restart concurrent __cxa_finalize passes.
   uint64_t total_appends_;
 
-  static size_t page_start_of_index(size_t idx) { return PAGE_START(idx * sizeof(AtexitEntry)); }
-  static size_t page_end_of_index(size_t idx) { return PAGE_END(idx * sizeof(AtexitEntry)); }
+  static size_t page_start_of_index(size_t idx) { return page_start(idx * sizeof(AtexitEntry)); }
+  static size_t page_end_of_index(size_t idx) { return page_end(idx * sizeof(AtexitEntry)); }
 
   // Recompact the array if it will save at least one page of memory at the end.
   bool needs_recompaction() const {
@@ -158,7 +158,7 @@
 
   const int prot = PROT_READ | (writable ? PROT_WRITE : 0);
   if (mprotect(reinterpret_cast<char*>(array_) + start_byte, byte_len, prot) != 0) {
-    async_safe_fatal("mprotect failed on atexit array: %s", strerror(errno));
+    async_safe_fatal("mprotect failed on atexit array: %m");
   }
 }
 
@@ -167,7 +167,7 @@
 // than one.
 bool AtexitArray::next_capacity(size_t capacity, size_t* result) {
   if (capacity == 0) {
-    *result = PAGE_END(sizeof(AtexitEntry)) / sizeof(AtexitEntry);
+    *result = page_end(sizeof(AtexitEntry)) / sizeof(AtexitEntry);
     return true;
   }
   size_t num_bytes;
@@ -198,8 +198,8 @@
   }
   if (new_pages == MAP_FAILED) {
     async_safe_format_log(ANDROID_LOG_WARN, "libc",
-                          "__cxa_atexit: mmap/mremap failed to allocate %zu bytes: %s",
-                          new_capacity_bytes, strerror(errno));
+                          "__cxa_atexit: mmap/mremap failed to allocate %zu bytes: %m",
+                          new_capacity_bytes);
   } else {
     result = true;
     prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, new_pages, new_capacity_bytes, "atexit handlers");
diff --git a/libc/bionic/bionic_allocator.cpp b/libc/bionic/bionic_allocator.cpp
index 98183d4..41baf8b 100644
--- a/libc/bionic/bionic_allocator.cpp
+++ b/libc/bionic/bionic_allocator.cpp
@@ -95,12 +95,10 @@
   return result;
 }
 
-BionicSmallObjectAllocator::BionicSmallObjectAllocator(uint32_t type,
-                                                       size_t block_size)
+BionicSmallObjectAllocator::BionicSmallObjectAllocator(uint32_t type, size_t block_size)
     : type_(type),
       block_size_(block_size),
-      blocks_per_page_((PAGE_SIZE - sizeof(small_object_page_info)) /
-                       block_size),
+      blocks_per_page_((page_size() - sizeof(small_object_page_info)) / block_size),
       free_pages_cnt_(0),
       page_list_(nullptr) {}
 
@@ -157,14 +155,13 @@
   if (page_list_ == page) {
     page_list_ = page->next_page;
   }
-  munmap(page, PAGE_SIZE);
+  munmap(page, page_size());
   free_pages_cnt_--;
 }
 
 void BionicSmallObjectAllocator::free(void* ptr) {
   small_object_page_info* const page =
-      reinterpret_cast<small_object_page_info*>(
-          PAGE_START(reinterpret_cast<uintptr_t>(ptr)));
+      reinterpret_cast<small_object_page_info*>(page_start(reinterpret_cast<uintptr_t>(ptr)));
 
   if (reinterpret_cast<uintptr_t>(ptr) % block_size_ != 0) {
     async_safe_fatal("invalid pointer: %p (block_size=%zd)", ptr, block_size_);
@@ -192,14 +189,13 @@
 }
 
 void BionicSmallObjectAllocator::alloc_page() {
-  void* const map_ptr = mmap(nullptr, PAGE_SIZE, PROT_READ | PROT_WRITE,
-                             MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+  void* const map_ptr =
+      mmap(nullptr, page_size(), PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
   if (map_ptr == MAP_FAILED) {
-    async_safe_fatal("mmap failed: %s", strerror(errno));
+    async_safe_fatal("mmap failed: %m");
   }
 
-  prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, map_ptr, PAGE_SIZE,
-        "bionic_alloc_small_objects");
+  prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, map_ptr, page_size(), "bionic_alloc_small_objects");
 
   small_object_page_info* const page =
       reinterpret_cast<small_object_page_info*>(map_ptr);
@@ -269,15 +265,15 @@
   size_t header_size = __BIONIC_ALIGN(kPageInfoSize, align);
   size_t allocated_size;
   if (__builtin_add_overflow(header_size, size, &allocated_size) ||
-      PAGE_END(allocated_size) < allocated_size) {
+      page_end(allocated_size) < allocated_size) {
     async_safe_fatal("overflow trying to alloc %zu bytes", size);
   }
-  allocated_size = PAGE_END(allocated_size);
+  allocated_size = page_end(allocated_size);
   void* map_ptr = mmap(nullptr, allocated_size, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
                        -1, 0);
 
   if (map_ptr == MAP_FAILED) {
-    async_safe_fatal("mmap failed: %s", strerror(errno));
+    async_safe_fatal("mmap failed: %m");
   }
 
   prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, map_ptr, allocated_size, "bionic_alloc_lob");
@@ -303,7 +299,7 @@
     log2_size = kSmallObjectMinSizeLog2;
   }
 
-  return get_small_object_allocator(log2_size)->alloc();
+  return get_small_object_allocator_unchecked(log2_size)->alloc();
 }
 
 void* BionicAllocator::alloc(size_t size) {
@@ -317,7 +313,7 @@
 void* BionicAllocator::memalign(size_t align, size_t size) {
   // The Bionic allocator only supports alignment up to one page, which is good
   // enough for ELF TLS.
-  align = MIN(align, PAGE_SIZE);
+  align = MIN(align, page_size());
   align = MAX(align, 16);
   if (!powerof2(align)) {
     align = BIONIC_ROUND_UP_POWER_OF_2(align);
@@ -327,16 +323,17 @@
 }
 
 inline page_info* BionicAllocator::get_page_info_unchecked(void* ptr) {
-  uintptr_t header_page = PAGE_START(reinterpret_cast<size_t>(ptr) - kPageInfoSize);
+  uintptr_t header_page = page_start(reinterpret_cast<size_t>(ptr) - kPageInfoSize);
   return reinterpret_cast<page_info*>(header_page);
 }
 
 inline page_info* BionicAllocator::get_page_info(void* ptr) {
   page_info* info = get_page_info_unchecked(ptr);
   if (memcmp(info->signature, kSignature, sizeof(kSignature)) != 0) {
-    async_safe_fatal("invalid pointer %p (page signature mismatch)", ptr);
+    async_safe_fatal("invalid pointer %p (page signature %04x instead of %04x)", ptr,
+                     *reinterpret_cast<const unsigned*>(info->signature),
+                     *reinterpret_cast<const unsigned*>(kSignature));
   }
-
   return info;
 }
 
@@ -357,12 +354,7 @@
   if (info->type == kLargeObject) {
     old_size = info->allocated_size - (static_cast<char*>(ptr) - reinterpret_cast<char*>(info));
   } else {
-    BionicSmallObjectAllocator* allocator = get_small_object_allocator(info->type);
-    if (allocator != info->allocator_addr) {
-      async_safe_fatal("invalid pointer %p (page signature mismatch)", ptr);
-    }
-
-    old_size = allocator->get_block_size();
+    old_size = get_small_object_allocator(info, ptr)->get_block_size();
   }
 
   if (old_size < size) {
@@ -381,16 +373,10 @@
   }
 
   page_info* info = get_page_info(ptr);
-
   if (info->type == kLargeObject) {
     munmap(info, info->allocated_size);
   } else {
-    BionicSmallObjectAllocator* allocator = get_small_object_allocator(info->type);
-    if (allocator != info->allocator_addr) {
-      async_safe_fatal("invalid pointer %p (invalid allocator address for the page)", ptr);
-    }
-
-    allocator->free(ptr);
+    get_small_object_allocator(info, ptr)->free(ptr);
   }
 }
 
@@ -406,7 +392,7 @@
     return info->allocated_size - (static_cast<char*>(ptr) - reinterpret_cast<char*>(info));
   }
 
-  BionicSmallObjectAllocator* allocator = get_small_object_allocator(info->type);
+  BionicSmallObjectAllocator* allocator = get_small_object_allocator_unchecked(info->type);
   if (allocator != info->allocator_addr) {
     // Invalid pointer.
     return 0;
@@ -414,7 +400,7 @@
   return allocator->get_block_size();
 }
 
-BionicSmallObjectAllocator* BionicAllocator::get_small_object_allocator(uint32_t type) {
+BionicSmallObjectAllocator* BionicAllocator::get_small_object_allocator_unchecked(uint32_t type) {
   if (type < kSmallObjectMinSizeLog2 || type > kSmallObjectMaxSizeLog2) {
     async_safe_fatal("invalid type: %u", type);
   }
@@ -422,3 +408,11 @@
   initialize_allocators();
   return &allocators_[type - kSmallObjectMinSizeLog2];
 }
+
+BionicSmallObjectAllocator* BionicAllocator::get_small_object_allocator(page_info* pi, void* ptr) {
+  BionicSmallObjectAllocator* result = get_small_object_allocator_unchecked(pi->type);
+  if (result != pi->allocator_addr) {
+    async_safe_fatal("invalid pointer %p (invalid allocator address for the page)", ptr);
+  }
+  return result;
+}
\ No newline at end of file
diff --git a/libc/bionic/bionic_call_ifunc_resolver.cpp b/libc/bionic/bionic_call_ifunc_resolver.cpp
index 437de78..d5a812c 100644
--- a/libc/bionic/bionic_call_ifunc_resolver.cpp
+++ b/libc/bionic/bionic_call_ifunc_resolver.cpp
@@ -28,8 +28,10 @@
 
 #include "private/bionic_call_ifunc_resolver.h"
 #include <sys/auxv.h>
+#include <sys/hwprobe.h>
 #include <sys/ifunc.h>
 
+#include "bionic/macros.h"
 #include "private/bionic_auxv.h"
 
 // This code is called in the linker before it has been relocated, so minimize calls into other
@@ -39,8 +41,8 @@
 ElfW(Addr) __bionic_call_ifunc_resolver(ElfW(Addr) resolver_addr) {
 #if defined(__aarch64__)
   typedef ElfW(Addr) (*ifunc_resolver_t)(uint64_t, __ifunc_arg_t*);
-  static __ifunc_arg_t arg;
-  static bool initialized = false;
+  BIONIC_USED_BEFORE_LINKER_RELOCATES static __ifunc_arg_t arg;
+  BIONIC_USED_BEFORE_LINKER_RELOCATES static bool initialized = false;
   if (!initialized) {
     initialized = true;
     arg._size = sizeof(__ifunc_arg_t);
@@ -50,13 +52,15 @@
   return reinterpret_cast<ifunc_resolver_t>(resolver_addr)(arg._hwcap | _IFUNC_ARG_HWCAP, &arg);
 #elif defined(__arm__)
   typedef ElfW(Addr) (*ifunc_resolver_t)(unsigned long);
-  static unsigned long hwcap;
-  static bool initialized = false;
-  if (!initialized) {
-    initialized = true;
-    hwcap = getauxval(AT_HWCAP);
-  }
+  static unsigned long hwcap = getauxval(AT_HWCAP);
   return reinterpret_cast<ifunc_resolver_t>(resolver_addr)(hwcap);
+#elif defined(__riscv)
+  // The third argument is currently unused, but reserved for future
+  // expansion. If we pass nullptr from the beginning, it'll be easier
+  // to recognize if/when we pass actual data (and matches glibc).
+  typedef ElfW(Addr) (*ifunc_resolver_t)(uint64_t, __riscv_hwprobe_t, void*);
+  static uint64_t hwcap = getauxval(AT_HWCAP);
+  return reinterpret_cast<ifunc_resolver_t>(resolver_addr)(hwcap, __riscv_hwprobe, nullptr);
 #else
   typedef ElfW(Addr) (*ifunc_resolver_t)(void);
   return reinterpret_cast<ifunc_resolver_t>(resolver_addr)();
diff --git a/libc/bionic/bionic_elf_tls.cpp b/libc/bionic/bionic_elf_tls.cpp
index 79893e3..3245b90 100644
--- a/libc/bionic/bionic_elf_tls.cpp
+++ b/libc/bionic/bionic_elf_tls.cpp
@@ -34,10 +34,11 @@
 #include <sys/param.h>
 #include <unistd.h>
 
+#include "platform/bionic/macros.h"
+#include "platform/bionic/page.h"
 #include "private/ScopedRWLock.h"
 #include "private/ScopedSignalBlocker.h"
 #include "private/bionic_globals.h"
-#include "platform/bionic/macros.h"
 #include "private/bionic_tls.h"
 #include "pthread_internal.h"
 
@@ -59,11 +60,18 @@
   for (size_t i = 0; i < phdr_count; ++i) {
     const ElfW(Phdr)& phdr = phdr_table[i];
     if (phdr.p_type == PT_TLS) {
-      *out = TlsSegment {
-        phdr.p_memsz,
-        phdr.p_align,
-        reinterpret_cast<void*>(load_bias + phdr.p_vaddr),
-        phdr.p_filesz,
+      *out = TlsSegment{
+          .aligned_size =
+              TlsAlignedSize{
+                  .size = phdr.p_memsz,
+                  .align =
+                      TlsAlign{
+                          .value = phdr.p_align ?: 1,  // 0 means "no alignment requirement"
+                          .skew = phdr.p_vaddr % MAX(1, phdr.p_align),
+                      },
+              },
+          .init_ptr = reinterpret_cast<void*>(load_bias + phdr.p_vaddr),
+          .init_size = phdr.p_filesz,
       };
       return true;
     }
@@ -71,114 +79,171 @@
   return false;
 }
 
-// Return true if the alignment of a TLS segment is a valid power-of-two. Also
-// cap the alignment if it's too high.
-bool __bionic_check_tls_alignment(size_t* alignment) {
-  // N.B. The size does not need to be a multiple of the alignment. With
-  // ld.bfd (or after using binutils' strip), the TLS segment's size isn't
-  // rounded up.
-  if (*alignment == 0 || !powerof2(*alignment)) {
-    return false;
-  }
-  // Bionic only respects TLS alignment up to one page.
-  *alignment = MIN(*alignment, PAGE_SIZE);
-  return true;
+// Return true if the alignment of a TLS segment is a valid power-of-two.
+bool __bionic_check_tls_align(size_t align) {
+  // Note: The size does not need to be a multiple of the alignment. With ld.bfd
+  // (or after using binutils' strip), the TLS segment's size isn't rounded up.
+  return powerof2(align);
+}
+
+static void static_tls_layout_overflow() {
+  async_safe_fatal("error: TLS segments in static TLS overflowed");
+}
+
+static size_t align_checked(size_t value, TlsAlign tls_align) {
+  const size_t align = tls_align.value;
+  const size_t skew = tls_align.skew;
+  CHECK(align != 0 && powerof2(align + 0) && skew < align);
+  const size_t result = ((value - skew + align - 1) & ~(align - 1)) + skew;
+  if (result < value) static_tls_layout_overflow();
+  return result;
 }
 
 size_t StaticTlsLayout::offset_thread_pointer() const {
   return offset_bionic_tcb_ + (-MIN_TLS_SLOT * sizeof(void*));
 }
 
-// Reserves space for the Bionic TCB and the executable's TLS segment. Returns
-// the offset of the executable's TLS segment.
-size_t StaticTlsLayout::reserve_exe_segment_and_tcb(const TlsSegment* exe_segment,
+// Allocates the Bionic TCB and the executable's TLS segment in the static TLS
+// layout, satisfying alignment requirements for both.
+//
+// For an executable's TLS accesses (using the LocalExec model), the static
+// linker bakes TLS offsets directly into the .text section, so the loader must
+// place the executable segment at the same offset relative to the TP.
+// Similarly, the Bionic TLS slots (bionic_tcb) must also be allocated at the
+// correct offset relative to the TP.
+//
+// Returns the offset of the executable's TLS segment.
+//
+// Note: This function has unit tests, but they are in bionic-unit-tests-static,
+// not bionic-unit-tests.
+size_t StaticTlsLayout::reserve_exe_segment_and_tcb(const TlsSegment* seg,
                                                     const char* progname __attribute__((unused))) {
   // Special case: if the executable has no TLS segment, then just allocate a
   // TCB and skip the minimum alignment check on ARM.
-  if (exe_segment == nullptr) {
+  if (seg == nullptr) {
     offset_bionic_tcb_ = reserve_type<bionic_tcb>();
     return 0;
   }
 
 #if defined(__arm__) || defined(__aarch64__)
+  // ARM uses a "variant 1" TLS layout. The ABI specifies that the TP points at
+  // a 2-word TCB, followed by the executable's segment. In practice, libc
+  // implementations actually allocate a larger TCB at negative offsets from the
+  // TP.
+  //
+  // Historically, Bionic allocated an 8-word TCB starting at TP+0, so to keep
+  // the executable's TLS segment from overlapping the last 6 slots, Bionic
+  // requires that executables have an 8-word PT_TLS alignment to ensure that
+  // the TCB fits in the alignment padding, which it accomplishes using
+  // crtbegin.c. Bionic uses negative offsets for new TLS slots to avoid this
+  // problem.
 
-  // First reserve enough space for the TCB before the executable segment.
-  reserve(sizeof(bionic_tcb), 1);
+  static_assert(MIN_TLS_SLOT <= 0 && MAX_TLS_SLOT >= 1);
+  static_assert(sizeof(bionic_tcb) == (MAX_TLS_SLOT - MIN_TLS_SLOT + 1) * sizeof(void*));
+  static_assert(alignof(bionic_tcb) == sizeof(void*));
+  const size_t max_align = MAX(alignof(bionic_tcb), seg->aligned_size.align.value);
 
-  // Then reserve the segment itself.
-  const size_t result = reserve(exe_segment->size, exe_segment->alignment);
+  // Allocate the TCB first. Split it into negative and non-negative slots and
+  // ensure that TP (i.e. the first non-negative slot) is aligned to max_align.
+  const size_t tcb_size_pre = -MIN_TLS_SLOT * sizeof(void*);
+  const size_t tcb_size_post = (MAX_TLS_SLOT + 1) * sizeof(void*);
+  const auto pair =
+      reserve_tp_pair(TlsAlignedSize{.size = tcb_size_pre},
+                      TlsAlignedSize{.size = tcb_size_post, .align = TlsAlign{.value = max_align}});
+  offset_bionic_tcb_ = pair.before;
+  const size_t offset_tp = pair.tp;
 
-  // The variant 1 ABI that ARM linkers follow specifies a 2-word TCB between
-  // the thread pointer and the start of the executable's TLS segment, but both
-  // the thread pointer and the TLS segment are aligned appropriately for the
-  // TLS segment. Calculate the distance between the thread pointer and the
-  // EXE's segment.
-  const size_t exe_tpoff = __BIONIC_ALIGN(sizeof(void*) * 2, exe_segment->alignment);
+  // Allocate the segment.
+  offset_exe_ = reserve(seg->aligned_size);
 
-  const size_t min_bionic_alignment = BIONIC_ROUND_UP_POWER_OF_2(MAX_TLS_SLOT) * sizeof(void*);
-  if (exe_tpoff < min_bionic_alignment) {
-    async_safe_fatal("error: \"%s\": executable's TLS segment is underaligned: "
-                     "alignment is %zu, needs to be at least %zu for %s Bionic",
-                     progname, exe_segment->alignment, min_bionic_alignment,
-                     (sizeof(void*) == 4 ? "ARM" : "ARM64"));
+  // Verify that the ABI and Bionic tpoff values are equal, which is equivalent
+  // to checking whether the segment is sufficiently aligned.
+  const size_t abi_tpoff = align_checked(2 * sizeof(void*), seg->aligned_size.align);
+  const size_t actual_tpoff = align_checked(tcb_size_post, seg->aligned_size.align);
+  CHECK(actual_tpoff == offset_exe_ - offset_tp);
+
+  if (abi_tpoff != actual_tpoff) {
+    async_safe_fatal(
+        "error: \"%s\": executable's TLS segment is underaligned: "
+        "alignment is %zu (skew %zu), needs to be at least %zu for %s Bionic",
+        progname, seg->aligned_size.align.value, seg->aligned_size.align.skew, tcb_size_post,
+        (sizeof(void*) == 4 ? "ARM" : "ARM64"));
   }
 
-  offset_bionic_tcb_ = result - exe_tpoff - (-MIN_TLS_SLOT * sizeof(void*));
-  return result;
-
 #elif defined(__i386__) || defined(__x86_64__)
 
-  // x86 uses variant 2 TLS layout. The executable's segment is located just
-  // before the TCB.
-  static_assert(MIN_TLS_SLOT == 0, "First slot of bionic_tcb must be slot #0 on x86");
-  const size_t exe_size = round_up_with_overflow_check(exe_segment->size, exe_segment->alignment);
-  reserve(exe_size, 1);
-  const size_t max_align = MAX(alignof(bionic_tcb), exe_segment->alignment);
-  offset_bionic_tcb_ = reserve(sizeof(bionic_tcb), max_align);
-  return offset_bionic_tcb_ - exe_size;
+  auto pair = reserve_tp_pair(seg->aligned_size, TlsAlignedSize::of_type<bionic_tcb>());
+  offset_exe_ = pair.before;
+  offset_bionic_tcb_ = pair.after;
 
 #elif defined(__riscv)
+  static_assert(MAX_TLS_SLOT == -1, "Last slot of bionic_tcb must be slot #(-1) on riscv");
 
-  // First reserve enough space for the TCB before the executable segment.
-  offset_bionic_tcb_ = reserve(sizeof(bionic_tcb), 1);
-
-  // Then reserve the segment itself.
-  const size_t exe_size = round_up_with_overflow_check(exe_segment->size, exe_segment->alignment);
-  return reserve(exe_size, 1);
+  auto pair = reserve_tp_pair(TlsAlignedSize::of_type<bionic_tcb>(), seg->aligned_size);
+  offset_bionic_tcb_ = pair.before;
+  offset_exe_ = pair.after;
 
 #else
 #error "Unrecognized architecture"
 #endif
+
+  return offset_exe_;
 }
 
-void StaticTlsLayout::reserve_bionic_tls() {
+size_t StaticTlsLayout::reserve_bionic_tls() {
   offset_bionic_tls_ = reserve_type<bionic_tls>();
+  return offset_bionic_tls_;
 }
 
 void StaticTlsLayout::finish_layout() {
   // Round the offset up to the alignment.
-  offset_ = round_up_with_overflow_check(offset_, alignment_);
-
-  if (overflowed_) {
-    async_safe_fatal("error: TLS segments in static TLS overflowed");
-  }
+  cursor_ = align_checked(cursor_, TlsAlign{.value = align_});
 }
 
-// The size is not required to be a multiple of the alignment. The alignment
-// must be a positive power-of-two.
-size_t StaticTlsLayout::reserve(size_t size, size_t alignment) {
-  offset_ = round_up_with_overflow_check(offset_, alignment);
-  const size_t result = offset_;
-  if (__builtin_add_overflow(offset_, size, &offset_)) overflowed_ = true;
-  alignment_ = MAX(alignment_, alignment);
+size_t StaticTlsLayout::align_cursor(TlsAlign align) {
+  cursor_ = align_checked(cursor_, align);
+  align_ = MAX(align_, align.value);
+  return cursor_;
+}
+
+size_t StaticTlsLayout::align_cursor_unskewed(size_t align) {
+  return align_cursor(TlsAlign{.value = align});
+}
+
+// Reserve the requested number of bytes at the requested alignment. The
+// requested size is not required to be a multiple of the alignment, nor is the
+// cursor aligned after the allocation.
+size_t StaticTlsLayout::reserve(TlsAlignedSize aligned_size) {
+  align_cursor(aligned_size.align);
+  const size_t result = cursor_;
+  if (__builtin_add_overflow(cursor_, aligned_size.size, &cursor_)) static_tls_layout_overflow();
   return result;
 }
 
-size_t StaticTlsLayout::round_up_with_overflow_check(size_t value, size_t alignment) {
-  const size_t old_value = value;
-  value = __BIONIC_ALIGN(value, alignment);
-  if (value < old_value) overflowed_ = true;
-  return value;
+// Calculate the TP offset and allocate something before it and something after
+// it. The TP will be aligned to:
+//
+//     MAX(before.align.value, after.align.value)
+//
+// The `before` and `after` allocations are each allocated as closely as
+// possible to the TP.
+StaticTlsLayout::TpAllocations StaticTlsLayout::reserve_tp_pair(TlsAlignedSize before,
+                                                                TlsAlignedSize after) {
+  // Tentative `before` allocation.
+  const size_t tentative_before = reserve(before);
+  const size_t tentative_before_end = align_cursor_unskewed(before.align.value);
+
+  const size_t offset_tp = align_cursor_unskewed(MAX(before.align.value, after.align.value));
+
+  const size_t offset_after = reserve(after);
+
+  // If the `after` allocation has higher alignment than `before`, then there
+  // may be alignment padding to remove between `before` and the TP. Shift
+  // `before` forward to remove this padding.
+  CHECK(((offset_tp - tentative_before_end) & (before.align.value - 1)) == 0);
+  const size_t offset_before = tentative_before + (offset_tp - tentative_before_end);
+
+  return TpAllocations{offset_before, offset_tp, offset_after};
 }
 
 // Copy each TLS module's initialization image into a newly-allocated block of
@@ -308,7 +373,11 @@
   void* mod_ptr = dtv->modules[module_idx];
   if (mod_ptr == nullptr) {
     const TlsSegment& segment = modules.module_table[module_idx].segment;
-    mod_ptr = __libc_shared_globals()->tls_allocator.memalign(segment.alignment, segment.size);
+    // TODO: Currently the aligned_size.align.skew property is ignored.
+    // That is, for a dynamic TLS block at addr A, (A % p_align) will be 0, not
+    // (p_vaddr % p_align).
+    mod_ptr = __libc_shared_globals()->tls_allocator.memalign(segment.aligned_size.align.value,
+                                                              segment.aligned_size.size);
     if (segment.init_size > 0) {
       memcpy(mod_ptr, segment.init_ptr, segment.init_size);
     }
@@ -316,8 +385,8 @@
 
     // Reports the allocation to the listener, if any.
     if (modules.on_creation_cb != nullptr) {
-      modules.on_creation_cb(mod_ptr,
-                             static_cast<void*>(static_cast<char*>(mod_ptr) + segment.size));
+      modules.on_creation_cb(
+          mod_ptr, static_cast<void*>(static_cast<char*>(mod_ptr) + segment.aligned_size.size));
     }
   }
 
@@ -331,9 +400,10 @@
 // segment.
 //
 // On most targets, this accessor function is __tls_get_addr and
-// TLS_GET_ADDR_CCONV is unset. 32-bit x86 uses ___tls_get_addr instead and a
-// regparm() calling convention.
-extern "C" void* TLS_GET_ADDR(const TlsIndex* ti) TLS_GET_ADDR_CCONV {
+// TLS_GET_ADDR_CALLING_CONVENTION is unset, but 32-bit x86 uses
+// ___tls_get_addr (with three underscores) instead, and a regparm
+// calling convention.
+extern "C" void* TLS_GET_ADDR(const TlsIndex* ti) TLS_GET_ADDR_CALLING_CONVENTION {
   TlsDtv* dtv = __get_tcb_dtv(__get_bionic_tcb());
 
   // TODO: See if we can use a relaxed memory ordering here instead.
diff --git a/libc/bionic/bionic_futex.cpp b/libc/bionic/bionic_futex.cpp
index 0ac1f6e..aa8234f 100644
--- a/libc/bionic/bionic_futex.cpp
+++ b/libc/bionic/bionic_futex.cpp
@@ -28,6 +28,7 @@
 
 #include "private/bionic_futex.h"
 
+#include <stdatomic.h>
 #include <time.h>
 
 #include "private/bionic_time_conversions.h"
@@ -35,7 +36,6 @@
 static inline __always_inline int FutexWithTimeout(volatile void* ftx, int op, int value,
                                                    bool use_realtime_clock,
                                                    const timespec* abs_timeout, int bitset) {
-  const timespec* futex_abs_timeout = abs_timeout;
   // pthread's and semaphore's default behavior is to use CLOCK_REALTIME, however this behavior is
   // essentially never intended, as that clock is prone to change discontinuously.
   //
@@ -46,16 +46,26 @@
   // We have seen numerous bugs directly attributable to this difference.  Therefore, we provide
   // this general workaround to always use CLOCK_MONOTONIC for waiting, regardless of what the input
   // timespec is.
-  timespec converted_monotonic_abs_timeout;
-  if (abs_timeout && use_realtime_clock) {
-    monotonic_time_from_realtime_time(converted_monotonic_abs_timeout, *abs_timeout);
-    if (converted_monotonic_abs_timeout.tv_sec < 0) {
+  timespec converted_timeout;
+  if (abs_timeout) {
+    if ((op & FUTEX_CMD_MASK) == FUTEX_LOCK_PI) {
+      if (!use_realtime_clock) {
+        realtime_time_from_monotonic_time(converted_timeout, *abs_timeout);
+        abs_timeout = &converted_timeout;
+      }
+    } else {
+      op &= ~FUTEX_CLOCK_REALTIME;
+      if (use_realtime_clock) {
+        monotonic_time_from_realtime_time(converted_timeout, *abs_timeout);
+        abs_timeout = &converted_timeout;
+      }
+    }
+    if (abs_timeout->tv_sec < 0) {
       return -ETIMEDOUT;
     }
-    futex_abs_timeout = &converted_monotonic_abs_timeout;
   }
 
-  return __futex(ftx, op, value, futex_abs_timeout, bitset);
+  return __futex(ftx, op, value, abs_timeout, bitset);
 }
 
 int __futex_wait_ex(volatile void* ftx, bool shared, int value, bool use_realtime_clock,
@@ -66,6 +76,22 @@
 
 int __futex_pi_lock_ex(volatile void* ftx, bool shared, bool use_realtime_clock,
                        const timespec* abs_timeout) {
-  return FutexWithTimeout(ftx, (shared ? FUTEX_LOCK_PI : FUTEX_LOCK_PI_PRIVATE), 0,
-                          use_realtime_clock, abs_timeout, 0);
+  // We really want FUTEX_LOCK_PI2 which is default CLOCK_MONOTONIC, but that isn't supported
+  // on linux before 5.14.  FUTEX_LOCK_PI uses CLOCK_REALTIME.  Here we verify support.
+
+  static atomic_int lock_op = 0;
+  int op = atomic_load_explicit(&lock_op, memory_order_relaxed);
+  if (op == 0) {
+    uint32_t tmp = 0;
+    if (__futex(&tmp, FUTEX_LOCK_PI2, 0, nullptr, 0) == 0) {
+      __futex(&tmp, FUTEX_UNLOCK_PI, 0, nullptr, 0);
+      op = FUTEX_LOCK_PI2;
+    } else {
+      op = FUTEX_LOCK_PI;
+    }
+    atomic_store_explicit(&lock_op, op, memory_order_relaxed);
+  }
+
+  if (!shared) op |= FUTEX_PRIVATE_FLAG;
+  return FutexWithTimeout(ftx, op, 0 /* value */, use_realtime_clock, abs_timeout, 0 /* bitset */);
 }
diff --git a/libc/bionic/bionic_time_conversions.cpp b/libc/bionic/bionic_time_conversions.cpp
index d21e12e..9f3c50d 100644
--- a/libc/bionic/bionic_time_conversions.cpp
+++ b/libc/bionic/bionic_time_conversions.cpp
@@ -52,23 +52,32 @@
   tv.tv_usec = ts.tv_nsec / 1000;
 }
 
-void monotonic_time_from_realtime_time(timespec& monotonic_time, const timespec& realtime_time) {
-  monotonic_time = realtime_time;
+static void convert_timespec_clocks(timespec& new_time, clockid_t new_clockbase,
+                                    const timespec& old_time, clockid_t old_clockbase) {
+  // get reference clocks
+  timespec new_clock;
+  clock_gettime(new_clockbase, &new_clock);
+  timespec old_clock;
+  clock_gettime(old_clockbase, &old_clock);
 
-  timespec cur_monotonic_time;
-  clock_gettime(CLOCK_MONOTONIC, &cur_monotonic_time);
-  timespec cur_realtime_time;
-  clock_gettime(CLOCK_REALTIME, &cur_realtime_time);
+  // compute new time by moving old delta to the new clock.
+  new_time.tv_sec = old_time.tv_sec - old_clock.tv_sec + new_clock.tv_sec;
+  new_time.tv_nsec = old_time.tv_nsec - old_clock.tv_nsec + new_clock.tv_nsec;
 
-  monotonic_time.tv_nsec -= cur_realtime_time.tv_nsec;
-  monotonic_time.tv_nsec += cur_monotonic_time.tv_nsec;
-  if (monotonic_time.tv_nsec >= NS_PER_S) {
-    monotonic_time.tv_nsec -= NS_PER_S;
-    monotonic_time.tv_sec += 1;
-  } else if (monotonic_time.tv_nsec < 0) {
-    monotonic_time.tv_nsec += NS_PER_S;
-    monotonic_time.tv_sec -= 1;
+  // correct nsec to second wrap.
+  if (new_time.tv_nsec >= NS_PER_S) {
+    new_time.tv_nsec -= NS_PER_S;
+    new_time.tv_sec += 1;
+  } else if (new_time.tv_nsec < 0) {
+    new_time.tv_nsec += NS_PER_S;
+    new_time.tv_sec -= 1;
   }
-  monotonic_time.tv_sec -= cur_realtime_time.tv_sec;
-  monotonic_time.tv_sec += cur_monotonic_time.tv_sec;
+}
+
+void monotonic_time_from_realtime_time(timespec& monotonic_time, const timespec& realtime_time) {
+  convert_timespec_clocks(monotonic_time, CLOCK_MONOTONIC, realtime_time, CLOCK_REALTIME);
+}
+
+void realtime_time_from_monotonic_time(timespec& realtime_time, const timespec& monotonic_time) {
+  convert_timespec_clocks(realtime_time, CLOCK_REALTIME, monotonic_time, CLOCK_MONOTONIC);
 }
diff --git a/libc/bionic/c32rtomb.cpp b/libc/bionic/c32rtomb.cpp
index 4fa76ff..a7cd207 100644
--- a/libc/bionic/c32rtomb.cpp
+++ b/libc/bionic/c32rtomb.cpp
@@ -78,7 +78,7 @@
     length = 4;
   } else {
     errno = EILSEQ;
-    return __MB_ERR_ILLEGAL_SEQUENCE;
+    return BIONIC_MULTIBYTE_RESULT_ILLEGAL_SEQUENCE;
   }
 
   // Output the octets representing the character in chunks
diff --git a/libc/bionic/clock.cpp b/libc/bionic/clock.cpp
index 31e6c3c..45d29b7 100644
--- a/libc/bionic/clock.cpp
+++ b/libc/bionic/clock.cpp
@@ -32,7 +32,7 @@
 
 #include "private/bionic_constants.h"
 
-// http://pubs.opengroup.org/onlinepubs/9699919799/functions/clock.html
+// https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/functions/clock.html
 clock_t clock() {
   timespec ts;
   clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts);
diff --git a/libc/bionic/ctype.cpp b/libc/bionic/ctype.cpp
index 92a4772..3c0476e 100644
--- a/libc/bionic/ctype.cpp
+++ b/libc/bionic/ctype.cpp
@@ -27,62 +27,4 @@
  */
 
 #define __BIONIC_CTYPE_INLINE /* Out of line. */
-#include <bits/ctype_inlines.h>
-
 #include <ctype.h>
-
-int isalnum_l(int c, locale_t) {
-  return isalnum(c);
-}
-
-int isalpha_l(int c, locale_t) {
-  return isalpha(c);
-}
-
-int isblank_l(int c, locale_t) {
-  return isblank(c);
-}
-
-int iscntrl_l(int c, locale_t) {
-  return iscntrl(c);
-}
-
-int isdigit_l(int c, locale_t) {
-  return isdigit(c);
-}
-
-int isgraph_l(int c, locale_t) {
-  return isgraph(c);
-}
-
-int islower_l(int c, locale_t) {
-  return islower(c);
-}
-
-int isprint_l(int c, locale_t) {
-  return isprint(c);
-}
-
-int ispunct_l(int c, locale_t) {
-  return ispunct(c);
-}
-
-int isspace_l(int c, locale_t) {
-  return isspace(c);
-}
-
-int isupper_l(int c, locale_t) {
-  return isupper(c);
-}
-
-int isxdigit_l(int c, locale_t) {
-  return isxdigit(c);
-}
-
-int toupper_l(int c, locale_t) {
-  return toupper(c);
-}
-
-int tolower_l(int c, locale_t) {
-  return tolower(c);
-}
diff --git a/libc/bionic/elf_note.cpp b/libc/bionic/elf_note.cpp
new file mode 100644
index 0000000..9cc6b21
--- /dev/null
+++ b/libc/bionic/elf_note.cpp
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include "platform/bionic/macros.h"
+#include "private/elf_note.h"
+
+#include <string.h>
+
+bool __get_elf_note(unsigned note_type, const char* note_name, const ElfW(Addr) note_addr,
+                    const ElfW(Phdr)* phdr_note, const ElfW(Nhdr)** note_hdr,
+                    const char** note_desc) {
+  if (phdr_note->p_type != PT_NOTE || !note_name || !note_addr) {
+    return false;
+  }
+
+  size_t note_name_len = strlen(note_name) + 1;
+
+  ElfW(Addr) p = note_addr;
+  ElfW(Addr) note_end = p + phdr_note->p_memsz;
+  while (p + sizeof(ElfW(Nhdr)) <= note_end) {
+    // Parse the note and check it's structurally valid.
+    const ElfW(Nhdr)* note = reinterpret_cast<const ElfW(Nhdr)*>(p);
+    p += sizeof(ElfW(Nhdr));
+    const char* name = reinterpret_cast<const char*>(p);
+    if (__builtin_add_overflow(p, align_up(note->n_namesz, 4), &p)) {
+      return false;
+    }
+    const char* desc = reinterpret_cast<const char*>(p);
+    if (__builtin_add_overflow(p, align_up(note->n_descsz, 4), &p)) {
+      return false;
+    }
+    if (p > note_end) {
+      return false;
+    }
+
+    // Is this the note we're looking for?
+    if (note->n_type == note_type &&
+        note->n_namesz == note_name_len &&
+        strncmp(note_name, name, note_name_len) == 0) {
+      *note_hdr = note;
+      *note_desc = desc;
+      return true;
+    }
+  }
+  return false;
+}
+
+bool __find_elf_note(unsigned int note_type, const char* note_name, const ElfW(Phdr)* phdr_start,
+                     size_t phdr_ct, const ElfW(Nhdr)** note_hdr, const char** note_desc,
+                     const ElfW(Addr) load_bias) {
+  for (size_t i = 0; i < phdr_ct; ++i) {
+    const ElfW(Phdr)* phdr = &phdr_start[i];
+
+    ElfW(Addr) note_addr = load_bias + phdr->p_vaddr;
+    if (__get_elf_note(note_type, note_name, note_addr, phdr, note_hdr, note_desc)) {
+      return true;
+    }
+  }
+
+  return false;
+}
diff --git a/libc/bionic/ether_aton.c b/libc/bionic/ether_aton.c
deleted file mode 100644
index edd6b11..0000000
--- a/libc/bionic/ether_aton.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <net/ethernet.h>
-
-#include <ctype.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-static inline int
-xdigit (char c) {
-    unsigned d;
-    d = (unsigned)(c-'0');
-    if (d < 10) return (int)d;
-    d = (unsigned)(c-'a');
-    if (d < 6) return (int)(10+d);
-    d = (unsigned)(c-'A');
-    if (d < 6) return (int)(10+d);
-    return -1;
-}
-
-/*
- * Convert Ethernet address in the standard hex-digits-and-colons to binary
- * representation.
- * Re-entrant version (GNU extensions)
- */
-struct ether_addr *
-ether_aton_r (const char *asc, struct ether_addr * addr)
-{
-    int i, val0, val1;
-    for (i = 0; i < ETHER_ADDR_LEN; ++i) {
-        val0 = xdigit(*asc);
-        asc++;
-        if (val0 < 0)
-            return NULL;
-
-        val1 = xdigit(*asc);
-        asc++;
-        if (val1 < 0)
-            return NULL;
-
-        addr->ether_addr_octet[i] = (u_int8_t)((val0 << 4) + val1);
-
-        if (i < ETHER_ADDR_LEN - 1) {
-            if (*asc != ':')
-                return NULL;
-            asc++;
-        }
-    }
-    if (*asc != '\0')
-        return NULL;
-    return addr;
-}
-
-/*
- * Convert Ethernet address in the standard hex-digits-and-colons to binary
- * representation.
- */
-struct ether_addr *
-ether_aton (const char *asc)
-{
-    static struct ether_addr addr;
-    return ether_aton_r(asc, &addr);
-}
diff --git a/libc/bionic/ether_ntoa.c b/libc/bionic/ether_ntoa.c
deleted file mode 100644
index 7c31af3..0000000
--- a/libc/bionic/ether_ntoa.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <net/ethernet.h>
-
-/*
- * Convert Ethernet address to standard hex-digits-and-colons printable form.
- * Re-entrant version (GNU extensions).
- */
-char *
-ether_ntoa_r (const struct ether_addr *addr, char * buf)
-{
-    snprintf(buf, 18, "%02x:%02x:%02x:%02x:%02x:%02x",
-            addr->ether_addr_octet[0], addr->ether_addr_octet[1],
-            addr->ether_addr_octet[2], addr->ether_addr_octet[3],
-            addr->ether_addr_octet[4], addr->ether_addr_octet[5]);
-    return buf;
-}
-
-/*
- * Convert Ethernet address to standard hex-digits-and-colons printable form.
- */
-char *
-ether_ntoa (const struct ether_addr *addr)
-{
-    static char buf[18];
-    return ether_ntoa_r(addr, buf);
-}
diff --git a/libc/bionic/exec.cpp b/libc/bionic/exec.cpp
index 40612e7..56544d0 100644
--- a/libc/bionic/exec.cpp
+++ b/libc/bionic/exec.cpp
@@ -41,10 +41,8 @@
 
 #include "private/FdPath.h"
 #include "private/__bionic_get_shell_path.h"
-#include "pthread_internal.h"
 
 extern "C" char** environ;
-extern "C" int __execve(const char* pathname, char* const* argv, char* const* envp);
 
 enum { ExecL, ExecLE, ExecLP };
 
@@ -183,9 +181,3 @@
   if (errno == ENOENT) errno = EBADF;
   return -1;
 }
-
-__attribute__((no_sanitize("memtag"))) int execve(const char* pathname, char* const* argv,
-                                                  char* const* envp) {
-  __get_thread()->vfork_child_stack_bottom = __builtin_frame_address(0);
-  return __execve(pathname, argv, envp);
-}
diff --git a/libc/bionic/execinfo.cpp b/libc/bionic/execinfo.cpp
index d129f7c..e53a037 100644
--- a/libc/bionic/execinfo.cpp
+++ b/libc/bionic/execinfo.cpp
@@ -73,6 +73,11 @@
 #elif defined(__aarch64__)
     // All instructions are 4 bytes long, skip back one instruction.
     ip -= 4;
+#elif defined(__riscv)
+    // C instructions are the shortest at 2 bytes long. (Unlike thumb, it's
+    // non-trivial to recognize C instructions when going backwards in the
+    // instruction stream.)
+    ip -= 2;
 #elif defined(__i386__) || defined(__x86_64__)
     // It's difficult to decode exactly where the previous instruction is,
     // so subtract 1 to estimate where the instruction lives.
diff --git a/libc/bionic/exit.cpp b/libc/bionic/exit.cpp
index 52fd193..8eda5b2 100644
--- a/libc/bionic/exit.cpp
+++ b/libc/bionic/exit.cpp
@@ -26,25 +26,22 @@
  * SUCH DAMAGE.
  */
 
+#include <pthread.h>
 #include <stdlib.h>
 #include <unistd.h>
 
 #include "private/bionic_defs.h"
-#include "pthread_internal.h"
 
 extern "C" void __cxa_finalize(void* dso_handle);
 extern "C" void __cxa_thread_finalize();
-extern "C" __noreturn void __exit_group(int status);
 
-__attribute__((no_sanitize("memtag"))) void _exit(int status) {
-  __get_thread()->vfork_child_stack_bottom = __builtin_frame_address(0);
-  __exit_group(status);
-}
-
-__strong_alias(_Exit, _exit);
+static pthread_mutex_t g_exit_mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
 
 __BIONIC_WEAK_FOR_NATIVE_BRIDGE
 void exit(int status) {
+  // https://austingroupbugs.net/view.php?id=1845
+  pthread_mutex_lock(&g_exit_mutex);
+
   __cxa_thread_finalize();
   __cxa_finalize(nullptr);
   _exit(status);
diff --git a/libc/bionic/fcntl.cpp b/libc/bionic/fcntl.cpp
index 754277b..7730a15 100644
--- a/libc/bionic/fcntl.cpp
+++ b/libc/bionic/fcntl.cpp
@@ -44,7 +44,7 @@
   va_end(args);
 
   if (cmd == F_SETFD && (reinterpret_cast<uintptr_t>(arg) & ~FD_CLOEXEC) != 0) {
-    __fortify_fatal("fcntl(F_SETFD) passed non-FD_CLOEXEC flag: %p", arg);
+    __fortify_fatal("fcntl(F_SETFD) only supports FD_CLOEXEC but was passed %p", arg);
   }
 
 #if defined(__LP64__)
diff --git a/libc/bionic/fdsan.cpp b/libc/bionic/fdsan.cpp
index 6433b59..0b0678b 100644
--- a/libc/bionic/fdsan.cpp
+++ b/libc/bionic/fdsan.cpp
@@ -40,6 +40,7 @@
 #include <unistd.h>
 
 #include <async_safe/log.h>
+#include <platform/bionic/page.h>
 #include <platform/bionic/reserved_signals.h>
 #include <sys/system_properties.h>
 
@@ -80,13 +81,13 @@
 
     size_t required_count = max - inline_fds;
     size_t required_size = sizeof(FdTableOverflow) + required_count * sizeof(FdEntry);
-    size_t aligned_size = __BIONIC_ALIGN(required_size, PAGE_SIZE);
+    size_t aligned_size = __BIONIC_ALIGN(required_size, page_size());
     size_t aligned_count = (aligned_size - sizeof(FdTableOverflow)) / sizeof(FdEntry);
 
     void* allocation =
         mmap(nullptr, aligned_size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
     if (allocation == MAP_FAILED) {
-      async_safe_fatal("fdsan: mmap failed: %s", strerror(errno));
+      async_safe_fatal("fdsan: mmap failed: %m");
     }
 
     FdTableOverflow* new_overflow = reinterpret_cast<FdTableOverflow*>(allocation);
@@ -218,6 +219,8 @@
       return "ZipArchive";
     case ANDROID_FDSAN_OWNER_TYPE_NATIVE_HANDLE:
       return "native_handle_t";
+    case ANDROID_FDSAN_OWNER_TYPE_PARCEL:
+      return "Parcel";
 
     case ANDROID_FDSAN_OWNER_TYPE_GENERIC_00:
     default:
diff --git a/libc/bionic/fork.cpp b/libc/bionic/fork.cpp
index d432c6d..615e81f 100644
--- a/libc/bionic/fork.cpp
+++ b/libc/bionic/fork.cpp
@@ -50,11 +50,13 @@
   return result;
 }
 
+int _Fork() {
+  return __clone_for_fork();
+}
+
 int fork() {
   __bionic_atfork_run_prepare();
-
-  int result = __clone_for_fork();
-
+  int result = _Fork();
   if (result == 0) {
     // Disable fdsan and fdtrack post-fork, so we don't falsely trigger on processes that
     // fork, close all of their fds, and then exec.
diff --git a/libc/bionic/fortify.cpp b/libc/bionic/fortify.cpp
index 7dee5e3..80f7c20 100644
--- a/libc/bionic/fortify.cpp
+++ b/libc/bionic/fortify.cpp
@@ -99,8 +99,8 @@
 }
 
 size_t __fread_chk(void* buf, size_t size, size_t count, FILE* stream, size_t buf_size) {
-  size_t total;
-  if (__predict_false(__size_mul_overflow(size, count, &total))) {
+  unsigned long total;
+  if (__predict_false(__builtin_umull_overflow(size, count, &total))) {
     // overflow: trigger the error path in fread
     return fread(buf, size, count, stream);
   }
@@ -109,8 +109,8 @@
 }
 
 size_t __fwrite_chk(const void* buf, size_t size, size_t count, FILE* stream, size_t buf_size) {
-  size_t total;
-  if (__predict_false(__size_mul_overflow(size, count, &total))) {
+  unsigned long total;
+  if (__predict_false(__builtin_umull_overflow(size, count, &total))) {
     // overflow: trigger the error path in fwrite
     return fwrite(buf, size, count, stream);
   }
diff --git a/libc/bionic/fts.c b/libc/bionic/fts.c
index 1287267..c36835e 100644
--- a/libc/bionic/fts.c
+++ b/libc/bionic/fts.c
@@ -29,7 +29,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/param.h>	/* ALIGN */
 #include <sys/stat.h>
 
 #include <dirent.h>
@@ -37,6 +36,7 @@
 #include <fcntl.h>
 #include <fts.h>
 #include <limits.h>
+#include <stdalign.h>
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
@@ -912,10 +912,14 @@
 	 * be careful that the stat structure is reasonably aligned.  Since the
 	 * fts_name field is declared to be of size 1, the fts_name pointer is
 	 * namelen + 2 before the first possible address of the stat structure.
+	 *
+	 * We can't use the same trick FreeBSD uses here because our fts_name
+	 * is a char[1] rather than a char*. This is also the reason we don't
+	 * need to say `namelen + 1`. We just assume the worst alignment.
 	 */
 	len = sizeof(FTSENT) + namelen;
 	if (!ISSET(FTS_NOSTAT))
-		len += sizeof(struct stat) + ALIGNBYTES;
+		len += alignof(struct stat) + sizeof(struct stat);
 	if ((p = calloc(1, len)) == NULL)
 		return (NULL);
 
@@ -923,7 +927,7 @@
 	p->fts_namelen = namelen;
 	p->fts_instr = FTS_NOINSTR;
 	if (!ISSET(FTS_NOSTAT))
-		p->fts_statp = (struct stat *)ALIGN(p->fts_name + namelen + 2);
+		p->fts_statp = (struct stat *)__builtin_align_up(p->fts_name + namelen + 2, alignof(struct stat));
 	memcpy(p->fts_name, name, namelen);
 
 	return (p);
diff --git a/libc/bionic/getauxval.cpp b/libc/bionic/getauxval.cpp
index a3c6b19..51ff949 100644
--- a/libc/bionic/getauxval.cpp
+++ b/libc/bionic/getauxval.cpp
@@ -26,18 +26,18 @@
  * SUCH DAMAGE.
  */
 
-#include <stddef.h>
-#include <sys/cdefs.h>
-#include <sys/auxv.h>
-#include <private/bionic_auxv.h>
-#include <private/bionic_globals.h>
-#include <private/bionic_ifuncs.h>
 #include <elf.h>
 #include <errno.h>
+#include <private/bionic_auxv.h>
+#include <private/bionic_globals.h>
+#include <stddef.h>
+#include <sys/auxv.h>
 
 // This function needs to be safe to call before TLS is set up, so it can't
 // access errno or the stack protector.
-__LIBC_HIDDEN__ unsigned long __bionic_getauxval(unsigned long type, bool* exists) {
+// Cannot use HWASan, as this is called during setup of the HWASan runtime to
+// determine the page size.
+__LIBC_HIDDEN__ unsigned long __bionic_getauxval(unsigned long type, bool* exists) __attribute__((no_sanitize("hwaddress"))) {
   for (ElfW(auxv_t)* v = __libc_shared_globals()->auxv; v->a_type != AT_NULL; ++v) {
     if (v->a_type == type) {
       *exists = true;
@@ -48,7 +48,9 @@
   return 0;
 }
 
-extern "C" unsigned long getauxval(unsigned long type) {
+// Cannot use HWASan, as this is called during setup of the HWASan runtime to
+// determine the page size.
+extern "C" unsigned long getauxval(unsigned long type) __attribute__((no_sanitize("hwaddress"))) {
   bool exists;
   unsigned long result = __bionic_getauxval(type, &exists);
   if (!exists) errno = ENOENT;
diff --git a/libc/bionic/getpagesize.cpp b/libc/bionic/getpagesize.cpp
index 3a59900..fbcabd8 100644
--- a/libc/bionic/getpagesize.cpp
+++ b/libc/bionic/getpagesize.cpp
@@ -27,9 +27,9 @@
  */
 
 #include <unistd.h>
+#include "platform/bionic/page.h"
 
-// Portable code should use sysconf(_SC_PAGE_SIZE) directly instead.
 int getpagesize() {
   // We dont use sysconf(3) here because that drags in stdio, which makes static binaries fat.
-  return PAGE_SIZE;
+  return page_size();
 }
diff --git a/libc/bionic/grp_pwd.cpp b/libc/bionic/grp_pwd.cpp
index 600693c..82ee7ba 100644
--- a/libc/bionic/grp_pwd.cpp
+++ b/libc/bionic/grp_pwd.cpp
@@ -609,6 +609,8 @@
 }
 
 // All users are in just one group, the one passed in.
+// In practice, id(1) will show you in a lot more groups, because adbd
+// adds you to a lot of supplementary groups when dropping privileges.
 int getgrouplist(const char* /*user*/, gid_t group, gid_t* groups, int* ngroups) {
   if (*ngroups < 1) {
     *ngroups = 1;
@@ -618,6 +620,12 @@
   return (*ngroups = 1);
 }
 
+// See getgrouplist() to understand why we don't call it.
+int initgroups(const char* /*user*/, gid_t group) {
+  gid_t groups[] = {group};
+  return setgroups(1, groups);
+}
+
 char* getlogin() { // NOLINT: implementing bad function.
   passwd *pw = getpwuid(getuid()); // NOLINT: implementing bad function in terms of bad function.
   return pw ? pw->pw_name : nullptr;
diff --git a/libc/bionic/gwp_asan_wrappers.cpp b/libc/bionic/gwp_asan_wrappers.cpp
index 251633d..2124f51 100644
--- a/libc/bionic/gwp_asan_wrappers.cpp
+++ b/libc/bionic/gwp_asan_wrappers.cpp
@@ -57,7 +57,7 @@
 static gwp_asan::GuardedPoolAllocator GuardedAlloc;
 static const MallocDispatch* prev_dispatch;
 
-using Action = android_mallopt_gwp_asan_options_t::Action;
+using Mode = android_mallopt_gwp_asan_options_t::Mode;
 using Options = gwp_asan::options::Options;
 
 // basename() is a mess, see the manpage. Let's be explicit what handling we
@@ -258,14 +258,14 @@
   options->Backtrace = android_unsafe_frame_pointer_chase;
   options->SampleRate = kDefaultSampleRate;
   options->MaxSimultaneousAllocations = kDefaultMaxAllocs;
+  options->Recoverable = true;
+  GwpAsanRecoverable = true;
 
-  *process_sample_rate = 1;
-  if (mallopt_options.desire == Action::TURN_ON_WITH_SAMPLING) {
+  if (mallopt_options.mode == Mode::SYSTEM_PROCESS_OR_SYSTEM_APP ||
+      mallopt_options.mode == Mode::APP_MANIFEST_DEFAULT) {
     *process_sample_rate = kDefaultProcessSampling;
-  } else if (mallopt_options.desire == Action::TURN_ON_FOR_APP_SAMPLED_NON_CRASHING) {
-    *process_sample_rate = kDefaultProcessSampling;
-    options->Recoverable = true;
-    GwpAsanRecoverable = true;
+  } else {
+    *process_sample_rate = 1;
   }
 }
 
@@ -285,7 +285,7 @@
   // be used. Tests still continue to use the environment variable though.
   if (*basename != '\0') {
     const char* default_sysprop = system_sysprop;
-    if (mallopt_options.desire == Action::TURN_ON_FOR_APP) {
+    if (mallopt_options.mode == Mode::APP_MANIFEST_ALWAYS) {
       default_sysprop = app_sysprop;
     }
     async_safe_format_buffer(&program_specific_sysprop[0], kSyspropMaxLen, "%s%s",
@@ -403,7 +403,7 @@
         /* default */ kDefaultMaxAllocs / frequency_multiplier;
   }
 
-  bool recoverable = false;
+  bool recoverable = true;
   if (GetGwpAsanBoolOption(&recoverable, mallopt_options, kRecoverableSystemSysprop,
                            kRecoverableAppSysprop, kRecoverableTargetedSyspropPrefix,
                            kRecoverableEnvVar, "recoverable")) {
@@ -425,7 +425,7 @@
   Options options;
   unsigned process_sample_rate = kDefaultProcessSampling;
   if (!GetGwpAsanOptions(&options, &process_sample_rate, mallopt_options) &&
-      mallopt_options.desire == Action::DONT_TURN_ON_UNLESS_OVERRIDDEN) {
+      mallopt_options.mode == Mode::APP_MANIFEST_NEVER) {
     return false;
   }
 
@@ -492,7 +492,7 @@
 
   android_mallopt_gwp_asan_options_t mallopt_options;
   mallopt_options.program_name = progname;
-  mallopt_options.desire = Action::TURN_ON_WITH_SAMPLING;
+  mallopt_options.mode = Mode::SYSTEM_PROCESS_OR_SYSTEM_APP;
 
   return MaybeInitGwpAsan(globals, mallopt_options);
 }
diff --git a/libc/bionic/heap_tagging.cpp b/libc/bionic/heap_tagging.cpp
index 78d21b0..6741be3 100644
--- a/libc/bionic/heap_tagging.cpp
+++ b/libc/bionic/heap_tagging.cpp
@@ -34,10 +34,16 @@
 #include <platform/bionic/malloc.h>
 #include <sanitizer/hwasan_interface.h>
 #include <sys/auxv.h>
+#include <sys/prctl.h>
 
 extern "C" void scudo_malloc_disable_memory_tagging();
 extern "C" void scudo_malloc_set_track_allocation_stacks(int);
 
+extern "C" const char* __scudo_get_stack_depot_addr();
+extern "C" const char* __scudo_get_ring_buffer_addr();
+extern "C" size_t __scudo_get_ring_buffer_size();
+extern "C" size_t __scudo_get_stack_depot_size();
+
 // Protected by `g_heap_tagging_lock`.
 static HeapTaggingLevel heap_tagging_level = M_HEAP_TAGGING_LEVEL_NONE;
 
@@ -47,6 +53,8 @@
   heap_tagging_level = __libc_shared_globals()->initial_heap_tagging_level;
 #endif
 
+  __libc_memtag_stack_abi = __libc_shared_globals()->initial_memtag_stack_abi;
+
   __libc_globals.mutate([](libc_globals* globals) {
     switch (heap_tagging_level) {
       case M_HEAP_TAGGING_LEVEL_TBI:
@@ -57,14 +65,15 @@
         break;
       case M_HEAP_TAGGING_LEVEL_SYNC:
       case M_HEAP_TAGGING_LEVEL_ASYNC:
-        atomic_store(&globals->memtag_stack, __libc_shared_globals()->initial_memtag_stack);
+        atomic_store(&globals->memtag, true);
+        atomic_store(&__libc_memtag_stack, __libc_shared_globals()->initial_memtag_stack);
         break;
       default:
         break;
     };
   });
 
-#if defined(USE_SCUDO)
+#if defined(USE_SCUDO) && !__has_feature(hwaddress_sanitizer)
   switch (heap_tagging_level) {
     case M_HEAP_TAGGING_LEVEL_TBI:
     case M_HEAP_TAGGING_LEVEL_NONE:
@@ -90,10 +99,7 @@
         }
 
         tagged_addr_ctrl = (tagged_addr_ctrl & ~PR_MTE_TCF_MASK) | tcf;
-        if (prctl(PR_SET_TAGGED_ADDR_CTRL, tagged_addr_ctrl, 0, 0, 0) < 0) {
-          return false;
-        }
-        return true;
+        return prctl(PR_SET_TAGGED_ADDR_CTRL, tagged_addr_ctrl, 0, 0, 0) >= 0;
       },
       &tcf);
 }
@@ -115,7 +121,8 @@
           // tagged and checks no longer happen.
           globals->heap_pointer_tag = static_cast<uintptr_t>(0xffull << UNTAG_SHIFT);
         }
-        atomic_store(&globals->memtag_stack, false);
+        atomic_store(&__libc_memtag_stack, false);
+        atomic_store(&globals->memtag, false);
       });
 
       if (heap_tagging_level != M_HEAP_TAGGING_LEVEL_TBI) {
@@ -124,7 +131,7 @@
           return false;
         }
       }
-#if defined(USE_SCUDO)
+#if defined(USE_SCUDO) && !__has_feature(hwaddress_sanitizer)
       scudo_malloc_disable_memory_tagging();
 #endif
       break;
@@ -152,13 +159,17 @@
         if (!set_tcf_on_all_threads(PR_MTE_TCF_ASYNC | PR_MTE_TCF_SYNC)) {
           set_tcf_on_all_threads(PR_MTE_TCF_ASYNC);
         }
-#if defined(USE_SCUDO)
+#if defined(USE_SCUDO) && !__has_feature(hwaddress_sanitizer)
         scudo_malloc_set_track_allocation_stacks(0);
 #endif
       } else if (tag_level == M_HEAP_TAGGING_LEVEL_SYNC) {
         set_tcf_on_all_threads(PR_MTE_TCF_SYNC);
-#if defined(USE_SCUDO)
+#if defined(USE_SCUDO) && !__has_feature(hwaddress_sanitizer)
         scudo_malloc_set_track_allocation_stacks(1);
+        __libc_shared_globals()->scudo_ring_buffer = __scudo_get_ring_buffer_addr();
+        __libc_shared_globals()->scudo_ring_buffer_size = __scudo_get_ring_buffer_size();
+        __libc_shared_globals()->scudo_stack_depot = __scudo_get_stack_depot_addr();
+        __libc_shared_globals()->scudo_stack_depot_size = __scudo_get_stack_depot_size();
 #endif
       }
       break;
@@ -175,6 +186,9 @@
 
 #ifdef __aarch64__
 static inline __attribute__((no_sanitize("memtag"))) void untag_memory(void* from, void* to) {
+  if (from == to) {
+    return;
+  }
   __asm__ __volatile__(
       ".arch_extension mte\n"
       "1:\n"
@@ -193,48 +207,37 @@
 #endif  // __aarch64__
 
 extern "C" __LIBC_HIDDEN__ __attribute__((no_sanitize("memtag"))) void memtag_handle_longjmp(
-    void* sp_dst __unused) {
+    void* sp_dst __unused, void* sp_src __unused) {
+  // A usual longjmp looks like this, where sp_dst was the LR in the call to setlongjmp (i.e.
+  // the SP of the frame calling setlongjmp).
+  // ┌─────────────────────┐                  │
+  // │                     │                  │
+  // ├─────────────────────┤◄──────── sp_dst  │ stack
+  // │         ...         │                  │ grows
+  // ├─────────────────────┤                  │ to lower
+  // │         ...         │                  │ addresses
+  // ├─────────────────────┤◄──────── sp_src  │
+  // │siglongjmp           │                  │
+  // ├─────────────────────┤                  │
+  // │memtag_handle_longjmp│                  │
+  // └─────────────────────┘                  ▼
 #ifdef __aarch64__
-  if (__libc_globals->memtag_stack) {
-    void* sp = __builtin_frame_address(0);
-    size_t distance = reinterpret_cast<uintptr_t>(sp_dst) - reinterpret_cast<uintptr_t>(sp);
+  if (atomic_load(&__libc_memtag_stack)) {
+    size_t distance = reinterpret_cast<uintptr_t>(sp_dst) - reinterpret_cast<uintptr_t>(sp_src);
     if (distance > kUntagLimit) {
       async_safe_fatal(
-          "memtag_handle_longjmp: stack adjustment too large! %p -> %p, distance %zx > %zx\n", sp,
-          sp_dst, distance, kUntagLimit);
+          "memtag_handle_longjmp: stack adjustment too large! %p -> %p, distance %zx > %zx\n",
+          sp_src, sp_dst, distance, kUntagLimit);
     } else {
-      untag_memory(sp, sp_dst);
+      untag_memory(sp_src, sp_dst);
     }
   }
 #endif  // __aarch64__
 
+  // We can use __has_feature here rather than __hwasan_handle_longjmp as a
+  // weak symbol because this is part of libc which is always sanitized for a
+  // hwasan enabled process.
 #if __has_feature(hwaddress_sanitizer)
   __hwasan_handle_longjmp(sp_dst);
 #endif  // __has_feature(hwaddress_sanitizer)
 }
-
-extern "C" __LIBC_HIDDEN__ __attribute__((no_sanitize("memtag"), no_sanitize("hwaddress"))) void
-memtag_handle_vfork(void* sp __unused) {
-#ifdef __aarch64__
-  if (__libc_globals->memtag_stack) {
-    void* child_sp = __get_thread()->vfork_child_stack_bottom;
-    __get_thread()->vfork_child_stack_bottom = nullptr;
-    if (child_sp) {
-      size_t distance = reinterpret_cast<uintptr_t>(sp) - reinterpret_cast<uintptr_t>(child_sp);
-      if (distance > kUntagLimit) {
-        async_safe_fatal(
-            "memtag_handle_vfork: stack adjustment too large! %p -> %p, distance %zx > %zx\n",
-            child_sp, sp, distance, kUntagLimit);
-      } else {
-        untag_memory(child_sp, sp);
-      }
-    } else {
-      async_safe_fatal("memtag_handle_vfork: child SP unknown\n");
-    }
-  }
-#endif  // __aarch64__
-
-#if __has_feature(hwaddress_sanitizer)
-  __hwasan_handle_vfork(sp);
-#endif  // __has_feature(hwaddress_sanitizer)
-}
diff --git a/libc/bionic/iconv.cpp b/libc/bionic/iconv.cpp
index 79a429c..5bff50a 100644
--- a/libc/bionic/iconv.cpp
+++ b/libc/bionic/iconv.cpp
@@ -160,9 +160,9 @@
 
       case UTF_8:
         src_bytes_used = mbrtoc32(&wc, *src_buf, *src_bytes_left, &ps);
-        if (src_bytes_used == __MB_ERR_ILLEGAL_SEQUENCE) {
+        if (src_bytes_used == BIONIC_MULTIBYTE_RESULT_ILLEGAL_SEQUENCE) {
           break;  // EILSEQ already set.
-        } else if (src_bytes_used == __MB_ERR_INCOMPLETE_SEQUENCE) {
+        } else if (src_bytes_used == BIONIC_MULTIBYTE_RESULT_INCOMPLETE_SEQUENCE) {
           errno = EINVAL;
           return false;
         }
@@ -235,9 +235,9 @@
 
       case UTF_8:
         dst_bytes_used = c32rtomb(buf, wc, &ps);
-        if (dst_bytes_used == __MB_ERR_ILLEGAL_SEQUENCE) {
+        if (dst_bytes_used == BIONIC_MULTIBYTE_RESULT_ILLEGAL_SEQUENCE) {
           break;  // EILSEQ already set.
-        } else if (dst_bytes_used == __MB_ERR_INCOMPLETE_SEQUENCE) {
+        } else if (dst_bytes_used == BIONIC_MULTIBYTE_RESULT_INCOMPLETE_SEQUENCE) {
           errno = EINVAL;
           return false;
         }
diff --git a/libc/bionic/icu_static.cpp b/libc/bionic/icu_static.cpp
index e81e291..cf24a38 100644
--- a/libc/bionic/icu_static.cpp
+++ b/libc/bionic/icu_static.cpp
@@ -29,6 +29,6 @@
 #include "private/icu.h"
 
 // We don't have dlopen/dlsym for static binaries yet.
-__attribute__((weak)) void* __find_icu_symbol(const char*) {
+void* __find_icu_symbol(const char*) {
   return nullptr;
 }
diff --git a/libc/bionic/icu_wrappers.cpp b/libc/bionic/icu_wrappers.cpp
index d9f2745..523f5a6 100644
--- a/libc/bionic/icu_wrappers.cpp
+++ b/libc/bionic/icu_wrappers.cpp
@@ -40,10 +40,3 @@
       reinterpret_cast<u_getIntPropertyValue_t>(__find_icu_symbol("u_getIntPropertyValue"));
   return u_getIntPropertyValue ? u_getIntPropertyValue(wc, property) : 0;
 }
-
-bool __icu_hasBinaryProperty(wint_t wc, UProperty property, int (*fallback)(int)) {
-  typedef UBool (*u_hasBinaryProperty_t)(UChar32, UProperty);
-  static auto u_hasBinaryProperty =
-      reinterpret_cast<u_hasBinaryProperty_t>(__find_icu_symbol("u_hasBinaryProperty"));
-  return u_hasBinaryProperty ? u_hasBinaryProperty(wc, property) : fallback(wc);
-}
diff --git a/libc/bionic/ifaddrs.cpp b/libc/bionic/ifaddrs.cpp
index 0c80f4e..cb36cc6 100644
--- a/libc/bionic/ifaddrs.cpp
+++ b/libc/bionic/ifaddrs.cpp
@@ -281,8 +281,7 @@
   ScopedFd s(socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0));
   if (s.get() == -1) {
     async_safe_format_log(ANDROID_LOG_ERROR, "libc",
-                          "socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC) failed in ifaddrs: %s",
-                          strerror(errno));
+                          "socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC) failed in ifaddrs: %m");
     return;
   }
 
@@ -294,8 +293,8 @@
       addr->ifa.ifa_flags = ifr.ifr_flags;
     } else {
       async_safe_format_log(ANDROID_LOG_ERROR, "libc",
-                            "ioctl(SIOCGIFFLAGS) for \"%s\" failed in ifaddrs: %s",
-                            addr->ifa.ifa_name, strerror(errno));
+                            "ioctl(SIOCGIFFLAGS) for \"%s\" failed in ifaddrs: %m",
+                            addr->ifa.ifa_name);
     }
   }
 }
diff --git a/libc/bionic/initgroups.c b/libc/bionic/initgroups.c
deleted file mode 100644
index dea6d96..0000000
--- a/libc/bionic/initgroups.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#include <grp.h>
-#include <unistd.h>
-#include <stdlib.h>
-
-#define  INIT_GROUPS  2
-
-int
-initgroups (const char *user, gid_t group)
-{
-    gid_t   groups0[ INIT_GROUPS ];
-    gid_t*  groups    = groups0;
-    int     ret       = -1;
-    int     numgroups = INIT_GROUPS;
-
-    if (getgrouplist(user, group, groups, &numgroups) < 0) {
-        groups = malloc(numgroups*sizeof(groups[0]));
-        if (groups == NULL)
-            return -1;
-        if (getgrouplist(user,group,groups,&numgroups) < 0) {
-            goto EXIT;
-        }
-    }
-
-    ret = setgroups(numgroups, groups);
-
-EXIT:
-    if (groups != groups0)
-        free(groups);
-
-    return ret;
-}
diff --git a/libc/bionic/isatty.c b/libc/bionic/isatty.cpp
similarity index 92%
rename from libc/bionic/isatty.c
rename to libc/bionic/isatty.cpp
index 93af6c5..8a4aaf1 100644
--- a/libc/bionic/isatty.c
+++ b/libc/bionic/isatty.cpp
@@ -26,14 +26,10 @@
  * SUCH DAMAGE.
  */
 
-#include <unistd.h>
 #include <termios.h>
-#include <errno.h>
+#include <unistd.h>
 
-int
-isatty (int  fd)
-{
-  struct termios term;
-
-  return tcgetattr (fd, &term) == 0;
+int isatty(int fd) {
+  termios term;
+  return tcgetattr(fd, &term) == 0;
 }
diff --git a/libc/bionic/jemalloc_wrapper.cpp b/libc/bionic/jemalloc_wrapper.cpp
index ce3f314..63c9fab 100644
--- a/libc/bionic/jemalloc_wrapper.cpp
+++ b/libc/bionic/jemalloc_wrapper.cpp
@@ -15,14 +15,26 @@
  */
 
 #include <errno.h>
+#include <inttypes.h>
 #include <malloc.h>
 #include <sys/param.h>
 #include <unistd.h>
 
+#include <async_safe/log.h>
 #include <private/MallocXmlElem.h>
 
 #include "jemalloc.h"
 
+__BEGIN_DECLS
+
+size_t je_mallinfo_narenas();
+size_t je_mallinfo_nbins();
+struct mallinfo je_mallinfo_arena_info(size_t);
+struct mallinfo je_mallinfo_bin_info(size_t, size_t);
+void je_stats_arena(size_t arena_index, void (*callback)(size_t, size_t, size_t));
+
+__END_DECLS
+
 void* je_pvalloc(size_t bytes) {
   size_t pagesize = getpagesize();
   size_t size = __BIONIC_ALIGN(bytes, pagesize);
@@ -67,9 +79,13 @@
 int je_mallopt(int param, int value) {
   // The only parameter we currently understand is M_DECAY_TIME.
   if (param == M_DECAY_TIME) {
-    // Only support setting the value to 1 or 0.
+    // Only support setting the value to -1 or 0 or 1.
     ssize_t decay_time_ms;
-    if (value) {
+    if (value < 0) {
+      // Given that SSIZE_MAX may not be supported in jemalloc, set this to a
+      // sufficiently large number that essentially disables the decay timer.
+      decay_time_ms = 10000000;
+    } else if (value) {
       decay_time_ms = 1000;
     } else {
       decay_time_ms = 0;
@@ -121,19 +137,31 @@
       return 0;
     }
     return 1;
+  } else if (param == M_LOG_STATS) {
+    size_t total_bytes = 0;
+    for (size_t i = 0; i < je_mallinfo_narenas(); i++) {
+      struct mallinfo mi = je_mallinfo_arena_info(i);
+      size_t arena_bytes = mi.fsmblks + mi.ordblks + mi.uordblks;
+      async_safe_format_log(ANDROID_LOG_INFO, "jemalloc",
+                            "Arena %zu: bin bytes=%zu large bytes=%zu total bytes=%zu", i,
+                            mi.fsmblks, mi.ordblks, arena_bytes);
+
+      je_stats_arena(i, [](size_t index, size_t size, size_t allocs) {
+        if (allocs != 0) {
+          async_safe_format_log(ANDROID_LOG_INFO, "jemalloc",
+                                "  Size Class %zu(%zu bytes): allocs=%zu total bytes=%zu", index,
+                                size, allocs, allocs * size);
+        }
+      });
+      total_bytes += arena_bytes;
+    }
+    async_safe_format_log(ANDROID_LOG_INFO, "jemalloc", "Total Bytes=%zu", total_bytes);
+    return 1;
   }
+
   return 0;
 }
 
-__BEGIN_DECLS
-
-size_t je_mallinfo_narenas();
-size_t je_mallinfo_nbins();
-struct mallinfo je_mallinfo_arena_info(size_t);
-struct mallinfo je_mallinfo_bin_info(size_t, size_t);
-
-__END_DECLS
-
 int je_malloc_info(int options, FILE* fp) {
   if (options != 0) {
     errno = EINVAL;
diff --git a/libc/bionic/langinfo.cpp b/libc/bionic/langinfo.cpp
index 6f5057c..9645475 100644
--- a/libc/bionic/langinfo.cpp
+++ b/libc/bionic/langinfo.cpp
@@ -98,6 +98,4 @@
   return const_cast<char*>(result);
 }
 
-char* nl_langinfo_l(nl_item item, locale_t) {
-  return nl_langinfo(item);
-}
+__strong_alias(nl_langinfo_l, nl_langinfo)
diff --git a/libc/bionic/isatty.c b/libc/bionic/lchmod.cpp
similarity index 85%
copy from libc/bionic/isatty.c
copy to libc/bionic/lchmod.cpp
index 93af6c5..928a724 100644
--- a/libc/bionic/isatty.c
+++ b/libc/bionic/lchmod.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,14 +26,11 @@
  * SUCH DAMAGE.
  */
 
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/types.h>
 #include <unistd.h>
-#include <termios.h>
-#include <errno.h>
 
-int
-isatty (int  fd)
-{
-  struct termios term;
-
-  return tcgetattr (fd, &term) == 0;
+int lchmod(const char* path, mode_t mode) {
+  return fchmodat(AT_FDCWD, path, mode, AT_SYMLINK_NOFOLLOW);
 }
diff --git a/libc/bionic/legacy_32_bit_support.cpp b/libc/bionic/legacy_32_bit_support.cpp
index 41108e6..e66126b 100644
--- a/libc/bionic/legacy_32_bit_support.cpp
+++ b/libc/bionic/legacy_32_bit_support.cpp
@@ -31,23 +31,28 @@
 #include <errno.h>
 #include <fcntl.h>
 #include <stdarg.h>
+#include <stdint.h>
+#include <sys/mman.h>
 #include <sys/resource.h>
 #include <sys/types.h>
-#include <sys/uio.h>
-#include <sys/vfs.h>
 #include <unistd.h>
 
+#include "platform/bionic/macros.h"
+#include "platform/bionic/page.h"
+#include "private/ErrnoRestorer.h"
 #include "private/bionic_fdtrack.h"
 
 #if defined(__LP64__)
 #error This code is only needed on 32-bit systems!
 #endif
 
-// System calls we need.
+// To implement lseek64() on ILP32, we need to use the _llseek() system call
+// which splits the off64_t into two 32-bit arguments and returns the off64_t
+// result via a pointer because 32-bit kernels can't accept 64-bit arguments
+// or return 64-bit results. (Our symbol is __llseek with two underscores for
+// historical reasons, but it's exposed as ABI so we can't fix it.)
 extern "C" int __llseek(int, unsigned long, unsigned long, off64_t*, int);
 
-// For lseek64 we need to use the llseek system call which splits the off64_t in two and
-// returns the off64_t result via a pointer because 32-bit kernels can't return 64-bit results.
 off64_t lseek64(int fd, off64_t off, int whence) {
   off64_t result;
   unsigned long off_hi = static_cast<unsigned long>(off >> 32);
@@ -101,3 +106,64 @@
   }
   return result;
 }
+
+// mmap2(2) is like mmap(2), but the offset is in 4096-byte blocks (regardless
+// of page size), not bytes, to enable mapping parts of large files past the
+// 4GiB limit but without the inconvenience of dealing with 64-bit values, with
+// no down side since mappings need to be page aligned anyway, and the 32-bit
+// architectures that support this system call all have 4KiB pages.
+extern "C" void* __mmap2(void*, size_t, int, int, int, size_t);
+
+void* mmap64(void* addr, size_t size, int prot, int flags, int fd, off64_t offset) {
+  static constexpr size_t MMAP2_SHIFT = 12;
+
+  if (offset < 0 || (offset & ((1UL << MMAP2_SHIFT) - 1)) != 0) {
+    errno = EINVAL;
+    return MAP_FAILED;
+  }
+
+  // Prevent allocations large enough for `end - start` to overflow,
+  // to avoid security bugs.
+  size_t rounded = __BIONIC_ALIGN(size, page_size());
+  if (rounded < size || rounded > PTRDIFF_MAX) {
+    errno = ENOMEM;
+    return MAP_FAILED;
+  }
+
+  return __mmap2(addr, size, prot, flags, fd, offset >> MMAP2_SHIFT);
+}
+
+void* mmap(void* addr, size_t size, int prot, int flags, int fd, off_t offset) {
+  return mmap64(addr, size, prot, flags, fd, static_cast<off64_t>(offset));
+}
+
+// The only difference here is that the libc API uses varargs for the
+// optional `new_address` argument that's only used by MREMAP_FIXED.
+extern "C" void* __mremap(void*, size_t, size_t, int, void*);
+
+void* mremap(void* old_address, size_t old_size, size_t new_size, int flags, ...) {
+  // Prevent allocations large enough for `end - start` to overflow,
+  // to avoid security bugs.
+  size_t rounded = __BIONIC_ALIGN(new_size, page_size());
+  if (rounded < new_size || rounded > PTRDIFF_MAX) {
+    errno = ENOMEM;
+    return MAP_FAILED;
+  }
+
+  // The optional argument is only valid if the MREMAP_FIXED flag is set,
+  // so we assume it's not present otherwise.
+  void* new_address = nullptr;
+  if ((flags & MREMAP_FIXED) != 0) {
+    va_list ap;
+    va_start(ap, flags);
+    new_address = va_arg(ap, void*);
+    va_end(ap);
+  }
+  return __mremap(old_address, old_size, new_size, flags, new_address);
+}
+
+// mseal(2) is LP64-only.
+int mseal(void*, size_t, unsigned long) {
+  errno = ENOSYS;
+  return -1;
+}
diff --git a/libc/bionic/libc_init_common.cpp b/libc/bionic/libc_init_common.cpp
index 59b2ddb..94ba7e4 100644
--- a/libc/bionic/libc_init_common.cpp
+++ b/libc/bionic/libc_init_common.cpp
@@ -56,12 +56,36 @@
 extern "C" void scudo_malloc_set_zero_contents(int);
 extern "C" void scudo_malloc_set_pattern_fill_contents(int);
 
-__LIBC_HIDDEN__ WriteProtected<libc_globals> __libc_globals;
+__LIBC_HIDDEN__ constinit WriteProtected<libc_globals> __libc_globals;
+__LIBC_HIDDEN__ constinit _Atomic(bool) __libc_memtag_stack;
+__LIBC_HIDDEN__ constinit bool __libc_memtag_stack_abi;
 
 // Not public, but well-known in the BSDs.
 __BIONIC_WEAK_VARIABLE_FOR_NATIVE_BRIDGE
 const char* __progname;
 
+#if defined(__i386__) || defined(__x86_64__)
+// Default sizes based on the old hard-coded values for Atom/Silvermont (x86) and Core 2 (x86-64)...
+size_t __x86_data_cache_size = 24 * 1024;
+size_t __x86_data_cache_size_half = __x86_data_cache_size / 2;
+size_t __x86_shared_cache_size = sizeof(long) == 8 ? 4096 * 1024 : 1024 * 1024;
+size_t __x86_shared_cache_size_half = __x86_shared_cache_size / 2;
+// ...overwritten at runtime based on the cpu's reported cache sizes.
+static void __libc_init_x86_cache_info() {
+  // Handle the case where during early boot /sys fs may not yet be ready,
+  // resulting in sysconf() returning 0, leading to crashes.
+  // In that case (basically just init), we keep the defaults.
+  if (sysconf(_SC_LEVEL1_DCACHE_SIZE) != 0) {
+    __x86_data_cache_size = sysconf(_SC_LEVEL1_DCACHE_SIZE);
+    __x86_data_cache_size_half = __x86_data_cache_size / 2;
+  }
+  if (sysconf(_SC_LEVEL2_CACHE_SIZE) != 0) {
+    __x86_shared_cache_size = sysconf(_SC_LEVEL2_CACHE_SIZE);
+    __x86_shared_cache_size_half = __x86_shared_cache_size / 2;
+  }
+}
+#endif
+
 void __libc_init_globals() {
   // Initialize libc globals that are needed in both the linker and in libc.
   // In dynamic binaries, this is run at least twice for different copies of the
@@ -76,8 +100,10 @@
 #if !defined(__LP64__)
 static void __check_max_thread_id() {
   if (gettid() > 65535) {
-    async_safe_fatal("Limited by the size of pthread_mutex_t, 32 bit bionic libc only accepts "
-                     "pid <= 65535, but current pid is %d", gettid());
+    async_safe_fatal("32-bit pthread_mutex_t only supports pids <= 65535; "
+                     "current pid %d; "
+                     "`echo 65535 > /proc/sys/kernel/pid_max` as root",
+                     gettid());
   }
 }
 #endif
@@ -95,7 +121,7 @@
   SetDefaultHeapTaggingLevel();
 
 // TODO(b/158870657) make this unconditional when all devices support SCUDO.
-#if defined(USE_SCUDO)
+#if defined(USE_SCUDO) && !__has_feature(hwaddress_sanitizer)
 #if defined(SCUDO_PATTERN_FILL_CONTENTS)
   scudo_malloc_set_pattern_fill_contents(1);
 #elif defined(SCUDO_ZERO_CONTENTS)
@@ -171,6 +197,10 @@
   __system_properties_init(); // Requires 'environ'.
   __libc_init_fdsan(); // Requires system properties (for debug.fdsan).
   __libc_init_fdtrack();
+
+#if defined(__i386__) || defined(__x86_64__)
+  __libc_init_x86_cache_info();
+#endif
 }
 
 void __libc_init_fork_handler() {
@@ -180,13 +210,13 @@
 
 extern "C" void scudo_malloc_set_add_large_allocation_slack(int add_slack);
 
-__BIONIC_WEAK_FOR_NATIVE_BRIDGE void __libc_set_target_sdk_version(int target __unused) {
-#if defined(USE_SCUDO)
-  scudo_malloc_set_add_large_allocation_slack(target < __ANDROID_API_S__);
+__BIONIC_WEAK_FOR_NATIVE_BRIDGE void __libc_set_target_sdk_version(int target_api_level __unused) {
+#if defined(USE_SCUDO) && !__has_feature(hwaddress_sanitizer)
+  scudo_malloc_set_add_large_allocation_slack(target_api_level < 31);
 #endif
 }
 
-__noreturn static void __early_abort(int line) {
+__noreturn static void __early_abort(size_t line) {
   // We can't write to stdout or stderr because we're aborting before we've checked that
   // it's safe for us to use those file descriptors. We probably can't strace either, so
   // we rely on the fact that if we dereference a low address, either debuggerd or the
@@ -340,11 +370,11 @@
 #if !defined(__LP64__)
   int old_value = personality(0xffffffff);
   if (old_value == -1) {
-    async_safe_fatal("error getting old personality value: %s", strerror(errno));
+    async_safe_fatal("error getting old personality value: %m");
   }
 
   if (personality((static_cast<unsigned int>(old_value) & ~PER_MASK) | PER_LINUX32) == -1) {
-    async_safe_fatal("error setting PER_LINUX32 personality: %s", strerror(errno));
+    async_safe_fatal("error setting PER_LINUX32 personality: %m");
   }
 #endif
 }
diff --git a/libc/bionic/libc_init_common.h b/libc/bionic/libc_init_common.h
index 6b39d6d..126f002 100644
--- a/libc/bionic/libc_init_common.h
+++ b/libc/bionic/libc_init_common.h
@@ -38,6 +38,10 @@
   init_func_t** preinit_array;
   init_func_t** init_array;
   fini_func_t** fini_array;
+  // Below fields are only available in static executables.
+  size_t preinit_array_count;
+  size_t init_array_count;
+  size_t fini_array_count;
 } structors_array_t;
 
 __BEGIN_DECLS
diff --git a/libc/bionic/libc_init_dynamic.cpp b/libc/bionic/libc_init_dynamic.cpp
index c61810e..541e71c 100644
--- a/libc/bionic/libc_init_dynamic.cpp
+++ b/libc/bionic/libc_init_dynamic.cpp
@@ -39,11 +39,12 @@
  *   all dynamic linking has been performed.
  */
 
+#include <elf.h>
 #include <stddef.h>
+#include <stdint.h>
 #include <stdio.h>
 #include <stdlib.h>
-#include <stdint.h>
-#include <elf.h>
+#include "bionic/pthread_internal.h"
 #include "libc_init_common.h"
 
 #include "private/bionic_defs.h"
@@ -59,6 +60,12 @@
   extern int __cxa_atexit(void (*)(void *), void *, void *);
 };
 
+void memtag_stack_dlopen_callback() {
+  if (__pthread_internal_remap_stack_with_mte()) {
+    async_safe_format_log(ANDROID_LOG_DEBUG, "libc", "remapped stacks as PROT_MTE");
+  }
+}
+
 // Use an initializer so __libc_sysinfo will have a fallback implementation
 // while .preinit_array constructors run.
 #if defined(__i386__)
@@ -156,6 +163,10 @@
 
   __libc_init_mte_late();
 
+  // This roundabout way is needed so we don't use the static libc linked into the linker, which
+  // will not affect the process.
+  __libc_shared_globals()->memtag_stack_dlopen_callback = memtag_stack_dlopen_callback;
+
   exit(slingshot(args.argc - __libc_shared_globals()->initial_linker_arg_count,
                  args.argv + __libc_shared_globals()->initial_linker_arg_count,
                  args.envp));
diff --git a/libc/bionic/libc_init_mte.cpp b/libc/bionic/libc_init_mte.cpp
new file mode 100644
index 0000000..3c8ef7d
--- /dev/null
+++ b/libc/bionic/libc_init_mte.cpp
@@ -0,0 +1,325 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <android/api-level.h>
+#include <elf.h>
+#include <errno.h>
+#include <malloc.h>
+#include <signal.h>
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/auxv.h>
+#include <sys/mman.h>
+
+#include "async_safe/log.h"
+#include "heap_tagging.h"
+#include "libc_init_common.h"
+#include "platform/bionic/macros.h"
+#include "platform/bionic/mte.h"
+#include "platform/bionic/page.h"
+#include "platform/bionic/reserved_signals.h"
+#include "private/KernelArgumentBlock.h"
+#include "private/bionic_asm.h"
+#include "private/bionic_asm_note.h"
+#include "private/bionic_call_ifunc_resolver.h"
+#include "private/bionic_elf_tls.h"
+#include "private/bionic_globals.h"
+#include "private/bionic_tls.h"
+#include "private/elf_note.h"
+#include "pthread_internal.h"
+#include "sys/system_properties.h"
+#include "sysprop_helpers.h"
+
+#ifdef __aarch64__
+extern "C" const char* __gnu_basename(const char* path);
+
+static HeapTaggingLevel __get_memtag_level_from_note(const ElfW(Phdr) * phdr_start, size_t phdr_ct,
+                                                     const ElfW(Addr) load_bias, bool* stack) {
+  const ElfW(Nhdr) * note;
+  const char* desc;
+  if (!__find_elf_note(NT_ANDROID_TYPE_MEMTAG, "Android", phdr_start, phdr_ct, &note, &desc,
+                       load_bias)) {
+    return M_HEAP_TAGGING_LEVEL_TBI;
+  }
+
+  // Previously (in Android 12), if the note was != 4 bytes, we check-failed
+  // here. Let's be more permissive to allow future expansion.
+  if (note->n_descsz < 4) {
+    async_safe_fatal("unrecognized android.memtag note: n_descsz = %d, expected >= 4",
+                     note->n_descsz);
+  }
+
+  // `desc` is always aligned due to ELF requirements, enforced in __find_elf_note().
+  ElfW(Word) note_val = *reinterpret_cast<const ElfW(Word)*>(desc);
+  *stack = (note_val & NT_MEMTAG_STACK) != 0;
+
+  // Warning: In Android 12, any value outside of bits [0..3] resulted in a check-fail.
+  if (!(note_val & (NT_MEMTAG_HEAP | NT_MEMTAG_STACK))) {
+    async_safe_format_log(ANDROID_LOG_INFO, "libc",
+                          "unrecognised memtag note_val did not specificy heap or stack: %u",
+                          note_val);
+    return M_HEAP_TAGGING_LEVEL_TBI;
+  }
+
+  unsigned mode = note_val & NT_MEMTAG_LEVEL_MASK;
+  switch (mode) {
+    case NT_MEMTAG_LEVEL_NONE:
+      // Note, previously (in Android 12), NT_MEMTAG_LEVEL_NONE was
+      // NT_MEMTAG_LEVEL_DEFAULT, which implied SYNC mode. This was never used
+      // by anyone, but we note it (heh) here for posterity, in case the zero
+      // level becomes meaningful, and binaries with this note can be executed
+      // on Android 12 devices.
+      return M_HEAP_TAGGING_LEVEL_TBI;
+    case NT_MEMTAG_LEVEL_ASYNC:
+      return M_HEAP_TAGGING_LEVEL_ASYNC;
+    case NT_MEMTAG_LEVEL_SYNC:
+    default:
+      // We allow future extensions to specify mode 3 (currently unused), with
+      // the idea that it might be used for ASYMM mode or something else. On
+      // this version of Android, it falls back to SYNC mode.
+      return M_HEAP_TAGGING_LEVEL_SYNC;
+  }
+}
+
+// Returns true if there's an environment setting (either sysprop or env var)
+// that should overwrite the ELF note, and places the equivalent heap tagging
+// level into *level.
+static bool get_environment_memtag_setting(HeapTaggingLevel* level) {
+  static const char kMemtagPrognameSyspropPrefix[] = "arm64.memtag.process.";
+  static const char kMemtagGlobalSysprop[] = "persist.arm64.memtag.default";
+  static const char kMemtagOverrideSyspropPrefix[] =
+      "persist.device_config.memory_safety_native.mode_override.process.";
+
+  const char* progname = __libc_shared_globals()->init_progname;
+  if (progname == nullptr) return false;
+
+  const char* basename = __gnu_basename(progname);
+
+  char options_str[PROP_VALUE_MAX];
+  char sysprop_name[512];
+  async_safe_format_buffer(sysprop_name, sizeof(sysprop_name), "%s%s", kMemtagPrognameSyspropPrefix,
+                           basename);
+  char remote_sysprop_name[512];
+  async_safe_format_buffer(remote_sysprop_name, sizeof(remote_sysprop_name), "%s%s",
+                           kMemtagOverrideSyspropPrefix, basename);
+  const char* sys_prop_names[] = {sysprop_name, remote_sysprop_name, kMemtagGlobalSysprop};
+
+  if (!get_config_from_env_or_sysprops("MEMTAG_OPTIONS", sys_prop_names, arraysize(sys_prop_names),
+                                       options_str, sizeof(options_str))) {
+    return false;
+  }
+
+  if (strcmp("sync", options_str) == 0) {
+    *level = M_HEAP_TAGGING_LEVEL_SYNC;
+  } else if (strcmp("async", options_str) == 0) {
+    *level = M_HEAP_TAGGING_LEVEL_ASYNC;
+  } else if (strcmp("off", options_str) == 0) {
+    *level = M_HEAP_TAGGING_LEVEL_TBI;
+  } else {
+    async_safe_format_log(
+        ANDROID_LOG_ERROR, "libc",
+        "unrecognized memtag level: \"%s\" (options are \"sync\", \"async\", or \"off\").",
+        options_str);
+    return false;
+  }
+
+  return true;
+}
+
+// Returns the initial heap tagging level. Note: This function will never return
+// M_HEAP_TAGGING_LEVEL_NONE, if MTE isn't enabled for this process we enable
+// M_HEAP_TAGGING_LEVEL_TBI.
+static HeapTaggingLevel __get_tagging_level(const memtag_dynamic_entries_t* memtag_dynamic_entries,
+                                            const void* phdr_start, size_t phdr_ct,
+                                            uintptr_t load_bias, bool* stack) {
+  HeapTaggingLevel level = M_HEAP_TAGGING_LEVEL_TBI;
+
+  // If the dynamic entries exist, use those. Otherwise, fall back to the old
+  // Android note, which is still used for fully static executables. When
+  // -fsanitize=memtag* is used in newer toolchains, currently both the dynamic
+  // entries and the old note are created, but we'd expect to move to just the
+  // dynamic entries for dynamically linked executables in the future. In
+  // addition, there's still some cleanup of the build system (that uses a
+  // manually-constructed note) needed. For more information about the dynamic
+  // entries, see:
+  // https://github.com/ARM-software/abi-aa/blob/main/memtagabielf64/memtagabielf64.rst#dynamic-section
+  if (memtag_dynamic_entries && memtag_dynamic_entries->has_memtag_mode) {
+    switch (memtag_dynamic_entries->memtag_mode) {
+      case 0:
+        level = M_HEAP_TAGGING_LEVEL_SYNC;
+        break;
+      case 1:
+        level = M_HEAP_TAGGING_LEVEL_ASYNC;
+        break;
+      default:
+        async_safe_format_log(ANDROID_LOG_INFO, "libc",
+                              "unrecognised DT_AARCH64_MEMTAG_MODE value: %u",
+                              memtag_dynamic_entries->memtag_mode);
+    }
+    *stack = memtag_dynamic_entries->memtag_stack;
+  } else {
+    level = __get_memtag_level_from_note(reinterpret_cast<const ElfW(Phdr)*>(phdr_start), phdr_ct,
+                                         load_bias, stack);
+  }
+
+  // We can't short-circuit the environment override, as `stack` is still inherited from the
+  // binary's settings.
+  get_environment_memtag_setting(&level);
+  return level;
+}
+
+static void __enable_mte_signal_handler(int, siginfo_t* info, void*) {
+  if (info->si_code != SI_TIMER) {
+    async_safe_format_log(ANDROID_LOG_ERROR, "libc", "Got BIONIC_ENABLE_MTE not from SI_TIMER");
+    return;
+  }
+  int tagged_addr_ctrl = prctl(PR_GET_TAGGED_ADDR_CTRL, 0, 0, 0, 0);
+  if (tagged_addr_ctrl < 0) {
+    async_safe_fatal("failed to PR_GET_TAGGED_ADDR_CTRL: %m");
+  }
+  if ((tagged_addr_ctrl & PR_MTE_TCF_MASK) != PR_MTE_TCF_NONE) {
+    return;
+  }
+  async_safe_format_log(ANDROID_LOG_INFO, "libc",
+                        "Re-enabling MTE, value: %x (tagged_addr_ctrl %lu)",
+                        info->si_value.sival_int, info->si_value.sival_int & PR_MTE_TCF_MASK);
+  tagged_addr_ctrl =
+      (tagged_addr_ctrl & ~PR_MTE_TCF_MASK) | (info->si_value.sival_int & PR_MTE_TCF_MASK);
+  if (prctl(PR_SET_TAGGED_ADDR_CTRL, tagged_addr_ctrl, 0, 0, 0) < 0) {
+    async_safe_fatal("failed to PR_SET_TAGGED_ADDR_CTRL %d: %m", tagged_addr_ctrl);
+  }
+}
+
+static int64_t __get_memtag_upgrade_secs() {
+  char* env = getenv("BIONIC_MEMTAG_UPGRADE_SECS");
+  if (!env) return 0;
+  int64_t timed_upgrade = 0;
+  static const char kAppProcessName[] = "app_process64";
+  const char* progname = __libc_shared_globals()->init_progname;
+  progname = progname ? __gnu_basename(progname) : nullptr;
+  // disable timed upgrade for zygote, as the thread spawned will violate the requirement
+  // that it be single-threaded.
+  if (!progname || strncmp(progname, kAppProcessName, sizeof(kAppProcessName)) != 0) {
+    char* endptr;
+    timed_upgrade = strtoll(env, &endptr, 10);
+    if (*endptr != '\0' || timed_upgrade < 0) {
+      async_safe_format_log(ANDROID_LOG_ERROR, "libc",
+                            "Invalid value for BIONIC_MEMTAG_UPGRADE_SECS: %s", env);
+      timed_upgrade = 0;
+    }
+  }
+  // Make sure that this does not get passed to potential processes inheriting
+  // this environment.
+  unsetenv("BIONIC_MEMTAG_UPGRADE_SECS");
+  return timed_upgrade;
+}
+
+// Figure out the desired memory tagging mode (sync/async, heap/globals/stack) for this executable.
+// This function is called from the linker before the main executable is relocated.
+__attribute__((no_sanitize("hwaddress", "memtag"))) void __libc_init_mte(
+    const memtag_dynamic_entries_t* memtag_dynamic_entries, const void* phdr_start, size_t phdr_ct,
+    uintptr_t load_bias) {
+  bool memtag_stack = false;
+  HeapTaggingLevel level =
+      __get_tagging_level(memtag_dynamic_entries, phdr_start, phdr_ct, load_bias, &memtag_stack);
+  if (memtag_stack) __libc_shared_globals()->initial_memtag_stack_abi = true;
+
+  if (int64_t timed_upgrade = __get_memtag_upgrade_secs()) {
+    if (level == M_HEAP_TAGGING_LEVEL_ASYNC) {
+      async_safe_format_log(ANDROID_LOG_INFO, "libc",
+                            "Attempting timed MTE upgrade from async to sync.");
+      __libc_shared_globals()->heap_tagging_upgrade_timer_sec = timed_upgrade;
+      level = M_HEAP_TAGGING_LEVEL_SYNC;
+    } else if (level != M_HEAP_TAGGING_LEVEL_SYNC) {
+      async_safe_format_log(ANDROID_LOG_ERROR, "libc",
+                            "Requested timed MTE upgrade from invalid %s to sync. Ignoring.",
+                            DescribeTaggingLevel(level));
+    }
+  }
+  if (level == M_HEAP_TAGGING_LEVEL_SYNC || level == M_HEAP_TAGGING_LEVEL_ASYNC) {
+    unsigned long prctl_arg = PR_TAGGED_ADDR_ENABLE | PR_MTE_TAG_SET_NONZERO;
+    prctl_arg |= (level == M_HEAP_TAGGING_LEVEL_SYNC) ? PR_MTE_TCF_SYNC : PR_MTE_TCF_ASYNC;
+
+    // When entering ASYNC mode, specify that we want to allow upgrading to SYNC by OR'ing in the
+    // SYNC flag. But if the kernel doesn't support specifying multiple TCF modes, fall back to
+    // specifying a single mode.
+    if (prctl(PR_SET_TAGGED_ADDR_CTRL, prctl_arg | PR_MTE_TCF_SYNC, 0, 0, 0) == 0 ||
+        prctl(PR_SET_TAGGED_ADDR_CTRL, prctl_arg, 0, 0, 0) == 0) {
+      __libc_shared_globals()->initial_heap_tagging_level = level;
+
+      struct sigaction action = {};
+      action.sa_flags = SA_SIGINFO | SA_RESTART;
+      action.sa_sigaction = __enable_mte_signal_handler;
+      sigaction(BIONIC_ENABLE_MTE, &action, nullptr);
+      return;
+    }
+  }
+
+  // MTE was either not enabled, or wasn't supported on this device. Try and use
+  // TBI.
+  if (prctl(PR_SET_TAGGED_ADDR_CTRL, PR_TAGGED_ADDR_ENABLE, 0, 0, 0) == 0) {
+    __libc_shared_globals()->initial_heap_tagging_level = M_HEAP_TAGGING_LEVEL_TBI;
+  }
+  // We did not enable MTE, so we do not need to arm the upgrade timer.
+  __libc_shared_globals()->heap_tagging_upgrade_timer_sec = 0;
+}
+
+// Figure out whether we need to map the stack as PROT_MTE.
+// For dynamic executables, this has to be called after loading all
+// DT_NEEDED libraries, in case one of them needs stack MTE.
+__attribute__((no_sanitize("hwaddress", "memtag"))) void __libc_init_mte_stack(void* stack_top) {
+  if (!__libc_shared_globals()->initial_memtag_stack_abi) {
+    return;
+  }
+
+  // Even if the device doesn't support MTE, we have to allocate stack
+  // history buffers for code compiled for stack MTE. That is because the
+  // codegen expects a buffer to be present in TLS_SLOT_STACK_MTE either
+  // way.
+  __get_bionic_tcb()->tls_slot(TLS_SLOT_STACK_MTE) = __allocate_stack_mte_ringbuffer(0, nullptr);
+
+  if (__libc_mte_enabled()) {
+    __libc_shared_globals()->initial_memtag_stack = true;
+    void* pg_start = reinterpret_cast<void*>(page_start(reinterpret_cast<uintptr_t>(stack_top)));
+    if (mprotect(pg_start, page_size(), PROT_READ | PROT_WRITE | PROT_MTE | PROT_GROWSDOWN)) {
+      async_safe_fatal("error: failed to set PROT_MTE on main thread stack: %m");
+    }
+  }
+}
+
+#else   // __aarch64__
+void __libc_init_mte(const memtag_dynamic_entries_t*, const void*, size_t, uintptr_t) {}
+void __libc_init_mte_stack(void*) {}
+#endif  // __aarch64__
+
+bool __libc_mte_enabled() {
+  HeapTaggingLevel lvl = __libc_shared_globals()->initial_heap_tagging_level;
+  return lvl == M_HEAP_TAGGING_LEVEL_SYNC || lvl == M_HEAP_TAGGING_LEVEL_ASYNC;
+}
diff --git a/libc/bionic/libc_init_static.cpp b/libc/bionic/libc_init_static.cpp
index d64d402..cd96375 100644
--- a/libc/bionic/libc_init_static.cpp
+++ b/libc/bionic/libc_init_static.cpp
@@ -30,6 +30,7 @@
 #include <elf.h>
 #include <errno.h>
 #include <malloc.h>
+#include <signal.h>
 #include <stddef.h>
 #include <stdint.h>
 #include <stdio.h>
@@ -51,6 +52,7 @@
 #include "private/bionic_elf_tls.h"
 #include "private/bionic_globals.h"
 #include "private/bionic_tls.h"
+#include "private/elf_note.h"
 #include "pthread_internal.h"
 #include "sys/system_properties.h"
 #include "sysprop_helpers.h"
@@ -69,10 +71,21 @@
 extern "C" int __cxa_atexit(void (*)(void *), void *, void *);
 extern "C" const char* __gnu_basename(const char* path);
 
-static void call_array(init_func_t** list, int argc, char* argv[], char* envp[]) {
-  // First element is -1, list is null-terminated
-  while (*++list) {
-    (*list)(argc, argv, envp);
+static void call_array(init_func_t** list, size_t count, int argc, char* argv[], char* envp[]) {
+  while (count-- > 0) {
+    init_func_t* function = *list++;
+    (*function)(argc, argv, envp);
+  }
+}
+
+static void call_fini_array(void* arg) {
+  structors_array_t* structors = reinterpret_cast<structors_array_t*>(arg);
+  fini_func_t** array = structors->fini_array;
+  size_t count = structors->fini_array_count;
+  // Now call each destructor in reverse order.
+  while (count-- > 0) {
+    fini_func_t* function = array[count];
+    (*function)();
   }
 }
 
@@ -80,17 +93,6 @@
 extern __LIBC_HIDDEN__ __attribute__((weak)) ElfW(Rel) __rel_iplt_start[], __rel_iplt_end[];
 
 static void call_ifunc_resolvers() {
-  if (__rel_iplt_start == nullptr || __rel_iplt_end == nullptr) {
-    // These symbols were not emitted by gold. Gold has code to do so, but for
-    // whatever reason it is not being run. In these cases ifuncs cannot be
-    // resolved, so we do not support using ifuncs in static executables linked
-    // with gold.
-    //
-    // Since they are weak, they will be non-null when linked with bfd/lld and
-    // null when linked with gold.
-    return;
-  }
-
   for (ElfW(Rel)* r = __rel_iplt_start; r != __rel_iplt_end; ++r) {
     ElfW(Addr)* offset = reinterpret_cast<ElfW(Addr)*>(r->r_offset);
     ElfW(Addr) resolver = *offset;
@@ -101,17 +103,6 @@
 extern __LIBC_HIDDEN__ __attribute__((weak)) ElfW(Rela) __rela_iplt_start[], __rela_iplt_end[];
 
 static void call_ifunc_resolvers() {
-  if (__rela_iplt_start == nullptr || __rela_iplt_end == nullptr) {
-    // These symbols were not emitted by gold. Gold has code to do so, but for
-    // whatever reason it is not being run. In these cases ifuncs cannot be
-    // resolved, so we do not support using ifuncs in static executables linked
-    // with gold.
-    //
-    // Since they are weak, they will be non-null when linked with bfd/lld and
-    // null when linked with gold.
-    return;
-  }
-
   for (ElfW(Rela)* r = __rela_iplt_start; r != __rela_iplt_end; ++r) {
     ElfW(Addr)* offset = reinterpret_cast<ElfW(Addr)*>(r->r_offset);
     ElfW(Addr) resolver = r->r_addend;
@@ -129,8 +120,8 @@
       continue;
     }
 
-    ElfW(Addr) seg_page_start = PAGE_START(phdr->p_vaddr);
-    ElfW(Addr) seg_page_end = PAGE_END(phdr->p_vaddr + phdr->p_memsz);
+    ElfW(Addr) seg_page_start = page_start(phdr->p_vaddr);
+    ElfW(Addr) seg_page_end = page_end(phdr->p_vaddr + phdr->p_memsz);
 
     // Check return value here? What do we do if we fail?
     mprotect(reinterpret_cast<void*>(seg_page_start), seg_page_end - seg_page_start, PROT_READ);
@@ -148,9 +139,9 @@
   static TlsModule mod;
   TlsModules& modules = __libc_shared_globals()->tls_modules;
   if (__bionic_get_tls_segment(phdr_start, phdr_ct, 0, &mod.segment)) {
-    if (!__bionic_check_tls_alignment(&mod.segment.alignment)) {
+    if (!__bionic_check_tls_align(mod.segment.aligned_size.align.value)) {
       async_safe_fatal("error: TLS segment alignment in \"%s\" is not a power of 2: %zu\n",
-                       progname, mod.segment.alignment);
+                       progname, mod.segment.aligned_size.align.value);
     }
     mod.static_offset = layout.reserve_exe_segment_and_tcb(&mod.segment, progname);
     mod.first_generation = kTlsGenerationFirst;
@@ -166,218 +157,6 @@
 
   layout.finish_layout();
 }
-
-#ifdef __aarch64__
-static bool __read_memtag_note(const ElfW(Nhdr)* note, const char* name, const char* desc,
-                               unsigned* result) {
-  if (note->n_type != NT_ANDROID_TYPE_MEMTAG) {
-    return false;
-  }
-  if (note->n_namesz != 8 || strncmp(name, "Android", 8) != 0) {
-    return false;
-  }
-  // Previously (in Android 12), if the note was != 4 bytes, we check-failed
-  // here. Let's be more permissive to allow future expansion.
-  if (note->n_descsz < 4) {
-    async_safe_fatal("unrecognized android.memtag note: n_descsz = %d, expected >= 4",
-                     note->n_descsz);
-  }
-  *result = *reinterpret_cast<const ElfW(Word)*>(desc);
-  return true;
-}
-
-static unsigned __get_memtag_note(const ElfW(Phdr)* phdr_start, size_t phdr_ct,
-                                  const ElfW(Addr) load_bias) {
-  for (size_t i = 0; i < phdr_ct; ++i) {
-    const ElfW(Phdr)* phdr = &phdr_start[i];
-    if (phdr->p_type != PT_NOTE) {
-      continue;
-    }
-    ElfW(Addr) p = load_bias + phdr->p_vaddr;
-    ElfW(Addr) note_end = load_bias + phdr->p_vaddr + phdr->p_memsz;
-    while (p + sizeof(ElfW(Nhdr)) <= note_end) {
-      const ElfW(Nhdr)* note = reinterpret_cast<const ElfW(Nhdr)*>(p);
-      p += sizeof(ElfW(Nhdr));
-      const char* name = reinterpret_cast<const char*>(p);
-      p += align_up(note->n_namesz, 4);
-      const char* desc = reinterpret_cast<const char*>(p);
-      p += align_up(note->n_descsz, 4);
-      if (p > note_end) {
-        break;
-      }
-      unsigned ret;
-      if (__read_memtag_note(note, name, desc, &ret)) {
-        return ret;
-      }
-    }
-  }
-  return 0;
-}
-
-// Returns true if there's an environment setting (either sysprop or env var)
-// that should overwrite the ELF note, and places the equivalent heap tagging
-// level into *level.
-static bool get_environment_memtag_setting(HeapTaggingLevel* level) {
-  static const char kMemtagPrognameSyspropPrefix[] = "arm64.memtag.process.";
-  static const char kMemtagGlobalSysprop[] = "persist.arm64.memtag.default";
-  static const char kMemtagOverrideSyspropPrefix[] =
-      "persist.device_config.memory_safety_native.mode_override.process.";
-
-  const char* progname = __libc_shared_globals()->init_progname;
-  if (progname == nullptr) return false;
-
-  const char* basename = __gnu_basename(progname);
-
-  char options_str[PROP_VALUE_MAX];
-  char sysprop_name[512];
-  async_safe_format_buffer(sysprop_name, sizeof(sysprop_name), "%s%s", kMemtagPrognameSyspropPrefix,
-                           basename);
-  char remote_sysprop_name[512];
-  async_safe_format_buffer(remote_sysprop_name, sizeof(remote_sysprop_name), "%s%s",
-                           kMemtagOverrideSyspropPrefix, basename);
-  const char* sys_prop_names[] = {sysprop_name, remote_sysprop_name, kMemtagGlobalSysprop};
-
-  if (!get_config_from_env_or_sysprops("MEMTAG_OPTIONS", sys_prop_names, arraysize(sys_prop_names),
-                                       options_str, sizeof(options_str))) {
-    return false;
-  }
-
-  if (strcmp("sync", options_str) == 0) {
-    *level = M_HEAP_TAGGING_LEVEL_SYNC;
-  } else if (strcmp("async", options_str) == 0) {
-    *level = M_HEAP_TAGGING_LEVEL_ASYNC;
-  } else if (strcmp("off", options_str) == 0) {
-    *level = M_HEAP_TAGGING_LEVEL_TBI;
-  } else {
-    async_safe_format_log(
-        ANDROID_LOG_ERROR, "libc",
-        "unrecognized memtag level: \"%s\" (options are \"sync\", \"async\", or \"off\").",
-        options_str);
-    return false;
-  }
-
-  return true;
-}
-
-// Returns the initial heap tagging level. Note: This function will never return
-// M_HEAP_TAGGING_LEVEL_NONE, if MTE isn't enabled for this process we enable
-// M_HEAP_TAGGING_LEVEL_TBI.
-static HeapTaggingLevel __get_heap_tagging_level(const void* phdr_start, size_t phdr_ct,
-                                                 uintptr_t load_bias, bool* stack) {
-  unsigned note_val =
-      __get_memtag_note(reinterpret_cast<const ElfW(Phdr)*>(phdr_start), phdr_ct, load_bias);
-  *stack = note_val & NT_MEMTAG_STACK;
-
-  HeapTaggingLevel level;
-  if (get_environment_memtag_setting(&level)) return level;
-
-  // Note, previously (in Android 12), any value outside of bits [0..3] resulted
-  // in a check-fail. In order to be permissive of further extensions, we
-  // relaxed this restriction.
-  if (!(note_val & (NT_MEMTAG_HEAP | NT_MEMTAG_STACK))) return M_HEAP_TAGGING_LEVEL_TBI;
-
-  unsigned mode = note_val & NT_MEMTAG_LEVEL_MASK;
-  switch (mode) {
-    case NT_MEMTAG_LEVEL_NONE:
-      // Note, previously (in Android 12), NT_MEMTAG_LEVEL_NONE was
-      // NT_MEMTAG_LEVEL_DEFAULT, which implied SYNC mode. This was never used
-      // by anyone, but we note it (heh) here for posterity, in case the zero
-      // level becomes meaningful, and binaries with this note can be executed
-      // on Android 12 devices.
-      return M_HEAP_TAGGING_LEVEL_TBI;
-    case NT_MEMTAG_LEVEL_ASYNC:
-      return M_HEAP_TAGGING_LEVEL_ASYNC;
-    case NT_MEMTAG_LEVEL_SYNC:
-    default:
-      // We allow future extensions to specify mode 3 (currently unused), with
-      // the idea that it might be used for ASYMM mode or something else. On
-      // this version of Android, it falls back to SYNC mode.
-      return M_HEAP_TAGGING_LEVEL_SYNC;
-  }
-}
-
-// Figure out the desired memory tagging mode (sync/async, heap/globals/stack) for this executable.
-// This function is called from the linker before the main executable is relocated.
-__attribute__((no_sanitize("hwaddress", "memtag"))) void __libc_init_mte(const void* phdr_start,
-                                                                         size_t phdr_ct,
-                                                                         uintptr_t load_bias,
-                                                                         void* stack_top) {
-  bool memtag_stack;
-  HeapTaggingLevel level = __get_heap_tagging_level(phdr_start, phdr_ct, load_bias, &memtag_stack);
-  char* env = getenv("BIONIC_MEMTAG_UPGRADE_SECS");
-  static const char kAppProcessName[] = "app_process64";
-  const char* progname = __libc_shared_globals()->init_progname;
-  progname = progname ? __gnu_basename(progname) : nullptr;
-  if (progname &&
-      strncmp(progname, kAppProcessName, sizeof(kAppProcessName)) == 0) {
-    // disable timed upgrade for zygote, as the thread spawned will violate the requirement
-    // that it be single-threaded.
-    env = nullptr;
-  }
-  int64_t timed_upgrade = 0;
-  if (env) {
-    char* endptr;
-    timed_upgrade = strtoll(env, &endptr, 10);
-    if (*endptr != '\0' || timed_upgrade < 0) {
-      async_safe_format_log(ANDROID_LOG_ERROR, "libc",
-                            "Invalid value for BIONIC_MEMTAG_UPGRADE_SECS: %s",
-                            env);
-      timed_upgrade = 0;
-    }
-    // Make sure that this does not get passed to potential processes inheriting
-    // this environment.
-    unsetenv("BIONIC_MEMTAG_UPGRADE_SECS");
-  }
-  if (timed_upgrade) {
-    if (level == M_HEAP_TAGGING_LEVEL_ASYNC) {
-      async_safe_format_log(ANDROID_LOG_INFO, "libc",
-                            "Attempting timed MTE upgrade from async to sync.");
-      __libc_shared_globals()->heap_tagging_upgrade_timer_sec = timed_upgrade;
-      level = M_HEAP_TAGGING_LEVEL_SYNC;
-    } else if (level != M_HEAP_TAGGING_LEVEL_SYNC) {
-      async_safe_format_log(
-          ANDROID_LOG_ERROR, "libc",
-          "Requested timed MTE upgrade from invalid %s to sync. Ignoring.",
-          DescribeTaggingLevel(level));
-    }
-  }
-  if (level == M_HEAP_TAGGING_LEVEL_SYNC || level == M_HEAP_TAGGING_LEVEL_ASYNC) {
-    unsigned long prctl_arg = PR_TAGGED_ADDR_ENABLE | PR_MTE_TAG_SET_NONZERO;
-    prctl_arg |= (level == M_HEAP_TAGGING_LEVEL_SYNC) ? PR_MTE_TCF_SYNC : PR_MTE_TCF_ASYNC;
-
-    // When entering ASYNC mode, specify that we want to allow upgrading to SYNC by OR'ing in the
-    // SYNC flag. But if the kernel doesn't support specifying multiple TCF modes, fall back to
-    // specifying a single mode.
-    if (prctl(PR_SET_TAGGED_ADDR_CTRL, prctl_arg | PR_MTE_TCF_SYNC, 0, 0, 0) == 0 ||
-        prctl(PR_SET_TAGGED_ADDR_CTRL, prctl_arg, 0, 0, 0) == 0) {
-      __libc_shared_globals()->initial_heap_tagging_level = level;
-      __libc_shared_globals()->initial_memtag_stack = memtag_stack;
-
-      if (memtag_stack) {
-        void* page_start =
-            reinterpret_cast<void*>(PAGE_START(reinterpret_cast<uintptr_t>(stack_top)));
-        if (mprotect(page_start, PAGE_SIZE, PROT_READ | PROT_WRITE | PROT_MTE | PROT_GROWSDOWN)) {
-          async_safe_fatal("error: failed to set PROT_MTE on main thread stack: %s\n",
-                           strerror(errno));
-        }
-      }
-
-      return;
-    }
-  }
-
-  // MTE was either not enabled, or wasn't supported on this device. Try and use
-  // TBI.
-  if (prctl(PR_SET_TAGGED_ADDR_CTRL, PR_TAGGED_ADDR_ENABLE, 0, 0, 0) == 0) {
-    __libc_shared_globals()->initial_heap_tagging_level = M_HEAP_TAGGING_LEVEL_TBI;
-  }
-  // We did not enable MTE, so we do not need to arm the upgrade timer.
-  __libc_shared_globals()->heap_tagging_upgrade_timer_sec = 0;
-}
-#else   // __aarch64__
-void __libc_init_mte(const void*, size_t, uintptr_t, void*) {}
-#endif  // __aarch64__
-
 void __libc_init_profiling_handlers() {
   // The dynamic variant of this function is more interesting, but this
   // at least ensures that static binaries aren't killed by the kernel's
@@ -388,12 +167,11 @@
 }
 
 __attribute__((no_sanitize("memtag"))) __noreturn static void __real_libc_init(
-    void* raw_args, void (*onexit)(void) __unused, int (*slingshot)(int, char**, char**),
-    structors_array_t const* const structors, bionic_tcb* temp_tcb) {
+    KernelArgumentBlock& args, void* raw_args, void (*onexit)(void) __unused,
+    int (*slingshot)(int, char**, char**), structors_array_t const* const structors,
+    bionic_tcb* temp_tcb) {
   BIONIC_STOP_UNWIND;
 
-  // Initialize TLS early so system calls and errno work.
-  KernelArgumentBlock args(raw_args);
   __libc_init_main_thread_early(args, temp_tcb);
   __libc_init_main_thread_late();
   __libc_init_globals();
@@ -402,8 +180,10 @@
   layout_static_tls(args);
   __libc_init_main_thread_final();
   __libc_init_common();
-  __libc_init_mte(reinterpret_cast<ElfW(Phdr)*>(getauxval(AT_PHDR)), getauxval(AT_PHNUM),
-                  /*load_bias = */ 0, /*stack_top = */ raw_args);
+  __libc_init_mte(/*memtag_dynamic_entries=*/nullptr,
+                  reinterpret_cast<ElfW(Phdr)*>(getauxval(AT_PHDR)), getauxval(AT_PHNUM),
+                  /*load_bias = */ 0);
+  __libc_init_mte_stack(/*stack_top = */ raw_args);
   __libc_init_scudo();
   __libc_init_profiling_handlers();
   __libc_init_fork_handler();
@@ -414,14 +194,15 @@
   // Several Linux ABIs don't pass the onexit pointer, and the ones that
   // do never use it.  Therefore, we ignore it.
 
-  call_array(structors->preinit_array, args.argc, args.argv, args.envp);
-  call_array(structors->init_array, args.argc, args.argv, args.envp);
+  call_array(structors->preinit_array, structors->preinit_array_count, args.argc, args.argv,
+             args.envp);
+  call_array(structors->init_array, structors->init_array_count, args.argc, args.argv, args.envp);
 
   // The executable may have its own destructors listed in its .fini_array
   // so we need to ensure that these are called when the program exits
   // normally.
-  if (structors->fini_array != nullptr) {
-    __cxa_atexit(__libc_fini,structors->fini_array,nullptr);
+  if (structors->fini_array_count > 0) {
+    __cxa_atexit(call_fini_array, const_cast<structors_array_t*>(structors), nullptr);
   }
 
   __libc_init_mte_late();
@@ -438,17 +219,25 @@
 __attribute__((no_sanitize("hwaddress", "memtag"))) __noreturn void __libc_init(
     void* raw_args, void (*onexit)(void) __unused, int (*slingshot)(int, char**, char**),
     structors_array_t const* const structors) {
-  bionic_tcb temp_tcb = {};
+  // We _really_ don't want the compiler to call memset() here,
+  // but it's done so before for riscv64 (http://b/365618934),
+  // so we have to force it to behave.
+  bionic_tcb temp_tcb __attribute__((uninitialized));
+  __builtin_memset_inline(&temp_tcb, 0, sizeof(temp_tcb));
+
+  KernelArgumentBlock args(raw_args);
 #if __has_feature(hwaddress_sanitizer)
   // Install main thread TLS early. It will be initialized later in __libc_init_main_thread. For now
-  // all we need is access to TLS_SLOT_SANITIZER.
+  // all we need is access to TLS_SLOT_SANITIZER and read auxval for the page size.
   __set_tls(&temp_tcb.tls_slot(0));
+  __libc_shared_globals()->auxv = args.auxv;
   // Initialize HWASan enough to run instrumented code. This sets up TLS_SLOT_SANITIZER, among other
   // things.
   __hwasan_init_static();
   // We are ready to run HWASan-instrumented code, proceed with libc initialization...
 #endif
-  __real_libc_init(raw_args, onexit, slingshot, structors, &temp_tcb);
+
+  __real_libc_init(args, raw_args, onexit, slingshot, structors, &temp_tcb);
 }
 
 static int g_target_sdk_version{__ANDROID_API__};
@@ -466,6 +255,6 @@
 // compiled with -ffreestanding to avoid implicit string.h function calls. (It shouldn't strictly
 // be necessary, though.)
 __LIBC_HIDDEN__ libc_shared_globals* __libc_shared_globals() {
-  static libc_shared_globals globals;
+  BIONIC_USED_BEFORE_LINKER_RELOCATES static libc_shared_globals globals;
   return &globals;
 }
diff --git a/libc/bionic/locale.cpp b/libc/bionic/locale.cpp
index 2f4d206..a1d6909 100644
--- a/libc/bionic/locale.cpp
+++ b/libc/bionic/locale.cpp
@@ -35,17 +35,8 @@
 #include <time.h>
 #include <wchar.h>
 
-#include "platform/bionic/macros.h"
-
-#if defined(__BIONIC_BUILD_FOR_ANDROID_SUPPORT)
-#define USE_TLS_SLOT 0
-#else
-#define USE_TLS_SLOT 1
-#endif
-
-#if USE_TLS_SLOT
 #include "bionic/pthread_internal.h"
-#endif
+#include "platform/bionic/macros.h"
 
 // We only support two locales, the "C" locale (also known as "POSIX"),
 // and the "C.UTF-8" locale (also known as "en_US.UTF-8").
@@ -82,10 +73,6 @@
   return get_locale_mb_cur_max(uselocale(nullptr));
 }
 
-#if !USE_TLS_SLOT
-static thread_local locale_t g_current_locale;
-#endif
-
 static pthread_once_t g_locale_once = PTHREAD_ONCE_INIT;
 static lconv g_locale;
 
@@ -180,11 +167,7 @@
 }
 
 static locale_t* get_current_locale_ptr() {
-#if USE_TLS_SLOT
   return &__get_bionic_tls().locale;
-#else
-  return &g_current_locale;
-#endif
 }
 
 locale_t uselocale(locale_t new_locale) {
diff --git a/libc/bionic/lockf.cpp b/libc/bionic/lockf.cpp
index 804ad68..54e13f5 100644
--- a/libc/bionic/lockf.cpp
+++ b/libc/bionic/lockf.cpp
@@ -68,6 +68,12 @@
   return -1;
 }
 
+#if defined(__LP64__)
+// For LP64, off_t == off64_t.
+__strong_alias(lockf, lockf64);
+#else
+// For ILP32 we need a shim that truncates the off64_t to off_t.
 int lockf(int fd, int cmd, off_t length) {
   return lockf64(fd, cmd, length);
 }
+#endif
diff --git a/libc/bionic/malloc_common.cpp b/libc/bionic/malloc_common.cpp
index e159fdc..441d884 100644
--- a/libc/bionic/malloc_common.cpp
+++ b/libc/bionic/malloc_common.cpp
@@ -110,12 +110,27 @@
   if (param == M_BIONIC_ZERO_INIT) {
     return SetHeapZeroInitialize(value);
   }
+
   // The rest we pass on...
+  int retval;
   auto dispatch_table = GetDispatchTable();
   if (__predict_false(dispatch_table != nullptr)) {
-    return dispatch_table->mallopt(param, value);
+    retval = dispatch_table->mallopt(param, value);
+  } else {
+    retval = Malloc(mallopt)(param, value);
   }
-  return Malloc(mallopt)(param, value);
+
+  // Track the M_DECAY_TIME mallopt calls.
+  if (param == M_DECAY_TIME && retval == 1) {
+    __libc_globals.mutate([value](libc_globals* globals) {
+      if (value <= 0) {
+        atomic_store(&globals->decay_time_enabled, false);
+      } else {
+        atomic_store(&globals->decay_time_enabled, true);
+      }
+    });
+  }
+  return retval;
 }
 
 extern "C" void* malloc(size_t bytes) {
@@ -317,36 +332,6 @@
 #endif
 // =============================================================================
 
-// =============================================================================
-// Platform-internal mallopt variant.
-// =============================================================================
-#if defined(LIBC_STATIC)
-extern "C" bool android_mallopt(int opcode, void* arg, size_t arg_size) {
-  if (opcode == M_SET_ALLOCATION_LIMIT_BYTES) {
-    return LimitEnable(arg, arg_size);
-  }
-  if (opcode == M_INITIALIZE_GWP_ASAN) {
-    if (arg == nullptr || arg_size != sizeof(android_mallopt_gwp_asan_options_t)) {
-      errno = EINVAL;
-      return false;
-    }
-
-    return EnableGwpAsan(*reinterpret_cast<android_mallopt_gwp_asan_options_t*>(arg));
-  }
-  if (opcode == M_MEMTAG_STACK_IS_ON) {
-    if (arg == nullptr || arg_size != sizeof(bool)) {
-      errno = EINVAL;
-      return false;
-    }
-    *reinterpret_cast<bool*>(arg) = atomic_load(&__libc_globals->memtag_stack);
-    return true;
-  }
-  errno = ENOTSUP;
-  return false;
-}
-#endif
-// =============================================================================
-
 static constexpr MallocDispatch __libc_malloc_default_dispatch __attribute__((unused)) = {
   Malloc(calloc),
   Malloc(free),
diff --git a/libc/bionic/malloc_common_dynamic.cpp b/libc/bionic/malloc_common_dynamic.cpp
index 802a94f..7b6d7d4 100644
--- a/libc/bionic/malloc_common_dynamic.cpp
+++ b/libc/bionic/malloc_common_dynamic.cpp
@@ -80,7 +80,7 @@
 
 _Atomic bool gGlobalsMutating = false;
 
-static bool gZygoteChild = false;
+bool gZygoteChild = false;
 
 // In a Zygote child process, this is set to true if profiling of this process
 // is allowed. Note that this is set at a later time than gZygoteChild. The
@@ -89,7 +89,7 @@
 // domains if applicable). These two flags are read by the
 // BIONIC_SIGNAL_PROFILER handler, which does nothing if the process is not
 // profileable.
-static _Atomic bool gZygoteChildProfileable = false;
+_Atomic bool gZygoteChildProfileable = false;
 
 // =============================================================================
 
@@ -372,6 +372,7 @@
 extern "C" const char* __scudo_get_region_info_addr();
 extern "C" const char* __scudo_get_ring_buffer_addr();
 extern "C" size_t __scudo_get_ring_buffer_size();
+extern "C" size_t __scudo_get_stack_depot_size();
 
 // Initializes memory allocation framework once per process.
 static void MallocInitImpl(libc_globals* globals) {
@@ -380,11 +381,12 @@
 
   MaybeInitGwpAsanFromLibc(globals);
 
-#if defined(USE_SCUDO)
+#if defined(USE_SCUDO) && !__has_feature(hwaddress_sanitizer)
   __libc_shared_globals()->scudo_stack_depot = __scudo_get_stack_depot_addr();
   __libc_shared_globals()->scudo_region_info = __scudo_get_region_info_addr();
   __libc_shared_globals()->scudo_ring_buffer = __scudo_get_ring_buffer_addr();
   __libc_shared_globals()->scudo_ring_buffer_size = __scudo_get_ring_buffer_size();
+  __libc_shared_globals()->scudo_stack_depot_size = __scudo_get_stack_depot_size();
 #endif
 
   // Prefer malloc debug since it existed first and is a more complete
@@ -469,85 +471,6 @@
 }
 // =============================================================================
 
-// =============================================================================
-// Platform-internal mallopt variant.
-// =============================================================================
-__BIONIC_WEAK_FOR_NATIVE_BRIDGE
-extern "C" bool android_mallopt(int opcode, void* arg, size_t arg_size) {
-  if (opcode == M_SET_ZYGOTE_CHILD) {
-    if (arg != nullptr || arg_size != 0) {
-      errno = EINVAL;
-      return false;
-    }
-    gZygoteChild = true;
-    return true;
-  }
-  if (opcode == M_INIT_ZYGOTE_CHILD_PROFILING) {
-    if (arg != nullptr || arg_size != 0) {
-      errno = EINVAL;
-      return false;
-    }
-    atomic_store_explicit(&gZygoteChildProfileable, true, memory_order_release);
-    // Also check if heapprofd should start profiling from app startup.
-    HeapprofdInitZygoteChildProfiling();
-    return true;
-  }
-  if (opcode == M_GET_PROCESS_PROFILEABLE) {
-    if (arg == nullptr || arg_size != sizeof(bool)) {
-      errno = EINVAL;
-      return false;
-    }
-    // Native processes are considered profileable. Zygote children are considered
-    // profileable only when appropriately tagged.
-    *reinterpret_cast<bool*>(arg) =
-        !gZygoteChild || atomic_load_explicit(&gZygoteChildProfileable, memory_order_acquire);
-    return true;
-  }
-  if (opcode == M_SET_ALLOCATION_LIMIT_BYTES) {
-    return LimitEnable(arg, arg_size);
-  }
-  if (opcode == M_WRITE_MALLOC_LEAK_INFO_TO_FILE) {
-    if (arg == nullptr || arg_size != sizeof(FILE*)) {
-      errno = EINVAL;
-      return false;
-    }
-    return WriteMallocLeakInfo(reinterpret_cast<FILE*>(arg));
-  }
-  if (opcode == M_GET_MALLOC_LEAK_INFO) {
-    if (arg == nullptr || arg_size != sizeof(android_mallopt_leak_info_t)) {
-      errno = EINVAL;
-      return false;
-    }
-    return GetMallocLeakInfo(reinterpret_cast<android_mallopt_leak_info_t*>(arg));
-  }
-  if (opcode == M_FREE_MALLOC_LEAK_INFO) {
-    if (arg == nullptr || arg_size != sizeof(android_mallopt_leak_info_t)) {
-      errno = EINVAL;
-      return false;
-    }
-    return FreeMallocLeakInfo(reinterpret_cast<android_mallopt_leak_info_t*>(arg));
-  }
-  if (opcode == M_INITIALIZE_GWP_ASAN) {
-    if (arg == nullptr || arg_size != sizeof(android_mallopt_gwp_asan_options_t)) {
-      errno = EINVAL;
-      return false;
-    }
-
-    return EnableGwpAsan(*reinterpret_cast<android_mallopt_gwp_asan_options_t*>(arg));
-  }
-  if (opcode == M_MEMTAG_STACK_IS_ON) {
-    if (arg == nullptr || arg_size != sizeof(bool)) {
-      errno = EINVAL;
-      return false;
-    }
-    *reinterpret_cast<bool*>(arg) = atomic_load(&__libc_globals->memtag_stack);
-    return true;
-  }
-  // Try heapprofd's mallopt, as it handles options not covered here.
-  return HeapprofdMallopt(opcode, arg, arg_size);
-}
-// =============================================================================
-
 #if !defined(__LP64__) && defined(__arm__)
 // =============================================================================
 // Old platform only functions that some old 32 bit apps are still using.
diff --git a/libc/bionic/malloc_limit.cpp b/libc/bionic/malloc_limit.cpp
index 1405a39..5128a35 100644
--- a/libc/bionic/malloc_limit.cpp
+++ b/libc/bionic/malloc_limit.cpp
@@ -31,6 +31,7 @@
 #include <stdatomic.h>
 #include <stdint.h>
 #include <stdio.h>
+#include <unistd.h>
 
 #include <private/bionic_malloc_dispatch.h>
 
@@ -278,7 +279,7 @@
   // being called, allow a short period for the signal handler to complete
   // before failing.
   bool enabled = false;
-  size_t num_tries = 20;
+  size_t num_tries = 200;
   while (true) {
     if (!atomic_exchange(&gGlobalsMutating, true)) {
       __libc_globals.mutate([](libc_globals* globals) {
@@ -328,9 +329,16 @@
     current_allocated = Malloc(mallinfo)().uordblks;
   }
 #endif
+  // This has to be set before the enable occurs since "gAllocated" is used
+  // to compute the limit. If the enable fails, "gAllocated" is never used.
   atomic_store(&gAllocated, current_allocated);
 
-  return EnableLimitDispatchTable();
+  if (!EnableLimitDispatchTable()) {
+    // Failed to enable, reset so a future enable will pass.
+    atomic_store(&limit_enabled, false);
+    return false;
+  }
+  return true;
 }
 
 static size_t LimitUsableSize(const void* mem) {
diff --git a/libc/bionic/mbrtoc16.cpp b/libc/bionic/mbrtoc16.cpp
index 154b8a3..e87991a 100644
--- a/libc/bionic/mbrtoc16.cpp
+++ b/libc/bionic/mbrtoc16.cpp
@@ -47,15 +47,36 @@
   mbstate_set_byte(state, 3, nconv & 0xff);
 
   *pc16 = ((c32 & 0xffc00) >> 10) | 0xd800;
-  // Defined by POSIX as return value for first surrogate character.
-  return static_cast<size_t>(-3);
+  // https://issuetracker.google.com/289419882
+  //
+  // We misread the spec when implementing this. The first call should return
+  // the length of the decoded character, and the second call should return -3
+  // to indicate that the output is a continuation of the character decoded by
+  // the first call.
+  //
+  // C23 7.30.1.3.4:
+  //
+  //     between 1 and n inclusive if the next n or fewer bytes complete a valid
+  //     multibyte character (which is the value stored); the value returned is
+  //     the number of bytes that complete the multibyte character.
+  //
+  //     (size_t)(-3) if the next character resulting from a previous call has
+  //     been stored (no bytes from the input have been consumed by this call).
+  //
+  // The first call returns the number of bytes consumed, and the second call
+  // returns -3.
+  //
+  // All UTF-8 sequences that encode a surrogate pair are 4 bytes, but we may
+  // not have seen the full sequence yet.
+  return nconv;
 }
 
 static size_t finish_surrogate(char16_t* pc16, mbstate_t* state) {
   char16_t trail = mbstate_get_byte(state, 1) << 8 |
                    mbstate_get_byte(state, 0);
   *pc16 = trail;
-  return mbstate_reset_and_return(mbstate_get_byte(state, 3), state);
+  mbstate_reset(state);
+  return static_cast<size_t>(-3);
 }
 
 size_t mbrtoc16(char16_t* pc16, const char* s, size_t n, mbstate_t* ps) {
diff --git a/libc/bionic/mbrtoc32.cpp b/libc/bionic/mbrtoc32.cpp
index d37ca66..74deb40 100644
--- a/libc/bionic/mbrtoc32.cpp
+++ b/libc/bionic/mbrtoc32.cpp
@@ -51,7 +51,21 @@
   }
 
   if (n == 0) {
-    return 0;
+    // C23 7.30.1 (for each `mbrtoc*` function) says:
+    //
+    // Returns:
+    //
+    //     0 if the next n or fewer bytes complete the multibyte character that
+    //     corresponds to the null wide character (which is the value stored).
+    //
+    //     (size_t)(-2) if the next n bytes contribute to an incomplete (but
+    //     potentially valid) multibyte character, and all n bytes have been
+    //     processed (no value is stored).
+    //
+    // Bionic historically interpreted the behavior when n is 0 to be the next 0
+    // bytes decoding to the null. That's a pretty bad interpretation, and both
+    // glibc and musl return -2 for that case.
+    return BIONIC_MULTIBYTE_RESULT_INCOMPLETE_SEQUENCE;
   }
 
   uint8_t ch;
@@ -109,7 +123,7 @@
     mbstate_set_byte(state, bytes_so_far + i, *s++);
   }
   if (i < bytes_wanted) {
-    return __MB_ERR_INCOMPLETE_SEQUENCE;
+    return BIONIC_MULTIBYTE_RESULT_INCOMPLETE_SEQUENCE;
   }
 
   // Decode the octet sequence representing the character in chunks
diff --git a/libc/bionic/mmap.cpp b/libc/bionic/mmap.cpp
deleted file mode 100644
index ed6b9c6..0000000
--- a/libc/bionic/mmap.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <errno.h>
-#include <stdint.h>
-#include <sys/mman.h>
-#include <unistd.h>
-
-#include "platform/bionic/macros.h"
-#include "private/ErrnoRestorer.h"
-
-// mmap2(2) is like mmap(2), but the offset is in 4096-byte blocks, not bytes.
-extern "C" void*  __mmap2(void*, size_t, int, int, int, size_t);
-
-#define MMAP2_SHIFT 12 // 2**12 == 4096
-
-void* mmap64(void* addr, size_t size, int prot, int flags, int fd, off64_t offset) {
-  if (offset < 0 || (offset & ((1UL << MMAP2_SHIFT)-1)) != 0) {
-    errno = EINVAL;
-    return MAP_FAILED;
-  }
-
-  // Prevent allocations large enough for `end - start` to overflow.
-  size_t rounded = __BIONIC_ALIGN(size, PAGE_SIZE);
-  if (rounded < size || rounded > PTRDIFF_MAX) {
-    errno = ENOMEM;
-    return MAP_FAILED;
-  }
-
-  return __mmap2(addr, size, prot, flags, fd, offset >> MMAP2_SHIFT);
-}
-
-void* mmap(void* addr, size_t size, int prot, int flags, int fd, off_t offset) {
-  return mmap64(addr, size, prot, flags, fd, static_cast<off64_t>(offset));
-}
diff --git a/libc/bionic/mremap.cpp b/libc/bionic/mremap.cpp
deleted file mode 100644
index d7c9353..0000000
--- a/libc/bionic/mremap.cpp
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2015 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <errno.h>
-#include <sys/mman.h>
-#include <stdarg.h>
-#include <stdint.h>
-#include <unistd.h>
-
-#include "platform/bionic/macros.h"
-
-extern "C" void* __mremap(void*, size_t, size_t, int, void*);
-
-void* mremap(void* old_address, size_t old_size, size_t new_size, int flags, ...) {
-  // prevent allocations large enough for `end - start` to overflow
-  size_t rounded = __BIONIC_ALIGN(new_size, PAGE_SIZE);
-  if (rounded < new_size || rounded > PTRDIFF_MAX) {
-    errno = ENOMEM;
-    return MAP_FAILED;
-  }
-
-  void* new_address = nullptr;
-  // The optional argument is only valid if the MREMAP_FIXED flag is set,
-  // so we assume it's not present otherwise.
-  if ((flags & MREMAP_FIXED) != 0) {
-    va_list ap;
-    va_start(ap, flags);
-    new_address = va_arg(ap, void*);
-    va_end(ap);
-  }
-  return __mremap(old_address, old_size, new_size, flags, new_address);
-}
diff --git a/libc/bionic/netinet_ether.cpp b/libc/bionic/netinet_ether.cpp
new file mode 100644
index 0000000..7ebceac
--- /dev/null
+++ b/libc/bionic/netinet_ether.cpp
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <netinet/ether.h>
+
+#include <stdio.h>
+
+ether_addr* ether_aton_r(const char* asc, ether_addr* addr) {
+  int bytes[ETHER_ADDR_LEN], end;
+  int n = sscanf(asc, "%x:%x:%x:%x:%x:%x%n",
+                 &bytes[0], &bytes[1], &bytes[2],
+                 &bytes[3], &bytes[4], &bytes[5], &end);
+  if (n != ETHER_ADDR_LEN || asc[end] != '\0') return NULL;
+  for (int i = 0; i < ETHER_ADDR_LEN; i++) {
+    if (bytes[i] > 0xff) return NULL;
+    addr->ether_addr_octet[i] = bytes[i];
+  }
+  return addr;
+}
+
+struct ether_addr* ether_aton(const char* asc) {
+  static ether_addr addr;
+  return ether_aton_r(asc, &addr);
+}
+
+char* ether_ntoa_r(const ether_addr* addr, char* buf) {
+  snprintf(buf, 18, "%02x:%02x:%02x:%02x:%02x:%02x",
+           addr->ether_addr_octet[0], addr->ether_addr_octet[1],
+           addr->ether_addr_octet[2], addr->ether_addr_octet[3],
+           addr->ether_addr_octet[4], addr->ether_addr_octet[5]);
+  return buf;
+}
+
+char* ether_ntoa(const ether_addr* addr) {
+  static char buf[18];
+  return ether_ntoa_r(addr, buf);
+}
diff --git a/libc/bionic/new.cpp b/libc/bionic/new.cpp
index c9ce163..5a6acc0 100644
--- a/libc/bionic/new.cpp
+++ b/libc/bionic/new.cpp
@@ -16,13 +16,14 @@
 
 #include <new>
 
-#include <errno.h>
 #include <stdlib.h>
 
 #include <async_safe/log.h>
 
 __attribute__((weak)) const std::nothrow_t std::nothrow = {};
 
+// We can't throw in bionic, so we go straight to the equivalent of
+// std::terminate for these two instead.
 void* operator new(std::size_t size) {
     void* p = malloc(size);
     if (p == nullptr) {
@@ -30,7 +31,6 @@
     }
     return p;
 }
-
 void* operator new[](std::size_t size) {
     void* p = malloc(size);
     if (p == nullptr) {
@@ -39,26 +39,21 @@
     return p;
 }
 
-void  operator delete(void* ptr) throw() {
-    free(ptr);
-}
-
-void  operator delete[](void* ptr) throw() {
-    free(ptr);
-}
-
+// These two are the "nothrow" variants, so we just return nullptr on failure.
 void* operator new(std::size_t size, const std::nothrow_t&) {
     return malloc(size);
 }
-
 void* operator new[](std::size_t size, const std::nothrow_t&) {
     return malloc(size);
 }
 
-void  operator delete(void* ptr, const std::nothrow_t&) throw() {
-    free(ptr);
-}
+// free() can't throw anyway (except on heap corruption, which is always fatal),
+// so there's no difference between the regular and "nothrow" variants here.
+void operator delete(void* p) noexcept { free(p); }
+void operator delete[](void* p) noexcept { free(p); }
+void operator delete(void* p, const std::nothrow_t&) noexcept { free(p); }
+void operator delete[](void* p, const std::nothrow_t&) noexcept { free(p); }
 
-void  operator delete[](void* ptr, const std::nothrow_t&) throw() {
-    free(ptr);
-}
+// TODO: these can use free_sized() once we have it (http://b/284321795).
+void operator delete(void* p, std::size_t) noexcept { free(p); }
+void operator delete[](void* p, std::size_t) noexcept { free(p); }
diff --git a/libc/bionic/pathconf.cpp b/libc/bionic/pathconf.cpp
index 9724f44..9bbecc3 100644
--- a/libc/bionic/pathconf.cpp
+++ b/libc/bionic/pathconf.cpp
@@ -107,14 +107,6 @@
     case _PC_REC_MIN_XFER_SIZE:
       return s.f_bsize;
 
-#if 0
-    case _PC_REC_INCR_XFER_SIZE:
-    case _PC_REC_MAX_XFER_SIZE:
-#endif
-
-    case _PC_SYMLINK_MAX:
-      return -1; /* no limit */
-
     case _PC_CHOWN_RESTRICTED:
       return _POSIX_CHOWN_RESTRICTED;
 
@@ -125,12 +117,15 @@
       return _POSIX_VDISABLE;
 
     case _PC_ASYNC_IO:
-      return -1;
-
     case _PC_PRIO_IO:
-      return -1;
-
+    case _PC_REC_INCR_XFER_SIZE:
+    case _PC_REC_MAX_XFER_SIZE:
+    case _PC_SYMLINK_MAX:
     case _PC_SYNC_IO:
+      // No API to answer these: the caller will have to "try it and see".
+      // This differs from the next case in not setting errno to EINVAL,
+      // since we did understand the question --- we just don't have a
+      // good answer.
       return -1;
 
     default:
diff --git a/libc/bionic/poll.cpp b/libc/bionic/poll.cpp
index 3290315..5b58425 100644
--- a/libc/bionic/poll.cpp
+++ b/libc/bionic/poll.cpp
@@ -48,17 +48,17 @@
   return __ppoll(fds, fd_count, ts_ptr, nullptr, 0);
 }
 
+// The underlying ppoll(2) system call only takes `sigset64_t`.
+#if defined(__LP64__)
+// That's fine for LP64 where `sigset_t` and `sigset64_t` are the same.
+__strong_alias(ppoll, ppoll64);
+#else
+// ILP32 needs a shim.
 int ppoll(pollfd* fds, nfds_t fd_count, const timespec* ts, const sigset_t* ss) {
-  // The underlying `__ppoll` system call only takes `sigset64_t`.
-  SigSetConverter set;
-  sigset64_t* ss_ptr = nullptr;
-  if (ss != nullptr) {
-    set = {};
-    set.sigset = *ss;
-    ss_ptr = &set.sigset64;
-  }
-  return ppoll64(fds, fd_count, ts, ss_ptr);
+  SigSetConverter set{ss};
+  return ppoll64(fds, fd_count, ts, set.ptr);
 }
+#endif
 
 int ppoll64(pollfd* fds, nfds_t fd_count, const timespec* ts, const sigset64_t* ss) {
   // The underlying __ppoll system call modifies its `struct timespec` argument.
@@ -96,18 +96,19 @@
   return result;
 }
 
+// The underlying pselect6(2) system call only takes `sigset64_t`.
+#if defined(__LP64__)
+// That's fine for LP64 where `sigset_t` and `sigset64_t` are the same.
+__strong_alias(pselect, pselect64);
+#else
+// ILP32 needs a shim.
 int pselect(int fd_count, fd_set* read_fds, fd_set* write_fds, fd_set* error_fds,
             const timespec* ts, const sigset_t* ss) {
   // The underlying `__pselect6` system call only takes `sigset64_t`.
-  SigSetConverter set;
-  sigset64_t* ss_ptr = nullptr;
-  if (ss != nullptr) {
-    set = {};
-    set.sigset = *ss;
-    ss_ptr = &set.sigset64;
-  }
-  return pselect64(fd_count, read_fds, write_fds, error_fds, ts, ss_ptr);
+  SigSetConverter set{ss};
+  return pselect64(fd_count, read_fds, write_fds, error_fds, ts, set.ptr);
 }
+#endif
 
 int pselect64(int fd_count, fd_set* read_fds, fd_set* write_fds, fd_set* error_fds,
               const timespec* ts, const sigset64_t* ss) {
diff --git a/libc/bionic/posix_timers.cpp b/libc/bionic/posix_timers.cpp
index f522516..9516059 100644
--- a/libc/bionic/posix_timers.cpp
+++ b/libc/bionic/posix_timers.cpp
@@ -34,6 +34,8 @@
 #include <string.h>
 #include <time.h>
 
+#include "private/bionic_lock.h"
+
 // System calls.
 extern "C" int __rt_sigprocmask(int, const sigset64_t*, sigset64_t*, size_t);
 extern "C" int __rt_sigtimedwait(const sigset64_t*, siginfo_t*, const timespec*, size_t);
@@ -60,6 +62,7 @@
   int sigev_notify;
 
   // The fields below are only needed for a SIGEV_THREAD timer.
+  Lock startup_handshake_lock;
   pthread_t callback_thread;
   void (*callback)(sigval_t);
   sigval_t callback_argument;
@@ -73,6 +76,18 @@
 static void* __timer_thread_start(void* arg) {
   PosixTimer* timer = reinterpret_cast<PosixTimer*>(arg);
 
+  // Check that our parent managed to create the kernel timer and bail if not...
+  timer->startup_handshake_lock.lock();
+  if (timer->kernel_timer_id == -1) {
+    free(timer);
+    return nullptr;
+  }
+
+  // Give ourselves a specific meaningful name now we have a kernel timer.
+  char name[16]; // 16 is the kernel-imposed limit.
+  snprintf(name, sizeof(name), "POSIX timer %d", to_kernel_timer_id(timer));
+  pthread_setname_np(timer->callback_thread, name);
+
   sigset64_t sigset = {};
   sigaddset64(&sigset, TIMER_SIGNAL);
 
@@ -102,13 +117,14 @@
   pthread_kill(timer->callback_thread, TIMER_SIGNAL);
 }
 
-// http://pubs.opengroup.org/onlinepubs/9699919799/functions/timer_create.html
+// https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/functions/timer_create.html
 int timer_create(clockid_t clock_id, sigevent* evp, timer_t* timer_id) {
   PosixTimer* timer = reinterpret_cast<PosixTimer*>(malloc(sizeof(PosixTimer)));
   if (timer == nullptr) {
     return -1;
   }
 
+  timer->kernel_timer_id = -1;
   timer->sigev_notify = (evp == nullptr) ? SIGEV_SIGNAL : evp->sigev_notify;
 
   // If not a SIGEV_THREAD timer, the kernel can handle it without our help.
@@ -125,7 +141,7 @@
   // Otherwise, this must be SIGEV_THREAD timer...
   timer->callback = evp->sigev_notify_function;
   timer->callback_argument = evp->sigev_value;
-  atomic_init(&timer->deleted, false);
+  atomic_store_explicit(&timer->deleted, false, memory_order_relaxed);
 
   // Check arguments that the kernel doesn't care about but we do.
   if (timer->callback == nullptr) {
@@ -149,6 +165,10 @@
   sigaddset64(&sigset, TIMER_SIGNAL);
   sigset64_t old_sigset;
 
+  // Prevent the child thread from running until the timer has been created.
+  timer->startup_handshake_lock.init(false);
+  timer->startup_handshake_lock.lock();
+
   // Use __rt_sigprocmask instead of sigprocmask64 to avoid filtering out TIMER_SIGNAL.
   __rt_sigprocmask(SIG_BLOCK, &sigset, &old_sigset, sizeof(sigset));
 
@@ -162,26 +182,26 @@
     return -1;
   }
 
+  // Try to create the kernel timer.
   sigevent se = *evp;
   se.sigev_signo = TIMER_SIGNAL;
   se.sigev_notify = SIGEV_THREAD_ID;
   se.sigev_notify_thread_id = pthread_gettid_np(timer->callback_thread);
-  if (__timer_create(clock_id, &se, &timer->kernel_timer_id) == -1) {
-    __timer_thread_stop(timer);
+  rc = __timer_create(clock_id, &se, &timer->kernel_timer_id);
+
+  // Let the child run (whether we created the kernel timer or not).
+  timer->startup_handshake_lock.unlock();
+  // If __timer_create(2) failed, the child will kill itself and free the
+  // timer struct, so we just need to exit.
+  if (rc == -1) {
     return -1;
   }
 
-  // Give the thread a specific meaningful name.
-  // It can't do this itself because the kernel timer isn't created until after it's running.
-  char name[16]; // 16 is the kernel-imposed limit.
-  snprintf(name, sizeof(name), "POSIX timer %d", to_kernel_timer_id(timer));
-  pthread_setname_np(timer->callback_thread, name);
-
   *timer_id = timer;
   return 0;
 }
 
-// http://pubs.opengroup.org/onlinepubs/9699919799/functions/timer_delete.html
+// https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/functions/timer_delete.html
 int timer_delete(timer_t id) {
   int rc = __timer_delete(to_kernel_timer_id(id));
   if (rc == -1) {
@@ -200,12 +220,12 @@
   return 0;
 }
 
-// http://pubs.opengroup.org/onlinepubs/9699919799/functions/timer_gettime.html
+// https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/functions/timer_gettime.html
 int timer_gettime(timer_t id, itimerspec* ts) {
   return __timer_gettime(to_kernel_timer_id(id), ts);
 }
 
-// http://pubs.opengroup.org/onlinepubs/9699919799/functions/timer_settime.html
+// https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/functions/timer_settime.html
 // When using timer_settime to disarm a repeatable SIGEV_THREAD timer with a very small
 // period (like below 1ms), the kernel may continue to send events to the callback thread
 // for a few extra times. This behavior is fine because in POSIX standard: The effect of
@@ -215,7 +235,7 @@
   return __timer_settime(timer->kernel_timer_id, flags, ts, ots);
 }
 
-// http://pubs.opengroup.org/onlinepubs/9699919799/functions/timer_getoverrun.html
+// https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/functions/timer_getoverrun.html
 int timer_getoverrun(timer_t id) {
   return __timer_getoverrun(to_kernel_timer_id(id));
 }
diff --git a/libc/bionic/pthread_attr.cpp b/libc/bionic/pthread_attr.cpp
index 89aa289..f6c0401 100644
--- a/libc/bionic/pthread_attr.cpp
+++ b/libc/bionic/pthread_attr.cpp
@@ -36,8 +36,9 @@
 
 #include <async_safe/log.h>
 
-#include "private/bionic_defs.h"
+#include "platform/bionic/page.h"
 #include "private/ErrnoRestorer.h"
+#include "private/bionic_defs.h"
 #include "pthread_internal.h"
 
 __BIONIC_WEAK_FOR_NATIVE_BRIDGE
@@ -143,10 +144,10 @@
 
 __BIONIC_WEAK_FOR_NATIVE_BRIDGE
 int pthread_attr_setstack(pthread_attr_t* attr, void* stack_base, size_t stack_size) {
-  if ((stack_size & (PAGE_SIZE - 1) || stack_size < PTHREAD_STACK_MIN)) {
+  if ((stack_size & (page_size() - 1) || stack_size < PTHREAD_STACK_MIN)) {
     return EINVAL;
   }
-  if (reinterpret_cast<uintptr_t>(stack_base) & (PAGE_SIZE - 1)) {
+  if (reinterpret_cast<uintptr_t>(stack_base) & (page_size() - 1)) {
     return EINVAL;
   }
   attr->stack_base = stack_base;
@@ -154,36 +155,6 @@
   return 0;
 }
 
-static uintptr_t __get_main_stack_startstack() {
-  FILE* fp = fopen("/proc/self/stat", "re");
-  if (fp == nullptr) {
-    async_safe_fatal("couldn't open /proc/self/stat: %s", strerror(errno));
-  }
-
-  char line[BUFSIZ];
-  if (fgets(line, sizeof(line), fp) == nullptr) {
-    async_safe_fatal("couldn't read /proc/self/stat: %s", strerror(errno));
-  }
-
-  fclose(fp);
-
-  // See man 5 proc. There's no reason comm can't contain ' ' or ')',
-  // so we search backwards for the end of it. We're looking for this field:
-  //
-  //  startstack %lu (28) The address of the start (i.e., bottom) of the stack.
-  uintptr_t startstack = 0;
-  const char* end_of_comm = strrchr(line, ')');
-  if (sscanf(end_of_comm + 1, " %*c "
-             "%*d %*d %*d %*d %*d "
-             "%*u %*u %*u %*u %*u %*u %*u "
-             "%*d %*d %*d %*d %*d %*d "
-             "%*u %*u %*d %*u %*u %*u %" SCNuPTR, &startstack) != 1) {
-    async_safe_fatal("couldn't parse /proc/self/stat");
-  }
-
-  return startstack;
-}
-
 static int __pthread_attr_getstack_main_thread(void** stack_base, size_t* stack_size) {
   ErrnoRestorer errno_restorer;
 
@@ -197,28 +168,11 @@
   if (stack_limit.rlim_cur == RLIM_INFINITY) {
     stack_limit.rlim_cur = 8 * 1024 * 1024;
   }
-
-  // Ask the kernel where our main thread's stack started.
-  uintptr_t startstack = __get_main_stack_startstack();
-
-  // Hunt for the region that contains that address.
-  FILE* fp = fopen("/proc/self/maps", "re");
-  if (fp == nullptr) {
-    async_safe_fatal("couldn't open /proc/self/maps: %s", strerror(errno));
-  }
-  char line[BUFSIZ];
-  while (fgets(line, sizeof(line), fp) != nullptr) {
-    uintptr_t lo, hi;
-    if (sscanf(line, "%" SCNxPTR "-%" SCNxPTR, &lo, &hi) == 2) {
-      if (lo <= startstack && startstack <= hi) {
-        *stack_size = stack_limit.rlim_cur;
-        *stack_base = reinterpret_cast<void*>(hi - *stack_size);
-        fclose(fp);
-        return 0;
-      }
-    }
-  }
-  async_safe_fatal("Stack not found in /proc/self/maps");
+  uintptr_t lo, hi;
+  __find_main_stack_limits(&lo, &hi);
+  *stack_size = stack_limit.rlim_cur;
+  *stack_base = reinterpret_cast<void*>(hi - *stack_size);
+  return 0;
 }
 
 __BIONIC_WEAK_FOR_NATIVE_BRIDGE
diff --git a/libc/bionic/pthread_barrier.cpp b/libc/bionic/pthread_barrier.cpp
index 1618222..ff048a6 100644
--- a/libc/bionic/pthread_barrier.cpp
+++ b/libc/bionic/pthread_barrier.cpp
@@ -95,8 +95,8 @@
     return EINVAL;
   }
   barrier->init_count = count;
-  atomic_init(&barrier->state, WAIT);
-  atomic_init(&barrier->wait_count, 0);
+  atomic_store_explicit(&barrier->state, WAIT, memory_order_relaxed);
+  atomic_store_explicit(&barrier->wait_count, 0, memory_order_relaxed);
   barrier->pshared = false;
   if (attr != nullptr && (*attr & 1)) {
     barrier->pshared = true;
diff --git a/libc/bionic/pthread_cond.cpp b/libc/bionic/pthread_cond.cpp
index f444676..197fd19 100644
--- a/libc/bionic/pthread_cond.cpp
+++ b/libc/bionic/pthread_cond.cpp
@@ -140,10 +140,10 @@
   if (attr != nullptr) {
     init_state = (*attr & COND_FLAGS_MASK);
   }
-  atomic_init(&cond->state, init_state);
+  atomic_store_explicit(&cond->state, init_state, memory_order_relaxed);
 
 #if defined(__LP64__)
-  atomic_init(&cond->waiters, 0);
+  atomic_store_explicit(&cond->waiters, 0, memory_order_relaxed);
 #endif
 
   return 0;
diff --git a/libc/bionic/pthread_create.cpp b/libc/bionic/pthread_create.cpp
index 7bf9b40..3fa8ee6 100644
--- a/libc/bionic/pthread_create.cpp
+++ b/libc/bionic/pthread_create.cpp
@@ -42,6 +42,7 @@
 
 #include "platform/bionic/macros.h"
 #include "platform/bionic/mte.h"
+#include "platform/bionic/page.h"
 #include "private/ErrnoRestorer.h"
 #include "private/ScopedRWLock.h"
 #include "private/bionic_constants.h"
@@ -64,6 +65,7 @@
 }
 
 void __init_bionic_tls_ptrs(bionic_tcb* tcb, bionic_tls* tls) {
+  tcb->thread()->bionic_tcb = tcb;
   tcb->thread()->bionic_tls = tls;
   tcb->tls_slot(TLS_SLOT_BIONIC_TLS) = tls;
 }
@@ -71,27 +73,26 @@
 // Allocate a temporary bionic_tls that the dynamic linker's main thread can
 // use while it's loading the initial set of ELF modules.
 bionic_tls* __allocate_temp_bionic_tls() {
-  size_t allocation_size = __BIONIC_ALIGN(sizeof(bionic_tls), PAGE_SIZE);
+  size_t allocation_size = __BIONIC_ALIGN(sizeof(bionic_tls), page_size());
   void* allocation = mmap(nullptr, allocation_size,
                           PROT_READ | PROT_WRITE,
                           MAP_PRIVATE | MAP_ANONYMOUS,
                           -1, 0);
   if (allocation == MAP_FAILED) {
-    // Avoid strerror because it might need bionic_tls.
-    async_safe_fatal("failed to allocate bionic_tls: error %d", errno);
+    async_safe_fatal("failed to allocate bionic_tls: %m");
   }
   return static_cast<bionic_tls*>(allocation);
 }
 
 void __free_temp_bionic_tls(bionic_tls* tls) {
-  munmap(tls, __BIONIC_ALIGN(sizeof(bionic_tls), PAGE_SIZE));
+  munmap(tls, __BIONIC_ALIGN(sizeof(bionic_tls), page_size()));
 }
 
 static void __init_alternate_signal_stack(pthread_internal_t* thread) {
   // Create and set an alternate signal stack.
   int prot = PROT_READ | PROT_WRITE;
 #ifdef __aarch64__
-  if (atomic_load(&__libc_globals->memtag_stack)) {
+  if (atomic_load(&__libc_memtag_stack)) {
     prot |= PROT_MTE;
   }
 #endif
@@ -117,12 +118,15 @@
 
 static void __init_shadow_call_stack(pthread_internal_t* thread __unused) {
 #if defined(__aarch64__) || defined(__riscv)
-  // Allocate the stack and the guard region.
+  // Allocate the shadow call stack and its guard region.
   char* scs_guard_region = reinterpret_cast<char*>(
-      mmap(nullptr, SCS_GUARD_REGION_SIZE, 0, MAP_PRIVATE | MAP_ANON, -1, 0));
+      mmap(nullptr, SCS_GUARD_REGION_SIZE, PROT_NONE, MAP_PRIVATE | MAP_ANON, -1, 0));
+  if (scs_guard_region == MAP_FAILED) {
+    async_safe_fatal("failed to allocate shadow stack: %m");
+  }
   thread->shadow_call_stack_guard_region = scs_guard_region;
 
-  // The address is aligned to SCS_SIZE so that we only need to store the lower log2(SCS_SIZE) bits
+  // Align the address to SCS_SIZE so that we only need to store the lower log2(SCS_SIZE) bits
   // in jmp_buf. See the SCS commentary in pthread_internal.h for more detail.
   char* scs_aligned_guard_region =
       reinterpret_cast<char*>(align_up(reinterpret_cast<uintptr_t>(scs_guard_region), SCS_SIZE));
@@ -136,11 +140,13 @@
   // Make the stack read-write, and store its address in the register we're using as the shadow
   // stack pointer. This is deliberately the only place where the address is stored.
   char* scs = scs_aligned_guard_region + scs_offset;
-  mprotect(scs, SCS_SIZE, PROT_READ | PROT_WRITE);
+  if (mprotect(scs, SCS_SIZE, PROT_READ | PROT_WRITE) == -1) {
+    async_safe_fatal("shadow stack read-write mprotect(%p, %d) failed: %m", scs, SCS_SIZE);
+  }
 #if defined(__aarch64__)
   __asm__ __volatile__("mov x18, %0" ::"r"(scs));
 #elif defined(__riscv)
-  __asm__ __volatile__("mv gp, %0" ::"r"(scs));
+  __asm__ __volatile__("mv x3, %0" ::"r"(scs));
 #endif
 #endif
 }
@@ -153,11 +159,11 @@
 int __init_thread(pthread_internal_t* thread) {
   thread->cleanup_stack = nullptr;
 
-  if (__predict_true((thread->attr.flags & PTHREAD_ATTR_FLAG_DETACHED) == 0)) {
-    atomic_init(&thread->join_state, THREAD_NOT_JOINED);
-  } else {
-    atomic_init(&thread->join_state, THREAD_DETACHED);
+  ThreadJoinState state = THREAD_NOT_JOINED;
+  if (__predict_false((thread->attr.flags & PTHREAD_ATTR_FLAG_DETACHED) != 0)) {
+    state = THREAD_DETACHED;
   }
+  atomic_store_explicit(&thread->join_state, state, memory_order_relaxed);
 
   // Set the scheduling policy/priority of the thread if necessary.
   bool need_set = true;
@@ -170,12 +176,11 @@
     if (need_set) {
       if (policy == -1) {
         async_safe_format_log(ANDROID_LOG_WARN, "libc",
-                              "pthread_create sched_getscheduler failed: %s", strerror(errno));
+                              "pthread_create sched_getscheduler failed: %m");
         return errno;
       }
       if (sched_getparam(0, &param) == -1) {
-        async_safe_format_log(ANDROID_LOG_WARN, "libc",
-                              "pthread_create sched_getparam failed: %s", strerror(errno));
+        async_safe_format_log(ANDROID_LOG_WARN, "libc", "pthread_create sched_getparam failed: %m");
         return errno;
       }
     }
@@ -191,8 +196,8 @@
   if (need_set) {
     if (sched_setscheduler(thread->tid, policy, &param) == -1) {
       async_safe_format_log(ANDROID_LOG_WARN, "libc",
-                            "pthread_create sched_setscheduler(%d, {%d}) call failed: %s", policy,
-                            param.sched_priority, strerror(errno));
+                            "pthread_create sched_setscheduler(%d, {%d}) call failed: %m", policy,
+                            param.sched_priority);
 #if defined(__LP64__)
       // For backwards compatibility reasons, we only report failures on 64-bit devices.
       return errno;
@@ -203,12 +208,11 @@
   return 0;
 }
 
-
 // Allocate a thread's primary mapping. This mapping includes static TLS and
 // optionally a stack. Static TLS includes ELF TLS segments and the bionic_tls
 // struct.
 //
-// The stack_guard_size must be a multiple of the PAGE_SIZE.
+// The stack_guard_size must be a multiple of the page_size().
 ThreadMapping __allocate_thread_mapping(size_t stack_size, size_t stack_guard_size) {
   const StaticTlsLayout& layout = __libc_shared_globals()->static_tls_layout;
 
@@ -220,7 +224,7 @@
 
   // Align the result to a page size.
   const size_t unaligned_size = mmap_size;
-  mmap_size = __BIONIC_ALIGN(mmap_size, PAGE_SIZE);
+  mmap_size = __BIONIC_ALIGN(mmap_size, page_size());
   if (mmap_size < unaligned_size) return {};
 
   // Create a new private anonymous map. Make the entire mapping PROT_NONE, then carve out a
@@ -228,17 +232,16 @@
   const int flags = MAP_PRIVATE | MAP_ANONYMOUS | MAP_NORESERVE;
   char* const space = static_cast<char*>(mmap(nullptr, mmap_size, PROT_NONE, flags, -1, 0));
   if (space == MAP_FAILED) {
-    async_safe_format_log(ANDROID_LOG_WARN,
-                          "libc",
-                          "pthread_create failed: couldn't allocate %zu-bytes mapped space: %s",
-                          mmap_size, strerror(errno));
+    async_safe_format_log(ANDROID_LOG_WARN, "libc",
+                          "pthread_create failed: couldn't allocate %zu-bytes mapped space: %m",
+                          mmap_size);
     return {};
   }
   const size_t writable_size = mmap_size - stack_guard_size - PTHREAD_GUARD_SIZE;
   int prot = PROT_READ | PROT_WRITE;
   const char* prot_str = "R+W";
 #ifdef __aarch64__
-  if (atomic_load(&__libc_globals->memtag_stack)) {
+  if (atomic_load(&__libc_memtag_stack)) {
     prot |= PROT_MTE;
     prot_str = "R+W+MTE";
   }
@@ -246,8 +249,8 @@
   if (mprotect(space + stack_guard_size, writable_size, prot) != 0) {
     async_safe_format_log(
         ANDROID_LOG_WARN, "libc",
-        "pthread_create failed: couldn't mprotect %s %zu-byte thread mapping region: %s", prot_str,
-        writable_size, strerror(errno));
+        "pthread_create failed: couldn't mprotect %s %zu-byte thread mapping region: %m", prot_str,
+        writable_size);
     munmap(space, mmap_size);
     return {};
   }
@@ -271,9 +274,9 @@
   if (attr->stack_base == nullptr) {
     // The caller didn't provide a stack, so allocate one.
 
-    // Make sure the guard size is a multiple of PAGE_SIZE.
+    // Make sure the guard size is a multiple of page_size().
     const size_t unaligned_guard_size = attr->guard_size;
-    attr->guard_size = __BIONIC_ALIGN(attr->guard_size, PAGE_SIZE);
+    attr->guard_size = __BIONIC_ALIGN(attr->guard_size, page_size());
     if (attr->guard_size < unaligned_guard_size) return EAGAIN;
 
     mapping = __allocate_thread_mapping(attr->stack_size, attr->guard_size);
@@ -348,15 +351,20 @@
 
 extern "C" int __rt_sigprocmask(int, const sigset64_t*, sigset64_t*, size_t);
 
-__attribute__((no_sanitize("hwaddress")))
-#ifdef __aarch64__
+__attribute__((no_sanitize("hwaddress", "memtag")))
+#if defined(__aarch64__)
 // This function doesn't return, but it does appear in stack traces. Avoid using return PAC in this
 // function because we may end up resetting IA, which may confuse unwinders due to mismatching keys.
 __attribute__((target("branch-protection=bti")))
 #endif
-static int __pthread_start(void* arg) {
+static int
+__pthread_start(void* arg) {
   pthread_internal_t* thread = reinterpret_cast<pthread_internal_t*>(arg);
-
+#if defined(__aarch64__)
+  if (thread->should_allocate_stack_mte_ringbuffer) {
+    thread->bionic_tcb->tls_slot(TLS_SLOT_STACK_MTE) = __allocate_stack_mte_ringbuffer(0, thread);
+  }
+#endif
   __hwasan_thread_enter();
 
   // Wait for our creating thread to release us. This lets it have time to
@@ -368,13 +376,13 @@
   __set_stack_and_tls_vma_name(false);
   __init_additional_stacks(thread);
   __rt_sigprocmask(SIG_SETMASK, &thread->start_mask, nullptr, sizeof(thread->start_mask));
-#ifdef __aarch64__
+#if defined(__aarch64__)
   // Chrome's sandbox prevents this prctl, so only reset IA if the target SDK level is high enough.
   // Furthermore, processes loaded from vendor partitions may have their own sandboxes that would
-  // reject the prctl. Because no devices launched with PAC enabled before S, we can avoid issues on
-  // upgrading devices by checking for PAC support before issuing the prctl.
+  // reject the prctl. Because no devices launched with PAC enabled before API level 31, we can
+  // avoid issues on upgrading devices by checking for PAC support before issuing the prctl.
   static const bool pac_supported = getauxval(AT_HWCAP) & HWCAP_PACA;
-  if (pac_supported && android_get_application_target_sdk_version() >= __ANDROID_API_S__) {
+  if (pac_supported && android_get_application_target_sdk_version() >= 31) {
     prctl(PR_PAC_RESET_KEYS, PR_PAC_APIAKEY, 0, 0, 0);
   }
 #endif
@@ -444,6 +452,14 @@
 
   ScopedReadLock locker(&g_thread_creation_lock);
 
+// This has to be done under g_thread_creation_lock or g_thread_list_lock to avoid racing with
+// __pthread_internal_remap_stack_with_mte.
+#ifdef __aarch64__
+  thread->should_allocate_stack_mte_ringbuffer = __libc_memtag_stack_abi;
+#else
+  thread->should_allocate_stack_mte_ringbuffer = false;
+#endif
+
   sigset64_t block_all_mask;
   sigfillset64(&block_all_mask);
   __rt_sigprocmask(SIG_SETMASK, &block_all_mask, &thread->start_mask, sizeof(thread->start_mask));
@@ -458,8 +474,7 @@
     if (thread->mmap_size != 0) {
       munmap(thread->mmap_base, thread->mmap_size);
     }
-    async_safe_format_log(ANDROID_LOG_WARN, "libc", "pthread_create failed: clone failed: %s",
-                          strerror(clone_errno));
+    async_safe_format_log(ANDROID_LOG_WARN, "libc", "pthread_create failed: clone failed: %m");
     return clone_errno;
   }
 
diff --git a/libc/bionic/pthread_exit.cpp b/libc/bionic/pthread_exit.cpp
index f584b27..27d05c2 100644
--- a/libc/bionic/pthread_exit.cpp
+++ b/libc/bionic/pthread_exit.cpp
@@ -33,10 +33,11 @@
 #include <string.h>
 #include <sys/mman.h>
 
-#include "private/bionic_constants.h"
-#include "private/bionic_defs.h"
+#include "platform/bionic/mte.h"
 #include "private/ScopedRWLock.h"
 #include "private/ScopedSignalBlocker.h"
+#include "private/bionic_constants.h"
+#include "private/bionic_defs.h"
 #include "pthread_internal.h"
 
 extern "C" __noreturn void _exit_with_stack_teardown(void*, size_t);
@@ -67,7 +68,7 @@
 }
 
 __BIONIC_WEAK_FOR_NATIVE_BRIDGE
-void pthread_exit(void* return_value) {
+__attribute__((no_sanitize("memtag"))) void pthread_exit(void* return_value) {
   // Call dtors for thread_local objects first.
   __cxa_thread_finalize();
 
@@ -133,20 +134,24 @@
 
     // pthread_internal_t is freed below with stack, not here.
     __pthread_internal_remove(thread);
-
-    if (thread->mmap_size != 0) {
-      // We need to free mapped space for detached threads when they exit.
-      // That's not something we can do in C.
-      __notify_thread_exit_callbacks();
-      __hwasan_thread_exit();
-      _exit_with_stack_teardown(thread->mmap_base, thread->mmap_size);
-    }
   }
 
-  // No need to free mapped space. Either there was no space mapped, or it is left for
-  // the pthread_join caller to clean up.
   __notify_thread_exit_callbacks();
   __hwasan_thread_exit();
 
+#if defined(__aarch64__)
+  if (void* stack_mte_tls = thread->bionic_tcb->tls_slot(TLS_SLOT_STACK_MTE)) {
+    stack_mte_free_ringbuffer(reinterpret_cast<uintptr_t>(stack_mte_tls));
+  }
+#endif
+  // Everything below this line needs to be no_sanitize("memtag").
+
+  if (old_state == THREAD_DETACHED && thread->mmap_size != 0) {
+    // We need to free mapped space for detached threads when they exit.
+    // That's not something we can do in C.
+    _exit_with_stack_teardown(thread->mmap_base, thread->mmap_size);
+  }
+  // No need to free mapped space. Either there was no space mapped,
+  // or it is left for the pthread_join caller to clean up.
   __exit(0);
 }
diff --git a/libc/bionic/isatty.c b/libc/bionic/pthread_getaffinity.cpp
similarity index 76%
copy from libc/bionic/isatty.c
copy to libc/bionic/pthread_getaffinity.cpp
index 93af6c5..9ce436c 100644
--- a/libc/bionic/isatty.c
+++ b/libc/bionic/pthread_getaffinity.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,14 +26,17 @@
  * SUCH DAMAGE.
  */
 
-#include <unistd.h>
-#include <termios.h>
 #include <errno.h>
 
-int
-isatty (int  fd)
-{
-  struct termios term;
+#include "private/ErrnoRestorer.h"
+#include "pthread_internal.h"
 
-  return tcgetattr (fd, &term) == 0;
+int pthread_getaffinity_np(pthread_t t, size_t cpu_set_size, cpu_set_t* cpu_set) {
+  ErrnoRestorer errno_restorer;
+
+  pid_t tid = __pthread_internal_gettid(t, "pthread_getaffinity_np");
+  if (tid == -1) return ESRCH;
+
+  if (sched_getaffinity(tid, cpu_set_size, cpu_set) == -1) return errno;
+  return 0;
 }
diff --git a/libc/bionic/pthread_internal.cpp b/libc/bionic/pthread_internal.cpp
index 6a7ee2f..4f2ad0c 100644
--- a/libc/bionic/pthread_internal.cpp
+++ b/libc/bionic/pthread_internal.cpp
@@ -33,13 +33,18 @@
 #include <stdlib.h>
 #include <string.h>
 #include <sys/mman.h>
+#include <sys/prctl.h>
+#include <sys/types.h>
 
 #include <async_safe/log.h>
+#include <bionic/mte.h>
 #include <bionic/reserved_signals.h>
+#include <bionic/tls_defines.h>
 
 #include "private/ErrnoRestorer.h"
 #include "private/ScopedRWLock.h"
 #include "private/bionic_futex.h"
+#include "private/bionic_globals.h"
 #include "private/bionic_tls.h"
 
 static pthread_internal_t* g_thread_list = nullptr;
@@ -119,6 +124,119 @@
   return nullptr;
 }
 
+static uintptr_t __get_main_stack_startstack() {
+  FILE* fp = fopen("/proc/self/stat", "re");
+  if (fp == nullptr) {
+    async_safe_fatal("couldn't open /proc/self/stat: %m");
+  }
+
+  char line[BUFSIZ];
+  if (fgets(line, sizeof(line), fp) == nullptr) {
+    async_safe_fatal("couldn't read /proc/self/stat: %m");
+  }
+
+  fclose(fp);
+
+  // See man 5 proc. There's no reason comm can't contain ' ' or ')',
+  // so we search backwards for the end of it. We're looking for this field:
+  //
+  //  startstack %lu (28) The address of the start (i.e., bottom) of the stack.
+  uintptr_t startstack = 0;
+  const char* end_of_comm = strrchr(line, ')');
+  if (sscanf(end_of_comm + 1,
+             " %*c "
+             "%*d %*d %*d %*d %*d "
+             "%*u %*u %*u %*u %*u %*u %*u "
+             "%*d %*d %*d %*d %*d %*d "
+             "%*u %*u %*d %*u %*u %*u %" SCNuPTR,
+             &startstack) != 1) {
+    async_safe_fatal("couldn't parse /proc/self/stat");
+  }
+
+  return startstack;
+}
+
+void __find_main_stack_limits(uintptr_t* low, uintptr_t* high) {
+  // Ask the kernel where our main thread's stack started.
+  uintptr_t startstack = __get_main_stack_startstack();
+
+  // Hunt for the region that contains that address.
+  FILE* fp = fopen("/proc/self/maps", "re");
+  if (fp == nullptr) {
+    async_safe_fatal("couldn't open /proc/self/maps: %m");
+  }
+  char line[BUFSIZ];
+  while (fgets(line, sizeof(line), fp) != nullptr) {
+    uintptr_t lo, hi;
+    if (sscanf(line, "%" SCNxPTR "-%" SCNxPTR, &lo, &hi) == 2) {
+      if (lo <= startstack && startstack <= hi) {
+        *low = lo;
+        *high = hi;
+        fclose(fp);
+        return;
+      }
+    }
+  }
+  async_safe_fatal("stack not found in /proc/self/maps");
+}
+
+#if defined(__aarch64__)
+__LIBC_HIDDEN__ void* __allocate_stack_mte_ringbuffer(size_t n, pthread_internal_t* thread) {
+  const char* name;
+  if (thread == nullptr) {
+    name = "stack_mte_ring:main";
+  } else {
+    // The kernel doesn't copy the name string, but this variable will last at least as long as the
+    // mapped area. We unmap the ring buffer before unmapping the rest of the thread storage.
+    auto& name_buffer = thread->stack_mte_ringbuffer_vma_name_buffer;
+    static_assert(arraysize(name_buffer) >= arraysize("stack_mte_ring:") + 11 + 1);
+    async_safe_format_buffer(name_buffer, arraysize(name_buffer), "stack_mte_ring:%d", thread->tid);
+    name = name_buffer;
+  }
+  void* ret = stack_mte_ringbuffer_allocate(n, name);
+  if (!ret) async_safe_fatal("error: failed to allocate stack mte ring buffer");
+  return ret;
+}
+#endif
+
+bool __pthread_internal_remap_stack_with_mte() {
+#if defined(__aarch64__)
+  ScopedWriteLock creation_locker(&g_thread_creation_lock);
+  ScopedReadLock list_locker(&g_thread_list_lock);
+  // If process already uses memtag-stack ABI, we don't need to do anything.
+  if (__libc_memtag_stack_abi) return false;
+  __libc_memtag_stack_abi = true;
+
+  for (pthread_internal_t* t = g_thread_list; t != nullptr; t = t->next) {
+    // should_allocate_stack_mte_ringbuffer indicates the thread is already
+    // aware that this process requires stack MTE, and will allocate the
+    // ring buffer in __pthread_start.
+    if (t->terminating || t->should_allocate_stack_mte_ringbuffer) continue;
+    t->bionic_tcb->tls_slot(TLS_SLOT_STACK_MTE) =
+        __allocate_stack_mte_ringbuffer(0, t->is_main() ? nullptr : t);
+  }
+  if (!atomic_load(&__libc_globals->memtag)) return false;
+  if (atomic_exchange(&__libc_memtag_stack, true)) return false;
+  uintptr_t lo, hi;
+  __find_main_stack_limits(&lo, &hi);
+
+  if (mprotect(reinterpret_cast<void*>(lo), hi - lo,
+               PROT_READ | PROT_WRITE | PROT_MTE | PROT_GROWSDOWN)) {
+    async_safe_fatal("error: failed to set PROT_MTE on main thread");
+  }
+  for (pthread_internal_t* t = g_thread_list; t != nullptr; t = t->next) {
+    if (t->terminating || t->is_main()) continue;
+    if (mprotect(t->mmap_base_unguarded, t->mmap_size_unguarded,
+                 PROT_READ | PROT_WRITE | PROT_MTE)) {
+      async_safe_fatal("error: failed to set PROT_MTE on thread: %d", t->tid);
+    }
+  }
+  return true;
+#else
+  return false;
+#endif  // defined(__aarch64__)
+}
+
 bool android_run_on_all_threads(bool (*func)(void*), void* arg) {
   // Take the locks in this order to avoid inversion (pthread_create ->
   // __pthread_internal_add).
@@ -141,8 +259,7 @@
   g_func = func;
   g_arg = arg;
 
-  static _Atomic(bool) g_retval;
-  atomic_init(&g_retval, true);
+  static _Atomic(bool) g_retval(true);
 
   auto handler = [](int, siginfo_t*, void*) {
     ErrnoRestorer restorer;
diff --git a/libc/bionic/pthread_internal.h b/libc/bionic/pthread_internal.h
index a3a4ccd..cbaa9a6 100644
--- a/libc/bionic/pthread_internal.h
+++ b/libc/bionic/pthread_internal.h
@@ -38,6 +38,8 @@
 #define __hwasan_thread_exit()
 #endif
 
+#include "platform/bionic/page.h"
+
 #include "private/bionic_elf_tls.h"
 #include "private/bionic_lock.h"
 #include "private/bionic_tls.h"
@@ -137,7 +139,7 @@
   //    clobber x18 on arm64, therefore each process must declare early during
   //    process startup whether it might load legacy code.
   //    TODO: riscv64 has no legacy code, so we can actually go this route
-  //    there, but hopefully we'll actually get the Zsslpcfi extension instead.
+  //    there, but hopefully we'll actually get the Zisslpcfi extension instead.
   // 2) Mark the guard region as such using prctl(PR_SET_VMA_ANON_NAME) and
   //    discover its address by reading /proc/self/maps. One issue with this is
   //    that reading /proc/self/maps can race with allocations, so we may need
@@ -177,12 +179,11 @@
 
   int errno_value;
 
-  // The last observed value of SP in a vfork child process.
-  // The part of the stack between this address and the value of SP when the vfork parent process
-  // regains control may have stale MTE tags and needs cleanup. This field is only meaningful while
-  // the parent is waiting for the vfork child to return control by calling either exec*() or
-  // exit().
-  void* vfork_child_stack_bottom;
+  bionic_tcb* bionic_tcb;
+  char stack_mte_ringbuffer_vma_name_buffer[32];
+  bool should_allocate_stack_mte_ringbuffer;
+
+  bool is_main() { return start_routine == nullptr; }
 };
 
 struct ThreadMapping {
@@ -212,6 +213,10 @@
 __LIBC_HIDDEN__ pid_t __pthread_internal_gettid(pthread_t pthread_id, const char* caller);
 __LIBC_HIDDEN__ void __pthread_internal_remove(pthread_internal_t* thread);
 __LIBC_HIDDEN__ void __pthread_internal_remove_and_free(pthread_internal_t* thread);
+__LIBC_HIDDEN__ void __find_main_stack_limits(uintptr_t* low, uintptr_t* high);
+#if defined(__aarch64__)
+__LIBC_HIDDEN__ void* __allocate_stack_mte_ringbuffer(size_t n, pthread_internal_t* thread);
+#endif
 
 static inline __always_inline bionic_tcb* __get_bionic_tcb() {
   return reinterpret_cast<bionic_tcb*>(&__get_tls()[MIN_TLS_SLOT]);
@@ -243,7 +248,7 @@
 // On LP64, we could use more but there's no obvious advantage to doing
 // so, and the various media processes use RLIMIT_AS as a way to limit
 // the amount of allocation they'll do.
-#define PTHREAD_GUARD_SIZE PAGE_SIZE
+#define PTHREAD_GUARD_SIZE max_android_page_size()
 
 // SIGSTKSZ (8KiB) is not big enough.
 // An snprintf to a stack buffer of size PATH_MAX consumes ~7KiB of stack.
@@ -271,6 +276,10 @@
 __LIBC_HIDDEN__ extern void __bionic_atfork_run_child();
 __LIBC_HIDDEN__ extern void __bionic_atfork_run_parent();
 
+// Re-map all threads and successively launched threads with PROT_MTE. Returns 'true' if remapping
+// took place, 'false' on error or if the stacks were already remapped in the past.
+__LIBC_HIDDEN__ bool __pthread_internal_remap_stack_with_mte();
+
 extern "C" bool android_run_on_all_threads(bool (*func)(void*), void* arg);
 
 extern pthread_rwlock_t g_thread_creation_lock;
diff --git a/libc/bionic/pthread_mutex.cpp b/libc/bionic/pthread_mutex.cpp
index 9b37225..c99717a 100644
--- a/libc/bionic/pthread_mutex.cpp
+++ b/libc/bionic/pthread_mutex.cpp
@@ -182,7 +182,12 @@
         return 0;
     }
     if (ret == EBUSY) {
-        ScopedTrace trace("Contending for pthread mutex");
+        char trace_msg[64];
+        const pid_t owner = atomic_load_explicit(&mutex.owner_tid, memory_order_relaxed)
+                & FUTEX_TID_MASK;
+        snprintf(trace_msg, sizeof(trace_msg),
+                 "Contending for pthread mutex owned by tid: %d", owner);
+        ScopedTrace trace(trace_msg);
         ret = -__futex_pi_lock_ex(&mutex.owner_tid, mutex.shared, use_realtime_clock, abs_timeout);
     }
     return ret;
@@ -504,8 +509,8 @@
     memset(mutex, 0, sizeof(pthread_mutex_internal_t));
 
     if (__predict_true(attr == nullptr)) {
-        atomic_init(&mutex->state, MUTEX_TYPE_BITS_NORMAL);
-        return 0;
+      atomic_store_explicit(&mutex->state, MUTEX_TYPE_BITS_NORMAL, memory_order_relaxed);
+      return 0;
     }
 
     uint16_t state = 0;
@@ -538,13 +543,13 @@
         }
         mutex->pi_mutex_id = id;
 #endif
-        atomic_init(&mutex->state, PI_MUTEX_STATE);
+        atomic_store_explicit(&mutex->state, PI_MUTEX_STATE, memory_order_relaxed);
         PIMutex& pi_mutex = mutex->ToPIMutex();
         pi_mutex.type = *attr & MUTEXATTR_TYPE_MASK;
         pi_mutex.shared = (*attr & MUTEXATTR_SHARED_MASK) != 0;
     } else {
-        atomic_init(&mutex->state, state);
-        atomic_init(&mutex->owner_tid, 0);
+      atomic_store_explicit(&mutex->state, state, memory_order_relaxed);
+      atomic_store_explicit(&mutex->owner_tid, 0, memory_order_relaxed);
     }
     return 0;
 }
diff --git a/libc/bionic/pthread_rwlock.cpp b/libc/bionic/pthread_rwlock.cpp
index ebf6697..92134b4 100644
--- a/libc/bionic/pthread_rwlock.cpp
+++ b/libc/bionic/pthread_rwlock.cpp
@@ -69,11 +69,12 @@
 #define RWLOCKATTR_KIND_MASK     2
 #define RWLOCKATTR_RESERVED_MASK (~3)
 
-static inline __always_inline __always_inline bool __rwlockattr_getpshared(const pthread_rwlockattr_t* attr) {
+static inline __always_inline bool __rwlockattr_getpshared(const pthread_rwlockattr_t* attr) {
   return (*attr & RWLOCKATTR_PSHARED_MASK) >> RWLOCKATTR_PSHARED_SHIFT;
 }
 
-static inline __always_inline __always_inline void __rwlockattr_setpshared(pthread_rwlockattr_t* attr, int pshared) {
+static inline __always_inline void __rwlockattr_setpshared(pthread_rwlockattr_t* attr,
+                                                           int pshared) {
   *attr = (*attr & ~RWLOCKATTR_PSHARED_MASK) | (pshared << RWLOCKATTR_PSHARED_SHIFT);
 }
 
@@ -246,7 +247,7 @@
     }
   }
 
-  atomic_init(&rwlock->state, 0);
+  atomic_store_explicit(&rwlock->state, 0, memory_order_relaxed);
   rwlock->pending_lock.init(rwlock->pshared);
   return 0;
 }
diff --git a/libc/bionic/isatty.c b/libc/bionic/pthread_setaffinity.cpp
similarity index 75%
copy from libc/bionic/isatty.c
copy to libc/bionic/pthread_setaffinity.cpp
index 93af6c5..6db418e 100644
--- a/libc/bionic/isatty.c
+++ b/libc/bionic/pthread_setaffinity.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,14 +26,17 @@
  * SUCH DAMAGE.
  */
 
-#include <unistd.h>
-#include <termios.h>
 #include <errno.h>
 
-int
-isatty (int  fd)
-{
-  struct termios term;
+#include "private/ErrnoRestorer.h"
+#include "pthread_internal.h"
 
-  return tcgetattr (fd, &term) == 0;
+int pthread_setaffinity_np(pthread_t t, size_t cpu_set_size, const cpu_set_t* cpu_set) {
+  ErrnoRestorer errno_restorer;
+
+  pid_t tid = __pthread_internal_gettid(t, "pthread_setaffinity_np");
+  if (tid == -1) return ESRCH;
+
+  if (sched_setaffinity(tid, cpu_set_size, cpu_set) == -1) return errno;
+  return 0;
 }
diff --git a/libc/bionic/pthread_sigqueue.cpp b/libc/bionic/pthread_sigqueue.cpp
index 93c349e..7c10b25 100644
--- a/libc/bionic/pthread_sigqueue.cpp
+++ b/libc/bionic/pthread_sigqueue.cpp
@@ -40,14 +40,16 @@
 int pthread_sigqueue(pthread_t t, int sig, const union sigval value) {
   ErrnoRestorer errno_restorer;
 
+  pid_t pid = getpid();
+
   pid_t tid = __pthread_internal_gettid(t, "pthread_sigqueue");
   if (tid == -1) return ESRCH;
 
-  siginfo_t siginfo;
-  siginfo.si_code = SI_QUEUE;
-  siginfo.si_pid = getpid();
+  siginfo_t siginfo = { .si_code = SI_QUEUE };
+  siginfo.si_signo = sig;
+  siginfo.si_pid = pid;
   siginfo.si_uid = getuid();
   siginfo.si_value = value;
 
-  return syscall(__NR_rt_tgsigqueueinfo, getpid(), tid, sig, &siginfo) ? errno : 0;
+  return syscall(__NR_rt_tgsigqueueinfo, pid, tid, sig, &siginfo) ? errno : 0;
 }
diff --git a/libm/fenv-access.h b/libc/bionic/sched_cpualloc.cpp
similarity index 83%
copy from libm/fenv-access.h
copy to libc/bionic/sched_cpualloc.cpp
index 7acb34d..4c8b3c3 100644
--- a/libm/fenv-access.h
+++ b/libc/bionic/sched_cpualloc.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2010 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,8 +26,13 @@
  * SUCH DAMAGE.
  */
 
-#pragma once
+#include <sched.h>
+#include <stdlib.h>
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
-#endif
+cpu_set_t* __sched_cpualloc(size_t count) {
+  return static_cast<cpu_set_t*>(malloc(CPU_ALLOC_SIZE(count)));
+}
+
+void __sched_cpufree(cpu_set_t* set) {
+  free(set);
+}
diff --git a/libc/bionic/sched_cpucount.c b/libc/bionic/sched_cpucount.cpp
similarity index 89%
rename from libc/bionic/sched_cpucount.c
rename to libc/bionic/sched_cpucount.cpp
index 6f66589..3ec27bb 100644
--- a/libc/bionic/sched_cpucount.c
+++ b/libc/bionic/sched_cpucount.cpp
@@ -25,17 +25,13 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#define _GNU_SOURCE 1
+
 #include <sched.h>
 
 int __sched_cpucount(size_t setsize, const cpu_set_t* set) {
-  int nn = 0;
-  int nn_max = setsize / sizeof(__CPU_BITTYPE);
   int count = 0;
-
-  for ( ; nn < nn_max; nn++ ) {
-    count += __builtin_popcountl(set->__bits[nn]);
+  for (size_t i = 0; i < setsize / sizeof(__CPU_BITTYPE); i++) {
+    count += __builtin_popcountl(set->__bits[i]);
   }
-
   return count;
 }
diff --git a/libc/bionic/semaphore.cpp b/libc/bionic/semaphore.cpp
index 33552a9..2c9b745 100644
--- a/libc/bionic/semaphore.cpp
+++ b/libc/bionic/semaphore.cpp
@@ -113,7 +113,7 @@
   }
 
   atomic_uint* sem_count_ptr = SEM_TO_ATOMIC_POINTER(sem);
-  atomic_init(sem_count_ptr, count);
+  atomic_store_explicit(sem_count_ptr, count, memory_order_relaxed);
   return 0;
 }
 
diff --git a/libc/bionic/sigaction.cpp b/libc/bionic/sigaction.cpp
index 1cdb021..a84886b 100644
--- a/libc/bionic/sigaction.cpp
+++ b/libc/bionic/sigaction.cpp
@@ -39,26 +39,25 @@
 extern "C" int __rt_sigaction(int, const struct __kernel_sigaction*, struct __kernel_sigaction*, size_t);
 
 int sigaction(int signal, const struct sigaction* bionic_new_action, struct sigaction* bionic_old_action) {
-  __kernel_sigaction kernel_new_action;
+  __kernel_sigaction kernel_new_action = {};
   if (bionic_new_action != nullptr) {
     kernel_new_action.sa_flags = bionic_new_action->sa_flags;
     kernel_new_action.sa_handler = bionic_new_action->sa_handler;
     // Don't filter signals here; if the caller asked for everything to be blocked, we should obey.
     kernel_new_action.sa_mask = bionic_new_action->sa_mask;
-#if defined(SA_RESTORER)
+#if defined(__x86_64__)
+    // riscv64 doesn't have sa_restorer. For arm64 and 32-bit x86, unwinding
+    // works best if you just let the kernel supply the default restorer
+    // from [vdso]. gdb doesn't care, but libgcc needs the nop that the
+    // kernel includes before the actual code. (We could add that ourselves,
+    // but why bother?)
+    // TODO: why do arm32 and x86-64 need this to unwind through signal handlers?
     kernel_new_action.sa_restorer = bionic_new_action->sa_restorer;
-#if defined(__aarch64__)
-    // arm64 has sa_restorer, but unwinding works best if you just let the
-    // kernel supply the default restorer from [vdso]. gdb doesn't care, but
-    // libgcc needs the nop that the kernel includes before the actual code.
-    // (We could add that ourselves, but why bother?)
-#else
     if (!(kernel_new_action.sa_flags & SA_RESTORER)) {
       kernel_new_action.sa_flags |= SA_RESTORER;
       kernel_new_action.sa_restorer = &__restore_rt;
     }
 #endif
-#endif
   }
 
   __kernel_sigaction kernel_old_action;
@@ -90,10 +89,11 @@
 // by extracting the implementation of sigaction64 to a static function.
 static int __sigaction64(int signal, const struct sigaction64* bionic_new,
                          struct sigaction64* bionic_old) {
-  struct sigaction64 kernel_new;
+  struct sigaction64 kernel_new = {};
   if (bionic_new) {
     kernel_new = *bionic_new;
-#if defined(SA_RESTORER)
+#if defined(__arm__)
+    // (See sa_restorer comment in sigaction() above.)
     if (!(kernel_new.sa_flags & SA_RESTORER)) {
       kernel_new.sa_flags |= SA_RESTORER;
       kernel_new.sa_restorer = (kernel_new.sa_flags & SA_SIGINFO) ? &__restore_rt : &__restore;
@@ -110,9 +110,8 @@
 int sigaction(int signal, const struct sigaction* bionic_new, struct sigaction* bionic_old) {
   // The 32-bit ABI is broken. struct sigaction includes a too-small sigset_t,
   // so we have to translate to struct sigaction64 first.
-  struct sigaction64 kernel_new;
+  struct sigaction64 kernel_new = {};
   if (bionic_new) {
-    kernel_new = {};
     kernel_new.sa_flags = bionic_new->sa_flags;
     kernel_new.sa_handler = bionic_new->sa_handler;
 #if defined(SA_RESTORER)
diff --git a/libc/bionic/signal.cpp b/libc/bionic/signal.cpp
index b581b5a..5979ed7 100644
--- a/libc/bionic/signal.cpp
+++ b/libc/bionic/signal.cpp
@@ -76,13 +76,23 @@
   return SigAddSet(set, sig);
 }
 
-// This isn't in our header files, but is exposed on all architectures.
+union BsdSigSet {
+  int mask;
+  sigset64_t set;
+};
+
+// This isn't in our header files, but is exposed on all architectures except riscv64.
 extern "C" int sigblock(int mask) {
-  SigSetConverter in, out;
-  sigemptyset(&in.sigset);
-  in.bsd = mask;
-  if (sigprocmask(SIG_BLOCK, &in.sigset, &out.sigset) == -1) return -1;
-  return out.bsd;
+  BsdSigSet in{.mask = mask}, out;
+  if (sigprocmask64(SIG_BLOCK, &in.set, &out.set) == -1) return -1;
+  return out.mask;
+}
+
+// This isn't in our header files, but is exposed on all architectures except riscv64.
+extern "C" int sigsetmask(int mask) {
+  BsdSigSet in{.mask = mask}, out;
+  if (sigprocmask64(SIG_SETMASK, &in.set, &out.set) == -1) return -1;
+  return out.mask;
 }
 
 template <typename SigSetT>
@@ -198,10 +208,9 @@
 }
 
 int sigpending(sigset_t* bionic_set) {
-  SigSetConverter set = {};
-  set.sigset = *bionic_set;
-  if (__rt_sigpending(&set.sigset64, sizeof(set.sigset64)) == -1) return -1;
-  *bionic_set = set.sigset;
+  SigSetConverter set{bionic_set};
+  if (__rt_sigpending(set.ptr, sizeof(sigset64_t)) == -1) return -1;
+  set.copy_out();
   return 0;
 }
 
@@ -210,10 +219,8 @@
 }
 
 int sigqueue(pid_t pid, int sig, const sigval value) {
-  siginfo_t info;
-  memset(&info, 0, sizeof(siginfo_t));
+  siginfo_t info = { .si_code = SI_QUEUE };
   info.si_signo = sig;
-  info.si_code = SI_QUEUE;
   info.si_pid = getpid();
   info.si_uid = getuid();
   info.si_value = value;
@@ -245,19 +252,9 @@
   return sigismember64(&old_mask, sig) ? SIG_HOLD : old_sa.sa_handler;
 }
 
-// This isn't in our header files, but is exposed on all architectures.
-extern "C" int sigsetmask(int mask) {
-  SigSetConverter in, out;
-  sigemptyset(&in.sigset);
-  in.bsd = mask;
-  if (sigprocmask(SIG_SETMASK, &in.sigset, &out.sigset) == -1) return -1;
-  return out.bsd;
-}
-
 int sigsuspend(const sigset_t* bionic_set) {
-  SigSetConverter set = {};
-  set.sigset = *bionic_set;
-  return sigsuspend64(&set.sigset64);
+  SigSetConverter set{bionic_set};
+  return sigsuspend64(set.ptr);
 }
 
 int sigsuspend64(const sigset64_t* set) {
@@ -271,9 +268,8 @@
 }
 
 int sigtimedwait(const sigset_t* bionic_set, siginfo_t* info, const timespec* timeout) {
-  SigSetConverter set = {};
-  set.sigset = *bionic_set;
-  return sigtimedwait64(&set.sigset64, info, timeout);
+  SigSetConverter set{bionic_set};
+  return sigtimedwait64(set.ptr, info, timeout);
 }
 
 int sigtimedwait64(const sigset64_t* set, siginfo_t* info, const timespec* timeout) {
@@ -287,9 +283,8 @@
 }
 
 int sigwait(const sigset_t* bionic_set, int* sig) {
-  SigSetConverter set = {};
-  set.sigset = *bionic_set;
-  return sigwait64(&set.sigset64, sig);
+  SigSetConverter set{bionic_set};
+  return sigwait64(set.ptr, sig);
 }
 
 int sigwait64(const sigset64_t* set, int* sig) {
diff --git a/libc/bionic/sigprocmask.cpp b/libc/bionic/sigprocmask.cpp
index 8781c9b..10e2fa3 100644
--- a/libc/bionic/sigprocmask.cpp
+++ b/libc/bionic/sigprocmask.cpp
@@ -41,29 +41,6 @@
 // can't allow clang to decide to inline sigprocmask.
 //
 
-int sigprocmask(int how,
-                const sigset_t* bionic_new_set,
-                sigset_t* bionic_old_set) __attribute__((__noinline__)) {
-  SigSetConverter new_set;
-  sigset64_t* new_set_ptr = nullptr;
-  if (bionic_new_set != nullptr) {
-    sigemptyset64(&new_set.sigset64);
-    new_set.sigset = *bionic_new_set;
-    new_set_ptr = &new_set.sigset64;
-  }
-
-  SigSetConverter old_set;
-  if (sigprocmask64(how, new_set_ptr, &old_set.sigset64) == -1) {
-    return -1;
-  }
-
-  if (bionic_old_set != nullptr) {
-    *bionic_old_set = old_set.sigset;
-  }
-
-  return 0;
-}
-
 int sigprocmask64(int how,
                   const sigset64_t* new_set,
                   sigset64_t* old_set) __attribute__((__noinline__)) {
@@ -81,3 +58,21 @@
   }
   return __rt_sigprocmask(how, mutable_new_set_ptr, old_set, sizeof(*new_set));
 }
+
+#if defined(__LP64__)
+// For LP64, `sigset64_t` and `sigset_t` are the same.
+__strong_alias(sigprocmask, sigprocmask64);
+#else
+// ILP32 needs a shim.
+int sigprocmask(int how,
+                const sigset_t* bionic_new_set,
+                sigset_t* bionic_old_set) __attribute__((__noinline__)) {
+  SigSetConverter new_set{bionic_new_set};
+  SigSetConverter old_set{bionic_old_set};
+  int rc = sigprocmask64(how, new_set.ptr, old_set.ptr);
+  if (rc == 0 && bionic_old_set != nullptr) {
+    old_set.copy_out();
+  }
+  return rc;
+}
+#endif
diff --git a/libc/bionic/spawn.cpp b/libc/bionic/spawn.cpp
index 5d76f77..d97057f 100644
--- a/libc/bionic/spawn.cpp
+++ b/libc/bionic/spawn.cpp
@@ -41,7 +41,6 @@
 #include <android/fdsan.h>
 
 #include "private/ScopedSignalBlocker.h"
-#include "private/SigSetConverter.h"
 
 static int set_cloexec(int i) {
   int v = fcntl(i, F_GETFD);
@@ -131,8 +130,10 @@
   pid_t pgroup;
   sched_param schedparam;
   int schedpolicy;
-  SigSetConverter sigmask;
-  SigSetConverter sigdefault;
+  union {
+    sigset_t sigset;
+    sigset64_t sigset64;
+  } sigmask, sigdefault;
 };
 
 static void ApplyAttrs(short flags, const posix_spawnattr_t* attr) {
@@ -185,8 +186,8 @@
                        char* const argv[],
                        char* const env[],
                        int exec_fn(const char* path, char* const argv[], char* const env[])) {
-  // See http://man7.org/linux/man-pages/man3/posix_spawn.3.html
-  // and http://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_spawn.html
+  // See https://man7.org/linux/man-pages/man3/posix_spawn.3.html
+  // and https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/functions/posix_spawn.html
 
   ScopedSignalBlocker ssb;
 
diff --git a/libc/bionic/stdlib_l.cpp b/libc/bionic/stdlib_l.cpp
index 18e9f86..58a9079 100644
--- a/libc/bionic/stdlib_l.cpp
+++ b/libc/bionic/stdlib_l.cpp
@@ -26,34 +26,11 @@
  * SUCH DAMAGE.
  */
 
+#define __BIONIC_STDLIB_INLINE /* Out of line. */
 #include <stdlib.h>
-#include <xlocale.h>
+#include <bits/stdlib_inlines.h>
 
-double strtod_l(const char* s, char** end_ptr, locale_t) {
-  return strtod(s, end_ptr);
-}
-
-float strtof_l(const char* s, char** end_ptr, locale_t) {
-  return strtof(s, end_ptr);
-}
-
-long strtol_l(const char* s, char** end_ptr, int base, locale_t) {
-  return strtol(s, end_ptr, base);
-}
-
+// strtold_l was introduced in API level 21, so it isn't polyfilled any more.
 long double strtold_l(const char* s, char** end_ptr, locale_t) {
   return strtold(s, end_ptr);
 }
-
-long long strtoll_l(const char* s, char** end_ptr, int base, locale_t) {
-  return strtoll(s, end_ptr, base);
-}
-
-unsigned long strtoul_l(const char* s, char** end_ptr, int base, locale_t) {
-  return strtoul(s, end_ptr, base);
-}
-
-unsigned long long strtoull_l(const char* s, char** end_ptr, int base, locale_t) {
-  return strtoull(s, end_ptr, base);
-}
-
diff --git a/libc/bionic/strerror.cpp b/libc/bionic/strerror.cpp
index 0deb200..c41b547 100644
--- a/libc/bionic/strerror.cpp
+++ b/libc/bionic/strerror.cpp
@@ -26,8 +26,8 @@
  * SUCH DAMAGE.
  */
 
-// G++ automatically defines _GNU_SOURCE, which then means that <string.h>
-// gives us the GNU variant.
+// -std=gnu++XX automatically defines _GNU_SOURCE, which then means that <string.h>
+// gives us the GNU variant, which is not what we're defining here.
 #undef _GNU_SOURCE
 
 #include <string.h>
@@ -43,146 +43,28 @@
 
 #include "bionic/pthread_internal.h"
 
-static const char* __sys_error_strings[] = {
-    [0] = "Success",
-    [EPERM] = "Operation not permitted",
-    [ENOENT] = "No such file or directory",
-    [ESRCH] = "No such process",
-    [EINTR] = "Interrupted system call",
-    [EIO] = "I/O error",
-    [ENXIO] = "No such device or address",
-    [E2BIG] = "Argument list too long",
-    [ENOEXEC] = "Exec format error",
-    [EBADF] = "Bad file descriptor",
-    [ECHILD] = "No child processes",
-    [EAGAIN] = "Try again",
-    [ENOMEM] = "Out of memory",
-    [EACCES] = "Permission denied",
-    [EFAULT] = "Bad address",
-    [ENOTBLK] = "Block device required",
-    [EBUSY] = "Device or resource busy",
-    [EEXIST] = "File exists",
-    [EXDEV] = "Cross-device link",
-    [ENODEV] = "No such device",
-    [ENOTDIR] = "Not a directory",
-    [EISDIR] = "Is a directory",
-    [EINVAL] = "Invalid argument",
-    [ENFILE] = "File table overflow",
-    [EMFILE] = "Too many open files",
-    [ENOTTY] = "Inappropriate ioctl for device",
-    [ETXTBSY] = "Text file busy",
-    [EFBIG] = "File too large",
-    [ENOSPC] = "No space left on device",
-    [ESPIPE] = "Illegal seek",
-    [EROFS] = "Read-only file system",
-    [EMLINK] = "Too many links",
-    [EPIPE] = "Broken pipe",
-    [EDOM] = "Math argument out of domain of func",
-    [ERANGE] = "Math result not representable",
-    [EDEADLK] = "Resource deadlock would occur",
-    [ENAMETOOLONG] = "File name too long",
-    [ENOLCK] = "No record locks available",
-    [ENOSYS] = "Function not implemented",
-    [ENOTEMPTY] = "Directory not empty",
-    [ELOOP] = "Too many symbolic links encountered",
-    [ENOMSG] = "No message of desired type",
-    [EIDRM] = "Identifier removed",
-    [ECHRNG] = "Channel number out of range",
-    [EL2NSYNC] = "Level 2 not synchronized",
-    [EL3HLT] = "Level 3 halted",
-    [EL3RST] = "Level 3 reset",
-    [ELNRNG] = "Link number out of range",
-    [EUNATCH] = "Protocol driver not attached",
-    [ENOCSI] = "No CSI structure available",
-    [EL2HLT] = "Level 2 halted",
-    [EBADE] = "Invalid exchange",
-    [EBADR] = "Invalid request descriptor",
-    [EXFULL] = "Exchange full",
-    [ENOANO] = "No anode",
-    [EBADRQC] = "Invalid request code",
-    [EBADSLT] = "Invalid slot",
-    [EBFONT] = "Bad font file format",
-    [ENOSTR] = "Device not a stream",
-    [ENODATA] = "No data available",
-    [ETIME] = "Timer expired",
-    [ENOSR] = "Out of streams resources",
-    [ENONET] = "Machine is not on the network",
-    [ENOPKG] = "Package not installed",
-    [EREMOTE] = "Object is remote",
-    [ENOLINK] = "Link has been severed",
-    [EADV] = "Advertise error",
-    [ESRMNT] = "Srmount error",
-    [ECOMM] = "Communication error on send",
-    [EPROTO] = "Protocol error",
-    [EMULTIHOP] = "Multihop attempted",
-    [EDOTDOT] = "RFS specific error",
-    [EBADMSG] = "Not a data message",
-    [EOVERFLOW] = "Value too large for defined data type",
-    [ENOTUNIQ] = "Name not unique on network",
-    [EBADFD] = "File descriptor in bad state",
-    [EREMCHG] = "Remote address changed",
-    [ELIBACC] = "Can not access a needed shared library",
-    [ELIBBAD] = "Accessing a corrupted shared library",
-    [ELIBSCN] = ".lib section in a.out corrupted",
-    [ELIBMAX] = "Attempting to link in too many shared libraries",
-    [ELIBEXEC] = "Cannot exec a shared library directly",
-    [EILSEQ] = "Illegal byte sequence",
-    [ERESTART] = "Interrupted system call should be restarted",
-    [ESTRPIPE] = "Streams pipe error",
-    [EUSERS] = "Too many users",
-    [ENOTSOCK] = "Socket operation on non-socket",
-    [EDESTADDRREQ] = "Destination address required",
-    [EMSGSIZE] = "Message too long",
-    [EPROTOTYPE] = "Protocol wrong type for socket",
-    [ENOPROTOOPT] = "Protocol not available",
-    [EPROTONOSUPPORT] = "Protocol not supported",
-    [ESOCKTNOSUPPORT] = "Socket type not supported",
-    [EOPNOTSUPP] = "Operation not supported on transport endpoint",
-    [EPFNOSUPPORT] = "Protocol family not supported",
-    [EAFNOSUPPORT] = "Address family not supported by protocol",
-    [EADDRINUSE] = "Address already in use",
-    [EADDRNOTAVAIL] = "Cannot assign requested address",
-    [ENETDOWN] = "Network is down",
-    [ENETUNREACH] = "Network is unreachable",
-    [ENETRESET] = "Network dropped connection because of reset",
-    [ECONNABORTED] = "Software caused connection abort",
-    [ECONNRESET] = "Connection reset by peer",
-    [ENOBUFS] = "No buffer space available",
-    [EISCONN] = "Transport endpoint is already connected",
-    [ENOTCONN] = "Transport endpoint is not connected",
-    [ESHUTDOWN] = "Cannot send after transport endpoint shutdown",
-    [ETOOMANYREFS] = "Too many references: cannot splice",
-    [ETIMEDOUT] = "Connection timed out",
-    [ECONNREFUSED] = "Connection refused",
-    [EHOSTDOWN] = "Host is down",
-    [EHOSTUNREACH] = "No route to host",
-    [EALREADY] = "Operation already in progress",
-    [EINPROGRESS] = "Operation now in progress",
-    [ESTALE] = "Stale NFS file handle",
-    [EUCLEAN] = "Structure needs cleaning",
-    [ENOTNAM] = "Not a XENIX named type file",
-    [ENAVAIL] = "No XENIX semaphores available",
-    [EISNAM] = "Is a named type file",
-    [EREMOTEIO] = "Remote I/O error",
-    [EDQUOT] = "Quota exceeded",
-    [ENOMEDIUM] = "No medium found",
-    [EMEDIUMTYPE] = "Wrong medium type",
-    [ECANCELED] = "Operation Canceled",
-    [ENOKEY] = "Required key not available",
-    [EKEYEXPIRED] = "Key has expired",
-    [EKEYREVOKED] = "Key has been revoked",
-    [EKEYREJECTED] = "Key was rejected by service",
-    [EOWNERDEAD] = "Owner died",
-    [ENOTRECOVERABLE] = "State not recoverable",
-    [ERFKILL] = "Operation not possible due to RF-kill",
-    [EHWPOISON] = "Memory page has hardware error",
+static const char* __sys_error_descriptions[] = {
+#define __BIONIC_ERRDEF(error_number, error_description) [error_number] = error_description,
+#include "private/bionic_errdefs.h"
 };
 
-static inline const char* __strerror_lookup(int error_number) {
-  if (error_number < 0 || error_number >= static_cast<int>(arraysize(__sys_error_strings))) {
+static const char* __sys_error_names[] = {
+#define __BIONIC_ERRDEF(error_number, error_description) [error_number] = #error_number,
+#include "private/bionic_errdefs.h"
+};
+
+extern "C" const char* strerrorname_np(int error_number) {
+  if (error_number < 0 || error_number >= static_cast<int>(arraysize(__sys_error_names))) {
     return nullptr;
   }
-  return __sys_error_strings[error_number];
+  return __sys_error_names[error_number];
+}
+
+static inline const char* __strerror_lookup(int error_number) {
+  if (error_number < 0 || error_number >= static_cast<int>(arraysize(__sys_error_descriptions))) {
+    return nullptr;
+  }
+  return __sys_error_descriptions[error_number];
 }
 
 int strerror_r(int error_number, char* buf, size_t buf_len) {
@@ -220,3 +102,4 @@
   strerror_r(error_number, result, sizeof(tls.strerror_buf));
   return result;
 }
+__strong_alias(strerror_l, strerror);
diff --git a/libc/bionic/string_l.cpp b/libc/bionic/string_l.cpp
index 66bfb0e..84396bf 100644
--- a/libc/bionic/string_l.cpp
+++ b/libc/bionic/string_l.cpp
@@ -33,10 +33,6 @@
   return strcoll(s1, s2);
 }
 
-char* strerror_l(int error, locale_t) {
-  return strerror(error);
-}
-
 size_t strxfrm_l(char* dst, const char* src, size_t n, locale_t) {
   return strxfrm(dst, src, n);
 }
diff --git a/libc/bionic/strnlen.c b/libc/bionic/strnlen.cpp
similarity index 89%
rename from libc/bionic/strnlen.c
rename to libc/bionic/strnlen.cpp
index 2c6f60a..7101b21 100644
--- a/libc/bionic/strnlen.c
+++ b/libc/bionic/strnlen.cpp
@@ -25,14 +25,10 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
+
 #include <string.h>
 
-size_t  strnlen(const char*  str, size_t  maxlen)
-{
-    char*  p = memchr(str, 0, maxlen);
-
-    if (p == NULL)
-        return maxlen;
-    else
-        return (p - str);
+size_t strnlen(const char* s, size_t n) {
+  const char* p = static_cast<const char*>(memchr(s, 0, n));
+  return p ? (p - s) : n;
 }
diff --git a/libc/bionic/strsignal.cpp b/libc/bionic/strsignal.cpp
index 05d3498..29c22e2 100644
--- a/libc/bionic/strsignal.cpp
+++ b/libc/bionic/strsignal.cpp
@@ -27,29 +27,29 @@
  */
 
 #include <signal.h>
+#include <stdlib.h>
 #include <string.h>
 
 #include "bionic/pthread_internal.h"
 
+// Maps regular signals like SIGSEGV to strings like "Segmentation fault".
+// Signal 0 and all the real-time signals are just nullptr, but that's the ABI.
 const char* const sys_siglist[NSIG] = {
-#define __BIONIC_SIGDEF(signal_number, signal_description) [ signal_number ] = signal_description,
+#define __BIONIC_SIGDEF(signal_number, signal_description) [signal_number] = signal_description,
 #include "private/bionic_sigdefs.h"
 };
 
+// Maps regular signals like SIGSEGV to strings like "SEGV".
+// Signal 0 and all the real-time signals are just nullptr, but that's the ABI.
 const char* const sys_signame[NSIG] = {
-#define __BIONIC_SIGDEF(signal_number, unused) [ signal_number ] = &(#signal_number)[3],
+#define __BIONIC_SIGDEF(signal_number, unused) [signal_number] = &(#signal_number)[3],
 #include "private/bionic_sigdefs.h"
 };
 
 extern "C" __LIBC_HIDDEN__ const char* __strsignal(int signal_number, char* buf, size_t buf_len) {
-  const char* signal_name = nullptr;
-  if (signal_number >= 0 && signal_number < NSIG) {
-    signal_name = sys_siglist[signal_number];
+  if (signal_number >= SIGHUP && signal_number < SIGSYS) {
+    return sys_siglist[signal_number];
   }
-  if (signal_name != nullptr) {
-    return signal_name;
-  }
-
   const char* prefix = "Unknown";
   if (signal_number >= SIGRTMIN && signal_number <= SIGRTMAX) {
     prefix = "Real-time";
@@ -66,3 +66,72 @@
   bionic_tls& tls = __get_bionic_tls();
   return const_cast<char*>(__strsignal(signal_number, tls.strsignal_buf, sizeof(tls.strsignal_buf)));
 }
+
+int sig2str(int sig, char* str) {
+  if (sig >= SIGHUP && sig <= SIGSYS) {
+    strcpy(str, sys_signame[sig]);
+    return 0;
+  }
+  if (sig == SIGRTMIN) {
+    strcpy(str, "RTMIN");
+    return 0;
+  }
+  if (sig == SIGRTMAX) {
+    strcpy(str, "RTMAX");
+    return 0;
+  }
+  if (sig > SIGRTMIN && sig < SIGRTMAX) {
+    if (sig - SIGRTMIN <= SIGRTMAX - sig) {
+      sprintf(str, "RTMIN+%d", sig - SIGRTMIN);
+    } else {
+      sprintf(str, "RTMAX-%d", SIGRTMAX - sig);
+    }
+    return 0;
+  }
+  return -1;
+}
+
+int str2sig(const char* str, int* sig) {
+  // A name in our list, like "SEGV"?
+  for (size_t i = SIGHUP; i <= SIGSYS; ++i) {
+    if (!strcmp(str, sys_signame[i])) {
+      *sig = i;
+      return 0;
+    }
+  }
+
+  // The two named special cases?
+  if (!strcmp(str, "RTMIN")) {
+    *sig = SIGRTMIN;
+    return 0;
+  }
+  if (!strcmp(str, "RTMAX")) {
+    *sig = SIGRTMAX;
+    return 0;
+  }
+
+  // Must be either an integer corresponding to a regular signal such as "9",
+  // or a string of the form "RTMIN+%d" or "RTMAX-%d".
+  int base = 0;
+  if (!strncmp(str, "RTMIN+", 6)) {
+    base = SIGRTMIN;
+    str += 5;
+  } else if (!strncmp(str, "RTMAX-", 6)) {
+    base = SIGRTMAX;
+    str += 5;
+  }
+  char* end = nullptr;
+  errno = 0;
+  int offset = strtol(str, &end, 10);
+  if (errno || *end) return -1;
+
+  // Reject out of range integers (like "666"),
+  // and out of range real-time signals (like "RTMIN+666" or "RTMAX-666").
+  int result = base + offset;
+  bool regular = (base == 0 && result >= SIGHUP && result <= SIGSYS);
+  bool realtime = (result >= SIGRTMIN && result <= SIGRTMAX);
+  if (!regular && !realtime) return -1;
+
+  *sig = result;
+  return 0;
+}
diff --git a/libc/bionic/strtol.cpp b/libc/bionic/strtol.cpp
index 05b4b53..607145d 100644
--- a/libc/bionic/strtol.cpp
+++ b/libc/bionic/strtol.cpp
@@ -35,141 +35,88 @@
 #include <wchar.h>
 
 template <typename T, T Min, T Max, typename CharT>
-T StrToI(const CharT* nptr, CharT** endptr, int base) {
+__attribute__((always_inline)) T StrToI(const CharT* s, CharT** end_ptr, int base) {
   // Ensure that base is between 2 and 36 inclusive, or the special value of 0.
   if (base < 0 || base == 1 || base > 36) {
-    if (endptr != nullptr) *endptr = const_cast<CharT*>(nptr);
+    if (end_ptr != nullptr) *end_ptr = const_cast<CharT*>(s);
     errno = EINVAL;
     return 0;
   }
 
   // Skip white space and pick up leading +/- sign if any.
-  // If base is 0, allow 0x for hex and 0 for octal, else
-  // assume decimal; if base is already 16, allow 0x.
-  const CharT* s = nptr;
+  const CharT* p = s;
   int c;
-  do {
-    c = *s++;
-  } while (isspace(c));
-  int neg;
-  if (c == '-') {
-    neg = 1;
-    c = *s++;
-  } else {
-    neg = 0;
-    if (c == '+') c = *s++;
+  while (isspace(c = *p++)) {
   }
-  if ((base == 0 || base == 16) && c == '0' && (*s == 'x' || *s == 'X') && isxdigit(s[1])) {
-    c = s[1];
-    s += 2;
+  bool neg = false;
+  if (c == '-') {
+    neg = true;
+    c = *p++;
+  } else if (c == '+') {
+    c = *p++;
+  }
+
+  // If base is 0 or 16, allow "0x" prefix for hex.
+  if ((base == 0 || base == 16) && c == '0' && (*p == 'x' || *p == 'X') && isxdigit(p[1])) {
+    c = p[1];
+    p += 2;
     base = 16;
   }
-  if ((base == 0 || base == 2) && c == '0' && (*s == 'b' || *s == 'B') && isdigit(s[1])) {
-    c = s[1];
-    s += 2;
+  // If base is 0 or 2, allow "0b" prefix for binary.
+  if ((base == 0 || base == 2) && c == '0' && (*p == 'b' || *p == 'B') && isdigit(p[1])) {
+    c = p[1];
+    p += 2;
     base = 2;
   }
+  // If base is 0, allow "0" prefix for octal, otherwise base is 10.
   if (base == 0) base = (c == '0') ? 8 : 10;
 
-  // We always work in the negative space because the most negative value has a
-  // larger magnitude than the most positive value.
-  T cutoff = Min / base;
-  int cutlim = -(Min % base);
+  constexpr bool is_signed = (Min != 0);
+  T acc = 0;
   // Non-zero if any digits consumed; negative to indicate overflow/underflow.
   int any = 0;
-  T acc = 0;
-  for (; ; c = *s++) {
+  for (;; c = *p++) {
     if (isdigit(c)) {
       c -= '0';
     } else if (isalpha(c)) {
-      c -= isupper(c) ? 'A' - 10 : 'a' - 10;
+      c = 10 + (_tolower(c) - 'a');
     } else {
       break;
     }
     if (c >= base) break;
     if (any < 0) continue;
-    if (acc < cutoff || (acc == cutoff && c > cutlim)) {
-      any = -1;
-      acc = Min;
-      errno = ERANGE;
+    if (is_signed) {
+      // We work in the negative space because the most negative value has a
+      // larger magnitude than the most positive value.
+      if (__builtin_mul_overflow(acc, base, &acc) || __builtin_sub_overflow(acc, c, &acc)) {
+        any = -1;
+        continue;
+      }
     } else {
-      any = 1;
-      acc *= base;
-      acc -= c;
+      if (__builtin_mul_overflow(acc, base, &acc) || __builtin_add_overflow(acc, c, &acc)) {
+        any = -1;
+        continue;
+      }
     }
-  }
-  if (endptr != nullptr) *endptr = const_cast<CharT*>(any ? s - 1 : nptr);
-  if (!neg) {
-    if (acc == Min) {
-      errno = ERANGE;
-      acc = Max;
-    } else {
-      acc = -acc;
-    }
-  }
-  return acc;
-}
-
-template <typename T, T Max, typename CharT>
-T StrToU(const CharT* nptr, CharT** endptr, int base) {
-  if (base < 0 || base == 1 || base > 36) {
-    if (endptr != nullptr) *endptr = const_cast<CharT*>(nptr);
-    errno = EINVAL;
-    return 0;
+    any = 1;
   }
 
-  const CharT* s = nptr;
-  int c;
-  do {
-    c = *s++;
-  } while (isspace(c));
-  int neg;
-  if (c == '-') {
-    neg = 1;
-    c = *s++;
-  } else {
-    neg = 0;
-    if (c == '+') c = *s++;
-  }
-  if ((base == 0 || base == 16) && c == '0' && (*s == 'x' || *s == 'X') && isxdigit(s[1])) {
-    c = s[1];
-    s += 2;
-    base = 16;
-  }
-  if ((base == 0 || base == 2) && c == '0' && (*s == 'b' || *s == 'B') && isdigit(s[1])) {
-    c = s[1];
-    s += 2;
-    base = 2;
-  }
-  if (base == 0) base = (c == '0') ? 8 : 10;
+  if (end_ptr != nullptr) *end_ptr = const_cast<CharT*>(any ? p - 1 : s);
 
-  T cutoff = Max / static_cast<T>(base);
-  int cutlim = Max % static_cast<T>(base);
-  T acc = 0;
-  int any = 0;
-  for (; ; c = *s++) {
-    if (isdigit(c)) {
-      c -= '0';
-    } else if (isalpha(c)) {
-      c -= isupper(c) ? 'A' - 10 : 'a' - 10;
-    } else {
-      break;
-    }
-    if (c >= base) break;
-    if (any < 0) continue;
-    if (acc > cutoff || (acc == cutoff && c > cutlim)) {
-      any = -1;
-      acc = Max;
-      errno = ERANGE;
-    } else {
-      any = 1;
-      acc *= base;
-      acc += c;
-    }
+  // Detected overflow/underflow in the loop?
+  if (any == -1) {
+    errno = ERANGE;
+    return (is_signed && neg) ? Min : Max;
   }
-  if (neg && any > 0) acc = -acc;
-  if (endptr != nullptr) *endptr = const_cast<CharT*>(any ? s - 1 : nptr);
-  return acc;
+
+  // Will we overflow by trying to negate the most negative value?
+  if (any > 0 && is_signed && !neg && acc == Min) {
+    errno = ERANGE;
+    return Max;
+  }
+
+  if (is_signed) return neg ? acc : -acc;
+  return neg ? -acc : acc;
 }
 
 int atoi(const char* s) {
@@ -195,39 +142,47 @@
 long strtol(const char* s, char** end, int base) {
   return StrToI<long, LONG_MIN, LONG_MAX, char>(s, end, base);
 }
+__strong_alias(strtol_l, strtol);
 
 long wcstol(const wchar_t* s, wchar_t** end, int base) {
   return StrToI<long, LONG_MIN, LONG_MAX, wchar_t>(s, end, base);
 }
+__strong_alias(wcstol_l, wcstol);
 
 long long strtoll(const char* s, char** end, int base) {
   return StrToI<long long, LLONG_MIN, LLONG_MAX, char>(s, end, base);
 }
+__strong_alias(strtoll_l, strtoll);
 
 long long wcstoll(const wchar_t* s, wchar_t** end, int base) {
   return StrToI<long long, LLONG_MIN, LLONG_MAX, wchar_t>(s, end, base);
 }
+__strong_alias(wcstoll_l, wcstoll);
 
 unsigned long strtoul(const char* s, char** end, int base) {
-  return StrToU<unsigned long, ULONG_MAX, char>(s, end, base);
+  return StrToI<unsigned long, 0, ULONG_MAX, char>(s, end, base);
 }
+__strong_alias(strtoul_l, strtoul);
 
 unsigned long wcstoul(const wchar_t* s, wchar_t** end, int base) {
-  return StrToU<unsigned long, ULONG_MAX, wchar_t>(s, end, base);
+  return StrToI<unsigned long, 0, ULONG_MAX, wchar_t>(s, end, base);
 }
+__strong_alias(wcstoul_l, wcstoul);
 
 unsigned long long strtoull(const char* s, char** end, int base) {
-  return StrToU<unsigned long long, ULLONG_MAX, char>(s, end, base);
+  return StrToI<unsigned long long, 0, ULLONG_MAX, char>(s, end, base);
 }
+__strong_alias(strtoull_l, strtoull);
 
 unsigned long long wcstoull(const wchar_t* s, wchar_t** end, int base) {
-  return StrToU<unsigned long long, ULLONG_MAX, wchar_t>(s, end, base);
+  return StrToI<unsigned long long, 0, ULLONG_MAX, wchar_t>(s, end, base);
 }
+__strong_alias(wcstoull_l, wcstoull);
 
 uintmax_t strtoumax(const char* s, char** end, int base) {
-  return StrToU<uintmax_t, UINTMAX_MAX, char>(s, end, base);
+  return StrToI<uintmax_t, 0, UINTMAX_MAX, char>(s, end, base);
 }
 
 uintmax_t wcstoumax(const wchar_t* s, wchar_t** end, int base) {
-  return StrToU<uintmax_t, UINTMAX_MAX, wchar_t>(s, end, base);
+  return StrToI<uintmax_t, 0, UINTMAX_MAX, wchar_t>(s, end, base);
 }
diff --git a/libc/bionic/strtold.cpp b/libc/bionic/strtold.cpp
index 6b673e6..c55dd61 100644
--- a/libc/bionic/strtold.cpp
+++ b/libc/bionic/strtold.cpp
@@ -26,8 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#define __BIONIC_LP32_USE_LONG_DOUBLE
-
 #include <float.h>
 #include <stdlib.h>
 
diff --git a/libc/bionic/sync_file_range.cpp b/libc/bionic/sync_file_range.cpp
index 7f60882..e7b904d 100644
--- a/libc/bionic/sync_file_range.cpp
+++ b/libc/bionic/sync_file_range.cpp
@@ -28,13 +28,12 @@
 
 #include <fcntl.h>
 
-extern "C" int __sync_file_range(int, off64_t, off64_t, unsigned int);
-extern "C" int __sync_file_range2(int, unsigned int, off64_t, off64_t);
-
-int sync_file_range(int fd, off64_t offset, off64_t length, unsigned int flags) {
 #if __arm__
+// Only arm32 is missing the sync_file_range() syscall,
+// and needs us to manually re-order arguments for it.
+// (Because arm32 needs register pairs for 64-bit values to start on an even register.)
+extern "C" int __sync_file_range2(int, unsigned int, off64_t, off64_t);
+int sync_file_range(int fd, off64_t offset, off64_t length, unsigned int flags) {
   return __sync_file_range2(fd, flags, offset, length);
-#else
-  return __sync_file_range(fd, offset, length, flags);
-#endif
 }
+#endif
diff --git a/libc/bionic/sys_epoll.cpp b/libc/bionic/sys_epoll.cpp
index 22d0a98..be97818 100644
--- a/libc/bionic/sys_epoll.cpp
+++ b/libc/bionic/sys_epoll.cpp
@@ -34,6 +34,8 @@
 
 extern "C" int __epoll_create1(int flags);
 extern "C" int __epoll_pwait(int, epoll_event*, int, int, const sigset64_t*, size_t);
+extern "C" int __epoll_pwait2(int, epoll_event*, int, const __kernel_timespec*, const sigset64_t*,
+                              size_t);
 
 int epoll_create(int size) {
   if (size <= 0) {
@@ -48,20 +50,39 @@
 }
 
 int epoll_pwait(int fd, epoll_event* events, int max_events, int timeout, const sigset_t* ss) {
-  SigSetConverter set;
-  sigset64_t* ss_ptr = nullptr;
-  if (ss != nullptr) {
-    set = {};
-    set.sigset = *ss;
-    ss_ptr = &set.sigset64;
-  }
-  return epoll_pwait64(fd, events, max_events, timeout, ss_ptr);
+  SigSetConverter set{ss};
+  return epoll_pwait64(fd, events, max_events, timeout, set.ptr);
 }
 
 int epoll_pwait64(int fd, epoll_event* events, int max_events, int timeout, const sigset64_t* ss) {
   return __epoll_pwait(fd, events, max_events, timeout, ss, sizeof(*ss));
 }
 
+int epoll_pwait2(int fd, epoll_event* events, int max_events, const timespec* timeout,
+                 const sigset_t* ss) {
+  SigSetConverter set{ss};
+  return epoll_pwait2_64(fd, events, max_events, timeout, set.ptr);
+}
+
+int epoll_pwait2_64(int fd, epoll_event* events, int max_events, const timespec* timeout,
+                    const sigset64_t* ss) {
+  // epoll_pwait2() is our first syscall that assumes a 64-bit time_t even for
+  // 32-bit processes, so for ILP32 we need to convert.
+  // TODO: factor this out into a TimeSpecConverter as/when we get more syscalls like this.
+#if __LP64__
+  const __kernel_timespec* kts_ptr = reinterpret_cast<const __kernel_timespec*>(timeout);
+#else
+  __kernel_timespec kts;
+  const __kernel_timespec* kts_ptr = nullptr;
+  if (timeout) {
+    kts.tv_sec = timeout->tv_sec;
+    kts.tv_nsec = timeout->tv_nsec;
+    kts_ptr = &kts;
+  }
+#endif
+  return __epoll_pwait2(fd, events, max_events, kts_ptr, ss, sizeof(*ss));
+}
+
 int epoll_wait(int fd, struct epoll_event* events, int max_events, int timeout) {
   return epoll_pwait64(fd, events, max_events, timeout, nullptr);
 }
diff --git a/libc/bionic/sys_msg.cpp b/libc/bionic/sys_msg.cpp
index 462c83b..9780d38 100644
--- a/libc/bionic/sys_msg.cpp
+++ b/libc/bionic/sys_msg.cpp
@@ -36,33 +36,17 @@
   // Annoyingly, the kernel requires this for 32-bit but rejects it for 64-bit.
   cmd |= IPC_64;
 #endif
-#if defined(SYS_msgctl)
   return syscall(SYS_msgctl, id, cmd, buf);
-#else
-  return syscall(SYS_ipc, MSGCTL, id, cmd, 0, buf, 0);
-#endif
 }
 
 int msgget(key_t key, int flags) {
-#if defined(SYS_msgget)
   return syscall(SYS_msgget, key, flags);
-#else
-  return syscall(SYS_ipc, MSGGET, key, flags, 0, 0, 0);
-#endif
 }
 
 ssize_t msgrcv(int id, void* msg, size_t n, long type, int flags) {
-#if defined(SYS_msgrcv)
   return syscall(SYS_msgrcv, id, msg, n, type, flags);
-#else
-  return syscall(SYS_ipc, IPCCALL(1, MSGRCV), id, n, flags, msg, type);
-#endif
 }
 
 int msgsnd(int id, const void* msg, size_t n, int flags) {
-#if defined(SYS_msgsnd)
   return syscall(SYS_msgsnd, id, msg, n, flags);
-#else
-  return syscall(SYS_ipc, MSGSND, id, n, flags, msg, 0);
-#endif
 }
diff --git a/libc/bionic/sys_sem.cpp b/libc/bionic/sys_sem.cpp
index 058cfef..b97bf46 100644
--- a/libc/bionic/sys_sem.cpp
+++ b/libc/bionic/sys_sem.cpp
@@ -41,19 +41,11 @@
   va_start(ap, cmd);
   semun arg = va_arg(ap, semun);
   va_end(ap);
-#if defined(SYS_semctl)
   return syscall(SYS_semctl, id, num, cmd, arg);
-#else
-  return syscall(SYS_ipc, SEMCTL, id, num, cmd, &arg, 0);
-#endif
 }
 
 int semget(key_t key, int n, int flags) {
-#if defined(SYS_semget)
   return syscall(SYS_semget, key, n, flags);
-#else
-  return syscall(SYS_ipc, SEMGET, key, n, flags, 0, 0);
-#endif
 }
 
 int semop(int id, sembuf* ops, size_t op_count) {
@@ -64,6 +56,9 @@
 #if defined(SYS_semtimedop)
   return syscall(SYS_semtimedop, id, ops, op_count, ts);
 #else
+  // 32-bit x86 -- the only architecture without semtimedop(2) -- only has
+  // semtimedop_time64(2), but since we don't have any timespec64 stuff,
+  // it's less painful for us to just stick with the legacy ipc(2) here.
   return syscall(SYS_ipc, SEMTIMEDOP, id, op_count, 0, ops, ts);
 #endif
 }
diff --git a/libc/bionic/sys_shm.cpp b/libc/bionic/sys_shm.cpp
index f780e04..777b3ad 100644
--- a/libc/bionic/sys_shm.cpp
+++ b/libc/bionic/sys_shm.cpp
@@ -32,16 +32,7 @@
 #include <unistd.h>
 
 void* shmat(int id, const void* address, int flags) {
-#if defined(SYS_shmat)
   return reinterpret_cast<void*>(syscall(SYS_shmat, id, address, flags));
-#else
-  // See the kernel's ipc/syscall.c for the other side of this dance.
-  void* result = nullptr;
-  if (syscall(SYS_ipc, SHMAT, id, flags, &result, address, 0) == -1) {
-    return reinterpret_cast<void*>(-1);
-  }
-  return result;
-#endif
 }
 
 int shmctl(int id, int cmd, struct shmid_ds* buf) {
@@ -49,25 +40,13 @@
   // Annoyingly, the kernel requires this for 32-bit but rejects it for 64-bit.
   cmd |= IPC_64;
 #endif
-#if defined(SYS_shmctl)
   return syscall(SYS_shmctl, id, cmd, buf);
-#else
-  return syscall(SYS_ipc, SHMCTL, id, cmd, 0, buf, 0);
-#endif
 }
 
 int shmdt(const void* address) {
-#if defined(SYS_shmdt)
   return syscall(SYS_shmdt, address);
-#else
-  return syscall(SYS_ipc, SHMDT, 0, 0, 0, address, 0);
-#endif
 }
 
 int shmget(key_t key, size_t size, int flags) {
-#if defined(SYS_shmget)
   return syscall(SYS_shmget, key, size, flags);
-#else
-  return syscall(SYS_ipc, SHMGET, key, size, flags, 0, 0);
-#endif
 }
diff --git a/libc/bionic/sys_signalfd.cpp b/libc/bionic/sys_signalfd.cpp
index 53d1f25..1e62cf4 100644
--- a/libc/bionic/sys_signalfd.cpp
+++ b/libc/bionic/sys_signalfd.cpp
@@ -32,12 +32,12 @@
 
 extern "C" int __signalfd4(int, const sigset64_t*, size_t, int);
 
-int signalfd(int fd, const sigset_t* mask, int flags) {
-  SigSetConverter set = {};
-  set.sigset = *mask;
-  return signalfd64(fd, &set.sigset64, flags);
-}
-
 int signalfd64(int fd, const sigset64_t* mask, int flags) {
   return __signalfd4(fd, mask, sizeof(*mask), flags);
 }
+
+int signalfd(int fd, const sigset_t* mask, int flags) {
+  // The underlying `__signalfd4` system call only takes `sigset64_t`.
+  SigSetConverter set{mask};
+  return signalfd64(fd, set.ptr, flags);
+}
diff --git a/libc/bionic/sys_statvfs.cpp b/libc/bionic/sys_statvfs.cpp
index b3a0aca..3a05c3f 100644
--- a/libc/bionic/sys_statvfs.cpp
+++ b/libc/bionic/sys_statvfs.cpp
@@ -17,7 +17,7 @@
 #include <sys/statfs.h>
 #include <sys/statvfs.h>
 
-static __inline void __bionic_statfs_to_statvfs(const struct statfs* src, struct statvfs* dst) {
+static inline void __bionic_statfs_to_statvfs(const struct statfs* src, struct statvfs* dst) {
   dst->f_bsize = src->f_bsize;
   dst->f_frsize = src->f_frsize;
   dst->f_blocks = src->f_blocks;
diff --git a/libc/bionic/sys_thread_properties.cpp b/libc/bionic/sys_thread_properties.cpp
index d1a73b7..064bca1 100644
--- a/libc/bionic/sys_thread_properties.cpp
+++ b/libc/bionic/sys_thread_properties.cpp
@@ -61,7 +61,7 @@
   if (modules.first_thread_exit_callback == nullptr) {
     modules.first_thread_exit_callback = cb;
     return;
-  };
+  }
 
   BionicAllocator& allocator = __libc_shared_globals()->tls_allocator;
   CallbackHolder* new_node =
@@ -77,35 +77,9 @@
 
   // Find the thread-pointer register for the given thread.
   void** tp_reg = nullptr;
-#if defined(__x86_64__)
-  {
-    ErrnoRestorer errno_restorer;
-    errno = 0;
-    uintptr_t fs_base = ptrace(PTRACE_PEEKUSER, tid, offsetof(user_regs_struct, fs_base), nullptr);
-    if (errno == 0) {
-      tp_reg = reinterpret_cast<void**>(fs_base);
-    }
-  }
-#elif defined(__i386__)
-  struct user_regs_struct regs;
-  struct iovec pt_iov = {
-      .iov_base = &regs,
-      .iov_len = sizeof(regs),
-  };
-
-  if (ptrace(PTRACE_GETREGSET, tid, NT_PRSTATUS, &pt_iov) == 0) {
-    struct user_desc u_info;
-    u_info.entry_number = regs.xgs >> 3;
-    if (ptrace(PTRACE_GET_THREAD_AREA, tid, u_info.entry_number, &u_info) == 0) {
-      tp_reg = reinterpret_cast<void**>(u_info.base_addr);
-    }
-  }
-#elif defined(__aarch64__)
+#if defined(__aarch64__)
   uint64_t reg;
-  struct iovec pt_iov {
-    .iov_base = &reg, .iov_len = sizeof(reg),
-  };
-
+  struct iovec pt_iov { .iov_base = &reg, .iov_len = sizeof(reg) };
   if (ptrace(PTRACE_GETREGSET, tid, NT_ARM_TLS, &pt_iov) == 0) {
     tp_reg = reinterpret_cast<void**>(reg);
   }
@@ -114,6 +88,31 @@
     // Reset the tp_reg if ptrace was unsuccessful.
     tp_reg = nullptr;
   }
+#elif defined(__i386__)
+  struct user_regs_struct regs;
+  struct iovec pt_iov = { .iov_base = &regs, .iov_len = sizeof(regs) };
+  if (ptrace(PTRACE_GETREGSET, tid, NT_PRSTATUS, &pt_iov) == 0) {
+    struct user_desc u_info;
+    u_info.entry_number = regs.xgs >> 3;
+    if (ptrace(PTRACE_GET_THREAD_AREA, tid, u_info.entry_number, &u_info) == 0) {
+      tp_reg = reinterpret_cast<void**>(u_info.base_addr);
+    }
+  }
+#elif defined(__riscv)
+  struct user_regs_struct regs;
+  struct iovec pt_iov = { .iov_base = &regs, .iov_len = sizeof(regs) };
+  if (ptrace(PTRACE_GETREGSET, tid, NT_PRSTATUS, &pt_iov) == 0) {
+    tp_reg = reinterpret_cast<void**>(regs.tp);
+  }
+#elif defined(__x86_64__)
+  {
+    ErrnoRestorer errno_restorer;
+    errno = 0;
+    uintptr_t fs_base = ptrace(PTRACE_PEEKUSER, tid, offsetof(user_regs_struct, fs_base), nullptr);
+    if (errno == 0) {
+      tp_reg = reinterpret_cast<void**>(fs_base);
+    }
+  }
 #endif
 
   if (tp_reg == nullptr) {
diff --git a/libc/bionic/sysconf.cpp b/libc/bionic/sysconf.cpp
index 1c06c9e..571370c 100644
--- a/libc/bionic/sysconf.cpp
+++ b/libc/bionic/sysconf.cpp
@@ -38,8 +38,110 @@
 #include <time.h>
 #include <unistd.h>
 
+#include "platform/bionic/page.h"
 #include "private/bionic_tls.h"
 
+struct sysconf_cache {
+  long size, assoc, linesize;
+
+  static sysconf_cache from_size_and_geometry(int size_id, int geometry_id) {
+    sysconf_cache result;
+    result.size = getauxval(size_id);
+    unsigned long geometry = getauxval(geometry_id);
+    result.assoc = geometry >> 16;
+    result.linesize = geometry & 0xffff;
+    return result;
+  }
+};
+
+struct sysconf_caches {
+  sysconf_cache l1_i, l1_d, l2, l3, l4;
+};
+
+#if defined(__riscv)
+
+static sysconf_caches* __sysconf_caches() {
+  static sysconf_caches cached = []{
+    sysconf_caches info = {};
+    // riscv64 kernels conveniently hand us all this information.
+    info.l1_i = sysconf_cache::from_size_and_geometry(AT_L1I_CACHESIZE, AT_L1I_CACHEGEOMETRY);
+    info.l1_d = sysconf_cache::from_size_and_geometry(AT_L1D_CACHESIZE, AT_L1D_CACHEGEOMETRY);
+    info.l2 = sysconf_cache::from_size_and_geometry(AT_L2_CACHESIZE, AT_L2_CACHEGEOMETRY);
+    info.l3 = sysconf_cache::from_size_and_geometry(AT_L3_CACHESIZE, AT_L3_CACHEGEOMETRY);
+    return info;
+  }();
+  return &cached;
+}
+
+#elif defined(__aarch64__)
+
+static sysconf_caches* __sysconf_caches() {
+  static sysconf_caches cached = []{
+    sysconf_caches info = {};
+    // arm64 is especially limited. We can infer the L1 line sizes, but that's it.
+    uint64_t ctr_el0;
+    __asm__ __volatile__("mrs %0, ctr_el0" : "=r"(ctr_el0));
+    info.l1_i.linesize = 4 << (ctr_el0 & 0xf);
+    info.l1_d.linesize = 4 << ((ctr_el0 >> 16) & 0xf);
+    return info;
+  }();
+  return &cached;
+}
+
+#else
+
+static long __sysconf_fread_long(const char* path) {
+  long result = 0;
+  FILE* fp = fopen(path, "re");
+  if (fp != nullptr) {
+    fscanf(fp, "%ld", &result);
+    fclose(fp);
+  }
+  return result;
+}
+
+static sysconf_caches* __sysconf_caches() {
+  static sysconf_caches cached = []{
+    sysconf_caches info = {};
+    char path[64];
+    for (int i = 0; i < 4; i++) {
+      sysconf_cache c;
+
+      snprintf(path, sizeof(path), "/sys/devices/system/cpu/cpu0/cache/index%d/size", i);
+      c.size = __sysconf_fread_long(path) * 1024;
+      if (c.size == 0) break;
+
+      snprintf(path, sizeof(path), "/sys/devices/system/cpu/cpu0/cache/index%d/ways_of_associativity", i);
+      c.assoc = __sysconf_fread_long(path);
+
+      snprintf(path, sizeof(path), "/sys/devices/system/cpu/cpu0/cache/index%d/coherency_line_size", i);
+      c.linesize = __sysconf_fread_long(path);
+
+      snprintf(path, sizeof(path), "/sys/devices/system/cpu/cpu0/cache/index%d/level", i);
+      int level = __sysconf_fread_long(path);
+      if (level == 1) {
+        snprintf(path, sizeof(path), "/sys/devices/system/cpu/cpu0/cache/index%d/type", i);
+        FILE* fp = fopen(path, "re");
+        char type = fgetc(fp);
+        fclose(fp);
+        if (type == 'D') {
+          info.l1_d = c;
+        } else if (type == 'I') {
+          info.l1_i = c;
+        }
+      } else if (level == 2) {
+        info.l2 = c;
+      } else if (level == 3) {
+        info.l3 = c;
+      }
+    }
+    return info;
+  }();
+  return &cached;
+}
+
+#endif
+
 static long __sysconf_rlimit(int resource) {
   rlimit rl;
   getrlimit(resource, &rl);
@@ -80,7 +182,8 @@
 
     case _SC_AVPHYS_PAGES:      return get_avphys_pages();
     case _SC_CHILD_MAX:         return __sysconf_rlimit(RLIMIT_NPROC);
-    case _SC_CLK_TCK:           return static_cast<long>(getauxval(AT_CLKTCK));
+    case _SC_CLK_TCK:
+      return static_cast<long>(getauxval(AT_CLKTCK));
     case _SC_NPROCESSORS_CONF:  return get_nprocs_conf();
     case _SC_NPROCESSORS_ONLN:  return get_nprocs();
     case _SC_OPEN_MAX:          return __sysconf_rlimit(RLIMIT_NOFILE);
@@ -102,7 +205,11 @@
     case _SC_COLL_WEIGHTS_MAX:  return _POSIX2_COLL_WEIGHTS_MAX;  // Minimum requirement.
     case _SC_EXPR_NEST_MAX:     return _POSIX2_EXPR_NEST_MAX;     // Minimum requirement.
     case _SC_LINE_MAX:          return _POSIX2_LINE_MAX;          // Minimum requirement.
-    case _SC_NGROUPS_MAX:       return NGROUPS_MAX;
+    case _SC_NGROUPS_MAX:
+      // Only root can read /proc/sys/kernel/ngroups_max on Android, and groups
+      // are vestigial anyway, so the "maximum maximum" of NGROUPS_MAX is a good
+      // enough answer for _SC_NGROUPS_MAX...
+      return NGROUPS_MAX;
     case _SC_PASS_MAX:          return PASS_MAX;
     case _SC_2_C_BIND:          return _POSIX2_C_BIND;
     case _SC_2_C_DEV:           return _POSIX2_C_DEV;
@@ -133,7 +240,7 @@
     case _SC_AIO_LISTIO_MAX:    return _POSIX_AIO_LISTIO_MAX;     // Minimum requirement.
     case _SC_AIO_MAX:           return _POSIX_AIO_MAX;            // Minimum requirement.
     case _SC_AIO_PRIO_DELTA_MAX:return 0;                         // Minimum requirement.
-    case _SC_DELAYTIMER_MAX:    return INT_MAX;
+    case _SC_DELAYTIMER_MAX:    return _POSIX_DELAYTIMER_MAX;
     case _SC_MQ_OPEN_MAX:       return _POSIX_MQ_OPEN_MAX;        // Minimum requirement.
     case _SC_MQ_PRIO_MAX:       return _POSIX_MQ_PRIO_MAX;        // Minimum requirement.
     case _SC_RTSIG_MAX:         return RTSIG_MAX;
@@ -201,11 +308,11 @@
     case _SC_THREAD_ROBUST_PRIO_PROTECT:  return _POSIX_THREAD_ROBUST_PRIO_PROTECT;
     case _SC_THREAD_SPORADIC_SERVER:      return _POSIX_THREAD_SPORADIC_SERVER;
     case _SC_TIMEOUTS:          return _POSIX_TIMEOUTS;
-    case _SC_TRACE:             return -1;             // Obsolescent in POSIX.1-2008.
-    case _SC_TRACE_EVENT_FILTER:      return -1;       // Obsolescent in POSIX.1-2008.
+    case _SC_TRACE:             return -1;
+    case _SC_TRACE_EVENT_FILTER:      return -1;
     case _SC_TRACE_EVENT_NAME_MAX:    return -1;
-    case _SC_TRACE_INHERIT:     return -1;             // Obsolescent in POSIX.1-2008.
-    case _SC_TRACE_LOG:         return -1;             // Obsolescent in POSIX.1-2008.
+    case _SC_TRACE_INHERIT:     return -1;
+    case _SC_TRACE_LOG:         return -1;
     case _SC_TRACE_NAME_MAX:    return -1;
     case _SC_TRACE_SYS_MAX:     return -1;
     case _SC_TRACE_USER_EVENT_MAX:    return -1;
@@ -214,26 +321,24 @@
     case _SC_V7_ILP32_OFFBIG:   return _POSIX_V7_ILP32_OFFBIG;
     case _SC_V7_LP64_OFF64:     return _POSIX_V7_LP64_OFF64;
     case _SC_V7_LPBIG_OFFBIG:   return _POSIX_V7_LPBIG_OFFBIG;
-    case _SC_XOPEN_STREAMS:     return -1;            // Obsolescent in POSIX.1-2008.
+    case _SC_XOPEN_STREAMS:     return -1;
     case _SC_XOPEN_UUCP:        return -1;
 
-    // We do not have actual implementations for cache queries.
-    // It's valid to return 0 as the result is unknown.
-    case _SC_LEVEL1_ICACHE_SIZE:      return 0;
-    case _SC_LEVEL1_ICACHE_ASSOC:     return 0;
-    case _SC_LEVEL1_ICACHE_LINESIZE:  return 0;
-    case _SC_LEVEL1_DCACHE_SIZE:      return 0;
-    case _SC_LEVEL1_DCACHE_ASSOC:     return 0;
-    case _SC_LEVEL1_DCACHE_LINESIZE:  return 0;
-    case _SC_LEVEL2_CACHE_SIZE:       return 0;
-    case _SC_LEVEL2_CACHE_ASSOC:      return 0;
-    case _SC_LEVEL2_CACHE_LINESIZE:   return 0;
-    case _SC_LEVEL3_CACHE_SIZE:       return 0;
-    case _SC_LEVEL3_CACHE_ASSOC:      return 0;
-    case _SC_LEVEL3_CACHE_LINESIZE:   return 0;
-    case _SC_LEVEL4_CACHE_SIZE:       return 0;
-    case _SC_LEVEL4_CACHE_ASSOC:      return 0;
-    case _SC_LEVEL4_CACHE_LINESIZE:   return 0;
+    case _SC_LEVEL1_ICACHE_SIZE:      return __sysconf_caches()->l1_i.size;
+    case _SC_LEVEL1_ICACHE_ASSOC:     return __sysconf_caches()->l1_i.assoc;
+    case _SC_LEVEL1_ICACHE_LINESIZE:  return __sysconf_caches()->l1_i.linesize;
+    case _SC_LEVEL1_DCACHE_SIZE:      return __sysconf_caches()->l1_d.size;
+    case _SC_LEVEL1_DCACHE_ASSOC:     return __sysconf_caches()->l1_d.assoc;
+    case _SC_LEVEL1_DCACHE_LINESIZE:  return __sysconf_caches()->l1_d.linesize;
+    case _SC_LEVEL2_CACHE_SIZE:       return __sysconf_caches()->l2.size;
+    case _SC_LEVEL2_CACHE_ASSOC:      return __sysconf_caches()->l2.assoc;
+    case _SC_LEVEL2_CACHE_LINESIZE:   return __sysconf_caches()->l2.linesize;
+    case _SC_LEVEL3_CACHE_SIZE:       return __sysconf_caches()->l3.size;
+    case _SC_LEVEL3_CACHE_ASSOC:      return __sysconf_caches()->l3.assoc;
+    case _SC_LEVEL3_CACHE_LINESIZE:   return __sysconf_caches()->l3.linesize;
+    case _SC_LEVEL4_CACHE_SIZE:       return __sysconf_caches()->l4.size;
+    case _SC_LEVEL4_CACHE_ASSOC:      return __sysconf_caches()->l4.assoc;
+    case _SC_LEVEL4_CACHE_LINESIZE:   return __sysconf_caches()->l4.linesize;
 
     default:
       errno = EINVAL;
diff --git a/libc/bionic/sysinfo.cpp b/libc/bionic/sysinfo.cpp
index 1e4a0e8..79fd55e 100644
--- a/libc/bionic/sysinfo.cpp
+++ b/libc/bionic/sysinfo.cpp
@@ -33,8 +33,9 @@
 #include <string.h>
 #include <unistd.h>
 
-#include "private/get_cpu_count_from_string.h"
+#include "platform/bionic/page.h"
 #include "private/ScopedReaddir.h"
+#include "private/get_cpu_count_from_string.h"
 
 int __get_cpu_count(const char* sys_file) {
   int cpu_count = 1;
@@ -64,11 +65,11 @@
 long get_phys_pages() {
   struct sysinfo si;
   sysinfo(&si);
-  return (static_cast<int64_t>(si.totalram) * si.mem_unit) / PAGE_SIZE;
+  return (static_cast<int64_t>(si.totalram) * si.mem_unit) / page_size();
 }
 
 long get_avphys_pages() {
   struct sysinfo si;
   sysinfo(&si);
-  return ((static_cast<int64_t>(si.freeram) + si.bufferram) * si.mem_unit) / PAGE_SIZE;
+  return ((static_cast<int64_t>(si.freeram) + si.bufferram) * si.mem_unit) / page_size();
 }
diff --git a/libc/bionic/syslog.cpp b/libc/bionic/syslog.cpp
index 6b17d26..a459c6b 100644
--- a/libc/bionic/syslog.cpp
+++ b/libc/bionic/syslog.cpp
@@ -18,18 +18,22 @@
 #include <stdlib.h>
 #include <string.h>
 #include <syslog.h>
+#include <unistd.h>
 
 #include <async_safe/log.h>
 
 static const char* syslog_log_tag = nullptr;
 static int syslog_priority_mask = 0xff;
+static int syslog_options = 0;
 
 void closelog() {
   syslog_log_tag = nullptr;
+  syslog_options = 0;
 }
 
-void openlog(const char* log_tag, int /*options*/, int /*facility*/) {
+void openlog(const char* log_tag, int options, int /*facility*/) {
   syslog_log_tag = log_tag;
+  syslog_options = options;
 }
 
 int setlogmask(int new_mask) {
@@ -73,10 +77,16 @@
     android_log_priority = ANDROID_LOG_DEBUG;
   }
 
-  // We can't let async_safe_format_log do the formatting because it doesn't support
-  // all the printf functionality.
+  // We can't let async_safe_format_log do the formatting because it doesn't
+  // support all the printf functionality.
   char log_line[1024];
-  vsnprintf(log_line, sizeof(log_line), fmt, args);
+  int n = vsnprintf(log_line, sizeof(log_line), fmt, args);
+  if (n < 0) return;
 
   async_safe_format_log(android_log_priority, log_tag, "%s", log_line);
+  if ((syslog_options & LOG_PERROR) != 0) {
+    bool have_newline =
+        (n > 0 && n < static_cast<int>(sizeof(log_line)) && log_line[n - 1] == '\n');
+    dprintf(STDERR_FILENO, "%s: %s%s", log_tag, log_line, have_newline ? "" : "\n");
+  }
 }
diff --git a/libc/bionic/system.cpp b/libc/bionic/system.cpp
index 93d7497..8349498 100644
--- a/libc/bionic/system.cpp
+++ b/libc/bionic/system.cpp
@@ -38,7 +38,7 @@
 
 int system(const char* command) {
   // "The system() function shall always return non-zero when command is NULL."
-  // http://pubs.opengroup.org/onlinepubs/9699919799/functions/system.html
+  // https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/functions/system.html
   if (command == nullptr) return 1;
 
   ScopedSignalBlocker sigchld_blocker(SIGCHLD);
diff --git a/libc/bionic/system_property_api.cpp b/libc/bionic/system_property_api.cpp
index a641f12..ed30fc2 100644
--- a/libc/bionic/system_property_api.cpp
+++ b/libc/bionic/system_property_api.cpp
@@ -26,9 +26,9 @@
  * SUCH DAMAGE.
  */
 
-#define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
-#include <sys/_system_properties.h>
+#include <sys/system_properties.h>
 
+#include <async_safe/CHECK.h>
 #include <system_properties/prop_area.h>
 #include <system_properties/system_properties.h>
 
@@ -45,7 +45,7 @@
 
 __BIONIC_WEAK_FOR_NATIVE_BRIDGE
 int __system_properties_init() {
-  return system_properties.Init(PROP_FILENAME) ? 0 : -1;
+  return system_properties.Init(PROP_DIRNAME) ? 0 : -1;
 }
 
 __BIONIC_WEAK_FOR_NATIVE_BRIDGE
@@ -55,8 +55,8 @@
 
 __BIONIC_WEAK_FOR_NATIVE_BRIDGE
 int __system_property_area_init() {
-  bool fsetxattr_failed = false;
-  return system_properties.AreaInit(PROP_FILENAME, &fsetxattr_failed) && !fsetxattr_failed ? 0 : -1;
+  bool fsetxattr_fail = false;
+  return system_properties.AreaInit(PROP_DIRNAME, &fsetxattr_fail) && !fsetxattr_fail ? 0 : -1;
 }
 
 __BIONIC_WEAK_FOR_NATIVE_BRIDGE
@@ -129,3 +129,9 @@
 int __system_property_foreach(void (*propfn)(const prop_info* pi, void* cookie), void* cookie) {
   return system_properties.Foreach(propfn, cookie);
 }
+
+__BIONIC_WEAK_FOR_NATIVE_BRIDGE
+int __system_properties_zygote_reload(void) {
+  CHECK(getpid() == gettid());
+  return system_properties.Reload(false) ? 0 : -1;
+}
diff --git a/libc/bionic/system_property_set.cpp b/libc/bionic/system_property_set.cpp
index 212aafc..9d73445 100644
--- a/libc/bionic/system_property_set.cpp
+++ b/libc/bionic/system_property_set.cpp
@@ -34,11 +34,10 @@
 #include <stdlib.h>
 #include <string.h>
 #include <sys/socket.h>
+#include <sys/system_properties.h>
 #include <sys/types.h>
 #include <sys/uio.h>
 #include <sys/un.h>
-#define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
-#include <sys/_system_properties.h>
 #include <unistd.h>
 
 #include <async_safe/log.h>
@@ -49,21 +48,34 @@
 #include "private/ScopedFd.h"
 
 static const char property_service_socket[] = "/dev/socket/" PROP_SERVICE_NAME;
+static const char property_service_for_system_socket[] =
+    "/dev/socket/" PROP_SERVICE_FOR_SYSTEM_NAME;
 static const char* kServiceVersionPropertyName = "ro.property_service.version";
 
 class PropertyServiceConnection {
  public:
-  PropertyServiceConnection() : last_error_(0) {
+  PropertyServiceConnection(const char* name) : last_error_(0) {
     socket_.reset(::socket(AF_LOCAL, SOCK_STREAM | SOCK_CLOEXEC, 0));
     if (socket_.get() == -1) {
       last_error_ = errno;
       return;
     }
 
-    const size_t namelen = strlen(property_service_socket);
+    // If we're trying to set "sys.powerctl" from a privileged process, use the special
+    // socket. Because this socket is only accessible to privileged processes, it can't
+    // be DoSed directly by malicious apps. (The shell user should be able to reboot,
+    // though, so we don't just always use the special socket for "sys.powerctl".)
+    // See b/262237198 for context
+    const char* socket = property_service_socket;
+    if (strcmp(name, "sys.powerctl") == 0 &&
+        access(property_service_for_system_socket, W_OK) == 0) {
+      socket = property_service_for_system_socket;
+    }
+
+    const size_t namelen = strlen(socket);
     sockaddr_un addr;
     memset(&addr, 0, sizeof(addr));
-    strlcpy(addr.sun_path, property_service_socket, sizeof(addr.sun_path));
+    strlcpy(addr.sun_path, socket, sizeof(addr.sun_path));
     addr.sun_family = AF_LOCAL;
     socklen_t alen = namelen + offsetof(sockaddr_un, sun_path) + 1;
 
@@ -176,7 +188,7 @@
 };
 
 static int send_prop_msg(const prop_msg* msg) {
-  PropertyServiceConnection connection;
+  PropertyServiceConnection connection(msg->name);
   if (!connection.IsValid()) {
     return connection.GetLastError();
   }
@@ -244,6 +256,21 @@
   }
 }
 
+static const char* __prop_error_to_string(int error) {
+  switch (error) {
+  case PROP_ERROR_READ_CMD: return "PROP_ERROR_READ_CMD";
+  case PROP_ERROR_READ_DATA: return "PROP_ERROR_READ_DATA";
+  case PROP_ERROR_READ_ONLY_PROPERTY: return "PROP_ERROR_READ_ONLY_PROPERTY";
+  case PROP_ERROR_INVALID_NAME: return "PROP_ERROR_INVALID_NAME";
+  case PROP_ERROR_INVALID_VALUE: return "PROP_ERROR_INVALID_VALUE";
+  case PROP_ERROR_PERMISSION_DENIED: return "PROP_ERROR_PERMISSION_DENIED";
+  case PROP_ERROR_INVALID_CMD: return "PROP_ERROR_INVALID_CMD";
+  case PROP_ERROR_HANDLE_CONTROL_MESSAGE: return "PROP_ERROR_HANDLE_CONTROL_MESSAGE";
+  case PROP_ERROR_SET_FAILED: return "PROP_ERROR_SET_FAILED";
+  }
+  return "<unknown>";
+}
+
 __BIONIC_WEAK_FOR_NATIVE_BRIDGE
 int __system_property_set(const char* key, const char* value) {
   if (key == nullptr) return -1;
@@ -269,13 +296,12 @@
     // New protocol only allows long values for ro. properties only.
     if (strlen(value) >= PROP_VALUE_MAX && strncmp(key, "ro.", 3) != 0) return -1;
     // Use proper protocol
-    PropertyServiceConnection connection;
+    PropertyServiceConnection connection(key);
     if (!connection.IsValid()) {
       errno = connection.GetLastError();
-      async_safe_format_log(
-          ANDROID_LOG_WARN, "libc",
-          "Unable to set property \"%s\" to \"%s\": connection failed; errno=%d (%s)", key, value,
-          errno, strerror(errno));
+      async_safe_format_log(ANDROID_LOG_WARN, "libc",
+                            "Unable to set property \"%s\" to \"%s\": connection failed: %m", key,
+                            value);
       return -1;
     }
 
@@ -283,8 +309,8 @@
     if (!writer.WriteUint32(PROP_MSG_SETPROP2).WriteString(key).WriteString(value).Send()) {
       errno = connection.GetLastError();
       async_safe_format_log(ANDROID_LOG_WARN, "libc",
-                            "Unable to set property \"%s\" to \"%s\": write failed; errno=%d (%s)",
-                            key, value, errno, strerror(errno));
+                            "Unable to set property \"%s\" to \"%s\": write failed: %m", key,
+                            value);
       return -1;
     }
 
@@ -292,15 +318,14 @@
     if (!connection.RecvInt32(&result)) {
       errno = connection.GetLastError();
       async_safe_format_log(ANDROID_LOG_WARN, "libc",
-                            "Unable to set property \"%s\" to \"%s\": recv failed; errno=%d (%s)",
-                            key, value, errno, strerror(errno));
+                            "Unable to set property \"%s\" to \"%s\": recv failed: %m", key, value);
       return -1;
     }
 
     if (result != PROP_SUCCESS) {
       async_safe_format_log(ANDROID_LOG_WARN, "libc",
-                            "Unable to set property \"%s\" to \"%s\": error code: 0x%x", key, value,
-                            result);
+                            "Unable to set property \"%s\" to \"%s\": %s (0x%x)", key, value,
+                            __prop_error_to_string(result), result);
       return -1;
     }
 
diff --git a/libc/bionic/termios.cpp b/libc/bionic/termios.cpp
index 5fe8eb0..57b34b7 100644
--- a/libc/bionic/termios.cpp
+++ b/libc/bionic/termios.cpp
@@ -34,6 +34,10 @@
 #define __BIONIC_TERMIOS_INLINE /* Out of line. */
 #include <bits/termios_inlines.h>
 
+// POSIX added a couple more functions much later, so do the same for them.
+#define __BIONIC_TERMIOS_WINSIZE_INLINE /* Out of line. */
+#include <bits/termios_winsize_inlines.h>
+
 // Actually declared in <unistd.h>, present on all API levels.
 pid_t tcgetpgrp(int fd) {
   pid_t pid;
diff --git a/libc/bionic/timespec_get.cpp b/libc/bionic/time.cpp
similarity index 89%
rename from libc/bionic/timespec_get.cpp
rename to libc/bionic/time.cpp
index 7fc2182..800395e 100644
--- a/libc/bionic/timespec_get.cpp
+++ b/libc/bionic/time.cpp
@@ -29,5 +29,9 @@
 #include <time.h>
 
 int timespec_get(timespec* ts, int base) {
-  return (base == TIME_UTC && clock_gettime(CLOCK_REALTIME, ts) != -1) ? base : 0;
+  return (clock_gettime(base - 1, ts) != -1) ? base : 0;
+}
+
+int timespec_getres(timespec* ts, int base) {
+  return (clock_getres(base - 1, ts) != -1) ? base : 0;
 }
diff --git a/libc/bionic/time_l.cpp b/libc/bionic/time_l.cpp
deleted file mode 100644
index e5fa9a5..0000000
--- a/libc/bionic/time_l.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2022 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <time.h>
-//#include <xlocale.h>
-
-char* strptime_l(const char* buf, const char* fmt, struct tm* tm, locale_t) {
-  return strptime(buf, fmt, tm);
-}
diff --git a/libc/bionic/vdso.cpp b/libc/bionic/vdso.cpp
index dbca9c0..0a9a9e5 100644
--- a/libc/bionic/vdso.cpp
+++ b/libc/bionic/vdso.cpp
@@ -22,10 +22,16 @@
 #include <string.h>
 #include <sys/auxv.h>
 #include <sys/cdefs.h>
+#include <sys/hwprobe.h>
 #include <sys/time.h>
+#include <syscall.h>
 #include <time.h>
 #include <unistd.h>
 
+extern "C" int __clock_gettime(int, struct timespec*);
+extern "C" int __clock_getres(int, struct timespec*);
+extern "C" int __gettimeofday(struct timeval*, struct timezone*);
+
 static inline int vdso_return(int result) {
   if (__predict_true(result == 0)) return 0;
 
@@ -61,10 +67,13 @@
 }
 
 time_t time(time_t* t) {
+  // Only x86/x86-64 actually have time() in the vdso.
+#if defined(VDSO_TIME_SYMBOL)
   auto vdso_time = reinterpret_cast<decltype(&time)>(__libc_globals->vdso[VDSO_TIME].fn);
   if (__predict_true(vdso_time)) {
     return vdso_time(t);
   }
+#endif
 
   // We can't fallback to the time(2) system call because it doesn't exist for most architectures.
   timeval tv;
@@ -73,12 +82,41 @@
   return tv.tv_sec;
 }
 
+#if defined(__riscv)
+int __riscv_hwprobe(struct riscv_hwprobe* _Nonnull pairs, size_t pair_count, size_t cpu_count,
+                    unsigned long* _Nullable cpus, unsigned flags) {
+  auto vdso_riscv_hwprobe =
+      reinterpret_cast<decltype(&__riscv_hwprobe)>(__libc_globals->vdso[VDSO_RISCV_HWPROBE].fn);
+  if (__predict_true(vdso_riscv_hwprobe)) {
+    return -vdso_riscv_hwprobe(pairs, pair_count, cpu_count, cpus, flags);
+  }
+  // Inline the syscall directly in case someone's calling it from an
+  // ifunc resolver where we won't be able to set errno on failure.
+  // (Rather than our usual trick of letting the python-generated
+  // wrapper set errno but saving/restoring errno in cases where the API
+  // is to return an error value rather than setting errno.)
+  register long a0 __asm__("a0") = reinterpret_cast<long>(pairs);
+  register long a1 __asm__("a1") = pair_count;
+  register long a2 __asm__("a2") = cpu_count;
+  register long a3 __asm__("a3") = reinterpret_cast<long>(cpus);
+  register long a4 __asm__("a4") = flags;
+  register long a7 __asm__("a7") = __NR_riscv_hwprobe;
+  __asm__ volatile("ecall" : "=r"(a0) : "r"(a0), "r"(a1), "r"(a2), "r"(a3), "r"(a4), "r"(a7));
+  return -a0;
+}
+#endif
+
 void __libc_init_vdso(libc_globals* globals) {
   auto&& vdso = globals->vdso;
-  vdso[VDSO_CLOCK_GETTIME] = { VDSO_CLOCK_GETTIME_SYMBOL, nullptr };
-  vdso[VDSO_CLOCK_GETRES] = { VDSO_CLOCK_GETRES_SYMBOL, nullptr };
-  vdso[VDSO_GETTIMEOFDAY] = { VDSO_GETTIMEOFDAY_SYMBOL, nullptr };
-  vdso[VDSO_TIME] = { VDSO_TIME_SYMBOL, nullptr };
+  vdso[VDSO_CLOCK_GETTIME] = {VDSO_CLOCK_GETTIME_SYMBOL, nullptr};
+  vdso[VDSO_CLOCK_GETRES] = {VDSO_CLOCK_GETRES_SYMBOL, nullptr};
+  vdso[VDSO_GETTIMEOFDAY] = {VDSO_GETTIMEOFDAY_SYMBOL, nullptr};
+#if defined(VDSO_TIME_SYMBOL)
+  vdso[VDSO_TIME] = {VDSO_TIME_SYMBOL, nullptr};
+#endif
+#if defined(VDSO_RISCV_HWPROBE_SYMBOL)
+  vdso[VDSO_RISCV_HWPROBE] = {VDSO_RISCV_HWPROBE_SYMBOL, nullptr};
+#endif
 
   // Do we have a vdso?
   uintptr_t vdso_ehdr_addr = getauxval(AT_SYSINFO_EHDR);
@@ -93,6 +131,7 @@
   for (size_t i = 0; i < vdso_ehdr->e_shnum; ++i) {
     if (vdso_shdr[i].sh_type == SHT_DYNSYM) {
       symbol_count = vdso_shdr[i].sh_size / sizeof(ElfW(Sym));
+      break;
     }
   }
   if (symbol_count == 0) {
@@ -109,6 +148,7 @@
     } else if (vdso_phdr[i].p_type == PT_LOAD) {
       vdso_addr = vdso_ehdr_addr + vdso_phdr[i].p_offset - vdso_phdr[i].p_vaddr;
     }
+    if (vdso_addr && vdso_dyn) break;
   }
   if (vdso_addr == 0 || vdso_dyn == nullptr) {
     return;
@@ -123,16 +163,18 @@
     } else if (d->d_tag == DT_SYMTAB) {
       symtab = reinterpret_cast<ElfW(Sym)*>(vdso_addr + d->d_un.d_ptr);
     }
+    if (strtab && symtab) break;
   }
   if (strtab == nullptr || symtab == nullptr) {
     return;
   }
 
   // Are there any symbols we want?
-  for (size_t i = 0; i < symbol_count; ++i) {
-    for (size_t j = 0; j < VDSO_END; ++j) {
-      if (strcmp(vdso[j].name, strtab + symtab[i].st_name) == 0) {
-        vdso[j].fn = reinterpret_cast<void*>(vdso_addr + symtab[i].st_value);
+  for (size_t i = 0; i < VDSO_END; ++i) {
+    for (size_t j = 0; j < symbol_count; ++j) {
+      if (strcmp(vdso[i].name, strtab + symtab[j].st_name) == 0) {
+        vdso[i].fn = reinterpret_cast<void*>(vdso_addr + symtab[j].st_value);
+        break;
       }
     }
   }
diff --git a/libc/bionic/wchar.cpp b/libc/bionic/wchar.cpp
index bd9a45e..b8c4432 100644
--- a/libc/bionic/wchar.cpp
+++ b/libc/bionic/wchar.cpp
@@ -27,10 +27,10 @@
  */
 
 #include <errno.h>
-#include <sys/param.h>
 #include <string.h>
-#include <wchar.h>
+#include <sys/param.h>
 #include <uchar.h>
+#include <wchar.h>
 
 #include "private/bionic_mbstate.h"
 
@@ -88,10 +88,10 @@
         r = 1;
       } else {
         r = mbrtowc(nullptr, *src + i, nmc - i, state);
-        if (r == __MB_ERR_ILLEGAL_SEQUENCE) {
+        if (r == BIONIC_MULTIBYTE_RESULT_ILLEGAL_SEQUENCE) {
           return mbstate_reset_and_return_illegal(EILSEQ, state);
         }
-        if (r == __MB_ERR_INCOMPLETE_SEQUENCE) {
+        if (r == BIONIC_MULTIBYTE_RESULT_INCOMPLETE_SEQUENCE) {
           return mbstate_reset_and_return_illegal(EILSEQ, state);
         }
         if (r == 0) {
@@ -114,11 +114,11 @@
       }
     } else {
       r = mbrtowc(dst + o, *src + i, nmc - i, state);
-      if (r == __MB_ERR_ILLEGAL_SEQUENCE) {
+      if (r == BIONIC_MULTIBYTE_RESULT_ILLEGAL_SEQUENCE) {
         *src += i;
         return mbstate_reset_and_return_illegal(EILSEQ, state);
       }
-      if (r == __MB_ERR_INCOMPLETE_SEQUENCE) {
+      if (r == BIONIC_MULTIBYTE_RESULT_INCOMPLETE_SEQUENCE) {
         *src += nmc;
         return mbstate_reset_and_return_illegal(EILSEQ, state);
       }
@@ -135,6 +135,7 @@
 size_t mbsrtowcs(wchar_t* dst, const char** src, size_t len, mbstate_t* ps) {
   return mbsnrtowcs(dst, src, SIZE_MAX, len, ps);
 }
+__strong_alias(mbsrtowcs_l, mbsrtowcs);
 
 size_t wcrtomb(char* s, wchar_t wc, mbstate_t* ps) {
   static mbstate_t __private_state;
@@ -165,7 +166,7 @@
         r = 1;
       } else {
         r = wcrtomb(buf, wc, state);
-        if (r == __MB_ERR_ILLEGAL_SEQUENCE) {
+        if (r == BIONIC_MULTIBYTE_RESULT_ILLEGAL_SEQUENCE) {
           return r;
         }
       }
@@ -186,14 +187,14 @@
     } else if (len - o >= sizeof(buf)) {
       // Enough space to translate in-place.
       r = wcrtomb(dst + o, wc, state);
-      if (r == __MB_ERR_ILLEGAL_SEQUENCE) {
+      if (r == BIONIC_MULTIBYTE_RESULT_ILLEGAL_SEQUENCE) {
         *src += i;
         return r;
       }
     } else {
       // May not be enough space; use temp buffer.
       r = wcrtomb(buf, wc, state);
-      if (r == __MB_ERR_ILLEGAL_SEQUENCE) {
+      if (r == BIONIC_MULTIBYTE_RESULT_ILLEGAL_SEQUENCE) {
         *src += i;
         return r;
       }
@@ -210,3 +211,4 @@
 size_t wcsrtombs(char* dst, const wchar_t** src, size_t len, mbstate_t* ps) {
   return wcsnrtombs(dst, src, SIZE_MAX, len, ps);
 }
+__strong_alias(wcsrtombs_l, wcsrtombs);
diff --git a/libc/bionic/wchar_l.cpp b/libc/bionic/wchar_l.cpp
index a86961f..b2c4a00 100644
--- a/libc/bionic/wchar_l.cpp
+++ b/libc/bionic/wchar_l.cpp
@@ -41,38 +41,6 @@
   return wcscoll(ws1, ws2);
 }
 
-size_t wcsftime_l(wchar_t* buf, size_t n, const wchar_t* fmt, const struct tm* tm, locale_t) {
-  return wcsftime(buf, n, fmt, tm);
-}
-
 size_t wcsxfrm_l(wchar_t* dst, const wchar_t* src, size_t n, locale_t) {
   return wcsxfrm(dst, src, n);
 }
-
-double wcstod_l(const wchar_t* s, wchar_t** end_ptr, locale_t) {
-  return wcstod(s, end_ptr);
-}
-
-float wcstof_l(const wchar_t* s, wchar_t** end_ptr, locale_t) {
-  return wcstof(s, end_ptr);
-}
-
-long wcstol_l(const wchar_t* s, wchar_t** end_ptr, int base, locale_t) {
-  return wcstol(s, end_ptr, base);
-}
-
-long long wcstoll_l(const wchar_t* s, wchar_t** end_ptr, int base, locale_t) {
-  return wcstoll(s, end_ptr, base);
-}
-
-unsigned long wcstoul_l(const wchar_t* s, wchar_t** end_ptr, int base, locale_t) {
-  return wcstoul(s, end_ptr, base);
-}
-
-unsigned long long wcstoull_l(const wchar_t* s, wchar_t** end_ptr, int base, locale_t) {
-  return wcstoull(s, end_ptr, base);
-}
-
-long double wcstold_l(const wchar_t* s, wchar_t** end_ptr, locale_t) {
-  return wcstold(s, end_ptr);
-}
diff --git a/libc/bionic/wcstod.cpp b/libc/bionic/wcstod.cpp
index 75a59f5..00c8a08 100644
--- a/libc/bionic/wcstod.cpp
+++ b/libc/bionic/wcstod.cpp
@@ -26,8 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#define __BIONIC_LP32_USE_LONG_DOUBLE
-
 #include <wchar.h>
 
 #include <stdlib.h>
@@ -96,11 +94,14 @@
 float wcstof(const wchar_t* s, wchar_t** end) {
   return wcstod<float>(s, end, strtof);
 }
+__strong_alias(wcstof_l, wcstof);
 
 double wcstod(const wchar_t* s, wchar_t** end) {
   return wcstod<double>(s, end, strtod);
 }
+__strong_alias(wcstod_l, wcstod);
 
 long double wcstold(const wchar_t* s, wchar_t** end) {
   return wcstod<long double>(s, end, strtold);
 }
+__strong_alias(wcstold_l, wcstold);
diff --git a/libc/bionic/wctype.cpp b/libc/bionic/wctype.cpp
index 082dada..94597d9 100644
--- a/libc/bionic/wctype.cpp
+++ b/libc/bionic/wctype.cpp
@@ -34,6 +34,7 @@
 #include <string.h>
 #include <wchar.h>
 
+#include "bionic/macros.h"
 #include "private/icu.h"
 
 enum {
@@ -53,113 +54,104 @@
   WC_TYPE_MAX
 };
 
-int iswalnum(wint_t wc) { return __icu_hasBinaryProperty(wc, UCHAR_POSIX_ALNUM, isalnum); }
-int iswalpha(wint_t wc) { return __icu_hasBinaryProperty(wc, UCHAR_ALPHABETIC, isalpha); }
-int iswblank(wint_t wc) { return __icu_hasBinaryProperty(wc, UCHAR_POSIX_BLANK, isblank); }
-int iswgraph(wint_t wc) { return __icu_hasBinaryProperty(wc, UCHAR_POSIX_GRAPH, isgraph); }
-int iswlower(wint_t wc) { return __icu_hasBinaryProperty(wc, UCHAR_LOWERCASE, islower); }
-int iswprint(wint_t wc) { return __icu_hasBinaryProperty(wc, UCHAR_POSIX_PRINT, isprint); }
-int iswspace(wint_t wc) { return __icu_hasBinaryProperty(wc, UCHAR_WHITE_SPACE, isspace); }
-int iswupper(wint_t wc) { return __icu_hasBinaryProperty(wc, UCHAR_UPPERCASE, isupper); }
-int iswxdigit(wint_t wc) { return __icu_hasBinaryProperty(wc, UCHAR_POSIX_XDIGIT, isxdigit); }
+static u_hasBinaryProperty_t __find_u_hasBinaryProperty() {
+  static auto u_hasBinaryProperty =
+      reinterpret_cast<u_hasBinaryProperty_t>(__find_icu_symbol("u_hasBinaryProperty"));
+  return u_hasBinaryProperty;
+}
+
+#define DO_ISW(icu_constant, narrow_fn) \
+  u_hasBinaryProperty_t u_hasBinaryProperty; \
+  if (__predict_true(wc < 0x80) || \
+      !(u_hasBinaryProperty = __find_u_hasBinaryProperty())) { \
+    return narrow_fn(wc); \
+  } \
+  return u_hasBinaryProperty(wc, icu_constant); \
+
+int iswalnum(wint_t wc) { DO_ISW(UCHAR_POSIX_ALNUM, isalnum); }
+__strong_alias(iswalnum_l, iswalnum);
+int iswalpha(wint_t wc) { DO_ISW(UCHAR_ALPHABETIC, isalpha); }
+__strong_alias(iswalpha_l, iswalpha);
+int iswblank(wint_t wc) { DO_ISW(UCHAR_POSIX_BLANK, isblank); }
+__strong_alias(iswblank_l, iswblank);
+int iswgraph(wint_t wc) { DO_ISW(UCHAR_POSIX_GRAPH, isgraph); }
+__strong_alias(iswgraph_l, iswgraph);
+int iswlower(wint_t wc) { DO_ISW(UCHAR_LOWERCASE, islower); }
+__strong_alias(iswlower_l, iswlower);
+int iswprint(wint_t wc) { DO_ISW(UCHAR_POSIX_PRINT, isprint); }
+__strong_alias(iswprint_l, iswprint);
+int iswspace(wint_t wc) { DO_ISW(UCHAR_WHITE_SPACE, isspace); }
+__strong_alias(iswspace_l, iswspace);
+int iswupper(wint_t wc) { DO_ISW(UCHAR_UPPERCASE, isupper); }
+__strong_alias(iswupper_l, iswupper);
+int iswxdigit(wint_t wc) { DO_ISW(UCHAR_POSIX_XDIGIT, isxdigit); }
+__strong_alias(iswxdigit_l, iswxdigit);
 
 int iswcntrl(wint_t wc) {
+  if (wc < 0x80) return iscntrl(wc);
   typedef int8_t (*FnT)(UChar32);
   static auto u_charType = reinterpret_cast<FnT>(__find_icu_symbol("u_charType"));
   return u_charType ? (u_charType(wc) == U_CONTROL_CHAR) : iscntrl(wc);
 }
+__strong_alias(iswcntrl_l, iswcntrl);
 
 int iswdigit(wint_t wc) {
+  if (wc < 0x80) return isdigit(wc);
   typedef UBool (*FnT)(UChar32);
   static auto u_isdigit = reinterpret_cast<FnT>(__find_icu_symbol("u_isdigit"));
   return u_isdigit ? u_isdigit(wc) : isdigit(wc);
 }
+__strong_alias(iswdigit_l, iswdigit);
 
 int iswpunct(wint_t wc) {
+  if (wc < 0x80) return ispunct(wc);
   typedef UBool (*FnT)(UChar32);
   static auto u_ispunct = reinterpret_cast<FnT>(__find_icu_symbol("u_ispunct"));
   return u_ispunct ? u_ispunct(wc) : ispunct(wc);
 }
-
-int iswalnum_l(wint_t c, locale_t) { return iswalnum(c); }
-int iswalpha_l(wint_t c, locale_t) { return iswalpha(c); }
-int iswblank_l(wint_t c, locale_t) { return iswblank(c); }
-int iswcntrl_l(wint_t c, locale_t) { return iswcntrl(c); }
-int iswdigit_l(wint_t c, locale_t) { return iswdigit(c); }
-int iswgraph_l(wint_t c, locale_t) { return iswgraph(c); }
-int iswlower_l(wint_t c, locale_t) { return iswlower(c); }
-int iswprint_l(wint_t c, locale_t) { return iswprint(c); }
-int iswpunct_l(wint_t c, locale_t) { return iswpunct(c); }
-int iswspace_l(wint_t c, locale_t) { return iswspace(c); }
-int iswupper_l(wint_t c, locale_t) { return iswupper(c); }
-int iswxdigit_l(wint_t c, locale_t) { return iswxdigit(c); }
+__strong_alias(iswpunct_l, iswpunct);
 
 int iswctype(wint_t wc, wctype_t char_class) {
-  switch (char_class) {
-    case WC_TYPE_ALNUM: return iswalnum(wc);
-    case WC_TYPE_ALPHA: return iswalpha(wc);
-    case WC_TYPE_BLANK: return iswblank(wc);
-    case WC_TYPE_CNTRL: return iswcntrl(wc);
-    case WC_TYPE_DIGIT: return iswdigit(wc);
-    case WC_TYPE_GRAPH: return iswgraph(wc);
-    case WC_TYPE_LOWER: return iswlower(wc);
-    case WC_TYPE_PRINT: return iswprint(wc);
-    case WC_TYPE_PUNCT: return iswpunct(wc);
-    case WC_TYPE_SPACE: return iswspace(wc);
-    case WC_TYPE_UPPER: return iswupper(wc);
-    case WC_TYPE_XDIGIT: return iswxdigit(wc);
-    default: return 0;
-  }
+  if (char_class < WC_TYPE_ALNUM || char_class > WC_TYPE_XDIGIT) return 0;
+  static int (*fns[])(wint_t) = {
+    iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph,
+    iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit
+  };
+  return fns[char_class - WC_TYPE_ALNUM](wc);
 }
-
-int iswctype_l(wint_t wc, wctype_t char_class, locale_t) {
-  return iswctype(wc, char_class);
-}
+__strong_alias(iswctype_l, iswctype);
 
 wint_t towlower(wint_t wc) {
-  if (wc < 0x80) {
-    if (wc >= 'A' && wc <= 'Z') return wc | 0x20;
-    return wc;
-  }
+  if (wc < 0x80) return tolower(wc);
 
   typedef UChar32 (*FnT)(UChar32);
   static auto u_tolower = reinterpret_cast<FnT>(__find_icu_symbol("u_tolower"));
   return u_tolower ? u_tolower(wc) : tolower(wc);
 }
+__strong_alias(towlower_l, towlower);
 
 wint_t towupper(wint_t wc) {
-  if (wc < 0x80) {
-    // Using EOR rather than AND makes no difference on arm, but saves an
-    // instruction on arm64.
-    if (wc >= 'a' && wc <= 'z') return wc ^ 0x20;
-    return wc;
-  }
+  if (wc < 0x80) return toupper(wc);
 
   typedef UChar32 (*FnT)(UChar32);
   static auto u_toupper = reinterpret_cast<FnT>(__find_icu_symbol("u_toupper"));
   return u_toupper ? u_toupper(wc) : toupper(wc);
 }
-
-wint_t towupper_l(wint_t c, locale_t) { return towupper(c); }
-wint_t towlower_l(wint_t c, locale_t) { return towlower(c); }
+__strong_alias(towupper_l, towupper);
 
 wctype_t wctype(const char* property) {
-  static const char* const  properties[WC_TYPE_MAX] = {
-    "<invalid>",
+  static const char* const  properties[WC_TYPE_MAX - 1] = {
     "alnum", "alpha", "blank", "cntrl", "digit", "graph",
     "lower", "print", "punct", "space", "upper", "xdigit"
   };
-  for (size_t i = 0; i < WC_TYPE_MAX; ++i) {
+  for (size_t i = 0; i < arraysize(properties); ++i) {
     if (!strcmp(properties[i], property)) {
-      return static_cast<wctype_t>(i);
+      return static_cast<wctype_t>(WC_TYPE_ALNUM + i);
     }
   }
   return static_cast<wctype_t>(0);
 }
-
-wctype_t wctype_l(const char* property, locale_t) {
-  return wctype(property);
-}
+__strong_alias(wctype_l, wctype);
 
 static wctrans_t wctrans_tolower = wctrans_t(1);
 static wctrans_t wctrans_toupper = wctrans_t(2);
@@ -167,20 +159,15 @@
 wctrans_t wctrans(const char* name) {
   if (strcmp(name, "tolower") == 0) return wctrans_tolower;
   if (strcmp(name, "toupper") == 0) return wctrans_toupper;
+  errno = EINVAL;
   return nullptr;
 }
-
-wctrans_t wctrans_l(const char* name, locale_t) {
-  return wctrans(name);
-}
+__strong_alias(wctrans_l, wctrans);
 
 wint_t towctrans(wint_t c, wctrans_t t) {
   if (t == wctrans_tolower) return towlower(c);
   if (t == wctrans_toupper) return towupper(c);
   errno = EINVAL;
-  return 0;
+  return c;
 }
-
-wint_t towctrans_l(wint_t c, wctrans_t t, locale_t) {
-  return towctrans(c, t);
-}
+__strong_alias(towctrans_l, towctrans);
diff --git a/libc/bionic/wcwidth.cpp b/libc/bionic/wcwidth.cpp
index 9676b5a..776321f 100644
--- a/libc/bionic/wcwidth.cpp
+++ b/libc/bionic/wcwidth.cpp
@@ -52,12 +52,15 @@
     return -1;
    case U_NON_SPACING_MARK:
    case U_ENCLOSING_MARK:
-   case U_FORMAT_CHAR:
     return 0;
+   case U_FORMAT_CHAR:
+    // A special case for soft hyphen (U+00AD) to match historical practice.
+    // See the tests for more commentary.
+    return (wc == 0x00ad) ? 1 : 0;
   }
-  if (__icu_hasBinaryProperty(wc, UCHAR_DEFAULT_IGNORABLE_CODE_POINT, nullptr)) return 0;
 
-  // Medial and final jamo render as zero width when used correctly.
+  // Medial and final jamo render as zero width when used correctly,
+  // so we handle them specially rather than relying on East Asian Width.
   switch (__icu_getIntPropertyValue(wc, UCHAR_HANGUL_SYLLABLE_TYPE)) {
    case U_HST_VOWEL_JAMO:
    case U_HST_TRAILING_JAMO:
@@ -68,6 +71,13 @@
     return 2;
   }
 
+  // Hangeul choseong filler U+115F is default ignorable, so we check default
+  // ignorability only after we've already handled Hangeul jamo above.
+  static auto u_hasBinaryProperty =
+      reinterpret_cast<u_hasBinaryProperty_t>(__find_icu_symbol("u_hasBinaryProperty"));
+  if (u_hasBinaryProperty && u_hasBinaryProperty(wc, UCHAR_DEFAULT_IGNORABLE_CODE_POINT)) return 0;
+
+  // A few weird special cases where EastAsianWidth is not helpful for us.
   if (wc >= 0x3248 && wc <= 0x4dff) {
     // Circled two-digit CJK "speed sign" numbers. EastAsianWidth is ambiguous,
     // but wide makes more sense.
@@ -77,6 +87,7 @@
   }
 
   // The EastAsianWidth property is at least defined by the Unicode standard!
+  // https://www.unicode.org/reports/tr11/
   switch (__icu_getIntPropertyValue(wc, UCHAR_EAST_ASIAN_WIDTH)) {
    case U_EA_AMBIGUOUS:
    case U_EA_HALFWIDTH:
diff --git a/libc/dns/include/resolv_private.h b/libc/dns/include/resolv_private.h
index 3054555..1593aca 100644
--- a/libc/dns/include/resolv_private.h
+++ b/libc/dns/include/resolv_private.h
@@ -504,15 +504,7 @@
 // ...but NetBSD calls it res_randomid.
 #define res_randomid __res_randomid
 
-#ifdef __i386__
-# define __socketcall extern __attribute__((__cdecl__))
-#else
-# define __socketcall extern
-#endif
-
-__socketcall int __connect(int, const struct sockaddr*, socklen_t);
-
-#undef __socketcall
+int __connect(int, const struct sockaddr*, socklen_t);
 
 // Symbols that are supposed to be in resolv.h, but that we aren't exporting.
 int ns_parserr2(ns_msg*, ns_sect, int, ns_rr2*);
diff --git a/libc/dns/net/gethnamaddr.c b/libc/dns/net/gethnamaddr.c
index add124f..1ffabfa 100644
--- a/libc/dns/net/gethnamaddr.c
+++ b/libc/dns/net/gethnamaddr.c
@@ -495,7 +495,7 @@
 	*he = NO_RECOVERY;
 	return NULL;
 success:
-	bp = (char *)ALIGN(bp);
+	bp = __builtin_align_up(bp, sizeof(uintptr_t));
 	n = (int)(ap - aliases);
 	qlen = (n + 1) * sizeof(*hent->h_aliases);
 	if ((size_t)(ep - bp) < qlen)
@@ -616,7 +616,7 @@
 	}
 
 	// Fix alignment after variable-length data.
-	ptr = (char*)ALIGN(ptr);
+	ptr = __builtin_align_up(ptr, sizeof(uintptr_t));
 
 	int aliases_len = ((int)(aliases - aliases_ptrs) + 1) * sizeof(*hp->h_aliases);
 	if (ptr + aliases_len > hbuf_end) {
@@ -653,7 +653,7 @@
 	}
 
 	// Fix alignment after variable-length data.
-	ptr = (char*)ALIGN(ptr);
+	ptr = __builtin_align_up(ptr, sizeof(uintptr_t));
 
 	int addrs_len = ((int)(addr_p - addr_ptrs) + 1) * sizeof(*hp->h_addr_list);
 	if (ptr + addrs_len > hbuf_end) {
diff --git a/libc/dns/net/sethostent.c b/libc/dns/net/sethostent.c
index 483105a..8ea4315 100644
--- a/libc/dns/net/sethostent.c
+++ b/libc/dns/net/sethostent.c
@@ -157,6 +157,7 @@
 
 	if ((ptr = buf = malloc(len = info->buflen)) == NULL) {
 		*info->he = NETDB_INTERNAL;
+		endhostent_r(&hf);
 		return NULL;
 	}
 
@@ -197,7 +198,7 @@
 				HENT_SCOPY(aliases[anum], hp->h_aliases[anum],
 				    ptr, len);
 			}
-			ptr = (void *)ALIGN(ptr);
+			ptr = __builtin_align_up(ptr, sizeof(uintptr_t));
 			if ((size_t)(ptr - buf) >= info->buflen)
 				goto nospc;
 		}
@@ -241,6 +242,7 @@
 	return hp;
 nospc:
 	*info->he = NETDB_INTERNAL;
+	endhostent_r(&hf);
 	free(buf);
 	errno = ENOSPC;
 	return NULL;
diff --git a/libc/dns/resolv/res_cache.c b/libc/dns/resolv/res_cache.c
index f4c590f..38de84b 100644
--- a/libc/dns/resolv/res_cache.c
+++ b/libc/dns/resolv/res_cache.c
@@ -1166,23 +1166,19 @@
     }
 }
 
-static __inline__ void
-entry_mru_remove( Entry*  e )
-{
-    e->mru_prev->mru_next = e->mru_next;
-    e->mru_next->mru_prev = e->mru_prev;
+static __inline__ void entry_mru_remove(Entry* e) {
+  e->mru_prev->mru_next = e->mru_next;
+  e->mru_next->mru_prev = e->mru_prev;
 }
 
-static __inline__ void
-entry_mru_add( Entry*  e, Entry*  list )
-{
-    Entry*  first = list->mru_next;
+static __inline__ void entry_mru_add(Entry* e, Entry* list) {
+  Entry* first = list->mru_next;
 
-    e->mru_next = first;
-    e->mru_prev = list;
+  e->mru_next = first;
+  e->mru_prev = list;
 
-    list->mru_next  = e;
-    first->mru_prev = e;
+  list->mru_next = e;
+  first->mru_prev = e;
 }
 
 /* compute the hash of a given entry, this is a hash of most
diff --git a/libc/execinfo/include/execinfo.h b/libc/execinfo/include/execinfo.h
index e092c00..c8f9e21 100644
--- a/libc/execinfo/include/execinfo.h
+++ b/libc/execinfo/include/execinfo.h
@@ -30,8 +30,10 @@
 
 /*
  * This file is exported as part of libexecinfo for use with musl, which doesn't
- * define __INTRODUCED_IN.  Stub it out.
+ * define __INTRODUCED_IN or __BIONIC_AVAILABILITY_GUARD.  Stub them out.
  */
 #define __INTRODUCED_IN(x)
+#define __BIONIC_AVAILABILITY_GUARD(x) 1
 #include <bionic/execinfo.h>
+#undef __BIONIC_AVAILABILITY_GUARD
 #undef __INTRODUCED_IN
diff --git a/libc/fs_config_generator.py b/libc/fs_config_generator.py
deleted file mode 120000
index aafb7dc..0000000
--- a/libc/fs_config_generator.py
+++ /dev/null
@@ -1 +0,0 @@
-../../build/tools/fs_config/fs_config_generator.py
\ No newline at end of file
diff --git a/libc/include/alloca.h b/libc/include/alloca.h
index e05dea6..2786e2f 100644
--- a/libc/include/alloca.h
+++ b/libc/include/alloca.h
@@ -36,7 +36,7 @@
 #include <sys/cdefs.h>
 
 /**
- * [alloca(3)](http://man7.org/linux/man-pages/man3/alloca.3.html) allocates space on the stack.
+ * [alloca(3)](https://man7.org/linux/man-pages/man3/alloca.3.html) allocates space on the stack.
  *
  * New code should not use alloca because it cannot report failure.
  * Use regular heap allocation instead.
diff --git a/libc/include/android/api-level.h b/libc/include/android/api-level.h
index 6602e5d..c9536c1 100644
--- a/libc/include/android/api-level.h
+++ b/libc/include/android/api-level.h
@@ -40,7 +40,7 @@
  * @brief Functions and constants for dealing with multiple API levels.
  *
  * See
- * https://android.googlesource.com/platform/bionic/+/master/docs/defines.md.
+ * https://android.googlesource.com/platform/bionic/+/main/docs/defines.md.
  */
 
 #include <sys/cdefs.h>
@@ -50,7 +50,7 @@
 /**
  * Magic version number for an Android OS build which has not yet turned
  * into an official release, for comparison against `__ANDROID_API__`. See
- * https://android.googlesource.com/platform/bionic/+/master/docs/defines.md.
+ * https://android.googlesource.com/platform/bionic/+/main/docs/defines.md.
  */
 #define __ANDROID_API_FUTURE__ 10000
 
@@ -91,7 +91,7 @@
  *
  * See android_get_device_api_level(),
  * android_get_application_target_sdk_version() and
- * https://android.googlesource.com/platform/bionic/+/master/docs/defines.md.
+ * https://android.googlesource.com/platform/bionic/+/main/docs/defines.md.
  */
 #define __ANDROID_API__ __ANDROID_API_FUTURE__
 #endif
@@ -168,7 +168,10 @@
  */
 #define __ANDROID_API_U__ 34
 
-/** Names the "V" API level (35), for comparison against `__ANDROID_API__`. */
+/**
+ * Names the Android 15 (aka "V" or "VanillaIceCream") API level (35),
+ * for comparison against `__ANDROID_API__`.
+ */
 #define __ANDROID_API_V__ 35
 
 /* This file is included in <features.h>, and might be used from .S files. */
@@ -186,7 +189,11 @@
  *
  * Available since API level 24.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
 int android_get_application_target_sdk_version() __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
 
 #if __ANDROID_API__ < 29
 
diff --git a/libc/include/android/crash_detail.h b/libc/include/android/crash_detail.h
new file mode 100644
index 0000000..fd1312a
--- /dev/null
+++ b/libc/include/android/crash_detail.h
@@ -0,0 +1,131 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#pragma once
+
+/**
+ * @file android/crash_detail.h
+ * @brief Attach extra information to android crashes.
+ */
+
+#include <sys/cdefs.h>
+
+#include <stddef.h>
+
+__BEGIN_DECLS
+
+typedef struct crash_detail_t crash_detail_t;
+
+/**
+ * Register a new buffer to get logged into tombstones for crashes.
+ *
+ * It will be added to both the tombstone proto in the crash_detail field, and
+ * in the tombstone text format.
+ *
+ * Tombstone proto definition:
+ *   https://cs.android.com/android/platform/superproject/main/+/main:system/core/debuggerd/proto/tombstone.proto
+ *
+ * An app can get hold of these for any `REASON_CRASH_NATIVE` instance of
+ * `android.app.ApplicationExitInfo`.
+ *
+ * https://developer.android.com/reference/android/app/ApplicationExitInfo#getTraceInputStream()
+
+ * The lifetime of name and data has to be valid until the program crashes, or until
+ * android_crash_detail_unregister is called.
+ *
+ * Example usage:
+ *   const char* stageName = "garbage_collection";
+ *   crash_detail_t* cd = android_crash_detail_register("stage", stageName, strlen(stageName));
+ *   do_garbage_collection();
+ *   android_crash_detail_unregister(cd);
+ *
+ * If this example crashes in do_garbage_collection, a line will show up in the textual representation of the tombstone:
+ *   Extra crash detail: stage: 'garbage_collection'
+ *
+ * Introduced in API 35.
+ *
+ * \param name identifying name for this extra data.
+ *             this should generally be a human-readable UTF-8 string, but we are treating
+ *             it as arbitrary bytes because it could be corrupted by the crash.
+ * \param name_size number of bytes of the buffer pointed to by name
+ * \param data a buffer containing the extra detail bytes, if null the crash detail
+ *             is disabled until android_crash_detail_replace_data replaces it with
+ *             a non-null pointer.
+ * \param data_size number of bytes of the buffer pointed to by data
+ *
+ * \return a handle to the extra crash detail.
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(35)
+crash_detail_t* _Nullable android_crash_detail_register(
+    const void* _Nonnull name, size_t name_size, const void* _Nullable data, size_t data_size) __INTRODUCED_IN(35);
+
+/**
+ * Unregister crash detail from being logged into tombstones.
+ *
+ * After this function returns, the lifetime of the objects crash_detail was
+ * constructed from no longer needs to be valid.
+ *
+ * Introduced in API 35.
+ *
+ * \param crash_detail the crash_detail that should be removed.
+ */
+void android_crash_detail_unregister(crash_detail_t* _Nonnull crash_detail) __INTRODUCED_IN(35);
+
+/**
+ * Replace data of crash detail.
+ *
+ * This is more efficient than using android_crash_detail_unregister followed by
+ * android_crash_detail_register. If you very frequently need to swap out the data,
+ * you can hold onto the crash_detail.
+ *
+ * Introduced in API 35.
+ *
+ * \param data the new buffer containing the extra detail bytes, or null to disable until
+ *             android_crash_detail_replace_data is called again with non-null data.
+ * \param data_size the number of bytes of the buffer pointed to by data.
+ */
+void android_crash_detail_replace_data(crash_detail_t* _Nonnull crash_detail, const void* _Nullable data, size_t data_size) __INTRODUCED_IN(35);
+
+/**
+ * Replace name of crash detail.
+ *
+ * This is more efficient than using android_crash_detail_unregister followed by
+ * android_crash_detail_register. If you very frequently need to swap out the name,
+ * you can hold onto the crash_detail.
+ *
+ * Introduced in API 35.
+ *
+ * \param name identifying name for this extra data.
+ * \param name_size number of bytes of the buffer pointed to by name
+ */
+void android_crash_detail_replace_name(crash_detail_t* _Nonnull crash_detail, const void* _Nonnull name, size_t name_size) __INTRODUCED_IN(35);
+#endif /* __BIONIC_AVAILABILITY_GUARD(35) */
+
+
+__END_DECLS
diff --git a/libc/include/android/dlext.h b/libc/include/android/dlext.h
index f216aab..d8d2752 100644
--- a/libc/include/android/dlext.h
+++ b/libc/include/android/dlext.h
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-#ifndef __ANDROID_DLEXT_H__
-#define __ANDROID_DLEXT_H__
+#pragma once
+
+#include <sys/cdefs.h>
 
 #include <stdbool.h>
 #include <stddef.h>
 #include <stdint.h>
-#include <sys/cdefs.h>
 #include <sys/types.h>  /* for off64_t */
 
 /**
@@ -31,7 +31,7 @@
 /**
  * \file
  * Advanced dynamic library opening support. Most users will want to use
- * the standard [dlopen(3)](http://man7.org/linux/man-pages/man3/dlopen.3.html)
+ * the standard [dlopen(3)](https://man7.org/linux/man-pages/man3/dlopen.3.html)
  * functionality in `<dlfcn.h>` instead.
  */
 
@@ -101,7 +101,7 @@
   ANDROID_DLEXT_FORCE_LOAD = 0x40,
 
   // Historically we had two other options for ART.
-  // They were last available in Android P.
+  // They were last available in API level 28.
   // Reuse these bits last!
   // ANDROID_DLEXT_FORCE_FIXED_VADDR = 0x80
   // ANDROID_DLEXT_LOAD_AT_FIXED_ADDRESS = 0x100
@@ -115,7 +115,7 @@
   ANDROID_DLEXT_USE_NAMESPACE = 0x200,
 
   /**
-   * Instructs dlopen to apply `ANDROID_DLEXT_RESERVED_ADDRESS`,
+   * Instructs dlopen() to apply `ANDROID_DLEXT_RESERVED_ADDRESS`,
    * `ANDROID_DLEXT_RESERVED_ADDRESS_HINT`, `ANDROID_DLEXT_WRITE_RELRO` and
    * `ANDROID_DLEXT_USE_RELRO` to any libraries loaded as dependencies of the
    * main library as well.
@@ -151,7 +151,7 @@
 
 struct android_namespace_t;
 
-/** Used to pass Android-specific arguments to `android_dlopen_ext`. */
+/** Used to pass Android-specific arguments to android_dlopen_ext(). */
 typedef struct {
   /** A bitmask of `ANDROID_DLEXT_` enum values. */
   uint64_t flags;
@@ -175,16 +175,11 @@
 
 /**
  * Opens the given library. The `__filename` and `__flags` arguments are
- * the same as for [dlopen(3)](http://man7.org/linux/man-pages/man3/dlopen.3.html),
+ * the same as for [dlopen(3)](https://man7.org/linux/man-pages/man3/dlopen.3.html),
  * with the Android-specific flags supplied via the `flags` member of `__info`.
- *
- * Available since API level 21.
  */
-void* _Nullable android_dlopen_ext(const char* _Nullable __filename, int __flags, const android_dlextinfo* _Nullable __info)
-  __INTRODUCED_IN(21);
+void* _Nullable android_dlopen_ext(const char* _Nullable __filename, int __flags, const android_dlextinfo* _Nullable __info);
 
 __END_DECLS
 
 /** @} */
-
-#endif
diff --git a/libc/include/android/fdsan.h b/libc/include/android/fdsan.h
index 3de0649..a04fc7e 100644
--- a/libc/include/android/fdsan.h
+++ b/libc/include/android/fdsan.h
@@ -28,9 +28,10 @@
 
 #pragma once
 
+#include <sys/cdefs.h>
+
 #include <stdbool.h>
 #include <stdint.h>
-#include <sys/cdefs.h>
 
 __BEGIN_DECLS
 
@@ -126,11 +127,16 @@
 
   /* native_handle_t */
   ANDROID_FDSAN_OWNER_TYPE_NATIVE_HANDLE = 13,
+
+  /* android::Parcel */
+  ANDROID_FDSAN_OWNER_TYPE_PARCEL = 14,
 };
 
 /*
  * Create an owner tag with the specified type and least significant 56 bits of tag.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(29)
 uint64_t android_fdsan_create_owner_tag(enum android_fdsan_owner_type type, uint64_t tag) __INTRODUCED_IN(29) __attribute__((__weak__));
 
 /*
@@ -165,6 +171,8 @@
  * Get an owner tag's value, with the type masked off.
  */
 uint64_t android_fdsan_get_tag_value(uint64_t tag) __INTRODUCED_IN(29);
+#endif /* __BIONIC_AVAILABILITY_GUARD(29) */
+
 
 enum android_fdsan_error_level {
   // No errors.
@@ -183,6 +191,8 @@
 /*
  * Get the error level.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(29)
 enum android_fdsan_error_level android_fdsan_get_error_level() __INTRODUCED_IN(29) __attribute__((__weak__));
 
 /*
@@ -200,9 +210,15 @@
  * (e.g. postfork).
  */
 enum android_fdsan_error_level android_fdsan_set_error_level(enum android_fdsan_error_level new_level) __INTRODUCED_IN(29) __attribute__((__weak__));
+#endif /* __BIONIC_AVAILABILITY_GUARD(29) */
+
 
 /*
  * Set the error level to the global setting if available, or a default value.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(30)
 enum android_fdsan_error_level android_fdsan_set_error_level_from_property(enum android_fdsan_error_level default_level) __INTRODUCED_IN(30) __attribute__((__weak__));
+#endif /* __BIONIC_AVAILABILITY_GUARD(30) */
+
 __END_DECLS
diff --git a/libc/include/android/legacy_stdlib_inlines.h b/libc/include/android/legacy_stdlib_inlines.h
index f0985fe..d228e67 100644
--- a/libc/include/android/legacy_stdlib_inlines.h
+++ b/libc/include/android/legacy_stdlib_inlines.h
@@ -30,26 +30,9 @@
 
 #include <sys/cdefs.h>
 
-
 #if __ANDROID_API__ < 26
 
-#include <stdlib.h>
-#include <xlocale.h>
-
-__BEGIN_DECLS
-
-static __inline double strtod_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, locale_t _Nonnull __l) {
-  return strtod(__s, __end_ptr);
-}
-
-static __inline float strtof_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, locale_t _Nonnull __l) {
-  return strtof(__s, __end_ptr);
-}
-
-static __inline long strtol_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base, locale_t _Nonnull __l) {
-  return strtol(__s, __end_ptr, __base);
-}
-
-__END_DECLS
+#define __BIONIC_THREADS_INLINE static __inline
+#include <bits/stdlib_inlines.h>
 
 #endif
diff --git a/libc/include/android/legacy_termios_inlines.h b/libc/include/android/legacy_termios_inlines.h
index 6222786..a816b40 100644
--- a/libc/include/android/legacy_termios_inlines.h
+++ b/libc/include/android/legacy_termios_inlines.h
@@ -43,3 +43,10 @@
 #include <bits/termios_inlines.h>
 
 #endif
+
+#if __ANDROID_API__ < 35
+
+#define __BIONIC_TERMIOS_WINSIZE_INLINE static __inline
+#include <bits/termios_winsize_inlines.h>
+
+#endif
diff --git a/libc/include/android/set_abort_message.h b/libc/include/android/set_abort_message.h
index 2be01a9..6ad5678 100644
--- a/libc/include/android/set_abort_message.h
+++ b/libc/include/android/set_abort_message.h
@@ -35,17 +35,40 @@
 
 #include <sys/cdefs.h>
 
+#include <stddef.h>
+#include <stdint.h>
+#include <string.h>
+
 __BEGIN_DECLS
 
+typedef struct crash_detail_t crash_detail_t;
+
 /**
- * android_set_abort_message() sets the abort message that will be shown
- * by [debuggerd](https://source.android.com/devices/tech/debug/native-crash).
+ * android_set_abort_message() sets the abort message passed to
+ * [debuggerd](https://source.android.com/devices/tech/debug/native-crash)
+ * for inclusion in any crash.
+ *
  * This is meant for use by libraries that deliberately abort so that they can
  * provide an explanation. It is used within bionic to implement assert() and
- * all FORTIFY/fdsan aborts.
+ * all FORTIFY and fdsan failures.
  *
- * Available since API level 21.
+ * The message appears directly in logcat at the time of crash. It will
+ * also be added to both the tombstone proto in the crash_detail field, and
+ * in the tombstone text format.
+ *
+ * Tombstone proto definition:
+ *   https://cs.android.com/android/platform/superproject/main/+/main:system/core/debuggerd/proto/tombstone.proto
+ *
+ * An app can get hold of these for any `REASON_CRASH_NATIVE` instance of
+ * `android.app.ApplicationExitInfo`.
+ *  https://developer.android.com/reference/android/app/ApplicationExitInfo#getTraceInputStream()
+ *
+ * The given message is copied at the time this function is called, and does
+ * not need to be valid until the crash actually happens, but typically this
+ * function is called immediately before aborting. See <android/crash_detail.h>
+ * for API more suited to the use case where the caller doesn't _expect_ a
+ * crash but would like to see the information _if_ a crash happens.
  */
-void android_set_abort_message(const char* _Nullable __msg) __INTRODUCED_IN(21);
+void android_set_abort_message(const char* _Nullable __msg);
 
 __END_DECLS
diff --git a/libc/include/android/versioning.h b/libc/include/android/versioning.h
index efe4354..1cf6e51 100644
--- a/libc/include/android/versioning.h
+++ b/libc/include/android/versioning.h
@@ -16,52 +16,56 @@
 
 #pragma once
 
-// The `annotate` attribute always pulls the annotated (inline) function into the object files, thus
-// we should only annotate headers when we are running versioner.
-#if defined(__BIONIC_VERSIONER)
-
-#define __INTRODUCED_IN(api_level) __attribute__((annotate("introduced_in=" #api_level)))
-#define __INTRODUCED_IN_NO_GUARD_FOR_NDK(api_level) __attribute__((annotate("introduced_in=" #api_level))) __VERSIONER_NO_GUARD
-#define __DEPRECATED_IN(api_level) __attribute__((annotate("deprecated_in=" #api_level)))
-#define __REMOVED_IN(api_level) __attribute__((annotate("obsoleted_in=" #api_level)))
-#define __INTRODUCED_IN_32(api_level) __attribute__((annotate("introduced_in_32=" #api_level)))
-#define __INTRODUCED_IN_64(api_level) __attribute__((annotate("introduced_in_64=" #api_level)))
-#define __INTRODUCED_IN_ARM(api_level) __attribute__((annotate("introduced_in_arm=" #api_level)))
-#define __INTRODUCED_IN_X86(api_level) __attribute__((annotate("introduced_in_x86=" #api_level)))
-#define __INTRODUCED_IN_X86_NO_GUARD_FOR_NDK(api_level) __attribute__((annotate("introduced_in_x86=" #api_level))) __VERSIONER_NO_GUARD
-
-#define __VERSIONER_NO_GUARD __attribute__((annotate("versioner_no_guard")))
-#define __VERSIONER_FORTIFY_INLINE __attribute__((annotate("versioner_fortify_inline")))
-
-#else
-
-// When headers are not processed by the versioner (i.e. compiled into object files),
-// the availability attributed is emitted instead. The clang compiler will make the symbol weak
-// when targeting old api_level and enforce the reference to the symbol to be guarded with
-// __builtin_available(android api_level, *).
-
-// The 'strict' flag is required for NDK clients where the use of "-Wunguarded-availability" cannot
-// be enforced. In the case, the absence of 'strict' makes it possible to call an unavailable API
-// without the __builtin_available check, which will cause a link error at runtime.
-// Android platform build system defines this macro along with -Wunguarded-availability
-//
-// The _NO_GUARD_FOR_NDK variants keep the __VERSIONER_NO_GUARD behavior working for the NDK. This
-// allows libc++ to refer to these functions in inlines without needing to guard them, needed since
-// libc++ doesn't currently guard these calls. There's no risk to the apps though because using
-// those APIs will still cause a link error.
+/**
+ * @def __ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__
+ *
+ * Controls whether calling APIs newer than the developer's minSdkVersion are a
+ * build error (when not defined) or allowed as a weak reference with a
+ * __builtin_available() guard (when defined).
+ *
+ * See https://developer.android.com/ndk/guides/using-newer-apis for more
+ * details.
+ */
 #if defined(__ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__)
-#define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,__what)))
-#define __INTRODUCED_IN_NO_GUARD_FOR_NDK(api_level) __INTRODUCED_IN(api_level)
-#define __INTRODUCED_IN_X86_NO_GUARD_FOR_NDK(api_level) __INTRODUCED_IN_X86(api_level)
+// In this mode, Clang will emit weak references to the APIs if the
+// minSdkVersion is less than the __what argument. This allows the libraries to
+// load even on systems too old to contain the API, but calls must be guarded
+// with `__builtin_available(android api_level, *)` to avoid segfaults.
+#define __BIONIC_AVAILABILITY(__what, ...) __attribute__((__availability__(android,__what __VA_OPT__(,) __VA_ARGS__)))
+
+// When the caller is using weak API references, we should expose the decls for
+// APIs which are not available in the caller's minSdkVersion, otherwise there's
+// no way to take advantage of the weak references.
+#define __BIONIC_AVAILABILITY_GUARD(api_level) 1
 #else
-#define __BIONIC_AVAILABILITY(__what) __attribute__((__availability__(android,strict,__what)))
-#define __INTRODUCED_IN_NO_GUARD_FOR_NDK(api_level)
-#define __INTRODUCED_IN_X86_NO_GUARD_FOR_NDK(api_level)
+// The 'strict' flag is required for NDK clients where the code was not written
+// to handle the case where the API was available at build-time but not at
+// run-time. Most 3p code ported to Android was not written to use
+// `__builtin_available()` for run-time availability checking, and so would not
+// compile in this mode (or worse, if the build doesn't use
+// -Werror=unguarded-availability, it would build but crash at runtime).
+#define __BIONIC_AVAILABILITY(__what, ...) __attribute__((__availability__(android,strict,__what __VA_OPT__(,) __VA_ARGS__)))
+
+// When the caller is using strict API references, we hide APIs which are not
+// available in the caller's minSdkVersion. This is a bionic-only deviation in
+// behavior from the rest of the NDK headers, but it's necessary to maintain
+// source compatibility with 3p libraries that either can't correctly detect API
+// availability (either incorrectly detecting as always-available or as
+// never-available, but neither is true), or define their own polyfills which
+// conflict with our declarations.
+//
+// https://github.com/android/ndk/issues/2081
+#define __BIONIC_AVAILABILITY_GUARD(api_level) (__ANDROID_MIN_SDK_VERSION__ >= (api_level))
 #endif
 
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc23-extensions"
+// Passing no argument for the '...' parameter of a variadic macro is a C23 extension
 #define __INTRODUCED_IN(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
-#define __DEPRECATED_IN(api_level) __BIONIC_AVAILABILITY(deprecated=api_level)
-#define __REMOVED_IN(api_level) __BIONIC_AVAILABILITY(obsoleted=api_level)
+#pragma clang diagnostic pop
+
+#define __DEPRECATED_IN(api_level, msg) __BIONIC_AVAILABILITY(deprecated=api_level, message=msg)
+#define __REMOVED_IN(api_level, msg) __BIONIC_AVAILABILITY(obsoleted=api_level, message=msg)
 
 // The same availability attribute can't be annotated multiple times. Therefore, the macros are
 // defined for the configuration that it is valid for so that declarations like the below doesn't
@@ -69,12 +73,6 @@
 //
 // void foo() __INTRODUCED_IN_32(30) __INTRODUCED_IN_64(31);
 //
-// This also takes the advantage of the fact that we never use bitness-specific macro with
-// arch-specific macro. In other words,
-//
-// void foo() __INTRODUCED_IN_ARM(30) __INTRODUCED_IN_64(31);
-//
-// hasn't been supported and won't be.
 #if !defined(__LP64__)
 #define __INTRODUCED_IN_32(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
 #define __INTRODUCED_IN_64(api_level)
@@ -82,19 +80,3 @@
 #define __INTRODUCED_IN_32(api_level)
 #define __INTRODUCED_IN_64(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
 #endif
-
-#if defined(__arm__) || defined(__aarch64__)
-#define __INTRODUCED_IN_ARM(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
-#define __INTRODUCED_IN_X86(api_level)
-#elif defined(__i386__) || defined(__x86_64__)
-#define __INTRODUCED_IN_ARM(api_level)
-#define __INTRODUCED_IN_X86(api_level) __BIONIC_AVAILABILITY(introduced=api_level)
-#else
-#define __INTRODUCED_IN_ARM(api_level)
-#define __INTRODUCED_IN_X86(api_level)
-#endif
-
-#define __VERSIONER_NO_GUARD
-#define __VERSIONER_FORTIFY_INLINE
-
-#endif  // defined(__BIONIC_VERSIONER)
diff --git a/libc/include/arpa/ftp.h b/libc/include/arpa/ftp.h
index 081c037..fecbf7f 100644
--- a/libc/include/arpa/ftp.h
+++ b/libc/include/arpa/ftp.h
@@ -34,6 +34,8 @@
 #ifndef _ARPA_FTP_H_
 #define	_ARPA_FTP_H_
 
+#include <sys/cdefs.h>
+
 /* Definitions for FTP; see RFC-765. */
 
 /*
diff --git a/libc/include/arpa/inet.h b/libc/include/arpa/inet.h
index db054c9..ce9dd93 100644
--- a/libc/include/arpa/inet.h
+++ b/libc/include/arpa/inet.h
@@ -29,24 +29,25 @@
 #ifndef _ARPA_INET_H_
 #define _ARPA_INET_H_
 
+#include <sys/cdefs.h>
+
 #include <netinet/in.h>
 #include <stdint.h>
-#include <sys/cdefs.h>
 #include <sys/types.h>
 
 __BEGIN_DECLS
 
-in_addr_t inet_addr(const char* __s);
-int inet_aton(const char* __s, struct in_addr* __addr);
-in_addr_t inet_lnaof(struct in_addr __addr) __INTRODUCED_IN(21);
-struct in_addr inet_makeaddr(in_addr_t __net, in_addr_t __host) __INTRODUCED_IN(21);
-in_addr_t inet_netof(struct in_addr __addr) __INTRODUCED_IN(21);
-in_addr_t inet_network(const char* __s) __INTRODUCED_IN(21);
-char* inet_ntoa(struct in_addr __addr);
-const char* inet_ntop(int __af, const void* __src, char* __dst, socklen_t __size);
-unsigned int inet_nsap_addr(const char* __ascii, unsigned char* __binary, int __n);
-char* inet_nsap_ntoa(int __binary_length, const unsigned char* __binary, char* __ascii);
-int inet_pton(int __af, const char* __src, void* __dst);
+in_addr_t inet_addr(const char* _Nonnull __s);
+int inet_aton(const char* _Nonnull __s, struct in_addr* _Nullable __addr);
+in_addr_t inet_lnaof(struct in_addr __addr);
+struct in_addr inet_makeaddr(in_addr_t __net, in_addr_t __host);
+in_addr_t inet_netof(struct in_addr __addr);
+in_addr_t inet_network(const char* _Nonnull __s);
+char* _Nonnull inet_ntoa(struct in_addr __addr);
+const char* _Nullable inet_ntop(int __af, const void* _Nonnull __src, char* _Nonnull __dst, socklen_t __size);
+unsigned int inet_nsap_addr(const char* _Nonnull __ascii, unsigned char* _Nonnull __binary, int __n);
+char* _Nonnull inet_nsap_ntoa(int __binary_length, const unsigned char* _Nonnull __binary, char* _Nullable __ascii);
+int inet_pton(int __af, const char* _Nonnull __src, void* _Nonnull __dst);
 
 __END_DECLS
 
diff --git a/libc/include/arpa/nameser.h b/libc/include/arpa/nameser.h
index 89ece1c..3e0025e 100644
--- a/libc/include/arpa/nameser.h
+++ b/libc/include/arpa/nameser.h
@@ -55,9 +55,10 @@
 
 #define BIND_4_COMPAT
 
-#include <sys/types.h>
 #include <sys/cdefs.h>
 
+#include <sys/types.h>
+
 /*
  * Revision information.  This is the release date in YYYYMMDD format.
  * It can change every day so the right thing to do with it is use it
@@ -113,6 +114,8 @@
 typedef const u_char *ns_nname_ct;
 typedef u_char *ns_nname_t;
 
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnullability-completeness"
 struct ns_namemap { ns_nname_ct base; int len; };
 typedef struct ns_namemap *ns_namemap_t;
 typedef const struct ns_namemap *ns_namemap_ct;
@@ -269,6 +272,8 @@
 };
 typedef struct ns_tcp_tsig_state ns_tcp_tsig_state;
 
+#pragma clang diagnostic pop
+
 #define NS_TSIG_FUDGE 300
 #define NS_TSIG_TCP_COUNT 100
 #define NS_TSIG_ALG_HMAC_MD5 "HMAC-MD5.SIG-ALG.REG.INT"
@@ -519,102 +524,57 @@
 
 #if !defined(__LP64__)
 /* Annoyingly, LP32 shipped with __ names. */
-#define	ns_msg_getflag		__ns_msg_getflag
-#define ns_get16		__ns_get16
-#define ns_get32		__ns_get32
-#define ns_put16		__ns_put16
-#define ns_put32		__ns_put32
-#define ns_initparse		__ns_initparse
-#define ns_skiprr		__ns_skiprr
-#define ns_parserr		__ns_parserr
-#define ns_parserr2		__ns_parserr2
-#define	ns_sprintrr		__ns_sprintrr
-#define	ns_sprintrrf		__ns_sprintrrf
-#define	ns_format_ttl		__ns_format_ttl
-#define	ns_parse_ttl		__ns_parse_ttl
-#define ns_datetosecs		__ns_datetosecs
-#define	ns_name_ntol		__ns_name_ntol
-#define	ns_name_ntop		__ns_name_ntop
-#define	ns_name_pton		__ns_name_pton
-#define	ns_name_pton2		__ns_name_pton2
-#define	ns_name_unpack		__ns_name_unpack
-#define	ns_name_unpack2		__ns_name_unpack2
-#define	ns_name_pack		__ns_name_pack
-#define	ns_name_compress	__ns_name_compress
-#define	ns_name_uncompress	__ns_name_uncompress
-#define	ns_name_skip		__ns_name_skip
-#define	ns_name_rollback	__ns_name_rollback
-#define	ns_name_length		__ns_name_length
-#define	ns_name_eq		__ns_name_eq
-#define	ns_name_owned		__ns_name_owned
-#define	ns_name_map		__ns_name_map
-#define	ns_name_labels		__ns_name_labels
-#define	ns_sign			__ns_sign
-#define	ns_sign2		__ns_sign2
-#define	ns_sign_tcp		__ns_sign_tcp
-#define	ns_sign_tcp2		__ns_sign_tcp2
-#define	ns_sign_tcp_init	__ns_sign_tcp_init
-#define ns_find_tsig		__ns_find_tsig
-#define	ns_verify		__ns_verify
-#define	ns_verify_tcp		__ns_verify_tcp
-#define	ns_verify_tcp_init	__ns_verify_tcp_init
-#define	ns_samedomain		__ns_samedomain
-#define	ns_subdomain		__ns_subdomain
-#define	ns_makecanon		__ns_makecanon
-#define	ns_samename		__ns_samename
+#define ns_format_ttl __ns_format_ttl
+#define ns_get16 __ns_get16
+#define ns_get32 __ns_get32
+#define ns_initparse __ns_initparse
+#define ns_makecanon __ns_makecanon
+#define ns_msg_getflag __ns_msg_getflag
+#define ns_name_compress __ns_name_compress
+#define ns_name_ntol __ns_name_ntol
+#define ns_name_ntop __ns_name_ntop
+#define ns_name_pack __ns_name_pack
+#define ns_name_pton __ns_name_pton
+#define ns_name_rollback __ns_name_rollback
+#define ns_name_skip __ns_name_skip
+#define ns_name_uncompress __ns_name_uncompress
+#define ns_name_unpack __ns_name_unpack
+#define ns_parserr __ns_parserr
+#define ns_put16 __ns_put16
+#define ns_put32 __ns_put32
+#define ns_samename __ns_samename
+#define ns_skiprr __ns_skiprr
+#define ns_sprintrr __ns_sprintrr
+#define ns_sprintrrf __ns_sprintrrf
+#endif
 
-int ns_msg_getflag(ns_msg __handle, int __flag);
-uint16_t ns_get16(const u_char* __src);
-uint32_t ns_get32(const u_char* __src);
-void ns_put16(uint16_t __src, u_char* __dst);
-void ns_put32(uint32_t __src, u_char* __dst);
-int ns_initparse(const u_char* __msg, int __msg_size, ns_msg* __handle);
-int ns_skiprr(const u_char* __ptr, const u_char* __eom, ns_sect __section, int __count);
-int ns_parserr(ns_msg* __handle, ns_sect __section, int __rr_number, ns_rr* __rr);
-int ns_sprintrr(const ns_msg* __handle, const ns_rr* __rr, const char* __name_ctx, const char* __origin, char* __buf, size_t __buf_size);
-int ns_sprintrrf(const u_char* __msg, size_t __msg_size, const char* __name, ns_class __class, ns_type __type, u_long __ttl, const u_char* __rdata, size_t __rdata_size, const char* __name_ctx, const char* __origin, char* __buf, size_t __buf_size);
-int ns_format_ttl(u_long __ttl, char* __dst, size_t __dst_size);
-int ns_name_ntol(const u_char* __src, u_char* __dst, size_t __dst_size);
-int ns_name_ntop(const u_char* __src, char* __dst, size_t __dst_size);
-int ns_name_pton(const char* __src, u_char* __dst, size_t __dst_size);
-int ns_name_unpack(const u_char* __msg, const u_char* __eom, const u_char* __src, u_char* __dst, size_t __dst_size);
-int ns_name_pack(const u_char* __src, u_char* __dst, int __dst_size, const u_char** __dn_ptrs, const u_char** __last_dn_ptr);
-int ns_name_uncompress(const u_char* __msg, const u_char* __eom, const u_char* __src, char* __dst, size_t __dst_size);
-int ns_name_compress(const char* __src, u_char* __dst, size_t __dst_size, const u_char** __dn_ptrs, const u_char** __last_dn_ptr);
-int ns_name_skip(const u_char** __ptr_ptr, const u_char* __eom);
-void ns_name_rollback(const u_char* __src, const u_char** __dn_ptrs, const u_char** __last_dn_ptr);
 
-int ns_makecanon(const char* __src, char* __dst, size_t __dst_size);
-int ns_samename(const char* __lhs, const char* __rhs);
+#if __BIONIC_AVAILABILITY_GUARD(22)
+int ns_msg_getflag(ns_msg __handle, int __flag) __INTRODUCED_IN(22);
+uint16_t ns_get16(const u_char* _Nonnull __src) __INTRODUCED_IN(22);
+uint32_t ns_get32(const u_char* _Nonnull __src) __INTRODUCED_IN(22);
+void ns_put16(uint16_t __src, u_char* _Nonnull __dst) __INTRODUCED_IN(22);
+void ns_put32(uint32_t __src, u_char* _Nonnull __dst) __INTRODUCED_IN(22);
+int ns_initparse(const u_char* _Nonnull __msg, int __msg_size, ns_msg* _Nonnull __handle) __INTRODUCED_IN(22);
+int ns_skiprr(const u_char* _Nonnull __ptr, const u_char* _Nonnull __eom, ns_sect __section, int __count) __INTRODUCED_IN(22);
+int ns_parserr(ns_msg* _Nonnull __handle, ns_sect __section, int __rr_number, ns_rr* _Nonnull __rr) __INTRODUCED_IN(22);
+int ns_sprintrr(const ns_msg* _Nonnull  __handle, const ns_rr* _Nonnull __rr, const char* _Nullable __name_ctx, const char* _Nullable __origin, char* _Nonnull __buf, size_t __buf_size) __INTRODUCED_IN(22);
+int ns_sprintrrf(const u_char* _Nonnull __msg, size_t __msg_size, const char* _Nonnull __name, ns_class __class, ns_type __type, u_long __ttl, const u_char* _Nonnull __rdata, size_t __rdata_size, const char* _Nullable __name_ctx, const char* _Nullable __origin, char* _Nonnull __buf, size_t __buf_size) __INTRODUCED_IN(22);
+int ns_format_ttl(u_long __ttl, char* _Nonnull __dst, size_t __dst_size) __INTRODUCED_IN(22);
+int ns_name_ntol(const u_char* _Nonnull __src, u_char* _Nonnull __dst, size_t __dst_size) __INTRODUCED_IN(22);
+int ns_name_ntop(const u_char* _Nonnull __src, char* _Nonnull __dst, size_t __dst_size) __INTRODUCED_IN(22);
+int ns_name_pton(const char* _Nonnull __src, u_char* _Nonnull __dst, size_t __dst_size) __INTRODUCED_IN(22);
+int ns_name_unpack(const u_char* _Nonnull __msg, const u_char* _Nonnull __eom, const u_char* _Nonnull __src, u_char* _Nonnull __dst, size_t __dst_size) __INTRODUCED_IN(22);
+int ns_name_pack(const u_char* _Nonnull __src, u_char* _Nonnull __dst, int __dst_size, const u_char* _Nullable * _Nullable __dn_ptrs, const u_char* _Nullable * _Nullable __last_dn_ptr) __INTRODUCED_IN(22);
+int ns_name_uncompress(const u_char* _Nonnull __msg, const u_char* _Nonnull __eom, const u_char* _Nonnull __src, char* _Nonnull __dst, size_t __dst_size) __INTRODUCED_IN(22);
+int ns_name_compress(const char* _Nonnull __src, u_char* _Nonnull __dst, size_t __dst_size, const u_char* _Nullable * _Nullable __dn_ptrs, const u_char* _Nullable * _Nullable __last_dn_ptr) __INTRODUCED_IN(22);
+int ns_name_skip(const u_char* _Nullable * _Nonnull __ptr_ptr, const u_char* _Nonnull __eom) __INTRODUCED_IN(22);
+void ns_name_rollback(const u_char* _Nonnull __src, const u_char* _Nullable * _Nonnull __dn_ptrs, const u_char* _Nullable * _Nonnull __last_dn_ptr) __INTRODUCED_IN(22);
 
-#else
-/* The names of these symbols were accidentally prefixed with __ in L. */
-/* The duplication here is intentional to avoid declaring different symbols with the same
- * declaration. */
-int ns_msg_getflag(ns_msg __handle, int __flag) __INTRODUCED_IN_64(22);
-uint16_t ns_get16(const u_char* __src) __INTRODUCED_IN_64(22);
-uint32_t ns_get32(const u_char* __src) __INTRODUCED_IN_64(22);
-void ns_put16(uint16_t __src, u_char* __dst) __INTRODUCED_IN_64(22);
-void ns_put32(uint32_t __src, u_char* __dst) __INTRODUCED_IN_64(22);
-int ns_initparse(const u_char* __msg, int __msg_size, ns_msg* __handle) __INTRODUCED_IN_64(22);
-int ns_skiprr(const u_char* __ptr, const u_char* __eom, ns_sect __section, int __count) __INTRODUCED_IN_64(22);
-int ns_parserr(ns_msg* __handle, ns_sect __section, int __rr_number, ns_rr* __rr) __INTRODUCED_IN_64(22);
-int ns_sprintrr(const ns_msg* __handle, const ns_rr* __rr, const char* __name_ctx, const char* __origin, char* __buf, size_t __buf_size) __INTRODUCED_IN_64(22);
-int ns_sprintrrf(const u_char* __msg, size_t __msg_size, const char* __name, ns_class __class, ns_type __type, u_long __ttl, const u_char* __rdata, size_t __rdata_size, const char* __name_ctx, const char* __origin, char* __buf, size_t __buf_size) __INTRODUCED_IN_64(22);
-int ns_format_ttl(u_long __ttl, char* __dst, size_t __dst_size) __INTRODUCED_IN_64(22);
-int ns_name_ntol(const u_char* __src, u_char* __dst, size_t __dst_size) __INTRODUCED_IN_64(22);
-int ns_name_ntop(const u_char* __src, char* __dst, size_t __dst_size) __INTRODUCED_IN_64(22);
-int ns_name_pton(const char* __src, u_char* __dst, size_t __dst_size) __INTRODUCED_IN_64(22);
-int ns_name_unpack(const u_char* __msg, const u_char* __eom, const u_char* __src, u_char* __dst, size_t __dst_size) __INTRODUCED_IN_64(22);
-int ns_name_pack(const u_char* __src, u_char* __dst, int __dst_size, const u_char** __dn_ptrs, const u_char** __last_dn_ptr) __INTRODUCED_IN_64(22);
-int ns_name_uncompress(const u_char* __msg, const u_char* __eom, const u_char* __src, char* __dst, size_t __dst_size) __INTRODUCED_IN_64(22);
-int ns_name_compress(const char* __src, u_char* __dst, size_t __dst_size, const u_char** __dn_ptrs, const u_char** __last_dn_ptr) __INTRODUCED_IN_64(22);
-int ns_name_skip(const u_char** __ptr_ptr, const u_char* __eom) __INTRODUCED_IN_64(22);
-void ns_name_rollback(const u_char* __src, const u_char** __dn_ptrs, const u_char** __last_dn_ptr) __INTRODUCED_IN_64(22);
+int ns_makecanon(const char* _Nonnull __src, char* _Nonnull __dst, size_t __dst_size) __INTRODUCED_IN(22);
+int ns_samename(const char* _Nonnull __lhs, const char* _Nonnull __rhs) __INTRODUCED_IN(22);
+#endif /* __BIONIC_AVAILABILITY_GUARD(22) */
 
-int ns_makecanon(const char* __src, char* __dst, size_t __dst_size) __INTRODUCED_IN_64(22);
-int ns_samename(const char* __lhs, const char* __rhs) __INTRODUCED_IN_64(22);
-#endif /* !defined(__LP64__) */
 
 __END_DECLS
 
diff --git a/libc/include/arpa/nameser_compat.h b/libc/include/arpa/nameser_compat.h
index e4e9335..027e5ca 100644
--- a/libc/include/arpa/nameser_compat.h
+++ b/libc/include/arpa/nameser_compat.h
@@ -40,9 +40,10 @@
 #ifndef _ARPA_NAMESER_COMPAT_
 #define	_ARPA_NAMESER_COMPAT_
 
-#include <endian.h>
 #include <sys/cdefs.h>
 
+#include <endian.h>
+
 #define	__BIND		19950621	/* (DEAD) interface version stamp. */
 
 /*
diff --git a/libc/include/arpa/telnet.h b/libc/include/arpa/telnet.h
index 758e9b8..30d8f21 100644
--- a/libc/include/arpa/telnet.h
+++ b/libc/include/arpa/telnet.h
@@ -33,6 +33,8 @@
 #ifndef _ARPA_TELNET_H_
 #define	_ARPA_TELNET_H_
 
+#include <sys/cdefs.h>
+
 /*
  * Definitions for the TELNET protocol.
  */
diff --git a/libc/include/assert.h b/libc/include/assert.h
index 8db970b..750d12e 100644
--- a/libc/include/assert.h
+++ b/libc/include/assert.h
@@ -64,7 +64,8 @@
 # endif
 #endif
 
-#if !defined(__cplusplus) && __STDC_VERSION__ >= 201112L
+/* `static_assert` is a keyword in C++11 and C23; C11 had `_Static_assert` instead. */
+#if !defined(__cplusplus) && (__STDC_VERSION__ >= 201112L && __STDC_VERSION__ < 202311L)
 # undef static_assert
 # define static_assert _Static_assert
 #endif
diff --git a/libc/include/bits/bionic_multibyte_result.h b/libc/include/bits/bionic_multibyte_result.h
new file mode 100644
index 0000000..930e67c
--- /dev/null
+++ b/libc/include/bits/bionic_multibyte_result.h
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#pragma once
+
+/**
+ * @file bits/bionic_multibyte_result.h
+ * @brief Named values for the magic number return values of multibyte
+ * conversion APIs defined by C.
+ */
+
+#include <sys/cdefs.h>
+
+#include <stddef.h>
+
+__BEGIN_DECLS
+
+/**
+ * @brief The error values defined by C for multibyte conversion APIs.
+ *
+ * Refer to C23 7.30.1 Restartable multibyte/wide character conversion functions
+ * for more details.
+ */
+enum : size_t {
+  /// @brief An encoding error occurred. The bytes read are not a valid unicode
+  /// character, nor are they a partially valid character.
+  BIONIC_MULTIBYTE_RESULT_ILLEGAL_SEQUENCE = -1UL,
+#define BIONIC_MULTIBYTE_RESULT_ILLEGAL_SEQUENCE BIONIC_MULTIBYTE_RESULT_ILLEGAL_SEQUENCE
+
+  /// @brief The bytes read may produce a valid unicode character, but the
+  /// sequence is incomplete. Future calls may complete the character.
+  BIONIC_MULTIBYTE_RESULT_INCOMPLETE_SEQUENCE = -2UL,
+#define BIONIC_MULTIBYTE_RESULT_INCOMPLETE_SEQUENCE BIONIC_MULTIBYTE_RESULT_INCOMPLETE_SEQUENCE
+
+  /// @brief The output of the call was the result of a previous successful
+  /// decoding. No new bytes were consumed.
+  ///
+  /// The common case for this return value is when mbrtoc16 returns the low
+  /// surrogate of a pair.
+  BIONIC_MULTIBYTE_RESULT_NO_BYTES_CONSUMED = -3UL,
+#define BIONIC_MULTIBYTE_RESULT_NO_BYTES_CONSUMED BIONIC_MULTIBYTE_RESULT_NO_BYTES_CONSUMED
+};
+
+__END_DECLS
diff --git a/libc/include/bits/ctype_inlines.h b/libc/include/bits/ctype_inlines.h
deleted file mode 100644
index 744eb91..0000000
--- a/libc/include/bits/ctype_inlines.h
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#pragma once
-
-#include <sys/cdefs.h>
-#include <xlocale.h>
-
-#if !defined(__BIONIC_CTYPE_INLINE)
-#define __BIONIC_CTYPE_INLINE static __inline
-#endif
-
-/** Internal implementation detail. Do not use. */
-#define _CTYPE_U 0x01
-/** Internal implementation detail. Do not use. */
-#define _CTYPE_L 0x02
-/** Internal implementation detail. Do not use. */
-#define _CTYPE_D 0x04
-/** Internal implementation detail. Do not use. */
-#define _CTYPE_S 0x08
-/** Internal implementation detail. Do not use. */
-#define _CTYPE_P 0x10
-/** Internal implementation detail. Do not use. */
-#define _CTYPE_C 0x20
-/** Internal implementation detail. Do not use. */
-#define _CTYPE_X 0x40
-/** Internal implementation detail. Do not use. */
-#define _CTYPE_B 0x80
-/** Internal implementation detail. Do not use. */
-#define _CTYPE_R (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_D|_CTYPE_B)
-/** Internal implementation detail. Do not use. */
-#define _CTYPE_A (_CTYPE_L|_CTYPE_U)
-/** Internal implementation detail. Do not use. */
-#define _CTYPE_N _CTYPE_D
-
-__BEGIN_DECLS
-
-/** Internal implementation detail. Do not use. */
-extern const char* _ctype_;
-
-/** Returns true if `ch` is in `[A-Za-z0-9]`. */
-__BIONIC_CTYPE_INLINE int isalnum(int __ch) {
-  // `isalnum(c)` is `isalpha(c) || isdigit(c)`, but there's no obvious way
-  // to simplify that, and the table lookup is just slightly faster...
-  // Note that this is unsafe for inputs less than -1 (EOF) or greater than
-  // 0xff. This is true of other C libraries too.
-  return (_ctype_[__ch + 1] & (_CTYPE_U|_CTYPE_L|_CTYPE_N));
-}
-
-/** Returns true if `ch` is in `[A-Za-z]`. */
-__BIONIC_CTYPE_INLINE int isalpha(int __ch) {
-  return (__ch >= 'A' && __ch <= 'Z') || (__ch >= 'a' && __ch <= 'z');
-}
-
-/** Returns true if `ch` is a space or tab. */
-__BIONIC_CTYPE_INLINE int isblank(int __ch) {
-  return __ch == ' ' || __ch == '\t';
-}
-
-/** Returns true if `ch` is a control character (any character before space, plus DEL). */
-__BIONIC_CTYPE_INLINE int iscntrl(int __ch) {
-  return (__BIONIC_CAST(static_cast, unsigned, __ch) < ' ') || __ch == 0x7f;
-}
-
-/** Returns true if `ch` is in `[0-9]`. */
-__BIONIC_CTYPE_INLINE int isdigit(int __ch) {
-  return (__ch >= '0' && __ch <= '9');
-}
-
-/** Returns true if `ch` is `[A-Za-z0-9]` or punctuation. */
-__BIONIC_CTYPE_INLINE int isgraph(int __ch) {
-  return (__ch >= '!' && __ch <= '~');
-}
-
-/** Returns true if `ch` is in `[a-z]`. */
-__BIONIC_CTYPE_INLINE int islower(int __ch) {
-  return (__ch >= 'a' && __ch <= 'z');
-}
-
-/** Returns true if `ch` is `[A-Za-z0-9]` or punctuation or space. */
-__BIONIC_CTYPE_INLINE int isprint(int __ch) {
-  return (__ch >= ' ' && __ch <= '~');
-}
-
-/** Returns true if `ch` is punctuation. */
-__BIONIC_CTYPE_INLINE int ispunct(int __ch) {
-  // `ispunct(c)` is `isgraph(c) && !isalnum(c)`, but there's no obvious way
-  // to simplify that, and the table lookup is just slightly faster...
-  // Note that this is unsafe for inputs less than -1 (EOF) or greater than
-  // 0xff. This is true of other C libraries too.
-  return (_ctype_[__ch + 1] & _CTYPE_P);
-}
-
-/** Returns true if `ch` is in `[ \f\n\r\t\v]`. */
-__BIONIC_CTYPE_INLINE int isspace(int __ch) {
-  return __ch == ' ' || (__ch >= '\t' && __ch <= '\r');
-}
-
-/** Returns true if `ch` is in `[A-Z]`. */
-__BIONIC_CTYPE_INLINE int isupper(int __ch) {
-  return (__ch >= 'A' && __ch <= 'Z');
-}
-
-/** Returns true if `ch` is in `[0-9A-Fa-f]`. */
-__BIONIC_CTYPE_INLINE int isxdigit(int __ch) {
-  return (__ch >= '0' && __ch <= '9') || (__ch >= 'a' && __ch <= 'f') || (__ch >= 'A' && __ch <= 'F');
-}
-
-/**
- * Returns the corresponding lower-case character if `ch` is upper-case, or undefined otherwise.
- *
- * Prefer tolower() instead.
- */
-__BIONIC_CTYPE_INLINE int _tolower(int __ch) {
-  return __ch | 0x20;
-}
-
-/** Returns the corresponding lower-case character if `ch` is upper-case, or `ch` otherwise. */
-__BIONIC_CTYPE_INLINE int tolower(int __ch) {
-  if (__ch >= 'A' && __ch <= 'Z') return _tolower(__ch);
-  return __ch;
-}
-
-/**
- * Returns the corresponding upper-case character if `ch` is lower-case, or undefined otherwise.
- *
- * Prefer toupper() instead.
- */
-__BIONIC_CTYPE_INLINE int _toupper(int __ch) {
-  // Using EOR rather than AND makes no difference on arm, but saves an
-  // instruction on arm64.
-  return __ch ^ 0x20;
-}
-
-/** Returns the corresponding upper-case character if `ch` is lower-case, or `ch` otherwise. */
-__BIONIC_CTYPE_INLINE int toupper(int __ch) {
-  if (__ch >= 'a' && __ch <= 'z') return _toupper(__ch);
-  return __ch;
-}
-
-/** Returns true if `ch` is less than 0x80. */
-__BIONIC_CTYPE_INLINE int isascii(int __ch) {
-  return __BIONIC_CAST(static_cast, unsigned, __ch) < 0x80;
-}
-
-/** Returns `ch & 0x7f`. */
-__BIONIC_CTYPE_INLINE int toascii(int __ch) {
-  return __ch & 0x7f;
-}
-
-#if __ANDROID_API__ >= 21
-/** Like isalnum but with an ignored `locale_t`. */
-int isalnum_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
-/** Like isalpha but with an ignored `locale_t`. */
-int isalpha_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
-/** Like isblank but with an ignored `locale_t`. */
-int isblank_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
-/** Like iscntrl but with an ignored `locale_t`. */
-int iscntrl_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
-/** Like isdigit but with an ignored `locale_t`. */
-int isdigit_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
-/** Like isgraph but with an ignored `locale_t`. */
-int isgraph_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
-/** Like islower but with an ignored `locale_t`. */
-int islower_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
-/** Like isprint but with an ignored `locale_t`. */
-int isprint_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
-/** Like ispunct but with an ignored `locale_t`. */
-int ispunct_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
-/** Like isspace but with an ignored `locale_t`. */
-int isspace_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
-/** Like isupper but with an ignored `locale_t`. */
-int isupper_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
-/** Like isxdigit but with an ignored `locale_t`. */
-int isxdigit_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
-/** Like tolower but with an ignored `locale_t`. */
-int tolower_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
-/** Like toupper but with an ignored `locale_t`. */
-int toupper_l(int __ch, locale_t __l) __INTRODUCED_IN(21);
-#else
-// Implemented as static inlines in libc++ before 21.
-#endif
-
-__END_DECLS
diff --git a/libc/include/bits/elf_common.h b/libc/include/bits/elf_common.h
index b3c57a2..13d4fbf 100644
--- a/libc/include/bits/elf_common.h
+++ b/libc/include/bits/elf_common.h
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2017, 2018 Dell EMC
  * Copyright (c) 2000, 2001, 2008, 2011, David E. O'Brien
@@ -26,8 +26,6 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- *
- * $FreeBSD$
  */
 
 #ifndef _SYS_ELF_COMMON_H_
@@ -38,6 +36,26 @@
  */
 
 /*
+ * Note header.  The ".note" section contains an array of notes.  Each
+ * begins with this header, aligned to a word boundary.  Immediately
+ * following the note header is n_namesz bytes of name, padded to the
+ * next word boundary.  Then comes n_descsz bytes of descriptor, again
+ * padded to a word boundary.  The values of n_namesz and n_descsz do
+ * not include the padding.
+ */
+
+#if 0 // android-added
+#if !defined(LOCORE) && !defined(__ASSEMBLER__)
+typedef struct {
+	u_int32_t	n_namesz;	/* Length of name. */
+	u_int32_t	n_descsz;	/* Length of descriptor. */
+	u_int32_t	n_type;		/* Type of this note. */
+} Elf_Note;
+typedef Elf_Note Elf_Nhdr;
+#endif
+#endif // android-added
+
+/*
  * Option kinds.
  */
 #define	ODK_NULL	0	/* undefined */
@@ -92,6 +110,21 @@
 #define	OGP_GROUP	0x0000ffff	/* GP group number */
 #define	OGP_SELF	0x00010000	/* GP group is self-contained */
 
+/*
+ * The header for GNU-style hash sections.
+ */
+
+#if 0 // android-added
+#if !defined(LOCORE) && !defined(__ASSEMBLER__)
+typedef struct {
+	u_int32_t	gh_nbuckets;	/* Number of hash buckets. */
+	u_int32_t	gh_symndx;	/* First visible symbol in .dynsym. */
+	u_int32_t	gh_maskwords;	/* #maskwords used in bloom filter. */
+	u_int32_t	gh_shift2;	/* Bloom filter shift count. */
+} Elf_GNU_Hash_Header;
+#endif
+#endif
+
 /* Indexes into the e_ident array.  Keep synced with
    http://www.sco.com/developers/gabi/latest/ch4.eheader.html */
 #define	EI_MAG0		0	/* Magic number, byte 0. */
@@ -153,7 +186,9 @@
 #define	ELFOSABI_ARM		97	/* ARM */
 #define	ELFOSABI_STANDALONE	255	/* Standalone (embedded) application */
 
+#define	ELFOSABI_SYSV		ELFOSABI_NONE	/* symbol used in old spec */
 #define	ELFOSABI_MONTEREY	ELFOSABI_AIX	/* Monterey */
+#define	ELFOSABI_GNU		ELFOSABI_LINUX
 
 /* e_ident */
 #define	IS_ELF(ehdr)	((ehdr).e_ident[EI_MAG0] == ELFMAG0 && \
@@ -299,6 +334,7 @@
 #define	EF_ARM_EABI_VER3	0x03000000
 #define	EF_ARM_EABI_VER4	0x04000000
 #define	EF_ARM_EABI_VER5	0x05000000
+#define	EF_ARM_EABI_VERSION(x)	((x) & EF_ARM_EABIMASK)
 #define	EF_ARM_INTERWORK	0x00000004
 #define	EF_ARM_APCS_26		0x00000008
 #define	EF_ARM_APCS_FLOAT	0x00000010
@@ -418,12 +454,12 @@
 #define	SHT_HIOS		0x6fffffff	/* Last of OS specific semantics */
 #define	SHT_LOPROC		0x70000000	/* reserved range for processor */
 #define	SHT_X86_64_UNWIND	0x70000001	/* unwind information */
-#define	SHT_AMD64_UNWIND	SHT_X86_64_UNWIND
+#define	SHT_AMD64_UNWIND	SHT_X86_64_UNWIND 
 
 #define	SHT_ARM_EXIDX		0x70000001	/* Exception index table. */
-#define	SHT_ARM_PREEMPTMAP	0x70000002	/* BPABI DLL dynamic linking
+#define	SHT_ARM_PREEMPTMAP	0x70000002	/* BPABI DLL dynamic linking 
 						   pre-emption map. */
-#define	SHT_ARM_ATTRIBUTES	0x70000003	/* Object file compatibility
+#define	SHT_ARM_ATTRIBUTES	0x70000003	/* Object file compatibility 
 						   attributes. */
 #define	SHT_ARM_DEBUGOVERLAY	0x70000004	/* See DBGOVL for details. */
 #define	SHT_ARM_OVERLAYSECTION	0x70000005	/* See DBGOVL for details. */
@@ -499,6 +535,9 @@
 #define	PT_TLS		7	/* Thread local storage segment */
 #define	PT_LOOS		0x60000000	/* First OS-specific. */
 #define	PT_SUNW_UNWIND	0x6464e550	/* amd64 UNWIND program header */
+// android-removed: #define	PT_GNU_EH_FRAME	0x6474e550
+// android-removed: #define	PT_GNU_STACK	0x6474e551
+// android-removed: #define	PT_GNU_RELRO	0x6474e552
 #define	PT_DUMP_DELTA	0x6fb5d000	/* va->pa map for kernel dumps
 					   (currently arm). */
 #define	PT_LOSUNW	0x6ffffffa
@@ -648,11 +687,6 @@
 #define	DT_AARCH64_BTI_PLT		0x70000001
 #define	DT_AARCH64_PAC_PLT		0x70000003
 #define	DT_AARCH64_VARIANT_PCS		0x70000005
-#define DT_AARCH64_MEMTAG_MODE		0x70000009
-#define DT_AARCH64_MEMTAG_HEAP		0x7000000b
-#define DT_AARCH64_MEMTAG_STACK		0x7000000c
-#define DT_AARCH64_MEMTAG_GLOBALS	0x7000000d
-#define DT_AARCH64_MEMTAG_GLOBALSSZ	0x7000000f
 
 #define	DT_ARM_SYMTABSZ			0x70000001
 #define	DT_ARM_PREEMPTMAP		0x70000002
@@ -810,6 +844,7 @@
 
 #define	GNU_PROPERTY_AARCH64_FEATURE_1_AND	0xc0000000
 
+// android-removed: #define	GNU_PROPERTY_AARCH64_FEATURE_1_BTI	0x00000001
 #define	GNU_PROPERTY_AARCH64_FEATURE_1_PAC	0x00000002
 
 #define	GNU_PROPERTY_X86_FEATURE_1_AND		0xc0000002
@@ -918,6 +953,49 @@
 #define	ELFCOMPRESS_LOPROC	0x70000000	/* Processor-specific */
 #define	ELFCOMPRESS_HIPROC	0x7fffffff
 
+#if 0 // android-added
+/* Values for a_type. */
+#define	AT_NULL		0	/* Terminates the vector. */
+#define	AT_IGNORE	1	/* Ignored entry. */
+#define	AT_EXECFD	2	/* File descriptor of program to load. */
+#define	AT_PHDR		3	/* Program header of program already loaded. */
+#define	AT_PHENT	4	/* Size of each program header entry. */
+#define	AT_PHNUM	5	/* Number of program header entries. */
+#define	AT_PAGESZ	6	/* Page size in bytes. */
+#define	AT_BASE		7	/* Interpreter's base address. */
+#define	AT_FLAGS	8	/* Flags. */
+#define	AT_ENTRY	9	/* Where interpreter should transfer control. */
+#define	AT_NOTELF	10	/* Program is not ELF ?? */
+#define	AT_UID		11	/* Real uid. */
+#define	AT_EUID		12	/* Effective uid. */
+#define	AT_GID		13	/* Real gid. */
+#define	AT_EGID		14	/* Effective gid. */
+#define	AT_EXECPATH	15	/* Path to the executable. */
+#define	AT_CANARY	16	/* Canary for SSP. */
+#define	AT_CANARYLEN	17	/* Length of the canary. */
+#define	AT_OSRELDATE	18	/* OSRELDATE. */
+#define	AT_NCPUS	19	/* Number of CPUs. */
+#define	AT_PAGESIZES	20	/* Pagesizes. */
+#define	AT_PAGESIZESLEN	21	/* Number of pagesizes. */
+#define	AT_TIMEKEEP	22	/* Pointer to timehands. */
+#define	AT_STACKPROT	23	/* Initial stack protection. */
+#define	AT_EHDRFLAGS	24	/* e_flags field from elf hdr */
+#define	AT_HWCAP	25	/* CPU feature flags. */
+#define	AT_HWCAP2	26	/* CPU feature flags 2. */
+#define	AT_BSDFLAGS	27	/* ELF BSD Flags. */
+#define	AT_ARGC		28	/* Argument count */
+#define	AT_ARGV		29	/* Argument vector */
+#define	AT_ENVC		30	/* Environment count */
+#define	AT_ENVV		31	/* Environment vector */
+#define	AT_PS_STRINGS	32	/* struct ps_strings */
+#define	AT_FXRNG	33	/* Pointer to root RNG seed version. */
+#define	AT_KPRELOAD	34	/* Base of vdso, preloaded by rtld */
+#define	AT_USRSTACKBASE	35	/* Top of user stack */
+#define	AT_USRSTACKLIM	36	/* Grow limit of user stack */
+
+#define	AT_COUNT	37	/* Count of defined aux entry types. */
+#endif // android-added
+
 /*
  * Relocation types.
  *
@@ -1087,7 +1165,7 @@
 #define	R_IA_64_PCREL22		0x7a	/* immediate22	S + A - P */
 #define	R_IA_64_PCREL64I	0x7b	/* immediate64	S + A - P */
 #define	R_IA_64_IPLTMSB		0x80	/* function descriptor MSB special */
-#define	R_IA_64_IPLTLSB		0x81	/* function descriptor LSB speciaal */
+#define	R_IA_64_IPLTLSB		0x81	/* function descriptor LSB special */
 #define	R_IA_64_SUB		0x85	/* immediate64	A - S */
 #define	R_IA_64_LTOFF22X	0x86	/* immediate22	special */
 #define	R_IA_64_LDXMOV		0x87	/* immediate22	special */
@@ -1290,8 +1368,6 @@
 #define	R_RISCV_SUB16		38
 #define	R_RISCV_SUB32		39
 #define	R_RISCV_SUB64		40
-#define	R_RISCV_GNU_VTINHERIT	41
-#define	R_RISCV_GNU_VTENTRY	42
 #define	R_RISCV_ALIGN		43
 #define	R_RISCV_RVC_BRANCH	44
 #define	R_RISCV_RVC_JUMP	45
diff --git a/libc/include/bits/fcntl.h b/libc/include/bits/fcntl.h
index 597aa6e..e3f3548 100644
--- a/libc/include/bits/fcntl.h
+++ b/libc/include/bits/fcntl.h
@@ -38,11 +38,11 @@
 __BEGIN_DECLS
 
 /**
- * [fcntl(3)](http://man7.org/linux/man-pages/man2/fcntl.2.html) performs various operations
+ * [fcntl(3)](https://man7.org/linux/man-pages/man2/fcntl.2.html) performs various operations
  * on file descriptors.
  *
  * The return value depends on the operation.
  */
-int fcntl(int __fd, int __cmd, ...);
+int fcntl(int __fd, int __op, ...);
 
 __END_DECLS
diff --git a/libc/include/bits/fortify/fcntl.h b/libc/include/bits/fortify/fcntl.h
index 1f6ebad..05c62eb 100644
--- a/libc/include/bits/fortify/fcntl.h
+++ b/libc/include/bits/fortify/fcntl.h
@@ -30,13 +30,13 @@
 #error "Never include this file directly; instead, include <fcntl.h>"
 #endif
 
-int __open_2(const char*, int) __INTRODUCED_IN(17);
-int __openat_2(int, const char*, int) __INTRODUCED_IN(17);
+int __open_2(const char* _Nonnull, int);
+int __openat_2(int, const char* _Nonnull, int);
 /*
  * These are the easiest way to call the real open even in clang FORTIFY.
  */
-int __open_real(const char*, int, ...) __RENAME(open);
-int __openat_real(int, const char*, int, ...) __RENAME(openat);
+int __open_real(const char* _Nonnull, int, ...) __RENAME(open);
+int __openat_real(int, const char* _Nonnull, int, ...) __RENAME(openat);
 
 #if defined(__BIONIC_FORTIFY)
 #define __open_too_many_args_error "too many arguments"
@@ -46,7 +46,7 @@
 #define __open_modes_useful(flags) (((flags) & O_CREAT) || ((flags) & O_TMPFILE) == O_TMPFILE)
 
 __BIONIC_ERROR_FUNCTION_VISIBILITY
-int open(const char* pathname, int flags, mode_t modes, ...) __overloadable
+int open(const char* _Nonnull pathname, int flags, mode_t modes, ...) __overloadable
         __errorattr(__open_too_many_args_error);
 
 /*
@@ -56,7 +56,7 @@
  * open(const char *, int, ...).
  */
 __BIONIC_FORTIFY_INLINE
-int open(const char* const __pass_object_size pathname, int flags)
+int open(const char* _Nonnull const __pass_object_size pathname, int flags)
         __overloadable
         __clang_error_if(__open_modes_useful(flags), "'open' " __open_too_few_args_error) {
 #if __BIONIC_FORTIFY_RUNTIME_CHECKS_ENABLED
@@ -67,7 +67,7 @@
 }
 
 __BIONIC_FORTIFY_INLINE
-int open(const char* const __pass_object_size pathname, int flags, mode_t modes)
+int open(const char* _Nonnull const __pass_object_size pathname, int flags, mode_t modes)
         __overloadable
         __clang_warning_if(!__open_modes_useful(flags) && modes,
                            "'open' " __open_useless_modes_warning) {
@@ -75,12 +75,12 @@
 }
 
 __BIONIC_ERROR_FUNCTION_VISIBILITY
-int openat(int dirfd, const char* pathname, int flags, mode_t modes, ...)
+int openat(int dirfd, const char* _Nonnull pathname, int flags, mode_t modes, ...)
         __overloadable
         __errorattr(__open_too_many_args_error);
 
 __BIONIC_FORTIFY_INLINE
-int openat(int dirfd, const char* const __pass_object_size pathname, int flags)
+int openat(int dirfd, const char* _Nonnull const __pass_object_size pathname, int flags)
         __overloadable
         __clang_error_if(__open_modes_useful(flags), "'openat' " __open_too_few_args_error) {
 #if __BIONIC_FORTIFY_RUNTIME_CHECKS_ENABLED
@@ -91,7 +91,7 @@
 }
 
 __BIONIC_FORTIFY_INLINE
-int openat(int dirfd, const char* const __pass_object_size pathname, int flags, mode_t modes)
+int openat(int dirfd, const char* _Nonnull const __pass_object_size pathname, int flags, mode_t modes)
         __overloadable
         __clang_warning_if(!__open_modes_useful(flags) && modes,
                            "'openat' " __open_useless_modes_warning) {
@@ -101,18 +101,18 @@
 /* Note that open == open64, so we reuse those bits in the open64 variants below.  */
 
 __BIONIC_ERROR_FUNCTION_VISIBILITY
-int open64(const char* pathname, int flags, mode_t modes, ...) __overloadable
+int open64(const char* _Nonnull pathname, int flags, mode_t modes, ...) __overloadable
         __errorattr(__open_too_many_args_error);
 
 __BIONIC_FORTIFY_INLINE
-int open64(const char* const __pass_object_size pathname, int flags)
+int open64(const char* _Nonnull const __pass_object_size pathname, int flags)
         __overloadable
         __clang_error_if(__open_modes_useful(flags), "'open64' " __open_too_few_args_error) {
     return open(pathname, flags);
 }
 
 __BIONIC_FORTIFY_INLINE
-int open64(const char* const __pass_object_size pathname, int flags, mode_t modes)
+int open64(const char* _Nonnull const __pass_object_size pathname, int flags, mode_t modes)
         __overloadable
         __clang_warning_if(!__open_modes_useful(flags) && modes,
                            "'open64' " __open_useless_modes_warning) {
@@ -120,19 +120,19 @@
 }
 
 __BIONIC_ERROR_FUNCTION_VISIBILITY
-int openat64(int dirfd, const char* pathname, int flags, mode_t modes, ...)
+int openat64(int dirfd, const char* _Nonnull pathname, int flags, mode_t modes, ...)
         __overloadable
         __errorattr(__open_too_many_args_error);
 
 __BIONIC_FORTIFY_INLINE
-int openat64(int dirfd, const char* const __pass_object_size pathname, int flags)
+int openat64(int dirfd, const char* _Nonnull const __pass_object_size pathname, int flags)
         __overloadable
         __clang_error_if(__open_modes_useful(flags), "'openat64' " __open_too_few_args_error) {
     return openat(dirfd, pathname, flags);
 }
 
 __BIONIC_FORTIFY_INLINE
-int openat64(int dirfd, const char* const __pass_object_size pathname, int flags, mode_t modes)
+int openat64(int dirfd, const char* _Nonnull const __pass_object_size pathname, int flags, mode_t modes)
         __overloadable
         __clang_warning_if(!__open_modes_useful(flags) && modes,
                            "'openat64' " __open_useless_modes_warning) {
diff --git a/libc/include/bits/fortify/poll.h b/libc/include/bits/fortify/poll.h
index 0b5cd4b..1b4a5bf 100644
--- a/libc/include/bits/fortify/poll.h
+++ b/libc/include/bits/fortify/poll.h
@@ -30,9 +30,17 @@
 #error "Never include this file directly; instead, include <poll.h>"
 #endif
 
-int __poll_chk(struct pollfd*, nfds_t, int, size_t) __INTRODUCED_IN(23);
-int __ppoll_chk(struct pollfd*, nfds_t, const struct timespec*, const sigset_t*, size_t) __INTRODUCED_IN(23);
-int __ppoll64_chk(struct pollfd*, nfds_t, const struct timespec*, const sigset64_t*, size_t) __INTRODUCED_IN(28);
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
+int __poll_chk(struct pollfd* _Nullable, nfds_t, int, size_t) __INTRODUCED_IN(23);
+int __ppoll_chk(struct pollfd* _Nullable, nfds_t, const struct timespec* _Nullable, const sigset_t* _Nullable, size_t) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
+int __ppoll64_chk(struct pollfd* _Nullable, nfds_t, const struct timespec* _Nullable, const sigset64_t* _Nullable, size_t) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 
 #if defined(__BIONIC_FORTIFY)
 #define __bos_fd_count_trivially_safe(bos_val, fds, fd_count)              \
@@ -40,7 +48,7 @@
                                (fd_count) <= __BIONIC_CAST(static_cast, nfds_t, -1) / sizeof(*fds))
 
 __BIONIC_FORTIFY_INLINE
-int poll(struct pollfd* const fds __pass_object_size, nfds_t fd_count, int timeout)
+int poll(struct pollfd* _Nullable const fds __pass_object_size, nfds_t fd_count, int timeout)
     __overloadable
     __clang_error_if(__bos_unevaluated_lt(__bos(fds), sizeof(*fds) * fd_count),
                      "in call to 'poll', fd_count is larger than the given buffer") {
@@ -55,7 +63,7 @@
 }
 
 __BIONIC_FORTIFY_INLINE
-int ppoll(struct pollfd* const fds __pass_object_size, nfds_t fd_count, const struct timespec* timeout, const sigset_t* mask)
+int ppoll(struct pollfd* _Nullable const fds __pass_object_size, nfds_t fd_count, const struct timespec* _Nullable timeout, const sigset_t* _Nullable mask)
     __overloadable
     __clang_error_if(__bos_unevaluated_lt(__bos(fds), sizeof(*fds) * fd_count),
                      "in call to 'ppoll', fd_count is larger than the given buffer") {
@@ -71,7 +79,7 @@
 
 #if __ANDROID_API__ >= 28
 __BIONIC_FORTIFY_INLINE
-int ppoll64(struct pollfd* const fds __pass_object_size, nfds_t fd_count, const struct timespec* timeout, const sigset64_t* mask)
+int ppoll64(struct pollfd* _Nullable const fds __pass_object_size, nfds_t fd_count, const struct timespec* _Nullable timeout, const sigset64_t* _Nullable mask)
     __overloadable
     __clang_error_if(__bos_unevaluated_lt(__bos(fds), sizeof(*fds) * fd_count),
                      "in call to 'ppoll64', fd_count is larger than the given buffer") {
diff --git a/libc/include/bits/fortify/socket.h b/libc/include/bits/fortify/socket.h
index 9e7df6d..bd626f9 100644
--- a/libc/include/bits/fortify/socket.h
+++ b/libc/include/bits/fortify/socket.h
@@ -30,15 +30,17 @@
 #error "Never include this file directly; instead, include <sys/socket.h>"
 #endif
 
-extern ssize_t __sendto_chk(int, const void*, size_t, size_t, int, const struct sockaddr*,
-        socklen_t) __INTRODUCED_IN(26);
-ssize_t __recvfrom_chk(int, void*, size_t, size_t, int, struct sockaddr*,
-        socklen_t*) __INTRODUCED_IN(21);
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+ssize_t __sendto_chk(int, const void* _Nonnull, size_t, size_t, int, const struct sockaddr* _Nullable, socklen_t) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
+ssize_t __recvfrom_chk(int, void* _Nullable, size_t, size_t, int, struct sockaddr* _Nullable, socklen_t* _Nullable);
 
 #if defined(__BIONIC_FORTIFY)
 
 __BIONIC_FORTIFY_INLINE
-ssize_t recvfrom(int fd, void* const buf __pass_object_size0, size_t len, int flags, struct sockaddr* src_addr, socklen_t* addr_len)
+ssize_t recvfrom(int fd, void* _Nullable const buf __pass_object_size0, size_t len, int flags, struct sockaddr* _Nullable src_addr, socklen_t* _Nullable addr_len)
     __overloadable
     __clang_error_if(__bos_unevaluated_lt(__bos0(buf), len),
                      "'recvfrom' called with size bigger than buffer") {
@@ -53,7 +55,7 @@
 }
 
 __BIONIC_FORTIFY_INLINE
-ssize_t sendto(int fd, const void* const buf __pass_object_size0, size_t len, int flags, const struct sockaddr* dest_addr, socklen_t addr_len)
+ssize_t sendto(int fd, const void* _Nonnull const buf __pass_object_size0, size_t len, int flags, const struct sockaddr* _Nullable dest_addr, socklen_t addr_len)
     __overloadable
     __clang_error_if(__bos_unevaluated_lt(__bos0(buf), len),
                      "'sendto' called with size bigger than buffer") {
@@ -68,7 +70,7 @@
 }
 
 __BIONIC_FORTIFY_INLINE
-ssize_t recv(int socket, void* const buf __pass_object_size0, size_t len, int flags)
+ssize_t recv(int socket, void* _Nullable const buf __pass_object_size0, size_t len, int flags)
     __overloadable
     __clang_error_if(__bos_unevaluated_lt(__bos0(buf), len),
                      "'recv' called with size bigger than buffer") {
@@ -76,7 +78,7 @@
 }
 
 __BIONIC_FORTIFY_INLINE
-ssize_t send(int socket, const void* const buf __pass_object_size0, size_t len, int flags)
+ssize_t send(int socket, const void* _Nonnull const buf __pass_object_size0, size_t len, int flags)
     __overloadable
     __clang_error_if(__bos_unevaluated_lt(__bos0(buf), len),
                      "'send' called with size bigger than buffer") {
diff --git a/libc/include/bits/fortify/stat.h b/libc/include/bits/fortify/stat.h
index 9b4ade2..378072c 100644
--- a/libc/include/bits/fortify/stat.h
+++ b/libc/include/bits/fortify/stat.h
@@ -28,7 +28,7 @@
 
 #pragma once
 
-mode_t __umask_chk(mode_t) __INTRODUCED_IN(18);
+mode_t __umask_chk(mode_t);
 mode_t __umask_real(mode_t mode) __RENAME(umask);
 
 #if defined(__BIONIC_FORTIFY)
diff --git a/libc/include/bits/fortify/stdio.h b/libc/include/bits/fortify/stdio.h
index 95db017..f9faeba 100644
--- a/libc/include/bits/fortify/stdio.h
+++ b/libc/include/bits/fortify/stdio.h
@@ -30,29 +30,33 @@
 #error "Never include this file directly; instead, include <stdio.h>"
 #endif
 
-char* __fgets_chk(char*, int, FILE*, size_t) __INTRODUCED_IN(17);
-size_t __fread_chk(void*, size_t, size_t, FILE*, size_t) __INTRODUCED_IN(24);
-size_t __fwrite_chk(const void*, size_t, size_t, FILE*, size_t) __INTRODUCED_IN(24);
+char* _Nullable __fgets_chk(char* _Nonnull, int, FILE* _Nonnull, size_t);
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
+size_t __fread_chk(void* _Nonnull, size_t, size_t, FILE* _Nonnull, size_t) __INTRODUCED_IN(24);
+size_t __fwrite_chk(const void* _Nonnull, size_t, size_t, FILE* _Nonnull, size_t) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
 
 #if defined(__BIONIC_FORTIFY) && !defined(__BIONIC_NO_STDIO_FORTIFY)
 
 #if __BIONIC_FORTIFY_RUNTIME_CHECKS_ENABLED
 /* No diag -- clang diagnoses misuses of this on its own.  */
 __BIONIC_FORTIFY_INLINE __printflike(3, 0)
-int vsnprintf(char* const __pass_object_size dest, size_t size, const char* format, va_list ap)
+int vsnprintf(char* const __BIONIC_COMPLICATED_NULLNESS __pass_object_size dest, size_t size, const char* _Nonnull format, va_list ap)
         __diagnose_as_builtin(__builtin_vsnprintf, 1, 2, 3, 4)
         __overloadable {
     return __builtin___vsnprintf_chk(dest, size, 0, __bos(dest), format, ap);
 }
 
 __BIONIC_FORTIFY_INLINE __printflike(2, 0)
-int vsprintf(char* const __pass_object_size dest, const char* format, va_list ap) __overloadable {
+int vsprintf(char* const __BIONIC_COMPLICATED_NULLNESS __pass_object_size dest, const char* _Nonnull format, va_list ap) __overloadable {
     return __builtin___vsprintf_chk(dest, 0, __bos(dest), format, ap);
 }
 #endif
 
 __BIONIC_ERROR_FUNCTION_VISIBILITY
-int sprintf(char* dest, const char* format)
+int sprintf(char* __BIONIC_COMPLICATED_NULLNESS dest, const char* _Nonnull format)
     __overloadable
     __enable_if(__bos_unevaluated_lt(__bos(dest), __builtin_strlen(format)),
                 "format string will always overflow destination buffer")
@@ -60,7 +64,7 @@
 
 #if __BIONIC_FORTIFY_RUNTIME_CHECKS_ENABLED
 __BIONIC_FORTIFY_VARIADIC __printflike(2, 3)
-int sprintf(char* const __pass_object_size dest, const char* format, ...) __overloadable {
+int sprintf(char* const __BIONIC_COMPLICATED_NULLNESS __pass_object_size dest, const char* _Nonnull format, ...) __overloadable {
     va_list va;
     va_start(va, format);
     int result = __builtin___vsprintf_chk(dest, 0, __bos(dest), format, va);
@@ -70,7 +74,7 @@
 
 /* No diag -- clang diagnoses misuses of this on its own.  */
 __BIONIC_FORTIFY_VARIADIC __printflike(3, 4)
-int snprintf(char* const __pass_object_size dest, size_t size, const char* format, ...)
+int snprintf(char* const __BIONIC_COMPLICATED_NULLNESS __pass_object_size dest, size_t size, const char* _Nonnull format, ...)
         __diagnose_as_builtin(__builtin_snprintf, 1, 2, 3)
         __overloadable {
     va_list va;
@@ -86,7 +90,7 @@
                                !__unsafe_check_mul_overflow(size, count))
 
 __BIONIC_FORTIFY_INLINE
-size_t fread(void* const __pass_object_size0 buf, size_t size, size_t count, FILE* stream)
+size_t fread(void* const _Nonnull __pass_object_size0 buf, size_t size, size_t count, FILE* _Nonnull stream)
         __overloadable
         __clang_error_if(__unsafe_check_mul_overflow(size, count),
                          "in call to 'fread', size * count overflows")
@@ -103,7 +107,7 @@
 }
 
 __BIONIC_FORTIFY_INLINE
-size_t fwrite(const void* const __pass_object_size0 buf, size_t size, size_t count, FILE* stream)
+size_t fwrite(const void* const _Nonnull __pass_object_size0 buf, size_t size, size_t count, FILE* _Nonnull stream)
         __overloadable
         __clang_error_if(__unsafe_check_mul_overflow(size, count),
                          "in call to 'fwrite', size * count overflows")
@@ -121,7 +125,7 @@
 #undef __bos_trivially_ge_mul
 
 __BIONIC_FORTIFY_INLINE
-char* fgets(char* const __pass_object_size dest, int size, FILE* stream)
+char* _Nullable fgets(char* const _Nonnull __pass_object_size dest, int size, FILE* _Nonnull stream)
         __overloadable
         __clang_error_if(size < 0, "in call to 'fgets', size should not be negative")
         __clang_error_if(__bos_unevaluated_lt(__bos(dest), size),
diff --git a/libc/include/bits/fortify/stdlib.h b/libc/include/bits/fortify/stdlib.h
index 623be58..b84dae4 100644
--- a/libc/include/bits/fortify/stdlib.h
+++ b/libc/include/bits/fortify/stdlib.h
@@ -35,7 +35,7 @@
 /* PATH_MAX is unavailable without polluting the namespace, but it's always 4096 on Linux */
 #define __PATH_MAX 4096
 
-char* realpath(const char* path, char* resolved)
+char* _Nullable realpath(const char* _Nonnull path, char* _Nullable resolved)
         __clang_error_if(!path, "'realpath': NULL path is never correct; flipped arguments?")
         __clang_error_if(__bos_unevaluated_lt(__bos(resolved), __PATH_MAX),
                          "'realpath' output parameter must be NULL or a pointer to a buffer "
diff --git a/libc/include/bits/fortify/string.h b/libc/include/bits/fortify/string.h
index f668b9f..6f0ee4a 100644
--- a/libc/include/bits/fortify/string.h
+++ b/libc/include/bits/fortify/string.h
@@ -30,20 +30,24 @@
 #error "Never include this file directly; instead, include <string.h>"
 #endif
 
-void* __memchr_chk(const void*, int, size_t, size_t) __INTRODUCED_IN(23);
-void* __memrchr_chk(const void*, int, size_t, size_t) __INTRODUCED_IN(23);
-char* __stpncpy_chk2(char*, const char*, size_t, size_t, size_t) __INTRODUCED_IN(21);
-char* __strncpy_chk2(char*, const char*, size_t, size_t, size_t) __INTRODUCED_IN(21);
-size_t __strlcpy_chk(char*, const char*, size_t, size_t) __INTRODUCED_IN(17);
-size_t __strlcat_chk(char*, const char*, size_t, size_t) __INTRODUCED_IN(17);
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
+void* _Nullable __memchr_chk(const void* _Nonnull, int, size_t, size_t) __INTRODUCED_IN(23);
+void* _Nullable __memrchr_chk(const void* _Nonnull, int, size_t, size_t) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+char* _Nonnull __stpncpy_chk2(char* _Nonnull, const char* _Nonnull, size_t, size_t, size_t);
+char* _Nonnull __strncpy_chk2(char* _Nonnull, const char* _Nonnull, size_t, size_t, size_t);
+size_t __strlcpy_chk(char* _Nonnull, const char* _Nonnull, size_t, size_t);
+size_t __strlcat_chk(char* _Nonnull, const char* _Nonnull, size_t, size_t);
 
 #if defined(__BIONIC_FORTIFY)
-extern void* __memrchr_real(const void*, int, size_t) __RENAME(memrchr);
+void* _Nullable __memrchr_real(const void* _Nonnull, int, size_t) __RENAME(memrchr);
 
 #if __BIONIC_FORTIFY_RUNTIME_CHECKS_ENABLED
 /* No diag -- clang diagnoses misuses of this on its own.  */
 __BIONIC_FORTIFY_INLINE
-void* memcpy(void* const dst __pass_object_size0, const void* src, size_t copy_amount)
+void* _Nonnull memcpy(void* _Nonnull const dst __pass_object_size0, const void* _Nonnull src, size_t copy_amount)
         __diagnose_as_builtin(__builtin_memcpy, 1, 2, 3)
         __overloadable {
     return __builtin___memcpy_chk(dst, src, copy_amount, __bos0(dst));
@@ -51,7 +55,7 @@
 
 /* No diag -- clang diagnoses misuses of this on its own.  */
 __BIONIC_FORTIFY_INLINE
-void* memmove(void* const dst __pass_object_size0, const void* src, size_t len)
+void* _Nonnull memmove(void* _Nonnull const dst __pass_object_size0, const void* _Nonnull src, size_t len)
         __diagnose_as_builtin(__builtin_memmove, 1, 2, 3)
         __overloadable {
     return __builtin___memmove_chk(dst, src, len, __bos0(dst));
@@ -61,7 +65,7 @@
 #if defined(__USE_GNU)
 #if __ANDROID_API__ >= 30
 __BIONIC_FORTIFY_INLINE
-void* mempcpy(void* const dst __pass_object_size0, const void* src, size_t copy_amount)
+void* _Nonnull mempcpy(void* _Nonnull const dst __pass_object_size0, const void* _Nonnull src, size_t copy_amount)
         __diagnose_as_builtin(__builtin_mempcpy, 1, 2, 3)
         __overloadable
         __clang_error_if(__bos_unevaluated_lt(__bos0(dst), copy_amount),
@@ -78,7 +82,7 @@
 #endif /* __USE_GNU */
 
 __BIONIC_FORTIFY_INLINE
-char* stpcpy(char* const dst __pass_object_size, const char* src)
+char* _Nonnull stpcpy(char* _Nonnull const dst __pass_object_size, const char* _Nonnull src)
         __overloadable
         __clang_error_if(__bos_unevaluated_le(__bos(dst), __builtin_strlen(src)),
                          "'stpcpy' called with string bigger than buffer") {
@@ -90,7 +94,7 @@
 }
 
 __BIONIC_FORTIFY_INLINE
-char* strcpy(char* const dst __pass_object_size, const char* src)
+char* _Nonnull strcpy(char* _Nonnull const dst __pass_object_size, const char* _Nonnull src)
         __diagnose_as_builtin(__builtin_strcpy, 1, 2)
         __overloadable
         __clang_error_if(__bos_unevaluated_le(__bos(dst), __builtin_strlen(src)),
@@ -103,7 +107,7 @@
 }
 
 __BIONIC_FORTIFY_INLINE
-char* strcat(char* const dst __pass_object_size, const char* src)
+char* _Nonnull strcat(char* _Nonnull const dst __pass_object_size, const char* _Nonnull src)
         __overloadable
         __clang_error_if(__bos_unevaluated_le(__bos(dst), __builtin_strlen(src)),
                          "'strcat' called with string bigger than buffer") {
@@ -117,7 +121,7 @@
 #if __BIONIC_FORTIFY_RUNTIME_CHECKS_ENABLED
 /* No diag -- clang diagnoses misuses of this on its own.  */
 __BIONIC_FORTIFY_INLINE
-char* strncat(char* const dst __pass_object_size, const char* src, size_t n)
+char* _Nonnull strncat(char* _Nonnull const dst __pass_object_size, const char* _Nonnull src, size_t n)
        __diagnose_as_builtin(__builtin_strncat, 1, 2, 3)
        __overloadable {
     return __builtin___strncat_chk(dst, src, n, __bos(dst));
@@ -126,7 +130,7 @@
 
 /* No diag -- clang diagnoses misuses of this on its own.  */
 __BIONIC_FORTIFY_INLINE
-void* memset(void* const s __pass_object_size0, int c, size_t n) __overloadable
+void* _Nonnull memset(void* _Nonnull const s __pass_object_size0, int c, size_t n) __overloadable
         __diagnose_as_builtin(__builtin_memset, 1, 2, 3)
         /* If you're a user who wants this warning to go away: use `(&memset)(foo, bar, baz)`. */
         __clang_warning_if(c && !n, "'memset' will set 0 bytes; maybe the arguments got flipped?") {
@@ -139,7 +143,7 @@
 
 #if __ANDROID_API__ >= 23 && __BIONIC_FORTIFY_RUNTIME_CHECKS_ENABLED
 __BIONIC_FORTIFY_INLINE
-void* memchr(const void* const s __pass_object_size, int c, size_t n) __overloadable {
+void* _Nullable memchr(const void* _Nonnull const s __pass_object_size, int c, size_t n) __overloadable {
     size_t bos = __bos(s);
 
     if (__bos_trivially_ge(bos, n)) {
@@ -150,7 +154,7 @@
 }
 
 __BIONIC_FORTIFY_INLINE
-void* __memrchr_fortify(const void* const __pass_object_size s, int c, size_t n) __overloadable {
+void* _Nullable __memrchr_fortify(const void* _Nonnull const __pass_object_size s, int c, size_t n) __overloadable {
     size_t bos = __bos(s);
 
     if (__bos_trivially_ge(bos, n)) {
@@ -164,7 +168,7 @@
 #if __BIONIC_FORTIFY_RUNTIME_CHECKS_ENABLED
 /* No diag -- clang diagnoses misuses of this on its own.  */
 __BIONIC_FORTIFY_INLINE
-char* stpncpy(char* const dst __pass_object_size, const char* const src __pass_object_size, size_t n)
+char* _Nonnull stpncpy(char* _Nonnull const dst __pass_object_size, const char* _Nonnull const src __pass_object_size, size_t n)
         __diagnose_as_builtin(__builtin_stpncpy, 1, 2, 3)
         __overloadable {
     size_t bos_dst = __bos(dst);
@@ -180,7 +184,7 @@
 
 /* No diag -- clang diagnoses misuses of this on its own.  */
 __BIONIC_FORTIFY_INLINE
-char* strncpy(char* const dst __pass_object_size, const char* const src __pass_object_size, size_t n)
+char* _Nonnull strncpy(char* _Nonnull const dst __pass_object_size, const char* _Nonnull const src __pass_object_size, size_t n)
         __diagnose_as_builtin(__builtin_strncpy, 1, 2, 3)
         __overloadable {
     size_t bos_dst = __bos(dst);
@@ -196,7 +200,7 @@
 #endif
 
 __BIONIC_FORTIFY_INLINE
-size_t strlcpy(char* const dst __pass_object_size, const char* src, size_t size)
+size_t strlcpy(char* _Nonnull const dst __pass_object_size, const char* _Nonnull src, size_t size)
         __overloadable
         __clang_error_if(__bos_unevaluated_lt(__bos(dst), size),
                          "'strlcpy' called with size bigger than buffer") {
@@ -208,7 +212,7 @@
 }
 
 __BIONIC_FORTIFY_INLINE
-size_t strlcat(char* const dst __pass_object_size, const char* src, size_t size)
+size_t strlcat(char* _Nonnull const dst __pass_object_size, const char* _Nonnull src, size_t size)
         __overloadable
         __clang_error_if(__bos_unevaluated_lt(__bos(dst), size),
                          "'strlcat' called with size bigger than buffer") {
@@ -220,14 +224,19 @@
 }
 
 #if __BIONIC_FORTIFY_RUNTIME_CHECKS_ENABLED
-__BIONIC_FORTIFY_INLINE
-size_t strlen(const char* const s __pass_object_size0) __overloadable {
+/*
+ * Clang, when parsing C, can fold strlen to a constant without LLVM's help.
+ * This doesn't apply to overloads of strlen, so write this differently. We
+ * can't use `__pass_object_size0` here, but that's fine: it doesn't help much
+ * on __always_inline functions.
+ */
+extern __always_inline __inline__ __attribute__((gnu_inline)) size_t strlen(const char* _Nonnull s) {
     return __strlen_chk(s, __bos0(s));
 }
 #endif
 
 __BIONIC_FORTIFY_INLINE
-char* strchr(const char* const s __pass_object_size, int c) __overloadable {
+char* _Nullable strchr(const char* _Nonnull const s __pass_object_size, int c) __overloadable {
 #if __BIONIC_FORTIFY_RUNTIME_CHECKS_ENABLED
     size_t bos = __bos(s);
 
@@ -239,7 +248,7 @@
 }
 
 __BIONIC_FORTIFY_INLINE
-char* strrchr(const char* const s __pass_object_size, int c) __overloadable {
+char* _Nullable strrchr(const char* _Nonnull const s __pass_object_size, int c) __overloadable {
 #if __BIONIC_FORTIFY_RUNTIME_CHECKS_ENABLED
     size_t bos = __bos(s);
 
@@ -254,18 +263,18 @@
 #if defined(__cplusplus)
 extern "C++" {
 __BIONIC_FORTIFY_INLINE
-void* memrchr(void* const __pass_object_size s, int c, size_t n) {
+void* _Nullable memrchr(void* _Nonnull const __pass_object_size s, int c, size_t n) {
     return __memrchr_fortify(s, c, n);
 }
 
 __BIONIC_FORTIFY_INLINE
-const void* memrchr(const void* const __pass_object_size s, int c, size_t n) {
+const void* _Nullable memrchr(const void* _Nonnull const __pass_object_size s, int c, size_t n) {
     return __memrchr_fortify(s, c, n);
 }
 }
 #else
 __BIONIC_FORTIFY_INLINE
-void* memrchr(const void* const __pass_object_size s, int c, size_t n) __overloadable {
+void* _Nullable memrchr(const void* _Nonnull const __pass_object_size s, int c, size_t n) __overloadable {
     return __memrchr_fortify(s, c, n);
 }
 #endif
diff --git a/libc/include/bits/fortify/strings.h b/libc/include/bits/fortify/strings.h
index 5515ef9..a36f02c 100644
--- a/libc/include/bits/fortify/strings.h
+++ b/libc/include/bits/fortify/strings.h
@@ -29,7 +29,7 @@
 #if defined(__BIONIC_FORTIFY)
 
 __BIONIC_FORTIFY_INLINE
-void __bionic_bcopy(const void *src, void* const dst __pass_object_size0, size_t len)
+void __bionic_bcopy(const void * _Nonnull src, void* _Nonnull const dst __pass_object_size0, size_t len)
         __overloadable
         __clang_error_if(__bos_unevaluated_lt(__bos0(dst), len),
                          "'bcopy' called with size bigger than buffer") {
@@ -44,7 +44,7 @@
 }
 
 __BIONIC_FORTIFY_INLINE
-void __bionic_bzero(void* const b __pass_object_size0, size_t len)
+void __bionic_bzero(void* _Nonnull const b __pass_object_size0, size_t len)
         __overloadable
         __clang_error_if(__bos_unevaluated_lt(__bos0(b), len),
                          "'bzero' called with size bigger than buffer") {
diff --git a/libc/include/bits/fortify/unistd.h b/libc/include/bits/fortify/unistd.h
index 335d0b5..9acb942 100644
--- a/libc/include/bits/fortify/unistd.h
+++ b/libc/include/bits/fortify/unistd.h
@@ -29,24 +29,52 @@
 #error "Never include this file directly; instead, include <unistd.h>"
 #endif
 
-char* __getcwd_chk(char*, size_t, size_t) __INTRODUCED_IN(24);
 
-ssize_t __pread_chk(int, void*, size_t, off_t, size_t) __INTRODUCED_IN(23);
-ssize_t __pread_real(int, void*, size_t, off_t) __RENAME(pread);
+#if __BIONIC_AVAILABILITY_GUARD(24)
+char* _Nullable __getcwd_chk(char* _Nullable, size_t, size_t) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
 
-ssize_t __pread64_chk(int, void*, size_t, off64_t, size_t) __INTRODUCED_IN(23);
-ssize_t __pread64_real(int, void*, size_t, off64_t) __RENAME(pread64);
 
-ssize_t __pwrite_chk(int, const void*, size_t, off_t, size_t) __INTRODUCED_IN(24);
-ssize_t __pwrite_real(int, const void*, size_t, off_t) __RENAME(pwrite);
 
-ssize_t __pwrite64_chk(int, const void*, size_t, off64_t, size_t) __INTRODUCED_IN(24);
-ssize_t __pwrite64_real(int, const void*, size_t, off64_t) __RENAME(pwrite64);
+#if __BIONIC_AVAILABILITY_GUARD(23)
+ssize_t __pread_chk(int, void* _Nonnull, size_t, off_t, size_t) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
 
-ssize_t __read_chk(int, void*, size_t, size_t) __INTRODUCED_IN(21);
-ssize_t __write_chk(int, const void*, size_t, size_t) __INTRODUCED_IN(24);
-ssize_t __readlink_chk(const char*, char*, size_t, size_t) __INTRODUCED_IN(23);
-ssize_t __readlinkat_chk(int dirfd, const char*, char*, size_t, size_t) __INTRODUCED_IN(23);
+ssize_t __pread_real(int, void* _Nonnull, size_t, off_t) __RENAME(pread);
+
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
+ssize_t __pread64_chk(int, void* _Nonnull, size_t, off64_t, size_t) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+ssize_t __pread64_real(int, void* _Nonnull, size_t, off64_t) __RENAME(pread64);
+
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
+ssize_t __pwrite_chk(int, const void* _Nonnull, size_t, off_t, size_t) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
+ssize_t __pwrite_real(int, const void* _Nonnull, size_t, off_t) __RENAME(pwrite);
+
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
+ssize_t __pwrite64_chk(int, const void* _Nonnull, size_t, off64_t, size_t) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
+ssize_t __pwrite64_real(int, const void* _Nonnull, size_t, off64_t) __RENAME(pwrite64);
+
+ssize_t __read_chk(int, void* __BIONIC_COMPLICATED_NULLNESS, size_t, size_t);
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
+ssize_t __write_chk(int, const void* __BIONIC_COMPLICATED_NULLNESS, size_t, size_t) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
+ssize_t __readlink_chk(const char* _Nonnull, char* _Nonnull, size_t, size_t) __INTRODUCED_IN(23);
+ssize_t __readlinkat_chk(int dirfd, const char* _Nonnull, char* _Nonnull, size_t, size_t) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 #if defined(__BIONIC_FORTIFY)
 
@@ -70,7 +98,7 @@
         __builtin_constant_p(index) && (index) <= SSIZE_MAX))
 
 __BIONIC_FORTIFY_INLINE
-char* getcwd(char* const __pass_object_size buf, size_t size)
+char* _Nullable getcwd(char* const _Nullable __pass_object_size buf, size_t size)
         __overloadable
         __error_if_overflows_objectsize(size, __bos(buf), getcwd) {
 #if __ANDROID_API__ >= 24 && __BIONIC_FORTIFY_RUNTIME_CHECKS_ENABLED
@@ -85,7 +113,7 @@
 
 #if !defined(__USE_FILE_OFFSET64)
 __BIONIC_FORTIFY_INLINE
-ssize_t pread(int fd, void* const __pass_object_size0 buf, size_t count, off_t offset)
+ssize_t pread(int fd, void* const _Nonnull __pass_object_size0 buf, size_t count, off_t offset)
         __overloadable
         __error_if_overflows_ssizet(count, pread)
         __error_if_overflows_objectsize(count, __bos0(buf), pread) {
@@ -101,7 +129,7 @@
 #endif /* !defined(__USE_FILE_OFFSET64) */
 
 __BIONIC_FORTIFY_INLINE
-ssize_t pread64(int fd, void* const __pass_object_size0 buf, size_t count, off64_t offset)
+ssize_t pread64(int fd, void* const _Nonnull __pass_object_size0 buf, size_t count, off64_t offset)
         __overloadable
         __error_if_overflows_ssizet(count, pread64)
         __error_if_overflows_objectsize(count, __bos0(buf), pread64) {
@@ -117,7 +145,7 @@
 
 #if !defined(__USE_FILE_OFFSET64)
 __BIONIC_FORTIFY_INLINE
-ssize_t pwrite(int fd, const void* const __pass_object_size0 buf, size_t count, off_t offset)
+ssize_t pwrite(int fd, const void* const _Nonnull __pass_object_size0 buf, size_t count, off_t offset)
         __overloadable
         __error_if_overflows_ssizet(count, pwrite)
         __error_if_overflows_objectsize(count, __bos0(buf), pwrite) {
@@ -133,7 +161,7 @@
 #endif /* !defined(__USE_FILE_OFFSET64) */
 
 __BIONIC_FORTIFY_INLINE
-ssize_t pwrite64(int fd, const void* const __pass_object_size0 buf, size_t count, off64_t offset)
+ssize_t pwrite64(int fd, const void* const _Nonnull __pass_object_size0 buf, size_t count, off64_t offset)
         __overloadable
         __error_if_overflows_ssizet(count, pwrite64)
         __error_if_overflows_objectsize(count, __bos0(buf), pwrite64) {
@@ -148,7 +176,7 @@
 }
 
 __BIONIC_FORTIFY_INLINE
-ssize_t read(int fd, void* const __pass_object_size0 buf, size_t count)
+ssize_t read(int fd, void* const __BIONIC_COMPLICATED_NULLNESS __pass_object_size0 buf, size_t count)
         __overloadable
         __error_if_overflows_ssizet(count, read)
         __error_if_overflows_objectsize(count, __bos0(buf), read) {
@@ -163,7 +191,7 @@
 }
 
 __BIONIC_FORTIFY_INLINE
-ssize_t write(int fd, const void* const __pass_object_size0 buf, size_t count)
+ssize_t write(int fd, const void* const __BIONIC_COMPLICATED_NULLNESS __pass_object_size0 buf, size_t count)
         __overloadable
         __error_if_overflows_ssizet(count, write)
         __error_if_overflows_objectsize(count, __bos0(buf), write) {
@@ -178,7 +206,7 @@
 }
 
 __BIONIC_FORTIFY_INLINE
-ssize_t readlink(const char* path, char* const __pass_object_size buf, size_t size)
+ssize_t readlink(const char* _Nonnull path, char* _Nonnull const __pass_object_size buf, size_t size)
         __overloadable
         __error_if_overflows_ssizet(size, readlink)
         __error_if_overflows_objectsize(size, __bos(buf), readlink) {
@@ -193,7 +221,7 @@
 }
 
 __BIONIC_FORTIFY_INLINE
-ssize_t readlinkat(int dirfd, const char* path, char* const __pass_object_size buf, size_t size)
+ssize_t readlinkat(int dirfd, const char* _Nonnull path, char* const _Nonnull __pass_object_size buf, size_t size)
         __overloadable
         __error_if_overflows_ssizet(size, readlinkat)
         __error_if_overflows_objectsize(size, __bos(buf), readlinkat) {
diff --git a/libc/include/bits/get_device_api_level_inlines.h b/libc/include/bits/get_device_api_level_inlines.h
index d14eb2c..dc5871b 100644
--- a/libc/include/bits/get_device_api_level_inlines.h
+++ b/libc/include/bits/get_device_api_level_inlines.h
@@ -35,8 +35,8 @@
 __BEGIN_DECLS
 
 // Avoid circular dependencies since this is exposed from <sys/cdefs.h>.
-int __system_property_get(const char* __name, char* __value);
-int atoi(const char* __s) __attribute_pure__;
+int __system_property_get(const char* _Nonnull __name, char*  _Nonnull __value);
+int atoi(const char* _Nonnull __s) __attribute_pure__;
 
 __BIONIC_GET_DEVICE_API_LEVEL_INLINE int android_get_device_api_level() {
   char value[92] = { 0 };
diff --git a/libc/arch-arm/static_function_dispatch.S b/libc/include/bits/getentropy.h
similarity index 65%
rename from libc/arch-arm/static_function_dispatch.S
rename to libc/include/bits/getentropy.h
index a8235c2..c878470 100644
--- a/libc/arch-arm/static_function_dispatch.S
+++ b/libc/include/bits/getentropy.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2018 The Android Open Source Project
+ * Copyright (C) 2023 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,21 +26,32 @@
  * SUCH DAMAGE.
  */
 
-#include <private/bionic_asm.h>
+#pragma once
 
-#define FUNCTION_DELEGATE(name, impl) \
-ENTRY(name); \
-    b impl; \
-END(name)
+/**
+ * @file bits/getentropy.h
+ * @brief The getentropy() function.
+ */
 
-FUNCTION_DELEGATE(memmove, memmove_generic)
-FUNCTION_DELEGATE(memcpy, memmove_generic)
-FUNCTION_DELEGATE(memset, memset_generic)
-FUNCTION_DELEGATE(__memset_chk, __memset_chk_generic)
-FUNCTION_DELEGATE(strcpy, strcpy_generic)
-FUNCTION_DELEGATE(__strcpy_chk, __strcpy_chk_generic)
-FUNCTION_DELEGATE(stpcpy, stpcpy_generic)
-FUNCTION_DELEGATE(strcat, strcat_generic)
-FUNCTION_DELEGATE(__strcat_chk, __strcat_chk_generic)
-FUNCTION_DELEGATE(strcmp, strcmp_generic)
-FUNCTION_DELEGATE(strlen, strlen_generic)
+#include <sys/cdefs.h>
+#include <sys/types.h>
+
+__BEGIN_DECLS
+
+/**
+ * [getentropy(3)](https://man7.org/linux/man-pages/man3/getentropy.3.html) fills the given buffer
+ * with random bytes.
+ *
+ * Returns 0 on success, and returns -1 and sets `errno` on failure.
+ *
+ * Available since API level 28.
+ *
+ * See also arc4random_buf() which is available in all API levels.
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
+__nodiscard int getentropy(void* _Nonnull __buffer, size_t __buffer_size) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
+
+__END_DECLS
diff --git a/libc/include/bits/getopt.h b/libc/include/bits/getopt.h
index 0411716..8fc0463 100644
--- a/libc/include/bits/getopt.h
+++ b/libc/include/bits/getopt.h
@@ -33,17 +33,17 @@
 __BEGIN_DECLS
 
 /**
- * [getopt(3)](http://man7.org/linux/man-pages/man3/getopt.3.html) parses command-line options.
+ * [getopt(3)](https://man7.org/linux/man-pages/man3/getopt.3.html) parses command-line options.
  *
  * Returns the next option character on success, returns -1 if all options have been parsed, and
  * returns `'?'` on error.
  */
-int getopt(int __argc, char* const __argv[], const char* __options);
+int getopt(int __argc, char* const _Nonnull __argv[_Nullable], const char* _Nonnull __options);
 
 /**
  * Points to the text of the corresponding value for options that take an argument.
  */
-extern char* optarg;
+extern char* _Nullable optarg;
 
 /**
  * The index of the next element to be processed.
diff --git a/libc/include/bits/glibc-syscalls.h b/libc/include/bits/glibc-syscalls.h
index c144919..8c5a91d 100644
--- a/libc/include/bits/glibc-syscalls.h
+++ b/libc/include/bits/glibc-syscalls.h
@@ -36,9 +36,6 @@
 #if defined(__NR_arch_prctl)
   #define SYS_arch_prctl __NR_arch_prctl
 #endif
-#if defined(__NR_arch_specific_syscall)
-  #define SYS_arch_specific_syscall __NR_arch_specific_syscall
-#endif
 #if defined(__NR_arm_fadvise64_64)
   #define SYS_arm_fadvise64_64 __NR_arm_fadvise64_64
 #endif
@@ -60,6 +57,9 @@
 #if defined(__NR_brk)
   #define SYS_brk __NR_brk
 #endif
+#if defined(__NR_cachestat)
+  #define SYS_cachestat __NR_cachestat
+#endif
 #if defined(__NR_capget)
   #define SYS_capget __NR_capget
 #endif
@@ -219,6 +219,9 @@
 #if defined(__NR_fchmodat)
   #define SYS_fchmodat __NR_fchmodat
 #endif
+#if defined(__NR_fchmodat2)
+  #define SYS_fchmodat2 __NR_fchmodat2
+#endif
 #if defined(__NR_fchown)
   #define SYS_fchown __NR_fchown
 #endif
@@ -300,12 +303,21 @@
 #if defined(__NR_futex)
   #define SYS_futex __NR_futex
 #endif
+#if defined(__NR_futex_requeue)
+  #define SYS_futex_requeue __NR_futex_requeue
+#endif
 #if defined(__NR_futex_time64)
   #define SYS_futex_time64 __NR_futex_time64
 #endif
+#if defined(__NR_futex_wait)
+  #define SYS_futex_wait __NR_futex_wait
+#endif
 #if defined(__NR_futex_waitv)
   #define SYS_futex_waitv __NR_futex_waitv
 #endif
+#if defined(__NR_futex_wake)
+  #define SYS_futex_wake __NR_futex_wake
+#endif
 #if defined(__NR_futimesat)
   #define SYS_futimesat __NR_futimesat
 #endif
@@ -537,6 +549,9 @@
 #if defined(__NR_listen)
   #define SYS_listen __NR_listen
 #endif
+#if defined(__NR_listmount)
+  #define SYS_listmount __NR_listmount
+#endif
 #if defined(__NR_listxattr)
   #define SYS_listxattr __NR_listxattr
 #endif
@@ -561,6 +576,15 @@
 #if defined(__NR_lsetxattr)
   #define SYS_lsetxattr __NR_lsetxattr
 #endif
+#if defined(__NR_lsm_get_self_attr)
+  #define SYS_lsm_get_self_attr __NR_lsm_get_self_attr
+#endif
+#if defined(__NR_lsm_list_modules)
+  #define SYS_lsm_list_modules __NR_lsm_list_modules
+#endif
+#if defined(__NR_lsm_set_self_attr)
+  #define SYS_lsm_set_self_attr __NR_lsm_set_self_attr
+#endif
 #if defined(__NR_lstat)
   #define SYS_lstat __NR_lstat
 #endif
@@ -570,6 +594,9 @@
 #if defined(__NR_madvise)
   #define SYS_madvise __NR_madvise
 #endif
+#if defined(__NR_map_shadow_stack)
+  #define SYS_map_shadow_stack __NR_map_shadow_stack
+#endif
 #if defined(__NR_mbind)
   #define SYS_mbind __NR_mbind
 #endif
@@ -663,6 +690,9 @@
 #if defined(__NR_mremap)
   #define SYS_mremap __NR_mremap
 #endif
+#if defined(__NR_mseal)
+  #define SYS_mseal __NR_mseal
+#endif
 #if defined(__NR_msgctl)
   #define SYS_msgctl __NR_msgctl
 #endif
@@ -906,6 +936,12 @@
 #if defined(__NR_restart_syscall)
   #define SYS_restart_syscall __NR_restart_syscall
 #endif
+#if defined(__NR_riscv_flush_icache)
+  #define SYS_riscv_flush_icache __NR_riscv_flush_icache
+#endif
+#if defined(__NR_riscv_hwprobe)
+  #define SYS_riscv_hwprobe __NR_riscv_hwprobe
+#endif
 #if defined(__NR_rmdir)
   #define SYS_rmdir __NR_rmdir
 #endif
@@ -1194,6 +1230,9 @@
 #if defined(__NR_statfs64)
   #define SYS_statfs64 __NR_statfs64
 #endif
+#if defined(__NR_statmount)
+  #define SYS_statmount __NR_statmount
+#endif
 #if defined(__NR_statx)
   #define SYS_statx __NR_statx
 #endif
@@ -1230,9 +1269,6 @@
 #if defined(__NR_syscall)
   #define SYS_syscall __NR_syscall
 #endif
-#if defined(__NR_syscalls)
-  #define SYS_syscalls __NR_syscalls
-#endif
 #if defined(__NR_sysfs)
   #define SYS_sysfs __NR_sysfs
 #endif
@@ -1329,6 +1365,9 @@
 #if defined(__NR_unshare)
   #define SYS_unshare __NR_unshare
 #endif
+#if defined(__NR_uretprobe)
+  #define SYS_uretprobe __NR_uretprobe
+#endif
 #if defined(__NR_uselib)
   #define SYS_uselib __NR_uselib
 #endif
diff --git a/libc/include/bits/ioctl.h b/libc/include/bits/ioctl.h
index fd31a58..ae75880 100644
--- a/libc/include/bits/ioctl.h
+++ b/libc/include/bits/ioctl.h
@@ -38,9 +38,9 @@
 __BEGIN_DECLS
 
 /**
- * [ioctl(2)](http://man7.org/linux/man-pages/man2/ioctl.2.html) operates on device files.
+ * [ioctl(2)](https://man7.org/linux/man-pages/man2/ioctl.2.html) operates on device files.
  */
-int ioctl(int __fd, int __request, ...);
+int ioctl(int __fd, int __op, ...);
 
 /*
  * Work around unsigned -> signed conversion warnings: many common ioctl
@@ -57,7 +57,7 @@
  */
 #if !defined(BIONIC_IOCTL_NO_SIGNEDNESS_OVERLOAD)
 /* enable_if(1) just exists to break overloading ties. */
-int ioctl(int __fd, unsigned __request, ...) __overloadable __enable_if(1, "") __RENAME(ioctl);
+int ioctl(int __fd, unsigned __op, ...) __overloadable __enable_if(1, "") __RENAME(ioctl);
 #endif
 
 __END_DECLS
diff --git a/libc/include/bits/lockf.h b/libc/include/bits/lockf.h
index 58ab031..8f922b9 100644
--- a/libc/include/bits/lockf.h
+++ b/libc/include/bits/lockf.h
@@ -48,7 +48,7 @@
 __BEGIN_DECLS
 
 /**
- * [lockf(3)](http://man7.org/linux/man-pages/man3/lockf.3.html) manipulates POSIX file locks.
+ * [lockf(3)](https://man7.org/linux/man-pages/man3/lockf.3.html) manipulates POSIX file locks.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
  *
@@ -56,12 +56,16 @@
  *
  * See also flock().
  */
-int lockf(int __fd, int __cmd, off_t __length) __RENAME_IF_FILE_OFFSET64(lockf64) __INTRODUCED_IN(24);
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
+int lockf(int __fd, int __op, off_t __length) __RENAME_IF_FILE_OFFSET64(lockf64) __INTRODUCED_IN(24);
 
 /**
  * Like lockf() but allows using a 64-bit length
- * even from a 32-bit process without `__FILE_OFFSET_BITS=64`.
+ * even from a 32-bit process without `_FILE_OFFSET_BITS=64`.
  */
-int lockf64(int __fd, int __cmd, off64_t __length) __INTRODUCED_IN(24);
+int lockf64(int __fd, int __op, off64_t __length) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
 
 __END_DECLS
diff --git a/libm/fenv-access.h b/libc/include/bits/page_size.h
similarity index 69%
copy from libm/fenv-access.h
copy to libc/include/bits/page_size.h
index 7acb34d..594ffe5 100644
--- a/libm/fenv-access.h
+++ b/libc/include/bits/page_size.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2023 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,22 @@
 
 #pragma once
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
+
+// PAGE_SIZE is going away in Android. Prefer getpagesize() instead.
+//
+// For more info, see https://developer.android.com/16kb-page-size.
+//
+// To restore the original behavior, use __BIONIC_DEPRECATED_PAGE_SIZE_MACRO.
+
+#if (defined(__NDK_MAJOR__) && __NDK_MAJOR__ <= 27 && !defined(__BIONIC_NO_PAGE_SIZE_MACRO)) \
+    || defined(__BIONIC_DEPRECATED_PAGE_SIZE_MACRO) \
+    || defined(__arm__) \
+    || defined(__i386__)
+#define PAGE_SIZE 4096
+#define PAGE_MASK (~(PAGE_SIZE - 1))
 #endif
+
+__END_DECLS
diff --git a/libc/include/bits/posix_limits.h b/libc/include/bits/posix_limits.h
index 452f5f6..d98be27 100644
--- a/libc/include/bits/posix_limits.h
+++ b/libc/include/bits/posix_limits.h
@@ -40,7 +40,7 @@
     (((__ANDROID_API__) >= (level)) ? _POSIX_VERSION : __BIONIC_POSIX_FEATURE_MISSING)
 
 /* Availability macros. */
-/* See http://man7.org/linux/man-pages/man7/posixoptions.7.html for documentation. */
+/* See https://man7.org/linux/man-pages/man7/posixoptions.7.html for documentation. */
 /* Keep this list sorted by name. */
 #define _POSIX_ADVISORY_INFO __BIONIC_POSIX_FEATURE_SINCE(23) /* posix_memadvise arrived late. */
 #define _POSIX_ASYNCHRONOUS_IO __BIONIC_POSIX_FEATURE_MISSING
diff --git a/libc/include/bits/pthread_types.h b/libc/include/bits/pthread_types.h
index f359696..e30c4c1 100644
--- a/libc/include/bits/pthread_types.h
+++ b/libc/include/bits/pthread_types.h
@@ -43,7 +43,6 @@
 #endif
 } pthread_attr_t;
 
-#if __ANDROID_API__ >= 24
 typedef struct {
 #if defined(__LP64__)
   int64_t __private[4];
@@ -51,11 +50,8 @@
   int32_t __private[8];
 #endif
 } pthread_barrier_t;
-#endif
 
-#if __ANDROID_API__ >= 24
 typedef int pthread_barrierattr_t;
-#endif
 
 typedef struct {
 #if defined(__LP64__)
@@ -91,7 +87,6 @@
 
 typedef long pthread_rwlockattr_t;
 
-#if __ANDROID_API__ >= 24
 typedef struct {
 #if defined(__LP64__)
   int64_t __private;
@@ -99,6 +94,5 @@
   int32_t __private[2];
 #endif
 } pthread_spinlock_t;
-#endif
 
 typedef long pthread_t;
diff --git a/libc/include/bits/seek_constants.h b/libc/include/bits/seek_constants.h
index 6f3f22d..a4fffb2 100644
--- a/libc/include/bits/seek_constants.h
+++ b/libc/include/bits/seek_constants.h
@@ -33,6 +33,8 @@
  * @brief The `SEEK_` constants.
  */
 
+#include <sys/cdefs.h>
+
 /** Seek to an absolute offset. */
 #define SEEK_SET 0
 /** Seek relative to the current offset. */
@@ -46,7 +48,7 @@
  * Seek to the first data (non-hole) location in the file
  * greater than or equal to the given offset.
  *
- * See [lseek(2)](http://man7.org/linux/man-pages/man2/lseek.2.html).
+ * See [lseek(2)](https://man7.org/linux/man-pages/man2/lseek.2.html).
  */
 #define SEEK_DATA 3
 
@@ -54,7 +56,7 @@
  * Seek to the first hole (non-data) location in the file
  * greater than or equal to the given offset.
  *
- * See [lseek(2)](http://man7.org/linux/man-pages/man2/lseek.2.html).
+ * See [lseek(2)](https://man7.org/linux/man-pages/man2/lseek.2.html).
  */
 #define SEEK_HOLE 4
 
diff --git a/libc/include/bits/signal_types.h b/libc/include/bits/signal_types.h
index 699e257..d98901c 100644
--- a/libc/include/bits/signal_types.h
+++ b/libc/include/bits/signal_types.h
@@ -28,18 +28,11 @@
 
 #pragma once
 
-#include <limits.h>
 #include <sys/cdefs.h>
-#include <sys/types.h>
 
-/* For 64-bit, the kernel's struct sigaction doesn't match the POSIX one,
- * so we need to expose our own and translate behind the scenes.
- * For 32-bit, we're stuck with the definitions we already shipped,
- * even though they contain a sigset_t that's too small. See sigaction64.
- */
-#define sigaction __kernel_sigaction
+#include <limits.h>
 #include <linux/signal.h>
-#undef sigaction
+#include <sys/types.h>
 
 /* The arm and x86 kernel header files don't define _NSIG. */
 #ifndef _KERNEL__NSIG
@@ -64,8 +57,13 @@
 typedef struct { unsigned long __bits[_KERNEL__NSIG/(8*sizeof(long))]; } sigset64_t;
 #endif
 
+/* The kernel's struct sigaction doesn't match the POSIX one. */
+
 #if defined(__LP64__)
 
+/* For 64-bit, that's the only problem, and we only need two structs
+ * for source compatibility with 32-bit. */
+
 #define __SIGACTION_BODY \
   int sa_flags; \
   union { \
@@ -82,6 +80,12 @@
 
 #else
 
+/* For 32-bit, Android's ABIs used a too-small sigset_t that doesn't
+ * support RT signals, so we need two different structs.
+ */
+
+/* The arm32 kernel headers also pollute the namespace with these,
+ * but our header scrubber doesn't know how to remove #defines. */
 #undef sa_handler
 #undef sa_sigaction
 
@@ -95,7 +99,6 @@
   void (*sa_restorer)(void);
 };
 
-/* This matches the kernel's internal structure. */
 struct sigaction64 {
   union {
     sighandler_t sa_handler;
diff --git a/libm/fenv-access.h b/libc/include/bits/sockaddr_storage.h
similarity index 64%
copy from libm/fenv-access.h
copy to libc/include/bits/sockaddr_storage.h
index 7acb34d..effafab 100644
--- a/libm/fenv-access.h
+++ b/libc/include/bits/sockaddr_storage.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2023 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,30 @@
 
 #pragma once
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
-#endif
+/**
+ * @file bits/sockaddr_storage.h
+ * @brief The `sockaddr_storage` struct.
+ */
+
+#include <sys/cdefs.h>
+
+#include <bits/sa_family_t.h>
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnullability-completeness"
+/**
+ * [sockaddr_storage](https://man7.org/linux/man-pages/man3/sockaddr.3type.html)
+ * is a structure large enough to contain any other `sockaddr_*` type, used to
+ * pass socket addresses without needing to know what kind of socket address
+ * you're passing.
+ */
+struct sockaddr_storage {
+  union {
+    struct {
+      sa_family_t ss_family;
+      char __data[128 - sizeof(sa_family_t)];
+    };
+    void* __align;
+  };
+};
+#pragma clang diagnostic pop
diff --git a/libc/include/bits/stdatomic.h b/libc/include/bits/stdatomic.h
index 2ce6ee6..ebdc9e5 100644
--- a/libc/include/bits/stdatomic.h
+++ b/libc/include/bits/stdatomic.h
@@ -134,15 +134,17 @@
 	memory_order_seq_cst = __ATOMIC_SEQ_CST
 } memory_order;
 
+#define kill_dependency(y) (y)
+
 /*
  * 7.17.4 Fences.
  */
 
-static __inline void atomic_thread_fence(memory_order __order __attribute__((unused))) {
+static __inline void atomic_thread_fence(memory_order __order __attribute__((__unused__))) {
 	__c11_atomic_thread_fence(__order);
 }
 
-static __inline void atomic_signal_fence(memory_order __order __attribute__((unused))) {
+static __inline void atomic_signal_fence(memory_order __order __attribute__((__unused__))) {
 	__c11_atomic_signal_fence(__order);
 }
 
@@ -269,18 +271,18 @@
 
 #define	ATOMIC_FLAG_INIT		{ ATOMIC_VAR_INIT(false) }
 
-static __inline bool atomic_flag_test_and_set_explicit(volatile atomic_flag *__object, memory_order __order) {
+static __inline bool atomic_flag_test_and_set_explicit(volatile atomic_flag * _Nonnull __object, memory_order __order) {
 	return (atomic_exchange_explicit(&__object->__flag, 1, __order));
 }
 
-static __inline void atomic_flag_clear_explicit(volatile atomic_flag *__object, memory_order __order) {
+static __inline void atomic_flag_clear_explicit(volatile atomic_flag * _Nonnull __object, memory_order __order) {
 	atomic_store_explicit(&__object->__flag, 0, __order);
 }
 
-static __inline bool atomic_flag_test_and_set(volatile atomic_flag *__object) {
+static __inline bool atomic_flag_test_and_set(volatile atomic_flag * _Nonnull __object) {
 	return (atomic_flag_test_and_set_explicit(__object, memory_order_seq_cst));
 }
 
-static __inline void atomic_flag_clear(volatile atomic_flag *__object) {
+static __inline void atomic_flag_clear(volatile atomic_flag * _Nonnull __object) {
 	atomic_flag_clear_explicit(__object, memory_order_seq_cst);
 }
diff --git a/libm/fenv-access.h b/libc/include/bits/stdlib_inlines.h
similarity index 71%
copy from libm/fenv-access.h
copy to libc/include/bits/stdlib_inlines.h
index 7acb34d..fffca19 100644
--- a/libm/fenv-access.h
+++ b/libc/include/bits/stdlib_inlines.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,21 @@
 
 #pragma once
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
+#include <xlocale.h>
+#include <sys/cdefs.h>
+
+#if !defined(__BIONIC_STDLIB_INLINE)
+#define __BIONIC_STDLIB_INLINE static __inline
 #endif
+
+__BEGIN_DECLS
+
+__BIONIC_STDLIB_INLINE double strtod_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, locale_t _Nonnull __l) {
+  return strtod(__s, __end_ptr);
+}
+
+__BIONIC_STDLIB_INLINE float strtof_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, locale_t _Nonnull __l) {
+  return strtof(__s, __end_ptr);
+}
+
+__END_DECLS
diff --git a/libc/include/bits/strcasecmp.h b/libc/include/bits/strcasecmp.h
index 3994b68..d76cec9 100644
--- a/libc/include/bits/strcasecmp.h
+++ b/libc/include/bits/strcasecmp.h
@@ -40,32 +40,40 @@
 __BEGIN_DECLS
 
 /**
- * [strcasecmp(3)](http://man7.org/linux/man-pages/man3/strcasecmp.3.html) compares two strings
+ * [strcasecmp(3)](https://man7.org/linux/man-pages/man3/strcasecmp.3.html) compares two strings
  * ignoring case.
  *
  * Returns an integer less than, equal to, or greater than zero if the first string is less than,
  * equal to, or greater than the second string (ignoring case).
  */
-int strcasecmp(const char* __s1, const char* __s2) __attribute_pure__;
+int strcasecmp(const char* _Nonnull __s1, const char* _Nonnull __s2) __attribute_pure__;
 
 /**
  * Like strcasecmp() but taking a `locale_t`.
  */
-int strcasecmp_l(const char* __s1, const char* __s2, locale_t __l) __attribute_pure__ __INTRODUCED_IN(23);
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
+int strcasecmp_l(const char* _Nonnull __s1, const char* _Nonnull __s2, locale_t _Nonnull __l) __attribute_pure__ __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 /**
- * [strncasecmp(3)](http://man7.org/linux/man-pages/man3/strncasecmp.3.html) compares the first
+ * [strncasecmp(3)](https://man7.org/linux/man-pages/man3/strncasecmp.3.html) compares the first
  * `n` bytes of two strings ignoring case.
  *
  * Returns an integer less than, equal to, or greater than zero if the first `n` bytes of the
  * first string is less than, equal to, or greater than the first `n` bytes of the second
  * string (ignoring case).
  */
-int strncasecmp(const char* __s1, const char* __s2, size_t __n) __attribute_pure__;
+int strncasecmp(const char* _Nonnull __s1, const char* _Nonnull __s2, size_t __n) __attribute_pure__;
 
 /**
  * Like strncasecmp() but taking a `locale_t`.
  */
-int strncasecmp_l(const char* __s1, const char* __s2, size_t __n, locale_t __l) __attribute_pure__ __INTRODUCED_IN(23);
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
+int strncasecmp_l(const char* _Nonnull __s1, const char* _Nonnull __s2, size_t __n, locale_t _Nonnull __l) __attribute_pure__ __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 __END_DECLS
diff --git a/libc/include/bits/struct_file.h b/libc/include/bits/struct_file.h
index abbd320..8cb8d28 100644
--- a/libc/include/bits/struct_file.h
+++ b/libc/include/bits/struct_file.h
@@ -39,6 +39,6 @@
 #else
   char __private[84];
 #endif
-} __attribute__((aligned(sizeof(void*))));
+} __attribute__((__aligned__(sizeof(void*))));
 
 __END_DECLS
diff --git a/libc/include/bits/swab.h b/libc/include/bits/swab.h
index 63281b6..da2865a 100644
--- a/libc/include/bits/swab.h
+++ b/libc/include/bits/swab.h
@@ -28,8 +28,9 @@
 
 #pragma once
 
-#include <stdint.h>
 #include <sys/cdefs.h>
+
+#include <stdint.h>
 #include <sys/types.h>
 
 #if !defined(__BIONIC_SWAB_INLINE)
@@ -38,7 +39,7 @@
 
 __BEGIN_DECLS
 
-__BIONIC_SWAB_INLINE void swab(const void* __void_src, void* __void_dst, ssize_t __byte_count) {
+__BIONIC_SWAB_INLINE void swab(const void* _Nonnull __void_src, void* _Nonnull __void_dst, ssize_t __byte_count) {
   const uint8_t* __src = __BIONIC_CAST(static_cast, const uint8_t*, __void_src);
   uint8_t* __dst = __BIONIC_CAST(static_cast, uint8_t*, __void_dst);
   while (__byte_count > 1) {
diff --git a/libc/include/bits/sysconf.h b/libc/include/bits/sysconf.h
index 8607adf..ecf26ba 100644
--- a/libc/include/bits/sysconf.h
+++ b/libc/include/bits/sysconf.h
@@ -26,172 +26,324 @@
  * SUCH DAMAGE.
  */
 
-#ifndef _BITS_SYSCONF_H_
-#define _BITS_SYSCONF_H_
+#pragma once
 
 #include <sys/cdefs.h>
 
-/* as listed by Posix sysconf() description */
-/* most of these will return -1 and ENOSYS  */
-
-#define _SC_ARG_MAX             0x0000
-#define _SC_BC_BASE_MAX         0x0001
-#define _SC_BC_DIM_MAX          0x0002
-#define _SC_BC_SCALE_MAX        0x0003
-#define _SC_BC_STRING_MAX       0x0004
-#define _SC_CHILD_MAX           0x0005
-#define _SC_CLK_TCK             0x0006
-#define _SC_COLL_WEIGHTS_MAX    0x0007
-#define _SC_EXPR_NEST_MAX       0x0008
-#define _SC_LINE_MAX            0x0009
-#define _SC_NGROUPS_MAX         0x000a
-#define _SC_OPEN_MAX            0x000b
-#define _SC_PASS_MAX            0x000c
-#define _SC_2_C_BIND            0x000d
-#define _SC_2_C_DEV             0x000e
-#define _SC_2_C_VERSION         0x000f  /* Obsolescent in POSIX.1-2008, TODO: remove it. */
-#define _SC_2_CHAR_TERM         0x0010
-#define _SC_2_FORT_DEV          0x0011
-#define _SC_2_FORT_RUN          0x0012
-#define _SC_2_LOCALEDEF         0x0013
-#define _SC_2_SW_DEV            0x0014
-#define _SC_2_UPE               0x0015
-#define _SC_2_VERSION           0x0016
-#define _SC_JOB_CONTROL         0x0017
-#define _SC_SAVED_IDS           0x0018
-#define _SC_VERSION             0x0019
-#define _SC_RE_DUP_MAX          0x001a
-#define _SC_STREAM_MAX          0x001b
-#define _SC_TZNAME_MAX          0x001c
-#define _SC_XOPEN_CRYPT         0x001d
-#define _SC_XOPEN_ENH_I18N      0x001e
-#define _SC_XOPEN_SHM           0x001f
-#define _SC_XOPEN_VERSION       0x0020
-#define _SC_XOPEN_XCU_VERSION   0x0021  /* Obsolescent in POSIX.1-2008, TODO: remove it. */
-#define _SC_XOPEN_REALTIME      0x0022
-#define _SC_XOPEN_REALTIME_THREADS  0x0023
-#define _SC_XOPEN_LEGACY        0x0024
-#define _SC_ATEXIT_MAX          0x0025
-#define _SC_IOV_MAX             0x0026
+/** sysconf() query for the maximum number of bytes of exec() arguments. */
+#define _SC_ARG_MAX 0x0000
+/** sysconf() query for bc(1) behavior equivalent to _POSIX2_BC_BASE_MAX. */
+#define _SC_BC_BASE_MAX 0x0001
+/** sysconf() query for bc(1) behavior equivalent to _POSIX2_BC_DIM_MAX. */
+#define _SC_BC_DIM_MAX 0x0002
+/** sysconf() query for bc(1) behavior equivalent to _POSIX2_BC_SCALE_MAX. */
+#define _SC_BC_SCALE_MAX 0x0003
+/** sysconf() query for bc(1) behavior equivalent to _POSIX2_BC_STRING_MAX. */
+#define _SC_BC_STRING_MAX 0x0004
+/** sysconf() query equivalent to RLIMIT_NPROC. */
+#define _SC_CHILD_MAX 0x0005
+/** sysconf() query equivalent to AT_CLKTCK. */
+#define _SC_CLK_TCK 0x0006
+/** sysconf() query for collation behavior equivalent to _POSIX2_COLL_WEIGHTS_MAX. */
+#define _SC_COLL_WEIGHTS_MAX 0x0007
+/** sysconf() query for expr(1) behavior equivalent to _POSIX2_EXPR_NEST_MAX. */
+#define _SC_EXPR_NEST_MAX 0x0008
+/** sysconf() query for command-line tool behavior equivalent to _POSIX2_LINE_MAX. */
+#define _SC_LINE_MAX 0x0009
+/** sysconf() query equivalent to NGROUPS_MAX. */
+#define _SC_NGROUPS_MAX 0x000a
+/** sysconf() query equivalent to RLIMIT_NOFILE. */
+#define _SC_OPEN_MAX 0x000b
+/** sysconf() query equivalent to PASS_MAX. */
+#define _SC_PASS_MAX 0x000c
+/** sysconf() query equivalent to _POSIX2_C_BIND. */
+#define _SC_2_C_BIND 0x000d
+/** sysconf() query equivalent to _POSIX2_C_DEV. */
+#define _SC_2_C_DEV 0x000e
+/** Obsolescent in POSIX.1-2008. */
+#define _SC_2_C_VERSION 0x000f
+/** sysconf() query equivalent to _POSIX2_CHAR_TERM. */
+#define _SC_2_CHAR_TERM 0x0010
+/** sysconf() query equivalent to _POSIX2_FORT_DEV. */
+#define _SC_2_FORT_DEV 0x0011
+/** sysconf() query equivalent to _POSIX2_FORT_RUN. */
+#define _SC_2_FORT_RUN 0x0012
+/** sysconf() query equivalent to _POSIX2_LOCALEDEF. */
+#define _SC_2_LOCALEDEF 0x0013
+/** sysconf() query equivalent to _POSIX2_SW_DEV. */
+#define _SC_2_SW_DEV 0x0014
+/** sysconf() query equivalent to _POSIX2_UPE. */
+#define _SC_2_UPE 0x0015
+/** sysconf() query equivalent to _POSIX2_VERSION. */
+#define _SC_2_VERSION 0x0016
+/** sysconf() query equivalent to _POSIX_JOB_CONTROL. */
+#define _SC_JOB_CONTROL 0x0017
+/** sysconf() query equivalent to _POSIX_SAVED_IDS. */
+#define _SC_SAVED_IDS 0x0018
+/** sysconf() query equivalent to _POSIX_VERSION. */
+#define _SC_VERSION 0x0019
+/** sysconf() query equivalent to _POSIX_RE_DUP_MAX. */
+#define _SC_RE_DUP_MAX 0x001a
+/** sysconf() query equivalent to FOPEN_MAX. */
+#define _SC_STREAM_MAX 0x001b
+/** sysconf() query equivalent to _POSIX_TZNAME_MAX. */
+#define _SC_TZNAME_MAX 0x001c
+/** sysconf() query equivalent to _XOPEN_CRYPT. */
+#define _SC_XOPEN_CRYPT 0x001d
+/** sysconf() query equivalent to _XOPEN_ENH_I18N. */
+#define _SC_XOPEN_ENH_I18N 0x001e
+/** sysconf() query equivalent to _XOPEN_SHM. */
+#define _SC_XOPEN_SHM 0x001f
+/** sysconf() query equivalent to _XOPEN_VERSION. */
+#define _SC_XOPEN_VERSION 0x0020
+/** Obsolescent in POSIX.1-2008. */
+#define _SC_XOPEN_XCU_VERSION 0x0021
+/** sysconf() query equivalent to _XOPEN_REALTIME. */
+#define _SC_XOPEN_REALTIME 0x0022
+/** sysconf() query equivalent to _XOPEN_REALTIME_THREADS. */
+#define _SC_XOPEN_REALTIME_THREADS 0x0023
+/** sysconf() query equivalent to _XOPEN_LEGACY. */
+#define _SC_XOPEN_LEGACY 0x0024
+/** sysconf() query for the maximum number of atexit() handlers. Unlimited on Android. */
+#define _SC_ATEXIT_MAX 0x0025
+/** sysconf() query equivalent to IOV_MAX. */
+#define _SC_IOV_MAX 0x0026
+/** Same as _SC_IOV_MAX. */
 #define _SC_UIO_MAXIOV _SC_IOV_MAX
-#define _SC_PAGESIZE            0x0027
-#define _SC_PAGE_SIZE           0x0028
-#define _SC_XOPEN_UNIX          0x0029
-#define _SC_XBS5_ILP32_OFF32    0x002a  /* Obsolescent in POSIX.1-2008, TODO: remove it. */
-#define _SC_XBS5_ILP32_OFFBIG   0x002b  /* Obsolescent in POSIX.1-2008, TODO: remove it. */
-#define _SC_XBS5_LP64_OFF64     0x002c  /* Obsolescent in POSIX.1-2008, TODO: remove it. */
-#define _SC_XBS5_LPBIG_OFFBIG   0x002d  /* Obsolescent in POSIX.1-2008, TODO: remove it. */
-#define _SC_AIO_LISTIO_MAX      0x002e
-#define _SC_AIO_MAX             0x002f
+/** Same as _SC_PAGE_SIZE. */
+#define _SC_PAGESIZE 0x0027
+/** sysconf() query equivalent to getpagesize(). */
+#define _SC_PAGE_SIZE 0x0028
+/** sysconf() query equivalent to _XOPEN_UNIX. */
+#define _SC_XOPEN_UNIX 0x0029
+/** Obsolescent in POSIX.1-2008. */
+#define _SC_XBS5_ILP32_OFF32 0x002a
+/** Obsolescent in POSIX.1-2008. */
+#define _SC_XBS5_ILP32_OFFBIG 0x002b
+/** Obsolescent in POSIX.1-2008. */
+#define _SC_XBS5_LP64_OFF64 0x002c
+/** Obsolescent in POSIX.1-2008. */
+#define _SC_XBS5_LPBIG_OFFBIG 0x002d
+/** sysconf() query equivalent to _POSIX_AIO_LISTIO_MAX. */
+#define _SC_AIO_LISTIO_MAX 0x002e
+/** sysconf() query equivalent to _POSIX_AIO_MAX. */
+#define _SC_AIO_MAX 0x002f
+/** Unimplemented on Android. */
 #define _SC_AIO_PRIO_DELTA_MAX  0x0030
-#define _SC_DELAYTIMER_MAX      0x0031
-#define _SC_MQ_OPEN_MAX         0x0032
-#define _SC_MQ_PRIO_MAX         0x0033
-#define _SC_RTSIG_MAX           0x0034
-#define _SC_SEM_NSEMS_MAX       0x0035
-#define _SC_SEM_VALUE_MAX       0x0036
-#define _SC_SIGQUEUE_MAX        0x0037
-#define _SC_TIMER_MAX           0x0038
-#define _SC_ASYNCHRONOUS_IO     0x0039
-#define _SC_FSYNC               0x003a
-#define _SC_MAPPED_FILES        0x003b
-#define _SC_MEMLOCK             0x003c
-#define _SC_MEMLOCK_RANGE       0x003d
-#define _SC_MEMORY_PROTECTION   0x003e
-#define _SC_MESSAGE_PASSING     0x003f
-#define _SC_PRIORITIZED_IO      0x0040
+/** sysconf() query equivalent to _POSIX_DELAYTIMER_MAX. */
+#define _SC_DELAYTIMER_MAX 0x0031
+/** sysconf() query equivalent to _POSIX_MQ_OPEN_MAX. */
+#define _SC_MQ_OPEN_MAX 0x0032
+/** sysconf() query equivalent to _POSIX_MQ_PRIO_MAX. */
+#define _SC_MQ_PRIO_MAX 0x0033
+/** sysconf() query equivalent to RTSIG_MAX. Constant on Android. */
+#define _SC_RTSIG_MAX 0x0034
+/** sysconf() query equivalent to _POSIX_SEM_NSEMS_MAX. Constant on Android. */
+#define _SC_SEM_NSEMS_MAX 0x0035
+/** sysconf() query equivalent to SEM_VALUE_MAX. Constant on Android. */
+#define _SC_SEM_VALUE_MAX 0x0036
+/** sysconf() query equivalent to _POSIX_SIGQUEUE_MAX. */
+#define _SC_SIGQUEUE_MAX 0x0037
+/** sysconf() query equivalent to _POSIX_TIMER_MAX. */
+#define _SC_TIMER_MAX 0x0038
+/** sysconf() query equivalent to _POSIX_ASYNCHRONOUS_IO. */
+#define _SC_ASYNCHRONOUS_IO 0x0039
+/** sysconf() query equivalent to _POSIX_FSYNC. */
+#define _SC_FSYNC 0x003a
+/** sysconf() query equivalent to _POSIX_MAPPED_FILES. */
+#define _SC_MAPPED_FILES 0x003b
+/** sysconf() query equivalent to _POSIX_MEMLOCK. */
+#define _SC_MEMLOCK 0x003c
+/** sysconf() query equivalent to _POSIX_MEMLOCK_RANGE. */
+#define _SC_MEMLOCK_RANGE 0x003d
+/** sysconf() query equivalent to _POSIX_MEMORY_PROTECTION. */
+#define _SC_MEMORY_PROTECTION 0x003e
+/** sysconf() query equivalent to _POSIX_MESSAGE_PASSING. */
+#define _SC_MESSAGE_PASSING 0x003f
+/** sysconf() query equivalent to _POSIX_PRIORITIZED_IO. */
+#define _SC_PRIORITIZED_IO 0x0040
+/** sysconf() query equivalent to _POSIX_PRIORITY_SCHEDULING. */
 #define _SC_PRIORITY_SCHEDULING 0x0041
-#define _SC_REALTIME_SIGNALS    0x0042
-#define _SC_SEMAPHORES          0x0043
-#define _SC_SHARED_MEMORY_OBJECTS  0x0044
-#define _SC_SYNCHRONIZED_IO     0x0045
-#define _SC_TIMERS              0x0046
-#define _SC_GETGR_R_SIZE_MAX    0x0047
-#define _SC_GETPW_R_SIZE_MAX    0x0048
-#define _SC_LOGIN_NAME_MAX      0x0049
-#define _SC_THREAD_DESTRUCTOR_ITERATIONS  0x004a
-#define _SC_THREAD_KEYS_MAX     0x004b
-#define _SC_THREAD_STACK_MIN    0x004c
-#define _SC_THREAD_THREADS_MAX  0x004d
-#define _SC_TTY_NAME_MAX        0x004e
-
-#define _SC_THREADS                     0x004f
-#define _SC_THREAD_ATTR_STACKADDR       0x0050
-#define _SC_THREAD_ATTR_STACKSIZE       0x0051
-#define _SC_THREAD_PRIORITY_SCHEDULING  0x0052
-#define _SC_THREAD_PRIO_INHERIT         0x0053
-#define _SC_THREAD_PRIO_PROTECT         0x0054
-#define _SC_THREAD_SAFE_FUNCTIONS       0x0055
-
-#define _SC_NPROCESSORS_CONF            0x0060
-#define _SC_NPROCESSORS_ONLN            0x0061
-#define _SC_PHYS_PAGES                  0x0062
-#define _SC_AVPHYS_PAGES                0x0063
-#define _SC_MONOTONIC_CLOCK             0x0064
-
-#define _SC_2_PBS               0x0065
-#define _SC_2_PBS_ACCOUNTING    0x0066
-#define _SC_2_PBS_CHECKPOINT    0x0067
-#define _SC_2_PBS_LOCATE        0x0068
-#define _SC_2_PBS_MESSAGE       0x0069
-#define _SC_2_PBS_TRACK         0x006a
-#define _SC_ADVISORY_INFO       0x006b
-#define _SC_BARRIERS            0x006c
-#define _SC_CLOCK_SELECTION     0x006d
-#define _SC_CPUTIME             0x006e
-#define _SC_HOST_NAME_MAX       0x006f
-#define _SC_IPV6                0x0070
-#define _SC_RAW_SOCKETS         0x0071
+/** sysconf() query equivalent to _POSIX_REALTIME_SIGNALS. */
+#define _SC_REALTIME_SIGNALS 0x0042
+/** sysconf() query equivalent to _POSIX_SEMAPHORES. */
+#define _SC_SEMAPHORES 0x0043
+/** sysconf() query equivalent to _POSIX_SHARED_MEMORY_OBJECTS. */
+#define _SC_SHARED_MEMORY_OBJECTS 0x0044
+/** sysconf() query equivalent to _POSIX_SYNCHRONIZED_IO. */
+#define _SC_SYNCHRONIZED_IO 0x0045
+/** sysconf() query equivalent to _POSIX_TIMERS. */
+#define _SC_TIMERS 0x0046
+/** sysconf() query for an initial size for getgrgid_r() and getgrnam_r() buffers. */
+#define _SC_GETGR_R_SIZE_MAX 0x0047
+/** sysconf() query for an initial size for getpwuid_r() and getpwnam_r() buffers. */
+#define _SC_GETPW_R_SIZE_MAX 0x0048
+/** sysconf() query equivalent to LOGIN_NAME_MAX. */
+#define _SC_LOGIN_NAME_MAX 0x0049
+/** sysconf() query equivalent to PTHREAD_DESTRUCTOR_ITERATIONS. */
+#define _SC_THREAD_DESTRUCTOR_ITERATIONS 0x004a
+/** sysconf() query equivalent to PTHREAD_KEYS_MAX. */
+#define _SC_THREAD_KEYS_MAX 0x004b
+/** sysconf() query equivalent to PTHREAD_STACK_MIN. */
+#define _SC_THREAD_STACK_MIN 0x004c
+/** sysconf() query for a maximum number of threads. Unlimited on Android. */
+#define _SC_THREAD_THREADS_MAX 0x004d
+/** sysconf() query equivalent to TTY_NAME_MAX. */
+#define _SC_TTY_NAME_MAX 0x004e
+/** sysconf() query equivalent to _POSIX_THREADS. */
+#define _SC_THREADS 0x004f
+/** sysconf() query equivalent to _POSIX_THREAD_ATTR_STACKADDR. */
+#define _SC_THREAD_ATTR_STACKADDR 0x0050
+/** sysconf() query equivalent to _POSIX_THREAD_ATTR_STACKSIZE. */
+#define _SC_THREAD_ATTR_STACKSIZE 0x0051
+/** sysconf() query equivalent to _POSIX_THREAD_PRIORITY_SCHEDULING. */
+#define _SC_THREAD_PRIORITY_SCHEDULING 0x0052
+/** sysconf() query equivalent to _POSIX_THREAD_PRIO_INHERIT. */
+#define _SC_THREAD_PRIO_INHERIT 0x0053
+/** sysconf() query equivalent to _POSIX_THREAD_PRIO_PROTECT. */
+#define _SC_THREAD_PRIO_PROTECT 0x0054
+/** sysconf() query equivalent to _POSIX_THREAD_SAFE_FUNCTIONS. */
+#define _SC_THREAD_SAFE_FUNCTIONS 0x0055
+/** sysconf() query equivalent to get_nprocs_conf(). */
+#define _SC_NPROCESSORS_CONF 0x0060
+/** sysconf() query equivalent to get_nprocs(). */
+#define _SC_NPROCESSORS_ONLN 0x0061
+/** sysconf() query equivalent to get_phys_pages(). */
+#define _SC_PHYS_PAGES 0x0062
+/** sysconf() query equivalent to get_avphys_pages(). */
+#define _SC_AVPHYS_PAGES 0x0063
+/** sysconf() query equivalent to _POSIX_MONOTONIC_CLOCK. */
+#define _SC_MONOTONIC_CLOCK 0x0064
+/** Obsolescent in POSIX.1-2008. */
+#define _SC_2_PBS 0x0065
+/** Obsolescent in POSIX.1-2008. */
+#define _SC_2_PBS_ACCOUNTING 0x0066
+/** Obsolescent in POSIX.1-2008. */
+#define _SC_2_PBS_CHECKPOINT 0x0067
+/** Obsolescent in POSIX.1-2008. */
+#define _SC_2_PBS_LOCATE 0x0068
+/** Obsolescent in POSIX.1-2008. */
+#define _SC_2_PBS_MESSAGE 0x0069
+/** Obsolescent in POSIX.1-2008. */
+#define _SC_2_PBS_TRACK 0x006a
+/** sysconf() query equivalent to _POSIX_ADVISORY_INFO. */
+#define _SC_ADVISORY_INFO 0x006b
+/** sysconf() query equivalent to _POSIX_BARRIERS. */
+#define _SC_BARRIERS 0x006c
+/** sysconf() query equivalent to _POSIX_CLOCK_SELECTION. */
+#define _SC_CLOCK_SELECTION 0x006d
+/** sysconf() query equivalent to _POSIX_CPUTIME. */
+#define _SC_CPUTIME 0x006e
+/** sysconf() query equivalent to _POSIX_HOST_NAME_MAX. */
+#define _SC_HOST_NAME_MAX 0x006f
+/** sysconf() query equivalent to _POSIX_IPV6. */
+#define _SC_IPV6 0x0070
+/** sysconf() query equivalent to _POSIX_RAW_SOCKETS. */
+#define _SC_RAW_SOCKETS 0x0071
+/** sysconf() query equivalent to _POSIX_READER_WRITER_LOCKS. */
 #define _SC_READER_WRITER_LOCKS 0x0072
-#define _SC_REGEXP              0x0073
-#define _SC_SHELL               0x0074
-#define _SC_SPAWN               0x0075
-#define _SC_SPIN_LOCKS          0x0076
-#define _SC_SPORADIC_SERVER     0x0077
-#define _SC_SS_REPL_MAX         0x0078
-#define _SC_SYMLOOP_MAX         0x0079
-#define _SC_THREAD_CPUTIME      0x007a
-#define _SC_THREAD_PROCESS_SHARED       0x007b
-#define _SC_THREAD_ROBUST_PRIO_INHERIT  0x007c
-#define _SC_THREAD_ROBUST_PRIO_PROTECT  0x007d
-#define _SC_THREAD_SPORADIC_SERVER      0x007e
-#define _SC_TIMEOUTS            0x007f
-#define _SC_TRACE               0x0080
-#define _SC_TRACE_EVENT_FILTER  0x0081
-#define _SC_TRACE_EVENT_NAME_MAX  0x0082
-#define _SC_TRACE_INHERIT       0x0083
-#define _SC_TRACE_LOG           0x0084
-#define _SC_TRACE_NAME_MAX      0x0085
-#define _SC_TRACE_SYS_MAX       0x0086
-#define _SC_TRACE_USER_EVENT_MAX  0x0087
-#define _SC_TYPED_MEMORY_OBJECTS  0x0088
-#define _SC_V7_ILP32_OFF32      0x0089
-#define _SC_V7_ILP32_OFFBIG     0x008a
-#define _SC_V7_LP64_OFF64       0x008b
-#define _SC_V7_LPBIG_OFFBIG     0x008c
-#define _SC_XOPEN_STREAMS       0x008d
-#define _SC_XOPEN_UUCP          0x008e
-
-#define _SC_LEVEL1_ICACHE_SIZE      0x008f
-#define _SC_LEVEL1_ICACHE_ASSOC     0x0090
-#define _SC_LEVEL1_ICACHE_LINESIZE  0x0091
-#define _SC_LEVEL1_DCACHE_SIZE      0x0092
-#define _SC_LEVEL1_DCACHE_ASSOC     0x0093
-#define _SC_LEVEL1_DCACHE_LINESIZE  0x0094
-#define _SC_LEVEL2_CACHE_SIZE       0x0095
-#define _SC_LEVEL2_CACHE_ASSOC      0x0096
-#define _SC_LEVEL2_CACHE_LINESIZE   0x0097
-#define _SC_LEVEL3_CACHE_SIZE       0x0098
-#define _SC_LEVEL3_CACHE_ASSOC      0x0099
-#define _SC_LEVEL3_CACHE_LINESIZE   0x009a
-#define _SC_LEVEL4_CACHE_SIZE       0x009b
-#define _SC_LEVEL4_CACHE_ASSOC      0x009c
-#define _SC_LEVEL4_CACHE_LINESIZE   0x009d
+/** sysconf() query equivalent to _POSIX_REGEXP. */
+#define _SC_REGEXP 0x0073
+/** sysconf() query equivalent to _POSIX_SHELL. */
+#define _SC_SHELL 0x0074
+/** sysconf() query equivalent to _POSIX_SPAWN. */
+#define _SC_SPAWN 0x0075
+/** sysconf() query equivalent to _POSIX_SPIN_LOCKS. */
+#define _SC_SPIN_LOCKS 0x0076
+/** sysconf() query equivalent to _POSIX_SPORADIC_SERVER. */
+#define _SC_SPORADIC_SERVER 0x0077
+/** sysconf() query equivalent to _POSIX_SS_REPL_MAX. */
+#define _SC_SS_REPL_MAX 0x0078
+/** sysconf() query equivalent to _POSIX_SYMLOOP_MAX. */
+#define _SC_SYMLOOP_MAX 0x0079
+/** sysconf() query equivalent to _POSIX_THREAD_CPUTIME. */
+#define _SC_THREAD_CPUTIME 0x007a
+/** sysconf() query equivalent to _POSIX_THREAD_PROCESS_SHARED. */
+#define _SC_THREAD_PROCESS_SHARED 0x007b
+/** sysconf() query equivalent to _POSIX_THREAD_ROBUST_PRIO_INHERIT. */
+#define _SC_THREAD_ROBUST_PRIO_INHERIT 0x007c
+/** sysconf() query equivalent to _POSIX_THREAD_ROBUST_PRIO_PROTECT. */
+#define _SC_THREAD_ROBUST_PRIO_PROTECT 0x007d
+/** sysconf() query equivalent to _POSIX_THREAD_SPORADIC_SERVER. */
+#define _SC_THREAD_SPORADIC_SERVER 0x007e
+/** sysconf() query equivalent to _POSIX_TIMEOUTS. */
+#define _SC_TIMEOUTS 0x007f
+/** Unimplemented. */
+#define _SC_TRACE 0x0080
+/** Unimplemented. */
+#define _SC_TRACE_EVENT_FILTER 0x0081
+/** Unimplemented. */
+#define _SC_TRACE_EVENT_NAME_MAX 0x0082
+/** Unimplemented. */
+#define _SC_TRACE_INHERIT 0x0083
+/** Unimplemented. */
+#define _SC_TRACE_LOG 0x0084
+/** Unimplemented. */
+#define _SC_TRACE_NAME_MAX 0x0085
+/** Unimplemented. */
+#define _SC_TRACE_SYS_MAX 0x0086
+/** Unimplemented. */
+#define _SC_TRACE_USER_EVENT_MAX 0x0087
+/** sysconf() query equivalent to _POSIX_TYPED_MEMORY_OBJECTS. */
+#define _SC_TYPED_MEMORY_OBJECTS 0x0088
+/** sysconf() query equivalent to _POSIX_V7_ILP32_OFF32. */
+#define _SC_V7_ILP32_OFF32 0x0089
+/** sysconf() query equivalent to _POSIX_V7_ILP32_OFFBIG. */
+#define _SC_V7_ILP32_OFFBIG 0x008a
+/** sysconf() query equivalent to _POSIX_V7_ILP64_OFF64. */
+#define _SC_V7_LP64_OFF64 0x008b
+/** sysconf() query equivalent to _POSIX_V7_ILP64_OFFBIG. */
+#define _SC_V7_LPBIG_OFFBIG 0x008c
+/** Unimplemented. */
+#define _SC_XOPEN_STREAMS 0x008d
+/** Meaningless in Android, unsupported in every other libc (but defined by POSIX). */
+#define _SC_XOPEN_UUCP 0x008e
+/** sysconf() query for the L1 instruction cache size. Not available on all architectures. */
+#define _SC_LEVEL1_ICACHE_SIZE 0x008f
+/** sysconf() query for the L1 instruction cache associativity. Not available on all architectures. */
+#define _SC_LEVEL1_ICACHE_ASSOC 0x0090
+/** sysconf() query for the L1 instruction cache line size. Not available on all architectures. */
+#define _SC_LEVEL1_ICACHE_LINESIZE 0x0091
+/** sysconf() query for the L1 data cache size. Not available on all architectures. */
+#define _SC_LEVEL1_DCACHE_SIZE 0x0092
+/** sysconf() query for the L1 data cache associativity. Not available on all architectures. */
+#define _SC_LEVEL1_DCACHE_ASSOC 0x0093
+/** sysconf() query for the L1 data cache line size. Not available on all architectures. */
+#define _SC_LEVEL1_DCACHE_LINESIZE 0x0094
+/** sysconf() query for the L2 cache size. Not available on all architectures. */
+#define _SC_LEVEL2_CACHE_SIZE 0x0095
+/** sysconf() query for the L2 cache associativity. Not available on all architectures. */
+#define _SC_LEVEL2_CACHE_ASSOC 0x0096
+/** sysconf() query for the L2 cache line size. Not available on all architectures. */
+#define _SC_LEVEL2_CACHE_LINESIZE 0x0097
+/** sysconf() query for the L3 cache size. Not available on all architectures. */
+#define _SC_LEVEL3_CACHE_SIZE 0x0098
+/** sysconf() query for the L3 cache associativity. Not available on all architectures. */
+#define _SC_LEVEL3_CACHE_ASSOC 0x0099
+/** sysconf() query for the L3 cache line size. Not available on all architectures. */
+#define _SC_LEVEL3_CACHE_LINESIZE 0x009a
+/** sysconf() query for the L4 cache size. Not available on all architectures. */
+#define _SC_LEVEL4_CACHE_SIZE 0x009b
+/** sysconf() query for the L4 cache associativity. Not available on all architectures. */
+#define _SC_LEVEL4_CACHE_ASSOC 0x009c
+/** sysconf() query for the L4 cache line size. Not available on all architectures. */
+#define _SC_LEVEL4_CACHE_LINESIZE 0x009d
 
 __BEGIN_DECLS
 
+/**
+ * [sysconf(3)](https://man7.org/linux/man-pages/man3/sysconf.3.html)
+ * gets system configuration at runtime, corresponding to the given
+ * `_SC_` constant. See the man page for details on how to interpret
+ * the results.
+ *
+ * For `_SC_` constants where an equivalent is given, it's cheaper on Android
+ * to go straight to that function call --- sysconf() is just a multiplexer.
+ * This may not be true on other systems, and other systems may not support the
+ * direct function, so sysconf() can be useful for portability, though despite
+ * POSIX's best efforts, the exact set of constants that return useful results
+ * will also vary by system.
+ */
 long sysconf(int __name);
 
 __END_DECLS
-
-#endif /* _SYS_SYSCONF_H_ */
diff --git a/libc/bionic/strnlen.c b/libc/include/bits/tcphdr.h
similarity index 64%
copy from libc/bionic/strnlen.c
copy to libc/include/bits/tcphdr.h
index 2c6f60a..a9b6fe0 100644
--- a/libc/bionic/strnlen.c
+++ b/libc/include/bits/tcphdr.h
@@ -25,14 +25,47 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <string.h>
 
-size_t  strnlen(const char*  str, size_t  maxlen)
-{
-    char*  p = memchr(str, 0, maxlen);
+#pragma once
 
-    if (p == NULL)
-        return maxlen;
-    else
-        return (p - str);
-}
+#include <sys/cdefs.h>
+#include <stdint.h>
+
+__BEGIN_DECLS
+
+struct tcphdr {
+  __extension__ union {
+    struct {
+      uint16_t th_sport;
+      uint16_t th_dport;
+      uint32_t th_seq;
+      uint32_t th_ack;
+      uint8_t th_x2:4;
+      uint8_t th_off:4;
+      uint8_t th_flags;
+      uint16_t th_win;
+      uint16_t th_sum;
+      uint16_t th_urp;
+    };
+    struct {
+      uint16_t source;
+      uint16_t dest;
+      uint32_t seq;
+      uint32_t ack_seq;
+      uint16_t res1:4;
+      uint16_t doff:4;
+      uint16_t fin:1;
+      uint16_t syn:1;
+      uint16_t rst:1;
+      uint16_t psh:1;
+      uint16_t ack:1;
+      uint16_t urg:1;
+      uint16_t res2:2;
+      uint16_t window;
+      uint16_t check;
+      uint16_t urg_ptr;
+    };
+  };
+};
+
+__END_DECLS
diff --git a/libc/include/bits/termios_inlines.h b/libc/include/bits/termios_inlines.h
index 5f7cc42..bb04e4d 100644
--- a/libc/include/bits/termios_inlines.h
+++ b/libc/include/bits/termios_inlines.h
@@ -29,8 +29,9 @@
 #ifndef _BITS_TERMIOS_INLINES_H_
 #define _BITS_TERMIOS_INLINES_H_
 
-#include <errno.h>
 #include <sys/cdefs.h>
+
+#include <errno.h>
 #include <sys/ioctl.h>
 #include <sys/types.h>
 
@@ -45,19 +46,19 @@
 // Supporting separate input and output speeds would require an ABI
 // change for `struct termios`.
 
-static __inline speed_t cfgetspeed(const struct termios* s) {
+static __inline speed_t cfgetspeed(const struct termios* _Nonnull s) {
   return __BIONIC_CAST(static_cast, speed_t, s->c_cflag & CBAUD);
 }
 
-__BIONIC_TERMIOS_INLINE speed_t cfgetispeed(const struct termios* s) {
+__BIONIC_TERMIOS_INLINE speed_t cfgetispeed(const struct termios* _Nonnull s) {
   return cfgetspeed(s);
 }
 
-__BIONIC_TERMIOS_INLINE speed_t cfgetospeed(const struct termios* s) {
+__BIONIC_TERMIOS_INLINE speed_t cfgetospeed(const struct termios* _Nonnull s) {
   return cfgetspeed(s);
 }
 
-__BIONIC_TERMIOS_INLINE void cfmakeraw(struct termios* s) {
+__BIONIC_TERMIOS_INLINE void cfmakeraw(struct termios* _Nonnull s) {
   s->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);
   s->c_oflag &= ~OPOST;
   s->c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
@@ -67,7 +68,7 @@
   s->c_cc[VTIME] = 0;
 }
 
-__BIONIC_TERMIOS_INLINE int cfsetspeed(struct termios* s, speed_t speed) {
+__BIONIC_TERMIOS_INLINE int cfsetspeed(struct termios* _Nonnull s, speed_t speed) {
   // CBAUD is 0x100f, and every matching bit pattern has a Bxxx constant.
   if ((speed & ~CBAUD) != 0) {
     errno = EINVAL;
@@ -77,11 +78,11 @@
   return 0;
 }
 
-__BIONIC_TERMIOS_INLINE int cfsetispeed(struct termios* s, speed_t speed) {
+__BIONIC_TERMIOS_INLINE int cfsetispeed(struct termios* _Nonnull s, speed_t speed) {
   return cfsetspeed(s, speed);
 }
 
-__BIONIC_TERMIOS_INLINE int cfsetospeed(struct termios* s, speed_t speed) {
+__BIONIC_TERMIOS_INLINE int cfsetospeed(struct termios* _Nonnull s, speed_t speed) {
   return cfsetspeed(s, speed);
 }
 
@@ -99,7 +100,7 @@
   return ioctl(fd, TCFLSH, __BIONIC_CAST(static_cast, unsigned long, queue));
 }
 
-__BIONIC_TERMIOS_INLINE int tcgetattr(int fd, struct termios* s) {
+__BIONIC_TERMIOS_INLINE int tcgetattr(int fd, struct termios* _Nonnull s) {
   return ioctl(fd, TCGETS, s);
 }
 
@@ -112,7 +113,7 @@
   return ioctl(fd, TCSBRKP, __BIONIC_CAST(static_cast, unsigned long, duration));
 }
 
-__BIONIC_TERMIOS_INLINE int tcsetattr(int fd, int optional_actions, const struct termios* s) {
+__BIONIC_TERMIOS_INLINE int tcsetattr(int fd, int optional_actions, const struct termios* _Nonnull s) {
   int cmd;
   switch (optional_actions) {
     case TCSANOW: cmd = TCSETS; break;
diff --git a/libm/fenv-access.h b/libc/include/bits/termios_winsize_inlines.h
similarity index 69%
copy from libm/fenv-access.h
copy to libc/include/bits/termios_winsize_inlines.h
index 7acb34d..86777b0 100644
--- a/libm/fenv-access.h
+++ b/libc/include/bits/termios_winsize_inlines.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2023 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,26 @@
 
 #pragma once
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
+#include <sys/cdefs.h>
+
+#include <errno.h>
+#include <sys/ioctl.h>
+#include <sys/types.h>
+
+#include <linux/termios.h>
+
+#if !defined(__BIONIC_TERMIOS_WINSIZE_INLINE)
+#define __BIONIC_TERMIOS_WINSIZE_INLINE static __inline
 #endif
+
+__BEGIN_DECLS
+
+__BIONIC_TERMIOS_WINSIZE_INLINE int tcgetwinsize(int __fd, struct winsize* _Nonnull __size) {
+  return ioctl(__fd, TIOCGWINSZ, __size);
+}
+
+__BIONIC_TERMIOS_WINSIZE_INLINE int tcsetwinsize(int __fd, const struct winsize* _Nonnull __size) {
+  return ioctl(__fd, TIOCSWINSZ, __size);
+}
+
+__END_DECLS
diff --git a/libc/include/bits/threads_inlines.h b/libc/include/bits/threads_inlines.h
index 17de4a1..ab294c1 100644
--- a/libc/include/bits/threads_inlines.h
+++ b/libc/include/bits/threads_inlines.h
@@ -28,6 +28,8 @@
 
 #pragma once
 
+#include <sys/cdefs.h>
+
 #include <threads.h>
 
 #include <errno.h>
@@ -48,46 +50,46 @@
   }
 }
 
-__BIONIC_THREADS_INLINE void call_once(once_flag* __flag,
-                                       void (*__function)(void)) {
+__BIONIC_THREADS_INLINE void call_once(once_flag* _Nonnull __flag,
+                                       void (* _Nonnull __function)(void)) {
   pthread_once(__flag, __function);
 }
 
 
 
-__BIONIC_THREADS_INLINE int cnd_broadcast(cnd_t* __cnd) {
+__BIONIC_THREADS_INLINE int cnd_broadcast(cnd_t* _Nonnull __cnd) {
   return __bionic_thrd_error(pthread_cond_broadcast(__cnd));
 }
 
-__BIONIC_THREADS_INLINE void cnd_destroy(cnd_t* __cnd) {
+__BIONIC_THREADS_INLINE void cnd_destroy(cnd_t* _Nonnull __cnd) {
   pthread_cond_destroy(__cnd);
 }
 
-__BIONIC_THREADS_INLINE int cnd_init(cnd_t* __cnd) {
+__BIONIC_THREADS_INLINE int cnd_init(cnd_t* _Nonnull __cnd) {
   return __bionic_thrd_error(pthread_cond_init(__cnd, NULL));
 }
 
-__BIONIC_THREADS_INLINE int cnd_signal(cnd_t* __cnd) {
+__BIONIC_THREADS_INLINE int cnd_signal(cnd_t* _Nonnull __cnd) {
   return __bionic_thrd_error(pthread_cond_signal(__cnd));
 }
 
-__BIONIC_THREADS_INLINE int cnd_timedwait(cnd_t* __cnd,
-                                          mtx_t* __mtx,
-                                          const struct timespec* __timeout) {
+__BIONIC_THREADS_INLINE int cnd_timedwait(cnd_t* _Nonnull __cnd,
+                                          mtx_t* _Nonnull __mtx,
+                                          const struct timespec* _Nullable __timeout) {
   return __bionic_thrd_error(pthread_cond_timedwait(__cnd, __mtx, __timeout));
 }
 
-__BIONIC_THREADS_INLINE int cnd_wait(cnd_t* __cnd, mtx_t* __mtx) {
+__BIONIC_THREADS_INLINE int cnd_wait(cnd_t* _Nonnull __cnd, mtx_t* _Nonnull __mtx) {
   return __bionic_thrd_error(pthread_cond_wait(__cnd, __mtx));
 }
 
 
 
-__BIONIC_THREADS_INLINE void mtx_destroy(mtx_t* __mtx) {
+__BIONIC_THREADS_INLINE void mtx_destroy(mtx_t* _Nonnull __mtx) {
   pthread_mutex_destroy(__mtx);
 }
 
-__BIONIC_THREADS_INLINE int mtx_init(mtx_t* __mtx, int __type) {
+__BIONIC_THREADS_INLINE int mtx_init(mtx_t* _Nonnull __mtx, int __type) {
   int __pthread_type = (__type & mtx_recursive) ? PTHREAD_MUTEX_RECURSIVE
                                                 : PTHREAD_MUTEX_NORMAL;
   __type &= ~mtx_recursive;
@@ -99,31 +101,29 @@
   return __bionic_thrd_error(pthread_mutex_init(__mtx, &__attr));
 }
 
-__BIONIC_THREADS_INLINE int mtx_lock(mtx_t* __mtx) {
+__BIONIC_THREADS_INLINE int mtx_lock(mtx_t* _Nonnull __mtx) {
   return __bionic_thrd_error(pthread_mutex_lock(__mtx));
 }
 
-__BIONIC_THREADS_INLINE int mtx_timedlock(mtx_t* __mtx,
-                                          const struct timespec* __timeout) {
+__BIONIC_THREADS_INLINE int mtx_timedlock(mtx_t* _Nonnull __mtx,
+                                          const struct timespec* _Nullable __timeout) {
   return __bionic_thrd_error(pthread_mutex_timedlock(__mtx, __timeout));
 }
 
-__BIONIC_THREADS_INLINE int mtx_trylock(mtx_t* __mtx) {
+__BIONIC_THREADS_INLINE int mtx_trylock(mtx_t* _Nonnull __mtx) {
   return __bionic_thrd_error(pthread_mutex_trylock(__mtx));
 }
 
-__BIONIC_THREADS_INLINE int mtx_unlock(mtx_t* __mtx) {
+__BIONIC_THREADS_INLINE int mtx_unlock(mtx_t* _Nonnull __mtx) {
   return __bionic_thrd_error(pthread_mutex_unlock(__mtx));
 }
 
-
-
 struct __bionic_thrd_data {
-  thrd_start_t __func;
-  void* __arg;
+  thrd_start_t _Nonnull __func;
+  void* _Nullable __arg;
 };
 
-static inline void* __bionic_thrd_trampoline(void* __arg) {
+static __inline void* _Nonnull __bionic_thrd_trampoline(void* _Nonnull __arg) {
   struct __bionic_thrd_data __data =
       *__BIONIC_CAST(static_cast, struct __bionic_thrd_data*, __arg);
   free(__arg);
@@ -132,9 +132,9 @@
                        __BIONIC_CAST(static_cast, uintptr_t, __result));
 }
 
-__BIONIC_THREADS_INLINE int thrd_create(thrd_t* __thrd,
-                                        thrd_start_t __func,
-                                        void* __arg) {
+__BIONIC_THREADS_INLINE int thrd_create(thrd_t* _Nonnull __thrd,
+                                        thrd_start_t _Nonnull __func,
+                                        void* _Nullable __arg) {
   struct __bionic_thrd_data* __pthread_arg =
       __BIONIC_CAST(static_cast, struct __bionic_thrd_data*,
                     malloc(sizeof(struct __bionic_thrd_data)));
@@ -164,7 +164,7 @@
                              __BIONIC_CAST(static_cast, uintptr_t, __result)));
 }
 
-__BIONIC_THREADS_INLINE int thrd_join(thrd_t __thrd, int* __result) {
+__BIONIC_THREADS_INLINE int thrd_join(thrd_t __thrd, int* _Nullable __result) {
   void* __pthread_result;
   if (pthread_join(__thrd, &__pthread_result) != 0) return thrd_error;
   if (__result) {
@@ -173,8 +173,8 @@
   return thrd_success;
 }
 
-__BIONIC_THREADS_INLINE int thrd_sleep(const struct timespec* __duration,
-                                       struct timespec* __remaining) {
+__BIONIC_THREADS_INLINE int thrd_sleep(const struct timespec* _Nonnull __duration,
+                                       struct timespec* _Nullable __remaining) {
   int __rc = nanosleep(__duration, __remaining);
   if (__rc == 0) return 0;
   return (errno == EINTR) ? -1 : -2;
@@ -186,7 +186,7 @@
 
 
 
-__BIONIC_THREADS_INLINE int tss_create(tss_t* __key, tss_dtor_t __dtor) {
+__BIONIC_THREADS_INLINE int tss_create(tss_t* _Nonnull __key, tss_dtor_t _Nullable __dtor) {
   return __bionic_thrd_error(pthread_key_create(__key, __dtor));
 }
 
@@ -194,11 +194,11 @@
   pthread_key_delete(__key);
 }
 
-__BIONIC_THREADS_INLINE void* tss_get(tss_t __key) {
+__BIONIC_THREADS_INLINE void* _Nullable tss_get(tss_t __key) {
   return pthread_getspecific(__key);
 }
 
-__BIONIC_THREADS_INLINE int tss_set(tss_t __key, void* __value) {
+__BIONIC_THREADS_INLINE int tss_set(tss_t __key, void* _Nonnull __value) {
   return __bionic_thrd_error(pthread_setspecific(__key, __value));
 }
 
diff --git a/libc/include/bits/wait.h b/libc/include/bits/wait.h
index a6a2129..c7f1fb0 100644
--- a/libc/include/bits/wait.h
+++ b/libc/include/bits/wait.h
@@ -53,7 +53,7 @@
 #define WIFEXITED(__status) (WTERMSIG(__status) == 0)
 
 /** Returns true if the process was stopped by a signal. */
-#define WIFSTOPPED(__status) (WTERMSIG(__status) == 0x7f)
+#define WIFSTOPPED(__status) (((__status) & 0xff) == 0x7f)
 
 /** Returns true if the process was terminated by a signal. */
 #define WIFSIGNALED(__status) (WTERMSIG((__status)+1) >= 2)
diff --git a/libc/include/bits/wctype.h b/libc/include/bits/wctype.h
index 0015261..d0cffec 100644
--- a/libc/include/bits/wctype.h
+++ b/libc/include/bits/wctype.h
@@ -39,7 +39,7 @@
 
 int iswalnum(wint_t __wc);
 int iswalpha(wint_t __wc);
-int iswblank(wint_t __wc) __INTRODUCED_IN(21);
+int iswblank(wint_t __wc);
 int iswcntrl(wint_t __wc);
 int iswdigit(wint_t __wc);
 int iswgraph(wint_t __wc);
@@ -54,12 +54,16 @@
 wint_t towupper(wint_t __wc);
 
 typedef long wctype_t;
-wctype_t wctype(const char* __name);
+wctype_t wctype(const char* _Nonnull __name);
 int iswctype(wint_t __wc, wctype_t __type);
 
 typedef const void* wctrans_t;
-wint_t towctrans(wint_t __wc, wctrans_t __transform) __INTRODUCED_IN_NO_GUARD_FOR_NDK(26);
-wctrans_t wctrans(const char* __name) __INTRODUCED_IN_NO_GUARD_FOR_NDK(26);
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+wint_t towctrans(wint_t __wc, wctrans_t _Nonnull __transform) __INTRODUCED_IN(26);
+wctrans_t _Nullable wctrans(const char* _Nonnull __name) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 
 __END_DECLS
 
diff --git a/libc/include/byteswap.h b/libc/include/byteswap.h
index 0773426..a679ea0 100644
--- a/libc/include/byteswap.h
+++ b/libc/include/byteswap.h
@@ -37,19 +37,19 @@
 #include <sys/endian.h>
 
 /**
- * [bswap_16(3)](http://man7.org/linux/man-pages/man3/bswap_16.3.html) swaps the bytes in a
+ * [bswap_16(3)](https://man7.org/linux/man-pages/man3/bswap_16.3.html) swaps the bytes in a
  * 16-bit value.
  */
 #define bswap_16(x) __swap16(x)
 
 /**
- * [bswap_32(3)](http://man7.org/linux/man-pages/man3/bswap_32.3.html) swaps the bytes in a
+ * [bswap_32(3)](https://man7.org/linux/man-pages/man3/bswap_32.3.html) swaps the bytes in a
  * 32-bit value.
  */
 #define bswap_32(x) __swap32(x)
 
 /**
- * [bswap_64(3)](http://man7.org/linux/man-pages/man3/bswap_64.3.html) swaps the bytes in a
+ * [bswap_64(3)](https://man7.org/linux/man-pages/man3/bswap_64.3.html) swaps the bytes in a
  * 64-bit value.
  */
 #define bswap_64(x) __swap64(x)
diff --git a/libc/include/complex.h b/libc/include/complex.h
index 50da330..1115862 100644
--- a/libc/include/complex.h
+++ b/libc/include/complex.h
@@ -53,101 +53,217 @@
 
 /* 7.3.5 Trigonometric functions */
 /* 7.3.5.1 The cacos functions */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 double complex cacos(double complex __z) __INTRODUCED_IN(23);
 float complex cacosf(float complex __z) __INTRODUCED_IN(23);
-long double complex cacosl(long double complex __z) __RENAME_LDBL(cacos, 23, 26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+long double complex cacosl(long double complex __z) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 /* 7.3.5.2 The casin functions */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 double complex casin(double complex __z) __INTRODUCED_IN(23);
 float complex casinf(float complex __z) __INTRODUCED_IN(23);
-long double complex casinl(long double complex __z) __RENAME_LDBL(casin, 23, 26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+long double complex casinl(long double complex __z) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 /* 7.3.5.1 The catan functions */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 double complex catan(double complex __z) __INTRODUCED_IN(23);
 float complex catanf(float complex __z) __INTRODUCED_IN(23);
-long double complex catanl(long double complex __z) __RENAME_LDBL(catan, 23, 26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+long double complex catanl(long double complex __z) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 /* 7.3.5.1 The ccos functions */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 double complex ccos(double complex __z) __INTRODUCED_IN(23);
 float complex ccosf(float complex __z) __INTRODUCED_IN(23);
-long double complex ccosl(long double complex __z) __RENAME_LDBL(ccos, 23, 26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+long double complex ccosl(long double complex __z) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 /* 7.3.5.1 The csin functions */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 double complex csin(double complex __z) __INTRODUCED_IN(23);
 float complex csinf(float complex __z) __INTRODUCED_IN(23);
-long double complex csinl(long double complex __z) __RENAME_LDBL(csin, 23, 26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+long double complex csinl(long double complex __z) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 /* 7.3.5.1 The ctan functions */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 double complex ctan(double complex __z) __INTRODUCED_IN(23);
 float complex ctanf(float complex __z) __INTRODUCED_IN(23);
-long double complex ctanl(long double complex __z) __RENAME_LDBL(ctan, 23, 26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+long double complex ctanl(long double complex __z) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 
 /* 7.3.6 Hyperbolic functions */
 /* 7.3.6.1 The cacosh functions */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 double complex cacosh(double complex __z) __INTRODUCED_IN(23);
 float complex cacoshf(float complex __z) __INTRODUCED_IN(23);
-long double complex cacoshl(long double complex __z) __RENAME_LDBL(cacosh, 23, 26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+long double complex cacoshl(long double complex __z) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 /* 7.3.6.2 The casinh functions */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 double complex casinh(double complex __z) __INTRODUCED_IN(23);
 float complex casinhf(float complex __z) __INTRODUCED_IN(23);
-long double complex casinhl(long double complex __z) __RENAME_LDBL(casinh, 23, 26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+long double complex casinhl(long double complex __z) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 /* 7.3.6.3 The catanh functions */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 double complex catanh(double complex __z) __INTRODUCED_IN(23);
 float complex catanhf(float complex __z) __INTRODUCED_IN(23);
-long double complex catanhl(long double complex __z) __RENAME_LDBL(catanh, 23, 26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+long double complex catanhl(long double complex __z) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 /* 7.3.6.4 The ccosh functions */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 double complex ccosh(double complex __z) __INTRODUCED_IN(23);
 float complex ccoshf(float complex __z) __INTRODUCED_IN(23);
-long double complex ccoshl(long double complex __z) __RENAME_LDBL(ccosh, 23, 26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+long double complex ccoshl(long double complex __z) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 /* 7.3.6.5 The csinh functions */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 double complex csinh(double complex __z) __INTRODUCED_IN(23);
 float complex csinhf(float complex __z) __INTRODUCED_IN(23);
-long double complex csinhl(long double complex __z) __RENAME_LDBL(csinh, 23, 26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+long double complex csinhl(long double complex __z) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 /* 7.3.6.6 The ctanh functions */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 double complex ctanh(double complex __z) __INTRODUCED_IN(23);
 float complex ctanhf(float complex __z) __INTRODUCED_IN(23);
-long double complex ctanhl(long double complex __z) __RENAME_LDBL(ctanh, 23, 26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+long double complex ctanhl(long double complex __z) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 
 /* 7.3.7 Exponential and logarithmic functions */
 /* 7.3.7.1 The cexp functions */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 double complex cexp(double complex __z) __INTRODUCED_IN(23);
 float complex cexpf(float complex __z) __INTRODUCED_IN(23);
-long double complex cexpl(long double complex __z) __RENAME_LDBL(cexp, 23, 26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+long double complex cexpl(long double complex __z) __INTRODUCED_IN(26);
 /* 7.3.7.2 The clog functions */
 double complex clog(double complex __z) __INTRODUCED_IN(26);
 float complex clogf(float complex __z) __INTRODUCED_IN(26);
-long double complex clogl(long double complex __z) __RENAME_LDBL(clog, 26, 26);
+long double complex clogl(long double complex __z) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 
 /* 7.3.8 Power and absolute-value functions */
 /* 7.3.8.1 The cabs functions */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 double cabs(double complex __z) __INTRODUCED_IN(23);
 float cabsf(float complex __z) __INTRODUCED_IN(23);
-long double cabsl(long double complex __z) __INTRODUCED_IN_32(21) __INTRODUCED_IN_64(23) /*__RENAME_LDBL(cabs)*/;
+long double cabsl(long double complex __z) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 /* 7.3.8.2 The cpow functions */
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
 double complex cpow(double complex __x, double complex __z) __INTRODUCED_IN(26);
 float complex cpowf(float complex __x, float complex __z) __INTRODUCED_IN(26);
-long double complex cpowl(long double complex __x, long double complex __z) __RENAME_LDBL(cpow, 26, 26);
+long double complex cpowl(long double complex __x, long double complex __z) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 /* 7.3.8.3 The csqrt functions */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 double complex csqrt(double complex __z) __INTRODUCED_IN(23);
 float complex csqrtf(float complex __z) __INTRODUCED_IN(23);
-long double complex csqrtl(long double complex __z) __INTRODUCED_IN_32(21) __INTRODUCED_IN_64(23) /*__RENAME_LDBL(csqrt)*/;
+long double complex csqrtl(long double complex __z) __INTRODUCED_IN(23);
 
 /* 7.3.9 Manipulation functions */
 /* 7.3.9.1 The carg functions */
 double carg(double complex __z) __INTRODUCED_IN(23);
 float cargf(float complex __z) __INTRODUCED_IN(23);
-long double cargl(long double complex __z) __RENAME_LDBL(carg, 23, 23);
+long double cargl(long double complex __z) __INTRODUCED_IN(23);
 /* 7.3.9.2 The cimag functions */
 double cimag(double complex __z) __INTRODUCED_IN(23);
 float cimagf(float complex __z) __INTRODUCED_IN(23);
-long double cimagl(long double complex __z) __RENAME_LDBL(cimag, 23, 23);
+long double cimagl(long double complex __z) __INTRODUCED_IN(23);
 /* 7.3.9.3 The conj functions */
 double complex conj(double complex __z) __INTRODUCED_IN(23);
 float complex conjf(float complex __z) __INTRODUCED_IN(23);
-long double complex conjl(long double complex __z) __RENAME_LDBL(conj, 23, 23);
+long double complex conjl(long double complex __z) __INTRODUCED_IN(23);
 /* 7.3.9.4 The cproj functions */
 double complex cproj(double complex __z) __INTRODUCED_IN(23);
 float complex cprojf(float complex __z) __INTRODUCED_IN(23);
-long double complex cprojl(long double complex __z) __INTRODUCED_IN_32(21) __INTRODUCED_IN_64(23) /*__RENAME_LDBL(cproj)*/;
+long double complex cprojl(long double complex __z) __INTRODUCED_IN(23);
 /* 7.3.9.5 The creal functions */
 double creal(double complex __z) __INTRODUCED_IN(23);
 float crealf(float complex __z) __INTRODUCED_IN(23);
-long double creall(long double complex __z) __RENAME_LDBL(creal, 23, 23);
+long double creall(long double complex __z) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 __END_DECLS
 
diff --git a/libc/include/ctype.h b/libc/include/ctype.h
index 3b82a76..dc3f673 100644
--- a/libc/include/ctype.h
+++ b/libc/include/ctype.h
@@ -34,6 +34,219 @@
  */
 
 #include <sys/cdefs.h>
+#include <xlocale.h>
 
+/* All the functions in this file are trivial, being but a single
+ * instruction on most architectures. For that reason, we inline them by
+ * default. This macro is meant for internal use only, so that we can
+ * also provide actual symbols for any caller that needs them.
+ */
+#if !defined(__BIONIC_CTYPE_INLINE)
 #define __BIONIC_CTYPE_INLINE static __inline
-#include <bits/ctype_inlines.h>
+#endif
+
+/** Internal implementation detail. Do not use. */
+#define _CTYPE_U 0x01
+/** Internal implementation detail. Do not use. */
+#define _CTYPE_L 0x02
+/** Internal implementation detail. Do not use. */
+#define _CTYPE_D 0x04
+/** Internal implementation detail. Do not use. */
+#define _CTYPE_S 0x08
+/** Internal implementation detail. Do not use. */
+#define _CTYPE_P 0x10
+/** Internal implementation detail. Do not use. */
+#define _CTYPE_C 0x20
+/** Internal implementation detail. Do not use. */
+#define _CTYPE_X 0x40
+/** Internal implementation detail. Do not use. */
+#define _CTYPE_B 0x80
+/** Internal implementation detail. Do not use. */
+#define _CTYPE_R (_CTYPE_P|_CTYPE_U|_CTYPE_L|_CTYPE_D|_CTYPE_B)
+/** Internal implementation detail. Do not use. */
+#define _CTYPE_A (_CTYPE_L|_CTYPE_U)
+/** Internal implementation detail. Do not use. */
+#define _CTYPE_N _CTYPE_D
+
+__BEGIN_DECLS
+
+/** Internal implementation detail. Do not use. */
+extern const char* _ctype_;
+
+/**
+ * Returns the corresponding lower-case character if `ch` is upper-case, or undefined otherwise.
+ *
+ * Prefer tolower() instead.
+ */
+__BIONIC_CTYPE_INLINE int _tolower(int __ch) {
+  return __ch | 0x20;
+}
+
+/**
+ * Returns the corresponding upper-case character if `ch` is lower-case, or undefined otherwise.
+ *
+ * Prefer toupper() instead.
+ */
+__BIONIC_CTYPE_INLINE int _toupper(int __ch) {
+  // Using EOR rather than AND makes no difference on arm, but saves an
+  // instruction on arm64.
+  return __ch ^ 0x20;
+}
+
+/** Internal implementation detail. Do not use. */
+__attribute__((__no_sanitize__("unsigned-integer-overflow")))
+__BIONIC_CTYPE_INLINE int __bionic_ctype_in_range(unsigned __lo, int __ch, unsigned __hi) {
+  return (__BIONIC_CAST(static_cast, unsigned, __ch) - __lo) < (__hi - __lo + 1);
+}
+
+/** Returns true if `ch` is in `[A-Za-z]`. */
+__BIONIC_CTYPE_INLINE int isalpha(int __ch) {
+  return __bionic_ctype_in_range('a', _tolower(__ch), 'z');
+}
+
+/** Returns true if `ch` is a space or tab. */
+__BIONIC_CTYPE_INLINE int isblank(int __ch) {
+  return __ch == ' ' || __ch == '\t';
+}
+
+/** Returns true if `ch` is a control character (any character before space, plus DEL). */
+__BIONIC_CTYPE_INLINE int iscntrl(int __ch) {
+  return (__BIONIC_CAST(static_cast, unsigned, __ch) < ' ') || __ch == 0x7f;
+}
+
+/** Returns true if `ch` is in `[0-9]`. */
+__BIONIC_CTYPE_INLINE int isdigit(int __ch) {
+  return __bionic_ctype_in_range('0', __ch, '9');
+}
+
+/** Returns true if `ch` is `[A-Za-z0-9]` or punctuation. */
+__BIONIC_CTYPE_INLINE int isgraph(int __ch) {
+  return __bionic_ctype_in_range('!', __ch, '~');
+}
+
+/** Returns true if `ch` is in `[a-z]`. */
+__BIONIC_CTYPE_INLINE int islower(int __ch) {
+  return __bionic_ctype_in_range('a', __ch, 'z');
+}
+
+/** Returns true if `ch` is `[A-Za-z0-9]` or punctuation or space. */
+__BIONIC_CTYPE_INLINE int isprint(int __ch) {
+  return __bionic_ctype_in_range(' ', __ch, '~');
+}
+
+/** Returns true if `ch` is in `[ \f\n\r\t\v]`. */
+__BIONIC_CTYPE_INLINE int isspace(int __ch) {
+  return __ch == ' ' || __bionic_ctype_in_range('\t', __ch, '\r');
+}
+
+/** Returns true if `ch` is in `[A-Z]`. */
+__BIONIC_CTYPE_INLINE int isupper(int __ch) {
+  return __bionic_ctype_in_range('A', __ch, 'Z');
+}
+
+/** Returns true if `ch` is in `[0-9A-Fa-f]`. */
+__BIONIC_CTYPE_INLINE int isxdigit(int __ch) {
+  return isdigit(__ch) || __bionic_ctype_in_range('a', _tolower(__ch), 'f') ;
+}
+
+/** Returns true if `ch` is in `[A-Za-z0-9]`. */
+__BIONIC_CTYPE_INLINE int isalnum(int __ch) {
+  return isalpha(__ch) || isdigit(__ch);
+}
+
+/** Returns true if `ch` is punctuation. */
+__BIONIC_CTYPE_INLINE int ispunct(int __ch) {
+  return isgraph(__ch) && !isalnum(__ch);
+}
+
+/** Returns the corresponding lower-case character if `ch` is upper-case, or `ch` otherwise. */
+__BIONIC_CTYPE_INLINE int tolower(int __ch) {
+  return (__bionic_ctype_in_range('A', __ch, 'Z')) ? _tolower(__ch) : __ch;
+}
+
+/** Returns the corresponding upper-case character if `ch` is lower-case, or `ch` otherwise. */
+__BIONIC_CTYPE_INLINE int toupper(int __ch) {
+  return (__bionic_ctype_in_range('a', __ch, 'z')) ? _toupper(__ch) : __ch;
+}
+
+/** Returns true if `ch` is less than 0x80. */
+__BIONIC_CTYPE_INLINE int isascii(int __ch) {
+  return __BIONIC_CAST(static_cast, unsigned, __ch) < 0x80;
+}
+
+/** Returns `ch & 0x7f`. */
+__BIONIC_CTYPE_INLINE int toascii(int __ch) {
+  return __ch & 0x7f;
+}
+
+/** Like isalnum() but with an ignored `locale_t`. */
+__BIONIC_CTYPE_INLINE int isalnum_l(int __ch, locale_t __l) {
+  return isalnum(__ch);
+}
+
+/** Like isalpha() but with an ignored `locale_t`. */
+__BIONIC_CTYPE_INLINE int isalpha_l(int __ch, locale_t __l) {
+  return isalpha(__ch);
+}
+
+/** Like isblank() but with an ignored `locale_t`. */
+__BIONIC_CTYPE_INLINE int isblank_l(int __ch, locale_t __l) {
+  return isblank(__ch);
+}
+
+/** Like iscntrl() but with an ignored `locale_t`. */
+__BIONIC_CTYPE_INLINE int iscntrl_l(int __ch, locale_t __l) {
+  return iscntrl(__ch);
+}
+
+/** Like isdigit() but with an ignored `locale_t`. */
+__BIONIC_CTYPE_INLINE int isdigit_l(int __ch, locale_t __l) {
+  return isdigit(__ch);
+}
+
+/** Like isgraph() but with an ignored `locale_t`. */
+__BIONIC_CTYPE_INLINE int isgraph_l(int __ch, locale_t __l) {
+  return isgraph(__ch);
+}
+
+/** Like islower() but with an ignored `locale_t`. */
+__BIONIC_CTYPE_INLINE int islower_l(int __ch, locale_t __l) {
+  return islower(__ch);
+}
+
+/** Like isprint() but with an ignored `locale_t`. */
+__BIONIC_CTYPE_INLINE int isprint_l(int __ch, locale_t __l) {
+  return isprint(__ch);
+}
+
+/** Like ispunct() but with an ignored `locale_t`. */
+__BIONIC_CTYPE_INLINE int ispunct_l(int __ch, locale_t __l) {
+  return ispunct(__ch);
+}
+
+/** Like isspace() but with an ignored `locale_t`. */
+__BIONIC_CTYPE_INLINE int isspace_l(int __ch, locale_t __l) {
+  return isspace(__ch);
+}
+
+/** Like isupper() but with an ignored `locale_t`. */
+__BIONIC_CTYPE_INLINE int isupper_l(int __ch, locale_t __l) {
+  return isupper(__ch);
+}
+
+/** Like isxdigit() but with an ignored `locale_t`. */
+__BIONIC_CTYPE_INLINE int isxdigit_l(int __ch, locale_t __l) {
+  return isxdigit(__ch);
+}
+
+/** Like tolower() but with an ignored `locale_t`. */
+__BIONIC_CTYPE_INLINE int tolower_l(int __ch, locale_t __l) {
+  return tolower(__ch);
+}
+
+/** Like toupper() but with an ignored `locale_t`. */
+__BIONIC_CTYPE_INLINE int toupper_l(int __ch, locale_t __l) {
+  return toupper(__ch);
+}
+
+__END_DECLS
diff --git a/libc/include/dirent.h b/libc/include/dirent.h
index 2751b9e..8058cfb 100644
--- a/libc/include/dirent.h
+++ b/libc/include/dirent.h
@@ -33,8 +33,9 @@
  * @brief Directory entry iteration.
  */
 
-#include <stdint.h>
 #include <sys/cdefs.h>
+
+#include <stdint.h>
 #include <sys/types.h>
 
 __BEGIN_DECLS
@@ -90,7 +91,7 @@
 typedef struct DIR DIR;
 
 /**
- * [opendir(3)](http://man7.org/linux/man-pages/man3/opendir.3.html)
+ * [opendir(3)](https://man7.org/linux/man-pages/man3/opendir.3.html)
  * opens a directory stream for the directory at `__path`.
  *
  * Returns null and sets `errno` on failure.
@@ -98,7 +99,7 @@
 DIR* _Nullable opendir(const char* _Nonnull __path);
 
 /**
- * [fopendir(3)](http://man7.org/linux/man-pages/man3/opendir.3.html)
+ * [fopendir(3)](https://man7.org/linux/man-pages/man3/opendir.3.html)
  * opens a directory stream for the directory at `__dir_fd`.
  *
  * Returns null and sets `errno` on failure.
@@ -106,7 +107,7 @@
 DIR* _Nullable fdopendir(int __dir_fd);
 
 /**
- * [readdir(3)](http://man7.org/linux/man-pages/man3/readdir.3.html)
+ * [readdir(3)](https://man7.org/linux/man-pages/man3/readdir.3.html)
  * returns the next directory entry in the given directory.
  *
  * Returns a pointer to a directory entry on success,
@@ -116,20 +117,20 @@
 struct dirent* _Nullable readdir(DIR* _Nonnull __dir);
 
 /**
- * [readdir64(3)](http://man7.org/linux/man-pages/man3/readdir.3.html)
+ * [readdir64(3)](https://man7.org/linux/man-pages/man3/readdir.3.html)
  * returns the next directory entry in the given directory.
  *
  * Returns a pointer to a directory entry on success,
  * or returns null and leaves `errno` unchanged at the end of the directory,
  * or returns null and sets `errno` on failure.
  */
-struct dirent64* _Nullable readdir64(DIR* _Nonnull __dir) __INTRODUCED_IN(21);
+struct dirent64* _Nullable readdir64(DIR* _Nonnull __dir);
 
 int readdir_r(DIR* _Nonnull __dir, struct dirent* _Nonnull __entry, struct dirent* _Nullable * _Nonnull __buffer) __attribute__((__deprecated__("readdir_r is deprecated; use readdir instead")));
-int readdir64_r(DIR* _Nonnull __dir, struct dirent64* _Nonnull __entry, struct dirent64* _Nullable * _Nonnull __buffer) __INTRODUCED_IN(21) __attribute__((__deprecated__("readdir64_r is deprecated; use readdir64 instead")));
+int readdir64_r(DIR* _Nonnull __dir, struct dirent64* _Nonnull __entry, struct dirent64* _Nullable * _Nonnull __buffer) __attribute__((__deprecated__("readdir64_r is deprecated; use readdir64 instead")));
 
 /**
- * [closedir(3)](http://man7.org/linux/man-pages/man3/closedir.3.html)
+ * [closedir(3)](https://man7.org/linux/man-pages/man3/closedir.3.html)
  * closes a directory stream.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
@@ -137,22 +138,24 @@
 int closedir(DIR* _Nonnull __dir);
 
 /**
- * [rewinddir(3)](http://man7.org/linux/man-pages/man3/rewinddir.3.html)
+ * [rewinddir(3)](https://man7.org/linux/man-pages/man3/rewinddir.3.html)
  * rewinds a directory stream to the first entry.
  */
 void rewinddir(DIR* _Nonnull __dir);
 
 /**
- * [seekdir(3)](http://man7.org/linux/man-pages/man3/seekdir.3.html)
+ * [seekdir(3)](https://man7.org/linux/man-pages/man3/seekdir.3.html)
  * seeks a directory stream to the given entry, which must be a value returned
  * by telldir().
  *
  * Available since API level 23.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 void seekdir(DIR* _Nonnull __dir, long __location) __INTRODUCED_IN(23);
 
 /**
- * [telldir(3)](http://man7.org/linux/man-pages/man3/telldir.3.html)
+ * [telldir(3)](https://man7.org/linux/man-pages/man3/telldir.3.html)
  * returns a value representing the current position in the directory
  * for use with seekdir().
  *
@@ -161,9 +164,11 @@
  * Available since API level 23.
  */
 long telldir(DIR* _Nonnull __dir) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 /**
- * [dirfd(3)](http://man7.org/linux/man-pages/man3/dirfd.3.html)
+ * [dirfd(3)](https://man7.org/linux/man-pages/man3/dirfd.3.html)
  * returns the file descriptor backing the given directory stream.
  *
  * Returns a file descriptor on success and returns -1 and sets `errno` on failure.
@@ -171,21 +176,19 @@
 int dirfd(DIR* _Nonnull __dir);
 
 /**
- * [alphasort](http://man7.org/linux/man-pages/man3/alphasort.3.html) is a
+ * [alphasort](https://man7.org/linux/man-pages/man3/alphasort.3.html) is a
  * comparator for use with scandir() that uses strcoll().
  */
 int alphasort(const struct dirent* _Nonnull * _Nonnull __lhs, const struct dirent* _Nonnull * _Nonnull __rhs);
 
 /**
- * [alphasort64](http://man7.org/linux/man-pages/man3/alphasort.3.html) is a
+ * [alphasort64](https://man7.org/linux/man-pages/man3/alphasort.3.html) is a
  * comparator for use with scandir64() that uses strcmp().
- *
- * Available since API level 21.
  */
-int alphasort64(const struct dirent64* _Nonnull * _Nonnull __lhs, const struct dirent64* _Nonnull * _Nonnull __rhs) __INTRODUCED_IN(21);
+int alphasort64(const struct dirent64* _Nonnull * _Nonnull __lhs, const struct dirent64* _Nonnull * _Nonnull __rhs);
 
 /**
- * [scandir(3)](http://man7.org/linux/man-pages/man3/scandir.3.html)
+ * [scandir(3)](https://man7.org/linux/man-pages/man3/scandir.3.html)
  * scans all the directory `__path`, filtering entries with `__filter` and
  * sorting them with qsort() using the given `__comparator`, and storing them
  * into `__name_list`. Passing NULL as the filter accepts all entries.
@@ -197,7 +200,7 @@
 int scandir(const char* _Nonnull __path, struct dirent* _Nonnull * _Nonnull * _Nonnull __name_list, int (* _Nullable __filter)(const struct dirent* _Nonnull), int (* _Nullable __comparator)(const struct dirent* _Nonnull * _Nonnull, const struct dirent* _Nonnull * _Nonnull));
 
 /**
- * [scandir64(3)](http://man7.org/linux/man-pages/man3/scandir.3.html)
+ * [scandir64(3)](https://man7.org/linux/man-pages/man3/scandir.3.html)
  * scans all the directory `__path`, filtering entries with `__filter` and
  * sorting them with qsort() using the given `__comparator`, and storing them
  * into `__name_list`. Passing NULL as the filter accepts all entries.
@@ -205,15 +208,13 @@
  *
  * Returns the number of entries returned in the list on success,
  * and returns -1 and sets `errno` on failure.
- *
- * Available since API level 21.
  */
-int scandir64(const char* _Nonnull __path, struct dirent64* _Nonnull * _Nonnull * _Nonnull __name_list, int (* _Nullable __filter)(const struct dirent64* _Nonnull), int (* _Nullable __comparator)(const struct dirent64* _Nonnull * _Nonnull, const struct dirent64* _Nonnull * _Nonnull)) __INTRODUCED_IN(21);
+int scandir64(const char* _Nonnull __path, struct dirent64* _Nonnull * _Nonnull * _Nonnull __name_list, int (* _Nullable __filter)(const struct dirent64* _Nonnull), int (* _Nullable __comparator)(const struct dirent64* _Nonnull * _Nonnull, const struct dirent64* _Nonnull * _Nonnull));
 
 #if defined(__USE_GNU)
 
 /**
- * [scandirat64(3)](http://man7.org/linux/man-pages/man3/scandirat.3.html)
+ * [scandirat64(3)](https://man7.org/linux/man-pages/man3/scandirat.3.html)
  * scans all the directory referenced by the pair of `__dir_fd` and `__path`,
  * filtering entries with `__filter` and sorting them with qsort() using the
  * given `__comparator`, and storing them into `__name_list`. Passing NULL as
@@ -225,10 +226,12 @@
  *
  * Available since API level 24.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
 int scandirat64(int __dir_fd, const char* _Nonnull __path, struct dirent64* _Nonnull * _Nonnull * _Nonnull __name_list, int (* _Nullable __filter)(const struct dirent64* _Nonnull), int (* _Nullable __comparator)(const struct dirent64* _Nonnull * _Nonnull, const struct dirent64* _Nonnull * _Nonnull)) __INTRODUCED_IN(24);
 
 /**
- * [scandirat(3)](http://man7.org/linux/man-pages/man3/scandirat.3.html)
+ * [scandirat(3)](https://man7.org/linux/man-pages/man3/scandirat.3.html)
  * scans all the directory referenced by the pair of `__dir_fd` and `__path`,
  * filtering entries with `__filter` and sorting them with qsort() using the
  * given `__comparator`, and storing them into `__name_list`. Passing NULL as
@@ -241,6 +244,8 @@
  * Available since API level 24.
  */
 int scandirat(int __dir_fd, const char* _Nonnull __path, struct dirent* _Nonnull * _Nonnull * _Nonnull __name_list, int (* _Nullable __filter)(const struct dirent* _Nonnull), int (* _Nullable __comparator)(const struct dirent* _Nonnull * _Nonnull, const struct dirent* _Nonnull * _Nonnull)) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
 
 #endif
 
diff --git a/libc/include/dlfcn.h b/libc/include/dlfcn.h
index a8066a9..81045fd 100644
--- a/libc/include/dlfcn.h
+++ b/libc/include/dlfcn.h
@@ -26,57 +26,183 @@
  * SUCH DAMAGE.
  */
 
-#ifndef __DLFCN_H__
-#define __DLFCN_H__
+#pragma once
+
+#include <sys/cdefs.h>
 
 #include <stdint.h>
-#include <sys/cdefs.h>
+
+/**
+ * @addtogroup libdl Dynamic Linker
+ * @{
+ */
+
+/**
+ * \file
+ * Standard dynamic library support.
+ * See also the Android-specific functionality in `<android/dlext.h>`.
+ */
 
 __BEGIN_DECLS
 
+/**
+ * dladdr() returns information using this structure.
+ */
 typedef struct {
-  /* Pathname of shared object that contains address. */
+  /** Pathname of the shared object that contains the given address. */
   const char* _Nullable dli_fname;
-  /* Address at which shared object is loaded. */
+  /** Address at which the shared object is loaded. */
   void* _Nullable dli_fbase;
-  /* Name of nearest symbol with address lower than addr. */
+  /** Name of the nearest symbol with an address lower than the given address. */
   const char* _Nullable dli_sname;
-  /* Exact address of symbol named in dli_sname. */
+  /** Exact address of the symbol named in `dli_sname`. */
   void* _Nullable dli_saddr;
 } Dl_info;
 
+/**
+ * [dlopen(3)](https://man7.org/linux/man-pages/man3/dlopen.3.html)
+ * loads the given shared library.
+ *
+ * See also android_dlopen_ext().
+ *
+ * Returns a pointer to an opaque handle for use with other <dlfcn.h> functions
+ * on success, and returns NULL on failure, in which case dlerror() can be used
+ * to retrieve the specific error.
+ */
 void* _Nullable dlopen(const char* _Nullable __filename, int __flag);
+
+/**
+ * [dlclose(3)](https://man7.org/linux/man-pages/man3/dlclose.3.html)
+ * decrements the reference count for the given shared library (and
+ * any libraries brought in by that library's DT_NEEDED entries).
+ *
+ * If a library's reference count hits zero, it may be unloaded.
+ * Code that relies on this is not portable, and may not work on
+ * future versions of Android.
+ *
+ * dlclose() is dangerous because function pointers may or may not
+ * be rendered invalid, global data may or may not be rendered invalid,
+ * and memory may or may not leak. Code with global constructors is
+ * especially problematic. Instead of dlclose, prefer to leave the
+ * library open or, if cleanup is necessary, dlopen() the library in
+ * a child process which can later be killed by the parent or call
+ * exit() itself.
+ *
+ * Note also that dlclose() interacts badly with thread local variables
+ * with non-trivial destructors, with the
+ * (exact behavior varying by API level)[https://android.googlesource.com/platform/bionic/+/main/android-changes-for-ndk-developers.md#dlclose-interacts-badly-with-thread-local-variables-with-non_trivial-destructors].
+ *
+ * Returns 0 on success, and returns -1 on failure, in which case
+ * dlerror() can be used to retrieve the specific error.
+ */
 int dlclose(void* _Nonnull __handle);
+
+/**
+ * [dlerror(3)](https://man7.org/linux/man-pages/man3/dlerror.3.html)
+ * returns a human-readable error message describing the most recent
+ * failure from one of the <dlfcn.h> functions on the calling thread.
+ *
+ * This function also clears the error, so a second call (or a call
+ * before any failure) will return NULL.
+ *
+ * Returns a pointer to an error on success, and returns NULL if no
+ * error is pending.
+ */
 char* _Nullable dlerror(void);
-/* (RTLD_DEFAULT is null for LP64, but -1 for LP32) */
+
+/**
+ * [dlsym(3)](https://man7.org/linux/man-pages/man3/dlsym.3.html)
+ * returns a pointer to the symbol with the given name in the shared
+ * library represented by the given handle. The handle may have been
+ * returned from dlopen(), or can be RTLD_DEFAULT or RTLD_NEXT.
+ *
+ * Returns the address of the symbol on success, and returns NULL on failure,
+ * in which case dlerror() can be used to retrieve the specific error.
+ */
 void* _Nullable dlsym(void* __BIONIC_COMPLICATED_NULLNESS __handle, const char* _Nullable __symbol);
-/* (RTLD_DEFAULT is null for LP64, but -1 for LP32) */
+
+/**
+ * [dlvsym(3)](https://man7.org/linux/man-pages/man3/dlvsym.3.html)
+ * returns a pointer to the symbol with the given name and version in the shared
+ * library represented by the given handle. The handle may have been
+ * returned from dlopen(), or can be RTLD_DEFAULT or RTLD_NEXT.
+ *
+ * Returns the address of the symbol on success, and returns NULL on failure,
+ * in which case dlerror() can be used to retrieve the specific error.
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
 void* _Nullable dlvsym(void* __BIONIC_COMPLICATED_NULLNESS __handle, const char* _Nullable __symbol, const char* _Nullable __version) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
+
+/**
+ * [dladdr(3)](https://man7.org/linux/man-pages/man3/dladdr.3.html)
+ * returns information about the symbol at the given address.
+ *
+ * Returns non-zero on success, and returns 0 on failure. Note that unlike
+ * the other <dlfcn.h> functions, in this case dlerror() will _not_ have
+ * more information.
+ */
 int dladdr(const void* _Nonnull __addr, Dl_info* _Nonnull __info);
 
+/**
+ * A dlsym()/dlvsym() handle that returns the first symbol found in any
+ * shared library using the default search order.
+ */
+#define RTLD_DEFAULT  __BIONIC_CAST(reinterpret_cast, void*, 0)
+
+/**
+ * A dlsym()/dlvsym() handle that returns the first symbol found in any
+ * shared library that appears _after_ the object containing the caller.
+ */
+#define RTLD_NEXT     __BIONIC_CAST(reinterpret_cast, void*, -1L)
+
+/**
+ * A dlopen() flag to not make symbols from this library available to later
+ * libraries. See also RTLD_GLOBAL.
+ */
 #define RTLD_LOCAL    0
+
+/**
+ * Not supported on Android. Android always uses RTLD_NOW for security reasons.
+ * Resolving all undefined symbols before dlopen() returns means that RELRO
+ * protections can be applied to the PLT before dlopen() returns.
+ */
 #define RTLD_LAZY     0x00001
+
+/** A dlopen() flag to resolve all undefined symbols before dlopen() returns. */
 #define RTLD_NOW      0x00002
+
+/**
+ * A dlopen() flag to not actually load the given library;
+ * used to test whether the library is already loaded.
+ */
 #define RTLD_NOLOAD   0x00004
+
+/**
+ * A dlopen() flag to make symbols from this library available to later
+ * libraries. See also RTLD_LOCAL.
+ */
 #define RTLD_GLOBAL   0x00100
+
+/**
+ * A dlopen() flag to ignore later dlclose() calls on this library.
+ */
 #define RTLD_NODELETE 0x01000
 
+/* LP32 has historical ABI breakage. */
 #if !defined(__LP64__)
-/* LP32 is broken for historical reasons. */
+#undef RTLD_DEFAULT
+#define RTLD_DEFAULT  __BIONIC_CAST(reinterpret_cast, void*, 0xffffffff)
+#undef RTLD_NEXT
+#define RTLD_NEXT     __BIONIC_CAST(reinterpret_cast, void*, 0xfffffffe)
 #undef RTLD_NOW
 #define RTLD_NOW      0x00000
 #undef RTLD_GLOBAL
 #define RTLD_GLOBAL   0x00002
 #endif
 
-#if defined (__LP64__)
-#define RTLD_DEFAULT  __BIONIC_CAST(reinterpret_cast, void*, 0)
-#define RTLD_NEXT     __BIONIC_CAST(reinterpret_cast, void*, -1L)
-#else
-#define RTLD_DEFAULT  __BIONIC_CAST(reinterpret_cast, void*, 0xffffffff)
-#define RTLD_NEXT     __BIONIC_CAST(reinterpret_cast, void*, 0xfffffffe)
-#endif
-
 __END_DECLS
 
-#endif
+/** @} */
diff --git a/libc/include/elf.h b/libc/include/elf.h
index 1dfc008..24454d7 100644
--- a/libc/include/elf.h
+++ b/libc/include/elf.h
@@ -202,17 +202,11 @@
 #define DF_1_SINGLETON  0x02000000
 #define DF_1_STUB       0x04000000
 
-/* http://www.sco.com/developers/gabi/latest/ch4.eheader.html */
-#define ELFOSABI_SYSV 0 /* Synonym for ELFOSABI_NONE used by valgrind. */
-#define ELFOSABI_GNU 3 /* Synonym for ELFOSABI_LINUX. */
-
 /* http://www.sco.com/developers/gabi/latest/ch4.reloc.html */
 #define ELF32_R_INFO(sym, type) ((((Elf32_Word)sym) << 8) | ((type) & 0xff))
 #define ELF64_R_INFO(sym, type) ((((Elf64_Xword)sym) << 32) | ((type) & 0xffffffff))
 
 /* http://www.sco.com/developers/gabi/latest/ch4.symtab.html */
-#undef ELF_ST_TYPE
-#define ELF_ST_TYPE(x) ((x) & 0xf)
 #define ELF_ST_INFO(b,t) (((b) << 4) + ((t) & 0xf))
 #define ELF32_ST_INFO(b,t) ELF_ST_INFO(b,t)
 #define ELF64_ST_INFO(b,t) ELF_ST_INFO(b,t)
@@ -258,6 +252,15 @@
 #define DT_ANDROID_RELA 0x60000011 // DT_LOOS + 4
 #define DT_ANDROID_RELASZ 0x60000012 // DT_LOOS + 5
 
+/* arm64 psabi. */
+
+/* TODO: upstreamed to FreeBSD as https://github.com/freebsd/freebsd-src/pull/1141/. */
+#define DT_AARCH64_MEMTAG_MODE 0x70000009
+#define DT_AARCH64_MEMTAG_HEAP 0x7000000b
+#define DT_AARCH64_MEMTAG_STACK 0x7000000c
+#define DT_AARCH64_MEMTAG_GLOBALS 0x7000000d
+#define DT_AARCH64_MEMTAG_GLOBALSSZ 0x7000000f
+
 /* Linux traditionally doesn't have the trailing 64 that BSD has on these. */
 #define R_AARCH64_TLS_DTPREL R_AARCH64_TLS_DTPREL64
 #define R_AARCH64_TLS_DTPMOD R_AARCH64_TLS_DTPMOD64
@@ -266,4 +269,31 @@
 /* TODO: upstream these to FreeBSD? */
 #define R_ARM_TLS_DESC 13
 #define R_ARM_IRELATIVE 160
-#define R_X86_64_JUMP_SLOT 7
+
+/* riscv64 psabi. */
+
+/*
+ * https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#relocations
+ * Missing from FreeBSD and the Linux uapi headers.
+ * TODO: upstreamed to FreeBSD as https://github.com/freebsd/freebsd-src/pull/1141.
+ */
+#define R_RISCV_TLSDESC 12
+#define R_RISCV_TLSDESC_HI20 62
+#define R_RISCV_TLSDESC_LOAD_LO12 63
+#define R_RISCV_TLSDESC_ADD_LO12 64
+#define R_RISCV_TLSDESC_CALL 65
+
+/* https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#program-header-table */
+#define PT_RISCV_ATTRIBUTES 0x70000003
+
+/* https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#section-types */
+#define SHT_RISCV_ATTRIBUTES 0x70000003
+
+/* FreeBSD spells this slightly differently to Linux. Linux is correct according to
+ * https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#file-header
+ * so I've sent https://github.com/freebsd/freebsd-src/pull/1148 upstream.
+ */
+#define EF_RISCV_FLOAT_ABI EF_RISCV_FLOAT_ABI_MASK
+
+/* FreeBSD spells this slightly differently to Linux. */
+#define R_X86_64_JUMP_SLOT R_X86_64_JMP_SLOT
diff --git a/libc/include/err.h b/libc/include/err.h
index af44514..4a1841b 100644
--- a/libc/include/err.h
+++ b/libc/include/err.h
@@ -36,14 +36,15 @@
  * @brief BSD error reporting functions. See `<error.h>` for the GNU equivalent.
  */
 
-#include <stdarg.h>
 #include <sys/cdefs.h>
+
+#include <stdarg.h>
 #include <sys/types.h>
 
 __BEGIN_DECLS
 
 /**
- * [err(3)](http://man7.org/linux/man-pages/man3/err.3.html) outputs the program name,
+ * [err(3)](https://man7.org/linux/man-pages/man3/err.3.html) outputs the program name,
  * the printf()-like formatted message, and the result of strerror() if `errno` is non-zero.
  *
  * Calls exit() with `__status`.
@@ -53,7 +54,7 @@
 __noreturn void err(int __status, const char* _Nullable __fmt, ...) __printflike(2, 3);
 
 /**
- * [verr(3)](http://man7.org/linux/man-pages/man3/verr.3.html) outputs the program name,
+ * [verr(3)](https://man7.org/linux/man-pages/man3/verr.3.html) outputs the program name,
  * the vprintf()-like formatted message, and the result of strerror() if `errno` is non-zero.
  *
  * Calls exit() with `__status`.
@@ -63,7 +64,7 @@
 __noreturn void verr(int __status, const char* _Nullable __fmt, va_list __args) __printflike(2, 0);
 
 /**
- * [errx(3)](http://man7.org/linux/man-pages/man3/errx.3.html) outputs the program name, and
+ * [errx(3)](https://man7.org/linux/man-pages/man3/errx.3.html) outputs the program name, and
  * the printf()-like formatted message.
  *
  * Calls exit() with `__status`.
@@ -73,7 +74,7 @@
 __noreturn void errx(int __status, const char* _Nullable __fmt, ...) __printflike(2, 3);
 
 /**
- * [verrx(3)](http://man7.org/linux/man-pages/man3/err.3.html) outputs the program name, and
+ * [verrx(3)](https://man7.org/linux/man-pages/man3/err.3.html) outputs the program name, and
  * the vprintf()-like formatted message.
  *
  * Calls exit() with `__status`.
@@ -83,7 +84,7 @@
 __noreturn void verrx(int __status, const char* _Nullable __fmt, va_list __args) __printflike(2, 0);
 
 /**
- * [warn(3)](http://man7.org/linux/man-pages/man3/warn.3.html) outputs the program name,
+ * [warn(3)](https://man7.org/linux/man-pages/man3/warn.3.html) outputs the program name,
  * the printf()-like formatted message, and the result of strerror() if `errno` is non-zero.
  *
  * New code should consider error() in `<error.h>`.
@@ -91,7 +92,7 @@
 void warn(const char* _Nullable __fmt, ...) __printflike(1, 2);
 
 /**
- * [vwarn(3)](http://man7.org/linux/man-pages/man3/vwarn.3.html) outputs the program name,
+ * [vwarn(3)](https://man7.org/linux/man-pages/man3/vwarn.3.html) outputs the program name,
  * the vprintf()-like formatted message, and the result of strerror() if `errno` is non-zero.
  *
  * New code should consider error() in `<error.h>`.
@@ -99,7 +100,7 @@
 void vwarn(const char* _Nullable __fmt, va_list __args) __printflike(1, 0);
 
 /**
- * [warnx(3)](http://man7.org/linux/man-pages/man3/warnx.3.html) outputs the program name, and
+ * [warnx(3)](https://man7.org/linux/man-pages/man3/warnx.3.html) outputs the program name, and
  * the printf()-like formatted message.
  *
  * New code should consider error() in `<error.h>`.
@@ -107,7 +108,7 @@
 void warnx(const char* _Nullable __fmt, ...) __printflike(1, 2);
 
 /**
- * [vwarnx(3)](http://man7.org/linux/man-pages/man3/warn.3.html) outputs the program name, and
+ * [vwarnx(3)](https://man7.org/linux/man-pages/man3/warn.3.html) outputs the program name, and
  * the vprintf()-like formatted message.
  *
  * New code should consider error() in `<error.h>`.
diff --git a/libc/include/errno.h b/libc/include/errno.h
index 12ebdf7..0b79592 100644
--- a/libc/include/errno.h
+++ b/libc/include/errno.h
@@ -52,7 +52,7 @@
 int* _Nonnull __errno(void) __attribute_const__;
 
 /**
- * [errno(3)](http://man7.org/linux/man-pages/man3/errno.3.html) is the last error on the calling
+ * [errno(3)](https://man7.org/linux/man-pages/man3/errno.3.html) is the last error on the calling
  * thread.
  */
 #define errno (*__errno())
diff --git a/libc/include/error.h b/libc/include/error.h
index 187ee17..a9bdc24 100644
--- a/libc/include/error.h
+++ b/libc/include/error.h
@@ -38,16 +38,18 @@
 __BEGIN_DECLS
 
 /**
- * [error_print_progname(3)](http://man7.org/linux/man-pages/man3/error_print_progname.3.html) is
+ * [error_print_progname(3)](https://man7.org/linux/man-pages/man3/error_print_progname.3.html) is
  * a function pointer that, if non-null, is called by error() instead of prefixing errors with the
  * program name.
  *
  * Available since API level 23.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 extern void (* _Nullable error_print_progname)(void) __INTRODUCED_IN(23);
 
 /**
- * [error_message_count(3)](http://man7.org/linux/man-pages/man3/error_message_count.3.html) is
+ * [error_message_count(3)](https://man7.org/linux/man-pages/man3/error_message_count.3.html) is
  * a global count of the number of calls to error() and error_at_line().
  *
  * Available since API level 23.
@@ -55,7 +57,7 @@
 extern unsigned int error_message_count __INTRODUCED_IN(23);
 
 /**
- * [error_one_per_line(3)](http://man7.org/linux/man-pages/man3/error_one_per_line.3.html) is
+ * [error_one_per_line(3)](https://man7.org/linux/man-pages/man3/error_one_per_line.3.html) is
  * a global flag that if non-zero disables printing multiple errors with the same filename and
  * line number.
  *
@@ -64,7 +66,7 @@
 extern int error_one_per_line __INTRODUCED_IN(23);
 
 /**
- * [error(3)](http://man7.org/linux/man-pages/man3/error.3.html) formats the given printf()-like
+ * [error(3)](https://man7.org/linux/man-pages/man3/error.3.html) formats the given printf()-like
  * error message, preceded by the program name. Calls exit if `__status` is non-zero, and appends
  * the result of strerror() if `__errno` is non-zero.
  *
@@ -73,7 +75,7 @@
 void error(int __status, int __errno, const char* _Nonnull __fmt, ...) __printflike(3, 4) __INTRODUCED_IN(23);
 
 /**
- * [error_at_line(3)](http://man7.org/linux/man-pages/man3/error_at_line.3.html) formats the given
+ * [error_at_line(3)](https://man7.org/linux/man-pages/man3/error_at_line.3.html) formats the given
  * printf()-like error message, preceded by the program name and the given filename and line number.
  * Calls exit if `__status` is non-zero, and appends the result of strerror() if `__errno` is
  * non-zero.
@@ -81,5 +83,7 @@
  * Available since API level 23.
  */
 void error_at_line(int __status, int __errno, const char* _Nonnull __filename, unsigned int __line_number, const char* _Nonnull __fmt, ...) __printflike(5, 6) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 __END_DECLS
diff --git a/libc/include/execinfo.h b/libc/include/execinfo.h
index 88f4ae7..84b637c 100644
--- a/libc/include/execinfo.h
+++ b/libc/include/execinfo.h
@@ -47,6 +47,8 @@
  *
  * Available since API level 33.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(33)
 int backtrace(void* _Nonnull * _Nonnull buffer, int size) __INTRODUCED_IN(33);
 
 /**
@@ -70,5 +72,7 @@
  * Available since API level 33.
  */
 void backtrace_symbols_fd(void* _Nonnull const* _Nonnull buffer, int size, int fd) __INTRODUCED_IN(33);
+#endif /* __BIONIC_AVAILABILITY_GUARD(33) */
+
 
 __END_DECLS
diff --git a/libc/include/fcntl.h b/libc/include/fcntl.h
index a8db387..2bd1fc6 100644
--- a/libc/include/fcntl.h
+++ b/libc/include/fcntl.h
@@ -93,17 +93,15 @@
 /** Flag for splice(). */
 #define SPLICE_F_GIFT 8
 
-#if __ANDROID_API__ >= 26
 /** Flag for sync_file_range(). */
 #define SYNC_FILE_RANGE_WAIT_BEFORE 1
 /** Flag for sync_file_range(). */
 #define SYNC_FILE_RANGE_WRITE 2
 /** Flag for sync_file_range(). */
 #define SYNC_FILE_RANGE_WAIT_AFTER 4
-#endif
 
 /**
- * [creat(2)](http://man7.org/linux/man-pages/man2/creat.2.html)
+ * [creat(2)](https://man7.org/linux/man-pages/man2/creat.2.html)
  * creates a file.
  *
  * Returns a new file descriptor on success and returns -1 and sets `errno` on
@@ -111,10 +109,10 @@
  */
 int creat(const char* _Nonnull __path, mode_t __mode);
 /** See creat(). */
-int creat64(const char* _Nonnull __path, mode_t __mode) __INTRODUCED_IN(21);
+int creat64(const char* _Nonnull __path, mode_t __mode);
 
 /**
- * [openat(2)](http://man7.org/linux/man-pages/man2/openat.2.html)
+ * [openat(2)](https://man7.org/linux/man-pages/man2/openat.2.html)
  * opens (and possibly creates) a file.
  *
  * Returns a new file descriptor on success and returns -1 and sets `errno` on
@@ -122,10 +120,10 @@
  */
 int openat(int __dir_fd, const char* _Nonnull __path, int __flags, ...);
 /** See openat(). */
-int openat64(int __dir_fd, const char* _Nonnull __path, int __flags, ...) __INTRODUCED_IN(21);
+int openat64(int __dir_fd, const char* _Nonnull __path, int __flags, ...);
 
 /**
- * [open(2)](http://man7.org/linux/man-pages/man2/open.2.html)
+ * [open(2)](https://man7.org/linux/man-pages/man2/open.2.html)
  * opens (and possibly creates) a file.
  *
  * Returns a new file descriptor on success and returns -1 and sets `errno` on
@@ -133,10 +131,10 @@
  */
 int open(const char* _Nonnull __path, int __flags, ...);
 /** See open(). */
-int open64(const char* _Nonnull __path, int __flags, ...) __INTRODUCED_IN(21);
+int open64(const char* _Nonnull __path, int __flags, ...);
 
 /**
- * [splice(2)](http://man7.org/linux/man-pages/man2/splice.2.html)
+ * [splice(2)](https://man7.org/linux/man-pages/man2/splice.2.html)
  * splices data to/from a pipe.
  *
  * Valid flags are `SPLICE_F_MOVE`, `SPLICE_F_NONBLOCK`, `SPLICE_F_MORE`, and
@@ -144,13 +142,11 @@
  *
  * Returns the number of bytes spliced on success and returns -1 and sets
  * `errno` on failure.
- *
- * Available since API level 21.
  */
-ssize_t splice(int __in_fd, off64_t* __BIONIC_COMPLICATED_NULLNESS __in_offset, int __out_fd, off64_t* __BIONIC_COMPLICATED_NULLNESS __out_offset, size_t __length, unsigned int __flags) __INTRODUCED_IN(21);
+ssize_t splice(int __in_fd, off64_t* __BIONIC_COMPLICATED_NULLNESS __in_offset, int __out_fd, off64_t* __BIONIC_COMPLICATED_NULLNESS __out_offset, size_t __length, unsigned int __flags);
 
 /**
- * [tee(2)](http://man7.org/linux/man-pages/man2/tee.2.html)
+ * [tee(2)](https://man7.org/linux/man-pages/man2/tee.2.html)
  * duplicates data from one pipe to another.
  *
  * Valid flags are `SPLICE_F_MOVE`, `SPLICE_F_NONBLOCK`, `SPLICE_F_MORE`, and
@@ -158,13 +154,11 @@
  *
  * Returns the number of bytes duplicated on success and returns -1 and sets
  * `errno` on failure.
- *
- * Available since API level 21.
  */
-ssize_t tee(int __in_fd, int __out_fd, size_t __length, unsigned int __flags) __INTRODUCED_IN(21);
+ssize_t tee(int __in_fd, int __out_fd, size_t __length, unsigned int __flags);
 
 /**
- * [vmsplice(2)](http://man7.org/linux/man-pages/man2/vmsplice.2.html)
+ * [vmsplice(2)](https://man7.org/linux/man-pages/man2/vmsplice.2.html)
  * splices data to/from a pipe.
  *
  * Valid flags are `SPLICE_F_MOVE`, `SPLICE_F_NONBLOCK`, `SPLICE_F_MORE`, and
@@ -172,13 +166,11 @@
  *
  * Returns the number of bytes spliced on success and returns -1 and sets
  * `errno` on failure.
- *
- * Available since API level 21.
  */
-ssize_t vmsplice(int __fd, const struct iovec* _Nonnull __iov, size_t __count, unsigned int __flags) __INTRODUCED_IN(21);
+ssize_t vmsplice(int __fd, const struct iovec* _Nonnull __iov, size_t __count, unsigned int __flags);
 
 /**
- * [fallocate(2)](http://man7.org/linux/man-pages/man2/fallocate.2.html)
+ * [fallocate(2)](https://man7.org/linux/man-pages/man2/fallocate.2.html)
  * is a Linux-specific extension of posix_fallocate().
  *
  * Valid flags are `FALLOC_FL_KEEP_SIZE`, `FALLOC_FL_PUNCH_HOLE`,
@@ -187,15 +179,13 @@
  * `FALLOC_FL_UNSHARE_RANGE`.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
- *
- * Available since API level 21.
  */
-int fallocate(int __fd, int __mode, off_t __offset, off_t __length) __RENAME_IF_FILE_OFFSET64(fallocate64) __INTRODUCED_IN(21);
+int fallocate(int __fd, int __mode, off_t __offset, off_t __length) __RENAME_IF_FILE_OFFSET64(fallocate64);
 /** See fallocate(). */
-int fallocate64(int __fd, int __mode, off64_t __offset, off64_t __length) __INTRODUCED_IN(21);
+int fallocate64(int __fd, int __mode, off64_t __offset, off64_t __length);
 
 /**
- * [posix_fadvise(2)](http://man7.org/linux/man-pages/man2/posix_fadvise.2.html)
+ * [posix_fadvise(2)](https://man7.org/linux/man-pages/man2/posix_fadvise.2.html)
  * declares an expected access pattern for file data.
  *
  * Valid flags are `POSIX_FADV_NORMAL`, `POSIX_FADV_RANDOM`,
@@ -203,29 +193,25 @@
  * and `POSIX_FADV_NOREUSE`.
  *
  * Returns 0 on success and returns an error number on failure.
- *
- * Available since API level 21.
  */
-int posix_fadvise(int __fd, off_t __offset, off_t __length, int __advice) __RENAME_IF_FILE_OFFSET64(posix_fadvise64) __INTRODUCED_IN(21);
+int posix_fadvise(int __fd, off_t __offset, off_t __length, int __advice) __RENAME_IF_FILE_OFFSET64(posix_fadvise64);
 /** See posix_fadvise(). */
-int posix_fadvise64(int __fd, off64_t __offset, off64_t __length, int __advice) __INTRODUCED_IN(21);
+int posix_fadvise64(int __fd, off64_t __offset, off64_t __length, int __advice);
 
 /**
- * [posix_fallocate(2)](http://man7.org/linux/man-pages/man2/posix_fallocate.2.html)
+ * [posix_fallocate(2)](https://man7.org/linux/man-pages/man2/posix_fallocate.2.html)
  * allocates file space.
  *
  * Returns 0 on success and returns an error number on failure.
- *
- * Available since API level 21.
  */
-int posix_fallocate(int __fd, off_t __offset, off_t __length) __RENAME_IF_FILE_OFFSET64(posix_fallocate64) __INTRODUCED_IN(21);
+int posix_fallocate(int __fd, off_t __offset, off_t __length) __RENAME_IF_FILE_OFFSET64(posix_fallocate64);
 /** See posix_fallocate(). */
-int posix_fallocate64(int __fd, off64_t __offset, off64_t __length) __INTRODUCED_IN(21);
+int posix_fallocate64(int __fd, off64_t __offset, off64_t __length);
 
 #if defined(__USE_GNU)
 
 /**
- * [readahead(2)](http://man7.org/linux/man-pages/man2/readahead.2.html)
+ * [readahead(2)](https://man7.org/linux/man-pages/man2/readahead.2.html)
  * initiates readahead for the given file.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
@@ -233,7 +219,7 @@
 ssize_t readahead(int __fd, off64_t __offset, size_t __length);
 
 /**
- * [sync_file_range(2)](http://man7.org/linux/man-pages/man2/sync_file_range.2.html)
+ * [sync_file_range(2)](https://man7.org/linux/man-pages/man2/sync_file_range.2.html)
  * syncs part of a file with disk.
  *
  * Valid flags are `SYNC_FILE_RANGE_WAIT_BEFORE`, `SYNC_FILE_RANGE_WRITE`, and
@@ -241,7 +227,11 @@
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
 int sync_file_range(int __fd, off64_t __offset, off64_t __length, unsigned int __flags) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 
 #endif
 
diff --git a/libc/include/fenv.h b/libc/include/fenv.h
index 6e8ea57..4c1d490 100644
--- a/libc/include/fenv.h
+++ b/libc/include/fenv.h
@@ -29,6 +29,11 @@
 
 #pragma once
 
+/**
+ * @file fenv.h
+ * @brief Floating-point environment.
+ */
+
 #include <sys/cdefs.h>
 
 #if defined(__aarch64__) || defined(__arm__)
@@ -43,33 +48,135 @@
 
 __BEGIN_DECLS
 
-int feclearexcept(int __exceptions) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_X86(9);
-int fegetexceptflag(fexcept_t* _Nonnull __flag_ptr, int __exceptions) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_X86(9);
-int feraiseexcept(int __exceptions) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_X86(9);
-int fesetexceptflag(const fexcept_t* _Nonnull __flag_ptr, int __exceptions) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_X86(9);
-int fetestexcept(int __exceptions) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_X86(9);
+/**
+ * [feclearexcept(3)](https://man7.org/linux/man-pages/man3/feclearexcept.3.html)
+ * clears the given `exceptions` in hardware.
+ *
+ * Returns 0 on success, and returns non-zero on failure.
+ */
+int feclearexcept(int __exceptions);
 
-int fegetround(void) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_X86(9);
-int fesetround(int __rounding_mode) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_X86(9);
+/**
+ * [fegetexceptflag(3)](https://man7.org/linux/man-pages/man3/fegetexceptflag.3.html)
+ * copies the state of the given `exceptions` from hardware into `*flag_ptr`.
+ * See fesetexceptflag().
+ *
+ * Returns 0 on success, and returns non-zero on failure.
+ */
+int fegetexceptflag(fexcept_t* _Nonnull __flag_ptr, int __exceptions);
 
-int fegetenv(fenv_t* _Nonnull __env) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_X86(9);
-int feholdexcept(fenv_t* _Nonnull __env) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_X86(9);
-int fesetenv(const fenv_t* _Nonnull __env) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_X86(9);
-int feupdateenv(const fenv_t* _Nonnull __env) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_X86(9);
+/**
+ * [feraiseexcept(3)](https://man7.org/linux/man-pages/man3/feraiseexcept.3.html)
+ * raises the given `exceptions` in hardware.
+ *
+ * Returns 0 on success, and returns non-zero on failure.
+ */
+int feraiseexcept(int __exceptions);
 
-int feenableexcept(int __exceptions) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_X86(9);
-int fedisableexcept(int __exceptions) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_X86(9);
-int fegetexcept(void) __INTRODUCED_IN_ARM(21) __INTRODUCED_IN_X86(9);
+/**
+ * [fesetexceptflag(3)](https://man7.org/linux/man-pages/man3/fesetexceptflag.3.html)
+ * copies the state of the given `exceptions` from `*flag_ptr` into hardware.
+ * See fesetexceptflag().
+ *
+ * Returns 0 on success, and returns non-zero on failure.
+ */
+int fesetexceptflag(const fexcept_t* _Nonnull __flag_ptr, int __exceptions);
 
-/*
- * The following constant represents the default floating-point environment
- * (that is, the one installed at program startup) and has type pointer to
- * const-qualified fenv_t.
+/**
+ * [fetestexcept(3)](https://man7.org/linux/man-pages/man3/fetestexcept.3.html)
+ * tests whether the given `exceptions` are set in hardware.
+ *
+ * Returns the currently-set subset of `exceptions`.
+ */
+int fetestexcept(int __exceptions);
+
+/**
+ * [fegetround(3)](https://man7.org/linux/man-pages/man3/fegetround.3.html)
+ * returns the current rounding mode.
+ *
+ * Returns the rounding mode on success, and returns a negative value on failure.
+ */
+int fegetround(void);
+
+/**
+ * [fesetround(3)](https://man7.org/linux/man-pages/man3/fesetround.3.html)
+ * sets the current rounding mode.
+ *
+ * Returns 0 on success, and returns non-zero on failure.
+ */
+int fesetround(int __rounding_mode);
+
+/**
+ * [fegetenv(3)](https://man7.org/linux/man-pages/man3/fegetenv.3.html)
+ * gets the current floating-point environment. See fesetenv().
+ *
+ * Returns 0 on success, and returns non-zero on failure.
+ */
+int fegetenv(fenv_t* _Nonnull __env);
+
+/**
+ * [feholdexcept(3)](https://man7.org/linux/man-pages/man3/feholdexcept.3.html)
+ * gets the current floating-point environment, clears the status flags, and
+ * ignores floating point exceptions. See fesetenv()/feupdateenv().
+ *
+ * Returns 0 on success, and returns non-zero on failure.
+ */
+int feholdexcept(fenv_t* _Nonnull __env);
+
+/**
+ * [fesetenv(3)](https://man7.org/linux/man-pages/man3/fesetenv.3.html)
+ * sets the current floating-point environment. See fegetenv().
+ *
+ * Returns 0 on success, and returns non-zero on failure.
+ */
+int fesetenv(const fenv_t* _Nonnull __env);
+
+/**
+ * [feupdateenv(3)](https://man7.org/linux/man-pages/man3/feupdateenv.3.html)
+ * sets the current floating-point environment to `*env` but with currently-raised
+ * exceptions still raised. See fesetenv().
+ *
+ * Returns 0 on success, and returns non-zero on failure.
+ */
+int feupdateenv(const fenv_t* _Nonnull __env);
+
+/**
+ * [feenableexcept(3)](https://man7.org/linux/man-pages/man3/feenableexcept.3.html)
+ * sets the given `exceptions` to trap, if the hardware supports it. This is not
+ * generally useful on Android, because only x86/x86-64 can trap.
+ *
+ * Returns the previous set of enabled exceptions on success, and returns -1 on failure.
+ */
+int feenableexcept(int __exceptions);
+
+/**
+ * [fedisableexcept(3)](https://man7.org/linux/man-pages/man3/fedisableexcept.3.html)
+ * sets the given `exceptions` to not trap, if the hardware supports it. This is not
+ * generally useful on Android, because only x86/x86-64 can trap.
+ *
+ * Returns the previous set of enabled exceptions on success, and returns -1 on failure.
+ */
+int fedisableexcept(int __exceptions);
+
+/**
+ * [fegetexcept(3)](https://man7.org/linux/man-pages/man3/fegetexcept.3.html)
+ * returns the exceptions that currently trap. This is not generally useful on
+ * Android, because only x86/x86-64 can trap.
+ *
+ * Returns the exceptions that currently trap.
+ */
+int fegetexcept(void);
+
+/** See FE_DFL_ENV. */
+extern const fenv_t __fe_dfl_env;
+
+/**
+ * Constant representing the default floating-point environment
+ * (that is, the one installed at program startup).
  *
  * It can be used as an argument to the functions that manage the floating-point
  * environment, namely fesetenv() and feupdateenv().
  */
-extern const fenv_t __fe_dfl_env;
 #define FE_DFL_ENV (&__fe_dfl_env)
 
 __END_DECLS
diff --git a/libc/include/fnmatch.h b/libc/include/fnmatch.h
index 1788a27..e3b17fd 100644
--- a/libc/include/fnmatch.h
+++ b/libc/include/fnmatch.h
@@ -60,7 +60,7 @@
 #define FNM_FILE_NAME    FNM_PATHNAME
 
 /**
- * [fnmatch(3)](http://man7.org/linux/man-pages/man3/fnmatch.3.html) matches `__string` against
+ * [fnmatch(3)](https://man7.org/linux/man-pages/man3/fnmatch.3.html) matches `__string` against
  * the shell wildcard `__pattern`.
  *
  * Returns 0 on success, and returns `FNM_NOMATCH` on failure.
diff --git a/libc/include/fts.h b/libc/include/fts.h
index bae2615..aabe2db 100644
--- a/libc/include/fts.h
+++ b/libc/include/fts.h
@@ -117,16 +117,11 @@
 
 __BEGIN_DECLS
 
-/*
- * Strictly these functions were available before Lollipop/21, but there was an accidental ABI
- * breakage in 21 that means you can't write code that runs on current devices and pre-21 devices,
- * so we break the tie in favor of current and future devices.
- */
-FTSENT* _Nullable fts_children(FTS* _Nonnull __fts, int __options) __INTRODUCED_IN(21);
-int fts_close(FTS* _Nonnull __fts) __INTRODUCED_IN(21);
-FTS* _Nullable fts_open(char* _Nonnull const* _Nonnull __path, int __options, int (* _Nullable __comparator)(const FTSENT* _Nonnull * _Nonnull  __lhs, const FTSENT* _Nonnull * _Nonnull __rhs)) __INTRODUCED_IN(21);
-FTSENT* _Nullable fts_read(FTS* _Nonnull __fts) __INTRODUCED_IN(21);
-int fts_set(FTS* _Nonnull __fts, FTSENT* _Nonnull __entry, int __options) __INTRODUCED_IN(21);
+FTSENT* _Nullable fts_children(FTS* _Nonnull __fts, int __options);
+int fts_close(FTS* _Nonnull __fts);
+FTS* _Nullable fts_open(char* _Nullable const* _Nonnull __path, int __options, int (* _Nullable __comparator)(const FTSENT* _Nonnull * _Nonnull  __lhs, const FTSENT* _Nonnull * _Nonnull __rhs));
+FTSENT* _Nullable fts_read(FTS* _Nonnull __fts);
+int fts_set(FTS* _Nonnull __fts, FTSENT* _Nonnull __entry, int __options);
 
 __END_DECLS
 
diff --git a/libc/include/ftw.h b/libc/include/ftw.h
index c5fa4de..ac2473a 100644
--- a/libc/include/ftw.h
+++ b/libc/include/ftw.h
@@ -55,10 +55,10 @@
 };
 
 __BEGIN_DECLS
-int ftw(const char* _Nonnull __dir_path, int (* _Nonnull __callback)(const char* _Nonnull, const struct stat* _Nonnull, int), int __max_fd_count) __INTRODUCED_IN(17);
-int nftw(const char* _Nonnull __dir_path, int (* _Nonnull __callback)(const char* _Nonnull, const struct stat* _Nonnull, int, struct FTW* _Nonnull), int __max_fd_count, int __flags) __INTRODUCED_IN(17);
-int ftw64(const char* _Nonnull __dir_path, int (* _Nonnull __callback)(const char* _Nonnull, const struct stat64* _Nonnull, int), int __max_fd_count) __RENAME_STAT64(ftw, 17, 21);
-int nftw64(const char* _Nonnull __dir_path, int (* _Nonnull __callback)(const char* _Nonnull, const struct stat64* _Nonnull, int, struct FTW* _Nonnull), int __max_fd_count, int __flags) __RENAME_STAT64(nftw, 17, 21);
+int ftw(const char* _Nonnull __dir_path, int (* _Nonnull __callback)(const char* _Nonnull, const struct stat* _Nonnull, int), int __max_fd_count);
+int nftw(const char* _Nonnull __dir_path, int (* _Nonnull __callback)(const char* _Nonnull, const struct stat* _Nonnull, int, struct FTW* _Nonnull), int __max_fd_count, int __flags);
+int ftw64(const char* _Nonnull __dir_path, int (* _Nonnull __callback)(const char* _Nonnull, const struct stat64* _Nonnull, int), int __max_fd_count);
+int nftw64(const char* _Nonnull __dir_path, int (* _Nonnull __callback)(const char* _Nonnull, const struct stat64* _Nonnull, int, struct FTW* _Nonnull), int __max_fd_count, int __flags);
 __END_DECLS
 
 #endif
diff --git a/libc/include/getopt.h b/libc/include/getopt.h
index c1c0442..1a30eb7 100644
--- a/libc/include/getopt.h
+++ b/libc/include/getopt.h
@@ -70,12 +70,12 @@
 __BEGIN_DECLS
 
 /**
- * [getopt_long(3)](http://man7.org/linux/man-pages/man3/getopt.3.html) parses command-line options.
+ * [getopt_long(3)](https://man7.org/linux/man-pages/man3/getopt.3.html) parses command-line options.
  */
 int getopt_long(int __argc, char* _Nonnull const* _Nonnull __argv, const char* _Nonnull __options, const struct option* _Nonnull __long_options, int* _Nullable __long_index);
 
 /**
- * [getopt_long_only(3)](http://man7.org/linux/man-pages/man3/getopt.3.html) parses command-line options.
+ * [getopt_long_only(3)](https://man7.org/linux/man-pages/man3/getopt.3.html) parses command-line options.
  */
 int getopt_long_only(int __argc, char* _Nonnull const* _Nonnull __argv, const char* _Nonnull __options, const struct option* _Nonnull __long_options, int* _Nullable __long_index);
 
diff --git a/libc/include/glob.h b/libc/include/glob.h
index 2c2b8d1..ccdf2e9 100644
--- a/libc/include/glob.h
+++ b/libc/include/glob.h
@@ -92,8 +92,12 @@
 
 __BEGIN_DECLS
 
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int glob(const char* _Nonnull __pattern, int __flags, int (* _Nullable __error_callback)(const char* _Nonnull __failure_path, int __failure_errno), glob_t* _Nonnull __result_ptr) __INTRODUCED_IN(28);
 void globfree(glob_t* _Nonnull __result_ptr) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 
 __END_DECLS
 
diff --git a/libc/include/grp.h b/libc/include/grp.h
index 2451db5..a48c046 100644
--- a/libc/include/grp.h
+++ b/libc/include/grp.h
@@ -51,12 +51,20 @@
 struct group* _Nullable getgrnam(const char* _Nonnull __name);
 
 /* Note: Android has thousands and thousands of ids to iterate through. */
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
 struct group* _Nullable getgrent(void) __INTRODUCED_IN(26);
 
 void setgrent(void) __INTRODUCED_IN(26);
 void endgrent(void) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
 int getgrgid_r(gid_t __gid, struct group* __BIONIC_COMPLICATED_NULLNESS __group, char* _Nonnull __buf, size_t __n, struct group* _Nullable * _Nonnull __result) __INTRODUCED_IN(24);
 int getgrnam_r(const char* _Nonnull __name, struct group* __BIONIC_COMPLICATED_NULLNESS __group, char* _Nonnull __buf, size_t __n, struct group* _Nullable *_Nonnull __result) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
 int getgrouplist(const char* _Nonnull __user, gid_t __group, gid_t* __BIONIC_COMPLICATED_NULLNESS __groups, int* _Nonnull __group_count);
 int initgroups(const char* _Nonnull __user, gid_t __group);
 
diff --git a/libc/include/iconv.h b/libc/include/iconv.h
index 7cf36dc..35328ee 100644
--- a/libc/include/iconv.h
+++ b/libc/include/iconv.h
@@ -47,22 +47,27 @@
 typedef struct __iconv_t* iconv_t;
 
 /**
- * [iconv_open(3)](http://man7.org/linux/man-pages/man3/iconv_open.3.html) allocates a new converter
+ * [iconv_open(3)](https://man7.org/linux/man-pages/man3/iconv_open.3.html) allocates a new converter
  * from `__src_encoding` to `__dst_encoding`.
  *
+ * Android supports the `utf8`, `ascii`, `usascii`, `utf16be`, `utf16le`, `utf32be`, `utf32le`,
+ * and `wchart` encodings for both source and destination.
+ *
+ * Android supports the GNU `//IGNORE` and `//TRANSLIT` extensions for the
+ * destination encoding.
+ *
  * Returns a new `iconv_t` on success and returns `((iconv_t) -1)` and sets `errno` on failure.
  *
  * Available since API level 28.
  */
-iconv_t _Nonnull iconv_open(const char* _Nonnull __src_encoding, const char* _Nonnull __dst_encoding) __INTRODUCED_IN(28);
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
+iconv_t _Nonnull iconv_open(const char* _Nonnull __dst_encoding, const char* _Nonnull __src_encoding) __INTRODUCED_IN(28);
 
 /**
- * [iconv(3)](http://man7.org/linux/man-pages/man3/iconv.3.html) converts characters from one
+ * [iconv(3)](https://man7.org/linux/man-pages/man3/iconv.3.html) converts characters from one
  * encoding to another.
  *
- * Android supports the `utf8`, `ascii`, `usascii`, `utf16be`, `utf16le`, `utf32be`, `utf32le`,
- * and `wchart` encodings. Android also supports the GNU `//IGNORE` and `//TRANSLIT` extensions.
- *
  * Returns the number of characters converted on success and returns `((size_t) -1)` and
  * sets `errno` on failure.
  *
@@ -71,7 +76,7 @@
 size_t iconv(iconv_t _Nonnull __converter, char* _Nullable * _Nullable __src_buf, size_t* __BIONIC_COMPLICATED_NULLNESS __src_bytes_left, char* _Nullable * _Nullable __dst_buf, size_t* __BIONIC_COMPLICATED_NULLNESS __dst_bytes_left) __INTRODUCED_IN(28);
 
 /**
- * [iconv_close(3)](http://man7.org/linux/man-pages/man3/iconv_close.3.html) deallocates a converter
+ * [iconv_close(3)](https://man7.org/linux/man-pages/man3/iconv_close.3.html) deallocates a converter
  * returned by iconv_open().
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
@@ -79,5 +84,7 @@
  * Available since API level 28.
  */
 int iconv_close(iconv_t _Nonnull __converter) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 
 __END_DECLS
diff --git a/libc/include/ifaddrs.h b/libc/include/ifaddrs.h
index 7c0dcbf..87d2947 100644
--- a/libc/include/ifaddrs.h
+++ b/libc/include/ifaddrs.h
@@ -72,7 +72,7 @@
 #define ifa_dstaddr ifa_ifu.ifu_dstaddr
 
 /**
- * [getifaddrs(3)](http://man7.org/linux/man-pages/man3/getifaddrs.3.html) creates a linked list
+ * [getifaddrs(3)](https://man7.org/linux/man-pages/man3/getifaddrs.3.html) creates a linked list
  * of `struct ifaddrs`. The list must be freed by freeifaddrs().
  *
  * Returns 0 and stores the list in `*__list_ptr` on success,
@@ -80,14 +80,18 @@
  *
  * Available since API level 24.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
 int getifaddrs(struct ifaddrs* _Nullable * _Nonnull __list_ptr) __INTRODUCED_IN(24);
 
 /**
- * [freeifaddrs(3)](http://man7.org/linux/man-pages/man3/freeifaddrs.3.html) frees a linked list
+ * [freeifaddrs(3)](https://man7.org/linux/man-pages/man3/freeifaddrs.3.html) frees a linked list
  * of `struct ifaddrs` returned by getifaddrs().
  *
  * Available since API level 24.
  */
 void freeifaddrs(struct ifaddrs* _Nullable __ptr) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
 
 __END_DECLS
diff --git a/libc/include/inttypes.h b/libc/include/inttypes.h
index 76aee38..790030e 100644
--- a/libc/include/inttypes.h
+++ b/libc/include/inttypes.h
@@ -19,8 +19,8 @@
 #ifndef	_INTTYPES_H_
 #define	_INTTYPES_H_
 
-#include <stdint.h>
 #include <sys/cdefs.h>
+#include <stdint.h>
 
 #ifdef __LP64__
 #define __PRI_64_prefix  "l"
@@ -327,12 +327,12 @@
 } imaxdiv_t;
 
 __BEGIN_DECLS
-intmax_t imaxabs(intmax_t __i) __attribute_const__ __INTRODUCED_IN(19);
-imaxdiv_t imaxdiv(intmax_t __numerator, intmax_t __denominator) __attribute_const__ __INTRODUCED_IN(19);
+intmax_t imaxabs(intmax_t __i) __attribute_const__;
+imaxdiv_t imaxdiv(intmax_t __numerator, intmax_t __denominator) __attribute_const__;
 intmax_t strtoimax(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base);
 uintmax_t strtoumax(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base);
-intmax_t wcstoimax(const wchar_t* _Nonnull __s, wchar_t* _Nullable * _Nullable __end_ptr, int __base) __INTRODUCED_IN(21);
-uintmax_t wcstoumax(const wchar_t* _Nonnull __s, wchar_t* _Nullable * _Nullable __end_ptr, int __base) __INTRODUCED_IN(21);
+intmax_t wcstoimax(const wchar_t* _Nonnull __s, wchar_t* _Nullable * _Nullable __end_ptr, int __base);
+uintmax_t wcstoumax(const wchar_t* _Nonnull __s, wchar_t* _Nullable * _Nullable __end_ptr, int __base);
 __END_DECLS
 
 #endif
diff --git a/libc/include/langinfo.h b/libc/include/langinfo.h
index 2b43892..b9d695c 100644
--- a/libc/include/langinfo.h
+++ b/libc/include/langinfo.h
@@ -92,8 +92,12 @@
 #define NOEXPR 54
 #define CRNCYSTR 55
 
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
 char* _Nonnull nl_langinfo(nl_item __item) __INTRODUCED_IN(26);
 char* _Nonnull nl_langinfo_l(nl_item __item, locale_t _Nonnull __l) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 
 __END_DECLS
 
diff --git a/libc/include/libgen.h b/libc/include/libgen.h
index 474f066..8f2ea2b 100644
--- a/libc/include/libgen.h
+++ b/libc/include/libgen.h
@@ -41,7 +41,7 @@
 __BEGIN_DECLS
 
 /**
- * [basename(3)](http://man7.org/linux/man-pages/man3/basename.3.html)
+ * [basename(3)](https://man7.org/linux/man-pages/man3/basename.3.html)
  * returns the final component of the given path.
  *
  * See `<string.h>` for the GNU basename(). Including `<libgen.h>`,
@@ -59,7 +59,7 @@
 #define basename __posix_basename
 
 /**
- * [dirname(3)](http://man7.org/linux/man-pages/man3/dirname.3.html)
+ * [dirname(3)](https://man7.org/linux/man-pages/man3/dirname.3.html)
  * returns all but the final component of the given path.
  *
  * Note that Android's cv-qualifiers differ from POSIX; Android's implementation doesn't
diff --git a/libc/include/limits.h b/libc/include/limits.h
index 48e7ea9..5e9ce59 100644
--- a/libc/include/limits.h
+++ b/libc/include/limits.h
@@ -1,6 +1,3 @@
-/*	$OpenBSD: limits.h,v 1.13 2005/12/31 19:29:38 millert Exp $	*/
-/*	$NetBSD: limits.h,v 1.7 1994/10/26 00:56:00 cgd Exp $	*/
-
 /*
  * Copyright (c) 1988 The Regents of the University of California.
  * All rights reserved.
@@ -32,122 +29,127 @@
  *	@(#)limits.h	5.9 (Berkeley) 4/3/91
  */
 
-#ifndef _LIMITS_H_
-#define _LIMITS_H_
+#pragma once
+
+/**
+ * @file limits.h
+ * @brief Constants relating to implementation limits.
+ *
+ * This file is included via `#include_next` from the clang header of the same
+ * name that provides all the limits that the compiler is responsible for,
+ * primarily those relating to integer types defined by the C standard.
+ * This file defines the additional limits defined by POSIX.
+ */
+
+/*
+ * The Android build system has bionic _before_ the clang headers,
+ * so although the claim above that clang does an `#include_next`
+ * of this file is true for the NDK, it's not true for the OS,
+ * and we need to paper over that difference here until/unless
+ * the OS build changes.
+ */
+#if __has_include_next(<limits.h>)
+#include_next <limits.h>
+#endif
 
 #include <sys/cdefs.h>
 
 /* Historically bionic exposed the content of <float.h> from <limits.h> and <sys/limits.h> too. */
 #include <float.h>
 
+/* Many of the POSIX limits come from the kernel. */
 #include <linux/limits.h>
 
-#define PASS_MAX		128	/* _PASSWORD_LEN from <pwd.h> */
-
-#define NL_ARGMAX		9
-#define NL_LANGMAX		14
-#define NL_MSGMAX		32767
-#define NL_NMAX			1
-#define NL_SETMAX		255
-#define NL_TEXTMAX		255
-
-#define TMP_MAX                 308915776
-
-/* TODO: get all these from the compiler's <limits.h>? */
-
-#define CHAR_BIT 8
-#ifdef __LP64__
-# define LONG_BIT 64
-#else
-# define LONG_BIT 32
+/*
+ * bionic always exposed these alternative names,
+ * but clang's <limits.h> considers them GNU extensions,
+ * and may or may not have defined them.
+ */
+#ifndef LONG_LONG_MIN
+/** Non-portable synonym; use LLONG_MIN directly instead. */
+#define LONG_LONG_MIN LLONG_MIN
 #endif
+#ifndef LONG_LONG_MAX
+/** Non-portable synonym; use LLONG_MAX directly instead. */
+#define LONG_LONG_MAX LLONG_MAX
+#endif
+#ifndef ULONG_LONG_MAX
+/** Non-portable synonym; use ULLONG_MAX directly instead. */
+#define ULONG_LONG_MAX ULLONG_MAX
+#endif
+
+/** Maximum number of positional arguments in a printf()/scanf() format string. */
+#define NL_ARGMAX 9
+/** Maximum number of bytes in a $LANG name. */
+#define NL_LANGMAX 14
+/** Irrelevant with Android's <nl_types.h>. */
+#define NL_MSGMAX 32767
+/** Obsolete; removed from POSIX. */
+#define NL_NMAX 1
+/** Irrelevant with Android's <nl_types.h>. */
+#define NL_SETMAX 255
+/** Irrelevant with Android's <nl_types.h>. */
+#define NL_TEXTMAX 255
+
+/** Obsolete; removed from POSIX. */
+#define PASS_MAX 128
+/** Obsolete; removed from POSIX. */
+#define TMP_MAX 308915776
+
+/** Number of bits in a `long` (POSIX). */
+#if __LP64__
+#define LONG_BIT 64
+#else
+#define LONG_BIT 32
+#endif
+/** Number of bits in a "word" of `int` (POSIX). */
 #define WORD_BIT 32
 
-#define	SCHAR_MAX	0x7f		/* max value for a signed char */
-#define SCHAR_MIN	(-0x7f-1)	/* min value for a signed char */
-
-#define	UCHAR_MAX	0xffU		/* max value for an unsigned char */
-#ifdef __CHAR_UNSIGNED__
-# define CHAR_MIN	0		/* min value for a char */
-# define CHAR_MAX	0xff		/* max value for a char */
-#else
-# define CHAR_MAX	0x7f
-# define CHAR_MIN	(-0x7f-1)
-#endif
-
-#define	USHRT_MAX	0xffffU		/* max value for an unsigned short */
-#define	SHRT_MAX	0x7fff		/* max value for a short */
-#define SHRT_MIN        (-0x7fff-1)     /* min value for a short */
-
-#define	UINT_MAX	0xffffffffU	/* max value for an unsigned int */
-#define	INT_MAX		0x7fffffff	/* max value for an int */
-#define	INT_MIN		(-0x7fffffff-1)	/* min value for an int */
-
-#ifdef __LP64__
-# define ULONG_MAX	0xffffffffffffffffUL     /* max value for unsigned long */
-# define LONG_MAX	0x7fffffffffffffffL      /* max value for a signed long */
-# define LONG_MIN	(-0x7fffffffffffffffL-1) /* min value for a signed long */
-#else
-# define ULONG_MAX	0xffffffffUL	/* max value for an unsigned long */
-# define LONG_MAX	0x7fffffffL	/* max value for a long */
-# define LONG_MIN	(-0x7fffffffL-1)/* min value for a long */
-#endif
-
-# define ULLONG_MAX	0xffffffffffffffffULL     /* max value for unsigned long long */
-# define LLONG_MAX	0x7fffffffffffffffLL      /* max value for a signed long long */
-# define LLONG_MIN	(-0x7fffffffffffffffLL-1) /* min value for a signed long long */
-
-/* GLibc compatibility definitions.
-   Note that these are defined by GCC's <limits.h>
-   only when __GNU_LIBRARY__ is defined, i.e. when
-   targetting GLibc. */
-#ifndef LONG_LONG_MIN
-#define LONG_LONG_MIN  LLONG_MIN
-#endif
-
-#ifndef LONG_LONG_MAX
-#define LONG_LONG_MAX  LLONG_MAX
-#endif
-
-#ifndef ULONG_LONG_MAX
-#define ULONG_LONG_MAX  ULLONG_MAX
-#endif
-
-#if defined(__USE_BSD) || defined(__BIONIC__) /* Historically bionic exposed these. */
-# define UID_MAX	UINT_MAX	/* max value for a uid_t */
-# define GID_MAX	UINT_MAX	/* max value for a gid_t */
-#if defined(__LP64__)
+/** Maximum value of a uid_t. */
+#define UID_MAX UINT_MAX
+/** Maximum value of a gid_t. */
+#define GID_MAX UINT_MAX
+/** Maximum value of a size_t. */
 #define SIZE_T_MAX ULONG_MAX
-#else
-#define SIZE_T_MAX UINT_MAX
-#endif
-#endif
-
-#if defined(__LP64__)
+/** Maximum value of a ssize_t. */
 #define SSIZE_MAX LONG_MAX
-#else
-#define SSIZE_MAX INT_MAX
-#endif
 
+/** Maximum number of bytes in a multibyte character. */
 #define MB_LEN_MAX 4
 
+/** Default process priority. */
 #define NZERO 20
 
+/** Maximum number of struct iovec that can be passed in a single readv()/writev(). */
 #define IOV_MAX 1024
+
+/** Maximum value for a semaphore. */
 #define SEM_VALUE_MAX 0x3fffffff
 
+/** Do not use: prefer getline() or asprintf() rather than hard-coding an arbitrary size. */
+#define LINE_MAX _POSIX2_LINE_MAX
+
 /* POSIX says these belong in <unistd.h> but BSD has some in <limits.h>. */
 #include <bits/posix_limits.h>
 
+/** Maximum length of a hostname returned by gethostname(). */
 #define HOST_NAME_MAX _POSIX_HOST_NAME_MAX
+
+/** Maximum length of a login name. */
 #define LOGIN_NAME_MAX 256
+
+/** Maximum length of terminal device name. */
 #define TTY_NAME_MAX 32
 
-/* >= _POSIX_THREAD_DESTRUCTOR_ITERATIONS */
-#define PTHREAD_DESTRUCTOR_ITERATIONS 4
-/* >= _POSIX_THREAD_KEYS_MAX */
-#define PTHREAD_KEYS_MAX 128
-/* bionic has no specific limit */
-#undef PTHREAD_THREADS_MAX
+/** Maximum number of attempts to destroy thread-specific data when a thread exits. */
+#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS
 
-#endif /* !_LIMITS_H_ */
+/**
+ * The number of calls to pthread_key_create() without intervening calls to
+ * pthread_key_delete() that are guaranteed to succeed. See pthread_key_create()
+ * for more details and ways to avoid hitting this limit.
+ */
+#define PTHREAD_KEYS_MAX 128
+
+/** bionic has no fixed limit on the number of threads. */
+#undef PTHREAD_THREADS_MAX
diff --git a/libc/include/link.h b/libc/include/link.h
index a0a3d60..331070e 100644
--- a/libc/include/link.h
+++ b/libc/include/link.h
@@ -25,11 +25,17 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#ifndef _LINK_H_
-#define _LINK_H_
+
+#pragma once
+
+/**
+ * @file link.h
+ * @brief Extra dynamic linker functionality (see also <dlfcn.h>).
+ */
+
+#include <sys/cdefs.h>
 
 #include <stdint.h>
-#include <sys/cdefs.h>
 #include <sys/types.h>
 
 #include <elf.h>
@@ -37,36 +43,80 @@
 __BEGIN_DECLS
 
 #if defined(__LP64__)
+/** Convenience macro to get the appropriate 32-bit or 64-bit <elf.h> type for the caller's bitness. */
 #define ElfW(type) Elf64_ ## type
 #else
+/** Convenience macro to get the appropriate 32-bit or 64-bit <elf.h> type for the caller's bitness. */
 #define ElfW(type) Elf32_ ## type
 #endif
 
+/**
+ * Information passed by dl_iterate_phdr() to the callback.
+ */
 struct dl_phdr_info {
+  /** The address of the shared object. */
   ElfW(Addr) dlpi_addr;
+  /** The name of the shared object. */
   const char* _Nullable dlpi_name;
+  /** Pointer to the shared object's program headers. */
   const ElfW(Phdr)* _Nullable dlpi_phdr;
+  /** Number of program headers pointed to by `dlpi_phdr`. */
   ElfW(Half) dlpi_phnum;
 
-  // These fields were added in Android R.
+  /**
+   * The total number of library load events at the time dl_iterate_phdr() was
+   * called.
+   *
+   * This field is only available since API level 30; you can use the size
+   * passed to the callback to determine whether you have the full struct,
+   * or just the fields up to and including `dlpi_phnum`.
+   */
   unsigned long long dlpi_adds;
+  /**
+   * The total number of library unload events at the time dl_iterate_phdr() was
+   * called.
+   *
+   * This field is only available since API level 30; you can use the size
+   * passed to the callback to determine whether you have the full struct,
+   * or just the fields up to and including `dlpi_phnum`.
+   */
   unsigned long long dlpi_subs;
+  /**
+   * The module ID for TLS relocations in this shared object.
+   *
+   * This field is only available since API level 30; you can use the size
+   * passed to the callback to determine whether you have the full struct,
+   * or just the fields up to and including `dlpi_phnum`.
+   */
   size_t dlpi_tls_modid;
+  /**
+   * The caller's TLS data for this shared object.
+   *
+   * This field is only available since API level 30; you can use the size
+   * passed to the callback to determine whether you have the full struct,
+   * or just the fields up to and including `dlpi_phnum`.
+   */
   void* _Nullable dlpi_tls_data;
 };
 
-#if defined(__arm__)
-int dl_iterate_phdr(int (* _Nonnull __callback)(struct dl_phdr_info* _Nonnull, size_t, void* _Nullable), void* _Nullable __data) __INTRODUCED_IN(21);
-#else
-int dl_iterate_phdr(int (* _Nonnull __callback)(struct dl_phdr_info* _Nonnull, size_t, void*_Nullable ), void* _Nullable __data);
-#endif
+/**
+ * [dl_iterate_phdr(3)](https://man7.org/linux/man-pages/man3/dl_iterate_phdr.3.html)
+ * calls the given callback once for every loaded shared object. The size
+ * argument to the callback lets you determine whether you have a smaller
+ * `dl_phdr_info` from before API level 30, or the newer full one.
+ * The data argument to the callback is whatever you pass as the data argument
+ * to dl_iterate_phdr().
+ *
+ * Returns the value returned by the final call to the callback.
+ */
+int dl_iterate_phdr(int (* _Nonnull __callback)(struct dl_phdr_info* _Nonnull __info, size_t __size, void* _Nullable __data), void* _Nullable __data);
 
 #ifdef __arm__
 typedef uintptr_t _Unwind_Ptr;
 _Unwind_Ptr dl_unwind_find_exidx(_Unwind_Ptr, int* _Nonnull);
 #endif
 
-/* Used by the dynamic linker to communicate with the debugger. */
+/** Used by the dynamic linker to communicate with the debugger. */
 struct link_map {
   ElfW(Addr) l_addr;
   char* _Nullable l_name;
@@ -75,7 +125,7 @@
   struct link_map* _Nullable l_prev;
 };
 
-/* Used by the dynamic linker to communicate with the debugger. */
+/** Used by the dynamic linker to communicate with the debugger. */
 struct r_debug {
   int32_t r_version;
   struct link_map* _Nullable r_map;
@@ -89,5 +139,3 @@
 };
 
 __END_DECLS
-
-#endif
diff --git a/libc/include/locale.h b/libc/include/locale.h
index 27f2a3f..f5c79cb 100644
--- a/libc/include/locale.h
+++ b/libc/include/locale.h
@@ -96,13 +96,13 @@
   char int_n_sign_posn;
 };
 
-struct lconv* _Nonnull localeconv(void) __INTRODUCED_IN_NO_GUARD_FOR_NDK(21);
+struct lconv* _Nonnull localeconv(void);
 
-locale_t _Nullable duplocale(locale_t _Nonnull __l) __INTRODUCED_IN(21);
-void freelocale(locale_t _Nonnull __l) __INTRODUCED_IN(21);
-locale_t _Nullable newlocale(int __category_mask, const char* _Nonnull __locale_name, locale_t _Nullable __base) __INTRODUCED_IN(21);
+locale_t _Nullable duplocale(locale_t _Nonnull __l);
+void freelocale(locale_t _Nonnull __l);
+locale_t _Nullable newlocale(int __category_mask, const char* _Nonnull __locale_name, locale_t _Nullable __base);
 char* _Nullable setlocale(int __category, const char* _Nullable __locale_name);
-locale_t _Nullable uselocale(locale_t _Nullable __l) __INTRODUCED_IN(21);
+locale_t _Nullable uselocale(locale_t _Nullable __l);
 
 #define LC_GLOBAL_LOCALE __BIONIC_CAST(reinterpret_cast, locale_t, -1L)
 
diff --git a/libc/include/malloc.h b/libc/include/malloc.h
index 6a2d380..ac27467 100644
--- a/libc/include/malloc.h
+++ b/libc/include/malloc.h
@@ -34,68 +34,95 @@
 #define __BIONIC_ALLOC_SIZE(...) __attribute__((__alloc_size__(__VA_ARGS__)))
 
 /**
- * [malloc(3)](http://man7.org/linux/man-pages/man3/malloc.3.html) allocates
+ * [malloc(3)](https://man7.org/linux/man-pages/man3/malloc.3.html) allocates
  * memory on the heap.
  *
  * Returns a pointer to the allocated memory on success and returns a null
  * pointer and sets `errno` on failure.
+ *
+ * Note that Android (like most Unix systems) allows "overcommit". This
+ * allows processes to allocate more memory than the system has, provided
+ * they don't use it all. This works because only "dirty" pages that have
+ * been written to actually require physical memory. In practice, this
+ * means that it's rare to see memory allocation functions return a null
+ * pointer, and that a non-null pointer does not mean that you actually
+ * have all of the memory you asked for.
+ *
+ * Note also that the Linux Out Of Memory (OOM) killer behaves differently
+ * for code run via `adb shell`. The assumption is that if you ran
+ * something via `adb shell` you're a developer who actually wants the
+ * device to do what you're asking it to do _even if_ that means killing
+ * other processes. Obviously this is not the case for apps, which will
+ * be killed in preference to killing other processes.
  */
-void* _Nullable malloc(size_t __byte_count) __mallocfunc __BIONIC_ALLOC_SIZE(1) __wur;
+__nodiscard void* _Nullable malloc(size_t __byte_count) __mallocfunc __BIONIC_ALLOC_SIZE(1);
 
 /**
- * [calloc(3)](http://man7.org/linux/man-pages/man3/calloc.3.html) allocates
+ * [calloc(3)](https://man7.org/linux/man-pages/man3/calloc.3.html) allocates
  * and clears memory on the heap.
  *
  * Returns a pointer to the allocated memory on success and returns a null
- * pointer and sets `errno` on failure.
+ * pointer and sets `errno` on failure (but see the notes for malloc()).
  */
-void* _Nullable calloc(size_t __item_count, size_t __item_size) __mallocfunc __BIONIC_ALLOC_SIZE(1,2) __wur;
+__nodiscard void* _Nullable calloc(size_t __item_count, size_t __item_size) __mallocfunc __BIONIC_ALLOC_SIZE(1,2);
 
 /**
- * [realloc(3)](http://man7.org/linux/man-pages/man3/realloc.3.html) resizes
+ * [realloc(3)](https://man7.org/linux/man-pages/man3/realloc.3.html) resizes
  * allocated memory on the heap.
  *
  * Returns a pointer (which may be different from `__ptr`) to the resized
- * memory on success and returns a null pointer and sets `errno` on failure.
+ * memory on success and returns a null pointer and sets `errno` on failure
+ * (but see the notes for malloc()).
  */
-void* _Nullable realloc(void* _Nullable __ptr, size_t __byte_count) __BIONIC_ALLOC_SIZE(2) __wur;
+__nodiscard void* _Nullable realloc(void* _Nullable __ptr, size_t __byte_count) __BIONIC_ALLOC_SIZE(2);
 
 /**
- * [reallocarray(3)](http://man7.org/linux/man-pages/man3/realloc.3.html) resizes
+ * [reallocarray(3)](https://man7.org/linux/man-pages/man3/realloc.3.html) resizes
  * allocated memory on the heap.
  *
  * Equivalent to `realloc(__ptr, __item_count * __item_size)` but fails if the
  * multiplication overflows.
  *
  * Returns a pointer (which may be different from `__ptr`) to the resized
- * memory on success and returns a null pointer and sets `errno` on failure.
+ * memory on success and returns a null pointer and sets `errno` on failure
+ * (but see the notes for malloc()).
  */
-void* _Nullable reallocarray(void* _Nullable __ptr, size_t __item_count, size_t __item_size) __BIONIC_ALLOC_SIZE(2, 3) __wur __INTRODUCED_IN(29);
+#if __ANDROID_API__ >= 29
+__nodiscard void* _Nullable reallocarray(void* _Nullable __ptr, size_t __item_count, size_t __item_size) __BIONIC_ALLOC_SIZE(2, 3) __INTRODUCED_IN(29);
+#elif defined(__ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__)
+#include <errno.h>
+static __inline __nodiscard void* _Nullable reallocarray(void* _Nullable __ptr, size_t __item_count, size_t __item_size) __BIONIC_ALLOC_SIZE(2, 3) {
+  size_t __new_size;
+  if (__builtin_mul_overflow(__item_count, __item_size, &__new_size)) {
+    errno = ENOMEM;
+    return NULL;
+  }
+  return realloc(__ptr, __new_size);
+}
+#endif
 
 /**
- * [free(3)](http://man7.org/linux/man-pages/man3/free.3.html) deallocates
+ * [free(3)](https://man7.org/linux/man-pages/man3/free.3.html) deallocates
  * memory on the heap.
  */
 void free(void* _Nullable __ptr);
 
 /**
- * [memalign(3)](http://man7.org/linux/man-pages/man3/memalign.3.html) allocates
+ * [memalign(3)](https://man7.org/linux/man-pages/man3/memalign.3.html) allocates
  * memory on the heap with the required alignment.
  *
  * Returns a pointer to the allocated memory on success and returns a null
- * pointer and sets `errno` on failure.
+ * pointer and sets `errno` on failure (but see the notes for malloc()).
  *
  * See also posix_memalign().
  */
-void* _Nullable memalign(size_t __alignment, size_t __byte_count) __mallocfunc __BIONIC_ALLOC_SIZE(2) __wur;
+__nodiscard void* _Nullable memalign(size_t __alignment, size_t __byte_count) __mallocfunc __BIONIC_ALLOC_SIZE(2);
 
 /**
- * [malloc_usable_size(3)](http://man7.org/linux/man-pages/man3/malloc_usable_size.3.html)
+ * [malloc_usable_size(3)](https://man7.org/linux/man-pages/man3/malloc_usable_size.3.html)
  * returns the actual size of the given heap block.
- *
- * Available since API level 17.
  */
-size_t malloc_usable_size(const void* _Nullable __ptr) __INTRODUCED_IN(17);
+__nodiscard size_t malloc_usable_size(const void* _Nullable __ptr);
 
 #define __MALLINFO_BODY \
   /** Total number of non-mmapped bytes currently allocated from OS. */ \
@@ -125,7 +152,7 @@
 #endif
 
 /**
- * [mallinfo(3)](http://man7.org/linux/man-pages/man3/mallinfo.3.html) returns
+ * [mallinfo(3)](https://man7.org/linux/man-pages/man3/mallinfo.3.html) returns
  * information about the current state of the heap. Note that mallinfo() is
  * inherently unreliable and consider using malloc_info() instead.
  */
@@ -137,14 +164,14 @@
 struct mallinfo2 { __MALLINFO_BODY };
 
 /**
- * [mallinfo2(3)](http://man7.org/linux/man-pages/man3/mallinfo2.3.html) returns
+ * [mallinfo2(3)](https://man7.org/linux/man-pages/man3/mallinfo2.3.html) returns
  * information about the current state of the heap. Note that mallinfo2() is
  * inherently unreliable and consider using malloc_info() instead.
  */
 struct mallinfo2 mallinfo2(void) __RENAME(mallinfo);
 
 /**
- * [malloc_info(3)](http://man7.org/linux/man-pages/man3/malloc_info.3.html)
+ * [malloc_info(3)](https://man7.org/linux/man-pages/man3/malloc_info.3.html)
  * writes information about the current state of the heap to the given stream.
  *
  * The XML structure for malloc_info() is as follows:
@@ -168,10 +195,18 @@
  *
  * Available since API level 23.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 int malloc_info(int __must_be_zero, FILE* _Nonnull __fp) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 /**
- * mallopt() option to set the decay time. Valid values are 0 and 1.
+ * mallopt() option to set the decay time. Valid values are -1, 0 and 1.
+ *   -1 : Disable the releasing of unused pages. This value is available since
+ *        API level 35.
+ *    0 : Release the unused pages immediately.
+ *    1 : Release the unused pages at a device-specific interval.
  *
  * Available since API level 27.
  */
@@ -232,8 +267,9 @@
 /**
  * mallopt() option for per-thread memory initialization tuning.
  * The value argument should be one of:
- * 1: Disable automatic heap initialization and, where possible, memory tagging,
- *    on this thread.
+ * 1: Disable automatic heap initialization on this thread only.
+ *    If memory tagging is enabled, disable as much as possible of the
+ *    memory tagging initialization for this thread.
  * 0: Normal behavior.
  *
  * Available since API level 31.
@@ -319,57 +355,75 @@
 };
 
 /**
- * [mallopt(3)](http://man7.org/linux/man-pages/man3/mallopt.3.html) modifies
+ * mallopt() option to print human readable statistics about the memory
+ * allocator to the log. There is no format for this data, each allocator
+ * can use a different format, and the data that is printed can
+ * change at any time. This is expected to be used as a debugging aid.
+ *
+ * Available since API level 35.
+ */
+#define M_LOG_STATS (-205)
+
+/**
+ * [mallopt(3)](https://man7.org/linux/man-pages/man3/mallopt.3.html) modifies
  * heap behavior. Values of `__option` are the `M_` constants from this header.
  *
  * Returns 1 on success, 0 on error.
  *
  * Available since API level 26.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
 int mallopt(int __option, int __value) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 
 /**
- * [__malloc_hook(3)](http://man7.org/linux/man-pages/man3/__malloc_hook.3.html)
+ * [__malloc_hook(3)](https://man7.org/linux/man-pages/man3/__malloc_hook.3.html)
  * is called to implement malloc(). By default this points to the system's
  * implementation.
  *
  * Available since API level 28.
  *
- * See also: [extra documentation](https://android.googlesource.com/platform/bionic/+/master/libc/malloc_hooks/README.md)
+ * See also: [extra documentation](https://android.googlesource.com/platform/bionic/+/main/libc/malloc_hooks/README.md)
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 extern void* _Nonnull (*volatile _Nonnull __malloc_hook)(size_t __byte_count, const void* _Nonnull __caller) __INTRODUCED_IN(28);
 
 /**
- * [__realloc_hook(3)](http://man7.org/linux/man-pages/man3/__realloc_hook.3.html)
+ * [__realloc_hook(3)](https://man7.org/linux/man-pages/man3/__realloc_hook.3.html)
  * is called to implement realloc(). By default this points to the system's
  * implementation.
  *
  * Available since API level 28.
  *
- * See also: [extra documentation](https://android.googlesource.com/platform/bionic/+/master/libc/malloc_hooks/README.md)
+ * See also: [extra documentation](https://android.googlesource.com/platform/bionic/+/main/libc/malloc_hooks/README.md)
  */
 extern void* _Nonnull (*volatile _Nonnull __realloc_hook)(void* _Nullable __ptr, size_t __byte_count, const void* _Nonnull __caller) __INTRODUCED_IN(28);
 
 /**
- * [__free_hook(3)](http://man7.org/linux/man-pages/man3/__free_hook.3.html)
+ * [__free_hook(3)](https://man7.org/linux/man-pages/man3/__free_hook.3.html)
  * is called to implement free(). By default this points to the system's
  * implementation.
  *
  * Available since API level 28.
  *
- * See also: [extra documentation](https://android.googlesource.com/platform/bionic/+/master/libc/malloc_hooks/README.md)
+ * See also: [extra documentation](https://android.googlesource.com/platform/bionic/+/main/libc/malloc_hooks/README.md)
  */
 extern void (*volatile _Nonnull __free_hook)(void* _Nullable __ptr, const void* _Nonnull __caller) __INTRODUCED_IN(28);
 
 /**
- * [__memalign_hook(3)](http://man7.org/linux/man-pages/man3/__memalign_hook.3.html)
+ * [__memalign_hook(3)](https://man7.org/linux/man-pages/man3/__memalign_hook.3.html)
  * is called to implement memalign(). By default this points to the system's
  * implementation.
  *
  * Available since API level 28.
  *
- * See also: [extra documentation](https://android.googlesource.com/platform/bionic/+/master/libc/malloc_hooks/README.md)
+ * See also: [extra documentation](https://android.googlesource.com/platform/bionic/+/main/libc/malloc_hooks/README.md)
  */
 extern void* _Nonnull (*volatile _Nonnull __memalign_hook)(size_t __alignment, size_t __byte_count, const void* _Nonnull __caller) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 
 __END_DECLS
diff --git a/libc/include/math.h b/libc/include/math.h
index a5fa7c3..59161bf 100644
--- a/libc/include/math.h
+++ b/libc/include/math.h
@@ -68,239 +68,235 @@
 
 #define isnormal(x) __builtin_isnormal(x)
 
-#define signbit(x) \
-    ((sizeof(x) == sizeof(float)) ? __builtin_signbitf(x) \
-    : (sizeof(x) == sizeof(double)) ? __builtin_signbit(x) \
-    : __builtin_signbitl(x))
+#define signbit(x) __builtin_signbit(x)
 
 double acos(double __x);
 float acosf(float __x);
-long double acosl(long double __x) __RENAME_LDBL(acos, 3, 21);
+long double acosl(long double __x);
 
 double asin(double __x);
 float asinf(float __x);
-long double asinl(long double __x) __RENAME_LDBL(asin, 3, 21);
+long double asinl(long double __x);
 
 double atan(double __x);
 float atanf(float __x);
-long double atanl(long double __x) __RENAME_LDBL(atan, 3, 21);
+long double atanl(long double __x);
 
 double atan2(double __y, double __x);
 float atan2f(float __y, float __x);
-long double atan2l(long double __y, long double __x) __RENAME_LDBL(atan2, 3, 21);
+long double atan2l(long double __y, long double __x);
 
 double cos(double __x);
 float cosf(float __x);
-long double cosl(long double __x) __RENAME_LDBL(cos, 3, 21);
+long double cosl(long double __x);
 
 double sin(double __x);
 float sinf(float __x);
-long double sinl(long double __x) __RENAME_LDBL(sin, 3, 21);
+long double sinl(long double __x);
 
 double tan(double __x);
 float tanf(float __x);
-long double tanl(long double __x) __RENAME_LDBL(tan, 3, 21);
+long double tanl(long double __x);
 
 double acosh(double __x);
 float acoshf(float __x);
-long double acoshl(long double __x) __RENAME_LDBL(acosh, 3, 21);
+long double acoshl(long double __x);
 
 double asinh(double __x);
 float asinhf(float __x);
-long double asinhl(long double __x) __RENAME_LDBL(asinh, 3, 21);
+long double asinhl(long double __x);
 
 double atanh(double __x);
 float atanhf(float __x);
-long double atanhl(long double __x) __RENAME_LDBL(atanh, 3, 21);
+long double atanhl(long double __x);
 
 double cosh(double __x);
 float coshf(float __x);
-long double coshl(long double __x) __RENAME_LDBL(cosh, 3, 21);
+long double coshl(long double __x);
 
 double sinh(double __x);
 float sinhf(float __x);
-long double sinhl(long double __x) __RENAME_LDBL(sinh, 3, 21);
+long double sinhl(long double __x);
 
 double tanh(double __x);
 float tanhf(float __x);
-long double tanhl(long double __x) __RENAME_LDBL(tanh, 3, 21);
+long double tanhl(long double __x);
 
 double exp(double __x);
 float expf(float __x);
-long double expl(long double __x) __RENAME_LDBL(exp, 3, 21);
+long double expl(long double __x);
 
 double exp2(double __x);
 float exp2f(float __x);
-long double exp2l(long double __x) __RENAME_LDBL(exp2, 3, 21);
+long double exp2l(long double __x);
 
 double expm1(double __x);
 float expm1f(float __x);
-long double expm1l(long double __x) __RENAME_LDBL(expm1, 3, 21);
+long double expm1l(long double __x);
 
 double frexp(double __x, int* _Nonnull __exponent);
 float frexpf(float __x, int* _Nonnull __exponent);
-long double frexpl(long double __x, int* _Nonnull __exponent) __RENAME_LDBL(frexp, 3, 21);
+long double frexpl(long double __x, int* _Nonnull __exponent);
 
 int ilogb(double __x) __attribute_const__;
 int ilogbf(float __x) __attribute_const__;
-int ilogbl(long double __x) __RENAME_LDBL(ilogb, 3, 3) __attribute_const__;
+int ilogbl(long double __x) __attribute_const__;
 
 double ldexp(double __x, int __exponent);
 float ldexpf(float __x, int __exponent);
-long double ldexpl(long double __x, int __exponent) __RENAME_LDBL(ldexp, 3, 3);
+long double ldexpl(long double __x, int __exponent);
 
 double log(double __x);
 float logf(float __x);
-long double logl(long double __x) __RENAME_LDBL(log, 3, 21);
+long double logl(long double __x);
 
 double log10(double __x);
 float log10f(float __x);
-long double log10l(long double __x) __RENAME_LDBL(log10, 3, 21);
+long double log10l(long double __x);
 
 double log1p(double __x);
 float log1pf(float __x);
-long double log1pl(long double __x) __RENAME_LDBL(log1p, 3, 21);
+long double log1pl(long double __x);
 
-double log2(double __x) __INTRODUCED_IN(18);
-float log2f(float __x) __INTRODUCED_IN(18);
-long double log2l(long double __x) __RENAME_LDBL(log2, 18, 18);
+double log2(double __x);
+float log2f(float __x);
+long double log2l(long double __x);
 
 double logb(double __x);
 float logbf(float __x);
-long double logbl(long double __x) __RENAME_LDBL(logb, 3, 18);
+long double logbl(long double __x);
 
 double modf(double __x, double* _Nonnull __integral_part);
 float modff(float __x, float* _Nonnull __integral_part);
-long double modfl(long double __x, long double* _Nonnull __integral_part) __RENAME_LDBL(modf, 3, 21);
+long double modfl(long double __x, long double* _Nonnull __integral_part);
 
 double scalbn(double __x, int __exponent);
 float scalbnf(float __x, int __exponent);
-long double scalbnl(long double __x, int __exponent) __RENAME_LDBL(scalbn, 3, 3);
+long double scalbnl(long double __x, int __exponent);
 
-/* TODO: once the NDK only supports >= 18, use __RENAME_LDBL here too. */
-double scalbln(double __x, long __exponent) __INTRODUCED_IN_X86_NO_GUARD_FOR_NDK(18);
-float scalblnf(float __x, long __exponent) __INTRODUCED_IN_X86_NO_GUARD_FOR_NDK(18);
-long double scalblnl(long double __x, long __exponent) __INTRODUCED_IN_X86_NO_GUARD_FOR_NDK(18);
+double scalbln(double __x, long __exponent);
+float scalblnf(float __x, long __exponent);
+long double scalblnl(long double __x, long __exponent);
 
 double cbrt(double __x);
 float cbrtf(float __x);
-long double cbrtl(long double __x) __RENAME_LDBL(cbrt, 3, 21);
+long double cbrtl(long double __x);
 
 double fabs(double __x) __attribute_const__;
 float fabsf(float __x) __attribute_const__;
-long double fabsl(long double __x) __RENAME_LDBL(fabs, 3, 3) __attribute_const__;
+long double fabsl(long double __x) __attribute_const__;
 
 double hypot(double __x, double __y);
 float hypotf(float __x, float __y);
-long double hypotl(long double __x, long double __y) __RENAME_LDBL(hypot, 3, 21);
+long double hypotl(long double __x, long double __y);
 
 double pow(double __x, double __y);
 float powf(float __x, float __y);
-long double powl(long double __x, long double __y) __RENAME_LDBL(pow, 3, 21);
+long double powl(long double __x, long double __y);
 
 double sqrt(double __x);
 float sqrtf(float __x);
-long double sqrtl(long double __x) __RENAME_LDBL(sqrt, 3, 21);
+long double sqrtl(long double __x);
 
 double erf(double __x);
 float erff(float __x);
-long double erfl(long double __x) __RENAME_LDBL(erf, 3, 21);
+long double erfl(long double __x);
 
 double erfc(double __x);
 float erfcf(float __x);
-long double erfcl(long double __x) __RENAME_LDBL(erfc, 3, 21);
+long double erfcl(long double __x);
 
 double lgamma(double __x);
 float lgammaf(float __x);
-long double lgammal(long double __x) __RENAME_LDBL(lgamma, 3, 21);
+long double lgammal(long double __x);
 
 double tgamma(double __x);
 float tgammaf(float __x);
-long double tgammal(long double __x) __RENAME_LDBL(tgamma, 3, 21);
+long double tgammal(long double __x);
 
 double ceil(double __x);
 float ceilf(float __x);
-long double ceill(long double __x) __RENAME_LDBL(ceil, 3, 3);
+long double ceill(long double __x);
 
 double floor(double __x);
 float floorf(float __x);
-long double floorl(long double __x) __RENAME_LDBL(floor, 3, 3);
+long double floorl(long double __x);
 
 double nearbyint(double __x);
 float nearbyintf(float __x);
-long double nearbyintl(long double __x) __RENAME_LDBL(nearbyint, 3, 21);
+long double nearbyintl(long double __x);
 
 double rint(double __x);
 float rintf(float __x);
-long double rintl(long double __x) __RENAME_LDBL(rint, 3, 21);
+long double rintl(long double __x);
 
 long lrint(double __x);
 long lrintf(float __x);
-long lrintl(long double __x) __RENAME_LDBL(lrint, 3, 21);
+long lrintl(long double __x);
 
 long long llrint(double __x);
 long long llrintf(float __x);
-long long llrintl(long double __x) __RENAME_LDBL(llrint, 3, 21);
+long long llrintl(long double __x);
 
 double round(double __x);
 float roundf(float __x);
-long double roundl(long double __x) __RENAME_LDBL(roundl, 3, 3);
+long double roundl(long double __x);
 
 long lround(double __x);
 long lroundf(float __x);
-long lroundl(long double __x) __RENAME_LDBL(lround, 3, 3);
+long lroundl(long double __x);
 
 long long llround(double __x);
 long long llroundf(float __x);
-long long llroundl(long double __x) __RENAME_LDBL(llround, 3, 3);
+long long llroundl(long double __x);
 
 double trunc(double __x);
 float truncf(float __x);
-long double truncl(long double __x) __RENAME_LDBL(trunc, 3, 3);
+long double truncl(long double __x);
 
 double fmod(double __x, double __y);
 float fmodf(float __x, float __y);
-long double fmodl(long double __x, long double __y) __RENAME_LDBL(fmod, 3, 21);
+long double fmodl(long double __x, long double __y);
 
 double remainder(double __x, double __y);
 float remainderf(float __x, float __y);
-long double remainderl(long double __x, long double __y) __RENAME_LDBL(remainder, 3, 21);
+long double remainderl(long double __x, long double __y);
 
 double remquo(double __x, double __y, int* _Nonnull __quotient_bits);
 float remquof(float __x, float __y, int* _Nonnull __quotient_bits);
-long double remquol(long double __x, long double __y, int* _Nonnull __quotient_bits) __RENAME_LDBL(remquo, 3, 21);
+long double remquol(long double __x, long double __y, int* _Nonnull __quotient_bits);
 
 double copysign(double __value, double __sign) __attribute_const__;
 float copysignf(float __value, float __sign) __attribute_const__;
-long double copysignl(long double __value, long double __sign) __RENAME_LDBL(copysign, 3, 3) __attribute_const__;
+long double copysignl(long double __value, long double __sign) __attribute_const__;
 
 double nan(const char* _Nonnull __kind) __attribute_const__;
 float nanf(const char* _Nonnull __kind) __attribute_const__;
-long double nanl(const char* _Nonnull __kind) __RENAME_LDBL(nan, 13, 13) __attribute_const__;
+long double nanl(const char* _Nonnull __kind) __attribute_const__;
 
 double nextafter(double __x, double __y);
 float nextafterf(float __x, float __y);
-long double nextafterl(long double __x, long double __y) __RENAME_LDBL_NO_GUARD_FOR_NDK(nextafter, 3, 21);
+long double nextafterl(long double __x, long double __y);
 
-double nexttoward(double __x, long double __y) __INTRODUCED_IN_NO_GUARD_FOR_NDK(18);
+double nexttoward(double __x, long double __y);
 float nexttowardf(float __x, long double __y);
-long double nexttowardl(long double __x, long double __y) __RENAME_LDBL_NO_GUARD_FOR_NDK(nexttoward, 18, 18);
+long double nexttowardl(long double __x, long double __y);
 
 double fdim(double __x, double __y);
 float fdimf(float __x, float __y);
-long double fdiml(long double __x, long double __y) __RENAME_LDBL(fdim, 3, 3);
+long double fdiml(long double __x, long double __y);
 
 double fmax(double __x, double __y) __attribute_const__;
 float fmaxf(float __x, float __y) __attribute_const__;
-long double fmaxl(long double __x, long double __y) __RENAME_LDBL(fmax, 3, 3) __attribute_const__;
+long double fmaxl(long double __x, long double __y) __attribute_const__;
 
 double fmin(double __x, double __y) __attribute_const__;
 float fminf(float __x, float __y) __attribute_const__;
-long double fminl(long double __x, long double __y) __RENAME_LDBL(fmin, 3, 3) __attribute_const__;
+long double fminl(long double __x, long double __y) __attribute_const__;
 
 double fma(double __x, double __y, double __z);
 float fmaf(float __x, float __y, float __z);
-long double fmal(long double __x, long double __y, long double __z) __RENAME_LDBL_NO_GUARD_FOR_NDK(fma, 3, 21);
+long double fmal(long double __x, long double __y, long double __z);
 
 #define isgreater(x, y) __builtin_isgreater((x), (y))
 #define isgreaterequal(x, y) __builtin_isgreaterequal((x), (y))
@@ -309,20 +305,6 @@
 #define islessgreater(x, y) __builtin_islessgreater((x), (y))
 #define isunordered(x, y) __builtin_isunordered((x), (y))
 
-/*
- * https://code.google.com/p/android/issues/detail?id=271629
- * To be fully compliant with C++, we need to not define these (C doesn't
- * specify them either). Exposing these means that isinf and isnan will have a
- * return type of int in C++ rather than bool like they're supposed to be.
- *
- * GNU libstdc++ 4.9 isn't able to handle a standard compliant C library. Its
- * <cmath> will `#undef isnan` from math.h and only adds the function overloads
- * to the std namespace, making it impossible to use both <cmath> (which gets
- * included by a lot of other standard headers) and ::isnan.
- */
-int (isinf)(double __x) __attribute_const__ __INTRODUCED_IN(21);
-int (isnan)(double __x) __attribute_const__;
-
 /* POSIX extensions. */
 
 extern int signgam;
@@ -363,12 +345,17 @@
 double scalb(double __x, double __exponent);
 double drem(double __x, double __y);
 int finite(double __x) __attribute_const__;
+int isinff(float __x) __attribute_const__;
 int isnanf(float __x) __attribute_const__;
 double gamma_r(double __x, int* _Nonnull __sign);
 double lgamma_r(double __x, int* _Nonnull __sign);
 double significand(double __x);
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 long double lgammal_r(long double __x, int* _Nonnull __sign) __INTRODUCED_IN(23);
-long double significandl(long double __x) __INTRODUCED_IN(21);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+long double significandl(long double __x);
 float dremf(float __x, float __y);
 int finitef(float __x) __attribute_const__;
 float gammaf(float __x);
@@ -403,6 +390,8 @@
 #define M_2_SQRTPIl     1.128379167095512573896158903121545172L /* 2/sqrt(pi) */
 #define M_SQRT2l        1.414213562373095048801688724209698079L /* sqrt(2) */
 #define M_SQRT1_2l      0.707106781186547524400844362104849039L /* 1/sqrt(2) */
+int isinfl(long double __x) __attribute_const__;
+int isnanl(long double __x) __attribute_const__;
 #endif
 
 __END_DECLS
diff --git a/libc/include/mntent.h b/libc/include/mntent.h
index 43cab1f..4c03602 100644
--- a/libc/include/mntent.h
+++ b/libc/include/mntent.h
@@ -29,8 +29,9 @@
 #ifndef _MNTENT_H_
 #define _MNTENT_H_
 
-#include <stdio.h>
 #include <sys/cdefs.h>
+
+#include <stdio.h>
 #include <paths.h>  /* for _PATH_MOUNTED */
 
 #define MOUNTED _PATH_MOUNTED
@@ -57,11 +58,15 @@
 
 __BEGIN_DECLS
 
-int endmntent(FILE* _Nullable __fp) __INTRODUCED_IN(21);
+int endmntent(FILE* _Nullable __fp);
 struct mntent* _Nullable getmntent(FILE* _Nonnull __fp);
-struct mntent* _Nullable getmntent_r(FILE* _Nonnull __fp, struct mntent* _Nonnull __entry, char* _Nonnull __buf, int __size) __INTRODUCED_IN(21);
-FILE* _Nullable setmntent(const char* _Nonnull __filename, const char* _Nonnull __type) __INTRODUCED_IN(21);
+struct mntent* _Nullable getmntent_r(FILE* _Nonnull __fp, struct mntent* _Nonnull __entry, char* _Nonnull __buf, int __size);
+FILE* _Nullable setmntent(const char* _Nonnull __filename, const char* _Nonnull __type);
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
 char* _Nullable hasmntopt(const struct mntent* _Nonnull __entry, const char* _Nonnull __option) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 
 __END_DECLS
 
diff --git a/libc/include/net/if.h b/libc/include/net/if.h
index f261f71..50bc74c 100644
--- a/libc/include/net/if.h
+++ b/libc/include/net/if.h
@@ -29,9 +29,10 @@
 #ifndef _NET_IF_H_
 #define _NET_IF_H_
 
+#include <sys/cdefs.h>
+
 #include <sys/socket.h>
 #include <linux/if.h>
-#include <sys/cdefs.h>
 
 #ifndef IF_NAMESIZE
 #define IF_NAMESIZE IFNAMSIZ
@@ -41,13 +42,17 @@
 
 struct if_nameindex {
   unsigned if_index;
-  char* if_name;
+  char* _Nullable if_name;
 };
 
-char* if_indextoname(unsigned __index, char* __buf);
-unsigned if_nametoindex(const char* __name);
-struct if_nameindex* if_nameindex(void) __INTRODUCED_IN(24);
-void if_freenameindex(struct if_nameindex* __ptr) __INTRODUCED_IN(24);
+char* _Nullable if_indextoname(unsigned __index, char* _Nonnull __buf);
+unsigned if_nametoindex(const char* _Nonnull __name);
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
+struct if_nameindex* _Nullable if_nameindex(void) __INTRODUCED_IN(24);
+void if_freenameindex(struct if_nameindex* _Nullable __ptr) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
 
 __END_DECLS
 
diff --git a/libc/include/netdb.h b/libc/include/netdb.h
index 7a1987e..04aaf5c 100644
--- a/libc/include/netdb.h
+++ b/libc/include/netdb.h
@@ -78,6 +78,8 @@
  * supplied in host order, and returned in network order (suitable for
  * use in system calls).
  */
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnullability-completeness"
 struct hostent {
 	char	*h_name;	/* official name of host */
 	char	**h_aliases;	/* alias list */
@@ -98,7 +100,7 @@
 	char	*s_name;	/* official service name */
 	char	**s_aliases;	/* alias list */
 	int	s_port;		/* port # */
-	char	*s_proto;	/* protocol to use */
+	char	* _Nullable s_proto;	/* protocol to use */
 };
 
 struct protoent {
@@ -117,6 +119,7 @@
 	struct	sockaddr *ai_addr;	/* binary address */
 	struct	addrinfo *ai_next;	/* next structure in linked list */
 };
+#pragma clang diagnostic pop
 
 /*
  * Error return codes from gethostbyname() and gethostbyaddr()
@@ -196,47 +199,71 @@
 
 __BEGIN_DECLS
 
-int getaddrinfo(const char* __node, const char* __service, const struct addrinfo* __hints, struct addrinfo** __result);
-void freeaddrinfo(struct addrinfo* __ptr);
+int getaddrinfo(const char* _Nullable __node, const char* _Nullable __service, const struct addrinfo* _Nullable __hints, struct addrinfo* _Nullable * _Nonnull __result);
+void freeaddrinfo(struct addrinfo* _Nullable __ptr);
 
 /* Android ABI error: POSIX getnameinfo(3) uses socklen_t rather than size_t. */
-int getnameinfo(const struct sockaddr* __sa, socklen_t __sa_length, char* __host, size_t __host_length, char* __service, size_t __service_length, int __flags);
-const char* gai_strerror(int __error);
+int getnameinfo(const struct sockaddr* _Nonnull __sa, socklen_t __sa_length, char* _Nullable __host, size_t __host_length, char* _Nullable __service, size_t __service_length, int __flags);
+const char* _Nonnull gai_strerror(int __error);
 
 /* These functions are obsolete. Use getaddrinfo/getnameinfo instead. */
 #define h_errno (*__get_h_errno())
-int* __get_h_errno(void);
-void herror(const char* __s);
-const char* hstrerror(int __error);
-struct hostent* gethostbyaddr(const void* __addr, socklen_t __length, int __type);
-int gethostbyaddr_r(const void* __addr, socklen_t __length, int __type, struct hostent* __ret, char* __buf, size_t __buf_size, struct hostent** __result, int* __h_errno_ptr) __INTRODUCED_IN(23);
-struct hostent* gethostbyname(const char* __name);
-int gethostbyname_r(const char* __name, struct hostent* __ret, char* __buf, size_t __buf_size, struct hostent** __result, int* __h_errno_ptr);
-struct hostent* gethostbyname2(const char* __name, int __af);
-int gethostbyname2_r(const char* __name, int __af, struct hostent* __ret, char* __buf, size_t __buf_size, struct hostent** __result, int* __h_errno_ptr) __INTRODUCED_IN(23);
+int* _Nonnull __get_h_errno(void);
+void herror(const char* _Nonnull __s);
+const char* _Nonnull hstrerror(int __error);
+struct hostent* _Nullable gethostbyaddr(const void* _Nonnull __addr, socklen_t __length, int __type);
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
+int gethostbyaddr_r(const void* _Nonnull __addr, socklen_t __length, int __type, struct hostent* _Nonnull __ret, char* _Nonnull __buf, size_t __buf_size, struct hostent* _Nullable * _Nonnull __result, int* _Nonnull __h_errno_ptr) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+struct hostent* _Nullable gethostbyname(const char* _Nonnull __name);
+int gethostbyname_r(const char* _Nonnull __name, struct hostent* _Nonnull __ret, char* _Nonnull __buf, size_t __buf_size, struct hostent* _Nullable * _Nonnull __result, int* _Nonnull __h_errno_ptr);
+struct hostent* _Nullable gethostbyname2(const char* _Nonnull __name, int __af);
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
+int gethostbyname2_r(const char* _Nonnull __name, int __af, struct hostent* _Nonnull __ret, char* _Nonnull __buf, size_t __buf_size, struct hostent* _Nullable * _Nonnull __result, int* _Nonnull __h_errno_ptr) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 void endhostent(void) __INTRODUCED_IN(28);
-struct hostent* gethostent(void);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
+struct hostent* _Nullable gethostent(void);
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 void sethostent(int __stay_open) __INTRODUCED_IN(28);
 
 /* These functions are obsolete. None of these functions return anything but nullptr. */
 void endnetent(void) __INTRODUCED_IN(28);
-struct netent* getnetbyaddr(uint32_t __net, int __type);
-struct netent* getnetbyname(const char* __name);
-struct netent* getnetent(void) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
+struct netent* _Nullable getnetbyaddr(uint32_t __net, int __type);
+struct netent* _Nullable getnetbyname(const char* _Nonnull __name);
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
+struct netent* _Nullable getnetent(void) __INTRODUCED_IN(28);
 void setnetent(int __stay_open) __INTRODUCED_IN(28);
 
 /* None of these functions return anything but nullptr. */
 void endprotoent(void) __INTRODUCED_IN(28);
-struct protoent* getprotobyname(const char* __name);
-struct protoent* getprotobynumber(int __proto);
-struct protoent* getprotoent(void) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
+struct protoent* _Nullable getprotobyname(const char* _Nonnull __name);
+struct protoent* _Nullable getprotobynumber(int __proto);
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
+struct protoent* _Nullable getprotoent(void) __INTRODUCED_IN(28);
 void setprotoent(int __stay_open) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 
 /* These functions return entries from a built-in database. */
 void endservent(void);
-struct servent* getservbyname(const char* __name, const char* __proto);
-struct servent* getservbyport(int __port_in_network_order, const char* __proto);
-struct servent* getservent(void);
+struct servent* _Nullable getservbyname(const char* _Nonnull __name, const char* _Nullable __proto);
+struct servent* _Nullable getservbyport(int __port_in_network_order, const char* _Nullable __proto);
+struct servent* _Nullable getservent(void);
 void setservent(int __stay_open);
 
 __END_DECLS
diff --git a/libc/include/netinet/ether.h b/libc/include/netinet/ether.h
index 480063d..a847385 100644
--- a/libc/include/netinet/ether.h
+++ b/libc/include/netinet/ether.h
@@ -39,35 +39,35 @@
 __BEGIN_DECLS
 
 /**
- * [ether_ntoa(3)](http://man7.org/linux/man-pages/man3/ether_ntoa.3.html) returns a string
- * representation of the given Ethernet address.
+ * [ether_ntoa(3)](https://man7.org/linux/man-pages/man3/ether_ntoa.3.html) returns a string
+ * representation of the given Ethernet (MAC) address.
  *
  * Returns a pointer to a static buffer.
  */
-char* ether_ntoa(const struct ether_addr* __addr);
+char* _Nonnull ether_ntoa(const struct ether_addr* _Nonnull __addr);
 
 /**
- * [ether_ntoa_r(3)](http://man7.org/linux/man-pages/man3/ether_ntoa_r.3.html) returns a string
- * representation of the given Ethernet address.
+ * [ether_ntoa_r(3)](https://man7.org/linux/man-pages/man3/ether_ntoa_r.3.html) returns a string
+ * representation of the given Ethernet (MAC) address.
  *
  * Returns a pointer to the given buffer.
  */
-char* ether_ntoa_r(const struct ether_addr* __addr, char* __buf);
+char* _Nonnull ether_ntoa_r(const struct ether_addr* _Nonnull __addr, char* _Nonnull __buf);
 
 /**
- * [ether_aton(3)](http://man7.org/linux/man-pages/man3/ether_aton.3.html) returns an `ether_addr`
- * corresponding to the given Ethernet address string.
+ * [ether_aton(3)](https://man7.org/linux/man-pages/man3/ether_aton.3.html) returns an `ether_addr`
+ * corresponding to the given Ethernet (MAC) address string.
  *
  * Returns a pointer to a static buffer, or NULL if the given string isn't a valid MAC address.
  */
-struct ether_addr* ether_aton(const char* __ascii);
+struct ether_addr* _Nullable ether_aton(const char* _Nonnull __ascii);
 
 /**
- * [ether_aton_r(3)](http://man7.org/linux/man-pages/man3/ether_aton_r.3.html) returns an
- * `ether_addr` corresponding to the given Ethernet address string.
+ * [ether_aton_r(3)](https://man7.org/linux/man-pages/man3/ether_aton_r.3.html) returns an
+ * `ether_addr` corresponding to the given Ethernet (MAC) address string.
  *
  * Returns a pointer to the given buffer, or NULL if the given string isn't a valid MAC address.
  */
-struct ether_addr* ether_aton_r(const char* __ascii, struct ether_addr* __addr);
+struct ether_addr* _Nullable ether_aton_r(const char* _Nonnull __ascii, struct ether_addr* _Nonnull __addr);
 
 __END_DECLS
diff --git a/libc/include/netinet/icmp6.h b/libc/include/netinet/icmp6.h
index 2b237a8..ebd9f6c 100644
--- a/libc/include/netinet/icmp6.h
+++ b/libc/include/netinet/icmp6.h
@@ -65,9 +65,10 @@
 #ifndef _NETINET_ICMP6_H_
 #define _NETINET_ICMP6_H_
 
-#include <netinet/in.h> /* android-added: glibc source compatibility. */
 #include <sys/cdefs.h>
 
+#include <netinet/in.h> /* android-added: glibc source compatibility. */
+
 #define ICMPV6_PLD_MAXLEN	1232	/* IPV6_MMTU - sizeof(struct ip6_hdr)
 					   - sizeof(struct icmp6_hdr) */
 
diff --git a/libm/fenv-access.h b/libc/include/netinet/igmp.h
similarity index 67%
copy from libm/fenv-access.h
copy to libc/include/netinet/igmp.h
index 7acb34d..497d02d 100644
--- a/libm/fenv-access.h
+++ b/libc/include/netinet/igmp.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,29 @@
 
 #pragma once
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
-#endif
+/**
+ * @file netinet/igmp.h
+ * @brief Internet Group Management Protocol (IGMP).
+ */
+
+#include <sys/cdefs.h>
+#include <netinet/in.h>
+
+#include <linux/igmp.h>
+
+/**
+ * The uapi type is called `igmphdr`,
+ * doesn't have the `igmp_` prefix on each field,
+ * and uses a `__be32` for the group address.
+ *
+ * This is the type that BSDs and musl/glibc expose to userspace.
+ */
+struct igmp {
+  uint8_t igmp_type;
+  uint8_t igmp_code;
+  uint16_t igmp_cksum;
+  struct in_addr igmp_group;
+};
+
+/** Commonly-used BSD synonym for the Linux constant. */
+#define IGMP_MEMBERSHIP_QUERY IGMP_HOST_MEMBERSHIP_QUERY
diff --git a/libc/include/netinet/in.h b/libc/include/netinet/in.h
index 46e3543..d4ce302 100644
--- a/libc/include/netinet/in.h
+++ b/libc/include/netinet/in.h
@@ -28,25 +28,16 @@
 
 #pragma once
 
+#include <sys/cdefs.h>
+
 #include <endian.h>
 #include <netinet/in6.h>
-#include <sys/cdefs.h>
 #include <sys/socket.h>
 
-// Include linux/socket.h first to trigger the header guard without
-// the__kernel_sockaddr_storage define, so its definition uses the
-// kernel name.
-#include <linux/socket.h>
-
-// Redefine __kernel_sockaddr_storage to sockaddr_storage so that
-// the structs defined in linux/in.h use the sockaddr_storage defined
-// in sys/sockets.h.
-#define __kernel_sockaddr_storage sockaddr_storage
 #include <linux/in.h>
-#undef __kernel_sockaddr_storage
-
 #include <linux/in6.h>
 #include <linux/ipv6.h>
+#include <linux/socket.h>
 
 __BEGIN_DECLS
 
@@ -54,7 +45,7 @@
 
 typedef uint16_t in_port_t;
 
-int bindresvport(int __fd, struct sockaddr_in* __sin);
+int bindresvport(int __fd, struct sockaddr_in* _Nullable __sin);
 
 #if __ANDROID_API__ >= 24
 extern const struct in6_addr in6addr_any __INTRODUCED_IN(24);
diff --git a/libc/include/netinet/in6.h b/libc/include/netinet/in6.h
index ae20f83..44b3e3e 100644
--- a/libc/include/netinet/in6.h
+++ b/libc/include/netinet/in6.h
@@ -89,7 +89,7 @@
   (IN6_IS_ADDR_MULTICAST(a) && (IPV6_ADDR_MC_SCOPE(a) == IPV6_ADDR_SCOPE_GLOBAL))
 
 #define IN6_ARE_ADDR_EQUAL(a, b) \
-  (memcmp(&(a)->s6_addr[0], &(b)->s6_addr[0], sizeof(struct in6_addr)) == 0)
+  (__builtin_memcmp(&(a)->s6_addr[0], &(b)->s6_addr[0], sizeof(struct in6_addr)) == 0)
 
 #define INET6_ADDRSTRLEN 46
 
diff --git a/libc/include/netinet/tcp.h b/libc/include/netinet/tcp.h
index 147f6f7..d1c657b 100644
--- a/libc/include/netinet/tcp.h
+++ b/libc/include/netinet/tcp.h
@@ -32,47 +32,10 @@
 #include <sys/cdefs.h>
 #include <stdint.h>
 
-#define tcphdr __kernel_tcphdr
 #include <linux/tcp.h>
-#undef tcphdr
 
 __BEGIN_DECLS
 
-struct tcphdr {
-  __extension__ union {
-    struct {
-      uint16_t th_sport;
-      uint16_t th_dport;
-      uint32_t th_seq;
-      uint32_t th_ack;
-      uint8_t th_x2:4;
-      uint8_t th_off:4;
-      uint8_t th_flags;
-      uint16_t th_win;
-      uint16_t th_sum;
-      uint16_t th_urp;
-    };
-    struct {
-      uint16_t source;
-      uint16_t dest;
-      uint32_t seq;
-      uint32_t ack_seq;
-      uint16_t res1:4;
-      uint16_t doff:4;
-      uint16_t fin:1;
-      uint16_t syn:1;
-      uint16_t rst:1;
-      uint16_t psh:1;
-      uint16_t ack:1;
-      uint16_t urg:1;
-      uint16_t res2:2;
-      uint16_t window;
-      uint16_t check;
-      uint16_t urg_ptr;
-    };
-  };
-};
-
 #define TH_FIN 0x01
 #define TH_SYN 0x02
 #define TH_RST 0x04
diff --git a/libc/include/nl_types.h b/libc/include/nl_types.h
index f4d7f43..172d80d 100644
--- a/libc/include/nl_types.h
+++ b/libc/include/nl_types.h
@@ -56,16 +56,18 @@
 typedef int nl_item;
 
 /**
- * [catopen(3)](http://man7.org/linux/man-pages/man3/catopen.3.html) opens a message catalog.
+ * [catopen(3)](https://man7.org/linux/man-pages/man3/catopen.3.html) opens a message catalog.
  *
  * On Android, this always returns failure: `((nl_catd) -1)`.
  *
  * Available since API level 28.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
 nl_catd _Nonnull catopen(const char* _Nonnull __name, int __flag) __INTRODUCED_IN(26);
 
 /**
- * [catgets(3)](http://man7.org/linux/man-pages/man3/catgets.3.html) translates the given message
+ * [catgets(3)](https://man7.org/linux/man-pages/man3/catgets.3.html) translates the given message
  * using the given message catalog.
  *
  * On Android, this always returns `__msg`.
@@ -75,10 +77,12 @@
 char* _Nonnull catgets(nl_catd _Nonnull __catalog, int __set_number, int __msg_number, const char* _Nonnull __msg) __INTRODUCED_IN(26);
 
 /**
- * [catclose(3)](http://man7.org/linux/man-pages/man3/catclose.3.html) closes a message catalog.
+ * [catclose(3)](https://man7.org/linux/man-pages/man3/catclose.3.html) closes a message catalog.
  *
  * On Android, this always returns -1 with `errno` set to `EBADF`.
  */
 int catclose(nl_catd _Nonnull __catalog) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 
 __END_DECLS
diff --git a/libc/include/poll.h b/libc/include/poll.h
index e3a9039..e57f812 100644
--- a/libc/include/poll.h
+++ b/libc/include/poll.h
@@ -44,7 +44,7 @@
 typedef unsigned int nfds_t;
 
 /**
- * [poll(3)](http://man7.org/linux/man-pages/man3/poll.3.html) waits on a set of file descriptors.
+ * [poll(3)](https://man7.org/linux/man-pages/man3/poll.3.html) waits on a set of file descriptors.
  *
  * Returns the number of ready file descriptors on success, 0 for timeout,
  * and returns -1 and sets `errno` on failure.
@@ -52,21 +52,23 @@
 int poll(struct pollfd* _Nullable __fds, nfds_t __count, int __timeout_ms);
 
 /**
- * [ppoll(3)](http://man7.org/linux/man-pages/man3/ppoll.3.html) waits on a set of file descriptors
+ * [ppoll(3)](https://man7.org/linux/man-pages/man3/ppoll.3.html) waits on a set of file descriptors
  * or a signal. Set `__timeout` to null for no timeout. Set `__mask` to null to not set the signal
  * mask.
  *
  * Returns the number of ready file descriptors on success, 0 for timeout,
  * and returns -1 and sets `errno` on failure.
- *
- * Available since API level 28.
  */
-int ppoll(struct pollfd* _Nullable __fds, nfds_t __count, const struct timespec* _Nullable __timeout, const sigset_t* _Nullable __mask) __INTRODUCED_IN(21);
+int ppoll(struct pollfd* _Nullable __fds, nfds_t __count, const struct timespec* _Nullable __timeout, const sigset_t* _Nullable __mask);
 
 /**
  * Like ppoll() but allows setting a signal mask with RT signals even from a 32-bit process.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int ppoll64(struct pollfd* _Nullable  __fds, nfds_t __count, const struct timespec* _Nullable __timeout, const sigset64_t* _Nullable __mask) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 
 #if defined(__BIONIC_INCLUDE_FORTIFY_HEADERS)
 #define _POLL_H_
diff --git a/libc/include/pthread.h b/libc/include/pthread.h
index 98695eb..cdf1b8c 100644
--- a/libc/include/pthread.h
+++ b/libc/include/pthread.h
@@ -33,10 +33,12 @@
  * @brief POSIX threads.
  */
 
+#include <sys/cdefs.h>
+
 #include <limits.h>
+#include <bits/page_size.h>
 #include <bits/pthread_types.h>
 #include <sched.h>
-#include <sys/cdefs.h>
 #include <sys/types.h>
 #include <time.h>
 
@@ -69,14 +71,12 @@
 
 #define PTHREAD_ONCE_INIT 0
 
-#if __ANDROID_API__ >= 24
 #define PTHREAD_BARRIER_SERIAL_THREAD (-1)
-#endif
 
 #if defined(__LP64__)
-#define PTHREAD_STACK_MIN (4 * PAGE_SIZE)
+#define PTHREAD_STACK_MIN 16384
 #else
-#define PTHREAD_STACK_MIN (2 * PAGE_SIZE)
+#define PTHREAD_STACK_MIN 8192
 #endif
 
 #define PTHREAD_CREATE_DETACHED 1
@@ -99,7 +99,11 @@
 int pthread_attr_destroy(pthread_attr_t* _Nonnull __attr);
 int pthread_attr_getdetachstate(const pthread_attr_t* _Nonnull __attr, int* _Nonnull __state);
 int pthread_attr_getguardsize(const pthread_attr_t* _Nonnull __attr, size_t* _Nonnull __size);
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int pthread_attr_getinheritsched(const pthread_attr_t* _Nonnull __attr, int* _Nonnull __flag) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 int pthread_attr_getschedparam(const pthread_attr_t* _Nonnull __attr, struct sched_param* _Nonnull __param);
 int pthread_attr_getschedpolicy(const pthread_attr_t* _Nonnull __attr, int* _Nonnull __policy);
 int pthread_attr_getscope(const pthread_attr_t* _Nonnull __attr, int* _Nonnull __scope);
@@ -108,7 +112,11 @@
 int pthread_attr_init(pthread_attr_t* _Nonnull __attr);
 int pthread_attr_setdetachstate(pthread_attr_t* _Nonnull __attr, int __state);
 int pthread_attr_setguardsize(pthread_attr_t* _Nonnull __attr, size_t __size);
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int pthread_attr_setinheritsched(pthread_attr_t* _Nonnull __attr, int __flag) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 int pthread_attr_setschedparam(pthread_attr_t* _Nonnull __attr, const struct sched_param* _Nonnull __param);
 int pthread_attr_setschedpolicy(pthread_attr_t* _Nonnull __attr, int __policy);
 int pthread_attr_setscope(pthread_attr_t* _Nonnull __attr, int __scope);
@@ -116,15 +124,19 @@
 int pthread_attr_setstacksize(pthread_attr_t* _Nonnull __addr, size_t __size);
 
 int pthread_condattr_destroy(pthread_condattr_t* _Nonnull __attr);
-int pthread_condattr_getclock(const pthread_condattr_t* _Nonnull __attr, clockid_t* _Nonnull __clock) __INTRODUCED_IN(21);
+int pthread_condattr_getclock(const pthread_condattr_t* _Nonnull __attr, clockid_t* _Nonnull __clock);
 int pthread_condattr_getpshared(const pthread_condattr_t* _Nonnull __attr, int* _Nonnull __shared);
 int pthread_condattr_init(pthread_condattr_t* _Nonnull __attr);
-int pthread_condattr_setclock(pthread_condattr_t* _Nonnull __attr, clockid_t __clock) __INTRODUCED_IN(21);
+int pthread_condattr_setclock(pthread_condattr_t* _Nonnull __attr, clockid_t __clock);
 int pthread_condattr_setpshared(pthread_condattr_t* _Nonnull __attr, int __shared);
 
 int pthread_cond_broadcast(pthread_cond_t* _Nonnull __cond);
+
+#if __BIONIC_AVAILABILITY_GUARD(30)
 int pthread_cond_clockwait(pthread_cond_t* _Nonnull __cond, pthread_mutex_t* _Nonnull __mutex, clockid_t __clock,
                            const struct timespec* _Nullable __timeout) __INTRODUCED_IN(30);
+#endif /* __BIONIC_AVAILABILITY_GUARD(30) */
+
 int pthread_cond_destroy(pthread_cond_t* _Nonnull __cond);
 int pthread_cond_init(pthread_cond_t* _Nonnull __cond, const pthread_condattr_t* _Nullable __attr);
 int pthread_cond_signal(pthread_cond_t* _Nonnull __cond);
@@ -139,24 +151,15 @@
  * Note that pthread_cond_clockwait() allows specifying an arbitrary clock and has superseded this
  * function.
  */
+
+#if (!defined(__LP64__)) || (defined(__LP64__) && __ANDROID_API__ >= 28)
 int pthread_cond_timedwait_monotonic_np(pthread_cond_t* _Nonnull __cond, pthread_mutex_t* _Nonnull __mutex,
                                         const struct timespec* _Nullable __timeout) __INTRODUCED_IN_64(28);
+#endif /* (!defined(__LP64__)) || (defined(__LP64__) && __ANDROID_API__ >= 28) */
+
 int pthread_cond_wait(pthread_cond_t* _Nonnull __cond, pthread_mutex_t* _Nonnull __mutex);
 
-#if defined(__clang__)
-/*
- * Disable -Wbuiltin-requires-header because clang confuses this declaration with the one defined in
- * "llvm/tools/clang/include/clang/Basic/Builtins.def", which did not define any formal arguments.
- * It seems to be an upstream bug and the fix (https://reviews.llvm.org/D58531) is still under
- * review. Thus, let's disable the warning for this function declaration.
- */
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wbuiltin-requires-header"
-#endif
-int pthread_create(pthread_t* _Nonnull __pthread_ptr, pthread_attr_t const* _Nullable __attr, void* _Nonnull (* _Nonnull __start_routine)(void* _Nonnull), void* _Nullable);
-#if defined(__clang__)
-#pragma clang diagnostic pop
-#endif
+int pthread_create(pthread_t* _Nonnull __pthread_ptr, pthread_attr_t const* _Nullable __attr, void* _Nullable (* _Nonnull __start_routine)(void* _Nullable), void* _Nullable);
 
 int pthread_detach(pthread_t __pthread);
 void pthread_exit(void* _Nullable __return_value) __noreturn;
@@ -169,29 +172,62 @@
 
 void* _Nullable pthread_getspecific(pthread_key_t __key);
 
-pid_t pthread_gettid_np(pthread_t __pthread) __INTRODUCED_IN(21);
+pid_t pthread_gettid_np(pthread_t __pthread);
 
 int pthread_join(pthread_t __pthread, void* _Nullable * _Nullable __return_value_ptr);
 
+/**
+ * [pthread_key_create(3)](https://man7.org/linux/man-pages/man3/pthread_key_create.3p.html)
+ * creates a key for thread-specific data.
+ *
+ * There is a limit of `PTHREAD_KEYS_MAX` keys per process, but most callers
+ * should just use the C or C++ `thread_local` storage specifier anyway. When
+ * targeting new enough OS versions, the compiler will automatically use
+ * ELF TLS; when targeting old OS versions the emutls implementation will
+ * multiplex pthread keys behind the scenes, using one per library rather than
+ * one per thread-local variable. If you are implementing the runtime for a
+ * different language, you should consider similar implementation choices and
+ * avoid a direct one-to-one mapping from thread locals to pthread keys.
+ *
+ * Returns 0 on success and returns an error number on failure.
+ */
 int pthread_key_create(pthread_key_t* _Nonnull __key_ptr, void (* _Nullable __key_destructor)(void* _Nullable));
+
+/**
+ * [pthread_key_delete(3)](https://man7.org/linux/man-pages/man3/pthread_key_delete.3p.html)
+ * deletes a key for thread-specific data.
+ *
+ * Returns 0 on success and returns an error number on failure.
+ */
 int pthread_key_delete(pthread_key_t __key);
 
 int pthread_mutexattr_destroy(pthread_mutexattr_t* _Nonnull __attr);
 int pthread_mutexattr_getpshared(const pthread_mutexattr_t* _Nonnull __attr, int* _Nonnull __shared);
 int pthread_mutexattr_gettype(const pthread_mutexattr_t* _Nonnull __attr, int* _Nonnull __type);
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int pthread_mutexattr_getprotocol(const pthread_mutexattr_t* _Nonnull __attr, int* _Nonnull __protocol) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 int pthread_mutexattr_init(pthread_mutexattr_t* _Nonnull __attr);
 int pthread_mutexattr_setpshared(pthread_mutexattr_t* _Nonnull __attr, int __shared);
 int pthread_mutexattr_settype(pthread_mutexattr_t* _Nonnull __attr, int __type);
-int pthread_mutexattr_setprotocol(pthread_mutexattr_t* _Nonnull __attr, int __protocol) __INTRODUCED_IN(28);
 
+#if __BIONIC_AVAILABILITY_GUARD(28)
+int pthread_mutexattr_setprotocol(pthread_mutexattr_t* _Nonnull __attr, int __protocol) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
+
+
+#if __BIONIC_AVAILABILITY_GUARD(30)
 int pthread_mutex_clocklock(pthread_mutex_t* _Nonnull __mutex, clockid_t __clock,
                             const struct timespec* _Nullable __abstime) __INTRODUCED_IN(30);
+#endif /* __BIONIC_AVAILABILITY_GUARD(30) */
+
 int pthread_mutex_destroy(pthread_mutex_t* _Nonnull __mutex);
 int pthread_mutex_init(pthread_mutex_t* _Nonnull __mutex, const pthread_mutexattr_t* _Nullable __attr);
 int pthread_mutex_lock(pthread_mutex_t* _Nonnull __mutex);
-int pthread_mutex_timedlock(pthread_mutex_t* _Nonnull __mutex, const struct timespec* _Nullable __timeout)
-  __INTRODUCED_IN(21);
+int pthread_mutex_timedlock(pthread_mutex_t* _Nonnull __mutex, const struct timespec* _Nullable __timeout);
 
 /*
  * POSIX historically only supported using pthread_mutex_timedlock() with CLOCK_REALTIME, however
@@ -202,8 +238,12 @@
  * Note that pthread_mutex_clocklock() allows specifying an arbitrary clock and has superseded this
  * function.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int pthread_mutex_timedlock_monotonic_np(pthread_mutex_t* _Nonnull __mutex, const struct timespec* _Nullable __timeout)
     __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 int pthread_mutex_trylock(pthread_mutex_t* _Nonnull __mutex);
 int pthread_mutex_unlock(pthread_mutex_t* _Nonnull __mutex);
 
@@ -213,60 +253,121 @@
 int pthread_rwlockattr_destroy(pthread_rwlockattr_t* _Nonnull __attr);
 int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t* _Nonnull __attr, int* _Nonnull __shared);
 int pthread_rwlockattr_setpshared(pthread_rwlockattr_t* _Nonnull __attr, int __shared);
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 int pthread_rwlockattr_getkind_np(const pthread_rwlockattr_t* _Nonnull __attr, int* _Nonnull __kind)
   __INTRODUCED_IN(23);
 int pthread_rwlockattr_setkind_np(pthread_rwlockattr_t* _Nonnull __attr, int __kind) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
 
+
+
+#if __BIONIC_AVAILABILITY_GUARD(30)
 int pthread_rwlock_clockrdlock(pthread_rwlock_t* _Nonnull __rwlock, clockid_t __clock,
                                const struct timespec* _Nullable __timeout) __INTRODUCED_IN(30);
 int pthread_rwlock_clockwrlock(pthread_rwlock_t* _Nonnull __rwlock, clockid_t __clock,
                                const struct timespec* _Nullable __timeout) __INTRODUCED_IN(30);
+#endif /* __BIONIC_AVAILABILITY_GUARD(30) */
+
 int pthread_rwlock_destroy(pthread_rwlock_t* _Nonnull __rwlock);
 int pthread_rwlock_init(pthread_rwlock_t* _Nonnull __rwlock, const pthread_rwlockattr_t* _Nullable __attr);
 int pthread_rwlock_rdlock(pthread_rwlock_t* _Nonnull __rwlock);
 int pthread_rwlock_timedrdlock(pthread_rwlock_t* _Nonnull __rwlock, const struct timespec* _Nullable __timeout);
 /* See the comment on pthread_mutex_timedlock_monotonic_np for usage of this function. */
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int pthread_rwlock_timedrdlock_monotonic_np(pthread_rwlock_t* _Nonnull __rwlock,
                                             const struct timespec* _Nullable __timeout) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 int pthread_rwlock_timedwrlock(pthread_rwlock_t* _Nonnull __rwlock, const struct timespec* _Nullable __timeout);
 /* See the comment on pthread_mutex_timedlock_monotonic_np for usage of this function. */
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int pthread_rwlock_timedwrlock_monotonic_np(pthread_rwlock_t* _Nonnull __rwlock,
                                             const struct timespec* _Nullable __timeout) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 int pthread_rwlock_tryrdlock(pthread_rwlock_t* _Nonnull __rwlock);
 int pthread_rwlock_trywrlock(pthread_rwlock_t* _Nonnull __rwlock);
 int pthread_rwlock_unlock(pthread_rwlock_t* _Nonnull __rwlock);
 int pthread_rwlock_wrlock(pthread_rwlock_t* _Nonnull __rwlock);
 
-#if __ANDROID_API__ >= 24
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
 int pthread_barrierattr_init(pthread_barrierattr_t* _Nonnull __attr) __INTRODUCED_IN(24);
 int pthread_barrierattr_destroy(pthread_barrierattr_t* _Nonnull __attr) __INTRODUCED_IN(24);
 int pthread_barrierattr_getpshared(const pthread_barrierattr_t* _Nonnull __attr, int* _Nonnull __shared) __INTRODUCED_IN(24);
 int pthread_barrierattr_setpshared(pthread_barrierattr_t* _Nonnull __attr, int __shared) __INTRODUCED_IN(24);
-#endif
 
-#if __ANDROID_API__ >= 24
 int pthread_barrier_init(pthread_barrier_t* _Nonnull __barrier, const pthread_barrierattr_t* _Nullable __attr, unsigned __count) __INTRODUCED_IN(24);
 int pthread_barrier_destroy(pthread_barrier_t* _Nonnull __barrier) __INTRODUCED_IN(24);
 int pthread_barrier_wait(pthread_barrier_t* _Nonnull __barrier) __INTRODUCED_IN(24);
-#endif
 
-#if __ANDROID_API__ >= 24
 int pthread_spin_destroy(pthread_spinlock_t* _Nonnull __spinlock) __INTRODUCED_IN(24);
 int pthread_spin_init(pthread_spinlock_t* _Nonnull __spinlock, int __shared) __INTRODUCED_IN(24);
 int pthread_spin_lock(pthread_spinlock_t* _Nonnull __spinlock) __INTRODUCED_IN(24);
 int pthread_spin_trylock(pthread_spinlock_t* _Nonnull __spinlock) __INTRODUCED_IN(24);
 int pthread_spin_unlock(pthread_spinlock_t* _Nonnull __spinlock) __INTRODUCED_IN(24);
-#endif
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
 
 pthread_t pthread_self(void) __attribute_const__;
 
-#if defined(__USE_GNU)
+#if defined(__USE_GNU) && __BIONIC_AVAILABILITY_GUARD(26)
+/**
+ * [pthread_getname_np(3)](https://man7.org/linux/man-pages/man3/pthread_getname_np.3.html)
+ * gets the name of the given thread.
+ * Names are at most 16 bytes (including '\0').
+ *
+ * Returns 0 on success and returns an error number on failure.
+ *
+ * Available since API level 26.
+ */
 int pthread_getname_np(pthread_t __pthread, char* _Nonnull __buf, size_t __n) __INTRODUCED_IN(26);
 #endif
-/* TODO: this should be __USE_GNU too. */
+
+/**
+ * [pthread_setname_np(3)](https://man7.org/linux/man-pages/man3/pthread_setname_np.3.html)
+ * sets the name of the given thread.
+ * Names are at most 16 bytes (including '\0').
+ * Truncation must be done by the caller;
+ * calls with longer names will fail with ERANGE.
+ *
+ * Returns 0 on success and returns an error number on failure.
+ *
+ * This should only have been available under _GNU_SOURCE,
+ * but is always available on Android by historical accident.
+ */
 int pthread_setname_np(pthread_t __pthread, const char* _Nonnull __name);
 
 /**
+ * [pthread_getaffinity_np(3)](https://man7.org/linux/man-pages/man3/pthread_getaffinity_np.3.html)
+ * gets the CPU affinity mask for the given thread.
+ *
+ * Returns 0 on success and returns an error number on failure.
+ *
+ * Available since API level 36.
+ * See sched_getaffinity() and pthread_gettid_np() for greater portability.
+ */
+#if defined(__USE_GNU) && __BIONIC_AVAILABILITY_GUARD(36)
+int pthread_getaffinity_np(pthread_t __pthread, size_t __cpu_set_size, cpu_set_t* __cpu_set) __INTRODUCED_IN(36);
+#endif
+
+/**
+ * [pthread_setaffinity_np(3)](https://man7.org/linux/man-pages/man3/pthread_setaffinity_np.3.html)
+ * sets the CPU affinity mask for the given thread.
+ *
+ * Returns 0 on success and returns an error number on failure.
+ *
+ * Available since API level 36.
+ * See sched_getaffinity() and pthread_gettid_np() for greater portability.
+ */
+#if defined(__USE_GNU) && __BIONIC_AVAILABILITY_GUARD(36)
+int pthread_setaffinity_np(pthread_t __pthread, size_t __cpu_set_size, const cpu_set_t* __cpu_set) __INTRODUCED_IN(36);
+#endif
+
+/**
  * [pthread_setschedparam(3)](https://man7.org/linux/man-pages/man3/pthread_setschedparam.3.html)
  * sets the scheduler policy and parameters of the given thread.
  *
@@ -300,7 +401,11 @@
  *
  * Available since API level 28.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int pthread_setschedprio(pthread_t __pthread, int __priority) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 
 int pthread_setspecific(pthread_key_t __key, const void* _Nullable __value);
 
diff --git a/libc/include/pty.h b/libc/include/pty.h
index be447d6..92d7fbb 100644
--- a/libc/include/pty.h
+++ b/libc/include/pty.h
@@ -41,7 +41,7 @@
 __BEGIN_DECLS
 
 /**
- * [openpty(3)](http://man7.org/linux/man-pages/man3/openpty.3.html) finds
+ * [openpty(3)](https://man7.org/linux/man-pages/man3/openpty.3.html) finds
  * a free pseudoterminal and configures it with the given terminal and window
  * size settings.
  *
@@ -49,10 +49,12 @@
  *
  * Available since API level 23.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 int openpty(int* _Nonnull __pty_fd, int* _Nonnull __tty_fd, char* _Nullable __tty_name, const struct termios* _Nullable __termios_ptr, const struct winsize* _Nullable __winsize_ptr) __INTRODUCED_IN(23);
 
 /**
- * [forkpty(3)](http://man7.org/linux/man-pages/man3/forkpty.3.html) creates
+ * [forkpty(3)](https://man7.org/linux/man-pages/man3/forkpty.3.html) creates
  * a new process connected to a pseudoterminal from openpty().
  *
  * Returns 0 in the child/the pid of the child in the parent on success,
@@ -61,5 +63,7 @@
  * Available since API level 23.
  */
 int forkpty(int* _Nonnull __parent_pty_fd, char* _Nullable __child_tty_name, const struct termios* _Nullable __termios_ptr, const struct winsize* _Nullable __winsize_ptr) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 __END_DECLS
diff --git a/libc/include/pwd.h b/libc/include/pwd.h
index 2b17fbf..09592bc 100644
--- a/libc/include/pwd.h
+++ b/libc/include/pwd.h
@@ -84,10 +84,14 @@
 struct passwd* _Nullable getpwuid(uid_t __uid);
 
 /* Note: Android has thousands and thousands of ids to iterate through */
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
 struct passwd* _Nullable getpwent(void) __INTRODUCED_IN(26);
 
 void setpwent(void) __INTRODUCED_IN(26);
 void endpwent(void) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 
 int getpwnam_r(const char* _Nonnull __name, struct passwd* _Nonnull __pwd, char* _Nonnull __buf, size_t __n, struct passwd* _Nullable * _Nonnull __result);
 int getpwuid_r(uid_t __uid, struct passwd* _Nonnull __pwd, char* _Nonnull __buf, size_t __n, struct passwd* _Nullable * _Nonnull __result);
diff --git a/libc/include/resolv.h b/libc/include/resolv.h
index f25484a..c49cefc 100644
--- a/libc/include/resolv.h
+++ b/libc/include/resolv.h
@@ -29,9 +29,10 @@
 #ifndef _RESOLV_H_
 #define _RESOLV_H_
 
+#include <sys/cdefs.h>
+
 #include <sys/param.h>
 #include <sys/types.h>
-#include <sys/cdefs.h>
 #include <sys/socket.h>
 #include <stdio.h>
 #include <arpa/nameser.h>
@@ -60,7 +61,11 @@
 int res_search(const char* _Nonnull __name, int __class, int __type, u_char* _Nonnull __answer, int __answer_size);
 
 #define res_randomid __res_randomid
+
+#if __BIONIC_AVAILABILITY_GUARD(29)
 u_int __res_randomid(void) __INTRODUCED_IN(29);
+#endif /* __BIONIC_AVAILABILITY_GUARD(29) */
+
 
 __END_DECLS
 
diff --git a/libc/include/sched.h b/libc/include/sched.h
index 26bc742..7a2dcad 100644
--- a/libc/include/sched.h
+++ b/libc/include/sched.h
@@ -33,9 +33,10 @@
  * @brief Thread execution scheduling.
  */
 
+#include <sys/cdefs.h>
+
 #include <bits/timespec.h>
 #include <linux/sched.h>
-#include <sys/cdefs.h>
 
 __BEGIN_DECLS
 
@@ -45,42 +46,42 @@
  *
  * (Linux's name for POSIX's SCHED_OTHER.)
  *
- * See [sched(7)](http://man7.org/linux/man-pages/man7/sched.7.html)
+ * See [sched(7)](https://man7.org/linux/man-pages/man7/sched.7.html)
  */
 
 /*
  * @def SCHED_FIFO
  * The real-time first-in/first-out scheduling policy.
  *
- * See [sched(7)](http://man7.org/linux/man-pages/man7/sched.7.html)
+ * See [sched(7)](https://man7.org/linux/man-pages/man7/sched.7.html)
  */
 
 /*
  * @def SCHED_RR
  * The real-time round-robin policy. (See also SCHED_NORMAL/SCHED_OTHER.)
  *
- * See [sched(7)](http://man7.org/linux/man-pages/man7/sched.7.html)
+ * See [sched(7)](https://man7.org/linux/man-pages/man7/sched.7.html)
  */
 
 /*
  * @def SCHED_BATCH
  * The batch scheduling policy.
  *
- * See [sched(7)](http://man7.org/linux/man-pages/man7/sched.7.html)
+ * See [sched(7)](https://man7.org/linux/man-pages/man7/sched.7.html)
  */
 
 /*
  * @def SCHED_IDLE
  * The low priority "only when otherwise idle" scheduling priority.
  *
- * See [sched(7)](http://man7.org/linux/man-pages/man7/sched.7.html)
+ * See [sched(7)](https://man7.org/linux/man-pages/man7/sched.7.html)
  */
 
 /*
  * @def SCHED_DEADLINE
  * The deadline scheduling policy.
  *
- * See [sched(7)](http://man7.org/linux/man-pages/man7/sched.7.html)
+ * See [sched(7)](https://man7.org/linux/man-pages/man7/sched.7.html)
  */
 
 /*
@@ -99,7 +100,7 @@
 };
 
 /**
- * [sched_setscheduler(2)](http://man7.org/linux/man-pages/man2/sched_getcpu.2.html)
+ * [sched_setscheduler(2)](https://man7.org/linux/man-pages/man2/sched_setscheduler.2.html)
  * sets the scheduling policy and associated parameters for the given thread.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
@@ -107,7 +108,7 @@
 int sched_setscheduler(pid_t __pid, int __policy, const struct sched_param* _Nonnull __param);
 
 /**
- * [sched_getscheduler(2)](http://man7.org/linux/man-pages/man2/sched_getcpu.2.html)
+ * [sched_getscheduler(2)](https://man7.org/linux/man-pages/man2/sched_getscheduler.2)
  * gets the scheduling policy for the given thread.
  *
  * Returns a non-negative thread policy on success and returns -1 and sets
@@ -116,7 +117,7 @@
 int sched_getscheduler(pid_t __pid);
 
 /**
- * [sched_yield(2)](http://man7.org/linux/man-pages/man2/sched_yield.2.html)
+ * [sched_yield(2)](https://man7.org/linux/man-pages/man2/sched_yield.2.html)
  * voluntarily gives up using the CPU so that another thread can run.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
@@ -124,7 +125,7 @@
 int sched_yield(void);
 
 /**
- * [sched_get_priority_max(2)](http://man7.org/linux/man-pages/man2/sched_get_priority_max.2.html)
+ * [sched_get_priority_max(2)](https://man7.org/linux/man-pages/man2/sched_get_priority_max.2.html)
  * gets the maximum priority value allowed for the given scheduling policy.
  *
  * Returns a priority on success and returns -1 and sets `errno` on failure.
@@ -132,7 +133,7 @@
 int sched_get_priority_max(int __policy);
 
 /**
- * [sched_get_priority_min(2)](http://man7.org/linux/man-pages/man2/sched_get_priority_min.2.html)
+ * [sched_get_priority_min(2)](https://man7.org/linux/man-pages/man2/sched_get_priority_min.2.html)
  * gets the minimum priority value allowed for the given scheduling policy.
  *
  * Returns a priority on success and returns -1 and sets `errno` on failure.
@@ -140,7 +141,7 @@
 int sched_get_priority_min(int __policy);
 
 /**
- * [sched_setparam(2)](http://man7.org/linux/man-pages/man2/sched_setparam.2.html)
+ * [sched_setparam(2)](https://man7.org/linux/man-pages/man2/sched_setparam.2.html)
  * sets the scheduling parameters for the given thread.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
@@ -148,7 +149,7 @@
 int sched_setparam(pid_t __pid, const struct sched_param* _Nonnull __param);
 
 /**
- * [sched_getparam(2)](http://man7.org/linux/man-pages/man2/sched_getparam.2.html)
+ * [sched_getparam(2)](https://man7.org/linux/man-pages/man2/sched_getparam.2.html)
  * gets the scheduling parameters for the given thread.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
@@ -156,7 +157,7 @@
 int sched_getparam(pid_t __pid, struct sched_param* _Nonnull __param);
 
 /**
- * [sched_rr_get_interval(2)](http://man7.org/linux/man-pages/man2/sched_rr_get_interval.2.html)
+ * [sched_rr_get_interval(2)](https://man7.org/linux/man-pages/man2/sched_rr_get_interval.2.html)
  * queries the round-robin time quantum for the given thread.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
@@ -166,36 +167,32 @@
 #if defined(__USE_GNU)
 
 /**
- * [clone(2)](http://man7.org/linux/man-pages/man2/clone.2.html)
+ * [clone(2)](https://man7.org/linux/man-pages/man2/clone.2.html)
  * creates a new child process.
  *
  * Returns the pid of the child to the caller on success and
  * returns -1 and sets `errno` on failure.
  */
-int clone(int (* __BIONIC_COMPLICATED_NULLNESS __fn)(void* __BIONIC_COMPLICATED_NULLNESS ), void* __BIONIC_COMPLICATED_NULLNESS __child_stack, int __flags, void* _Nullable __arg, ...) __INTRODUCED_IN_ARM(9) __INTRODUCED_IN_X86(17);
+int clone(int (* __BIONIC_COMPLICATED_NULLNESS __fn)(void* __BIONIC_COMPLICATED_NULLNESS ), void* __BIONIC_COMPLICATED_NULLNESS __child_stack, int __flags, void* _Nullable __arg, ...);
 
 /**
- * [unshare(2)](http://man7.org/linux/man-pages/man2/unshare.2.html)
+ * [unshare(2)](https://man7.org/linux/man-pages/man2/unshare.2.html)
  * disassociates part of the caller's execution context.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
- *
- * Available since API level 17.
  */
-int unshare(int __flags) __INTRODUCED_IN(17);
+int unshare(int __flags);
 
 /**
- * [setns(2)](http://man7.org/linux/man-pages/man2/setns.2.html)
+ * [setns(2)](https://man7.org/linux/man-pages/man2/setns.2.html)
  * reassociates a thread with a different namespace.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
- *
- * Available since API level 21.
  */
-int setns(int __fd, int __ns_type) __INTRODUCED_IN(21);
+int setns(int __fd, int __ns_type);
 
 /**
- * [sched_getcpu(3)](http://man7.org/linux/man-pages/man3/sched_getcpu.3.html)
+ * [sched_getcpu(3)](https://man7.org/linux/man-pages/man3/sched_getcpu.3.html)
  * reports which CPU the caller is running on.
  *
  * Returns a non-negative CPU number on success and returns -1 and sets
@@ -223,7 +220,7 @@
 } cpu_set_t;
 
 /**
- * [sched_setaffinity(2)](http://man7.org/linux/man-pages/man2/sched_setaffinity.2.html)
+ * [sched_setaffinity(2)](https://man7.org/linux/man-pages/man2/sched_setaffinity.2.html)
  * sets the CPU affinity mask for the given thread.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
@@ -231,7 +228,7 @@
 int sched_setaffinity(pid_t __pid, size_t __set_size, const cpu_set_t* _Nonnull __set);
 
 /**
- * [sched_getaffinity(2)](http://man7.org/linux/man-pages/man2/sched_getaffinity.2.html)
+ * [sched_getaffinity(2)](https://man7.org/linux/man-pages/man2/sched_getaffinity.2.html)
  * gets the CPU affinity mask for the given thread.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
diff --git a/libc/include/search.h b/libc/include/search.h
index 00deef1..2f43d91 100644
--- a/libc/include/search.h
+++ b/libc/include/search.h
@@ -64,23 +64,19 @@
 __BEGIN_DECLS
 
 /**
- * [insque(3)](http://man7.org/linux/man-pages/man3/insque.3.html) inserts
+ * [insque(3)](https://man7.org/linux/man-pages/man3/insque.3.html) inserts
  * an item in a queue (an intrusive doubly-linked list).
- *
- * Available since API level 21.
  */
-void insque(void* _Nonnull __element, void* _Nullable __previous) __INTRODUCED_IN(21);
+void insque(void* _Nonnull __element, void* _Nullable __previous);
 
 /**
- * [remque(3)](http://man7.org/linux/man-pages/man3/remque.3.html) removes
+ * [remque(3)](https://man7.org/linux/man-pages/man3/remque.3.html) removes
  * an item from a queue (an intrusive doubly-linked list).
- *
- * Available since API level 21.
  */
-void remque(void* _Nonnull __element) __INTRODUCED_IN(21);
+void remque(void* _Nonnull __element);
 
 /**
- * [hcreate(3)](http://man7.org/linux/man-pages/man3/hcreate.3.html)
+ * [hcreate(3)](https://man7.org/linux/man-pages/man3/hcreate.3.html)
  * initializes the global hash table, with space for at least `__n` elements.
  *
  * See hcreate_r() if you need more than one hash table.
@@ -89,10 +85,12 @@
  *
  * Available since API level 28.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int hcreate(size_t __n) __INTRODUCED_IN(28);
 
 /**
- * [hdestroy(3)](http://man7.org/linux/man-pages/man3/hdestroy.3.html) destroys
+ * [hdestroy(3)](https://man7.org/linux/man-pages/man3/hdestroy.3.html) destroys
  * the global hash table.
  *
  * See hdestroy_r() if you need more than one hash table.
@@ -102,7 +100,7 @@
 void hdestroy(void) __INTRODUCED_IN(28);
 
 /**
- * [hsearch(3)](http://man7.org/linux/man-pages/man3/hsearch.3.html) finds or
+ * [hsearch(3)](https://man7.org/linux/man-pages/man3/hsearch.3.html) finds or
  * inserts `__entry` in the global hash table, based on `__action`.
  *
  * See hsearch_r() if you need more than one hash table.
@@ -113,21 +111,25 @@
  * Available since API level 28.
  */
 ENTRY* _Nullable hsearch(ENTRY __entry, ACTION __action) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 
 #if defined(__USE_BSD) || defined(__USE_GNU)
 
 /**
- * [hcreate_r(3)](http://man7.org/linux/man-pages/man3/hcreate_r.3.html)
+ * [hcreate_r(3)](https://man7.org/linux/man-pages/man3/hcreate_r.3.html)
  * initializes a hash table `__table` with space for at least `__n` elements.
  *
  * Returns *non-zero* on success and returns 0 and sets `errno` on failure.
  *
  * Available since API level 28.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int hcreate_r(size_t __n, struct hsearch_data* _Nonnull __table) __INTRODUCED_IN(28);
 
 /**
- * [hdestroy_r(3)](http://man7.org/linux/man-pages/man3/hdestroy_r.3.html) destroys
+ * [hdestroy_r(3)](https://man7.org/linux/man-pages/man3/hdestroy_r.3.html) destroys
  * the hash table `__table`.
  *
  * Available since API level 28.
@@ -135,7 +137,7 @@
 void hdestroy_r(struct hsearch_data* _Nonnull __table) __INTRODUCED_IN(28);
 
 /**
- * [hsearch_r(3)](http://man7.org/linux/man-pages/man3/hsearch_r.3.html) finds or
+ * [hsearch_r(3)](https://man7.org/linux/man-pages/man3/hsearch_r.3.html) finds or
  * inserts `__entry` in the hash table `__table`, based on `__action`.
  *
  * Returns *non-zero* on success and returns 0 and sets `errno` on failure.
@@ -144,24 +146,24 @@
  * Available since API level 28.
  */
 int hsearch_r(ENTRY __entry, ACTION __action, ENTRY* _Nullable * _Nonnull __result, struct hsearch_data* _Nonnull __table) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 
 #endif
 
 /**
- * [lfind(3)](http://man7.org/linux/man-pages/man3/lfind.3.html) brute-force
+ * [lfind(3)](https://man7.org/linux/man-pages/man3/lfind.3.html) brute-force
  * searches the unsorted array `__array` (of `__count` items each of size `__size`)
  * for `__key`, using `__comparator`.
  *
  * See bsearch() if you have a sorted array.
  *
  * Returns a pointer to the matching element on success, or NULL on failure.
- *
- * Available since API level 21.
  */
-void* _Nullable lfind(const void* _Nonnull __key, const void* _Nonnull __array, size_t* _Nonnull __count, size_t __size, int (* _Nonnull __comparator)(const void* _Nonnull, const void* _Nonnull)) __INTRODUCED_IN(21);
+void* _Nullable lfind(const void* _Nonnull __key, const void* _Nonnull __array, size_t* _Nonnull __count, size_t __size, int (* _Nonnull __comparator)(const void* _Nonnull, const void* _Nonnull));
 
 /**
- * [lsearch(3)](http://man7.org/linux/man-pages/man3/lsearch.3.html) brute-force
+ * [lsearch(3)](https://man7.org/linux/man-pages/man3/lsearch.3.html) brute-force
  * searches the unsorted array `__array` (of `__count` items each of size `__size`)
  * for `__key`, using `__comparator`.
  *
@@ -170,13 +172,11 @@
  *
  * Returns a pointer to the matching element on success, or to the newly-added
  * element on failure.
- *
- * Available since API level 21.
  */
-void* _Nonnull lsearch(const void* _Nonnull __key, void* _Nonnull __array, size_t* _Nonnull __count, size_t __size, int (* _Nonnull __comparator)(const void* _Nonnull, const void* _Nonnull)) __INTRODUCED_IN(21);
+void* _Nonnull lsearch(const void* _Nonnull __key, void* _Nonnull __array, size_t* _Nonnull __count, size_t __size, int (* _Nonnull __comparator)(const void* _Nonnull, const void* _Nonnull));
 
 /**
- * [tdelete(3)](http://man7.org/linux/man-pages/man3/tdelete.3.html) searches
+ * [tdelete(3)](https://man7.org/linux/man-pages/man3/tdelete.3.html) searches
  * for and removes an element in the tree `*__root_ptr`. The search is performed
  * using `__comparator`.
  *
@@ -185,13 +185,13 @@
 void* _Nullable tdelete(const void* _Nonnull __key, void* _Nullable * _Nullable __root_ptr, int (* _Nonnull __comparator)(const void* _Nonnull, const void* _Nonnull));
 
 /**
- * [tdestroy(3)](http://man7.org/linux/man-pages/man3/tdestroy.3.html) destroys
+ * [tdestroy(3)](https://man7.org/linux/man-pages/man3/tdestroy.3.html) destroys
  * the hash table `__root` using `__free_fn` on each node.
  */
 void tdestroy(void* _Nullable __root, void (* _Nullable __free_fn)(void* _Nullable));
 
 /**
- * [tfind(3)](http://man7.org/linux/man-pages/man3/tfind.3.html) searches
+ * [tfind(3)](https://man7.org/linux/man-pages/man3/tfind.3.html) searches
  * for an element in the tree `*__root_ptr`. The search is performed using
  * `__comparator`.
  *
@@ -200,7 +200,7 @@
 void* _Nullable tfind(const void* _Nonnull __key, void* _Nullable const* _Nullable __root_ptr, int (* _Nonnull __comparator)(const void* _Nonnull, const void* _Nonnull));
 
 /**
- * [tsearch(3)](http://man7.org/linux/man-pages/man3/tsearch.3.html) searches
+ * [tsearch(3)](https://man7.org/linux/man-pages/man3/tsearch.3.html) searches
  * for an element in the tree `*__root_ptr`. The search is performed using
  * `__comparator`.
  *
@@ -211,9 +211,9 @@
 void* _Nullable tsearch(const void* _Nonnull __key, void* _Nullable * _Nullable __root_ptr, int (* _Nonnull __comparator)(const void* _Nonnull, const void* _Nonnull));
 
 /**
- * [twalk(3)](http://man7.org/linux/man-pages/man3/twalk.3.html) calls
+ * [twalk(3)](https://man7.org/linux/man-pages/man3/twalk.3.html) calls
  * `__visitor` on every node in the tree.
  */
-void twalk(const void* _Nullable __root, void (* _Nullable __visitor)(const void* _Nullable, VISIT, int)) __INTRODUCED_IN(21);
+void twalk(const void* _Nullable __root, void (* _Nullable __visitor)(const void* _Nullable, VISIT, int));
 
 __END_DECLS
diff --git a/libc/include/semaphore.h b/libc/include/semaphore.h
index 6ad9ea3..9c4702d 100644
--- a/libc/include/semaphore.h
+++ b/libc/include/semaphore.h
@@ -45,7 +45,11 @@
 
 #define SEM_FAILED __BIONIC_CAST(reinterpret_cast, sem_t*, 0)
 
+
+#if __BIONIC_AVAILABILITY_GUARD(30)
 int sem_clockwait(sem_t* _Nonnull __sem, clockid_t __clock, const struct timespec* _Nonnull __ts) __INTRODUCED_IN(30);
+#endif /* __BIONIC_AVAILABILITY_GUARD(30) */
+
 int sem_destroy(sem_t* _Nonnull __sem);
 int sem_getvalue(sem_t* _Nonnull __sem, int* _Nonnull __value);
 int sem_init(sem_t* _Nonnull __sem, int __shared, unsigned int __value);
@@ -59,7 +63,11 @@
  * Note that sem_clockwait() allows specifying an arbitrary clock and has superseded this
  * function.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int sem_timedwait_monotonic_np(sem_t* _Nonnull __sem, const struct timespec* _Nonnull __ts) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 int sem_trywait(sem_t* _Nonnull __sem);
 int sem_wait(sem_t* _Nonnull __sem);
 
diff --git a/libc/include/setjmp.h b/libc/include/setjmp.h
index 6d047ae..6c141cb 100644
--- a/libc/include/setjmp.h
+++ b/libc/include/setjmp.h
@@ -66,12 +66,14 @@
 /**
  * The size in words of a riscv64 jmp_buf. Room for callee-saved registers,
  * including floating point, stack pointer and program counter, various
- * internal implementation details, and leaving some free space.
+ * internal implementation details, and leaving lots of free space.
  *
- * Coincidentally matches OpenBSD, though they also save/restore the
- * floating point status register too.
+ * Deliberately very large given the uncertainty around the final form of
+ * hardware shadow stack, and the fact that x86-64 glibc needed to steal
+ * space from their enormous sigset_t (which we don't have) to be able to
+ * implement the CET shadow stack.
  */
-#define _JBLEN 32
+#define _JBLEN 64
 #elif defined(__x86_64__)
 /** The size in words of an x86-64 jmp_buf. Inherited from OpenBSD. */
 #define _JBLEN 11
@@ -109,7 +111,7 @@
 __noreturn void longjmp(jmp_buf __env, int __value);
 
 /**
- * [sigsetjmp(3)](http://man7.org/linux/man-pages/man3/sigsetjmp.3.html)
+ * [sigsetjmp(3)](https://man7.org/linux/man-pages/man3/sigsetjmp.3.html)
  * sets the target of a future siglongjmp() call, saving or not saving the
  * current signal mask based on the second argument.
  *
@@ -119,7 +121,7 @@
 int sigsetjmp(sigjmp_buf __env, int __save_signal_mask) __returns_twice;
 
 /**
- * [siglongjmp(3)](http://man7.org/linux/man-pages/man3/siglongjmp.3.html)
+ * [siglongjmp(3)](https://man7.org/linux/man-pages/man3/siglongjmp.3.html)
  * transfers control back to the site of the sigsetjmp() call that initialized
  * the given jump buffer, returning the given value.
  *
diff --git a/libc/include/signal.h b/libc/include/signal.h
index b9aeaab..38dcbde 100644
--- a/libc/include/signal.h
+++ b/libc/include/signal.h
@@ -51,8 +51,8 @@
 /* We take a few real-time signals for ourselves. May as well use the same names as glibc. */
 #define SIGRTMIN (__libc_current_sigrtmin())
 #define SIGRTMAX (__libc_current_sigrtmax())
-int __libc_current_sigrtmin(void) __INTRODUCED_IN(21);
-int __libc_current_sigrtmax(void) __INTRODUCED_IN(21);
+int __libc_current_sigrtmin(void);
+int __libc_current_sigrtmax(void);
 
 extern const char* _Nonnull const sys_siglist[_NSIG];
 extern const char* _Nonnull const sys_signame[_NSIG]; /* BSD compatibility. */
@@ -60,43 +60,87 @@
 #define si_timerid si_tid /* glibc compatibility. */
 
 int sigaction(int __signal, const struct sigaction* _Nullable __new_action, struct sigaction* _Nullable __old_action);
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int sigaction64(int __signal, const struct sigaction64* _Nullable __new_action, struct sigaction64* _Nullable __old_action) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 
 int siginterrupt(int __signal, int __flag);
 
-sighandler_t _Nonnull signal(int __signal, sighandler_t _Nullable __handler) __INTRODUCED_IN(21);
-int sigaddset(sigset_t* _Nonnull __set, int __signal) __INTRODUCED_IN(21);
+sighandler_t _Nonnull signal(int __signal, sighandler_t _Nullable __handler);
+int sigaddset(sigset_t* _Nonnull __set, int __signal);
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int sigaddset64(sigset64_t* _Nonnull __set, int __signal) __INTRODUCED_IN(28);
-int sigdelset(sigset_t* _Nonnull __set, int __signal) __INTRODUCED_IN(21);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
+int sigdelset(sigset_t* _Nonnull __set, int __signal);
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int sigdelset64(sigset64_t* _Nonnull __set, int __signal) __INTRODUCED_IN(28);
-int sigemptyset(sigset_t* _Nonnull __set) __INTRODUCED_IN(21);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
+int sigemptyset(sigset_t* _Nonnull __set);
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int sigemptyset64(sigset64_t* _Nonnull __set) __INTRODUCED_IN(28);
-int sigfillset(sigset_t* _Nonnull __set) __INTRODUCED_IN(21);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
+int sigfillset(sigset_t* _Nonnull __set);
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int sigfillset64(sigset64_t* _Nonnull __set) __INTRODUCED_IN(28);
-int sigismember(const sigset_t* _Nonnull __set, int __signal) __INTRODUCED_IN(21);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
+int sigismember(const sigset_t* _Nonnull __set, int __signal);
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int sigismember64(const sigset64_t* _Nonnull __set, int __signal) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 
 int sigpending(sigset_t* _Nonnull __set);
-int sigpending64(sigset64_t* _Nonnull __set) __INTRODUCED_IN(28);
-int sigprocmask(int __how, const sigset_t* _Nullable __new_set, sigset_t* _Nullable __old_set);
-int sigprocmask64(int __how, const sigset64_t* _Nullable __new_set, sigset64_t* _Nullable __old_set) __INTRODUCED_IN(28);
-int sigsuspend(const sigset_t* _Nonnull __mask);
-int sigsuspend64(const sigset64_t* _Nonnull __mask) __INTRODUCED_IN(28);
-int sigwait(const sigset_t* _Nonnull __set, int* _Nonnull __signal);
-int sigwait64(const sigset64_t* _Nonnull __set, int* _Nonnull __signal) __INTRODUCED_IN(28);
 
+#if __BIONIC_AVAILABILITY_GUARD(28)
+int sigpending64(sigset64_t* _Nonnull __set) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
+int sigprocmask(int __how, const sigset_t* _Nullable __new_set, sigset_t* _Nullable __old_set);
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
+int sigprocmask64(int __how, const sigset64_t* _Nullable __new_set, sigset64_t* _Nullable __old_set) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
+int sigsuspend(const sigset_t* _Nonnull __mask);
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
+int sigsuspend64(const sigset64_t* _Nonnull __mask) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
+int sigwait(const sigset_t* _Nonnull __set, int* _Nonnull __signal);
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
+int sigwait64(const sigset64_t* _Nonnull __set, int* _Nonnull __signal) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
+
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
 int sighold(int __signal)
-  __attribute__((deprecated("use sigprocmask() or pthread_sigmask() instead")))
+  __attribute__((__deprecated__("use sigprocmask() or pthread_sigmask() instead")))
   __INTRODUCED_IN(26);
 int sigignore(int __signal)
-  __attribute__((deprecated("use sigaction() instead"))) __INTRODUCED_IN(26);
+  __attribute__((__deprecated__("use sigaction() instead"))) __INTRODUCED_IN(26);
 int sigpause(int __signal)
-  __attribute__((deprecated("use sigsuspend() instead"))) __INTRODUCED_IN(26);
+  __attribute__((__deprecated__("use sigsuspend() instead"))) __INTRODUCED_IN(26);
 int sigrelse(int __signal)
-  __attribute__((deprecated("use sigprocmask() or pthread_sigmask() instead")))
+  __attribute__((__deprecated__("use sigprocmask() or pthread_sigmask() instead")))
   __INTRODUCED_IN(26);
 sighandler_t _Nonnull sigset(int __signal, sighandler_t _Nullable __handler)
-  __attribute__((deprecated("use sigaction() instead"))) __INTRODUCED_IN(26);
+  __attribute__((__deprecated__("use sigaction() instead"))) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 
 int raise(int __signal);
 int kill(pid_t __pid, int __signal);
@@ -105,22 +149,78 @@
 
 int sigaltstack(const stack_t* _Nullable __new_signal_stack, stack_t*  _Nullable __old_signal_stack);
 
-void psiginfo(const siginfo_t* _Nonnull __info, const char* _Nullable __msg) __INTRODUCED_IN(17);
-void psignal(int __signal, const char* _Nullable __msg) __INTRODUCED_IN(17);
+void psiginfo(const siginfo_t* _Nonnull __info, const char* _Nullable __msg);
+void psignal(int __signal, const char* _Nullable __msg);
 
 int pthread_kill(pthread_t __pthread, int __signal);
 #if defined(__USE_GNU)
+
+#if __BIONIC_AVAILABILITY_GUARD(29)
 int pthread_sigqueue(pthread_t __pthread, int __signal, const union sigval __value) __INTRODUCED_IN(29);
+#endif /* __BIONIC_AVAILABILITY_GUARD(29) */
+
 #endif
 
 int pthread_sigmask(int __how, const sigset_t* _Nullable __new_set, sigset_t* _Nullable __old_set);
-int pthread_sigmask64(int __how, const sigset64_t* _Nullable __new_set, sigset64_t* _Nullable __old_set) __INTRODUCED_IN(28);
 
+#if __BIONIC_AVAILABILITY_GUARD(28)
+int pthread_sigmask64(int __how, const sigset64_t* _Nullable __new_set, sigset64_t* _Nullable __old_set) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
+
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 int sigqueue(pid_t __pid, int __signal, const union sigval __value) __INTRODUCED_IN(23);
 int sigtimedwait(const sigset_t* _Nonnull __set, siginfo_t* _Nullable __info, const struct timespec* _Nullable __timeout) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int sigtimedwait64(const sigset64_t* _Nonnull __set, siginfo_t* _Nullable __info, const struct timespec* _Nullable __timeout) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 int sigwaitinfo(const sigset_t* _Nonnull __set, siginfo_t* _Nullable __info) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int sigwaitinfo64(const sigset64_t* _Nonnull __set, siginfo_t* _Nullable __info) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
+
+/**
+ * Buffer size suitable for any call to sig2str().
+ */
+#define SIG2STR_MAX 32
+
+/**
+ * [sig2str(3)](https://man7.org/linux/man-pages/man3/sig2str.3.html)
+ * converts the integer corresponding to SIGSEGV (say) into a string
+ * like "SEGV" (not including the "SIG" used in the constants).
+ * SIG2STR_MAX is a safe size to use for the buffer.
+ *
+ * Returns 0 on success, and returns -1 _without_ setting errno otherwise.
+ *
+ * Available since API level 36.
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(36)
+int sig2str(int __signal, char* _Nonnull __buf) __INTRODUCED_IN(36);
+
+/**
+ * [str2sig(3)](https://man7.org/linux/man-pages/man3/str2sig.3.html)
+ * converts a string like "SEGV" (not including the "SIG" used in the constants)
+ * into the integer corresponding to SIGSEGV.
+ *
+ * Returns 0 on success, and returns -1 _without_ setting errno otherwise.
+ *
+ * Available since API level 36.
+ */
+int str2sig(const char* _Nonnull __name, int* _Nonnull __signal) __INTRODUCED_IN(36);
+#endif /* __BIONIC_AVAILABILITY_GUARD(36) */
+
 
 __END_DECLS
 
diff --git a/libc/include/spawn.h b/libc/include/spawn.h
index 6c34b98..b105754 100644
--- a/libc/include/spawn.h
+++ b/libc/include/spawn.h
@@ -46,16 +46,21 @@
 #define POSIX_SPAWN_USEVFORK 64
 #define POSIX_SPAWN_SETSID 128
 #endif
-// mark all fds (except stdin/out/err) as close-on-exec prior to executing registered file actions
+/**
+ * Used with posix_spawnattr_setflags() to mark all fds except
+ * stdin/stdout/stderr as O_CLOEXEC prior to executing registered file actions.
+ */
 #define POSIX_SPAWN_CLOEXEC_DEFAULT 256
 
 typedef struct __posix_spawnattr* posix_spawnattr_t;
 typedef struct __posix_spawn_file_actions* posix_spawn_file_actions_t;
 
-int posix_spawn(pid_t* _Nullable __pid, const char* _Nonnull __path, const posix_spawn_file_actions_t _Nullable * _Nullable __actions, const posix_spawnattr_t _Nullable * _Nullable __attr, char* const _Nonnull __argv[_Nonnull], char* const _Nullable __env[_Nullable]) __INTRODUCED_IN(28);
-int posix_spawnp(pid_t* _Nullable __pid, const char* _Nonnull __file, const posix_spawn_file_actions_t _Nullable * _Nullable __actions, const posix_spawnattr_t _Nullable * _Nullable __attr, char* const _Nonnull __argv[_Nonnull], char* const _Nullable __env[_Nullable]) __INTRODUCED_IN(28);
 
-int posix_spawnattr_init(posix_spawnattr_t _Nonnull * _Nonnull __attr) __INTRODUCED_IN(28);
+#if __BIONIC_AVAILABILITY_GUARD(28)
+int posix_spawn(pid_t* _Nullable __pid, const char* _Nonnull __path, const posix_spawn_file_actions_t _Nullable * _Nullable __actions, const posix_spawnattr_t _Nullable * _Nullable __attr, char* const _Nullable __argv[_Nullable], char* const _Nullable __env[_Nullable]) __INTRODUCED_IN(28);
+int posix_spawnp(pid_t* _Nullable __pid, const char* _Nonnull __file, const posix_spawn_file_actions_t _Nullable * _Nullable __actions, const posix_spawnattr_t _Nullable * _Nullable __attr, char* const _Nullable __argv[_Nullable], char* const _Nullable __env[_Nullable]) __INTRODUCED_IN(28);
+
+int posix_spawnattr_init(posix_spawnattr_t _Nullable * _Nonnull __attr) __INTRODUCED_IN(28);
 int posix_spawnattr_destroy(posix_spawnattr_t _Nonnull * _Nonnull __attr) __INTRODUCED_IN(28);
 
 int posix_spawnattr_setflags(posix_spawnattr_t _Nonnull * _Nonnull __attr, short __flags) __INTRODUCED_IN(28);
@@ -86,9 +91,15 @@
 int posix_spawn_file_actions_addopen(posix_spawn_file_actions_t _Nonnull * _Nonnull __actions, int __fd, const char* _Nonnull __path, int __flags, mode_t __mode) __INTRODUCED_IN(28);
 int posix_spawn_file_actions_addclose(posix_spawn_file_actions_t _Nonnull * _Nonnull __actions, int __fd) __INTRODUCED_IN(28);
 int posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t _Nonnull * _Nonnull __actions, int __fd, int __new_fd) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
 
+
+
+#if __BIONIC_AVAILABILITY_GUARD(34)
 int posix_spawn_file_actions_addchdir_np(posix_spawn_file_actions_t _Nonnull * _Nonnull __actions, const char* _Nonnull __path) __INTRODUCED_IN(34);
 int posix_spawn_file_actions_addfchdir_np(posix_spawn_file_actions_t _Nonnull * _Nonnull __actions, int __fd) __INTRODUCED_IN(34);
+#endif /* __BIONIC_AVAILABILITY_GUARD(34) */
+
 
 __END_DECLS
 
diff --git a/libc/include/stdint.h b/libc/include/stdint.h
index 322a81c..772fe8b 100644
--- a/libc/include/stdint.h
+++ b/libc/include/stdint.h
@@ -29,9 +29,10 @@
 #ifndef _STDINT_H
 #define _STDINT_H
 
+#include <sys/cdefs.h>
+
 #include <bits/wchar_limits.h>
 #include <stddef.h>
-#include <sys/cdefs.h>
 
 typedef signed char __int8_t;
 typedef unsigned char __uint8_t;
diff --git a/libc/include/stdio.h b/libc/include/stdio.h
index e748faa..2c2dc01 100644
--- a/libc/include/stdio.h
+++ b/libc/include/stdio.h
@@ -69,7 +69,7 @@
 #define stderr stderr
 #else
 /* Before M the actual symbols for stdin and friends had different names. */
-extern FILE __sF[] __REMOVED_IN(23);
+extern FILE __sF[] __REMOVED_IN(23, "Use stdin/stdout/stderr");
 
 #define stdin (&__sF[0])
 #define stdout (&__sF[1])
@@ -105,10 +105,10 @@
 
 void clearerr(FILE* _Nonnull __fp);
 int fclose(FILE* _Nonnull __fp);
-int feof(FILE* _Nonnull __fp);
-int ferror(FILE* _Nonnull __fp);
+__nodiscard int feof(FILE* _Nonnull __fp);
+__nodiscard int ferror(FILE* _Nonnull __fp);
 int fflush(FILE* _Nullable __fp);
-int fgetc(FILE* _Nonnull __fp);
+__nodiscard int fgetc(FILE* _Nonnull __fp);
 char* _Nullable fgets(char* _Nonnull __buf, int __size, FILE* _Nonnull __fp);
 int fprintf(FILE* _Nonnull __fp , const char* _Nonnull __fmt, ...) __printflike(2, 3);
 int fputc(int __ch, FILE* _Nonnull __fp);
@@ -116,10 +116,10 @@
 size_t fread(void* _Nonnull __buf, size_t __size, size_t __count, FILE* _Nonnull __fp);
 int fscanf(FILE* _Nonnull __fp, const char* _Nonnull __fmt, ...) __scanflike(2, 3);
 size_t fwrite(const void* _Nonnull __buf, size_t __size, size_t __count, FILE* _Nonnull __fp);
-int getc(FILE* _Nonnull __fp);
-int getchar(void);
-ssize_t getdelim(char* _Nullable * _Nonnull __line_ptr, size_t* _Nonnull __line_length_ptr, int __delimiter, FILE* _Nonnull __fp) __INTRODUCED_IN(18);
-ssize_t getline(char* _Nullable * _Nonnull __line_ptr, size_t* _Nonnull __line_length_ptr, FILE* _Nonnull __fp) __INTRODUCED_IN(18);
+__nodiscard int getc(FILE* _Nonnull __fp);
+__nodiscard int getchar(void);
+ssize_t getdelim(char* _Nullable * _Nonnull __line_ptr, size_t* _Nonnull __line_length_ptr, int __delimiter, FILE* _Nonnull __fp);
+ssize_t getline(char* _Nullable * _Nonnull __line_ptr, size_t* _Nonnull __line_length_ptr, FILE* _Nonnull __fp);
 
 void perror(const char* _Nullable __msg);
 int printf(const char* _Nonnull __fmt, ...) __printflike(1, 2);
@@ -136,16 +136,16 @@
 int vfprintf(FILE* _Nonnull __fp, const char* _Nonnull __fmt, va_list __args) __printflike(2, 0);
 int vprintf(const char* _Nonnull __fp, va_list __args) __printflike(1, 0);
 
-int dprintf(int __fd, const char* _Nonnull __fmt, ...) __printflike(2, 3) __INTRODUCED_IN(21);
-int vdprintf(int __fd, const char* _Nonnull __fmt, va_list __args) __printflike(2, 0) __INTRODUCED_IN(21);
+int dprintf(int __fd, const char* _Nonnull __fmt, ...) __printflike(2, 3);
+int vdprintf(int __fd, const char* _Nonnull __fmt, va_list __args) __printflike(2, 0);
 
 #if (defined(__STDC_VERSION__) && __STDC_VERSION__ < 201112L) || \
     (defined(__cplusplus) && __cplusplus <= 201103L)
-char* _Nullable gets(char* _Nonnull __buf) __attribute__((deprecated("gets is unsafe, use fgets instead")));
+char* _Nullable gets(char* _Nonnull __buf) __attribute__((__deprecated__("gets is unsafe, use fgets instead")));
 #endif
-int sprintf(char* _Nonnull __s, const char* _Nonnull __fmt, ...)
+int sprintf(char* __BIONIC_COMPLICATED_NULLNESS __s, const char* _Nonnull __fmt, ...)
     __printflike(2, 3) __warnattr_strict("sprintf is often misused; please use snprintf");
-int vsprintf(char* _Nonnull __s, const char* _Nonnull __fmt, va_list __args)
+int vsprintf(char* __BIONIC_COMPLICATED_NULLNESS __s, const char* _Nonnull __fmt, va_list __args)
     __printflike(2, 0) __warnattr_strict("vsprintf is often misused; please use vsnprintf");
 char* _Nullable tmpnam(char* _Nullable __s)
     __warnattr("tmpnam is unsafe, use mkstemp or tmpfile instead");
@@ -154,7 +154,7 @@
     __warnattr("tempnam is unsafe, use mkstemp or tmpfile instead");
 
 /**
- * [rename(2)](http://man7.org/linux/man-pages/man2/rename.2.html) changes
+ * [rename(2)](https://man7.org/linux/man-pages/man2/rename.2.html) changes
  * the name or location of a file.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
@@ -162,7 +162,7 @@
 int rename(const char* _Nonnull __old_path, const char* _Nonnull __new_path);
 
 /**
- * [renameat(2)](http://man7.org/linux/man-pages/man2/renameat.2.html) changes
+ * [renameat(2)](https://man7.org/linux/man-pages/man2/renameat.2.html) changes
  * the name or location of a file, interpreting relative paths using an fd.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
@@ -172,108 +172,148 @@
 #if defined(__USE_GNU)
 
 /**
- * Flag for [renameat2(2)](http://man7.org/linux/man-pages/man2/renameat2.2.html)
+ * Flag for [renameat2(2)](https://man7.org/linux/man-pages/man2/renameat2.2.html)
  * to fail if the new path already exists.
  */
 #define RENAME_NOREPLACE (1<<0)
 
 /**
- * Flag for [renameat2(2)](http://man7.org/linux/man-pages/man2/renameat2.2.html)
+ * Flag for [renameat2(2)](https://man7.org/linux/man-pages/man2/renameat2.2.html)
  * to atomically exchange the two paths.
  */
 #define RENAME_EXCHANGE (1<<1)
 
 /**
- * Flag for [renameat2(2)](http://man7.org/linux/man-pages/man2/renameat2.2.html)
+ * Flag for [renameat2(2)](https://man7.org/linux/man-pages/man2/renameat2.2.html)
  * to create a union/overlay filesystem object.
  */
 #define RENAME_WHITEOUT (1<<2)
 
 /**
- * [renameat2(2)](http://man7.org/linux/man-pages/man2/renameat2.2.html) changes
+ * [renameat2(2)](https://man7.org/linux/man-pages/man2/renameat2.2.html) changes
  * the name or location of a file, interpreting relative paths using an fd,
  * with optional `RENAME_` flags.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(30)
 int renameat2(int __old_dir_fd, const char* _Nonnull __old_path, int __new_dir_fd, const char* _Nonnull __new_path, unsigned __flags) __INTRODUCED_IN(30);
+#endif /* __BIONIC_AVAILABILITY_GUARD(30) */
+
 
 #endif
 
 int fseek(FILE* _Nonnull __fp, long __offset, int __whence);
-long ftell(FILE* _Nonnull __fp);
+__nodiscard long ftell(FILE* _Nonnull __fp);
 
-/* See https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md */
+/* See https://android.googlesource.com/platform/bionic/+/main/docs/32-bit-abi.md */
 #if defined(__USE_FILE_OFFSET64)
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
 int fgetpos(FILE* _Nonnull __fp, fpos_t* _Nonnull __pos) __RENAME(fgetpos64) __INTRODUCED_IN(24);
 int fsetpos(FILE* _Nonnull __fp, const fpos_t* _Nonnull __pos) __RENAME(fsetpos64) __INTRODUCED_IN(24);
 int fseeko(FILE* _Nonnull __fp, off_t __offset, int __whence) __RENAME(fseeko64) __INTRODUCED_IN(24);
-off_t ftello(FILE* _Nonnull __fp) __RENAME(ftello64) __INTRODUCED_IN(24);
+__nodiscard off_t ftello(FILE* _Nonnull __fp) __RENAME(ftello64) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
 #  if defined(__USE_BSD)
 /* If __read_fn and __write_fn are both nullptr, it will cause EINVAL */
-FILE* _Nullable funopen(const void* _Nullable __cookie,
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
+__nodiscard FILE* _Nullable funopen(const void* _Nullable __cookie,
               int (* __BIONIC_COMPLICATED_NULLNESS __read_fn)(void* _Nonnull, char* _Nonnull, int),
               int (* __BIONIC_COMPLICATED_NULLNESS __write_fn)(void* _Nonnull, const char* _Nonnull, int),
               fpos_t (* _Nullable __seek_fn)(void* _Nonnull, fpos_t, int),
               int (* _Nullable __close_fn)(void* _Nonnull)) __RENAME(funopen64) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
 #  endif
 #else
 int fgetpos(FILE* _Nonnull __fp, fpos_t* _Nonnull __pos);
 int fsetpos(FILE* _Nonnull __fp, const fpos_t* _Nonnull __pos);
 int fseeko(FILE* _Nonnull __fp, off_t __offset, int __whence);
-off_t ftello(FILE* _Nonnull __fp);
+__nodiscard off_t ftello(FILE* _Nonnull __fp);
 #  if defined(__USE_BSD)
 /* If __read_fn and __write_fn are both nullptr, it will cause EINVAL */
-FILE* _Nullable funopen(const void* _Nullable __cookie,
+__nodiscard FILE* _Nullable funopen(const void* _Nullable __cookie,
               int (* __BIONIC_COMPLICATED_NULLNESS __read_fn)(void* _Nonnull, char* _Nonnull, int),
               int (* __BIONIC_COMPLICATED_NULLNESS __write_fn)(void* _Nonnull, const char* _Nonnull, int),
               fpos_t (* _Nullable __seek_fn)(void* _Nonnull, fpos_t, int),
               int (* _Nullable __close_fn)(void* _Nonnull));
 #  endif
 #endif
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
 int fgetpos64(FILE* _Nonnull __fp, fpos64_t* _Nonnull __pos) __INTRODUCED_IN(24);
 int fsetpos64(FILE* _Nonnull __fp, const fpos64_t* _Nonnull __pos) __INTRODUCED_IN(24);
 int fseeko64(FILE* _Nonnull __fp, off64_t __offset, int __whence) __INTRODUCED_IN(24);
-off64_t ftello64(FILE* _Nonnull __fp) __INTRODUCED_IN(24);
+__nodiscard off64_t ftello64(FILE* _Nonnull __fp) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
 #if defined(__USE_BSD)
 /* If __read_fn and __write_fn are both nullptr, it will cause EINVAL */
-FILE* _Nullable funopen64(const void* _Nullable __cookie,
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
+__nodiscard FILE* _Nullable funopen64(const void* _Nullable __cookie,
                 int (* __BIONIC_COMPLICATED_NULLNESS __read_fn)(void* _Nonnull, char* _Nonnull, int),
                 int (* __BIONIC_COMPLICATED_NULLNESS __write_fn)(void* _Nonnull, const char* _Nonnull, int),
                 fpos64_t (* _Nullable __seek_fn)(void* _Nonnull, fpos64_t, int),
                 int (* _Nullable __close_fn)(void* _Nonnull)) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
 #endif
 
-FILE* _Nullable fopen(const char* _Nonnull __path, const char* _Nonnull __mode);
-FILE* _Nullable fopen64(const char* _Nonnull __path, const char* _Nonnull __mode) __INTRODUCED_IN(24);
-FILE* _Nullable freopen(const char* _Nullable __path, const char* _Nonnull __mode, FILE* _Nonnull __fp);
-FILE* _Nullable freopen64(const char* _Nullable __path, const char* _Nonnull __mode, FILE* _Nonnull __fp) __INTRODUCED_IN(24);
-FILE* _Nullable tmpfile(void);
-FILE* _Nullable tmpfile64(void) __INTRODUCED_IN(24);
+__nodiscard FILE* _Nullable fopen(const char* _Nonnull __path, const char* _Nonnull __mode);
 
-int snprintf(char* _Nullable __buf, size_t __size, const char* _Nonnull __fmt, ...) __printflike(3, 4);
+#if __BIONIC_AVAILABILITY_GUARD(24)
+__nodiscard FILE* _Nullable fopen64(const char* _Nonnull __path, const char* _Nonnull __mode) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
+FILE* _Nullable freopen(const char* _Nullable __path, const char* _Nonnull __mode, FILE* _Nonnull __fp);
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
+FILE* _Nullable freopen64(const char* _Nullable __path, const char* _Nonnull __mode, FILE* _Nonnull __fp) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
+__nodiscard FILE* _Nullable tmpfile(void);
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
+__nodiscard FILE* _Nullable tmpfile64(void) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
+
+int snprintf(char* __BIONIC_COMPLICATED_NULLNESS __buf, size_t __size, const char* _Nonnull __fmt, ...) __printflike(3, 4);
 int vfscanf(FILE* _Nonnull __fp, const char* _Nonnull __fmt, va_list __args) __scanflike(2, 0);
 int vscanf(const char* _Nonnull __fmt , va_list __args) __scanflike(1, 0);
-int vsnprintf(char* _Nullable __buf, size_t __size, const char* _Nonnull __fmt, va_list __args) __printflike(3, 0);
+int vsnprintf(char* __BIONIC_COMPLICATED_NULLNESS __buf, size_t __size, const char* _Nonnull __fmt, va_list __args) __printflike(3, 0);
 int vsscanf(const char* _Nonnull __s, const char* _Nonnull __fmt, va_list __args) __scanflike(2, 0);
 
 #define L_ctermid 1024 /* size for ctermid() */
-char* _Nonnull ctermid(char* _Nullable __buf) __INTRODUCED_IN(26);
 
-FILE* _Nullable fdopen(int __fd, const char* _Nonnull __mode);
-int fileno(FILE* _Nonnull __fp);
+#if __BIONIC_AVAILABILITY_GUARD(26)
+char* _Nonnull ctermid(char* _Nullable __buf) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
+
+__nodiscard FILE* _Nullable fdopen(int __fd, const char* _Nonnull __mode);
+__nodiscard int fileno(FILE* _Nonnull __fp);
 int pclose(FILE* _Nonnull __fp);
-FILE* _Nullable popen(const char* _Nonnull __command, const char* _Nonnull __mode);
+__nodiscard FILE* _Nullable popen(const char* _Nonnull __command, const char* _Nonnull __mode);
 void flockfile(FILE* _Nonnull  __fp);
 int ftrylockfile(FILE* _Nonnull __fp);
 void funlockfile(FILE* _Nonnull __fp);
-int getc_unlocked(FILE* _Nonnull __fp);
-int getchar_unlocked(void);
+__nodiscard int getc_unlocked(FILE* _Nonnull __fp);
+__nodiscard int getchar_unlocked(void);
 int putc_unlocked(int __ch, FILE* _Nonnull __fp);
 int putchar_unlocked(int __ch);
 
-FILE* _Nullable fmemopen(void* _Nullable __buf, size_t __size, const char* _Nonnull __mode) __INTRODUCED_IN(23);
-FILE* _Nullable open_memstream(char* _Nonnull * _Nonnull __ptr, size_t* _Nonnull __size_ptr) __INTRODUCED_IN(23);
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
+__nodiscard FILE* _Nullable fmemopen(void* _Nullable __buf, size_t __size, const char* _Nonnull __mode) __INTRODUCED_IN(23);
+__nodiscard FILE* _Nullable open_memstream(char* _Nonnull * _Nonnull __ptr, size_t* _Nonnull __size_ptr) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 #if defined(__USE_BSD) || defined(__BIONIC__) /* Historically bionic exposed these. */
 int  asprintf(char* _Nullable * _Nonnull __s_ptr, const char* _Nonnull __fmt, ...) __printflike(2, 3);
@@ -282,25 +322,41 @@
 void setbuffer(FILE* _Nonnull __fp, char* _Nullable __buf, int __size);
 int setlinebuf(FILE* _Nonnull __fp);
 int vasprintf(char* _Nullable * _Nonnull __s_ptr, const char* _Nonnull __fmt, va_list __args) __printflike(2, 0);
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 void clearerr_unlocked(FILE* _Nonnull __fp) __INTRODUCED_IN(23);
-int feof_unlocked(FILE* _Nonnull __fp) __INTRODUCED_IN(23);
-int ferror_unlocked(FILE* _Nonnull __fp) __INTRODUCED_IN(23);
-int fileno_unlocked(FILE* _Nonnull __fp) __INTRODUCED_IN(24);
+__nodiscard int feof_unlocked(FILE* _Nonnull __fp) __INTRODUCED_IN(23);
+__nodiscard int ferror_unlocked(FILE* _Nonnull __fp) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
+__nodiscard int fileno_unlocked(FILE* _Nonnull __fp) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
 #define fropen(cookie, fn) funopen(cookie, fn, 0, 0, 0)
 #define fwopen(cookie, fn) funopen(cookie, 0, fn, 0, 0)
 #endif
 
 #if defined(__USE_BSD)
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int fflush_unlocked(FILE* _Nullable __fp) __INTRODUCED_IN(28);
-int fgetc_unlocked(FILE* _Nonnull __fp) __INTRODUCED_IN(28);
+__nodiscard int fgetc_unlocked(FILE* _Nonnull __fp) __INTRODUCED_IN(28);
 int fputc_unlocked(int __ch, FILE* _Nonnull __fp) __INTRODUCED_IN(28);
 size_t fread_unlocked(void* _Nonnull __buf, size_t __size, size_t __count, FILE* _Nonnull __fp) __INTRODUCED_IN(28);
 size_t fwrite_unlocked(const void* _Nonnull __buf, size_t __size, size_t __count, FILE* _Nonnull __fp) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 #endif
 
 #if defined(__USE_GNU)
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int fputs_unlocked(const char* _Nonnull __s, FILE* _Nonnull __fp) __INTRODUCED_IN(28);
 char* _Nullable fgets_unlocked(char* _Nonnull __buf, int __size, FILE* _Nonnull __fp) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 #endif
 
 #if defined(__BIONIC_INCLUDE_FORTIFY_HEADERS)
diff --git a/libc/include/stdio_ext.h b/libc/include/stdio_ext.h
index 8b106a6..9ff07da 100644
--- a/libc/include/stdio_ext.h
+++ b/libc/include/stdio_ext.h
@@ -39,68 +39,90 @@
 __BEGIN_DECLS
 
 /**
- * [__fbufsize(3)](http://man7.org/linux/man-pages/man3/__fbufsize.3.html) returns the size of
+ * [__fbufsize(3)](https://man7.org/linux/man-pages/man3/__fbufsize.3.html) returns the size of
  * the stream's buffer.
  *
  * Available since API level 23.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 size_t __fbufsize(FILE* _Nonnull __fp) __INTRODUCED_IN(23);
 
 /**
- * [__freadable(3)](http://man7.org/linux/man-pages/man3/__freadable.3.html) returns non-zero if
+ * [__freadable(3)](https://man7.org/linux/man-pages/man3/__freadable.3.html) returns non-zero if
  * the stream allows reading, 0 otherwise.
  *
  * Available since API level 23.
  */
 int __freadable(FILE* _Nonnull __fp) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 /**
- * [__freading(3)](http://man7.org/linux/man-pages/man3/__freading.3.html) returns non-zero if
+ * [__freading(3)](https://man7.org/linux/man-pages/man3/__freading.3.html) returns non-zero if
  * the stream's last operation was a read, 0 otherwise.
  *
  * Available since API level 28.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int __freading(FILE* _Nonnull __fp) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 
 /**
- * [__fwritable(3)](http://man7.org/linux/man-pages/man3/__fwritable.3.html) returns non-zero if
+ * [__fwritable(3)](https://man7.org/linux/man-pages/man3/__fwritable.3.html) returns non-zero if
  * the stream allows writing, 0 otherwise.
  *
  * Available since API level 23.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 int __fwritable(FILE* _Nonnull __fp) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 /**
- * [__fwriting(3)](http://man7.org/linux/man-pages/man3/__fwriting.3.html) returns non-zero if
+ * [__fwriting(3)](https://man7.org/linux/man-pages/man3/__fwriting.3.html) returns non-zero if
  * the stream's last operation was a write, 0 otherwise.
  *
  * Available since API level 28.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int __fwriting(FILE* _Nonnull __fp) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 
 /**
- * [__flbf(3)](http://man7.org/linux/man-pages/man3/__flbf.3.html) returns non-zero if
+ * [__flbf(3)](https://man7.org/linux/man-pages/man3/__flbf.3.html) returns non-zero if
  * the stream is line-buffered, 0 otherwise.
  *
  * Available since API level 23.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 int __flbf(FILE* _Nonnull __fp) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 /**
- * [__fpurge(3)](http://man7.org/linux/man-pages/man3/__fpurge.3.html) discards the contents of
+ * [__fpurge(3)](https://man7.org/linux/man-pages/man3/__fpurge.3.html) discards the contents of
  * the stream's buffer.
- *
- * Available since API level 23.
  */
-void __fpurge(FILE* _Nonnull __fp) __INTRODUCED_IN(23);
+void __fpurge(FILE* _Nonnull __fp) __RENAME(fpurge);
 
 /**
- * [__fpending(3)](http://man7.org/linux/man-pages/man3/__fpending.3.html) returns the number of
+ * [__fpending(3)](https://man7.org/linux/man-pages/man3/__fpending.3.html) returns the number of
  * bytes in the output buffer. See __freadahead() for the input buffer.
  *
  * Available since API level 23.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 size_t __fpending(FILE* _Nonnull __fp) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 /**
  * __freadahead(3) returns the number of bytes in the input buffer.
@@ -108,15 +130,23 @@
  *
  * Available since API level 34.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(34)
 size_t __freadahead(FILE* _Nonnull __fp) __INTRODUCED_IN(34);
+#endif /* __BIONIC_AVAILABILITY_GUARD(34) */
+
 
 /**
- * [_flushlbf(3)](http://man7.org/linux/man-pages/man3/_flushlbf.3.html) flushes all
+ * [_flushlbf(3)](https://man7.org/linux/man-pages/man3/_flushlbf.3.html) flushes all
  * line-buffered streams.
  *
  * Available since API level 23.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 void _flushlbf(void) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 /**
  * `__fseterr` sets the
@@ -124,7 +154,11 @@
  *
  * Available since API level 28.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 void __fseterr(FILE* _Nonnull __fp) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 
 /** __fsetlocking() constant to query locking type. */
 #define FSETLOCKING_QUERY 0
@@ -134,13 +168,17 @@
 #define FSETLOCKING_BYCALLER 2
 
 /**
- * [__fsetlocking(3)](http://man7.org/linux/man-pages/man3/__fsetlocking.3.html) sets the
+ * [__fsetlocking(3)](https://man7.org/linux/man-pages/man3/__fsetlocking.3.html) sets the
  * stream's locking mode to one of the `FSETLOCKING_` types.
  *
  * Returns the current locking style, `FSETLOCKING_INTERNAL` or `FSETLOCKING_BYCALLER`.
  *
  * Available since API level 23.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 int __fsetlocking(FILE* _Nonnull __fp, int __type) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 __END_DECLS
diff --git a/libc/include/stdlib.h b/libc/include/stdlib.h
index 2bcb870..7081d7c 100644
--- a/libc/include/stdlib.h
+++ b/libc/include/stdlib.h
@@ -29,11 +29,12 @@
 #ifndef _STDLIB_H
 #define _STDLIB_H
 
+#include <sys/cdefs.h>
+
 #include <alloca.h>
 #include <bits/wait.h>
 #include <malloc.h>
 #include <stddef.h>
-#include <sys/cdefs.h>
 #include <xlocale.h>
 
 __BEGIN_DECLS
@@ -43,12 +44,12 @@
 
 __noreturn void abort(void) __attribute__((__nomerge__));
 __noreturn void exit(int __status);
-__noreturn void _Exit(int __status) __INTRODUCED_IN(21);
+__noreturn void _Exit(int __status);
 
 int atexit(void (* _Nonnull __fn)(void));
 
-int at_quick_exit(void (* _Nonnull __fn)(void)) __INTRODUCED_IN(21);
-void quick_exit(int __status) __noreturn __INTRODUCED_IN(21);
+int at_quick_exit(void (* _Nonnull __fn)(void));
+void quick_exit(int __status) __noreturn;
 
 char* _Nullable getenv(const char* _Nonnull __name);
 int putenv(char* _Nonnull __assignment);
@@ -57,41 +58,88 @@
 int clearenv(void);
 
 char* _Nullable mkdtemp(char* _Nonnull __template);
-char* _Nullable mktemp(char* _Nonnull __template) __attribute__((deprecated("mktemp is unsafe, use mkstemp or tmpfile instead")));
+char* _Nullable mktemp(char* _Nonnull __template) __attribute__((__deprecated__("mktemp is unsafe, use mkstemp or tmpfile instead")));
 
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 int mkostemp64(char* _Nonnull __template, int __flags) __INTRODUCED_IN(23);
 int mkostemp(char* _Nonnull __template, int __flags) __INTRODUCED_IN(23);
 int mkostemps64(char* _Nonnull __template, int __suffix_length, int __flags) __INTRODUCED_IN(23);
 int mkostemps(char* _Nonnull __template, int __suffix_length, int __flags) __INTRODUCED_IN(23);
-int mkstemp64(char* _Nonnull __template) __INTRODUCED_IN(21);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+int mkstemp64(char* _Nonnull __template);
 int mkstemp(char* _Nonnull __template);
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 int mkstemps64(char* _Nonnull __template, int __flags) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 int mkstemps(char* _Nonnull __template, int __flags);
 
-long strtol(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base);
-long long strtoll(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base);
-unsigned long strtoul(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base);
-unsigned long long strtoull(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base);
+int posix_memalign(void* _Nullable * _Nullable __memptr, size_t __alignment, size_t __size);
 
-int posix_memalign(void* _Nullable * _Nullable __memptr, size_t __alignment, size_t __size) __INTRODUCED_IN(17);
+/**
+ * [aligned_alloc(3)](https://man7.org/linux/man-pages/man3/aligned_alloc.3.html)
+ * allocates the given number of bytes with the given alignment.
+ *
+ * Returns a pointer to the allocated memory on success and returns a null
+ * pointer and sets `errno` on failure.
+ *
+ * Available since API level 28.
+ */
 
-void* _Nullable aligned_alloc(size_t __alignment, size_t __size) __INTRODUCED_IN(28);
+#if __BIONIC_AVAILABILITY_GUARD(28)
+__nodiscard void* _Nullable aligned_alloc(size_t __alignment, size_t __size) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
 
-double strtod(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr);
-long double strtold(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr) __RENAME_LDBL(strtod, 3, 21);
 
-unsigned long strtoul_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base, locale_t _Nonnull __l) __INTRODUCED_IN(26);
+__nodiscard char* _Nullable realpath(const char* _Nonnull __path, char* _Nullable __resolved);
 
-int atoi(const char* _Nonnull __s) __attribute_pure__;
-long atol(const char* _Nonnull __s) __attribute_pure__;
-long long atoll(const char* _Nonnull __s) __attribute_pure__;
-
-__wur char* _Nullable realpath(const char* _Nonnull __path, char* _Nullable __resolved);
+/**
+ * [system(3)](https://man7.org/linux/man-pages/man3/system.3.html) executes
+ * the given command in a new shell process.
+ *
+ * On Android, the special case of `system(NULL)` always returns 1,
+ * as specified by POSIX. Passing `NULL` to determine whether or
+ * not a shell is available is not portable. Callers should just try
+ * the command they actually want to run, since there are many reasons
+ * why it might fail, both temporarily (for lack of resources, say)
+ * or permanently (for lack of permission, say).
+ *
+ * Returns -1 and sets errno if process creation fails; returns a
+ * [waitpid(2)](https://man7.org/linux/man-pages/man2/waitpid.2.html)
+ * status otherwise.
+ */
 int system(const char* _Nonnull __command);
 
-void* _Nullable bsearch(const void* _Nonnull __key, const void* _Nullable __base, size_t __nmemb, size_t __size, int (* _Nonnull __comparator)(const void* _Nonnull __lhs, const void* _Nonnull __rhs));
+/**
+ * [bsearch(3)](https://man7.org/linux/man-pages/man3/bsearch.3.html) searches
+ * a sorted array.
+ *
+ * Returns a pointer to a matching item on success,
+ * or NULL if no matching item is found.
+ */
+__nodiscard void* _Nullable bsearch(const void* _Nonnull __key, const void* _Nullable __base, size_t __nmemb, size_t __size, int (* _Nonnull __comparator)(const void* _Nonnull __lhs, const void* _Nonnull __rhs));
 
-void qsort(void* _Nullable __base, size_t __nmemb, size_t __size, int (* _Nonnull __comparator)(const void* _Nullable __lhs, const void* _Nullable __rhs));
+/**
+ * [qsort(3)](https://man7.org/linux/man-pages/man3/qsort.3.html) sorts an array
+ * of n elements each of the given size, using the given comparator.
+ */
+void qsort(void* _Nullable __array, size_t __n, size_t __size, int (* _Nonnull __comparator)(const void* _Nullable __lhs, const void* _Nullable __rhs));
+
+/**
+ * [qsort_r(3)](https://man7.org/linux/man-pages/man3/qsort_r.3.html) sorts an
+ * array of n elements each of the given size, using the given comparator,
+ * and passing the given context argument to the comparator.
+ *
+ * Available since API level 36.
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(36)
+void qsort_r(void* _Nullable __array, size_t __n, size_t __size, int (* _Nonnull __comparator)(const void* _Nullable __lhs, const void* _Nullable __rhs, void* _Nullable __context), void* _Nullable __context) __INTRODUCED_IN(36);
+#endif /* __BIONIC_AVAILABILITY_GUARD(36) */
+
 
 uint32_t arc4random(void);
 uint32_t arc4random_uniform(uint32_t __upper_bound);
@@ -99,28 +147,36 @@
 
 #define RAND_MAX 0x7fffffff
 
-int rand_r(unsigned int* _Nonnull __seed_ptr) __INTRODUCED_IN(21);
+int rand_r(unsigned int* _Nonnull __seed_ptr);
 
 double drand48(void);
 double erand48(unsigned short __xsubi[_Nonnull 3]);
 long jrand48(unsigned short __xsubi[_Nonnull 3]);
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 void lcong48(unsigned short __param[_Nonnull 7]) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 long lrand48(void);
 long mrand48(void);
 long nrand48(unsigned short __xsubi[_Nonnull 3]);
 unsigned short* _Nonnull seed48(unsigned short __seed16v[_Nonnull 3]);
 void srand48(long __seed);
 
-char* _Nullable initstate(unsigned int __seed, char* _Nonnull __state, size_t __n) __INTRODUCED_IN(21);
-char* _Nullable setstate(char* _Nonnull __state) __INTRODUCED_IN(21);
+char* _Nullable initstate(unsigned int __seed, char* _Nonnull __state, size_t __n);
+char* _Nullable setstate(char* _Nonnull __state);
 
 int getpt(void);
-int posix_openpt(int __flags) __INTRODUCED_IN(21);
+int posix_openpt(int __flags);
 char* _Nullable ptsname(int __fd);
 int ptsname_r(int __fd, char* _Nonnull __buf, size_t __n);
 int unlockpt(int __fd);
 
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
 int getsubopt(char* _Nonnull * _Nonnull __option, char* _Nonnull const* _Nonnull __tokens, char* _Nullable * _Nonnull __value_ptr) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 
 typedef struct {
   int quot;
@@ -144,52 +200,172 @@
 lldiv_t lldiv(long long __numerator, long long __denominator) __attribute_const__;
 
 /**
- * [getloadavg(3)](http://man7.org/linux/man-pages/man3/getloadavg.3.html) queries the
+ * [getloadavg(3)](https://man7.org/linux/man-pages/man3/getloadavg.3.html) queries the
  * number of runnable processes averaged over time. The Linux kernel supports averages
  * over the last 1, 5, and 15 minutes.
  *
  * Returns the number of samples written to `__averages` (at most 3), and returns -1 on failure.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(29)
 int getloadavg(double __averages[_Nonnull], int __n) __INTRODUCED_IN(29);
+#endif /* __BIONIC_AVAILABILITY_GUARD(29) */
+
 
 /* BSD compatibility. */
-const char* _Nullable getprogname(void) __INTRODUCED_IN(21);
-void setprogname(const char* _Nonnull __name) __INTRODUCED_IN(21);
+const char* _Nullable getprogname(void);
+void setprogname(const char* _Nonnull __name);
 
-int mblen(const char* _Nullable __s, size_t __n) __INTRODUCED_IN_NO_GUARD_FOR_NDK(26);
-size_t mbstowcs(wchar_t* _Nullable __dst, const char* _Nullable __src, size_t __n) __INTRODUCED_IN_NO_GUARD_FOR_NDK(21);
-int mbtowc(wchar_t* _Nullable __wc_ptr, const char*  _Nullable __s, size_t __n) __INTRODUCED_IN_NO_GUARD_FOR_NDK(21);
-int wctomb(char* _Nullable __dst, wchar_t __wc) __INTRODUCED_IN_NO_GUARD_FOR_NDK(21);
 
-size_t wcstombs(char* _Nullable __dst, const wchar_t* _Nullable __src, size_t __n) __INTRODUCED_IN_NO_GUARD_FOR_NDK(21);
+#if __BIONIC_AVAILABILITY_GUARD(26)
+int mblen(const char* _Nullable __s, size_t __n) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
 
-size_t __ctype_get_mb_cur_max(void) __INTRODUCED_IN(21);
+size_t mbstowcs(wchar_t* _Nullable __dst, const char* _Nullable __src, size_t __n);
+int mbtowc(wchar_t* _Nullable __wc_ptr, const char*  _Nullable __s, size_t __n);
+int wctomb(char* _Nullable __dst, wchar_t __wc);
+
+size_t wcstombs(char* _Nullable __dst, const wchar_t* _Nullable __src, size_t __n);
+
+size_t __ctype_get_mb_cur_max(void);
 #define MB_CUR_MAX __ctype_get_mb_cur_max()
 
 #if defined(__BIONIC_INCLUDE_FORTIFY_HEADERS)
 #include <bits/fortify/stdlib.h>
 #endif
 
-int abs(int __x) __attribute_const__ __INTRODUCED_IN(19);
-long labs(long __x) __attribute_const__ __INTRODUCED_IN(19);
-long long llabs(long long __x) __attribute_const__ __INTRODUCED_IN(19);
+int abs(int __x) __attribute_const__;
+long labs(long __x) __attribute_const__;
+long long llabs(long long __x) __attribute_const__;
 
-float strtof(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr) __INTRODUCED_IN(21);
-double atof(const char* _Nonnull __s) __attribute_pure__ __INTRODUCED_IN(21);
-int rand(void) __INTRODUCED_IN(21);
-void srand(unsigned int __seed) __INTRODUCED_IN(21);
-long random(void) __INTRODUCED_IN(21);
-void srandom(unsigned int __seed) __INTRODUCED_IN(21);
-int grantpt(int __fd) __INTRODUCED_IN(21);
+int rand(void);
+void srand(unsigned int __seed);
+long random(void);
+void srandom(unsigned int __seed);
+int grantpt(int __fd);
 
-long long strtoll_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base, locale_t _Nonnull __l) __INTRODUCED_IN(21);
-unsigned long long strtoull_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base, locale_t _Nonnull __l) __INTRODUCED_IN(21);
-long double strtold_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, locale_t _Nonnull __l) __INTRODUCED_IN(21);
+/**
+ * [atof(3)](https://man7.org/linux/man-pages/man3/atof.3.html) converts a
+ * string to a double.
+ *
+ * Returns the double; use strtof() or strtod() if you need to detect errors.
+ */
+double atof(const char* _Nonnull __s) __attribute_pure__;
+
+/**
+ * [atoi(3)](https://man7.org/linux/man-pages/man3/atoi.3.html) converts a
+ * string to an int.
+ *
+ * Returns the int or 0 on error; use strtol() if you need to detect errors.
+ */
+int atoi(const char* _Nonnull __s) __attribute_pure__;
+
+/**
+ * [atol(3)](https://man7.org/linux/man-pages/man3/atol.3.html) converts a
+ * string to a long.
+ *
+ * Returns the long or 0 on error; use strtol() if you need to detect errors.
+ */
+long atol(const char* _Nonnull __s) __attribute_pure__;
+
+/**
+ * [atoll(3)](https://man7.org/linux/man-pages/man3/atoll.3.html) converts a
+ * string to a long long.
+ *
+ * Returns the long long or 0 on error; use strtol() if you need to detect errors.
+ */
+long long atoll(const char* _Nonnull __s) __attribute_pure__;
+
+/**
+ * [strtol(3)](https://man7.org/linux/man-pages/man3/strtol.3.html) converts a
+ * string to a long.
+ *
+ * Returns the long.
+ * `__end_ptr` is set to the last character in `__s` that was converted.
+ * errno is set to ERANGE if the result overflowed or underflowed.
+ */
+long strtol(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base);
+
+/** Equivalent to strtol() on Android. */
+long strtol_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int, locale_t _Nonnull __l) __RENAME(strtol);
+
+/**
+ * [strtoll(3)](https://man7.org/linux/man-pages/man3/strtoll.3.html) converts a
+ * string to a long long.
+ *
+ * Returns the long long.
+ * `__end_ptr` is set to the last character in `__s` that was converted.
+ * errno is set to ERANGE if the result overflowed or underflowed.
+ */
+long long strtoll(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base);
+
+/** Equivalent to strtoll() on Android. */
+long long strtoll_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base, locale_t _Nonnull __l);
+
+/**
+ * [strtoul(3)](https://man7.org/linux/man-pages/man3/strtoul.3.html) converts a
+ * string to an unsigned long.
+ *
+ * Returns the unsigned long.
+ * `__end_ptr` is set to the last character in `__s` that was converted.
+ * errno is set to ERANGE if the result overflowed or underflowed.
+ */
+unsigned long strtoul(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base);
+
+/** Equivalent to strtoul() on Android. */
+unsigned long strtoul_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base, locale_t _Nonnull __l) __RENAME(strtoul);
+
+/**
+ * [strtoull(3)](https://man7.org/linux/man-pages/man3/strtoull.3.html) converts a
+ * string to an unsigned long long.
+ *
+ * Returns the unsigned long long.
+ * `__end_ptr` is set to the last character in `__s` that was converted.
+ * errno is set to ERANGE if the result overflowed or underflowed.
+ */
+unsigned long long strtoull(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base);
+
+/** Equivalent to strtoull() on Android. */
+unsigned long long strtoull_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int __base, locale_t _Nonnull __l);
+
+/**
+ * [strtof(3)](https://man7.org/linux/man-pages/man3/strtof.3.html) converts a
+ * string to a float.
+ *
+ * Returns the float.
+ * `__end_ptr` is set to the last character in `__s` that was converted.
+ * errno is set to ERANGE if the result overflowed or underflowed.
+ */
+float strtof(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr);
+
+/**
+ * [strtod(3)](https://man7.org/linux/man-pages/man3/strtod.3.html) converts a
+ * string to a double.
+ *
+ * Returns the double.
+ * `__end_ptr` is set to the last character in `__s` that was converted.
+ * errno is set to ERANGE if the result overflowed or underflowed.
+ */
+double strtod(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr);
+
+/**
+ * [strtold(3)](https://man7.org/linux/man-pages/man3/strtold.3.html) converts a
+ * string to a long double.
+ *
+ * Returns the long double.
+ * `__end_ptr` is set to the last character in `__s` that was converted.
+ * errno is set to ERANGE if the result overflowed or underflowed.
+ */
+long double strtold(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr);
+
+/** Equivalent to strtold() on Android. */
+long double strtold_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, locale_t _Nonnull __l);
 
 #if __ANDROID_API__ >= 26
+/** Equivalent to strtod() on Android. */
 double strtod_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, locale_t _Nonnull __l) __INTRODUCED_IN(26);
+/** Equivalent to strtof() on Android. */
 float strtof_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, locale_t _Nonnull __l) __INTRODUCED_IN(26);
-long strtol_l(const char* _Nonnull __s, char* _Nullable * _Nullable __end_ptr, int, locale_t _Nonnull __l) __INTRODUCED_IN(26);
 #else
 // Implemented as static inlines before 26.
 #endif
diff --git a/libc/include/string.h b/libc/include/string.h
index d6b2967..79aac91 100644
--- a/libc/include/string.h
+++ b/libc/include/string.h
@@ -37,7 +37,7 @@
 
 __BEGIN_DECLS
 
-#if defined(__USE_BSD)
+#if defined(__USE_BSD) || defined(__USE_GNU)
 #include <strings.h>
 #endif
 
@@ -52,12 +52,16 @@
 int memcmp(const void* _Nonnull __lhs, const void* _Nonnull __rhs, size_t __n) __attribute_pure__;
 void* _Nonnull memcpy(void* _Nonnull, const void* _Nonnull, size_t);
 #if defined(__USE_GNU)
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 void* _Nonnull mempcpy(void* _Nonnull __dst, const void* _Nonnull __src, size_t __n) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 #endif
 void* _Nonnull memmove(void* _Nonnull __dst, const void* _Nonnull __src, size_t __n);
 
 /**
- * [memset(3)](http://man7.org/linux/man-pages/man3/memset.3.html) writes the
+ * [memset(3)](https://man7.org/linux/man-pages/man3/memset.3.html) writes the
  * bottom 8 bits of the given int to the next `n` bytes of `dst`.
  *
  * Returns `dst`.
@@ -65,35 +69,47 @@
 void* _Nonnull memset(void* _Nonnull __dst, int __ch, size_t __n);
 
 /**
- * [memset_explicit(3)](http://man7.org/linux/man-pages/man3/memset_explicit.3.html)
+ * [memset_explicit(3)](https://man7.org/linux/man-pages/man3/memset_explicit.3.html)
  * writes the bottom 8 bits of the given int to the next `n` bytes of `dst`,
  * but won't be optimized out by the compiler.
  *
  * Returns `dst`.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(34)
 void* _Nonnull memset_explicit(void* _Nonnull __dst, int __ch, size_t __n) __INTRODUCED_IN(34);
+#endif /* __BIONIC_AVAILABILITY_GUARD(34) */
+
 
 void* _Nullable memmem(const void* _Nonnull __haystack, size_t __haystack_size, const void* _Nonnull __needle, size_t __needle_size) __attribute_pure__;
 
 char* _Nullable strchr(const char* _Nonnull __s, int __ch) __attribute_pure__;
-char* _Nullable __strchr_chk(const char* _Nonnull __s, int __ch, size_t __n) __INTRODUCED_IN(18);
+char* _Nullable __strchr_chk(const char* _Nonnull __s, int __ch, size_t __n);
 #if defined(__USE_GNU)
 #if defined(__cplusplus)
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
 extern "C++" char* _Nonnull strchrnul(char* _Nonnull __s, int __ch) __RENAME(strchrnul) __attribute_pure__ __INTRODUCED_IN(24);
 extern "C++" const char* _Nonnull strchrnul(const char* _Nonnull __s, int __ch) __RENAME(strchrnul) __attribute_pure__ __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
 #else
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
 char* _Nonnull strchrnul(const char* _Nonnull __s, int __ch) __attribute_pure__ __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
 #endif
 #endif
 
 char* _Nullable strrchr(const char* _Nonnull __s, int __ch) __attribute_pure__;
-char* _Nullable __strrchr_chk(const char* _Nonnull __s, int __ch, size_t __n) __INTRODUCED_IN(18);
+char* _Nullable __strrchr_chk(const char* _Nonnull __s, int __ch, size_t __n);
 
 size_t strlen(const char* _Nonnull __s) __attribute_pure__;
-size_t __strlen_chk(const char* _Nonnull __s, size_t __n) __INTRODUCED_IN(17);
+size_t __strlen_chk(const char* _Nonnull __s, size_t __n);
 
 int strcmp(const char* _Nonnull __lhs, const char* _Nonnull __rhs) __attribute_pure__;
-char* _Nonnull stpcpy(char* _Nonnull __dst, const char* _Nonnull __src) __INTRODUCED_IN(21);
+char* _Nonnull stpcpy(char* _Nonnull __dst, const char* _Nonnull __src);
 char* _Nonnull strcpy(char* _Nonnull __dst, const char* _Nonnull __src);
 char* _Nonnull strcat(char* _Nonnull __dst, const char* _Nonnull __src);
 char* _Nullable strdup(const char* _Nonnull __s);
@@ -108,19 +124,77 @@
 char* _Nullable strtok(char* _Nullable __s, const char* _Nonnull __delimiter);
 char* _Nullable strtok_r(char* _Nullable __s, const char* _Nonnull __delimiter, char* _Nonnull * _Nonnull __pos_ptr);
 
+/**
+ * [strerror(3)](https://man7.org/linux/man-pages/man3/strerror.3.html)
+ * returns a string describing the given errno value.
+ * `strerror(EINVAL)` would return "Invalid argument", for example.
+ *
+ * On Android, unknown errno values return a string such as "Unknown error 666".
+ * These unknown errno value strings live in thread-local storage, and are valid
+ * until the next call of strerror() on the same thread.
+ *
+ * Returns a pointer to a string.
+ */
 char* _Nonnull strerror(int __errno_value);
-char* _Nonnull strerror_l(int __errno_value, locale_t _Nonnull __l) __INTRODUCED_IN(23);
+
+/**
+ * Equivalent to strerror() on Android where only C/POSIX locales are available.
+ */
+char* _Nonnull strerror_l(int __errno_value, locale_t _Nonnull __l) __RENAME(strerror);
+
+/**
+ * [strerror_r(3)](https://man7.org/linux/man-pages/man3/strerror_r.3.html)
+ * writes a string describing the given errno value into the given buffer.
+ *
+ * There are two variants of this function, POSIX and GNU.
+ * The GNU variant returns a pointer to the buffer.
+ * The POSIX variant returns 0 on success or an errno value on failure.
+ *
+ * The GNU variant is available since API level 23 if `_GNU_SOURCE` is defined.
+ * The POSIX variant is available otherwise.
+ */
 #if defined(__USE_GNU) && __ANDROID_API__ >= 23
 char* _Nonnull strerror_r(int __errno_value, char* _Nullable __buf, size_t __n) __RENAME(__gnu_strerror_r) __INTRODUCED_IN(23);
 #else /* POSIX */
 int strerror_r(int __errno_value, char* _Nonnull __buf, size_t __n);
 #endif
 
+/**
+ * [strerrorname_np(3)](https://man7.org/linux/man-pages/man3/strerrordesc_np.3.html)
+ * returns the name of the errno constant corresponding to its argument.
+ * `strerrorname_np(38)` would return "ENOSYS", because `ENOSYS` is errno 38. This
+ * is mostly useful for error reporting in cases where a string like "ENOSYS" is
+ * more readable than a string like "Function not implemented", which would be
+ * returned by strerror().
+ *
+ * Returns a pointer to a string, or null for unknown errno values.
+ *
+ * Available since API level 35.
+ */
+#if defined(__USE_GNU)
+
+#if __BIONIC_AVAILABILITY_GUARD(35)
+const char* _Nullable strerrorname_np(int __errno_value) __INTRODUCED_IN(35);
+#endif /* __BIONIC_AVAILABILITY_GUARD(35) */
+
+#endif
+
+/**
+ * [strerrordesc_np(3)](https://man7.org/linux/man-pages/man3/strerrordesc_np.3.html)
+ * is like strerror() but without localization. Since Android's strerror()
+ * does not localize, this is the same as strerror() on Android.
+ *
+ * Returns a pointer to a string.
+ */
+#if defined(__USE_GNU)
+const char* _Nonnull strerrordesc_np(int __errno_value) __RENAME(strerror);
+#endif
+
 size_t strnlen(const char* _Nonnull __s, size_t __n) __attribute_pure__;
 char* _Nonnull strncat(char* _Nonnull __dst, const char* _Nonnull __src, size_t __n);
 char* _Nullable strndup(const char* _Nonnull __s, size_t __n);
 int strncmp(const char* _Nonnull __lhs, const char* _Nonnull __rhs, size_t __n) __attribute_pure__;
-char* _Nonnull stpncpy(char* _Nonnull __dst, const char* _Nonnull __src, size_t __n) __INTRODUCED_IN(21);
+char* _Nonnull stpncpy(char* _Nonnull __dst, const char* _Nonnull __src, size_t __n);
 char* _Nonnull strncpy(char* _Nonnull __dst, const char* _Nonnull __src, size_t __n);
 
 size_t strlcat(char* _Nonnull __dst, const char* _Nonnull __src, size_t __n);
@@ -136,8 +210,8 @@
 int strcoll(const char* _Nonnull __lhs, const char* _Nonnull __rhs) __attribute_pure__;
 size_t strxfrm(char* __BIONIC_COMPLICATED_NULLNESS __dst, const char* _Nonnull __src, size_t __n);
 
-int strcoll_l(const char* _Nonnull __lhs, const char* _Nonnull __rhs, locale_t _Nonnull __l) __attribute_pure__ __INTRODUCED_IN(21);
-size_t strxfrm_l(char* __BIONIC_COMPLICATED_NULLNESS __dst, const char* _Nonnull __src, size_t __n, locale_t _Nonnull __l) __INTRODUCED_IN(21);
+int strcoll_l(const char* _Nonnull __lhs, const char* _Nonnull __rhs, locale_t _Nonnull __l) __attribute_pure__;
+size_t strxfrm_l(char* __BIONIC_COMPLICATED_NULLNESS __dst, const char* _Nonnull __src, size_t __n, locale_t _Nonnull __l);
 
 #if defined(__USE_GNU) && !defined(basename)
 /*
@@ -145,10 +219,18 @@
  * It doesn't modify its argument, and in C++ it's const-correct.
  */
 #if defined(__cplusplus)
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 extern "C++" char* _Nonnull basename(char* _Nullable __path) __RENAME(__gnu_basename) __INTRODUCED_IN(23);
 extern "C++" const char* _Nonnull basename(const char* _Nonnull __path) __RENAME(__gnu_basename) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 #else
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 char* _Nonnull basename(const char* _Nonnull __path) __RENAME(__gnu_basename) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 #endif
 #endif
 
@@ -158,11 +240,10 @@
 
 /* Const-correct overloads. Placed after FORTIFY so we call those functions, if possible. */
 #if defined(__cplusplus)
-/*
- * Use two enable_ifs so these overloads don't conflict with + are preferred over libcxx's. This can
- * be reduced to 1 after libcxx recognizes that we have const-correct overloads.
- */
-#define __prefer_this_overload __enable_if(true, "preferred overload") __enable_if(true, "")
+/* libcxx tries to provide these. Suppress that, since libcxx's impl doesn't respect FORTIFY. */
+#define __CORRECT_ISO_CPP_STRING_H_PROTO
+/* Used to make these preferable over regular <string.h> signatures for overload resolution. */
+#define __prefer_this_overload __enable_if(true, "")
 extern "C++" {
 inline __always_inline
 void* _Nullable __bionic_memchr(const void* _Nonnull const s __pass_object_size, int c, size_t n) {
diff --git a/libc/include/strings.h b/libc/include/strings.h
index 2f4f764..7543edc 100644
--- a/libc/include/strings.h
+++ b/libc/include/strings.h
@@ -43,8 +43,9 @@
  * @brief Extra string functions.
  */
 
-#include <sys/types.h>
 #include <sys/cdefs.h>
+
+#include <sys/types.h>
 #include <xlocale.h>
 
 #include <bits/strcasecmp.h>
@@ -61,18 +62,18 @@
 
 /** Deprecated. Use memmove() instead. */
 #define bcopy(b1, b2, len) __bionic_bcopy((b1), (b2), (len))
-static __inline__ __always_inline void __bionic_bcopy(const void* _Nonnull b1, void* _Nonnull b2, size_t len) {
+static __inline __always_inline void __bionic_bcopy(const void* _Nonnull b1, void* _Nonnull b2, size_t len) {
   __builtin_memmove(b2, b1, len);
 }
 
 /** Deprecated. Use memset() instead. */
 #define bzero(b, len) __bionic_bzero((b), (len))
-static __inline__ __always_inline void __bionic_bzero(void* _Nonnull b, size_t len) {
+static __inline __always_inline void __bionic_bzero(void* _Nonnull b, size_t len) {
   __builtin_memset(b, 0, len);
 }
 
 /**
- * [ffs(3)](http://man7.org/linux/man-pages/man3/ffs.3.html) finds the
+ * [ffs(3)](https://man7.org/linux/man-pages/man3/ffs.3.html) finds the
  * first set bit in `__n`.
  *
  * Returns 0 if no bit is set, or the index of the lowest set bit (counting
@@ -83,7 +84,7 @@
 }
 
 /**
- * [ffsl(3)](http://man7.org/linux/man-pages/man3/ffsl.3.html) finds the
+ * [ffsl(3)](https://man7.org/linux/man-pages/man3/ffsl.3.html) finds the
  * first set bit in `__n`.
  *
  * Returns 0 if no bit is set, or the index of the lowest set bit (counting
@@ -94,7 +95,7 @@
 }
 
 /**
- * [ffsll(3)](http://man7.org/linux/man-pages/man3/ffsll.3.html) finds the
+ * [ffsll(3)](https://man7.org/linux/man-pages/man3/ffsll.3.html) finds the
  * first set bit in `__n`.
  *
  * Returns 0 if no bit is set, or the index of the lowest set bit (counting
diff --git a/libc/include/sys/_system_properties.h b/libc/include/sys/_system_properties.h
index 744a45b..12cafec 100644
--- a/libc/include/sys/_system_properties.h
+++ b/libc/include/sys/_system_properties.h
@@ -1,137 +1 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifndef _INCLUDE_SYS__SYSTEM_PROPERTIES_H
-#define _INCLUDE_SYS__SYSTEM_PROPERTIES_H
-
-#include <sys/cdefs.h>
-#include <stdint.h>
-
-#ifndef _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
-#error you should #include <sys/system_properties.h> instead
-#endif
-
 #include <sys/system_properties.h>
-
-__BEGIN_DECLS
-
-#define PROP_SERVICE_NAME "property_service"
-#define PROP_FILENAME "/dev/__properties__"
-
-#define PROP_MSG_SETPROP 1
-#define PROP_MSG_SETPROP2 0x00020001
-
-#define PROP_SUCCESS 0
-#define PROP_ERROR_READ_CMD 0x0004
-#define PROP_ERROR_READ_DATA 0x0008
-#define PROP_ERROR_READ_ONLY_PROPERTY 0x000B
-#define PROP_ERROR_INVALID_NAME 0x0010
-#define PROP_ERROR_INVALID_VALUE 0x0014
-#define PROP_ERROR_PERMISSION_DENIED 0x0018
-#define PROP_ERROR_INVALID_CMD 0x001B
-#define PROP_ERROR_HANDLE_CONTROL_MESSAGE 0x0020
-#define PROP_ERROR_SET_FAILED 0x0024
-
-/*
-** This was previously for testing, but now that SystemProperties is its own testable class,
-** there is never a reason to call this function and its implementation simply returns -1.
-*/
-int __system_property_set_filename(const char* __filename);
-
-/*
-** Initialize the area to be used to store properties.  Can
-** only be done by a single process that has write access to
-** the property area.
-*/
-int __system_property_area_init(void);
-
-/* Read the global serial number of the system properties
-**
-** Called to predict if a series of cached __system_property_find
-** objects will have seen __system_property_serial values change.
-** But also aids the converse, as changes in the global serial can
-** also be used to predict if a failed __system_property_find
-** could in-turn now find a new object; thus preventing the
-** cycles of effort to poll __system_property_find.
-**
-** Typically called at beginning of a cache cycle to signal if _any_ possible
-** changes have occurred since last. If there is, one may check each individual
-** __system_property_serial to confirm dirty, or __system_property_find
-** to check if the property now exists. If a call to __system_property_add
-** or __system_property_update has completed between two calls to
-** __system_property_area_serial then the second call will return a larger
-** value than the first call. Beware of race conditions as changes to the
-** properties are not atomic, the main value of this call is to determine
-** whether the expensive __system_property_find is worth retrying to see if
-** a property now exists.
-**
-** Returns the serial number on success, -1 on error.
-*/
-uint32_t __system_property_area_serial(void);
-
-/* Add a new system property.  Can only be done by a single
-** process that has write access to the property area, and
-** that process must handle sequencing to ensure the property
-** does not already exist and that only one property is added
-** or updated at a time.
-**
-** Returns 0 on success, -1 if the property area is full.
-*/
-int __system_property_add(const char* __name, unsigned int __name_length, const char* __value, unsigned int __value_length);
-
-/* Update the value of a system property returned by
-** __system_property_find.  Can only be done by a single process
-** that has write access to the property area, and that process
-** must handle sequencing to ensure that only one property is
-** updated at a time.
-**
-** Returns 0 on success, -1 if the parameters are incorrect.
-*/
-int __system_property_update(prop_info* __pi, const char* __value, unsigned int __value_length);
-
-/* Read the serial number of a system property returned by
-** __system_property_find.
-**
-** Returns the serial number on success, -1 on error.
-*/
-uint32_t __system_property_serial(const prop_info* __pi);
-
-/* Initialize the system properties area in read only mode.
- * Should be done by all processes that need to read system
- * properties.
- *
- * Returns 0 on success, -1 otherwise.
- */
-int __system_properties_init(void);
-
-/* Deprecated: use __system_property_wait instead. */
-uint32_t __system_property_wait_any(uint32_t __old_serial);
-
-__END_DECLS
-
-#endif
diff --git a/libc/include/sys/auxv.h b/libc/include/sys/auxv.h
index bf70dda..732f944 100644
--- a/libc/include/sys/auxv.h
+++ b/libc/include/sys/auxv.h
@@ -40,14 +40,12 @@
 __BEGIN_DECLS
 
 /**
- * [getauxval(3)](http://man7.org/linux/man-pages/man3/getauxval.3.html) returns values from
+ * [getauxval(3)](https://man7.org/linux/man-pages/man3/getauxval.3.html) returns values from
  * the ELF auxiliary vector passed by the kernel.
  *
  * Returns the corresponding value on success,
  * and returns 0 and sets `errno` to `ENOENT` on failure.
- *
- * Available since API level 18.
  */
-unsigned long int getauxval(unsigned long int __type) __INTRODUCED_IN(18);
+unsigned long int getauxval(unsigned long int __type);
 
 __END_DECLS
diff --git a/libc/include/sys/cachectl.h b/libc/include/sys/cachectl.h
index 5ec295d..d06d683 100644
--- a/libc/include/sys/cachectl.h
+++ b/libc/include/sys/cachectl.h
@@ -28,6 +28,32 @@
 
 #pragma once
 
+/*
+ * @file sys/cachectl.h
+ * @brief Architecture-specific cache control.
+ */
+
 #include <sys/cdefs.h>
 
-/* This header file is obsolete. */
+__BEGIN_DECLS
+
+#if defined(__riscv)
+
+/**
+ * Flag for __riscv_flush_icache() to indicate that only the current
+ * thread's instruction cache needs to be flushed (rather than the
+ * default of all threads).
+ */
+#define SYS_RISCV_FLUSH_ICACHE_LOCAL 1UL
+
+/**
+ * __riscv_flush_icache(2) flushes the instruction cache for the given range of addresses.
+ * The address range is currently (Linux 6.12) ignored, so both pointers may be null.
+ *
+ * Returns 0 on success, and returns -1 and sets `errno` on failure.
+ */
+int __riscv_flush_icache(void* _Nullable __start, void* _Nullable __end, unsigned long __flags);
+
+#endif
+
+__END_DECLS
diff --git a/libc/include/sys/capability.h b/libc/include/sys/capability.h
index b43bbf0..3d1d896 100644
--- a/libc/include/sys/capability.h
+++ b/libc/include/sys/capability.h
@@ -39,7 +39,7 @@
 __BEGIN_DECLS
 
 /**
- * [capget(2)](http://man7.org/linux/man-pages/man2/capget.2.html) gets the calling
+ * [capget(2)](https://man7.org/linux/man-pages/man2/capget.2.html) gets the calling
  * thread's capabilities.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
@@ -47,7 +47,7 @@
 int capget(cap_user_header_t _Nonnull __hdr_ptr, cap_user_data_t _Nullable __data_ptr);
 
 /**
- * [capset(2)](http://man7.org/linux/man-pages/man2/capset.2.html) sets the calling
+ * [capset(2)](https://man7.org/linux/man-pages/man2/capset.2.html) sets the calling
  * thread's capabilities.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
diff --git a/libc/include/sys/cdefs.h b/libc/include/sys/cdefs.h
index 484757e..9bd35bb 100644
--- a/libc/include/sys/cdefs.h
+++ b/libc/include/sys/cdefs.h
@@ -38,7 +38,7 @@
 
 /**
  * `__BIONIC__` is always defined if you're building with bionic. See
- * https://android.googlesource.com/platform/bionic/+/master/docs/defines.md.
+ * https://android.googlesource.com/platform/bionic/+/main/docs/defines.md.
  */
 #define __BIONIC__ 1
 
@@ -87,9 +87,12 @@
 #define	__STRING(x)	#x
 #define	___STRING(x)	__STRING(x)
 
-#if defined(__cplusplus)
-#define	__inline	inline		/* convert to C++ keyword */
-#endif /* !__cplusplus */
+// C++ has `inline` as a keyword, as does C99, but ANSI C (aka C89 aka C90)
+// does not. Everything accepts the `__inline__` extension though. We could
+// just use that directly in our own code, but there's historical precedent
+// for `__inline` meaning it's still used in upstream BSD code (and potentially
+// downstream in vendor or app code).
+#define	__inline __inline__
 
 #define __always_inline __attribute__((__always_inline__))
 #define __attribute_const__ __attribute__((__const__))
@@ -137,14 +140,15 @@
 #define	__predict_true(exp)	__builtin_expect((exp) != 0, 1)
 #define	__predict_false(exp)	__builtin_expect((exp) != 0, 0)
 
-#define __wur __attribute__((__warn_unused_result__))
+#define __nodiscard __attribute__((__warn_unused_result__))
+#define __wur __nodiscard
 
-#define __errorattr(msg) __attribute__((unavailable(msg)))
-#define __warnattr(msg) __attribute__((deprecated(msg)))
-#define __warnattr_real(msg) __attribute__((deprecated(msg)))
-#define __enable_if(cond, msg) __attribute__((enable_if(cond, msg)))
-#define __clang_error_if(cond, msg) __attribute__((diagnose_if(cond, msg, "error")))
-#define __clang_warning_if(cond, msg) __attribute__((diagnose_if(cond, msg, "warning")))
+#define __errorattr(msg) __attribute__((__unavailable__(msg)))
+#define __warnattr(msg) __attribute__((__deprecated__(msg)))
+#define __warnattr_real(msg) __attribute__((__deprecated__(msg)))
+#define __enable_if(cond, msg) __attribute__((__enable_if__(cond, msg)))
+#define __clang_error_if(cond, msg) __attribute__((__diagnose_if__(cond, msg, "error")))
+#define __clang_warning_if(cond, msg) __attribute__((__diagnose_if__(cond, msg, "warning")))
 
 #if defined(ANDROID_STRICT)
 /*
@@ -187,7 +191,7 @@
 
 /*
  * _FILE_OFFSET_BITS 64 support.
- * See https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md
+ * See https://android.googlesource.com/platform/bionic/+/main/docs/32-bit-abi.md
  */
 #if !defined(__LP64__) && defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64
 #  define __USE_FILE_OFFSET64 1
@@ -201,39 +205,6 @@
 #  define __RENAME_IF_FILE_OFFSET64(func)
 #endif
 
-/*
- * For LP32, `long double` == `double`. Historically many `long double` functions were incorrect
- * on x86, missing on most architectures, and even if they are present and correct, linking to
- * them just bloats your ELF file by adding extra relocations. The __BIONIC_LP32_USE_LONG_DOUBLE
- * macro lets us test the headers both ways (and adds an escape valve).
- *
- * Note that some functions have their __RENAME_LDBL commented out as a sign that although we could
- * use __RENAME_LDBL it would actually cause the function to be introduced later because the
- * `long double` variant appeared before the `double` variant.
- *
- * The _NO_GUARD_FOR_NDK variants keep the __VERSIONER_NO_GUARD behavior working for the NDK. This
- * allows libc++ to refer to these functions in inlines without needing to guard them, needed since
- * libc++ doesn't currently guard these calls. There's no risk to the apps though because using
- * those APIs will still cause a link error.
- */
-#if defined(__LP64__) || defined(__BIONIC_LP32_USE_LONG_DOUBLE)
-#define __RENAME_LDBL(rewrite,rewrite_api_level,regular_api_level) __INTRODUCED_IN(regular_api_level)
-#define __RENAME_LDBL_NO_GUARD_FOR_NDK(rewrite,rewrite_api_level,regular_api_level) __INTRODUCED_IN_NO_GUARD_FOR_NDK(regular_api_level)
-#else
-#define __RENAME_LDBL(rewrite,rewrite_api_level,regular_api_level) __RENAME(rewrite) __INTRODUCED_IN(rewrite_api_level)
-#define __RENAME_LDBL_NO_GUARD_FOR_NDK(rewrite,rewrite_api_level,regular_api_level) __RENAME(rewrite) __INTRODUCED_IN_NO_GUARD_FOR_NDK(rewrite_api_level)
-#endif
-
-/*
- * On all architectures, `struct stat` == `struct stat64`, but LP32 didn't gain the *64 functions
- * until API level 21.
- */
-#if defined(__LP64__) || defined(__BIONIC_LP32_USE_STAT64)
-#define __RENAME_STAT64(rewrite,rewrite_api_level,regular_api_level) __INTRODUCED_IN(regular_api_level)
-#else
-#define __RENAME_STAT64(rewrite,rewrite_api_level,regular_api_level) __RENAME(rewrite) __INTRODUCED_IN(rewrite_api_level)
-#endif
-
 /* glibc compatibility. */
 #if defined(__LP64__)
 #define __WORDSIZE 64
@@ -281,7 +252,7 @@
 
 #if defined(__BIONIC_FORTIFY)
 #  define __bos0(s) __bosn((s), 0)
-#  define __pass_object_size_n(n) __attribute__((pass_object_size(n)))
+#  define __pass_object_size_n(n) __attribute__((__pass_object_size__(n)))
 /*
  * FORTIFY'ed functions all have either enable_if or pass_object_size, which
  * makes taking their address impossible. Saying (&read)(foo, bar, baz); will
@@ -293,17 +264,17 @@
  * them available externally. FORTIFY'ed functions try to be as close to possible as 'invisible';
  * having stack protectors detracts from that (b/182948263).
  */
-#  define __BIONIC_FORTIFY_INLINE static __inline__ __attribute__((no_stack_protector)) \
-      __always_inline __VERSIONER_FORTIFY_INLINE
+#  define __BIONIC_FORTIFY_INLINE static __inline __attribute__((__no_stack_protector__)) \
+      __always_inline
 /*
  * We should use __BIONIC_FORTIFY_VARIADIC instead of __BIONIC_FORTIFY_INLINE
  * for variadic functions because compilers cannot inline them.
  * The __always_inline attribute is useless, misleading, and could trigger
  * clang compiler bug to incorrectly inline variadic functions.
  */
-#  define __BIONIC_FORTIFY_VARIADIC static __inline__
+#  define __BIONIC_FORTIFY_VARIADIC static __inline
 /* Error functions don't have bodies, so they can just be static. */
-#  define __BIONIC_ERROR_FUNCTION_VISIBILITY static __attribute__((unused))
+#  define __BIONIC_ERROR_FUNCTION_VISIBILITY static __unused
 #else
 /* Further increase sharing for some inline functions */
 #  define __pass_object_size_n(n)
@@ -333,47 +304,32 @@
 #  define __BIONIC_INCLUDE_FORTIFY_HEADERS 1
 #endif
 
-#define __overloadable __attribute__((overloadable))
+#define __overloadable __attribute__((__overloadable__))
 
-#define __diagnose_as_builtin(...) __attribute__((diagnose_as_builtin(__VA_ARGS__)))
+#define __diagnose_as_builtin(...) __attribute__((__diagnose_as_builtin__(__VA_ARGS__)))
 
 /* Used to tag non-static symbols that are private and never exposed by the shared library. */
-#define __LIBC_HIDDEN__ __attribute__((visibility("hidden")))
+#define __LIBC_HIDDEN__ __attribute__((__visibility__("hidden")))
 
 /*
  * Used to tag symbols that should be hidden for 64-bit,
  * but visible to preserve binary compatibility for LP32.
  */
 #ifdef __LP64__
-#define __LIBC32_LEGACY_PUBLIC__ __attribute__((visibility("hidden")))
+#define __LIBC32_LEGACY_PUBLIC__ __attribute__((__visibility__("hidden")))
 #else
-#define __LIBC32_LEGACY_PUBLIC__ __attribute__((visibility("default")))
+#define __LIBC32_LEGACY_PUBLIC__ __attribute__((__visibility__("default")))
 #endif
 
 /* Used to rename functions so that the compiler emits a call to 'x' rather than the function this was applied to. */
 #define __RENAME(x) __asm__(#x)
 
-#if __has_builtin(__builtin_umul_overflow) || __GNUC__ >= 5
-#if defined(__LP64__)
-#define __size_mul_overflow(a, b, result) __builtin_umull_overflow(a, b, result)
-#else
-#define __size_mul_overflow(a, b, result) __builtin_umul_overflow(a, b, result)
-#endif
-#else
-extern __inline__ __always_inline __attribute__((gnu_inline))
-int __size_mul_overflow(__SIZE_TYPE__ a, __SIZE_TYPE__ b, __SIZE_TYPE__ *result) {
-    *result = a * b;
-    static const __SIZE_TYPE__ mul_no_overflow = 1UL << (sizeof(__SIZE_TYPE__) * 4);
-    return (a >= mul_no_overflow || b >= mul_no_overflow) && a > 0 && (__SIZE_TYPE__)-1 / a < b;
-}
-#endif
-
 /*
  * Used when we need to check for overflow when multiplying x and y. This
- * should only be used where __size_mul_overflow can not work, because it makes
- * assumptions that __size_mul_overflow doesn't (x and y are positive, ...),
+ * should only be used where __builtin_umull_overflow can not work, because it makes
+ * assumptions that __builtin_umull_overflow doesn't (x and y are positive, ...),
  * *and* doesn't make use of compiler intrinsics, so it's probably slower than
- * __size_mul_overflow.
+ * __builtin_umull_overflow.
  */
 #define __unsafe_check_mul_overflow(x, y) ((__SIZE_TYPE__)-1 / (x) < (y))
 
diff --git a/libc/include/sys/endian.h b/libc/include/sys/endian.h
index 9155b4c..1c7448c 100644
--- a/libc/include/sys/endian.h
+++ b/libc/include/sys/endian.h
@@ -49,10 +49,10 @@
 
 /* glibc compatibility. */
 __BEGIN_DECLS
-uint32_t htonl(uint32_t __x) __attribute_const__ __INTRODUCED_IN(21);
-uint16_t htons(uint16_t __x) __attribute_const__ __INTRODUCED_IN(21);
-uint32_t ntohl(uint32_t __x) __attribute_const__ __INTRODUCED_IN(21);
-uint16_t ntohs(uint16_t __x) __attribute_const__ __INTRODUCED_IN(21);
+uint32_t htonl(uint32_t __x) __attribute_const__;
+uint16_t htons(uint16_t __x) __attribute_const__;
+uint32_t ntohl(uint32_t __x) __attribute_const__;
+uint16_t ntohs(uint16_t __x) __attribute_const__;
 __END_DECLS
 
 #define htonl(x) __swap32(x)
diff --git a/libc/include/sys/epoll.h b/libc/include/sys/epoll.h
index 9e09408..bec7c64 100644
--- a/libc/include/sys/epoll.h
+++ b/libc/include/sys/epoll.h
@@ -26,8 +26,12 @@
  * SUCH DAMAGE.
  */
 
-#ifndef _SYS_EPOLL_H_
-#define _SYS_EPOLL_H_
+#pragma once
+
+/**
+ * @file sys/epoll.h
+ * @brief I/O event file descriptors.
+ */
 
 #include <sys/cdefs.h>
 #include <sys/types.h>
@@ -37,14 +41,75 @@
 
 __BEGIN_DECLS
 
+/**
+ * [epoll_create(2)](https://man7.org/linux/man-pages/man2/epoll_create.2.html)
+ * creates a new [epoll](https://man7.org/linux/man-pages/man7/epoll.7.html)
+ * file descriptor.
+ *
+ * Returns a new file descriptor on success and returns -1 and sets `errno` on
+ * failure.
+ */
 int epoll_create(int __size);
-int epoll_create1(int __flags) __INTRODUCED_IN(21);
 
+/**
+ * [epoll_create1(2)](https://man7.org/linux/man-pages/man2/epoll_create1.2.html)
+ * creates a new [epoll](https://man7.org/linux/man-pages/man7/epoll.7.html)
+ * file descriptor with the given flags.
+ *
+ * Returns a new file descriptor on success and returns -1 and sets `errno` on
+ * failure.
+ */
+int epoll_create1(int __flags);
+
+/**
+ * [epoll_ctl(2)](https://man7.org/linux/man-pages/man2/epoll_ctl.2.html)
+ * adds/modifies/removes file descriptors from the given epoll file descriptor.
+ *
+ * Returns 0 on success and returns -1 and sets `errno` on failure.
+ */
 int epoll_ctl(int __epoll_fd, int __op, int __fd, struct epoll_event* __BIONIC_COMPLICATED_NULLNESS __event);
+
+/**
+ * [epoll_wait(2)](https://man7.org/linux/man-pages/man2/epoll_wait.2.html)
+ * waits for an event on the given epoll file descriptor.
+ *
+ * Returns the number of ready file descriptors on success, 0 on timeout,
+ * or -1 and sets `errno` on failure.
+ */
 int epoll_wait(int __epoll_fd, struct epoll_event* _Nonnull __events, int __event_count, int __timeout_ms);
-int epoll_pwait(int __epoll_fd, struct epoll_event* _Nonnull __events, int __event_count, int __timeout_ms, const sigset_t* _Nullable __mask) __INTRODUCED_IN(21);
+
+/**
+ * Like epoll_wait() but atomically applying the given signal mask.
+ */
+int epoll_pwait(int __epoll_fd, struct epoll_event* _Nonnull __events, int __event_count, int __timeout_ms, const sigset_t* _Nullable __mask);
+
+/**
+ * Like epoll_pwait() but using a 64-bit signal mask even on 32-bit systems.
+ *
+ * Available since API level 28.
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int epoll_pwait64(int __epoll_fd, struct epoll_event* _Nonnull __events, int __event_count, int __timeout_ms, const sigset64_t* _Nullable __mask) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
+
+/**
+ * Like epoll_pwait() but with a `struct timespec` timeout, for nanosecond resolution.
+ *
+ * Available since API level 35.
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(35)
+int epoll_pwait2(int __epoll_fd, struct epoll_event* _Nonnull __events, int __event_count, const struct timespec* _Nullable __timeout, const sigset_t* _Nullable __mask) __INTRODUCED_IN(35);
+
+/**
+ * Like epoll_pwait2() but using a 64-bit signal mask even on 32-bit systems.
+ *
+ * Available since API level 35.
+ */
+int epoll_pwait2_64(int __epoll_fd, struct epoll_event* _Nonnull __events, int __event_count, const struct timespec* _Nullable __timeout, const sigset64_t* _Nullable __mask) __INTRODUCED_IN(35);
+#endif /* __BIONIC_AVAILABILITY_GUARD(35) */
+
 
 __END_DECLS
-
-#endif
diff --git a/libc/include/sys/eventfd.h b/libc/include/sys/eventfd.h
index 1ad11e3..3000737 100644
--- a/libc/include/sys/eventfd.h
+++ b/libc/include/sys/eventfd.h
@@ -35,18 +35,22 @@
 
 #include <sys/cdefs.h>
 #include <fcntl.h>
+#include <linux/eventfd.h>
 
 __BEGIN_DECLS
 
-/** The eventfd() flag to provide semaphore-like semantics for reads. */
-#define EFD_SEMAPHORE (1 << 0)
-/** The eventfd() flag for a close-on-exec file descriptor. */
-#define EFD_CLOEXEC O_CLOEXEC
-/** The eventfd() flag for a non-blocking file descriptor. */
-#define EFD_NONBLOCK O_NONBLOCK
+/*! \macro EFD_SEMAPHORE
+ * The eventfd() flag to provide semaphore-like semantics for reads.
+ */
+/*! \macro EFD_CLOEXEC
+ * The eventfd() flag for a close-on-exec file descriptor.
+ */
+/*! \macro EFD_NONBLOCK
+ * The eventfd() flag for a non-blocking file descriptor.
+ */
 
 /**
- * [eventfd(2)](http://man7.org/linux/man-pages/man2/eventfd.2.html) creates a file descriptor
+ * [eventfd(2)](https://man7.org/linux/man-pages/man2/eventfd.2.html) creates a file descriptor
  * for event notification.
  *
  * Returns a new file descriptor on success, and returns -1 and sets `errno` on failure.
@@ -57,7 +61,7 @@
 typedef uint64_t eventfd_t;
 
 /**
- * [eventfd_read(3)](http://man7.org/linux/man-pages/man2/eventfd.2.html) is a convenience
+ * [eventfd_read(3)](https://man7.org/linux/man-pages/man2/eventfd.2.html) is a convenience
  * wrapper to read an `eventfd_t` from an eventfd file descriptor.
  *
  * Returns 0 on success, or returns -1 otherwise.
@@ -65,7 +69,7 @@
 int eventfd_read(int __fd, eventfd_t* _Nonnull __value);
 
 /**
- * [eventfd_write(3)](http://man7.org/linux/man-pages/man2/eventfd.2.html) is a convenience
+ * [eventfd_write(3)](https://man7.org/linux/man-pages/man2/eventfd.2.html) is a convenience
  * wrapper to write an `eventfd_t` to an eventfd file descriptor.
  *
  * Returns 0 on success, or returns -1 otherwise.
diff --git a/libc/include/sys/file.h b/libc/include/sys/file.h
index ccdfeea..45117fa 100644
--- a/libc/include/sys/file.h
+++ b/libc/include/sys/file.h
@@ -41,7 +41,7 @@
 __BEGIN_DECLS
 
 /**
- * [flock(2)](http://man7.org/linux/man-pages/man2/flock.2.html) performs
+ * [flock(2)](https://man7.org/linux/man-pages/man2/flock.2.html) performs
  * advisory file lock operations.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
diff --git a/libc/include/sys/fsuid.h b/libc/include/sys/fsuid.h
index c1c8ebb..eeb5783 100644
--- a/libc/include/sys/fsuid.h
+++ b/libc/include/sys/fsuid.h
@@ -39,23 +39,19 @@
 __BEGIN_DECLS
 
 /**
- * [setfsuid(2)](http://man7.org/linux/man-pages/man2/setfsuid.2.html) sets the UID used for
+ * [setfsuid(2)](https://man7.org/linux/man-pages/man2/setfsuid.2.html) sets the UID used for
  * filesystem checks.
  *
  * Returns the previous UID.
- *
- * Available since API level 21.
  */
-int setfsuid(uid_t __uid) __INTRODUCED_IN(21);
+int setfsuid(uid_t __uid);
 
 /**
- * [setfsgid(2)](http://man7.org/linux/man-pages/man2/setfsgid.2.html) sets the GID used for
+ * [setfsgid(2)](https://man7.org/linux/man-pages/man2/setfsgid.2.html) sets the GID used for
  * filesystem checks.
  *
  * Returns the previous GID.
- *
- * Available since API level 21.
  */
-int setfsgid(gid_t __gid) __INTRODUCED_IN(21);
+int setfsgid(gid_t __gid);
 
 __END_DECLS
diff --git a/libc/include/sys/hwprobe.h b/libc/include/sys/hwprobe.h
new file mode 100644
index 0000000..8e69e8a
--- /dev/null
+++ b/libc/include/sys/hwprobe.h
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if __riscv
+
+/**
+ * @file sys/hwprobe.h
+ * @brief RISC-V hardware probing.
+ */
+
+#include <sys/cdefs.h>
+#include <sys/types.h>
+
+/* Pull in struct riscv_hwprobe and corresponding constants. */
+#include <asm/hwprobe.h>
+
+__BEGIN_DECLS
+
+/**
+ * [__riscv_hwprobe(2)](https://docs.kernel.org/riscv/hwprobe.html)
+ * queries hardware characteristics.
+ *
+ * A `__cpu_count` of 0 and null `__cpus` means "all online cpus".
+ *
+ * Returns 0 on success and returns an error number on failure.
+ */
+int __riscv_hwprobe(struct riscv_hwprobe* _Nonnull __pairs, size_t __pair_count, size_t __cpu_count, unsigned long* _Nullable __cpus, unsigned __flags);
+
+/**
+ * The type of the second argument passed to riscv64 ifunc resolvers.
+ * This argument allows riscv64 ifunc resolvers to call __riscv_hwprobe()
+ * without worrying about whether that relocation is resolved before
+ * the ifunc resolver is called.
+ */
+typedef int (*__riscv_hwprobe_t)(struct riscv_hwprobe* _Nonnull __pairs, size_t __pair_count, size_t __cpu_count, unsigned long* _Nullable __cpus, unsigned __flags);
+
+__END_DECLS
+
+#endif
diff --git a/libc/include/sys/ifunc.h b/libc/include/sys/ifunc.h
index 7fbca4a..d35600e 100644
--- a/libc/include/sys/ifunc.h
+++ b/libc/include/sys/ifunc.h
@@ -40,13 +40,15 @@
 #if defined(__aarch64__)
 
 /**
- * Provides information about hardware capabilities to ifunc resolvers.
+ * Provides information about hardware capabilities to arm64 ifunc resolvers.
  *
- * Starting with API level 30, ifunc resolvers on arm64 are passed two arguments. The first is a
- * uint64_t whose value is equal to getauxval(AT_HWCAP) | _IFUNC_ARG_HWCAP. The second is a pointer
- * to a data structure of this type. Prior to API level 30, no arguments are passed to ifunc
- * resolvers. Code that wishes to be compatible with prior API levels should not accept any
- * arguments in the resolver.
+ * Prior to API level 30, arm64 ifunc resolvers are passed no arguments.
+ *
+ * Starting with API level 30, arm64 ifunc resolvers are passed two arguments.
+ * The first is a uint64_t whose value is equal to getauxval(AT_HWCAP) | _IFUNC_ARG_HWCAP.
+ * The second is a pointer to a data structure of this type.
+ *
+ * Code that wishes to be compatible with API levels before 30 must call getauxval() itself.
  */
 typedef struct __ifunc_arg_t {
   /** Set to sizeof(__ifunc_arg_t). */
@@ -60,9 +62,14 @@
 } __ifunc_arg_t;
 
 /**
- * If this bit is set in the first argument to an ifunc resolver, indicates that the second argument
- * is a pointer to a data structure of type __ifunc_arg_t. This bit is always set on Android
- * starting with API level 30.
+ * If this bit is set in the first argument to an ifunc resolver, the second argument
+ * is a pointer to a data structure of type __ifunc_arg_t.
+ *
+ * This bit is always set on Android starting with API level 30.
+ * This bit is meaningless before API level 30 because ifunc resolvers are not passed any arguments.
+ * This bit has no real use on Android, but is included for glibc source compatibility;
+ * glibc used this bit to distinguish the case where the ifunc resolver received a single argument,
+ * which was an evolutionary stage Android never went through.
  */
 #define _IFUNC_ARG_HWCAP (1ULL << 62)
 
diff --git a/libc/include/sys/inotify.h b/libc/include/sys/inotify.h
index e834d07..75ed542 100644
--- a/libc/include/sys/inotify.h
+++ b/libc/include/sys/inotify.h
@@ -33,15 +33,11 @@
 #include <sys/types.h>
 #include <stdint.h>
 #include <linux/inotify.h>
-#include <asm/fcntl.h> /* For O_CLOEXEC and O_NONBLOCK. */
 
 __BEGIN_DECLS
 
-#define IN_CLOEXEC O_CLOEXEC
-#define IN_NONBLOCK O_NONBLOCK
-
 int inotify_init(void);
-int inotify_init1(int __flags) __INTRODUCED_IN(21);
+int inotify_init1(int __flags);
 int inotify_add_watch(int __fd, const char* _Nonnull __path, uint32_t __mask);
 int inotify_rm_watch(int __fd, uint32_t __watch_descriptor);
 
diff --git a/libc/include/sys/io.h b/libc/include/sys/io.h
new file mode 100644
index 0000000..11f3f3a
--- /dev/null
+++ b/libc/include/sys/io.h
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#pragma once
+
+/**
+ * @file sys/io.h
+ * @brief The x86/x86-64 I/O port functions iopl() and ioperm().
+ */
+
+#include <sys/cdefs.h>
+
+#include <errno.h>
+#include <sys/syscall.h>
+#include <unistd.h>
+
+__BEGIN_DECLS
+
+/**
+ * [iopl(2)](https://man7.org/linux/man-pages/man2/iopl.2.html) changes the I/O
+ * privilege level for all x86/x8-64 I/O ports, for the calling thread.
+ *
+ * New callers should use ioperm() instead.
+ *
+ * Returns 0 on success, and returns -1 and sets `errno` on failure.
+ *
+ * Only available for x86/x86-64.
+ */
+#if defined(__NR_iopl)
+__attribute__((__deprecated__("use ioperm() instead"))) static __inline int iopl(int __level) {
+  return syscall(__NR_iopl, __level);
+}
+#endif
+
+/**
+ * [ioperm(2)](https://man7.org/linux/man-pages/man2/ioperm.2.html) sets the I/O
+ * permissions for the given number of x86/x86-64 I/O ports, starting at the
+ * given port.
+ *
+ * Returns 0 on success, and returns -1 and sets `errno` on failure.
+ *
+ * Only available for x86/x86-64.
+ */
+#if defined(__NR_iopl)
+static __inline int ioperm(unsigned long __from, unsigned long __n, int __enabled) {
+  return syscall(__NR_ioperm, __from, __n, __enabled);
+}
+#endif
+
+__END_DECLS
diff --git a/libc/include/sys/ipc.h b/libc/include/sys/ipc.h
index 2e2b8cf..f557ce5 100644
--- a/libc/include/sys/ipc.h
+++ b/libc/include/sys/ipc.h
@@ -47,7 +47,7 @@
 __BEGIN_DECLS
 
 /**
- * [ftok(3)](http://man7.org/linux/man-pages/man3/ftok.3.html) converts a path and id to a
+ * [ftok(3)](https://man7.org/linux/man-pages/man3/ftok.3.html) converts a path and id to a
  * System V IPC key.
  *
  * Returns a key on success, and returns -1 and sets `errno` on failure.
diff --git a/libc/include/sys/klog.h b/libc/include/sys/klog.h
index b60c2c4..237d2e2 100644
--- a/libc/include/sys/klog.h
+++ b/libc/include/sys/klog.h
@@ -61,7 +61,7 @@
 #define KLOG_SIZE_BUFFER 10
 
 /**
- * [klogctl(2)](http://man7.org/linux/man-pages/man2/syslog.2.html) operates on the kernel log.
+ * [klogctl(2)](https://man7.org/linux/man-pages/man2/syslog.2.html) operates on the kernel log.
  *
  * This system call is not available to applications.
  * Use syslog() or `<android/log.h>` instead.
diff --git a/libc/include/sys/mman.h b/libc/include/sys/mman.h
index bcf856d..38cbf2f 100644
--- a/libc/include/sys/mman.h
+++ b/libc/include/sys/mman.h
@@ -43,50 +43,48 @@
 #define MAP_FAILED __BIONIC_CAST(reinterpret_cast, void*, -1)
 
 /**
- * [mmap(2)](http://man7.org/linux/man-pages/man2/mmap.2.html)
+ * [mmap(2)](https://man7.org/linux/man-pages/man2/mmap.2.html)
  * creates a memory mapping for the given range.
  *
  * Returns the address of the mapping on success,
  * and returns `MAP_FAILED` and sets `errno` on failure.
  */
 #if defined(__USE_FILE_OFFSET64)
-void* mmap(void* __addr, size_t __size, int __prot, int __flags, int __fd, off_t __offset) __RENAME(mmap64);
+void* _Nonnull mmap(void* _Nullable __addr, size_t __size, int __prot, int __flags, int __fd, off_t __offset) __RENAME(mmap64);
 #else
-void* mmap(void* __addr, size_t __size, int __prot, int __flags, int __fd, off_t __offset);
+void* _Nonnull mmap(void* _Nullable __addr, size_t __size, int __prot, int __flags, int __fd, off_t __offset);
 #endif
 
 /**
  * mmap64() is a variant of mmap() that takes a 64-bit offset even on LP32.
  *
- * See https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md
- *
- * Available since API level 21.
+ * See https://android.googlesource.com/platform/bionic/+/main/docs/32-bit-abi.md
  */
-void* mmap64(void* __addr, size_t __size, int __prot, int __flags, int __fd, off64_t __offset) __INTRODUCED_IN(21);
+void* _Nonnull mmap64(void* _Nullable __addr, size_t __size, int __prot, int __flags, int __fd, off64_t __offset);
 
 /**
- * [munmap(2)](http://man7.org/linux/man-pages/man2/munmap.2.html)
+ * [munmap(2)](https://man7.org/linux/man-pages/man2/munmap.2.html)
  * deletes a memory mapping for the given range.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
  */
-int munmap(void* __addr, size_t __size);
+int munmap(void* _Nonnull __addr, size_t __size);
 
 /**
- * [msync(2)](http://man7.org/linux/man-pages/man2/msync.2.html)
+ * [msync(2)](https://man7.org/linux/man-pages/man2/msync.2.html)
  * flushes changes to a memory-mapped file to disk.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
  */
-int msync(void* __addr, size_t __size, int __flags);
+int msync(void* _Nonnull __addr, size_t __size, int __flags);
 
 /**
- * [mprotect(2)](http://man7.org/linux/man-pages/man2/mprotect.2.html)
+ * [mprotect(2)](https://man7.org/linux/man-pages/man2/mprotect.2.html)
  * sets the protection on a memory region.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
  */
-int mprotect(void* __addr, size_t __size, int __prot);
+int mprotect(void* _Nonnull __addr, size_t __size, int __prot);
 
 /** Flag for mremap(). */
 #define MREMAP_MAYMOVE  1
@@ -95,78 +93,78 @@
 #define MREMAP_FIXED    2
 
 /**
- * [mremap(2)](http://man7.org/linux/man-pages/man2/mremap.2.html)
+ * [mremap(2)](https://man7.org/linux/man-pages/man2/mremap.2.html)
  * expands or shrinks an existing memory mapping.
  *
  * Returns the address of the mapping on success,
  * and returns `MAP_FAILED` and sets `errno` on failure.
  */
-void* mremap(void* __old_addr, size_t __old_size, size_t __new_size, int __flags, ...);
+void* _Nonnull mremap(void* _Nonnull __old_addr, size_t __old_size, size_t __new_size, int __flags, ...);
 
 /**
- * [mlockall(2)](http://man7.org/linux/man-pages/man2/mlockall.2.html)
+ * [mlockall(2)](https://man7.org/linux/man-pages/man2/mlockall.2.html)
  * locks pages (preventing swapping).
  *
- * Available since API level 17.
- *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
  */
-int mlockall(int __flags) __INTRODUCED_IN(17);
+int mlockall(int __flags);
 
 /**
- * [munlockall(2)](http://man7.org/linux/man-pages/man2/munlockall.2.html)
+ * [munlockall(2)](https://man7.org/linux/man-pages/man2/munlockall.2.html)
  * unlocks pages (allowing swapping).
  *
- * Available since API level 17.
- *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
  */
-int munlockall(void) __INTRODUCED_IN(17);
+int munlockall(void);
 
 /**
- * [mlock(2)](http://man7.org/linux/man-pages/man2/mlock.2.html)
+ * [mlock(2)](https://man7.org/linux/man-pages/man2/mlock.2.html)
  * locks pages (preventing swapping).
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
  */
-int mlock(const void* __addr, size_t __size);
+int mlock(const void* _Nonnull __addr, size_t __size);
 
 /**
- * [mlock2(2)](http://man7.org/linux/man-pages/man2/mlock.2.html)
+ * [mlock2(2)](https://man7.org/linux/man-pages/man2/mlock.2.html)
  * locks pages (preventing swapping), with optional flags.
  *
  * Available since API level 30.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
  */
-int mlock2(const void* __addr, size_t __size, int __flags) __INTRODUCED_IN(30);
+
+#if __BIONIC_AVAILABILITY_GUARD(30)
+int mlock2(const void* _Nonnull __addr, size_t __size, int __flags) __INTRODUCED_IN(30);
+#endif /* __BIONIC_AVAILABILITY_GUARD(30) */
+
 
 /**
- * [munlock(2)](http://man7.org/linux/man-pages/man2/munlock.2.html)
+ * [munlock(2)](https://man7.org/linux/man-pages/man2/munlock.2.html)
  * unlocks pages (allowing swapping).
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
  */
-int munlock(const void* __addr, size_t __size);
+int munlock(const void* _Nonnull __addr, size_t __size);
 
 /**
- * [mincore(2)](http://man7.org/linux/man-pages/man2/mincore.2.html)
+ * [mincore(2)](https://man7.org/linux/man-pages/man2/mincore.2.html)
  * tests whether pages are resident in memory.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
  */
-int mincore(void* __addr, size_t __size, unsigned char* __vector);
+int mincore(void* _Nonnull __addr, size_t __size, unsigned char* _Nonnull __vector);
 
 /**
- * [madvise(2)](http://man7.org/linux/man-pages/man2/madvise.2.html)
+ * [madvise(2)](https://man7.org/linux/man-pages/man2/madvise.2.html)
  * gives the kernel advice about future usage patterns.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
  */
-int madvise(void* __addr, size_t __size, int __advice);
+int madvise(void* _Nonnull __addr, size_t __size, int __advice);
 
 /**
- * [process_madvise(2)](http://man7.org/linux/man-pages/man2/process_madvise.2.html)
+ * [process_madvise(2)](https://man7.org/linux/man-pages/man2/process_madvise.2.html)
  * works just like madvise(2) but applies to the process specified by the given
  * PID file descriptor.
  *
@@ -177,19 +175,27 @@
  *
  * Returns the number of bytes advised on success, and returns -1 and sets `errno` on failure.
  */
-ssize_t process_madvise(int __pid_fd, const struct iovec* __iov, size_t __count, int __advice, unsigned __flags) __INTRODUCED_IN(31);
+
+#if __BIONIC_AVAILABILITY_GUARD(31)
+ssize_t process_madvise(int __pid_fd, const struct iovec* _Nonnull __iov, size_t __count, int __advice, unsigned __flags) __INTRODUCED_IN(31);
+#endif /* __BIONIC_AVAILABILITY_GUARD(31) */
+
 
 #if defined(__USE_GNU)
 
 /**
- * [memfd_create(2)](http://man7.org/linux/man-pages/man2/memfd_create.2.html)
+ * [memfd_create(2)](https://man7.org/linux/man-pages/man2/memfd_create.2.html)
  * creates an anonymous file.
  *
  * Available since API level 30.
  *
  * Returns an fd on success, and returns -1 and sets `errno` on failure.
  */
-int memfd_create(const char* __name, unsigned __flags) __INTRODUCED_IN(30);
+
+#if __BIONIC_AVAILABILITY_GUARD(30)
+int memfd_create(const char* _Nonnull __name, unsigned __flags) __INTRODUCED_IN(30);
+#endif /* __BIONIC_AVAILABILITY_GUARD(30) */
+
 
 #endif
 
@@ -218,7 +224,7 @@
 #endif
 
 /**
- * [posix_madvise(3)](http://man7.org/linux/man-pages/man3/posix_madvise.3.html)
+ * [posix_madvise(3)](https://man7.org/linux/man-pages/man3/posix_madvise.3.html)
  * gives the kernel advice about future usage patterns.
  *
  * Available since API level 23.
@@ -226,6 +232,26 @@
  *
  * Returns 0 on success, and returns a positive error number on failure.
  */
-int posix_madvise(void* __addr, size_t __size, int __advice) __INTRODUCED_IN(23);
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
+int posix_madvise(void* _Nonnull __addr, size_t __size, int __advice) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+/**
+ * [mseal(2)](https://man7.org/linux/man-pages/man2/mseal.2.html)
+ * seals the given range to prevent modifications such as mprotect() calls.
+ *
+ * Available since API level 36.
+ * Requires a Linux 6.10 or newer kernel.
+ * Always fails for 32-bit processes.
+ *
+ * Returns 0 on success, and returns -1 and sets `errno` on failure.
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(36)
+int mseal(void* _Nonnull __addr, size_t __size, unsigned long __flags) __INTRODUCED_IN(36);
+#endif /* __BIONIC_AVAILABILITY_GUARD(36) */
+
 
 __END_DECLS
diff --git a/libc/include/sys/mount.h b/libc/include/sys/mount.h
index aace205..0880c98 100644
--- a/libc/include/sys/mount.h
+++ b/libc/include/sys/mount.h
@@ -50,7 +50,7 @@
 #define UMOUNT_NOFOLLOW 8
 
 /**
- * [mount(2)](http://man7.org/linux/man-pages/man2/mount.2.html) mounts the filesystem `source` at
+ * [mount(2)](https://man7.org/linux/man-pages/man2/mount.2.html) mounts the filesystem `source` at
  * the mount point `target`.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
@@ -58,7 +58,7 @@
 int mount(const char* __BIONIC_COMPLICATED_NULLNESS __source, const char* _Nonnull __target, const char* __BIONIC_COMPLICATED_NULLNESS __fs_type, unsigned long __flags, const void* _Nullable __data);
 
 /**
- * [umount(2)](http://man7.org/linux/man-pages/man2/umount.2.html) unmounts the filesystem at
+ * [umount(2)](https://man7.org/linux/man-pages/man2/umount.2.html) unmounts the filesystem at
  * the given mount point.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
@@ -66,7 +66,7 @@
 int umount(const char* _Nonnull __target);
 
 /**
- * [umount2(2)](http://man7.org/linux/man-pages/man2/umount2.2.html) unmounts the filesystem at
+ * [umount2(2)](https://man7.org/linux/man-pages/man2/umount2.2.html) unmounts the filesystem at
  * the given mount point, according to the supplied flags.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
diff --git a/libc/include/sys/msg.h b/libc/include/sys/msg.h
index ad481a0..8b619be 100644
--- a/libc/include/sys/msg.h
+++ b/libc/include/sys/msg.h
@@ -46,12 +46,16 @@
 typedef __kernel_ulong_t msglen_t;
 
 /** Not useful on Android; disallowed by SELinux. */
-int msgctl(int __msg_id, int __cmd, struct msqid_ds* _Nullable __buf) __INTRODUCED_IN(26);
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+int msgctl(int __msg_id, int __op, struct msqid_ds* _Nullable __buf) __INTRODUCED_IN(26);
 /** Not useful on Android; disallowed by SELinux. */
 int msgget(key_t __key, int __flags) __INTRODUCED_IN(26);
 /** Not useful on Android; disallowed by SELinux. */
 ssize_t msgrcv(int __msg_id, void* _Nonnull __msgbuf_ptr, size_t __size, long __type, int __flags) __INTRODUCED_IN(26);
 /** Not useful on Android; disallowed by SELinux. */
 int msgsnd(int __msg_id, const void* _Nonnull __msgbuf_ptr, size_t __size, int __flags) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 
 __END_DECLS
diff --git a/libc/include/sys/param.h b/libc/include/sys/param.h
index 79ae067..99b6a07 100644
--- a/libc/include/sys/param.h
+++ b/libc/include/sys/param.h
@@ -33,16 +33,20 @@
  * @brief Various macros.
  */
 
+#include <sys/cdefs.h>
+
 #include <endian.h>
 #include <limits.h>
 #include <linux/param.h>
-#include <sys/cdefs.h>
 
 /** The unit of `st_blocks` in `struct stat`. */
 #define DEV_BSIZE 512
 
-/** A historical name for PATH_MAX. */
-#define MAXPATHLEN  PATH_MAX
+/** A historical name for PATH_MAX. Use PATH_MAX in new code. */
+#define MAXPATHLEN PATH_MAX
+
+/** A historical name for NGROUPS_MAX. Use NGROUPS_MAX in new code. */
+#define NGROUPS NGROUPS_MAX
 
 #define MAXSYMLINKS 8
 
diff --git a/libc/include/sys/personality.h b/libc/include/sys/personality.h
index 9eb992f..34d1a1a 100644
--- a/libc/include/sys/personality.h
+++ b/libc/include/sys/personality.h
@@ -39,7 +39,7 @@
 __BEGIN_DECLS
 
 /**
- * [personality(2)](http://man7.org/linux/man-pages/man2/personality.2.html) sets the calling
+ * [personality(2)](https://man7.org/linux/man-pages/man2/personality.2.html) sets the calling
  * process' personality.
  *
  * Returns the previous persona on success, and returns -1 and sets `errno` on failure.
diff --git a/libc/include/sys/pidfd.h b/libc/include/sys/pidfd.h
index 30455bb..aaf49c9 100644
--- a/libc/include/sys/pidfd.h
+++ b/libc/include/sys/pidfd.h
@@ -49,6 +49,8 @@
  *
  * Available since API level 31.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(31)
 int pidfd_open(pid_t __pid, unsigned int __flags) __INTRODUCED_IN(31);
 
 /**
@@ -72,5 +74,7 @@
  * Available since API level 31.
  */
 int pidfd_send_signal(int __pidfd, int __sig, siginfo_t * _Nullable __info, unsigned int __flags) __INTRODUCED_IN(31);
+#endif /* __BIONIC_AVAILABILITY_GUARD(31) */
+
 
 __END_DECLS
diff --git a/libc/include/sys/prctl.h b/libc/include/sys/prctl.h
index ff03c33..4e0b4b5 100644
--- a/libc/include/sys/prctl.h
+++ b/libc/include/sys/prctl.h
@@ -40,11 +40,11 @@
 __BEGIN_DECLS
 
 /**
- * [prctl(2)](http://man7.org/linux/man-pages/man2/prctl.2.html) performs a variety of
+ * [prctl(2)](https://man7.org/linux/man-pages/man2/prctl.2.html) performs a variety of
  * operations based on the `PR_` constant passed as the first argument.
  *
  * Returns -1 and sets `errno` on failure; success values vary by option.
  */
-int prctl(int __option, ...);
+int prctl(int __op, ...);
 
 __END_DECLS
diff --git a/libc/include/sys/ptrace.h b/libc/include/sys/ptrace.h
index 022fc3a..66b30a1 100644
--- a/libc/include/sys/ptrace.h
+++ b/libc/include/sys/ptrace.h
@@ -59,7 +59,7 @@
 #define PT_GETSIGINFO PTRACE_GETSIGINFO
 #define PT_SETSIGINFO PTRACE_SETSIGINFO
 
-long ptrace(int __request, ...);
+long ptrace(int __op, ...);
 
 __END_DECLS
 
diff --git a/libc/include/sys/quota.h b/libc/include/sys/quota.h
index 79c653d..af09674 100644
--- a/libc/include/sys/quota.h
+++ b/libc/include/sys/quota.h
@@ -45,12 +45,16 @@
 __BEGIN_DECLS
 
 /**
- * [quotactl(2)](http://man7.org/linux/man-pages/man2/quotactl.2.html) manipulates disk quotas.
+ * [quotactl(2)](https://man7.org/linux/man-pages/man2/quotactl.2.html) manipulates disk quotas.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
  *
  * Available since API level 26.
  */
-int quotactl(int __cmd, const char* _Nullable __special, int __id, char* __BIONIC_COMPLICATED_NULLNESS __addr) __INTRODUCED_IN(26);
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+int quotactl(int __op, const char* _Nullable __special, int __id, char* __BIONIC_COMPLICATED_NULLNESS __addr) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 
 __END_DECLS
diff --git a/libc/include/sys/random.h b/libc/include/sys/random.h
index 0251176..23d2c3a 100644
--- a/libc/include/sys/random.h
+++ b/libc/include/sys/random.h
@@ -38,22 +38,12 @@
 
 #include <linux/random.h>
 
+#include <bits/getentropy.h>
+
 __BEGIN_DECLS
 
 /**
- * [getentropy(3)](http://man7.org/linux/man-pages/man3/getentropy.3.html) fills the given buffer
- * with random bytes.
- *
- * Returns 0 on success, and returns -1 and sets `errno` on failure.
- *
- * Available since API level 28.
- *
- * See also arc4random_buf() which is available in all API levels.
- */
-int getentropy(void* _Nonnull __buffer, size_t __buffer_size) __wur __INTRODUCED_IN(28);
-
-/**
- * [getrandom(2)](http://man7.org/linux/man-pages/man2/getrandom.2.html) fills the given buffer
+ * [getrandom(2)](https://man7.org/linux/man-pages/man2/getrandom.2.html) fills the given buffer
  * with random bytes.
  *
  * Returns the number of bytes copied on success, and returns -1 and sets `errno` on failure.
@@ -62,6 +52,10 @@
  *
  * See also arc4random_buf() which is available in all API levels.
  */
-ssize_t getrandom(void* _Nonnull __buffer, size_t __buffer_size, unsigned int __flags) __wur __INTRODUCED_IN(28);
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
+__nodiscard ssize_t getrandom(void* _Nonnull __buffer, size_t __buffer_size, unsigned int __flags) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 
 __END_DECLS
diff --git a/libc/include/sys/reboot.h b/libc/include/sys/reboot.h
index 156d947..f4bc861 100644
--- a/libc/include/sys/reboot.h
+++ b/libc/include/sys/reboot.h
@@ -50,11 +50,11 @@
 #define RB_POWER_OFF LINUX_REBOOT_CMD_POWER_OFF
 
 /**
- * [reboot(2)](http://man7.org/linux/man-pages/man2/reboot.2.html) reboots the device.
+ * [reboot(2)](https://man7.org/linux/man-pages/man2/reboot.2.html) reboots the device.
  *
  * Does not return on successful reboot, returns 0 if CAD was successfully enabled/disabled,
  * and returns -1 and sets `errno` on failure.
  */
-int reboot(int __cmd);
+int reboot(int __op);
 
 __END_DECLS
diff --git a/libc/include/sys/resource.h b/libc/include/sys/resource.h
index ccb267d..05ef2c2 100644
--- a/libc/include/sys/resource.h
+++ b/libc/include/sys/resource.h
@@ -43,19 +43,23 @@
 typedef unsigned long rlim_t;
 typedef unsigned long long rlim64_t;
 
-int getrlimit(int __resource, struct rlimit* __limit);
-int setrlimit(int __resource, const struct rlimit* __limit);
+int getrlimit(int __resource, struct rlimit* _Nonnull __limit);
+int setrlimit(int __resource, const struct rlimit* _Nonnull __limit);
 
-int getrlimit64(int __resource, struct rlimit64* __limit) __INTRODUCED_IN(21);
-int setrlimit64(int __resource, const struct rlimit64* __limit) __INTRODUCED_IN(21);
+int getrlimit64(int __resource, struct rlimit64* _Nonnull __limit);
+int setrlimit64(int __resource, const struct rlimit64* _Nonnull __limit);
 
 int getpriority(int __which, id_t __who);
 int setpriority(int __which, id_t __who, int __priority);
 
-int getrusage(int __who, struct rusage* __usage);
+int getrusage(int __who, struct rusage* _Nonnull __usage);
 
-int prlimit(pid_t __pid, int __resource, const struct rlimit* __new_limit, struct rlimit* __old_limit) __INTRODUCED_IN_32(24) __INTRODUCED_IN_64(21);
-int prlimit64(pid_t __pid, int __resource, const struct rlimit64* __new_limit, struct rlimit64* __old_limit) __INTRODUCED_IN(21);
+
+#if (!defined(__LP64__) && __ANDROID_API__ >= 24) || (defined(__LP64__))
+int prlimit(pid_t __pid, int __resource, const struct rlimit* _Nullable __new_limit, struct rlimit* _Nullable __old_limit) __INTRODUCED_IN_32(24) __INTRODUCED_IN_64(21);
+#endif /* (!defined(__LP64__) && __ANDROID_API__ >= 24) || (defined(__LP64__)) */
+
+int prlimit64(pid_t __pid, int __resource, const struct rlimit64* _Nullable __new_limit, struct rlimit64* _Nullable __old_limit);
 
 __END_DECLS
 
diff --git a/libc/include/sys/select.h b/libc/include/sys/select.h
index 8c6c2ff..a7227b0 100644
--- a/libc/include/sys/select.h
+++ b/libc/include/sys/select.h
@@ -44,7 +44,7 @@
 typedef unsigned long fd_mask;
 
 /**
- * The limit on the largest fd that can be used with this API.
+ * The limit on the largest fd that can be used with fd_set.
  * Use <poll.h> instead.
  */
 #define FD_SETSIZE 1024
@@ -52,6 +52,9 @@
 
 /**
  * The type of a file descriptor set. Limited to 1024 fds.
+ * The underlying system calls do not have this limit,
+ * and callers can allocate their own sets with calloc().
+ *
  * Use <poll.h> instead.
  */
 typedef struct {
@@ -60,34 +63,31 @@
 
 #define __FDELT(fd) ((fd) / NFDBITS)
 #define __FDMASK(fd) (1UL << ((fd) % NFDBITS))
-#define __FDS_BITS(type,set) (__BIONIC_CAST(static_cast, type, set)->fds_bits)
+#define __FDS_BITS(type, set) (__BIONIC_CAST(static_cast, type, set)->fds_bits)
 
-/* Inline loop so we don't have to declare memset. */
-#define FD_ZERO(set) \
-  do { \
-    size_t __i; \
-    for (__i = 0; __i < sizeof(fd_set)/sizeof(fd_mask); ++__i) { \
-      (set)->fds_bits[__i] = 0; \
-    } \
-  } while (0)
+void __FD_CLR_chk(int, fd_set* _Nonnull , size_t);
+void __FD_SET_chk(int, fd_set* _Nonnull, size_t);
+int __FD_ISSET_chk(int, const fd_set* _Nonnull, size_t);
 
-void __FD_CLR_chk(int, fd_set* _Nonnull , size_t) __INTRODUCED_IN(21);
-void __FD_SET_chk(int, fd_set* _Nonnull, size_t) __INTRODUCED_IN(21);
-int __FD_ISSET_chk(int, const fd_set* _Nonnull, size_t) __INTRODUCED_IN(21);
+/** FD_CLR() with no bounds checking for users that allocated their own set. */
+#define __FD_CLR(fd, set) (__FDS_BITS(fd_set*, set)[__FDELT(fd)] &= ~__FDMASK(fd))
+/** FD_SET() with no bounds checking for users that allocated their own set. */
+#define __FD_SET(fd, set) (__FDS_BITS(fd_set*, set)[__FDELT(fd)] |= __FDMASK(fd))
+/** FD_ISSET() with no bounds checking for users that allocated their own set. */
+#define __FD_ISSET(fd, set) ((__FDS_BITS(const fd_set*, set)[__FDELT(fd)] & __FDMASK(fd)) != 0)
 
-#define __FD_CLR(fd, set) (__FDS_BITS(fd_set*,set)[__FDELT(fd)] &= ~__FDMASK(fd))
-#define __FD_SET(fd, set) (__FDS_BITS(fd_set*,set)[__FDELT(fd)] |= __FDMASK(fd))
-#define __FD_ISSET(fd, set) ((__FDS_BITS(const fd_set*,set)[__FDELT(fd)] & __FDMASK(fd)) != 0)
+/** Removes all 1024 fds from the given set. Use <poll.h> instead. */
+#define FD_ZERO(set) __builtin_memset(set, 0, sizeof(*__BIONIC_CAST(static_cast, const fd_set*, set)))
 
-/** Removes `fd` from the given set. Use <poll.h> instead. */
+/** Removes `fd` from the given set. Limited to fds under 1024. Use <poll.h> instead. */
 #define FD_CLR(fd, set) __FD_CLR_chk(fd, set, __bos(set))
-/** Adds `fd` to the given set. Use <poll.h> instead. */
+/** Adds `fd` to the given set. Limited to fds under 1024. Use <poll.h> instead. */
 #define FD_SET(fd, set) __FD_SET_chk(fd, set, __bos(set))
-/** Tests whether `fd` is in the given set. Use <poll.h> instead. */
+/** Tests whether `fd` is in the given set. Limited to fds under 1024. Use <poll.h> instead. */
 #define FD_ISSET(fd, set) __FD_ISSET_chk(fd, set, __bos(set))
 
 /**
- * [select(2)](http://man7.org/linux/man-pages/man2/select.2.html) waits on a
+ * [select(2)](https://man7.org/linux/man-pages/man2/select.2.html) waits on a
  * set of file descriptors.
  *
  * Use poll() instead.
@@ -98,7 +98,7 @@
 int select(int __max_fd_plus_one, fd_set* _Nullable __read_fds, fd_set* _Nullable __write_fds, fd_set* _Nullable __exception_fds, struct timeval* _Nullable __timeout);
 
 /**
- * [pselect(2)](http://man7.org/linux/man-pages/man2/select.2.html) waits on a
+ * [pselect(2)](https://man7.org/linux/man-pages/man2/select.2.html) waits on a
  * set of file descriptors.
  *
  * Use ppoll() instead.
@@ -109,7 +109,7 @@
 int pselect(int __max_fd_plus_one, fd_set* _Nullable __read_fds, fd_set* _Nullable __write_fds, fd_set* _Nullable __exception_fds, const struct timespec* _Nullable __timeout, const sigset_t* _Nullable __mask);
 
 /**
- * [pselect64(2)](http://man7.org/linux/man-pages/man2/select.2.html) waits on a
+ * [pselect64(2)](https://man7.org/linux/man-pages/man2/select.2.html) waits on a
  * set of file descriptors.
  *
  * Use ppoll64() instead.
@@ -119,6 +119,10 @@
  *
  * Available since API level 28.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int pselect64(int __max_fd_plus_one, fd_set* _Nullable __read_fds, fd_set* _Nullable __write_fds, fd_set* _Nullable __exception_fds, const struct timespec* _Nullable __timeout, const sigset64_t* _Nullable __mask) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 
 __END_DECLS
diff --git a/libc/include/sys/sem.h b/libc/include/sys/sem.h
index cd62242..72f567e 100644
--- a/libc/include/sys/sem.h
+++ b/libc/include/sys/sem.h
@@ -45,18 +45,26 @@
 
 union semun {
   int val;
-  struct semid_ds* buf;
-  unsigned short* array;
-  struct seminfo* __buf;
-  void* __pad;
+  struct semid_ds* _Nullable buf;
+  unsigned short* _Nullable array;
+  struct seminfo* _Nullable __buf;
+  void* _Nullable __pad;
 };
 
-int semctl(int __sem_id, int __sem_num, int __cmd, ...) __INTRODUCED_IN(26);
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+int semctl(int __sem_id, int __sem_num, int __op, ...) __INTRODUCED_IN(26);
 int semget(key_t __key, int __sem_count, int __flags) __INTRODUCED_IN(26);
-int semop(int __sem_id, struct sembuf* __ops, size_t __op_count) __INTRODUCED_IN(26);
+int semop(int __sem_id, struct sembuf* _Nonnull __ops, size_t __op_count) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 
 #if defined(__USE_GNU)
-int semtimedop(int __sem_id, struct sembuf* __ops, size_t __op_count, const struct timespec* __timeout) __INTRODUCED_IN(26);
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+int semtimedop(int __sem_id, struct sembuf* _Nonnull __ops, size_t __op_count, const struct timespec* _Nullable __timeout) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 #endif
 
 __END_DECLS
diff --git a/libc/include/sys/sendfile.h b/libc/include/sys/sendfile.h
index 4b00d5d..ac623e7 100644
--- a/libc/include/sys/sendfile.h
+++ b/libc/include/sys/sendfile.h
@@ -38,25 +38,23 @@
 
 __BEGIN_DECLS
 
-/* See https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md */
+/* See https://android.googlesource.com/platform/bionic/+/main/docs/32-bit-abi.md */
 #if defined(__USE_FILE_OFFSET64)
-ssize_t sendfile(int __out_fd, int __in_fd, off_t* _Nullable __offset, size_t __count) __RENAME(sendfile64) __INTRODUCED_IN(21);
+ssize_t sendfile(int __out_fd, int __in_fd, off_t* _Nullable __offset, size_t __count) __RENAME(sendfile64);
 #else
 /**
- * [sendfile(2)](http://man7.org/linux/man-pages/man2/sendfile.2.html) copies data directly
+ * [sendfile(2)](https://man7.org/linux/man-pages/man2/sendfile.2.html) copies data directly
  * between two file descriptors.
  *
  * Returns the number of bytes copied on success, and returns -1 and sets `errno` on failure.
- *
- * Available since API level 21.
  */
 ssize_t sendfile(int __out_fd, int __in_fd, off_t* _Nullable __offset, size_t __count);
 #endif
 
 /**
  * Like sendfile() but allows using a 64-bit offset
- * even from a 32-bit process without `__FILE_OFFSET_BITS=64`.
+ * even from a 32-bit process without `_FILE_OFFSET_BITS=64`.
  */
-ssize_t sendfile64(int __out_fd, int __in_fd, off64_t* _Nullable __offset, size_t __count) __INTRODUCED_IN(21);
+ssize_t sendfile64(int __out_fd, int __in_fd, off64_t* _Nullable __offset, size_t __count);
 
 __END_DECLS
diff --git a/libc/include/sys/shm.h b/libc/include/sys/shm.h
index a3f84d3..a960781 100644
--- a/libc/include/sys/shm.h
+++ b/libc/include/sys/shm.h
@@ -36,23 +36,28 @@
 #include <sys/cdefs.h>
 #include <sys/ipc.h>
 #include <sys/types.h>
+#include <unistd.h>
 
 #include <linux/shm.h>
 
 #define shmid_ds shmid64_ds
-#define SHMLBA 4096
+#define SHMLBA getpagesize()
 
 __BEGIN_DECLS
 
 typedef unsigned long shmatt_t;
 
 /** Not useful on Android; disallowed by SELinux. */
-void* shmat(int __shm_id, const void* __addr, int __flags) __INTRODUCED_IN(26);
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+void* _Nonnull shmat(int __shm_id, const void* _Nullable __addr, int __flags) __INTRODUCED_IN(26);
 /** Not useful on Android; disallowed by SELinux. */
-int shmctl(int __shm_id, int __cmd, struct shmid_ds* __buf) __INTRODUCED_IN(26);
+int shmctl(int __shm_id, int __op, struct shmid_ds* _Nullable __buf) __INTRODUCED_IN(26);
 /** Not useful on Android; disallowed by SELinux. */
-int shmdt(const void* __addr) __INTRODUCED_IN(26);
+int shmdt(const void* _Nonnull __addr) __INTRODUCED_IN(26);
 /** Not useful on Android; disallowed by SELinux. */
 int shmget(key_t __key, size_t __size, int __flags) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 
 __END_DECLS
diff --git a/libc/include/sys/signalfd.h b/libc/include/sys/signalfd.h
index f669cc8..eaea525 100644
--- a/libc/include/sys/signalfd.h
+++ b/libc/include/sys/signalfd.h
@@ -41,18 +41,20 @@
 __BEGIN_DECLS
 
 /**
- * [signalfd(2)](http://man7.org/linux/man-pages/man2/signalfd.2.html) creates/manipulates a
+ * [signalfd(2)](https://man7.org/linux/man-pages/man2/signalfd.2.html) creates/manipulates a
  * file descriptor for reading signal events.
  *
  * Returns the file descriptor on success, and returns -1 and sets `errno` on failure.
- *
- * Available since API level 18.
  */
-int signalfd(int __fd, const sigset_t* _Nonnull __mask, int __flags) __INTRODUCED_IN(18);
+int signalfd(int __fd, const sigset_t* _Nonnull __mask, int __flags);
 
 /**
  * Like signalfd() but allows setting a signal mask with RT signals even from a 32-bit process.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int signalfd64(int __fd, const sigset64_t* _Nonnull __mask, int __flags) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 
 __END_DECLS
diff --git a/libc/include/sys/socket.h b/libc/include/sys/socket.h
index 41c5a9a..47ddce0 100644
--- a/libc/include/sys/socket.h
+++ b/libc/include/sys/socket.h
@@ -39,6 +39,7 @@
 #include <linux/types.h>
 #include <linux/compiler.h>
 
+#include <bits/sockaddr_storage.h>
 #include <bits/sa_family_t.h>
 
 __BEGIN_DECLS
@@ -70,15 +71,8 @@
   char sa_data[14];
 };
 
-struct sockaddr_storage {
-  union {
-    struct {
-      sa_family_t ss_family;
-      char __data[128 - sizeof(sa_family_t)];
-    };
-    void* __align;
-  };
-};
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnullability-completeness"
 
 struct linger {
   int l_onoff;
@@ -106,6 +100,8 @@
   int cmsg_type;
 };
 
+#pragma clang diagnostic pop
+
 #define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr((mhdr), (cmsg))
 #define CMSG_ALIGN(len) ( ((len)+sizeof(long)-1) & ~(sizeof(long)-1) )
 #define CMSG_DATA(cmsg) (((unsigned char*)(cmsg) + CMSG_ALIGN(sizeof(struct cmsghdr))))
@@ -116,7 +112,7 @@
    ? (struct cmsghdr*) (msg)->msg_control : (struct cmsghdr*) NULL)
 #define CMSG_OK(mhdr, cmsg) ((cmsg)->cmsg_len >= sizeof(struct cmsghdr) &&   (cmsg)->cmsg_len <= (unsigned long)   ((mhdr)->msg_controllen -   ((char*)(cmsg) - (char*)(mhdr)->msg_control)))
 
-struct cmsghdr* __cmsg_nxthdr(struct msghdr* __msg, struct cmsghdr* __cmsg) __INTRODUCED_IN(21);
+struct cmsghdr* _Nullable __cmsg_nxthdr(struct msghdr* _Nonnull __msg, struct cmsghdr* _Nonnull __cmsg);
 
 #define SCM_RIGHTS 0x01
 #define SCM_CREDENTIALS 0x02
@@ -281,42 +277,33 @@
 
 #define IPX_TYPE 1
 
-#ifdef __i386__
-# define __socketcall extern __attribute__((__cdecl__))
-#else
-# define __socketcall extern
-#endif
+int accept(int __fd, struct sockaddr* _Nullable __addr, socklen_t* _Nullable __addr_length);
+int accept4(int __fd, struct sockaddr* _Nullable __addr, socklen_t* _Nullable __addr_length, int __flags);
+int bind(int __fd, const struct sockaddr* _Nonnull __addr, socklen_t __addr_length);
+int connect(int __fd, const struct sockaddr* _Nonnull __addr, socklen_t __addr_length);
+int getpeername(int __fd, struct sockaddr* _Nonnull __addr, socklen_t* _Nonnull __addr_length);
+int getsockname(int __fd, struct sockaddr* _Nonnull __addr, socklen_t* _Nonnull __addr_length);
+int getsockopt(int __fd, int __level, int __option, void* _Nullable __value, socklen_t* _Nonnull __value_length);
+int listen(int __fd, int __backlog);
+int recvmmsg(int __fd, struct mmsghdr* _Nonnull __msgs, unsigned int __msg_count, int __flags, const struct timespec* _Nullable __timeout);
+ssize_t recvmsg(int __fd, struct msghdr* _Nonnull __msg, int __flags);
+int sendmmsg(int __fd, const struct mmsghdr* _Nonnull __msgs, unsigned int __msg_count, int __flags);
+ssize_t sendmsg(int __fd, const struct msghdr* _Nonnull __msg, int __flags);
+int setsockopt(int __fd, int __level, int __option, const void* _Nullable __value, socklen_t __value_length);
+int shutdown(int __fd, int __how);
+int socket(int __af, int __type, int __protocol);
+int socketpair(int __af, int __type, int __protocol, int __fds[_Nonnull 2]);
 
-__socketcall int accept(int __fd, struct sockaddr* __addr, socklen_t* __addr_length);
-__socketcall int accept4(int __fd, struct sockaddr* __addr, socklen_t* __addr_length, int __flags) __INTRODUCED_IN(21);
-__socketcall int bind(int __fd, const struct sockaddr* __addr, socklen_t __addr_length);
-__socketcall int connect(int __fd, const struct sockaddr* __addr, socklen_t __addr_length);
-__socketcall int getpeername(int __fd, struct sockaddr* __addr, socklen_t* __addr_length);
-__socketcall int getsockname(int __fd, struct sockaddr* __addr, socklen_t* __addr_length);
-__socketcall int getsockopt(int __fd, int __level, int __option, void* __value, socklen_t* __value_length);
-__socketcall int listen(int __fd, int __backlog);
-__socketcall int recvmmsg(int __fd, struct mmsghdr* __msgs, unsigned int __msg_count, int __flags, const struct timespec* __timeout)
-  __INTRODUCED_IN(21);
-__socketcall ssize_t recvmsg(int __fd, struct msghdr* __msg, int __flags);
-__socketcall int sendmmsg(int __fd, const struct mmsghdr* __msgs, unsigned int __msg_count, int __flags) __INTRODUCED_IN(21);
-__socketcall ssize_t sendmsg(int __fd, const struct msghdr* __msg, int __flags);
-__socketcall int setsockopt(int __fd, int __level, int __option, const void* __value, socklen_t __value_length);
-__socketcall int shutdown(int __fd, int __how);
-__socketcall int socket(int __af, int __type, int __protocol);
-__socketcall int socketpair(int __af, int __type, int __protocol, int __fds[2]);
+ssize_t recv(int __fd, void* _Nullable __buf, size_t __n, int __flags);
+ssize_t send(int __fd, const void* _Nonnull __buf, size_t __n, int __flags);
 
-ssize_t recv(int __fd, void* __buf, size_t __n, int __flags);
-ssize_t send(int __fd, const void* __buf, size_t __n, int __flags);
-
-__socketcall ssize_t sendto(int __fd, const void* __buf, size_t __n, int __flags, const struct sockaddr* __dst_addr, socklen_t __dst_addr_length);
-__socketcall ssize_t recvfrom(int __fd, void* __buf, size_t __n, int __flags, struct sockaddr* __src_addr, socklen_t* __src_addr_length);
+ssize_t sendto(int __fd, const void* _Nonnull __buf, size_t __n, int __flags, const struct sockaddr* _Nullable __dst_addr, socklen_t __dst_addr_length);
+ssize_t recvfrom(int __fd, void* _Nullable __buf, size_t __n, int __flags, struct sockaddr* _Nullable __src_addr, socklen_t* _Nullable __src_addr_length);
 
 #if defined(__BIONIC_INCLUDE_FORTIFY_HEADERS)
 #include <bits/fortify/socket.h>
 #endif
 
-#undef __socketcall
-
 __END_DECLS
 
 #endif
diff --git a/libc/include/sys/stat.h b/libc/include/sys/stat.h
index 54621b7..0b4b248 100644
--- a/libc/include/sys/stat.h
+++ b/libc/include/sys/stat.h
@@ -33,9 +33,10 @@
  * @brief File status.
  */
 
+#include <sys/cdefs.h>
+
 #include <bits/timespec.h>
 #include <linux/stat.h>
-#include <sys/cdefs.h>
 #include <sys/types.h>
 
 __BEGIN_DECLS
@@ -99,7 +100,13 @@
 
 #endif
 
+/** The file information returned by fstat()/fstatat()/lstat()/stat(). */
 struct stat { __STAT64_BODY };
+
+/**
+ * A synonym for `struct stat` on Android,
+ * provided for source compatibility with other systems.
+ */
 struct stat64 { __STAT64_BODY };
 
 #undef __STAT64_BODY
@@ -136,32 +143,153 @@
 #define S_TYPEISSHM(__sb) 0
 #define S_TYPEISTMO(__sb) 0
 
+/**
+ * [chmod(2)](https://man7.org/linux/man-pages/man2/chmod.2.html)
+ * changes the mode of a file given a path.
+ *
+ * Returns 0 on success and returns -1 and sets `errno` on failure.
+ */
 int chmod(const char* _Nonnull __path, mode_t __mode);
+
+/**
+ * [fchmod(2)](https://man7.org/linux/man-pages/man2/fchmod.2.html)
+ * changes the mode of a file given a file descriptor.
+ *
+ * Returns 0 on success and returns -1 and sets `errno` on failure.
+ */
 int fchmod(int __fd, mode_t __mode);
+
+/**
+ * [fchmodat(2)](https://man7.org/linux/man-pages/man2/fchmodat.2.html)
+ * changes the mode of a file.
+ *
+ * Returns 0 on success and returns -1 and sets `errno` on failure.
+ */
+int fchmodat(int __dir_fd, const char* _Nonnull __path, mode_t __mode, int __flags);
+
+/**
+ * [chmod(2)](https://man7.org/linux/man-pages/man2/chmod.2.html)
+ * changes the mode of a file given a path, without following symlinks.
+ *
+ * Equivalent to `fchmodat(AT_FDCWD, path, mode, AT_SYMLINK_NOFOLLOW)`.
+ *
+ * Available since API 36.
+ *
+ * Returns 0 on success and returns -1 and sets `errno` on failure.
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(36)
+int lchmod(const char* _Nonnull __path, mode_t __mode) __INTRODUCED_IN(36);
+#endif /* __BIONIC_AVAILABILITY_GUARD(36) */
+
+
+/**
+ * [mkdir(2)](https://man7.org/linux/man-pages/man2/mkdir.2.html)
+ * creates a directory.
+ *
+ * Returns 0 on success and returns -1 and sets `errno` on failure.
+ */
 int mkdir(const char* _Nonnull __path, mode_t __mode);
 
-int fstat(int __fd, struct stat* _Nonnull __buf);
-int fstat64(int __fd, struct stat64* _Nonnull __buf) __RENAME_STAT64(fstat, 3, 21);
-int fstatat(int __dir_fd, const char* _Nonnull __path, struct stat* _Nonnull __buf, int __flags);
-int fstatat64(int __dir_fd, const char* _Nonnull __path, struct stat64* _Nonnull __buf, int __flags) __RENAME_STAT64(fstatat, 3, 21);
-int lstat(const char* _Nonnull __path, struct stat* _Nonnull __buf);
-int lstat64(const char* _Nonnull __path, struct stat64* _Nonnull __buf) __RENAME_STAT64(lstat, 3, 21);
-int stat(const char* _Nonnull __path, struct stat* _Nonnull __buf);
-int stat64(const char* _Nonnull __path, struct stat64* _Nonnull __buf) __RENAME_STAT64(stat, 3, 21);
+/**
+ * [mkdirat(2)](https://man7.org/linux/man-pages/man2/mkdirat.2.html)
+ * creates a directory.
+ *
+ * Returns 0 on success and returns -1 and sets `errno` on failure.
+ */
+int mkdirat(int __dir_fd, const char* _Nonnull __path, mode_t __mode);
 
+/**
+ * [fstat(2)](https://man7.org/linux/man-pages/man2/fstat.2.html)
+ * gets file status given a file descriptor.
+ *
+ * Returns 0 on success and returns -1 and sets `errno` on failure.
+ */
+int fstat(int __fd, struct stat* _Nonnull __buf);
+
+/** An alias for fstat(). */
+int fstat64(int __fd, struct stat64* _Nonnull __buf);
+
+/**
+ * [fstatat(2)](https://man7.org/linux/man-pages/man2/fstatat.2.html)
+ * gets file status.
+ *
+ * Returns 0 on success and returns -1 and sets `errno` on failure.
+ */
+int fstatat(int __dir_fd, const char* _Nonnull __path, struct stat* _Nonnull __buf, int __flags);
+
+/** An alias for fstatat(). */
+int fstatat64(int __dir_fd, const char* _Nonnull __path, struct stat64* _Nonnull __buf, int __flags);
+
+/**
+ * [lstat(2)](https://man7.org/linux/man-pages/man2/lstat.2.html)
+ * gets file status given a path, without following symlinks.
+ *
+ * Returns 0 on success and returns -1 and sets `errno` on failure.
+ */
+int lstat(const char* _Nonnull __path, struct stat* _Nonnull __buf);
+
+/** An alias for lstat(). */
+int lstat64(const char* _Nonnull __path, struct stat64* _Nonnull __buf);
+
+/**
+ * [stat(2)](https://man7.org/linux/man-pages/man2/stat.2.html)
+ * gets file status given a path.
+ *
+ * Returns 0 on success and returns -1 and sets `errno` on failure.
+ */
+int stat(const char* _Nonnull __path, struct stat* _Nonnull __buf);
+
+/** An alias for stat(). */
+int stat64(const char* _Nonnull __path, struct stat64* _Nonnull __buf);
+
+/**
+ * [mknod(2)](https://man7.org/linux/man-pages/man2/mknod.2.html)
+ * creates a directory, special, or regular file.
+ *
+ * Returns 0 on success and returns -1 and sets `errno` on failure.
+ */
 int mknod(const char* _Nonnull __path, mode_t __mode, dev_t __dev);
+
+/**
+ * [mknodat(2)](https://man7.org/linux/man-pages/man2/mknodat.2.html)
+ * creates a directory, special, or regular file.
+ *
+ * Returns 0 on success and returns -1 and sets `errno` on failure.
+ */
+int mknodat(int __dir_fd, const char* _Nonnull __path, mode_t __mode, dev_t __dev);
+
+/**
+ * [umask(2)](https://man7.org/linux/man-pages/man2/umask.2.html)
+ * gets and sets the process-wide file mode creation mask.
+ *
+ * Returns the previous file mode creation mask.
+ */
 mode_t umask(mode_t __mask);
 
 #if defined(__BIONIC_INCLUDE_FORTIFY_HEADERS)
 #include <bits/fortify/stat.h>
 #endif
 
-int mkfifo(const char* _Nonnull __path, mode_t __mode) __INTRODUCED_IN(21);
-int mkfifoat(int __dir_fd, const char* _Nonnull __path, mode_t __mode) __INTRODUCED_IN(23);
+/**
+ * [mkfifo(2)](https://man7.org/linux/man-pages/man2/mkfifo.2.html)
+ * creates a FIFO.
+ *
+ * Returns 0 on success and returns -1 and sets `errno` on failure.
+ */
+int mkfifo(const char* _Nonnull __path, mode_t __mode);
 
-int fchmodat(int __dir_fd, const char* _Nonnull __path, mode_t __mode, int __flags);
-int mkdirat(int __dir_fd, const char* _Nonnull __path, mode_t __mode);
-int mknodat(int __dir_fd, const char* _Nonnull __path, mode_t __mode, dev_t __dev) __INTRODUCED_IN(21);
+/**
+ * [mkfifoat(2)](https://man7.org/linux/man-pages/man2/mkfifoat.2.html)
+ * creates a FIFO.
+ *
+ * Returns 0 on success and returns -1 and sets `errno` on failure.
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
+int mkfifoat(int __dir_fd, const char* _Nonnull __path, mode_t __mode) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 /**
  * Used in the tv_nsec field of an argument to utimensat()/futimens()
@@ -200,21 +328,23 @@
  * See also UTIME_NOW and UTIME_OMIT.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
- *
- * Available since API level 19.
  */
-int futimens(int __fd, const struct timespec __times[_Nullable 2]) __INTRODUCED_IN(19);
+int futimens(int __fd, const struct timespec __times[_Nullable 2]);
 
 #if defined(__USE_GNU)
 /**
- * [statx(2)](http://man7.org/linux/man-pages/man2/statx.2.html) returns
+ * [statx(2)](https://man7.org/linux/man-pages/man2/statx.2.html) returns
  * extended file status information.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
  *
  * Available since API level 30.
  */
-int statx(int __dir_fd, const char* _Nonnull __path, int __flags, unsigned __mask, struct statx* _Nonnull __buf) __INTRODUCED_IN(30);
+
+#if __BIONIC_AVAILABILITY_GUARD(30)
+int statx(int __dir_fd, const char* _Nullable __path, int __flags, unsigned __mask, struct statx* _Nonnull __buf) __INTRODUCED_IN(30);
+#endif /* __BIONIC_AVAILABILITY_GUARD(30) */
+
 #endif
 
 __END_DECLS
diff --git a/libc/include/sys/statvfs.h b/libc/include/sys/statvfs.h
index 793ee13..860824b 100644
--- a/libc/include/sys/statvfs.h
+++ b/libc/include/sys/statvfs.h
@@ -21,8 +21,9 @@
  * @brief Filesystem statistics.
  */
 
-#include <stdint.h>
 #include <sys/cdefs.h>
+
+#include <stdint.h>
 #include <sys/types.h>
 
 __BEGIN_DECLS
@@ -88,30 +89,29 @@
 /** Flag for `f_flag` in `struct statvfs`: see `MS_RELATIME`. */
 #define ST_RELATIME    0x1000
 
+/** Flag for `f_flag` in `struct statvfs`: don't follow symlinks. */
+#define ST_NOSYMFOLLOW 0x2000
+
 /**
- * [statvfs(3)](http://man7.org/linux/man-pages/man3/statvfs.3.html)
+ * [statvfs(3)](https://man7.org/linux/man-pages/man3/statvfs.3.html)
  * queries filesystem statistics for the given path.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
- *
- * Available since API level 19.
  */
-int statvfs(const char* __path, struct statvfs* __buf) __INTRODUCED_IN(19);
+int statvfs(const char* _Nonnull __path, struct statvfs* _Nonnull __buf);
 
 /**
- * [fstatvfs(3)](http://man7.org/linux/man-pages/man3/fstatvfs.3.html)
+ * [fstatvfs(3)](https://man7.org/linux/man-pages/man3/fstatvfs.3.html)
  * queries filesystem statistics for the given file descriptor.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
- *
- * Available since API level 19.
  */
-int fstatvfs(int __fd, struct statvfs* __buf) __INTRODUCED_IN(19);
+int fstatvfs(int __fd, struct statvfs* _Nonnull __buf);
 
 /** Equivalent to statvfs() . */
-int statvfs64(const char* __path, struct statvfs64* __buf) __INTRODUCED_IN(21);
+int statvfs64(const char* _Nonnull __path, struct statvfs64* _Nonnull __buf);
 
 /** Equivalent to fstatvfs(). */
-int fstatvfs64(int __fd, struct statvfs64* __buf) __INTRODUCED_IN(21);
+int fstatvfs64(int __fd, struct statvfs64* _Nonnull __buf);
 
 __END_DECLS
diff --git a/libc/include/sys/swap.h b/libc/include/sys/swap.h
index 9d016d4..2aaf86e 100644
--- a/libc/include/sys/swap.h
+++ b/libc/include/sys/swap.h
@@ -52,21 +52,17 @@
 #define SWAP_FLAG_PRIO_SHIFT 0
 
 /**
- * [swapon(2)](http://man7.org/linux/man-pages/man2/swapon.2.html) enables swapping.
+ * [swapon(2)](https://man7.org/linux/man-pages/man2/swapon.2.html) enables swapping.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
- *
- * Available since API level 19.
  */
-int swapon(const char* _Nonnull __path,  int __flags) __INTRODUCED_IN(19);
+int swapon(const char* _Nonnull __path,  int __flags);
 
 /**
- * [swapoff(2)](http://man7.org/linux/man-pages/man2/swapoff.2.html) disables swapping.
+ * [swapoff(2)](https://man7.org/linux/man-pages/man2/swapoff.2.html) disables swapping.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
- *
- * Available since API level 19.
  */
-int swapoff(const char* _Nonnull __path) __INTRODUCED_IN(19);
+int swapoff(const char* _Nonnull __path);
 
 __END_DECLS
diff --git a/libc/include/sys/syscall.h b/libc/include/sys/syscall.h
index a49323d..9341ffb 100644
--- a/libc/include/sys/syscall.h
+++ b/libc/include/sys/syscall.h
@@ -29,9 +29,10 @@
 #ifndef _SYS_SYSCALL_H_
 #define _SYS_SYSCALL_H_
 
+#include <sys/cdefs.h>
+
 #include <asm/unistd.h> /* Linux kernel __NR_* names. */
 #include <bits/glibc-syscalls.h> /* glibc-compatible SYS_* aliases. */
-#include <sys/cdefs.h>
 
 /* The syscall function itself is declared in <unistd.h>, not here. */
 
diff --git a/libc/include/sys/sysinfo.h b/libc/include/sys/sysinfo.h
index cae5c49..ed6a007 100644
--- a/libc/include/sys/sysinfo.h
+++ b/libc/include/sys/sysinfo.h
@@ -39,24 +39,26 @@
 __BEGIN_DECLS
 
 /**
- * [sysinfo(2)](http://man7.org/linux/man-pages/man2/sysinfo.2.html) queries system information.
+ * [sysinfo(2)](https://man7.org/linux/man-pages/man2/sysinfo.2.html) queries system information.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
  */
 int sysinfo(struct sysinfo* _Nonnull __info);
 
 /**
- * [get_nprocs_conf(3)](http://man7.org/linux/man-pages/man3/get_nprocs_conf.3.html) returns
+ * [get_nprocs_conf(3)](https://man7.org/linux/man-pages/man3/get_nprocs_conf.3.html) returns
  * the total number of processors in the system.
  *
  * Available since API level 23.
  *
  * See also sysconf().
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 int get_nprocs_conf(void) __INTRODUCED_IN(23);
 
 /**
- * [get_nprocs(3)](http://man7.org/linux/man-pages/man3/get_nprocs.3.html) returns
+ * [get_nprocs(3)](https://man7.org/linux/man-pages/man3/get_nprocs.3.html) returns
  * the number of processors in the system that are currently on-line.
  *
  * Available since API level 23.
@@ -66,7 +68,7 @@
 int get_nprocs(void) __INTRODUCED_IN(23);
 
 /**
- * [get_phys_pages(3)](http://man7.org/linux/man-pages/man3/get_phys_pages.3.html) returns
+ * [get_phys_pages(3)](https://man7.org/linux/man-pages/man3/get_phys_pages.3.html) returns
  * the total number of physical pages in the system.
  *
  * Available since API level 23.
@@ -76,7 +78,7 @@
 long get_phys_pages(void) __INTRODUCED_IN(23);
 
 /**
- * [get_avphys_pages(3)](http://man7.org/linux/man-pages/man3/get_avphys_pages.3.html) returns
+ * [get_avphys_pages(3)](https://man7.org/linux/man-pages/man3/get_avphys_pages.3.html) returns
  * the number of physical pages in the system that are currently available.
  *
  * Available since API level 23.
@@ -84,5 +86,7 @@
  * See also sysconf().
  */
 long get_avphys_pages(void) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 __END_DECLS
diff --git a/libc/include/sys/system_properties.h b/libc/include/sys/system_properties.h
index a2e1923..1303079 100644
--- a/libc/include/sys/system_properties.h
+++ b/libc/include/sys/system_properties.h
@@ -26,8 +26,12 @@
  * SUCH DAMAGE.
  */
 
-#ifndef _INCLUDE_SYS_SYSTEM_PROPERTIES_H
-#define _INCLUDE_SYS_SYSTEM_PROPERTIES_H
+#pragma once
+
+/**
+ * @file system_properties.h
+ * @brief System properties.
+ */
 
 #include <sys/cdefs.h>
 #include <stdbool.h>
@@ -36,43 +40,60 @@
 
 __BEGIN_DECLS
 
+/** An opaque structure representing a system property. */
 typedef struct prop_info prop_info;
 
+/**
+ * The limit on the length of a property value.
+ * (See PROP_NAME_MAX for property names.)
+ */
 #define PROP_VALUE_MAX  92
 
-/*
+/**
  * Sets system property `name` to `value`, creating the system property if it doesn't already exist.
- */
-int __system_property_set(const char* __name, const char* __value);
-
-/*
- * Returns a `prop_info` corresponding system property `name`, or nullptr if it doesn't exist.
- * Use __system_property_read_callback to query the current value.
  *
- * Property lookup is expensive, so it can be useful to cache the result of this function.
+ * Returns 0 on success, or -1 on failure.
  */
-const prop_info* __system_property_find(const char* __name);
+int __system_property_set(const char* _Nonnull __name, const char* _Nonnull __value);
 
-/*
- * Calls `callback` with a consistent trio of name, value, and serial number for property `pi`.
+/**
+ * Returns a `prop_info` corresponding system property `name`, or nullptr if it doesn't exist.
+ * Use __system_property_read_callback() to query the current value.
+ *
+ * Property lookup is expensive, so it can be useful to cache the result of this
+ * function rather than using __system_property_get().
  */
-void __system_property_read_callback(const prop_info* __pi,
-    void (*__callback)(void* __cookie, const char* __name, const char* __value, uint32_t __serial),
-    void* __cookie) __INTRODUCED_IN(26);
+const prop_info* _Nullable __system_property_find(const char* _Nonnull __name);
 
-/*
+/**
+ * Calls `callback` with a consistent trio of name, value, and serial number
+ * for property `pi`.
+ *
+ * Available since API level 26.
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+void __system_property_read_callback(const prop_info* _Nonnull __pi,
+    void (* _Nonnull __callback)(void* _Nullable __cookie, const char* _Nonnull __name, const char* _Nonnull __value, uint32_t __serial),
+    void* _Nullable __cookie) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
+
+/**
  * Passes a `prop_info` for each system property to the provided
- * callback.  Use __system_property_read_callback() to read the value.
+ * callback. Use __system_property_read_callback() to read the value of
+ * any of the properties.
  *
  * This method is for inspecting and debugging the property system, and not generally useful.
+ *
+ * Returns 0 on success, or -1 on failure.
  */
-int __system_property_foreach(void (*__callback)(const prop_info* __pi, void* __cookie), void* __cookie)
-  __INTRODUCED_IN(19);
+int __system_property_foreach(void (* _Nonnull __callback)(const prop_info* _Nonnull __pi, void* _Nullable __cookie), void* _Nullable __cookie);
 
-/*
+/**
  * Waits for the specific system property identified by `pi` to be updated
  * past `old_serial`. Waits no longer than `relative_timeout`, or forever
- * if `relaive_timeout` is null.
+ * if `relative_timeout` is null.
  *
  * If `pi` is null, waits for the global serial number instead.
  *
@@ -80,20 +101,157 @@
  *
  * Returns true and updates `*new_serial_ptr` on success, or false if the call
  * timed out.
+ *
+ * Available since API level 26.
  */
 struct timespec;
-bool __system_property_wait(const prop_info* __pi, uint32_t __old_serial, uint32_t* __new_serial_ptr, const struct timespec* __relative_timeout)
-    __INTRODUCED_IN(26);
 
-/* Deprecated. In Android O and above, there's no limit on property name length. */
+#if __BIONIC_AVAILABILITY_GUARD(26)
+bool __system_property_wait(const prop_info* _Nullable __pi, uint32_t __old_serial, uint32_t* _Nonnull __new_serial_ptr, const struct timespec* _Nullable __relative_timeout)
+    __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
+
+/**
+ * Deprecated: there's no limit on the length of a property name since
+ * API level 26, though the limit on property values (PROP_VALUE_MAX) remains.
+ */
 #define PROP_NAME_MAX   32
-/* Deprecated. Use __system_property_read_callback instead. */
-int __system_property_read(const prop_info* __pi, char* __name, char* __value);
-/* Deprecated. Use __system_property_read_callback instead. */
-int __system_property_get(const char* __name, char* __value);
-/* Deprecated. Use __system_property_foreach instead. */
-const prop_info* __system_property_find_nth(unsigned __n);
+
+/** Deprecated. Use __system_property_foreach() instead. */
+const prop_info* _Nullable __system_property_find_nth(unsigned __n);
+/** Deprecated. Use __system_property_read_callback() instead. */
+int __system_property_read(const prop_info* _Nonnull __pi, char* _Nullable __name, char* _Nonnull __value);
+/** Deprecated. Use __system_property_read_callback() instead. */
+int __system_property_get(const char* _Nonnull __name, char* _Nonnull __value);
+/** Deprecated: use __system_property_wait() instead. */
+uint32_t __system_property_wait_any(uint32_t __old_serial);
+
+/**
+ * Reads the global serial number of the system properties _area_.
+ *
+ * Called to predict if a series of cached __system_property_find()
+ * objects will have seen __system_property_serial() values change.
+ * Also aids the converse, as changes in the global serial can
+ * also be used to predict if a failed __system_property_find()
+ * could in turn now find a new object; thus preventing the
+ * cycles of effort to poll __system_property_find().
+ *
+ * Typically called at beginning of a cache cycle to signal if _any_ possible
+ * changes have occurred since last. If there is, one may check each individual
+ * __system_property_serial() to confirm dirty, or __system_property_find()
+ * to check if the property now exists. If a call to __system_property_add()
+ * or __system_property_update() has completed between two calls to
+ * __system_property_area_serial() then the second call will return a larger
+ * value than the first call. Beware of race conditions as changes to the
+ * properties are not atomic, the main value of this call is to determine
+ * whether the expensive __system_property_find() is worth retrying to see if
+ * a property now exists.
+ *
+ * Returns the serial number on success, -1 on error.
+ */
+uint32_t __system_property_area_serial(void);
+
+/**
+ * Reads the serial number of a specific system property previously returned by
+ * __system_property_find(). This is a cheap way to check whether a system
+ * property has changed or not.
+ *
+ * Returns the serial number on success, -1 on error.
+ */
+uint32_t __system_property_serial(const prop_info* _Nonnull __pi);
+
+//
+// libc implementation detail.
+//
+
+/**
+ * Initializes the system properties area in read-only mode.
+ *
+ * This is called automatically during libc initialization,
+ * so user code should never need to call this.
+ *
+ * Returns 0 on success, -1 otherwise.
+ */
+int __system_properties_init(void);
+
+//
+// init implementation details.
+//
+
+#define PROP_SERVICE_NAME "property_service"
+#define PROP_SERVICE_FOR_SYSTEM_NAME "property_service_for_system"
+#define PROP_DIRNAME "/dev/__properties__"
+
+// Messages sent to init.
+#define PROP_MSG_SETPROP 1
+#define PROP_MSG_SETPROP2 0x00020001
+
+// Status codes returned by init (but not passed from libc to the caller).
+#define PROP_SUCCESS 0
+#define PROP_ERROR_READ_CMD 0x0004
+#define PROP_ERROR_READ_DATA 0x0008
+#define PROP_ERROR_READ_ONLY_PROPERTY 0x000B
+#define PROP_ERROR_INVALID_NAME 0x0010
+#define PROP_ERROR_INVALID_VALUE 0x0014
+#define PROP_ERROR_PERMISSION_DENIED 0x0018
+#define PROP_ERROR_INVALID_CMD 0x001B
+#define PROP_ERROR_HANDLE_CONTROL_MESSAGE 0x0020
+#define PROP_ERROR_SET_FAILED 0x0024
+
+/**
+ * Initializes the area to be used to store properties.
+ *
+ * Can only be done by the process that has write access to the property area,
+ * typically init.
+ *
+ * See __system_properties_init() for the equivalent for all other processes.
+ */
+int __system_property_area_init(void);
+
+/**
+ * Adds a new system property.
+ * Can only be done by the process that has write access to the property area --
+ * typically init -- which must handle sequencing to ensure that only one property is
+ * updated at a time.
+ *
+ * Returns 0 on success, -1 if the property area is full.
+ */
+int __system_property_add(const char* _Nonnull __name, unsigned int __name_length, const char* _Nonnull __value, unsigned int __value_length);
+
+/**
+ * Updates the value of a system property returned by __system_property_find().
+ * Can only be done by the process that has write access to the property area --
+ * typically init -- which must handle sequencing to ensure that only one property is
+ * updated at a time.
+ *
+ * Returns 0 on success, -1 if the parameters are incorrect.
+ */
+int __system_property_update(prop_info* _Nonnull __pi, const char* _Nonnull __value, unsigned int __value_length);
+
+/**
+ * Reloads the system properties from disk.
+ * Not intended for use by any apps except the Zygote.
+ * Should only be called from the main thread.
+ *
+ * Pointers received from functions such as __system_property_find()
+ * may be invalidated by calls to this function.
+ *
+ * Returns 0 on success, -1 otherwise.
+ *
+ * Available since API level 35.
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(35)
+int __system_properties_zygote_reload(void) __INTRODUCED_IN(35);
+#endif /* __BIONIC_AVAILABILITY_GUARD(35) */
+
+
+/**
+ * Deprecated: previously for testing, but now that SystemProperties is its own
+ * testable class, there is never a reason to call this function and its
+ * implementation simply returns -1.
+ */
+int __system_property_set_filename(const char* _Nullable __unused __filename);
 
 __END_DECLS
-
-#endif
diff --git a/libc/include/sys/thread_properties.h b/libc/include/sys/thread_properties.h
index b5d30c7..b6214ee 100644
--- a/libc/include/sys/thread_properties.h
+++ b/libc/include/sys/thread_properties.h
@@ -50,8 +50,10 @@
  *
  * Available since API level 31.
  */
-void __libc_get_static_tls_bounds(void** __static_tls_begin,
-                                  void** __static_tls_end) __INTRODUCED_IN(31);
+
+#if __BIONIC_AVAILABILITY_GUARD(31)
+void __libc_get_static_tls_bounds(void* _Nonnull * _Nonnull __static_tls_begin,
+                                  void* _Nonnull * _Nonnull __static_tls_end) __INTRODUCED_IN(31);
 
 
 /**
@@ -66,7 +68,7 @@
  *
  * Available since API level 31.
  */
-void __libc_register_thread_exit_callback(void (*__cb)(void)) __INTRODUCED_IN(31);
+void __libc_register_thread_exit_callback(void (* _Nonnull __cb)(void)) __INTRODUCED_IN(31);
 
 /**
  * Iterates over all dynamic TLS chunks for the given thread.
@@ -76,11 +78,11 @@
  * Available since API level 31.
  */
 void __libc_iterate_dynamic_tls(pid_t __tid,
-                                void (*__cb)(void* __dynamic_tls_begin,
-                                             void* __dynamic_tls_end,
+                                void (* _Nonnull __cb)(void* _Nonnull __dynamic_tls_begin,
+                                             void* _Nonnull __dynamic_tls_end,
                                              size_t __dso_id,
-                                             void* __arg),
-                                void* __arg) __INTRODUCED_IN(31);
+                                             void* _Nullable __arg),
+                                void* _Nullable __arg) __INTRODUCED_IN(31);
 
 /**
  * Register on_creation and on_destruction callbacks, which will be called after a dynamic
@@ -89,9 +91,11 @@
  * Available since API level 31.
  */
 void __libc_register_dynamic_tls_listeners(
-    void (*__on_creation)(void* __dynamic_tls_begin,
-                          void* __dynamic_tls_end),
-    void (*__on_destruction)(void* __dynamic_tls_begin,
-                             void* __dynamic_tls_end)) __INTRODUCED_IN(31);
+    void (* _Nonnull __on_creation)(void* _Nonnull __dynamic_tls_begin,
+                          void* _Nonnull __dynamic_tls_end),
+    void (* _Nonnull __on_destruction)(void* _Nonnull __dynamic_tls_begin,
+                             void* _Nonnull __dynamic_tls_end)) __INTRODUCED_IN(31);
+#endif /* __BIONIC_AVAILABILITY_GUARD(31) */
+
 
 __END_DECLS
diff --git a/libc/include/sys/time.h b/libc/include/sys/time.h
index 45190c3..d12c306 100644
--- a/libc/include/sys/time.h
+++ b/libc/include/sys/time.h
@@ -38,21 +38,42 @@
 
 __BEGIN_DECLS
 
-int gettimeofday(struct timeval* __tv, struct timezone* __tz);
-int settimeofday(const struct timeval* __tv, const struct timezone* __tz);
+int gettimeofday(struct timeval* _Nullable __tv, struct timezone* _Nullable __tz);
+int settimeofday(const struct timeval* _Nullable __tv, const struct timezone* _Nullable __tz);
 
-int getitimer(int __which, struct itimerval* __current_value);
-int setitimer(int __which, const struct itimerval* __new_value, struct itimerval* __old_value);
+int getitimer(int __which, struct itimerval* _Nonnull __current_value);
+int setitimer(int __which, const struct itimerval* _Nonnull __new_value, struct itimerval* _Nullable __old_value);
 
-int utimes(const char* __path, const struct timeval __times[2]);
+int utimes(const char* _Nonnull __path, const struct timeval __times[_Nullable 2]);
 
 #if defined(__USE_BSD)
-int futimes(int __fd, const struct timeval __times[2]) __INTRODUCED_IN(26);
-int lutimes(const char* __path, const struct timeval __times[2]) __INTRODUCED_IN(26);
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+int futimes(int __fd, const struct timeval __times[_Nullable 2]) __INTRODUCED_IN(26);
+int lutimes(const char* _Nonnull __path, const struct timeval __times[_Nullable 2]) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 #endif
 
 #if defined(__USE_GNU)
-int futimesat(int __dir_fd, const char* __path, const struct timeval __times[2]) __INTRODUCED_IN(26);
+/**
+ * [futimesat(2)](https://man7.org/linux/man-pages/man2/futimesat.2.html) sets
+ * file timestamps.
+ *
+ * Note: Linux supports `__path` being NULL (in which case `__dir_fd` need not
+ * be a directory), allowing futimensat() to be implemented with utimensat().
+ * Most callers should just use utimensat() directly, especially on Android
+ * where utimensat() has been available for longer than futimesat().
+ *
+ * Returns 0 on success and -1 and sets `errno` on failure.
+ *
+ * Available since API level 26.
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
+int futimesat(int __dir_fd, const char* __BIONIC_COMPLICATED_NULLNESS __path, const struct timeval __times[_Nullable 2]) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 #endif
 
 #define timerclear(a)   \
diff --git a/libc/include/sys/timerfd.h b/libc/include/sys/timerfd.h
index b89941b..f7f1ffa 100644
--- a/libc/include/sys/timerfd.h
+++ b/libc/include/sys/timerfd.h
@@ -33,27 +33,29 @@
  * @brief Timer file descriptors.
  */
 
-#include <fcntl.h> /* For O_CLOEXEC and O_NONBLOCK. */
-#include <time.h>
 #include <sys/cdefs.h>
+
+#include <fcntl.h>
+#include <linux/timerfd.h>
+#include <time.h>
 #include <sys/types.h>
 
 __BEGIN_DECLS
 
-/** The timerfd_create() flag for a close-on-exec file descriptor. */
-#define TFD_CLOEXEC O_CLOEXEC
-/** The timerfd_create() flag for a non-blocking file descriptor. */
-#define TFD_NONBLOCK O_NONBLOCK
+/*! \macro TFD_CLOEXEC
+ * The timerfd_create() flag for a close-on-exec file descriptor.
+ */
+/*! \macro TFD_NONBLOCK
+ * The timerfd_create() flag for a non-blocking file descriptor.
+ */
 
 /**
- * [timerfd_create(2)](http://man7.org/linux/man-pages/man2/timerfd_create.2.html) creates a
+ * [timerfd_create(2)](https://man7.org/linux/man-pages/man2/timerfd_create.2.html) creates a
  * timer file descriptor.
  *
  * Returns the new file descriptor on success, and returns -1 and sets `errno` on failure.
- *
- * Available since API level 19.
  */
-int timerfd_create(clockid_t __clock, int __flags) __INTRODUCED_IN(19);
+int timerfd_create(clockid_t __clock, int __flags);
 
 /** The timerfd_settime() flag to use absolute rather than relative times. */
 #define TFD_TIMER_ABSTIME (1 << 0)
@@ -61,23 +63,19 @@
 #define TFD_TIMER_CANCEL_ON_SET (1 << 1)
 
 /**
- * [timerfd_settime(2)](http://man7.org/linux/man-pages/man2/timerfd_settime.2.html) starts or
+ * [timerfd_settime(2)](https://man7.org/linux/man-pages/man2/timerfd_settime.2.html) starts or
  * stops a timer.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
- *
- * Available since API level 19.
  */
-int timerfd_settime(int __fd, int __flags, const struct itimerspec* __new_value, struct itimerspec* __old_value) __INTRODUCED_IN(19);
+int timerfd_settime(int __fd, int __flags, const struct itimerspec* _Nonnull __new_value, struct itimerspec* _Nullable __old_value);
 
 /**
- * [timerfd_gettime(2)](http://man7.org/linux/man-pages/man2/timerfd_gettime.2.html) queries the
+ * [timerfd_gettime(2)](https://man7.org/linux/man-pages/man2/timerfd_gettime.2.html) queries the
  * current timer settings.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
- *
- * Available since API level 19.
  */
-int timerfd_gettime(int __fd, struct itimerspec* __current_value) __INTRODUCED_IN(19);
+int timerfd_gettime(int __fd, struct itimerspec* _Nonnull __current_value);
 
 __END_DECLS
diff --git a/libc/include/sys/times.h b/libc/include/sys/times.h
index 25d03e3..ac6ec18 100644
--- a/libc/include/sys/times.h
+++ b/libc/include/sys/times.h
@@ -40,12 +40,12 @@
 __BEGIN_DECLS
 
 /**
- * [times(2)](http://man7.org/linux/man-pages/man2/times.2.html) fills a buffer with the
+ * [times(2)](https://man7.org/linux/man-pages/man2/times.2.html) fills a buffer with the
  * calling process' CPU usage.
  *
  * Returns a (possibly overflowed) absolute time on success,
  * and returns -1 and sets `errno` on failure.
  */
-clock_t times(struct tms* __buf);
+clock_t times(struct tms* _Nullable __buf);
 
 __END_DECLS
diff --git a/libc/include/sys/timex.h b/libc/include/sys/timex.h
index 52db5dc..6fb58e4 100644
--- a/libc/include/sys/timex.h
+++ b/libc/include/sys/timex.h
@@ -40,13 +40,15 @@
 __BEGIN_DECLS
 
 /**
- * [adjtimex(2)](http://man7.org/linux/man-pages/man2/adjtimex.2.html) adjusts the kernel clock.
+ * [adjtimex(2)](https://man7.org/linux/man-pages/man2/adjtimex.2.html) adjusts the kernel clock.
  *
  * Returns the clock state on success, and returns -1 and sets `errno` on failure.
  *
  * Available since API level 24.
  */
-int adjtimex(struct timex* __buf) __INTRODUCED_IN(24);
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
+int adjtimex(struct timex* _Nonnull __buf) __INTRODUCED_IN(24);
 
 /**
  * clock_adjtime adjusts a specific kernel clock.
@@ -55,6 +57,8 @@
  *
  * Available since API level 24.
  */
-int clock_adjtime(clockid_t __clock, struct timex* __tx) __INTRODUCED_IN(24);
+int clock_adjtime(clockid_t __clock, struct timex* _Nonnull __tx) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
 
 __END_DECLS
diff --git a/libc/include/sys/types.h b/libc/include/sys/types.h
index f07c8fd..0446260 100644
--- a/libc/include/sys/types.h
+++ b/libc/include/sys/types.h
@@ -29,9 +29,10 @@
 #ifndef _SYS_TYPES_H_
 #define _SYS_TYPES_H_
 
+#include <sys/cdefs.h>
+
 #include <stddef.h>
 #include <stdint.h>
-#include <sys/cdefs.h>
 
 #include <linux/types.h>
 #include <linux/posix_types.h>
@@ -96,7 +97,7 @@
 typedef __time_t time_t;
 
 /* This historical accident means that we had a 32-bit off_t on 32-bit architectures. */
-/* See https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md */
+/* See https://android.googlesource.com/platform/bionic/+/main/docs/32-bit-abi.md */
 #if defined(__USE_FILE_OFFSET64) || defined(__LP64__)
 typedef int64_t off_t;
 typedef off_t loff_t;
diff --git a/libc/include/sys/ucontext.h b/libc/include/sys/ucontext.h
index bb6443b..4f4d5ce 100644
--- a/libc/include/sys/ucontext.h
+++ b/libc/include/sys/ucontext.h
@@ -318,12 +318,20 @@
 
 #if defined(__USE_GNU)
 
-#define REG_PC 0
-#define REG_RA 1
-#define REG_SP 2
-#define REG_TP 4
-#define REG_S0 8
-#define REG_A0 10
+enum {
+  REG_PC = 0,
+#define REG_PC REG_PC
+  REG_RA = 1,
+#define REG_RA REG_RA
+  REG_SP = 2,
+#define REG_SP REG_SP
+  REG_TP = 4,
+#define REG_TP REG_TP
+  REG_S0 = 8,
+#define REG_S0 REG_S0
+  REG_A0 = 10,
+#define REG_A0 REG_A0
+};
 
 #endif // defined(__USE_GNU)
 
diff --git a/libc/include/sys/uio.h b/libc/include/sys/uio.h
index 583cfc6..eff3b14 100644
--- a/libc/include/sys/uio.h
+++ b/libc/include/sys/uio.h
@@ -40,27 +40,27 @@
 __BEGIN_DECLS
 
 /**
- * [readv(2)](http://man7.org/linux/man-pages/man2/readv.2.html) reads
+ * [readv(2)](https://man7.org/linux/man-pages/man2/readv.2.html) reads
  * from an fd into the `__count` buffers described by `__iov`.
  *
  * Returns the number of bytes read on success,
  * and returns -1 and sets `errno` on failure.
  */
-ssize_t readv(int __fd, const struct iovec* __iov, int __count);
+ssize_t readv(int __fd, const struct iovec* _Nonnull __iov, int __count);
 
 /**
- * [writev(2)](http://man7.org/linux/man-pages/man2/writev.2.html) writes
+ * [writev(2)](https://man7.org/linux/man-pages/man2/writev.2.html) writes
  * to an fd from the `__count` buffers described by `__iov`.
  *
  * Returns the number of bytes written on success,
  * and returns -1 and sets `errno` on failure.
  */
-ssize_t writev(int __fd, const struct iovec* __iov, int __count);
+ssize_t writev(int __fd, const struct iovec* _Nonnull __iov, int __count);
 
 #if defined(__USE_GNU)
 
 /**
- * [preadv(2)](http://man7.org/linux/man-pages/man2/preadv.2.html) reads
+ * [preadv(2)](https://man7.org/linux/man-pages/man2/preadv.2.html) reads
  * from an fd into the `__count` buffers described by `__iov`, starting at
  * offset `__offset` into the file.
  *
@@ -69,10 +69,12 @@
  *
  * Available since API level 24.
  */
-ssize_t preadv(int __fd, const struct iovec* __iov, int __count, off_t __offset) __RENAME_IF_FILE_OFFSET64(preadv64) __INTRODUCED_IN(24);
+
+#if __BIONIC_AVAILABILITY_GUARD(24)
+ssize_t preadv(int __fd, const struct iovec* _Nonnull __iov, int __count, off_t __offset) __RENAME_IF_FILE_OFFSET64(preadv64) __INTRODUCED_IN(24);
 
 /**
- * [pwritev(2)](http://man7.org/linux/man-pages/man2/pwritev.2.html) writes
+ * [pwritev(2)](https://man7.org/linux/man-pages/man2/pwritev.2.html) writes
  * to an fd from the `__count` buffers described by `__iov`, starting at offset
  * `__offset` into the file.
  *
@@ -81,24 +83,26 @@
  *
  * Available since API level 24.
  */
-ssize_t pwritev(int __fd, const struct iovec* __iov, int __count, off_t __offset) __RENAME_IF_FILE_OFFSET64(pwritev64) __INTRODUCED_IN(24);
+ssize_t pwritev(int __fd, const struct iovec* _Nonnull __iov, int __count, off_t __offset) __RENAME_IF_FILE_OFFSET64(pwritev64) __INTRODUCED_IN(24);
 
 /**
  * Like preadv() but with a 64-bit offset even in a 32-bit process.
  *
  * Available since API level 24.
  */
-ssize_t preadv64(int __fd, const struct iovec* __iov, int __count, off64_t __offset) __INTRODUCED_IN(24);
+ssize_t preadv64(int __fd, const struct iovec* _Nonnull __iov, int __count, off64_t __offset) __INTRODUCED_IN(24);
 
 /**
  * Like pwritev() but with a 64-bit offset even in a 32-bit process.
  *
  * Available since API level 24.
  */
-ssize_t pwritev64(int __fd, const struct iovec* __iov, int __count, off64_t __offset) __INTRODUCED_IN(24);
+ssize_t pwritev64(int __fd, const struct iovec* _Nonnull __iov, int __count, off64_t __offset) __INTRODUCED_IN(24);
+#endif /* __BIONIC_AVAILABILITY_GUARD(24) */
+
 
 /**
- * [preadv2(2)](http://man7.org/linux/man-pages/man2/preadv2.2.html) reads
+ * [preadv2(2)](https://man7.org/linux/man-pages/man2/preadv2.2.html) reads
  * from an fd into the `__count` buffers described by `__iov`, starting at
  * offset `__offset` into the file, with the given flags.
  *
@@ -107,10 +111,12 @@
  *
  * Available since API level 33.
  */
-ssize_t preadv2(int __fd, const struct iovec* __iov, int __count, off_t __offset, int __flags) __RENAME_IF_FILE_OFFSET64(preadv64v2) __INTRODUCED_IN(33);
+
+#if __BIONIC_AVAILABILITY_GUARD(33)
+ssize_t preadv2(int __fd, const struct iovec* _Nonnull __iov, int __count, off_t __offset, int __flags) __RENAME_IF_FILE_OFFSET64(preadv64v2) __INTRODUCED_IN(33);
 
 /**
- * [pwritev2(2)](http://man7.org/linux/man-pages/man2/pwritev2.2.html) writes
+ * [pwritev2(2)](https://man7.org/linux/man-pages/man2/pwritev2.2.html) writes
  * to an fd from the `__count` buffers described by `__iov`, starting at offset
  * `__offset` into the file, with the given flags.
  *
@@ -119,24 +125,26 @@
  *
  * Available since API level 33.
  */
-ssize_t pwritev2(int __fd, const struct iovec* __iov, int __count, off_t __offset, int __flags) __RENAME_IF_FILE_OFFSET64(pwritev64v2) __INTRODUCED_IN(33);
+ssize_t pwritev2(int __fd, const struct iovec* _Nonnull __iov, int __count, off_t __offset, int __flags) __RENAME_IF_FILE_OFFSET64(pwritev64v2) __INTRODUCED_IN(33);
 
 /**
  * Like preadv2() but with a 64-bit offset even in a 32-bit process.
  *
  * Available since API level 33.
  */
-ssize_t preadv64v2(int __fd, const struct iovec* __iov, int __count, off64_t __offset, int __flags) __INTRODUCED_IN(33);
+ssize_t preadv64v2(int __fd, const struct iovec* _Nonnull __iov, int __count, off64_t __offset, int __flags) __INTRODUCED_IN(33);
 
 /**
  * Like pwritev2() but with a 64-bit offset even in a 32-bit process.
  *
  * Available since API level 33.
  */
-ssize_t pwritev64v2(int __fd, const struct iovec* __iov, int __count, off64_t __offset, int __flags) __INTRODUCED_IN(33);
+ssize_t pwritev64v2(int __fd, const struct iovec* _Nonnull __iov, int __count, off64_t __offset, int __flags) __INTRODUCED_IN(33);
+#endif /* __BIONIC_AVAILABILITY_GUARD(33) */
+
 
 /**
- * [process_vm_readv(2)](http://man7.org/linux/man-pages/man2/process_vm_readv.2.html)
+ * [process_vm_readv(2)](https://man7.org/linux/man-pages/man2/process_vm_readv.2.html)
  * reads from the address space of another process.
  *
  * Returns the number of bytes read on success,
@@ -144,10 +152,12 @@
  *
  * Available since API level 23.
  */
-ssize_t process_vm_readv(pid_t __pid, const struct iovec* __local_iov, unsigned long __local_iov_count, const struct iovec* __remote_iov, unsigned long __remote_iov_count, unsigned long __flags) __INTRODUCED_IN(23);
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
+ssize_t process_vm_readv(pid_t __pid, const struct iovec* __BIONIC_COMPLICATED_NULLNESS __local_iov, unsigned long __local_iov_count, const struct iovec* __BIONIC_COMPLICATED_NULLNESS __remote_iov, unsigned long __remote_iov_count, unsigned long __flags) __INTRODUCED_IN(23);
 
 /**
- * [process_vm_writev(2)](http://man7.org/linux/man-pages/man2/process_vm_writev.2.html)
+ * [process_vm_writev(2)](https://man7.org/linux/man-pages/man2/process_vm_writev.2.html)
  * writes to the address space of another process.
  *
  * Returns the number of bytes read on success,
@@ -155,7 +165,9 @@
  *
  * Available since API level 23.
  */
-ssize_t process_vm_writev(pid_t __pid, const struct iovec* __local_iov, unsigned long __local_iov_count, const struct iovec* __remote_iov, unsigned long __remote_iov_count, unsigned long __flags) __INTRODUCED_IN(23);
+ssize_t process_vm_writev(pid_t __pid, const struct iovec* __BIONIC_COMPLICATED_NULLNESS __local_iov, unsigned long __local_iov_count, const struct iovec* __BIONIC_COMPLICATED_NULLNESS __remote_iov, unsigned long __remote_iov_count, unsigned long __flags) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 #endif
 
diff --git a/libc/include/sys/un.h b/libc/include/sys/un.h
index 83c1d17..c2bfcb0 100644
--- a/libc/include/sys/un.h
+++ b/libc/include/sys/un.h
@@ -33,9 +33,10 @@
  * @brief Unix domain sockets.
  */
 
+#include <sys/cdefs.h>
+
 #include <bits/sa_family_t.h>
 #include <linux/un.h>
-#include <sys/cdefs.h>
 
 #if defined(__USE_BSD) || defined(__USE_GNU)
 #include <string.h>
diff --git a/libc/include/sys/user.h b/libc/include/sys/user.h
index 432c7cb..1d20034 100644
--- a/libc/include/sys/user.h
+++ b/libc/include/sys/user.h
@@ -32,10 +32,9 @@
 #include <stddef.h> /* For size_t. */
 #include <stdint.h>
 
-__BEGIN_DECLS
+#include <bits/page_size.h>
 
-#define PAGE_SIZE 4096
-#define PAGE_MASK (~(PAGE_SIZE - 1))
+__BEGIN_DECLS
 
 #if defined(__i386__)
 
diff --git a/libc/include/sys/utsname.h b/libc/include/sys/utsname.h
index aa8c1a0..23d1282 100644
--- a/libc/include/sys/utsname.h
+++ b/libc/include/sys/utsname.h
@@ -57,7 +57,7 @@
 };
 
 /**
- * [uname(2)](http://man7.org/linux/man-pages/man2/uname.2.html) returns information
+ * [uname(2)](https://man7.org/linux/man-pages/man2/uname.2.html) returns information
  * about the kernel.
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
diff --git a/libc/include/sys/vfs.h b/libc/include/sys/vfs.h
index 18ae428..5d078be 100644
--- a/libc/include/sys/vfs.h
+++ b/libc/include/sys/vfs.h
@@ -29,8 +29,9 @@
 #ifndef _SYS_VFS_H_
 #define _SYS_VFS_H_
 
-#include <stdint.h>
 #include <sys/cdefs.h>
+
+#include <stdint.h>
 #include <sys/types.h>
 
 __BEGIN_DECLS
@@ -40,6 +41,8 @@
 typedef __fsid_t fsid_t;
 
 #if defined(__LP64__)
+/* We can't just use the kernel struct statfs directly here because
+ * it's reused for both struct statfs *and* struct statfs64. */
 #define __STATFS64_BODY \
   uint64_t f_type; \
   uint64_t f_bsize; \
@@ -105,9 +108,9 @@
 #define XFS_SUPER_MAGIC       0x58465342
 
 int statfs(const char* _Nonnull __path, struct statfs* _Nonnull __buf);
-int statfs64(const char* _Nonnull __path, struct statfs64* _Nonnull __buf) __INTRODUCED_IN(21);
+int statfs64(const char* _Nonnull __path, struct statfs64* _Nonnull __buf);
 int fstatfs(int __fd, struct statfs* _Nonnull __buf);
-int fstatfs64(int __fd, struct statfs64* _Nonnull __buf) __INTRODUCED_IN(21);
+int fstatfs64(int __fd, struct statfs64* _Nonnull __buf);
 
 __END_DECLS
 
diff --git a/libc/include/sys/wait.h b/libc/include/sys/wait.h
index e6fb855..632aa43 100644
--- a/libc/include/sys/wait.h
+++ b/libc/include/sys/wait.h
@@ -28,8 +28,9 @@
 
 #pragma once
 
-#include <bits/wait.h>
 #include <sys/cdefs.h>
+
+#include <bits/wait.h>
 #include <sys/types.h>
 #include <sys/resource.h>
 #include <linux/wait.h>
@@ -39,7 +40,7 @@
 
 pid_t wait(int* _Nullable __status);
 pid_t waitpid(pid_t __pid, int* _Nullable __status, int __options);
-pid_t wait4(pid_t __pid, int* _Nullable __status, int __options, struct rusage* _Nullable __rusage) __INTRODUCED_IN(18);
+pid_t wait4(pid_t __pid, int* _Nullable __status, int __options, struct rusage* _Nullable __rusage);
 
 /* Posix states that idtype_t should be an enumeration type, but
  * the kernel headers define P_ALL, P_PID and P_PGID as constant macros
diff --git a/libc/include/sys/xattr.h b/libc/include/sys/xattr.h
index dc58026..ebe4eb8 100644
--- a/libc/include/sys/xattr.h
+++ b/libc/include/sys/xattr.h
@@ -33,126 +33,151 @@
  * @brief Extended attribute functions.
  */
 
-#include <linux/xattr.h>
 #include <sys/cdefs.h>
+
+#include <linux/xattr.h>
 #include <sys/types.h>
 
 __BEGIN_DECLS
 
 /**
- * [fsetxattr(2)](http://man7.org/linux/man-pages/man2/fsetxattr.2.html)
+ * [fsetxattr(2)](https://man7.org/linux/man-pages/man2/fsetxattr.2.html)
  * sets an extended attribute on the file referred to by the given file
  * descriptor.
  *
+ * A `size` of 0 can be used to set an empty value, in which case `value` is
+ * ignored and may be null. Setting an xattr to an empty value is not the same
+ * as removing an xattr; see removexattr() for the latter operation.
+ *
  * Valid flags are `XATTR_CREATE` and `XATTR_REPLACE`.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
  */
-int fsetxattr(int __fd, const char* __name, const void* __value, size_t __size, int __flags);
+int fsetxattr(int __fd, const char* _Nonnull __name, const void* _Nullable __value, size_t __size, int __flags);
 
 /**
- * [setxattr(2)](http://man7.org/linux/man-pages/man2/setxattr.2.html)
+ * [setxattr(2)](https://man7.org/linux/man-pages/man2/setxattr.2.html)
  * sets an extended attribute on the file referred to by the given path.
  *
+ * A `size` of 0 can be used to set an empty value, in which case `value` is
+ * ignored and may be null. Setting an xattr to an empty value is not the same
+ * as removing an xattr; see removexattr() for the latter operation.
+ *
  * Valid flags are `XATTR_CREATE` and `XATTR_REPLACE`.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
  */
-int setxattr(const char* __path, const char* __name, const void* __value, size_t __size, int __flags);
+int setxattr(const char* _Nonnull __path, const char* _Nonnull __name, const void* _Nullable __value, size_t __size, int __flags);
 
 /**
- * [lsetxattr(2)](http://man7.org/linux/man-pages/man2/lsetxattr.2.html)
+ * [lsetxattr(2)](https://man7.org/linux/man-pages/man2/lsetxattr.2.html)
  * sets an extended attribute on the file referred to by the given path, which
  * is the link itself rather than its target in the case of a symbolic link.
  *
+ * A `size` of 0 can be used to set an empty value, in which case `value` is
+ * ignored and may be null. Setting an xattr to an empty value is not the same
+ * as removing an xattr; see removexattr() for the latter operation.
+ *
  * Valid flags are `XATTR_CREATE` and `XATTR_REPLACE`.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
  */
-int lsetxattr(const char* __path, const char* __name, const void* __value, size_t __size, int __flags);
+int lsetxattr(const char* _Nonnull __path, const char* _Nonnull __name, const void* _Nullable __value, size_t __size, int __flags);
 
 /**
- * [fgetxattr(2)](http://man7.org/linux/man-pages/man2/fgetxattr.2.html)
+ * [fgetxattr(2)](https://man7.org/linux/man-pages/man2/fgetxattr.2.html)
  * gets an extended attribute on the file referred to by the given file
  * descriptor.
  *
- * Returns the non-negative length of the value on success, or
- * returns -1 and sets `errno` on failure.
- */
-ssize_t fgetxattr(int __fd, const char* __name, void* __value, size_t __size);
-
-/**
- * [getxattr(2)](http://man7.org/linux/man-pages/man2/getxattr.2.html)
- * gets an extended attribute on the file referred to by the given path.
+ * A `size` of 0 can be used to query the current length, in which case `value` is ignored and may be null.
  *
  * Returns the non-negative length of the value on success, or
  * returns -1 and sets `errno` on failure.
  */
-ssize_t getxattr(const char* __path, const char* __name, void* __value, size_t __size);
+ssize_t fgetxattr(int __fd, const char* _Nonnull __name, void* _Nullable __value, size_t __size);
 
 /**
- * [lgetxattr(2)](http://man7.org/linux/man-pages/man2/lgetxattr.2.html)
+ * [getxattr(2)](https://man7.org/linux/man-pages/man2/getxattr.2.html)
+ * gets an extended attribute on the file referred to by the given path.
+ *
+ * A `size` of 0 can be used to query the current length, in which case `value` is ignored and may be null.
+ *
+ * Returns the non-negative length of the value on success, or
+ * returns -1 and sets `errno` on failure.
+ */
+ssize_t getxattr(const char* _Nonnull __path, const char* _Nonnull __name, void* _Nullable __value, size_t __size);
+
+/**
+ * [lgetxattr(2)](https://man7.org/linux/man-pages/man2/lgetxattr.2.html)
  * gets an extended attribute on the file referred to by the given path, which
  * is the link itself rather than its target in the case of a symbolic link.
  *
+ * A `size` of 0 can be used to query the current length, in which case `value` is ignored and may be null.
+ *
  * Returns the non-negative length of the value on success, or
  * returns -1 and sets `errno` on failure.
  */
-ssize_t lgetxattr(const char* __path, const char* __name, void* __value, size_t __size);
+ssize_t lgetxattr(const char* _Nonnull __path, const char* _Nonnull __name, void* _Nullable __value, size_t __size);
 
 /**
- * [flistxattr(2)](http://man7.org/linux/man-pages/man2/flistxattr.2.html)
+ * [flistxattr(2)](https://man7.org/linux/man-pages/man2/flistxattr.2.html)
  * lists the extended attributes on the file referred to by the given file
  * descriptor.
  *
- * Returns the non-negative length of the list on success, or
- * returns -1 and sets `errno` on failure.
- */
-ssize_t flistxattr(int __fd, char* __list, size_t __size);
-
-/**
- * [listxattr(2)](http://man7.org/linux/man-pages/man2/listxattr.2.html)
- * lists the extended attributes on the file referred to by the given path.
+ * A `size` of 0 can be used to query the current length, in which case `list` is ignored and may be null.
  *
  * Returns the non-negative length of the list on success, or
  * returns -1 and sets `errno` on failure.
  */
-ssize_t listxattr(const char* __path, char* __list, size_t __size);
+ssize_t flistxattr(int __fd, char* _Nullable __list, size_t __size);
 
 /**
- * [llistxattr(2)](http://man7.org/linux/man-pages/man2/llistxattr.2.html)
+ * [listxattr(2)](https://man7.org/linux/man-pages/man2/listxattr.2.html)
+ * lists the extended attributes on the file referred to by the given path.
+ *
+ * A `size` of 0 can be used to query the current length, in which case `list` is ignored and may be null.
+ *
+ * Returns the non-negative length of the list on success, or
+ * returns -1 and sets `errno` on failure.
+ */
+ssize_t listxattr(const char* _Nonnull __path, char* _Nullable __list, size_t __size);
+
+/**
+ * [llistxattr(2)](https://man7.org/linux/man-pages/man2/llistxattr.2.html)
  * lists the extended attributes on the file referred to by the given path, which
  * is the link itself rather than its target in the case of a symbolic link.
  *
+ * A `size` of 0 can be used to query the current length, in which case `list` is ignored and may be null.
+ *
  * Returns the non-negative length of the list on success, or
  * returns -1 and sets `errno` on failure.
  */
-ssize_t llistxattr(const char* __path, char* __list, size_t __size);
+ssize_t llistxattr(const char* _Nonnull __path, char* _Nullable __list, size_t __size);
 
 /**
- * [fremovexattr(2)](http://man7.org/linux/man-pages/man2/fremovexattr.2.html)
+ * [fremovexattr(2)](https://man7.org/linux/man-pages/man2/fremovexattr.2.html)
  * removes an extended attribute on the file referred to by the given file
  * descriptor.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
  */
-int fremovexattr(int __fd, const char* __name);
+int fremovexattr(int __fd, const char* _Nonnull __name);
 
 /**
- * [lremovexattr(2)](http://man7.org/linux/man-pages/man2/lremovexattr.2.html)
+ * [lremovexattr(2)](https://man7.org/linux/man-pages/man2/lremovexattr.2.html)
  * removes an extended attribute on the file referred to by the given path, which
  * is the link itself rather than its target in the case of a symbolic link.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
  */
-int lremovexattr(const char* __path, const char* __name);
+int lremovexattr(const char* _Nonnull __path, const char* _Nonnull __name);
 
 /**
- * [removexattr(2)](http://man7.org/linux/man-pages/man2/removexattr.2.html)
+ * [removexattr(2)](https://man7.org/linux/man-pages/man2/removexattr.2.html)
  * removes an extended attribute on the file referred to by the given path.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
  */
-int removexattr(const char* __path, const char* __name);
+int removexattr(const char* _Nonnull __path, const char* _Nonnull __name);
 
 __END_DECLS
diff --git a/libc/include/syslog.h b/libc/include/syslog.h
index d89d769..7a594f1 100644
--- a/libc/include/syslog.h
+++ b/libc/include/syslog.h
@@ -25,11 +25,40 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
+/*
+ * Copyright (c) 1982, 1986, 1988, 1993
+ *	The Regents of the University of California.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
 
 #pragma once
 
-#include <stdio.h>
 #include <sys/cdefs.h>
+
+#include <stdio.h>
 #include <stdarg.h>
 
 __BEGIN_DECLS
@@ -112,48 +141,106 @@
  */
 #define LOG_UPTO(pri) ((1 << ((pri)+1)) - 1)
 
-/** openlog() options are currently ignored on Android. */
+/** openlog() option ignored on Android. */
 #define LOG_PID    0x01
-/** openlog() options are currently ignored on Android. */
+/** openlog() option ignored on Android. */
 #define LOG_CONS   0x02
-/** openlog() options are currently ignored on Android. */
+/** openlog() option ignored on Android. */
 #define LOG_ODELAY 0x04
-/** openlog() options are currently ignored on Android. */
+/** openlog() option ignored on Android. */
 #define LOG_NDELAY 0x08
-/** openlog() options are currently ignored on Android. */
+/** openlog() option ignored on Android. */
 #define LOG_NOWAIT 0x10
-/** openlog() options are currently ignored on Android. */
+/**
+ * openlog() option to log to stderr as well as the system log.
+ *
+ * Available since API level 34 (ignored before then).
+ */
 #define LOG_PERROR 0x20
 
+#if defined(SYSLOG_NAMES)
+/** A mapping from name to value, used by `facilitynames` and `prioritynames`. */
+typedef struct _code {
+  char* c_name;
+  int c_val;
+} CODE;
+/* A bogus facility value for "mark". */
+#define INTERNAL_MARK LOG_MAKEPRI((LOG_NFACILITIES<<3), 0)
+/** A table mapping facility names to values. */
+static const CODE facilitynames[] = {
+  { "auth", LOG_AUTH, },
+  { "authpriv", LOG_AUTHPRIV, },
+  { "cron", LOG_CRON, },
+  { "daemon", LOG_DAEMON, },
+  { "ftp", LOG_FTP, },
+  { "kern", LOG_KERN, },
+  { "lpr", LOG_LPR, },
+  { "mail", LOG_MAIL, },
+  { "mark", INTERNAL_MARK, },
+  { "news", LOG_NEWS, },
+  { "security", LOG_AUTH, },
+  { "syslog", LOG_SYSLOG, },
+  { "user", LOG_USER, },
+  { "uucp", LOG_UUCP, },
+  { "local0", LOG_LOCAL0, },
+  { "local1", LOG_LOCAL1, },
+  { "local2", LOG_LOCAL2, },
+  { "local3", LOG_LOCAL3, },
+  { "local4", LOG_LOCAL4, },
+  { "local5", LOG_LOCAL5, },
+  { "local6", LOG_LOCAL6, },
+  { "local7", LOG_LOCAL7, },
+  { NULL, -1, },
+};
+/* A bogus priority value for "none". */
+#define INTERNAL_NOPRI 8
+/** A table mapping priority names to values. */
+static const CODE prioritynames[] = {
+  { "alert", LOG_ALERT, },
+  { "crit", LOG_CRIT, },
+  { "debug", LOG_DEBUG, },
+  { "emerg", LOG_EMERG, },
+  { "err", LOG_ERR, },
+  { "error", LOG_ERR, },
+  { "info", LOG_INFO, },
+  { "none", INTERNAL_NOPRI, },
+  { "notice", LOG_NOTICE, },
+  { "panic", LOG_EMERG, },
+  { "warn", LOG_WARNING, },
+  { "warning", LOG_WARNING, },
+  { NULL, -1, },
+};
+#endif
+
 /**
- * [closelog(3)](http://man7.org/linux/man-pages/man3/closelog.3.html) does
+ * [closelog(3)](https://man7.org/linux/man-pages/man3/closelog.3.html) does
  * nothing on Android.
  */
 void closelog(void);
 
 /**
- * [openlog(3)](http://man7.org/linux/man-pages/man3/openlog.3.html) sets
+ * [openlog(3)](https://man7.org/linux/man-pages/man3/openlog.3.html) sets
  * the log tag to `__prefix`, which can be NULL to return to the default of
  * getprogname(). On Android, the other two arguments are ignored.
  */
 void openlog(const char* _Nullable __prefix, int __option, int __facility);
 
 /**
- * [setlogmask(3)](http://man7.org/linux/man-pages/man3/setlogmask.3.html)
+ * [setlogmask(3)](https://man7.org/linux/man-pages/man3/setlogmask.3.html)
  * sets which log priorities will actually be logged. See `LOG_MASK` and
  * `LOG_UPTO`.
  */
 int setlogmask(int __mask);
 
 /**
- * [syslog(3)](http://man7.org/linux/man-pages/man3/syslog.3.html) formats
+ * [syslog(3)](https://man7.org/linux/man-pages/man3/syslog.3.html) formats
  * the printf()-like message and logs it with the given priority, unless
  * suppressed by setlogmask(). On Android, the output goes to logcat.
  */
 void syslog(int __priority, const char* _Nonnull __fmt, ...) __printflike(2, 3);
 
 /**
- * [vsyslog(3)](http://man7.org/linux/man-pages/man3/vsyslog.3.html) formats
+ * [vsyslog(3)](https://man7.org/linux/man-pages/man3/vsyslog.3.html) formats
  * the vprintf()-like message and logs it with the given priority, unless
  * suppressed by setlogmask(). On Android, the output goes to logcat.
  */
diff --git a/libc/include/termios.h b/libc/include/termios.h
index 92ac24b..5eecfcd 100644
--- a/libc/include/termios.h
+++ b/libc/include/termios.h
@@ -46,109 +46,128 @@
 // in cfmakeraw() and cfsetspeed() until 28.
 
 /**
- * [cfgetispeed(3)](http://man7.org/linux/man-pages/man3/cfgetispeed.3.html)
+ * [cfgetispeed(3)](https://man7.org/linux/man-pages/man3/cfgetispeed.3.html)
  * returns the terminal input baud rate.
  */
-speed_t cfgetispeed(const struct termios* _Nonnull __t) __INTRODUCED_IN(21);
+speed_t cfgetispeed(const struct termios* _Nonnull __t);
 
 /**
- * [cfgetospeed(3)](http://man7.org/linux/man-pages/man3/cfgetospeed.3.html)
+ * [cfgetospeed(3)](https://man7.org/linux/man-pages/man3/cfgetospeed.3.html)
  * returns the terminal output baud rate.
  */
-speed_t cfgetospeed(const struct termios* _Nonnull __t) __INTRODUCED_IN(21);
+speed_t cfgetospeed(const struct termios* _Nonnull __t);
 
 /**
- * [cfmakeraw(3)](http://man7.org/linux/man-pages/man3/cfmakeraw.3.html)
+ * [cfmakeraw(3)](https://man7.org/linux/man-pages/man3/cfmakeraw.3.html)
  * configures the terminal for "raw" mode.
  */
-void cfmakeraw(struct termios* _Nonnull __t) __INTRODUCED_IN(21);
+void cfmakeraw(struct termios* _Nonnull __t);
 
 /**
- * [cfsetspeed(3)](http://man7.org/linux/man-pages/man3/cfsetspeed.3.html)
+ * [cfsetspeed(3)](https://man7.org/linux/man-pages/man3/cfsetspeed.3.html)
  * sets the terminal input and output baud rate.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
  */
-int cfsetspeed(struct termios* _Nonnull __t, speed_t __speed) __INTRODUCED_IN(21);
+int cfsetspeed(struct termios* _Nonnull __t, speed_t __speed);
 
 /**
- * [cfsetispeed(3)](http://man7.org/linux/man-pages/man3/cfsetispeed.3.html)
+ * [cfsetispeed(3)](https://man7.org/linux/man-pages/man3/cfsetispeed.3.html)
  * sets the terminal input baud rate.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
  */
-int cfsetispeed(struct termios* _Nonnull _t, speed_t __speed) __INTRODUCED_IN(21);
+int cfsetispeed(struct termios* _Nonnull _t, speed_t __speed);
 
 /**
- * [cfsetospeed(3)](http://man7.org/linux/man-pages/man3/cfsetospeed.3.html)
+ * [cfsetospeed(3)](https://man7.org/linux/man-pages/man3/cfsetospeed.3.html)
  * sets the terminal output baud rate.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
  */
-int cfsetospeed(struct termios* _Nonnull __t, speed_t __speed) __INTRODUCED_IN(21);
+int cfsetospeed(struct termios* _Nonnull __t, speed_t __speed);
 
 /**
- * [tcdrain(3)](http://man7.org/linux/man-pages/man3/tcdrain.3.html)
+ * [tcdrain(3)](https://man7.org/linux/man-pages/man3/tcdrain.3.html)
  * waits until all output has been written.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
  */
-int tcdrain(int __fd) __INTRODUCED_IN(21);
+int tcdrain(int __fd);
 
 /**
- * [tcflow(3)](http://man7.org/linux/man-pages/man3/tcflow.3.html)
+ * [tcflow(3)](https://man7.org/linux/man-pages/man3/tcflow.3.html)
  * suspends (`TCOOFF`) or resumes (`TCOON`) output, or transmits a
  * stop (`TCIOFF`) or start (`TCION`) to suspend or resume input.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
  */
-int tcflow(int __fd, int __action) __INTRODUCED_IN(21);
+int tcflow(int __fd, int __action);
 
 /**
- * [tcflush(3)](http://man7.org/linux/man-pages/man3/tcflush.3.html)
+ * [tcflush(3)](https://man7.org/linux/man-pages/man3/tcflush.3.html)
  * discards pending input (`TCIFLUSH`), output (`TCOFLUSH`), or
  * both (`TCIOFLUSH`). (In `<stdio.h>` terminology, this is a purge rather
  * than a flush.)
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
  */
-int tcflush(int __fd, int __queue) __INTRODUCED_IN(21);
+int tcflush(int __fd, int __queue);
 
 /**
- * [tcgetattr(3)](http://man7.org/linux/man-pages/man3/tcgetattr.3.html)
+ * [tcgetattr(3)](https://man7.org/linux/man-pages/man3/tcgetattr.3.html)
  * reads the configuration of the given terminal.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
  */
-int tcgetattr(int __fd, struct termios* _Nonnull __t) __INTRODUCED_IN(21);
+int tcgetattr(int __fd, struct termios* _Nonnull __t);
 
 /**
- * [tcgetsid(3)](http://man7.org/linux/man-pages/man3/tcgetsid.3.html)
+ * [tcgetsid(3)](https://man7.org/linux/man-pages/man3/tcgetsid.3.html)
  * returns the session id corresponding to the given fd.
  *
  * Returns a non-negative session id on success and
  * returns -1 and sets `errno` on failure.
  */
-pid_t tcgetsid(int __fd) __INTRODUCED_IN(21);
+pid_t tcgetsid(int __fd);
 
 /**
- * [tcsendbreak(3)](http://man7.org/linux/man-pages/man3/tcsendbreak.3.html)
+ * [tcsendbreak(3)](https://man7.org/linux/man-pages/man3/tcsendbreak.3.html)
  * sends a break.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
  */
-int tcsendbreak(int __fd, int __duration) __INTRODUCED_IN(21);
+int tcsendbreak(int __fd, int __duration);
 
 /**
- * [tcsetattr(3)](http://man7.org/linux/man-pages/man3/tcsetattr.3.html)
+ * [tcsetattr(3)](https://man7.org/linux/man-pages/man3/tcsetattr.3.html)
  * writes the configuration of the given terminal.
  *
  * Returns 0 on success and returns -1 and sets `errno` on failure.
  */
-int tcsetattr(int __fd, int __optional_actions, const struct termios* _Nonnull __t) __INTRODUCED_IN(21);
+int tcsetattr(int __fd, int __optional_actions, const struct termios* _Nonnull __t);
 
 #endif
 
+#if __ANDROID_API__ >= 35
+// These two functions were POSIX Issue 8 additions that we can also trivially
+// implement as inlines for older OS version.
+
+/**
+ * tcgetwinsize(3) gets the window size of the given terminal.
+ *
+ * Returns 0 on success and returns -1 and sets `errno` on failure.
+ */
+int tcgetwinsize(int __fd, struct winsize* _Nonnull __size);
+
+/**
+ * tcsetwinsize(3) sets the window size of the given terminal.
+ *
+ * Returns 0 on success and returns -1 and sets `errno` on failure.
+ */
+int tcsetwinsize(int __fd, const struct winsize* _Nonnull __size);
+#endif
+
 __END_DECLS
 
 #include <android/legacy_termios_inlines.h>
diff --git a/libc/include/threads.h b/libc/include/threads.h
index b1008de..1074fa4 100644
--- a/libc/include/threads.h
+++ b/libc/include/threads.h
@@ -72,8 +72,10 @@
   thrd_timedout = 4,
 };
 
-#if !defined(__cplusplus)
-#define thread_local _Thread_local
+/* `thread_local` is a keyword in C++11 and C23; C11 had `_Thread_local` instead. */
+#if !defined(__cplusplus) && (__STDC_VERSION__ >= 201112L && __STDC_VERSION__ < 202311L)
+# undef thread_local
+# define thread_local _Thread_local
 #endif
 
 __BEGIN_DECLS
diff --git a/libc/include/time.h b/libc/include/time.h
index 5339540..6c9b761 100644
--- a/libc/include/time.h
+++ b/libc/include/time.h
@@ -26,8 +26,12 @@
  * SUCH DAMAGE.
  */
 
-#ifndef _TIME_H_
-#define _TIME_H_
+#pragma once
+
+/**
+ * @file time.h
+ * @brief Clock and timer functionality.
+ */
 
 #include <sys/cdefs.h>
 #include <sys/time.h>
@@ -35,79 +39,460 @@
 
 __BEGIN_DECLS
 
+/* If we just use void* in the typedef, the compiler exposes that in error messages. */
+struct __timezone_t;
+
+/**
+ * The `timezone_t` type that represents a timezone.
+ *
+ * To use this with std::unique_ptr you'll want something like
+ * `std::unique_ptr<std::remove_pointer_t<timezone_t>, decltype(&tzfree)> tz{tzalloc("Asia/Seoul"), tzfree};`
+ * to remove the pointer.
+ */
+typedef struct __timezone_t* timezone_t;
+
+/** Divisor to compute seconds from the result of a call to clock(). */
 #define CLOCKS_PER_SEC 1000000
 
+/**
+ * The name of the current timezone's non-daylight savings (`tzname[0]`) and
+ * daylight savings (`tzname[1]`) variants. See tzset().
+ */
 extern char* _Nonnull tzname[];
+
+/** Whether the current timezone ever uses daylight savings time. See tzset(). */
 extern int daylight;
+
+/** The difference in seconds between UTC and the current timezone. See tzset(). */
 extern long int timezone;
 
 struct sigevent;
 
+/**
+ * A "broken-down" time, useful for parsing/formatting times for human consumption.
+ */
 struct tm {
+  /** Seconds, 0-60. (60 is a leap second.) */
   int tm_sec;
+  /** Minutes, 0-59. */
   int tm_min;
+  /** Hours, 0-23. */
   int tm_hour;
+  /** Day of month, 1-31. */
   int tm_mday;
+  /** Month of year, 0-11. (Not 1-12!) */
   int tm_mon;
+  /** Years since 1900. (So 2023 is 123, not 2023!) */
   int tm_year;
+  /** Day of week, 0-6. (Sunday is 0, Saturday is 6.) */
   int tm_wday;
+  /** Day of year, 0-365. */
   int tm_yday;
+  /** Daylight savings flag, positive for DST in effect, 0 for DST not in effect, and -1 for unknown. */
   int tm_isdst;
+  /** Offset from UTC (GMT) in seconds for this time. */
   long int tm_gmtoff;
+  /** Name of the timezone for this time. */
   const char* _Nullable tm_zone;
 };
 
+/** Alternative name for `tm_zone` in `struct tm`. */
 #define TM_ZONE tm_zone
 
+/**
+ * [time(2)](https://man7.org/linux/man-pages/man2/time.2.html) returns
+ * the number of seconds since the Unix epoch (1970-01-01 00:00:00 +0000).
+ *
+ * Returns the time in seconds on success, and returns -1 and sets `errno` on failure.
+ */
 time_t time(time_t* _Nullable __t);
-int nanosleep(const struct timespec* _Nonnull __request, struct timespec* _Nullable __remainder);
 
+/**
+ * [nanosleep(2)](https://man7.org/linux/man-pages/man2/nanosleep.2.html) sleeps
+ * for at least the given time (or until a signal arrives).
+ *
+ * Returns 0 on success, and returns -1 and sets `errno` on failure. If the sleep
+ * was interrupted by a signal, `errno` will be `EINTR` and `remainder` will be
+ * the amount of time remaining.
+ */
+int nanosleep(const struct timespec* _Nonnull __duration, struct timespec* _Nullable __remainder);
+
+/**
+ * [asctime(3)](https://man7.org/linux/man-pages/man3/asctime.3p.html) formats
+ * the time `tm` as a string.
+ *
+ * Returns a pointer to a string on success, and returns NULL on failure.
+ *
+ * That string will be overwritten by later calls to this function.
+ *
+ * New code should prefer strftime().
+ */
 char* _Nullable asctime(const struct tm* _Nonnull __tm);
+
+/**
+ * [asctime_r(3)](https://man7.org/linux/man-pages/man3/asctime_r.3p.html) formats
+ * the time `tm` as a string in the given buffer `buf`.
+ *
+ * Returns a pointer to a string on success, and returns NULL on failure.
+ *
+ * New code should prefer strftime().
+ */
 char* _Nullable asctime_r(const struct tm* _Nonnull __tm, char* _Nonnull __buf);
 
+/**
+ * [difftime(3)](https://man7.org/linux/man-pages/man3/difftime.3.html) returns
+ * the difference between two times.
+ *
+ * Returns the difference in seconds.
+ */
 double difftime(time_t __lhs, time_t __rhs);
+
+/**
+ * [mktime(3)](https://man7.org/linux/man-pages/man3/mktime.3p.html) converts
+ * broken-down time `tm` into the number of seconds since the Unix epoch.
+ *
+ * See tzset() for details of how the timezone is set, and mktime_rz()
+ * for an alternative.
+ *
+ * Returns the time in seconds on success, and returns -1 and sets `errno` on failure.
+ */
 time_t mktime(struct tm* _Nonnull __tm);
 
+/**
+ * mktime_z(3) converts broken-down time `tm` into the number of seconds
+ * since the Unix epoch, assuming the given timezone.
+ *
+ * Returns the time in seconds on success, and returns -1 and sets `errno` on failure.
+ *
+ * Available since API level 35.
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(35)
+time_t mktime_z(timezone_t _Nonnull __tz, struct tm* _Nonnull __tm) __INTRODUCED_IN(35);
+#endif /* __BIONIC_AVAILABILITY_GUARD(35) */
+
+
+/**
+ * [localtime(3)](https://man7.org/linux/man-pages/man3/localtime.3p.html) converts
+ * the number of seconds since the Unix epoch in `t` to a broken-down time, taking
+ * the device's timezone into account.
+ *
+ * That broken-down time will be overwritten by later calls to this function.
+ *
+ * Returns a pointer to a broken-down time on success, and returns null and sets `errno` on failure.
+ */
 struct tm* _Nullable localtime(const time_t* _Nonnull __t);
+
+/**
+ * [localtime_r(3)](https://man7.org/linux/man-pages/man3/localtime_r.3p.html) converts
+ * the number of seconds since the Unix epoch in `t` to a broken-down time.
+ * That broken-down time will be written to the given struct `tm`.
+ *
+ * See tzset() for details of how the timezone is set, and localtime_rz()
+ * for an alternative.
+ *
+ * Returns a pointer to a broken-down time on success, and returns null and sets `errno` on failure.
+ */
 struct tm* _Nullable localtime_r(const time_t* _Nonnull __t, struct tm* _Nonnull __tm);
 
+/**
+ * localtime_rz(3) converts the number of seconds since the Unix epoch in
+ * `t` to a broken-down time, assuming the given timezone. That broken-down
+ * time will be written to the given struct `tm`.
+ *
+ * Returns a pointer to a broken-down time on success, and returns null and sets `errno` on failure.
+ *
+ * Available since API level 35.
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(35)
+struct tm* _Nullable localtime_rz(timezone_t _Nonnull __tz, const time_t* _Nonnull __t, struct tm* _Nonnull __tm) __INTRODUCED_IN(35);
+#endif /* __BIONIC_AVAILABILITY_GUARD(35) */
+
+
+/**
+ * Inverse of localtime().
+ */
+time_t timelocal(struct tm* _Nonnull __tm);
+
+/**
+ * [gmtime(3)](https://man7.org/linux/man-pages/man3/gmtime.3p.html) converts
+ * the number of seconds since the Unix epoch in `t` to a broken-down time, using
+ * UTC (historically also known as GMT).
+ *
+ * That broken-down time will be overwritten by later calls to this function.
+ *
+ * Returns a pointer to a broken-down time on success, and returns null and sets `errno` on failure.
+ */
 struct tm* _Nullable gmtime(const time_t* _Nonnull __t);
+
+/**
+ * [gmtime_r(3)](https://man7.org/linux/man-pages/man3/gmtime_r.3p.html) converts
+ * the number of seconds since the Unix epoch in `t` to a broken-down time, using
+ * UTC (historically also known as GMT).
+ *
+ * That broken-down time will be written to the provided struct `tm`.
+ *
+ * Returns a pointer to a broken-down time on success, and returns null and sets `errno` on failure.
+ */
 struct tm* _Nullable gmtime_r(const time_t* _Nonnull __t, struct tm* _Nonnull __tm);
 
-char* _Nullable strptime(const char* _Nonnull __s, const char* _Nonnull __fmt, struct tm* _Nonnull __tm) __strftimelike(2);
-char* _Nullable strptime_l(const char* _Nonnull __s, const char* _Nonnull __fmt, struct tm* _Nonnull __tm, locale_t _Nonnull __l) __strftimelike(2) __INTRODUCED_IN(28);
-
-size_t strftime(char* _Nonnull __buf, size_t __n, const char* _Nonnull __fmt, const struct tm* _Nullable __tm) __strftimelike(3);
-size_t strftime_l(char* _Nonnull __buf, size_t __n, const char* _Nonnull __fmt, const struct tm* _Nullable __tm, locale_t _Nonnull __l) __strftimelike(3) __INTRODUCED_IN(21);
-
-char* _Nullable ctime(const time_t* _Nonnull __t);
-char* _Nullable ctime_r(const time_t* _Nonnull __t, char* _Nonnull __buf);
-
-void tzset(void);
-
-clock_t clock(void);
-
-int clock_getcpuclockid(pid_t __pid, clockid_t* _Nonnull __clock) __INTRODUCED_IN(23);
-
-
-int clock_getres(clockid_t __clock, struct timespec* _Nullable __resolution);
-int clock_gettime(clockid_t __clock, struct timespec* _Nonnull __ts);
-int clock_nanosleep(clockid_t __clock, int __flags, const struct timespec* _Nonnull __request, struct timespec* _Nullable __remainder);
-int clock_settime(clockid_t __clock, const struct timespec* _Nonnull __ts);
-
-int timer_create(clockid_t __clock, struct sigevent* _Nullable __event, timer_t _Nonnull * _Nonnull __timer_ptr);
-int timer_delete(timer_t _Nonnull __timer);
-int timer_settime(timer_t _Nonnull __timer, int __flags, const struct itimerspec* _Nonnull __new_value, struct itimerspec* _Nullable __old_value);
-int timer_gettime(timer_t _Nonnull _timer, struct itimerspec* _Nonnull __ts);
-int timer_getoverrun(timer_t _Nonnull __timer);
-
-/* Non-standard extensions that are in the BSDs and glibc. */
-time_t timelocal(struct tm* _Nonnull __tm);
+/**
+ * Inverse of gmtime().
+ */
 time_t timegm(struct tm* _Nonnull __tm);
 
-#define TIME_UTC 1
+/**
+ * [strptime(3)](https://man7.org/linux/man-pages/man3/strptime.3.html) parses
+ * a string `s` assuming format `fmt` into broken-down time `tm`.
+ *
+ * Returns a pointer to the first character _not_ parsed, or null if no characters were parsed.
+ */
+char* _Nullable strptime(const char* _Nonnull __s, const char* _Nonnull __fmt, struct tm* _Nonnull __tm) __strftimelike(2);
+
+/**
+ * Equivalent to strptime() on Android where only C/POSIX locales are available.
+ */
+char* _Nullable strptime_l(const char* _Nonnull __s, const char* _Nonnull __fmt, struct tm* _Nonnull __tm, locale_t _Nonnull __l) __strftimelike(2) __RENAME(strptime);
+
+/**
+ * [strftime(3)](https://man7.org/linux/man-pages/man3/strftime.3.html) formats
+ * a broken-down time `tm` into the buffer `buf` using format `fmt`.
+ *
+ * Returns a pointer to the first character _not_ parsed, or null if no characters were parsed.
+ */
+size_t strftime(char* _Nonnull __buf, size_t __n, const char* _Nonnull __fmt, const struct tm* _Nullable __tm) __strftimelike(3);
+
+/**
+ * Equivalent to strftime() on Android where only C/POSIX locales are available.
+ */
+size_t strftime_l(char* _Nonnull __buf, size_t __n, const char* _Nonnull __fmt, const struct tm* _Nullable __tm, locale_t _Nonnull __l) __strftimelike(3);
+
+/**
+ * [ctime(3)](https://man7.org/linux/man-pages/man3/ctime.3p.html) formats
+ * the time `tm` as a string.
+ *
+ * Returns a pointer to a string on success, and returns NULL on failure.
+ *
+ * That string will be overwritten by later calls to this function.
+ *
+ * New code should prefer strftime().
+ */
+char* _Nullable ctime(const time_t* _Nonnull __t);
+
+/**
+ * [ctime_r(3)](https://man7.org/linux/man-pages/man3/ctime.3p.html) formats
+ * the time `tm` as a string in the given buffer `buf`.
+ *
+ * Returns a pointer to a string on success, and returns NULL on failure.
+ *
+ * New code should prefer strftime().
+ */
+char* _Nullable ctime_r(const time_t* _Nonnull __t, char* _Nonnull __buf);
+
+/**
+ * [tzset(3)](https://man7.org/linux/man-pages/man3/tzset.3.html) tells
+ * libc that the timezone has changed.
+ *
+ * tzset() on Android looks at both the system property
+ * `persist.sys.timezone` and the environment variable `TZ`. The former is
+ * the device's current timezone as shown in Settings, while the latter is
+ * usually unset but can be used to override the global setting. This is a
+ * bad idea outside of unit tests or single-threaded programs because it's
+ * inherently thread-unsafe. See tzalloc(), localtime_rz(), mktime_z(),
+ * and tzfree() for an alternative.
+ */
+void tzset(void);
+
+/**
+ * tzalloc(3) allocates a timezone corresponding to the given Olson ID.
+ *
+ * A null `id` returns the system timezone (as seen in Settings) from
+ * the system property `persist.sys.timezone`, ignoring `$TZ`. Although
+ * tzset() honors `$TZ`, callers of tzalloc() can use `$TZ` themselves if
+ * that's the (thread-unsafe) behavior they want, but by ignoring `$TZ`
+ * tzalloc() is thread safe (though obviously the system timezone can
+ * change, especially if your mobile device is actually mobile!).
+ *
+ * To use this with std::unique_ptr you'll want something like
+ * `std::unique_ptr<std::remove_pointer_t<timezone_t>, decltype(&tzfree)> tz{tzalloc("Asia/Seoul"), tzfree};`
+ * to remove the pointer.
+ *
+ * Returns a timezone object on success, and returns NULL and sets `errno` on failure.
+ *
+ * Available since API level 35.
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(35)
+timezone_t _Nullable tzalloc(const char* _Nullable __id) __INTRODUCED_IN(35);
+
+/**
+ * tzfree(3) frees a timezone object returned by tzalloc().
+ *
+ * To use this with std::unique_ptr you'll want something like
+ * `std::unique_ptr<std::remove_pointer_t<timezone_t>, decltype(&tzfree)> tz{tzalloc("Asia/Seoul"), tzfree};`
+ * to remove the pointer.
+ *
+ * Available since API level 35.
+ */
+void tzfree(timezone_t _Nullable __tz) __INTRODUCED_IN(35);
+#endif /* __BIONIC_AVAILABILITY_GUARD(35) */
+
+
+/**
+ * [clock(3)](https://man7.org/linux/man-pages/man3/clock.3.html)
+ * returns an approximation of CPU time used, equivalent to
+ * `clock_gettime(CLOCK_PROCESS_CPUTIME_ID)` but with more confusing
+ * units. Use `CLOCKS_PER_SEC` to convert the result to seconds.
+ *
+ * Returns the time in seconds on success, and returns -1 and sets `errno` on failure.
+ *
+ * New code should prefer `clock_gettime(CLOCK_PROCESS_CPUTIME_ID)`.
+ */
+clock_t clock(void);
+
+/**
+ * [clock_getcpuclockid(3)](https://man7.org/linux/man-pages/man3/clock_getcpuclockid.3.html)
+ * gets the clock ID of the cpu-time clock for the given `pid`.
+ *
+ * Returns 0 on success, and returns -1 and returns an error number on failure.
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
+int clock_getcpuclockid(pid_t __pid, clockid_t* _Nonnull __clock) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
+
+/**
+ * [clock_getres(2)](https://man7.org/linux/man-pages/man2/clock_getres.2.html)
+ * gets the resolution of the given clock.
+ *
+ * Returns 0 on success, and returns -1 and returns an error number on failure.
+ */
+int clock_getres(clockid_t __clock, struct timespec* _Nullable __resolution);
+
+/**
+ * [clock_gettime(2)](https://man7.org/linux/man-pages/man2/clock_gettime.2.html)
+ * gets the time according to the given clock.
+ *
+ * Returns 0 on success, and returns -1 and returns an error number on failure.
+ */
+int clock_gettime(clockid_t __clock, struct timespec* _Nonnull __ts);
+
+/**
+ * [clock_nanosleep(2)](https://man7.org/linux/man-pages/man2/clock_nanosleep.2.html)
+ * sleeps for the given time (or until the given time if the TIMER_ABSTIME flag
+ * is used), as measured by the given clock.
+ *
+ * Returns 0 on success, and returns -1 and returns an error number on failure.
+ * If the sleep was interrupted by a signal, the return value will be `EINTR`
+ * and `remainder` will be the amount of time remaining.
+ */
+int clock_nanosleep(clockid_t __clock, int __flags, const struct timespec* _Nonnull __time, struct timespec* _Nullable __remainder);
+
+/**
+ * [clock_settime(2)](https://man7.org/linux/man-pages/man2/clock_settime.2.html)
+ * sets the time for the given clock.
+ *
+ * Returns 0 on success, and returns -1 and returns an error number on failure.
+ */
+int clock_settime(clockid_t __clock, const struct timespec* _Nonnull __ts);
+
+/**
+ * [timer_create(2)](https://man7.org/linux/man-pages/man2/timer_create.2.html)
+ * creates a POSIX timer.
+ *
+ * Returns 0 on success, and returns -1 and sets `errno` on failure.
+ */
+int timer_create(clockid_t __clock, struct sigevent* _Nullable __event, timer_t _Nonnull * _Nonnull __timer_ptr);
+
+/**
+ * [timer_delete(2)](https://man7.org/linux/man-pages/man2/timer_delete.2.html)
+ * destroys a POSIX timer.
+ *
+ * Returns 0 on success, and returns -1 and sets `errno` on failure.
+ */
+int timer_delete(timer_t _Nonnull __timer);
+
+/**
+ * [timer_settime(2)](https://man7.org/linux/man-pages/man2/timer_settime.2.html)
+ * starts or stops a POSIX timer.
+ *
+ * Returns 0 on success, and returns -1 and sets `errno` on failure.
+ */
+int timer_settime(timer_t _Nonnull __timer, int __flags, const struct itimerspec* _Nonnull __new_value, struct itimerspec* _Nullable __old_value);
+
+/**
+ * [timer_gettime(2)](https://man7.org/linux/man-pages/man2/timer_gettime.2.html)
+ * gets the time until the given timer next fires.
+ *
+ * Returns 0 on success, and returns -1 and sets `errno` on failure.
+ */
+int timer_gettime(timer_t _Nonnull _timer, struct itimerspec* _Nonnull __ts);
+
+/**
+ * [timer_getoverrun(2)](https://man7.org/linux/man-pages/man2/timer_getoverrun.2.html)
+ * gets the overrun count (the number of times the timer should have fired, but
+ * didn't) for the last time the timer fired.
+ *
+ * Returns the overrun count on success, and returns -1 and sets `errno` on failure.
+ */
+int timer_getoverrun(timer_t _Nonnull __timer);
+
+/**
+ * The timebase for timespec_get() and timespec_getres() corresponding to CLOCK_REALTIME.
+ *
+ * Available since API level 29.
+ */
+#define TIME_UTC (CLOCK_REALTIME+1)
+
+/**
+ * The timebase for timespec_get() and timespec_getres() corresponding to CLOCK_MONOTONIC.
+ *
+ * Available since API level 35.
+ */
+#define TIME_MONOTONIC (CLOCK_MONOTONIC+1)
+
+/**
+ * The timebase for timespec_get() and timespec_getres() corresponding to CLOCK_PROCESS_CPUTIME_ID.
+ *
+ * Available since API level 35.
+ */
+#define TIME_ACTIVE (CLOCK_PROCESS_CPUTIME_ID+1)
+
+/**
+ * The timebase for timespec_get() and timespec_getres() corresponding to CLOCK_THREAD_CPUTIME_ID.
+ *
+ * Available since API level 35.
+ */
+#define TIME_THREAD_ACTIVE (CLOCK_THREAD_CPUTIME_ID+1)
+
+/**
+ * timespec_get(3) is equivalent to clock_gettime() for the clock corresponding to the given base.
+ *
+ * Returns the base on success and returns 0 on failure.
+ *
+ * Available since API level 29 for TIME_UTC; other bases arrived later.
+ * Code for Android should prefer clock_gettime().
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(29)
 int timespec_get(struct timespec* _Nonnull __ts, int __base) __INTRODUCED_IN(29);
+#endif /* __BIONIC_AVAILABILITY_GUARD(29) */
+
+
+/**
+ * timespec_getres(3) is equivalent to clock_getres() for the clock corresponding to the given base.
+ *
+ * Returns the base on success and returns 0 on failure.
+ *
+ * Available since API level 35.
+ * Code for Android should prefer clock_gettime().
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(35)
+int timespec_getres(struct timespec* _Nonnull __ts, int __base) __INTRODUCED_IN(35);
+#endif /* __BIONIC_AVAILABILITY_GUARD(35) */
+
 
 __END_DECLS
-
-#endif
diff --git a/libc/include/time64.h b/libc/include/time64.h
index 7d70030..8d31c6f 100644
--- a/libc/include/time64.h
+++ b/libc/include/time64.h
@@ -24,9 +24,6 @@
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
 
-Origin: http://code.google.com/p/y2038
-Modified for Bionic by the Android Open Source Project
-
 */
 #ifndef TIME64_H
 #define TIME64_H
diff --git a/libc/include/uchar.h b/libc/include/uchar.h
index 90af651..94efb2d 100644
--- a/libc/include/uchar.h
+++ b/libc/include/uchar.h
@@ -33,8 +33,11 @@
  * @brief Unicode functions.
  */
 
-#include <stddef.h>
 #include <sys/cdefs.h>
+
+#include <stddef.h>
+
+#include <bits/bionic_multibyte_result.h>
 #include <bits/mbstate_t.h>
 
 __BEGIN_DECLS
@@ -53,41 +56,33 @@
 #define __STD_UTF_32__ 1
 
 /**
- * [c16rtomb(3)](http://man7.org/linux/man-pages/man3/c16rtomb.3.html) converts a single UTF-16
+ * [c16rtomb(3)](https://man7.org/linux/man-pages/man3/c16rtomb.3.html) converts a single UTF-16
  * character to UTF-8.
  *
  * Returns the number of bytes written to `__buf` on success, and returns -1 and sets `errno`
  * on failure.
- *
- * Available since API level 21.
  */
-size_t c16rtomb(char* _Nullable __buf, char16_t __ch16, mbstate_t* _Nullable __ps) __INTRODUCED_IN(21);
+size_t c16rtomb(char* _Nullable __buf, char16_t __ch16, mbstate_t* _Nullable __ps);
 
 /**
- * [c32rtomb(3)](http://man7.org/linux/man-pages/man3/c32rtomb.3.html) converts a single UTF-32
+ * [c32rtomb(3)](https://man7.org/linux/man-pages/man3/c32rtomb.3.html) converts a single UTF-32
  * character to UTF-8.
  *
  * Returns the number of bytes written to `__buf` on success, and returns -1 and sets `errno`
  * on failure.
- *
- * Available since API level 21.
  */
-size_t c32rtomb(char* _Nullable __buf, char32_t __ch32, mbstate_t* _Nullable __ps) __INTRODUCED_IN(21);
+size_t c32rtomb(char* _Nullable __buf, char32_t __ch32, mbstate_t* _Nullable __ps);
 
 /**
- * [mbrtoc16(3)](http://man7.org/linux/man-pages/man3/mbrtoc16.3.html) converts the next UTF-8
+ * [mbrtoc16(3)](https://man7.org/linux/man-pages/man3/mbrtoc16.3.html) converts the next UTF-8
  * sequence to a UTF-16 code point.
- *
- * Available since API level 21.
  */
-size_t mbrtoc16(char16_t* _Nullable __ch16, const char* _Nullable __s, size_t __n, mbstate_t* _Nullable __ps) __INTRODUCED_IN(21);
+size_t mbrtoc16(char16_t* _Nullable __ch16, const char* _Nullable __s, size_t __n, mbstate_t* _Nullable __ps);
 
 /**
- * [mbrtoc32(3)](http://man7.org/linux/man-pages/man3/mbrtoc32.3.html) converts the next UTF-8
+ * [mbrtoc32(3)](https://man7.org/linux/man-pages/man3/mbrtoc32.3.html) converts the next UTF-8
  * sequence to a UTF-32 code point.
- *
- * Available since API level 21.
  */
-size_t mbrtoc32(char32_t* _Nullable __ch32, const char* _Nullable __s, size_t __n, mbstate_t* _Nullable __ps) __INTRODUCED_IN(21);
+size_t mbrtoc32(char32_t* _Nullable __ch32, const char* _Nullable __s, size_t __n, mbstate_t* _Nullable __ps);
 
 __END_DECLS
diff --git a/libc/include/unistd.h b/libc/include/unistd.h
index 7ad94e1..e623339 100644
--- a/libc/include/unistd.h
+++ b/libc/include/unistd.h
@@ -28,12 +28,14 @@
 
 #pragma once
 
-#include <stddef.h>
 #include <sys/cdefs.h>
+
+#include <stddef.h>
 #include <sys/types.h>
 #include <sys/select.h>
 
 #include <bits/fcntl.h>
+#include <bits/getentropy.h>
 #include <bits/getopt.h>
 #include <bits/ioctl.h>
 #include <bits/lockf.h>
@@ -77,32 +79,87 @@
 
 __noreturn void _exit(int __status);
 
-pid_t  fork(void);
-pid_t  vfork(void) __returns_twice;
+/**
+ * [fork(2)](https://man7.org/linux/man-pages/man2/fork.2.html) creates a new
+ * process. fork() runs any handlers set by pthread_atfork().
+ *
+ * Returns 0 in the child, the pid of the child in the parent,
+ * and returns -1 and sets `errno` on failure.
+ */
+pid_t fork(void);
+
+/**
+ * _Fork() creates a new process. _Fork() differs from fork() in that it does
+ * not run any handlers set by pthread_atfork(). In addition to any user-defined
+ * ones, bionic uses pthread_atfork() handlers to ensure consistency of its own
+ * state, so the child should only call
+ * [POSIX async-safe](https://man7.org/linux/man-pages/man7/signal-safety.7.html)
+ * functions.
+ *
+ * Returns 0 in the child, the pid of the child in the parent,
+ * and returns -1 and sets `errno` on failure.
+ *
+ * Available since API level 35.
+ */
+
+#if __BIONIC_AVAILABILITY_GUARD(35)
+pid_t _Fork(void) __INTRODUCED_IN(35);
+#endif /* __BIONIC_AVAILABILITY_GUARD(35) */
+
+
+/**
+ * [vfork(2)](https://man7.org/linux/man-pages/man2/vfork.2.html) creates a new
+ * process. vfork() differs from fork() in that it does not run any handlers
+ * set by pthread_atfork(), and the parent is suspended until the child calls
+ * exec() or exits.
+ *
+ * Returns 0 in the child, the pid of the child in the parent,
+ * and returns -1 and sets `errno` on failure.
+ */
+pid_t vfork(void) __returns_twice;
+
+/**
+ * [getpid(2)](https://man7.org/linux/man-pages/man2/getpid.2.html) returns
+ * the caller's process ID.
+ *
+ * Returns the caller's process ID.
+ */
 pid_t  getpid(void);
-pid_t  gettid(void) __attribute_const__;
+
+/**
+ * [gettid(2)](https://man7.org/linux/man-pages/man2/gettid.2.html) returns
+ * the caller's thread ID.
+ *
+ * Returns the caller's thread ID.
+ */
+pid_t  gettid(void);
+
 pid_t  getpgid(pid_t __pid);
 int    setpgid(pid_t __pid, pid_t __pgid);
 pid_t  getppid(void);
 pid_t  getpgrp(void);
 int    setpgrp(void);
-pid_t  getsid(pid_t __pid) __INTRODUCED_IN(17);
+pid_t  getsid(pid_t __pid);
 pid_t  setsid(void);
 
 int execv(const char* _Nonnull __path, char* _Nullable const* _Nullable __argv);
 int execvp(const char* _Nonnull __file, char* _Nullable const* _Nullable __argv);
-int execvpe(const char* _Nonnull __file, char* _Nullable const* _Nullable __argv, char* _Nullable const* _Nullable __envp) __INTRODUCED_IN(21);
+int execvpe(const char* _Nonnull __file, char* _Nullable const* _Nullable __argv, char* _Nullable const* _Nullable __envp);
 int execve(const char* _Nonnull __file, char* _Nullable const* _Nullable __argv, char* _Nullable const* _Nullable __envp);
 int execl(const char* _Nonnull __path, const char* _Nullable __arg0, ...) __attribute__((__sentinel__));
 int execlp(const char* _Nonnull __file, const char* _Nullable __arg0, ...) __attribute__((__sentinel__));
 int execle(const char* _Nonnull __path, const char* _Nullable __arg0, ... /*,  char* const* __envp */)
     __attribute__((__sentinel__(1)));
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int fexecve(int __fd, char* _Nullable const* _Nullable __argv, char* _Nullable const* _Nullable __envp) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 
 int nice(int __incr);
 
 /**
- * [setegid(2)](http://man7.org/linux/man-pages/man2/setegid.2.html) sets
+ * [setegid(2)](https://man7.org/linux/man-pages/man2/setegid.2.html) sets
  * the effective group ID.
  *
  * On Android, this function only affects the calling thread, not all threads
@@ -113,7 +170,7 @@
 int setegid(gid_t __gid);
 
 /**
- * [seteuid(2)](http://man7.org/linux/man-pages/man2/seteuid.2.html) sets
+ * [seteuid(2)](https://man7.org/linux/man-pages/man2/seteuid.2.html) sets
  * the effective user ID.
  *
  * On Android, this function only affects the calling thread, not all threads
@@ -124,7 +181,7 @@
 int seteuid(uid_t __uid);
 
 /**
- * [setgid(2)](http://man7.org/linux/man-pages/man2/setgid.2.html) sets
+ * [setgid(2)](https://man7.org/linux/man-pages/man2/setgid.2.html) sets
  * the group ID.
  *
  * On Android, this function only affects the calling thread, not all threads
@@ -135,7 +192,7 @@
 int setgid(gid_t __gid);
 
 /**
- * [setregid(2)](http://man7.org/linux/man-pages/man2/setregid.2.html) sets
+ * [setregid(2)](https://man7.org/linux/man-pages/man2/setregid.2.html) sets
  * the real and effective group IDs (use -1 to leave an ID unchanged).
  *
  * On Android, this function only affects the calling thread, not all threads
@@ -146,7 +203,7 @@
 int setregid(gid_t __rgid, gid_t __egid);
 
 /**
- * [setresgid(2)](http://man7.org/linux/man-pages/man2/setresgid.2.html) sets
+ * [setresgid(2)](https://man7.org/linux/man-pages/man2/setresgid.2.html) sets
  * the real, effective, and saved group IDs (use -1 to leave an ID unchanged).
  *
  * On Android, this function only affects the calling thread, not all threads
@@ -157,7 +214,7 @@
 int setresgid(gid_t __rgid, gid_t __egid, gid_t __sgid);
 
 /**
- * [setresuid(2)](http://man7.org/linux/man-pages/man2/setresuid.2.html) sets
+ * [setresuid(2)](https://man7.org/linux/man-pages/man2/setresuid.2.html) sets
  * the real, effective, and saved user IDs (use -1 to leave an ID unchanged).
  *
  * On Android, this function only affects the calling thread, not all threads
@@ -168,7 +225,7 @@
 int setresuid(uid_t __ruid, uid_t __euid, uid_t __suid);
 
 /**
- * [setreuid(2)](http://man7.org/linux/man-pages/man2/setreuid.2.html) sets
+ * [setreuid(2)](https://man7.org/linux/man-pages/man2/setreuid.2.html) sets
  * the real and effective group IDs (use -1 to leave an ID unchanged).
  *
  * On Android, this function only affects the calling thread, not all threads
@@ -179,7 +236,7 @@
 int setreuid(uid_t __ruid, uid_t __euid);
 
 /**
- * [setuid(2)](http://man7.org/linux/man-pages/man2/setuid.2.html) sets
+ * [setuid(2)](https://man7.org/linux/man-pages/man2/setuid.2.html) sets
  * the user ID.
  *
  * On Android, this function only affects the calling thread, not all threads
@@ -198,7 +255,11 @@
 int getresuid(uid_t* _Nonnull __ruid, uid_t* _Nonnull __euid, uid_t* _Nonnull __suid);
 int getresgid(gid_t* _Nonnull __rgid, gid_t* _Nonnull __egid, gid_t* _Nonnull __sgid);
 char* _Nullable getlogin(void);
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int getlogin_r(char* _Nonnull __buffer, size_t __buffer_size) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 
 long fpathconf(int __fd, int __name);
 long pathconf(const char* _Nonnull __path, int __name);
@@ -206,11 +267,32 @@
 int access(const char* _Nonnull __path, int __mode);
 int faccessat(int __dirfd, const char* _Nonnull __path, int __mode, int __flags);
 int link(const char* _Nonnull __old_path, const char* _Nonnull __new_path);
-int linkat(int __old_dir_fd, const char* _Nonnull __old_path, int __new_dir_fd, const char* _Nonnull __new_path, int __flags) __INTRODUCED_IN(21);
+int linkat(int __old_dir_fd, const char* _Nonnull __old_path, int __new_dir_fd, const char* _Nonnull __new_path, int __flags);
 int unlink(const char* _Nonnull __path);
 int unlinkat(int __dirfd, const char* _Nonnull __path, int __flags);
+
+/**
+ * [chdir(2)](https://man7.org/linux/man-pages/man2/chdir.2.html) changes
+ * the current working directory to the given path.
+ *
+ * This function affects all threads in the process, so is generally a bad idea
+ * on Android where most code will be running in a multi-threaded context.
+ *
+ * Returns 0 on success, and returns -1 and sets `errno` on failure.
+ */
 int chdir(const char* _Nonnull __path);
+
+/**
+ * [fchdir(2)](https://man7.org/linux/man-pages/man2/chdir.2.html) changes
+ * the current working directory to the given fd.
+ *
+ * This function affects all threads in the process, so is generally a bad idea
+ * on Android where most code will be running in a multi-threaded context.
+ *
+ * Returns 0 on success, and returns -1 and sets `errno` on failure.
+ */
 int fchdir(int __fd);
+
 int rmdir(const char* _Nonnull __path);
 int pipe(int __fds[_Nonnull 2]);
 #if defined(__USE_GNU)
@@ -218,10 +300,9 @@
 #endif
 int chroot(const char* _Nonnull __path);
 int symlink(const char* _Nonnull __old_path, const char* _Nonnull __new_path);
-int symlinkat(const char* _Nonnull __old_path, int __new_dir_fd, const char* _Nonnull __new_path) __INTRODUCED_IN(21);
+int symlinkat(const char* _Nonnull __old_path, int __new_dir_fd, const char* _Nonnull __new_path);
 ssize_t readlink(const char* _Nonnull __path, char* _Nonnull __buf, size_t __buf_size);
-ssize_t readlinkat(int __dir_fd, const char* _Nonnull __path, char* _Nonnull __buf, size_t __buf_size)
-    __INTRODUCED_IN(21);
+ssize_t readlinkat(int __dir_fd, const char* _Nonnull __path, char* _Nonnull __buf, size_t __buf_size);
 int chown(const char* _Nonnull __path, uid_t __owner, gid_t __group);
 int fchown(int __fd, uid_t __owner, gid_t __group);
 int fchownat(int __dir_fd, const char* _Nonnull __path, uid_t __owner, gid_t __group, int __flags);
@@ -230,7 +311,11 @@
 
 void sync(void);
 #if defined(__USE_GNU)
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 int syncfs(int __fd) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 #endif
 
 int close(int __fd);
@@ -261,13 +346,13 @@
 
 int dup(int __old_fd);
 int dup2(int __old_fd, int __new_fd);
-int dup3(int __old_fd, int __new_fd, int __flags) __INTRODUCED_IN(21);
+int dup3(int __old_fd, int __new_fd, int __flags);
 int fsync(int __fd);
 int fdatasync(int __fd);
 
-/* See https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md */
+/* See https://android.googlesource.com/platform/bionic/+/main/docs/32-bit-abi.md */
 #if defined(__USE_FILE_OFFSET64)
-int truncate(const char* _Nonnull __path, off_t __length) __RENAME(truncate64) __INTRODUCED_IN(21);
+int truncate(const char* _Nonnull __path, off_t __length) __RENAME(truncate64);
 off_t lseek(int __fd, off_t __offset, int __whence) __RENAME(lseek64);
 ssize_t pread(int __fd, void* _Nonnull __buf, size_t __count, off_t __offset) __RENAME(pread64);
 ssize_t pwrite(int __fd, const void* _Nonnull __buf, size_t __count, off_t __offset) __RENAME(pwrite64);
@@ -280,7 +365,7 @@
 int ftruncate(int __fd, off_t __length);
 #endif
 
-int truncate64(const char* _Nonnull __path, off64_t __length) __INTRODUCED_IN(21);
+int truncate64(const char* _Nonnull __path, off64_t __length);
 off64_t lseek64(int __fd, off64_t __offset, int __whence);
 ssize_t pread64(int __fd, void* _Nonnull __buf, size_t __count, off64_t __offset);
 ssize_t pwrite64(int __fd, const void* _Nonnull __buf, size_t __count, off64_t __offset);
@@ -292,7 +377,11 @@
 int usleep(useconds_t __microseconds);
 
 int gethostname(char* _Nonnull _buf, size_t __buf_size);
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 int sethostname(const char* _Nonnull __name, size_t __n) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 int brk(void* _Nonnull __addr);
 void* _Nullable sbrk(ptrdiff_t __increment);
@@ -303,15 +392,25 @@
 
 int acct(const char* _Nullable __path);
 
-int getpagesize(void) __INTRODUCED_IN(21);
+/**
+ * [getpagesize(2)](https://man7.org/linux/man-pages/man2/getpagesize.2.html)
+ * returns the system's page size. This is slightly faster than going via
+ * sysconf(), and avoids the linear search in getauxval().
+ *
+ * Returns the system's page size in bytes.
+ */
+int getpagesize(void) __attribute_const__;
 
 long syscall(long __number, ...);
 
 int daemon(int __no_chdir, int __no_close);
 
 #if defined(__arm__)
+/**
+ * New code should use __builtin___clear_cache() instead, which works on
+ * all architectures.
+ */
 int cacheflush(long __addr, long __nbytes, long __cache);
-    /* __attribute__((deprecated("use __builtin___clear_cache instead"))); */
 #endif
 
 pid_t tcgetpgrp(int __fd);
@@ -325,8 +424,12 @@
     } while (_rc == -1 && errno == EINTR); \
     _rc; })
 
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
 int getdomainname(char* _Nonnull __buf, size_t __buf_size) __INTRODUCED_IN(26);
 int setdomainname(const char* _Nonnull __name, size_t __n) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
+
 
 /**
  * [copy_file_range(2)](https://man7.org/linux/man-pages/man2/copy_file_range.2.html) copies
@@ -337,7 +440,11 @@
  * Returns the number of bytes copied on success, and returns -1 and sets
  * `errno` on failure.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(34)
 ssize_t copy_file_range(int __fd_in, off64_t* _Nullable __off_in, int __fd_out, off64_t* _Nullable __off_out, size_t __length, unsigned int __flags) __INTRODUCED_IN(34);
+#endif /* __BIONIC_AVAILABILITY_GUARD(34) */
+
 
 #if __ANDROID_API__ >= 28
 void swab(const void* _Nonnull __src, void* _Nonnull __dst, ssize_t __byte_count) __INTRODUCED_IN(28);
@@ -357,7 +464,11 @@
  *
  * Returns 0 on success, and returns -1 and sets `errno` on failure.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(34)
 int close_range(unsigned int __min_fd, unsigned int __max_fd, int __flags) __INTRODUCED_IN(34);
+#endif /* __BIONIC_AVAILABILITY_GUARD(34) */
+
 
 #if defined(__BIONIC_INCLUDE_FORTIFY_HEADERS)
 #define _UNISTD_H_
diff --git a/libc/include/utime.h b/libc/include/utime.h
index 4d181a8..f06a028 100644
--- a/libc/include/utime.h
+++ b/libc/include/utime.h
@@ -40,7 +40,7 @@
 __BEGIN_DECLS
 
 /**
- * [utime(2)](http://man7.org/linux/man-pages/man2/utime.2.html) changes the access and
+ * [utime(2)](https://man7.org/linux/man-pages/man2/utime.2.html) changes the access and
  * modification time of `__filename`. If `__times` is null, the current time is used.
  *
  * New code should prefer utimensat().
diff --git a/libc/include/utmp.h b/libc/include/utmp.h
index d249f8a..1674491 100644
--- a/libc/include/utmp.h
+++ b/libc/include/utmp.h
@@ -131,6 +131,10 @@
  *
  * Available since API level 23.
  */
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 int login_tty(int __fd) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 
 __END_DECLS
diff --git a/libc/include/wchar.h b/libc/include/wchar.h
index 39f9374..56594dc 100644
--- a/libc/include/wchar.h
+++ b/libc/include/wchar.h
@@ -37,6 +37,7 @@
 #include <time.h>
 #include <xlocale.h>
 
+#include <bits/bionic_multibyte_result.h>
 #include <bits/mbstate_t.h>
 #include <bits/wchar_limits.h>
 #include <bits/wctype.h>
@@ -57,23 +58,28 @@
 size_t mbrlen(const char* _Nullable __s, size_t __n, mbstate_t* _Nullable __ps);
 size_t mbrtowc(wchar_t* _Nullable __buf, const char* _Nullable __s, size_t __n, mbstate_t* _Nullable __ps);
 size_t mbsrtowcs(wchar_t* _Nullable __dst, const char* _Nullable * _Nonnull __src, size_t __dst_n, mbstate_t* _Nullable __ps);
-size_t mbsnrtowcs(wchar_t* _Nullable __dst, const char* _Nullable * _Nullable  __src, size_t __src_n, size_t __dst_n, mbstate_t* _Nullable __ps) __INTRODUCED_IN(21);
+size_t mbsrtowcs_l(wchar_t* _Nullable __dst, const char* _Nullable * _Nonnull __src, size_t __dst_n, mbstate_t* _Nullable __ps, locale_t _Nonnull __l) __RENAME(mbsrtowcs);
+size_t mbsnrtowcs(wchar_t* _Nullable __dst, const char* _Nullable * _Nullable  __src, size_t __src_n, size_t __dst_n, mbstate_t* _Nullable __ps);
 wint_t putwc(wchar_t __wc, FILE* _Nonnull __fp);
 wint_t putwchar(wchar_t __wc);
 int swprintf(wchar_t* _Nonnull __buf, size_t __n, const wchar_t* _Nonnull __fmt, ...);
 int swscanf(const wchar_t* _Nonnull __s, const wchar_t* _Nonnull __fmt, ...);
 wint_t ungetwc(wint_t __wc, FILE* _Nonnull __fp);
 int vfwprintf(FILE* _Nonnull __fp, const wchar_t* _Nonnull __fmt, va_list __args);
-int vfwscanf(FILE* _Nonnull __fp, const wchar_t* _Nonnull __fmt, va_list __args) __INTRODUCED_IN(21);
+int vfwscanf(FILE* _Nonnull __fp, const wchar_t* _Nonnull __fmt, va_list __args);
 int vswprintf(wchar_t* _Nonnull __buf, size_t __n, const wchar_t* _Nonnull __fmt, va_list __args);
-int vswscanf(const wchar_t* _Nonnull __s, const wchar_t* _Nonnull __fmt, va_list __args) __INTRODUCED_IN(21);
+int vswscanf(const wchar_t* _Nonnull __s, const wchar_t* _Nonnull __fmt, va_list __args);
 int vwprintf(const wchar_t* _Nonnull __fmt, va_list __args);
-int vwscanf(const wchar_t* _Nonnull __fmt, va_list __args) __INTRODUCED_IN(21);
+int vwscanf(const wchar_t* _Nonnull __fmt, va_list __args);
 wchar_t* _Nonnull wcpcpy(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src);
 wchar_t* _Nonnull wcpncpy(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src, size_t __n);
 size_t wcrtomb(char* _Nullable __buf, wchar_t __wc, mbstate_t* _Nullable __ps);
 int wcscasecmp(const wchar_t* _Nonnull __lhs, const wchar_t* _Nonnull __rhs);
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 int wcscasecmp_l(const wchar_t* _Nonnull __lhs, const wchar_t* _Nonnull __rhs, locale_t _Nonnull __l) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 wchar_t* _Nonnull wcscat(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src);
 wchar_t* _Nullable wcschr(const wchar_t * _Nonnull __s, wchar_t __wc);
 int wcscmp(const wchar_t* _Nonnull __lhs, const wchar_t* _Nonnull __rhs);
@@ -81,31 +87,40 @@
 wchar_t* _Nonnull wcscpy(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src);
 size_t wcscspn(const wchar_t* _Nonnull __s, const wchar_t* _Nonnull __accept);
 size_t wcsftime(wchar_t* _Nonnull __buf, size_t __n, const wchar_t* _Nullable __fmt, const struct tm* _Nonnull __tm);
+
+#if __BIONIC_AVAILABILITY_GUARD(28)
 size_t wcsftime_l(wchar_t* _Nonnull __buf, size_t __n, const wchar_t* _Nullable __fmt, const struct tm* _Nonnull __tm, locale_t _Nonnull __l) __INTRODUCED_IN(28);
+#endif /* __BIONIC_AVAILABILITY_GUARD(28) */
+
 size_t wcslen(const wchar_t* _Nonnull __s);
 int wcsncasecmp(const wchar_t* _Nonnull __lhs, const wchar_t* _Nonnull __rhs, size_t __n);
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 int wcsncasecmp_l(const wchar_t* _Nonnull __lhs, const wchar_t* _Nonnull __rhs, size_t __n, locale_t _Nonnull __l) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 wchar_t* _Nonnull wcsncat(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src, size_t __n);
 int wcsncmp(const wchar_t* _Nonnull __lhs, const wchar_t* _Nonnull __rhs, size_t __n);
 wchar_t* _Nonnull wcsncpy(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src, size_t __n);
-size_t wcsnrtombs(char* _Nullable __dst, const wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __src, size_t __src_n, size_t __dst_n, mbstate_t* _Nullable __ps) __INTRODUCED_IN(21);
+size_t wcsnrtombs(char* _Nullable __dst, const wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __src, size_t __src_n, size_t __dst_n, mbstate_t* _Nullable __ps);
 wchar_t* _Nullable wcspbrk(const wchar_t* _Nonnull __s, const wchar_t* _Nonnull __accept);
 wchar_t* _Nullable wcsrchr(const wchar_t* _Nonnull __s, wchar_t __wc);
 size_t wcsrtombs(char* _Nullable __dst, const wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __src, size_t __dst_n, mbstate_t* _Nullable __ps);
+size_t wcsrtombs_l(char* _Nullable __dst, const wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __src, size_t __dst_n, mbstate_t* _Nullable __ps, locale_t _Nonnull __l) __RENAME(wcsrtombs);
 size_t wcsspn(const wchar_t* _Nonnull __s, const wchar_t* _Nonnull __accept);
 wchar_t* _Nullable wcsstr(const wchar_t* _Nonnull __haystack, const wchar_t* _Nonnull __needle);
 double wcstod(const wchar_t* _Nonnull __s, wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __end_ptr);
-double wcstod_l(const wchar_t* _Nonnull __s, wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __end_ptr, locale_t _Nonnull __l) __INTRODUCED_IN(28);
-float wcstof(const wchar_t* _Nonnull __s, wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __end_ptr) __INTRODUCED_IN(21);
-float wcstof_l(const wchar_t* _Nonnull __s, wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __end_ptr, locale_t _Nonnull __l) __INTRODUCED_IN(28);
+double wcstod_l(const wchar_t* _Nonnull __s, wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __end_ptr, locale_t _Nonnull __l) __RENAME(wcstod);
+float wcstof(const wchar_t* _Nonnull __s, wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __end_ptr);
+float wcstof_l(const wchar_t* _Nonnull __s, wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __end_ptr, locale_t _Nonnull __l) __RENAME(wcstof);
 wchar_t* _Nullable wcstok(wchar_t* _Nullable __s, const wchar_t* _Nonnull __delimiter, wchar_t* _Nonnull * _Nonnull __ptr);
 long wcstol(const wchar_t* _Nonnull __s, wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __end_ptr, int __base);
-long wcstol_l(const wchar_t* _Nonnull __s, wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __end_ptr, int __base, locale_t _Nonnull __l) __INTRODUCED_IN(28);
-long long wcstoll(const wchar_t* _Nonnull __s, wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __end_ptr, int __base) __INTRODUCED_IN(21);
-long double wcstold(const wchar_t* _Nonnull __s, wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __end_ptr) __RENAME_LDBL(wcstod, 3, 21);
+long wcstol_l(const wchar_t* _Nonnull __s, wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __end_ptr, int __base, locale_t _Nonnull __l) __RENAME(wcstol);
+long long wcstoll(const wchar_t* _Nonnull __s, wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __end_ptr, int __base);
+long double wcstold(const wchar_t* _Nonnull __s, wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __end_ptr);
 unsigned long wcstoul(const wchar_t* _Nonnull __s, wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __end_ptr, int __base);
-unsigned long wcstoul_l(const wchar_t* _Nonnull __s, wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __end_ptr, int __base, locale_t _Nonnull __l) __INTRODUCED_IN(28);
-unsigned long long wcstoull(const wchar_t* _Nonnull __s, wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __end_ptr, int __base) __INTRODUCED_IN(21);
+unsigned long wcstoul_l(const wchar_t* _Nonnull __s, wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __end_ptr, int __base, locale_t _Nonnull __l) __RENAME(wcstoul);
+unsigned long long wcstoull(const wchar_t* _Nonnull __s, wchar_t* __BIONIC_COMPLICATED_NULLNESS * _Nullable __end_ptr, int __base);
 int wcswidth(const wchar_t* _Nonnull __s, size_t __n);
 size_t wcsxfrm(wchar_t* __BIONIC_COMPLICATED_NULLNESS __dst, const wchar_t* _Nonnull __src, size_t __n);
 int wctob(wint_t __wc);
@@ -114,24 +129,31 @@
 int wmemcmp(const wchar_t* _Nullable __lhs, const wchar_t* _Nullable __rhs, size_t __n);
 wchar_t* _Nonnull wmemcpy(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src, size_t __n);
 #if defined(__USE_GNU)
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 wchar_t* _Nonnull wmempcpy(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src, size_t __n) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 #endif
 wchar_t* _Nonnull wmemmove(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src, size_t __n);
 wchar_t* _Nonnull wmemset(wchar_t* _Nonnull __dst, wchar_t __wc, size_t __n);
 int wprintf(const wchar_t* _Nonnull __fmt, ...);
 int wscanf(const wchar_t* _Nonnull __fmt, ...);
 
-long long wcstoll_l(const wchar_t* _Nonnull __s, wchar_t* _Nullable * _Nullable __end_ptr, int __base, locale_t _Nonnull __l) __INTRODUCED_IN(21);
-unsigned long long wcstoull_l(const wchar_t* _Nonnull __s, wchar_t* _Nullable * _Nullable __end_ptr, int __base, locale_t _Nonnull __l) __INTRODUCED_IN(21);
-long double wcstold_l(const wchar_t* _Nonnull __s, wchar_t* _Nullable * _Nullable __end_ptr, locale_t _Nonnull __l) __INTRODUCED_IN(21);
+long long wcstoll_l(const wchar_t* _Nonnull __s, wchar_t* _Nullable * _Nullable __end_ptr, int __base, locale_t _Nonnull __l);
+unsigned long long wcstoull_l(const wchar_t* _Nonnull __s, wchar_t* _Nullable * _Nullable __end_ptr, int __base, locale_t _Nonnull __l);
+long double wcstold_l(const wchar_t* _Nonnull __s, wchar_t* _Nullable * _Nullable __end_ptr, locale_t _Nonnull __l);
 
-int wcscoll_l(const wchar_t* _Nonnull __lhs, const wchar_t* _Nonnull __rhs, locale_t _Nonnull __l) __attribute_pure__
-    __INTRODUCED_IN(21);
-size_t wcsxfrm_l(wchar_t* __BIONIC_COMPLICATED_NULLNESS __dst, const wchar_t* _Nonnull __src, size_t __n, locale_t _Nonnull __l) __INTRODUCED_IN(21);
+int wcscoll_l(const wchar_t* _Nonnull __lhs, const wchar_t* _Nonnull __rhs, locale_t _Nonnull __l) __attribute_pure__;
+size_t wcsxfrm_l(wchar_t* __BIONIC_COMPLICATED_NULLNESS __dst, const wchar_t* _Nonnull __src, size_t __n, locale_t _Nonnull __l);
 size_t wcslcat(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src, size_t __n);
 size_t wcslcpy(wchar_t* _Nonnull __dst, const wchar_t* _Nonnull __src, size_t __n);
 
+
+#if __BIONIC_AVAILABILITY_GUARD(23)
 FILE* _Nullable open_wmemstream(wchar_t* _Nonnull * _Nonnull __ptr, size_t* _Nonnull  __size_ptr) __INTRODUCED_IN(23);
+#endif /* __BIONIC_AVAILABILITY_GUARD(23) */
+
 wchar_t* _Nullable wcsdup(const wchar_t* _Nonnull __s);
 size_t wcsnlen(const wchar_t* _Nonnull __s, size_t __n);
 
diff --git a/libc/include/wctype.h b/libc/include/wctype.h
index 344343f..30ec04f 100644
--- a/libc/include/wctype.h
+++ b/libc/include/wctype.h
@@ -29,33 +29,38 @@
 #ifndef _WCTYPE_H_
 #define _WCTYPE_H_
 
-#include <bits/wctype.h>
 #include <sys/cdefs.h>
+
+#include <bits/wctype.h>
 #include <xlocale.h>
 
 __BEGIN_DECLS
 
-int iswalnum_l(wint_t __wc, locale_t _Nonnull __l) __INTRODUCED_IN(21);
-int iswalpha_l(wint_t __wc, locale_t _Nonnull __l) __INTRODUCED_IN(21);
-int iswblank_l(wint_t __wc, locale_t _Nonnull __l) __INTRODUCED_IN(21);
-int iswcntrl_l(wint_t __wc, locale_t _Nonnull __l) __INTRODUCED_IN(21);
-int iswdigit_l(wint_t __wc, locale_t _Nonnull __l) __INTRODUCED_IN(21);
-int iswgraph_l(wint_t __wc, locale_t _Nonnull __l) __INTRODUCED_IN(21);
-int iswlower_l(wint_t __wc, locale_t _Nonnull __l) __INTRODUCED_IN(21);
-int iswprint_l(wint_t __wc, locale_t _Nonnull __l) __INTRODUCED_IN(21);
-int iswpunct_l(wint_t __wc, locale_t _Nonnull __l) __INTRODUCED_IN(21);
-int iswspace_l(wint_t __wc, locale_t _Nonnull __l) __INTRODUCED_IN(21);
-int iswupper_l(wint_t __wc, locale_t _Nonnull __l) __INTRODUCED_IN(21);
-int iswxdigit_l(wint_t __wc, locale_t _Nonnull __l) __INTRODUCED_IN(21);
+int iswalnum_l(wint_t __wc, locale_t _Nonnull __l);
+int iswalpha_l(wint_t __wc, locale_t _Nonnull __l);
+int iswblank_l(wint_t __wc, locale_t _Nonnull __l);
+int iswcntrl_l(wint_t __wc, locale_t _Nonnull __l);
+int iswdigit_l(wint_t __wc, locale_t _Nonnull __l);
+int iswgraph_l(wint_t __wc, locale_t _Nonnull __l);
+int iswlower_l(wint_t __wc, locale_t _Nonnull __l);
+int iswprint_l(wint_t __wc, locale_t _Nonnull __l);
+int iswpunct_l(wint_t __wc, locale_t _Nonnull __l);
+int iswspace_l(wint_t __wc, locale_t _Nonnull __l);
+int iswupper_l(wint_t __wc, locale_t _Nonnull __l);
+int iswxdigit_l(wint_t __wc, locale_t _Nonnull __l);
 
-wint_t towlower_l(wint_t __wc, locale_t _Nonnull __l) __INTRODUCED_IN(21);
-wint_t towupper_l(wint_t __wc, locale_t _Nonnull __l) __INTRODUCED_IN(21);
+wint_t towlower_l(wint_t __wc, locale_t _Nonnull __l);
+wint_t towupper_l(wint_t __wc, locale_t _Nonnull __l);
 
+
+#if __BIONIC_AVAILABILITY_GUARD(26)
 wint_t towctrans_l(wint_t __wc, wctrans_t _Nonnull __transform, locale_t _Nonnull __l) __INTRODUCED_IN(26);
 wctrans_t _Nonnull wctrans_l(const char* _Nonnull __name, locale_t _Nonnull __l) __INTRODUCED_IN(26);
+#endif /* __BIONIC_AVAILABILITY_GUARD(26) */
 
-wctype_t wctype_l(const char* _Nonnull __name, locale_t _Nonnull __l) __INTRODUCED_IN(21);
-int iswctype_l(wint_t __wc, wctype_t __transform, locale_t _Nonnull __l) __INTRODUCED_IN(21);
+
+wctype_t wctype_l(const char* _Nonnull __name, locale_t _Nonnull __l);
+int iswctype_l(wint_t __wc, wctype_t __transform, locale_t _Nonnull __l);
 
 __END_DECLS
 
diff --git a/libc/kernel/android/BUILD b/libc/kernel/android/BUILD
deleted file mode 100644
index b862a6d..0000000
--- a/libc/kernel/android/BUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright (C) 2022 The Android Open Source Project
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-# SUCH DAMAGE.
-
-load("//build/bazel/rules/apis:cc_api_contribution.bzl", "cc_api_headers")
-
-package(default_visibility = ["//bionic/libc:__pkg__"])
-
-cc_api_headers(
-  name="libc_kernel_android_uapi_headers",
-  include_dir="uapi",
-  hdrs=glob(["uapi/**/*.h"]),
-  system=True,
-)
-
-cc_api_headers(
-  name="libc_kernel_android_scsi_headers",
-  include_dir="scsi",
-  hdrs=glob(["scsi/**/*.h"]),
-  system=True,
-)
diff --git a/libc/kernel/android/scsi/scsi/scsi.h b/libc/kernel/android/scsi/scsi/scsi.h
index 6d89fa9..4efeada 100644
--- a/libc/kernel/android/scsi/scsi/scsi.h
+++ b/libc/kernel/android/scsi/scsi/scsi.h
@@ -1,24 +1,13 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _SCSI_SCSI_H
 #define _SCSI_SCSI_H
 #include <linux/types.h>
+#include <asm/param.h>
 #include <scsi/scsi_proto.h>
 #include <scsi/scsi_status.h>
 struct ccs_modesel_head {
diff --git a/libc/kernel/android/scsi/scsi/scsi_ioctl.h b/libc/kernel/android/scsi/scsi/scsi_ioctl.h
index c871362..fe5665e 100644
--- a/libc/kernel/android/scsi/scsi/scsi_ioctl.h
+++ b/libc/kernel/android/scsi/scsi/scsi_ioctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _SCSI_IOCTL_H
 #define _SCSI_IOCTL_H
 #define SCSI_IOCTL_SEND_COMMAND 1
diff --git a/libc/kernel/android/scsi/scsi/scsi_proto.h b/libc/kernel/android/scsi/scsi/scsi_proto.h
index 24df458..754e12a 100644
--- a/libc/kernel/android/scsi/scsi/scsi_proto.h
+++ b/libc/kernel/android/scsi/scsi/scsi_proto.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _SCSI_PROTO_H_
 #define _SCSI_PROTO_H_
 #include <linux/types.h>
@@ -121,6 +109,7 @@
 #define WRITE_SAME_16 0x93
 #define ZBC_OUT 0x94
 #define ZBC_IN 0x95
+#define WRITE_ATOMIC_16 0x9c
 #define SERVICE_ACTION_BIDIRECTIONAL 0x9d
 #define SERVICE_ACTION_IN_16 0x9e
 #define SERVICE_ACTION_OUT_16 0x9f
diff --git a/libc/kernel/android/scsi/scsi/scsi_status.h b/libc/kernel/android/scsi/scsi/scsi_status.h
index 6a7fc10..e3fc7c0 100644
--- a/libc/kernel/android/scsi/scsi/scsi_status.h
+++ b/libc/kernel/android/scsi/scsi/scsi_status.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _SCSI_SCSI_STATUS_H
 #define _SCSI_SCSI_STATUS_H
 #include <linux/types.h>
diff --git a/libc/kernel/android/scsi/scsi/sg.h b/libc/kernel/android/scsi/scsi/sg.h
index 9ba6cd6..ebb1e4d 100644
--- a/libc/kernel/android/scsi/scsi/sg.h
+++ b/libc/kernel/android/scsi/scsi/sg.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _SCSI_GENERIC_H
 #define _SCSI_GENERIC_H
 #include <linux/compiler.h>
diff --git a/libc/kernel/tools/clean_header.py b/libc/kernel/tools/clean_header.py
index f15fab4..07766d3 100755
--- a/libc/kernel/tools/clean_header.py
+++ b/libc/kernel/tools/clean_header.py
@@ -69,7 +69,7 @@
 #   Is prepended to each generated header.
 #------------------------------------------------------------------------------
 
-import sys, cpp, kernel, glob, os, re, getopt
+import sys, cpp, kernel, glob, os, re, getopt, textwrap
 from defaults import *
 from utils import *
 
@@ -116,7 +116,14 @@
     blocks.replaceTokens(kernel_token_replacements)
 
     out = StringOutput()
-    out.write(kernel_disclaimer)
+    out.write(textwrap.dedent("""\
+        /*
+         * This file is auto-generated. Modifications will be lost.
+         *
+         * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+         * for more information.
+         */
+        """))
     blocks.write(out)
     return out.get()
 
diff --git a/libc/kernel/tools/cpp.py b/libc/kernel/tools/cpp.py
index 40e1f26..df50806 100755
--- a/libc/kernel/tools/cpp.py
+++ b/libc/kernel/tools/cpp.py
@@ -1202,7 +1202,7 @@
 
     def removeStructs(self, structs):
         """Remove structs."""
-        extra_includes = []
+        extra_includes = set()
         block_num = 0
         num_blocks = len(self.blocks)
         while block_num < num_blocks:
@@ -1247,8 +1247,8 @@
                     # Add an include for the structure to be removed of the form:
                     #  #include <bits/STRUCT_NAME.h>
                     struct_token = b.tokens[i + 1]
-                    if not structs[struct_token.id]:
-                        extra_includes.append("<bits/%s.h>" % struct_token.id)
+                    if struct_token.id in structs and structs[struct_token.id]:
+                        extra_includes.add("<%s>" % structs[struct_token.id])
 
                     # Search forward for the end of the structure.
                     # Very simple search, look for } and ; tokens.
@@ -1292,7 +1292,7 @@
                     continue
                 i += 1
 
-        for extra_include in extra_includes:
+        for extra_include in sorted(extra_includes):
             replacement = CppStringTokenizer(extra_include)
             self.blocks.insert(2, Block(replacement.tokens, directive='include'))
 
@@ -1430,7 +1430,7 @@
                         state = VAR_DECL
                     elif state == NORMAL and token_id in ['struct', 'typedef',
                                                           'enum', 'union',
-                                                          '__extension__']:
+                                                          '__extension__', '=']:
                         state = OTHER_DECL
                         state_token = token_id
                     elif block.tokens[i].kind == TokenKind.IDENTIFIER:
@@ -1471,9 +1471,18 @@
                             made_change = True
                     i += 1
 
-                if b.isDefine() and b.define_id in replacements:
-                    b.define_id = replacements[b.define_id]
-                    made_change = True
+                if b.isDefine():
+                    tokens = CppStringTokenizer(b.define_id).tokens
+                    id_change = False
+                    for tok in tokens:
+                        if tok.kind == TokenKind.IDENTIFIER:
+                            if tok.id in replacements:
+                                tok.id = replacements[tok.id]
+                                id_change = True
+                    if id_change:
+                        b.define_id = ''.join([tok.id for tok in tokens])
+                        made_change = True
+
 
             if made_change and b.isIf():
                 # Keep 'expr' in sync with 'tokens'.
@@ -2048,7 +2057,7 @@
   struct timeval val2;
 };
 """
-        self.assertEqual(self.parse(text, {"remove": True}), expected)
+        self.assertEqual(self.parse(text, {"remove": None}), expected)
 
     def test_remove_struct_from_end(self):
         text = """\
@@ -2067,7 +2076,7 @@
   struct timeval val2;
 };
 """
-        self.assertEqual(self.parse(text, {"remove": True}), expected)
+        self.assertEqual(self.parse(text, {"remove": None}), expected)
 
     def test_remove_minimal_struct(self):
         text = """\
@@ -2075,7 +2084,7 @@
 };
 """
         expected = "";
-        self.assertEqual(self.parse(text, {"remove": True}), expected)
+        self.assertEqual(self.parse(text, {"remove": None}), expected)
 
     def test_remove_struct_with_struct_fields(self):
         text = """\
@@ -2095,7 +2104,7 @@
   struct remove val2;
 };
 """
-        self.assertEqual(self.parse(text, {"remove": True}), expected)
+        self.assertEqual(self.parse(text, {"remove": None}), expected)
 
     def test_remove_consecutive_structs(self):
         text = """\
@@ -2127,7 +2136,7 @@
   struct timeval val2;
 };
 """
-        self.assertEqual(self.parse(text, {"remove1": True, "remove2": True}), expected)
+        self.assertEqual(self.parse(text, {"remove1": None, "remove2": None}), expected)
 
     def test_remove_multiple_structs(self):
         text = """\
@@ -2160,7 +2169,7 @@
   int val;
 };
 """
-        self.assertEqual(self.parse(text, {"remove1": True, "remove2": True}), expected)
+        self.assertEqual(self.parse(text, {"remove1": None, "remove2": None}), expected)
 
     def test_remove_struct_with_inline_structs(self):
         text = """\
@@ -2185,7 +2194,7 @@
   struct timeval val2;
 };
 """
-        self.assertEqual(self.parse(text, {"remove": True}), expected)
+        self.assertEqual(self.parse(text, {"remove": None}), expected)
 
     def test_remove_struct_across_blocks(self):
         text = """\
@@ -2210,7 +2219,7 @@
   struct timeval val2;
 };
 """
-        self.assertEqual(self.parse(text, {"remove": True}), expected)
+        self.assertEqual(self.parse(text, {"remove": None}), expected)
 
     def test_remove_struct_across_blocks_multiple_structs(self):
         text = """\
@@ -2237,7 +2246,7 @@
   struct timeval val2;
 };
 """
-        self.assertEqual(self.parse(text, {"remove1": True, "remove2": True}), expected)
+        self.assertEqual(self.parse(text, {"remove1": None, "remove2": None}), expected)
 
     def test_remove_multiple_struct_and_add_includes(self):
         text = """\
@@ -2254,7 +2263,7 @@
 #include <bits/remove1.h>
 #include <bits/remove2.h>
 """
-        self.assertEqual(self.parse(text, {"remove1": False, "remove2": False}), expected)
+        self.assertEqual(self.parse(text, {"remove1": "bits/remove1.h", "remove2": "bits/remove2.h"}), expected)
 
 
 class FullPathTest(unittest.TestCase):
@@ -2571,6 +2580,71 @@
   struct timeval timeval;
   struct itimerval itimerval;
 };
+#include <linux/time.h>
+"""
+        self.assertEqual(self.parse(text), expected)
+
+    def test_var_definition(self):
+        # If we're definining the whole thing, it's probably worth keeping.
+        text = """\
+static const char *kString = "hello world";
+static const int kInteger = 42;
+"""
+        expected = """\
+static const char * kString = "hello world";
+static const int kInteger = 42;
+"""
+        self.assertEqual(self.parse(text), expected)
+
+    def test_struct_array_definition(self):
+        text = """\
+struct descriptor {
+  int args;
+  int size;
+};
+static const struct descriptor[] = {
+  {0, 0},
+  {1, 12},
+  {0, 42},
+};
+"""
+        expected = """\
+struct descriptor {
+  int args;
+  int size;
+};
+static const struct descriptor[] = {
+ {
+    0, 0
+  }
+ , {
+    1, 12
+  }
+ , {
+    0, 42
+  }
+ ,
+};
+"""
+        self.assertEqual(self.parse(text), expected)
+
+    def test_array_definition(self):
+        text = """\
+static const char *arr[] = {
+  "foo",
+  "bar",
+  "baz",
+};
+
+static int another_arr[5] = { 1, 2, 3, 4, 5};
+"""
+        expected = """\
+static const char * arr[] = {
+  "foo", "bar", "baz",
+};
+static int another_arr[5] = {
+  1, 2, 3, 4, 5
+};
 """
         self.assertEqual(self.parse(text), expected)
 
@@ -2578,10 +2652,12 @@
         text = """\
 #define SIGRTMIN 32
 #define SIGRTMAX _NSIG
+#define SIGRTMAX(a,class) some_func(a, class)
 """
         expected = """\
 #define __SIGRTMIN 32
 #define __SIGRTMAX _KERNEL__NSIG
+#define __SIGRTMAX(a,__linux_class) some_func(a, __linux_class)
 """
         self.assertEqual(self.parse(text), expected)
 
diff --git a/libc/kernel/tools/defaults.py b/libc/kernel/tools/defaults.py
index 91d26ce..2994e5e 100644
--- a/libc/kernel/tools/defaults.py
+++ b/libc/kernel/tools/defaults.py
@@ -25,25 +25,45 @@
     # Otherwise, there will be two struct timeval definitions when
     # __kernel_old_timeval is renamed to timeval.
     "__kernel_old_timeval": "1",
+    # Drop the custom byte swap functions and just use the clang builtins.
+    # https://github.com/android/ndk/issues/2107
+    "__arch_swab16": kCppUndefinedMacro,
+    "__arch_swab16p": kCppUndefinedMacro,
+    "__arch_swab16s": kCppUndefinedMacro,
+    "__arch_swab32": kCppUndefinedMacro,
+    "__arch_swab32p": kCppUndefinedMacro,
+    "__arch_swab32s": kCppUndefinedMacro,
+    "__arch_swab64": kCppUndefinedMacro,
+    "__arch_swab64p": kCppUndefinedMacro,
+    "__arch_swab64s": kCppUndefinedMacro,
+    "__arch_swahb32": kCppUndefinedMacro,
+    "__arch_swahb32p": kCppUndefinedMacro,
+    "__arch_swahb32s": kCppUndefinedMacro,
+    "__arch_swahw32": kCppUndefinedMacro,
+    "__arch_swahw32p": kCppUndefinedMacro,
+    "__arch_swahw32s": kCppUndefinedMacro,
     }
 
 # This is the set of known kernel data structures we want to remove from
-# the final headers. If the map value is False, that means that in
-# addition to removing the structure, add an #include <bits/STRUCT.h>
-# to the file.
+# the final headers. If the map value is non-empty, that means that in
+# addition to removing the structure, add a #include to the file.
 kernel_structs_to_remove = {
-    # Remove the structures since they are still the same as
-    # timeval, itimerval.
-    "__kernel_old_timeval": True,
-    "__kernel_old_itimerval": True,
+    # Remove these structures since they are still the same as
+    # timeval, itimerval. Also, add an include of linux/time.h
+    # since __kernel_old_timeval is being changed to timeval, and
+    # is only present in linux/time.h.
+    "__kernel_old_timeval": "linux/time.h",
+    "__kernel_old_itimerval": None,
     # Replace all of the below structures with #include <bits/STRUCT.h>
-    "epoll_event": False,
-    "flock": False,
-    "flock64": False,
-    "in_addr": False,
-    "ip_mreq_source": False,
-    "ip_msfilter": False,
-    "timespec": False,
+    "__kernel_sockaddr_storage": "bits/sockaddr_storage.h",
+    "epoll_event": "bits/epoll_event.h",
+    "flock": "bits/flock.h",
+    "flock64": "bits/flock64.h",
+    "in_addr": "bits/in_addr.h",
+    "ip_mreq_source": "bits/ip_mreq_source.h",
+    "ip_msfilter": "bits/ip_msfilter.h",
+    "tcphdr": "bits/tcphdr.h",
+    "timespec": "bits/timespec.h",
     }
 
 # define to true if you want to remove all defined(CONFIG_FOO) tests
@@ -63,6 +83,7 @@
     # The kernel usage of __unused for unused struct fields conflicts with the macro defined in <sys/cdefs.h>.
     "__unused": "__linux_unused",
     # The kernel usage of C++ keywords causes problems for C++ code so rename.
+    "class": "__linux_class",
     "private": "__linux_private",
     "virtual": "__linux_virtual",
     # The non-64 stuff is legacy; msqid64_ds/ipc64_perm is what userspace wants.
@@ -90,17 +111,21 @@
     "__kernel_old_timeval": "timeval",
     # Do the same for __kernel_old_itimerval as for timeval.
     "__kernel_old_itimerval": "itimerval",
+    # Do the same for __kernel_sockaddr_storage.
+    "__kernel_sockaddr_storage": "sockaddr_storage",
     # Replace __packed with __attribute__((__packed__)) to avoid depending
     # on sys/cdefs.h
     "__packed": "__attribute__((__packed__))",
     # Remove unused macros (http://b/262917450).
     "__force": "",
     "__user": "",
+    # Rename the kernel's sigaction so we can expose our POSIX one publicly,
+    # but translate to the kernel's one internally.
+    "sigaction": "__kernel_sigaction",
     }
 
 
-# This is the set of known static inline functions that we want to keep
-# in the final kernel headers.
+# Static inline functions that we want to keep.
 kernel_known_generic_statics = set(
         [
           "ipt_get_target",  # uapi/linux/netfilter_ipv4/ip_tables.h
@@ -125,28 +150,9 @@
           # These are required to support the above functions.
           "__fswahw32",
           "__fswahb32",
+          # This is used by various macros in <linux/ioprio.h>.
+          "ioprio_value",
+
+          # Contact opensource-licensing@ before adding to this set.
         ]
     )
-
-# this is the standard disclaimer
-#
-kernel_disclaimer = """\
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-"""
diff --git a/libc/kernel/tools/update_all.py b/libc/kernel/tools/update_all.py
index abc72a4..331a957 100755
--- a/libc/kernel/tools/update_all.py
+++ b/libc/kernel/tools/update_all.py
@@ -88,14 +88,8 @@
     # Collect the set of all syscalls for all architectures.
     syscalls = set()
     pattern = re.compile(r'^\s*#\s*define\s*__NR_([a-z_]\S+)')
-    for unistd_h in ['kernel/uapi/asm-generic/unistd.h',
-                     'kernel/uapi/asm-arm/asm/unistd.h',
-                     'kernel/uapi/asm-arm/asm/unistd-eabi.h',
-                     'kernel/uapi/asm-arm/asm/unistd-oabi.h',
-                     'kernel/uapi/asm-x86/asm/unistd_32.h',
-                     'kernel/uapi/asm-x86/asm/unistd_64.h',
-                     'kernel/uapi/asm-x86/asm/unistd_x32.h']:
-        for line in open(os.path.join(libc_root, unistd_h)):
+    for unistd_h in glob.glob('%s/kernel/uapi/asm-*/asm/unistd*.h' % libc_root):
+        for line in open(unistd_h):
             m = re.search(pattern, line)
             if m:
                 nr_name = m.group(1)
diff --git a/libc/kernel/uapi/BUILD b/libc/kernel/uapi/BUILD
deleted file mode 100644
index 3c9bb69..0000000
--- a/libc/kernel/uapi/BUILD
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright (C) 2022 The Android Open Source Project
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-#  * Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-#  * Redistributions in binary form must reproduce the above copyright
-#    notice, this list of conditions and the following disclaimer in
-#    the documentation and/or other materials provided with the
-#    distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-# SUCH DAMAGE.
-
-load("//build/bazel/rules/apis:cc_api_contribution.bzl", "cc_api_headers")
-
-package(default_visibility = ["//bionic/libc:__pkg__"])
-
-cc_api_headers(
-    name = "libc_kernel_uapi_headers",
-    hdrs = glob(["**/*.h"]),
-    system = True,
-)
-
-cc_api_headers(
-    name = "libc_kernel_uapi_asm_arm_headers",
-    hdrs = glob(["asm-arm/**/*.h"]),
-    arch = "arm",
-    include_dir = "asm-arm",
-    system = True,
-)
-
-cc_api_headers(
-    name = "libc_kernel_uapi_asm_arm64_headers",
-    hdrs = glob(["asm-arm64/**/*.h"]),
-    arch = "arm64",
-    include_dir = "asm-arm64",
-    system = True,
-)
-
-cc_api_headers(
-    name = "libc_kernel_uapi_asm_x86_headers",
-    hdrs = glob(["asm-x86/**/*.h"]),
-    arch = "x86",
-    include_dir = "asm-x86",
-    system = True,
-)
-
-cc_api_headers(
-    name = "libc_kernel_uapi_asm_x86_64_headers",
-    hdrs = glob(["asm-x86_64/**/*.h"]),
-    arch = "x86_64",
-    include_dir = "asm-x86_64",
-    system = True,
-)
diff --git a/libc/kernel/uapi/asm-arm/asm/auxvec.h b/libc/kernel/uapi/asm-arm/asm/auxvec.h
index ae03ed3..f3474ec 100644
--- a/libc/kernel/uapi/asm-arm/asm/auxvec.h
+++ b/libc/kernel/uapi/asm-arm/asm/auxvec.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_AUXVEC_H
 #define __ASM_AUXVEC_H
 #define AT_SYSINFO_EHDR 33
diff --git a/libc/kernel/uapi/asm-arm/asm/bitsperlong.h b/libc/kernel/uapi/asm-arm/asm/bitsperlong.h
index 5dc5060..ba16d12 100644
--- a/libc/kernel/uapi/asm-arm/asm/bitsperlong.h
+++ b/libc/kernel/uapi/asm-arm/asm/bitsperlong.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/bitsperlong.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/bpf_perf_event.h b/libc/kernel/uapi/asm-arm/asm/bpf_perf_event.h
index fa7bc48..892ba7d 100644
--- a/libc/kernel/uapi/asm-arm/asm/bpf_perf_event.h
+++ b/libc/kernel/uapi/asm-arm/asm/bpf_perf_event.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/bpf_perf_event.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/byteorder.h b/libc/kernel/uapi/asm-arm/asm/byteorder.h
index a253654..fd4b598 100644
--- a/libc/kernel/uapi/asm-arm/asm/byteorder.h
+++ b/libc/kernel/uapi/asm-arm/asm/byteorder.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_ARM_BYTEORDER_H
 #define __ASM_ARM_BYTEORDER_H
 #include <linux/byteorder/little_endian.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/errno.h b/libc/kernel/uapi/asm-arm/asm/errno.h
index 392cd94..68b3218 100644
--- a/libc/kernel/uapi/asm-arm/asm/errno.h
+++ b/libc/kernel/uapi/asm-arm/asm/errno.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/errno.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/fcntl.h b/libc/kernel/uapi/asm-arm/asm/fcntl.h
index f2f14c3..c6ecdea 100644
--- a/libc/kernel/uapi/asm-arm/asm/fcntl.h
+++ b/libc/kernel/uapi/asm-arm/asm/fcntl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ARM_FCNTL_H
 #define _ARM_FCNTL_H
 #define O_DIRECTORY 040000
diff --git a/libc/kernel/uapi/asm-arm/asm/hwcap.h b/libc/kernel/uapi/asm-arm/asm/hwcap.h
index 2a3c809..f1033c0 100644
--- a/libc/kernel/uapi/asm-arm/asm/hwcap.h
+++ b/libc/kernel/uapi/asm-arm/asm/hwcap.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__ASMARM_HWCAP_H
 #define _UAPI__ASMARM_HWCAP_H
 #define HWCAP_SWP (1 << 0)
diff --git a/libc/kernel/uapi/asm-arm/asm/ioctl.h b/libc/kernel/uapi/asm-arm/asm/ioctl.h
index 7b7bd37..513f68c 100644
--- a/libc/kernel/uapi/asm-arm/asm/ioctl.h
+++ b/libc/kernel/uapi/asm-arm/asm/ioctl.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/ioctl.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/ioctls.h b/libc/kernel/uapi/asm-arm/asm/ioctls.h
index e83b2cc..ab76d2d 100644
--- a/libc/kernel/uapi/asm-arm/asm/ioctls.h
+++ b/libc/kernel/uapi/asm-arm/asm/ioctls.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_ARM_IOCTLS_H
 #define __ASM_ARM_IOCTLS_H
 #define FIOQSIZE 0x545E
diff --git a/libc/kernel/uapi/asm-arm/asm/ipcbuf.h b/libc/kernel/uapi/asm-arm/asm/ipcbuf.h
index 0021f14..0c908bc 100644
--- a/libc/kernel/uapi/asm-arm/asm/ipcbuf.h
+++ b/libc/kernel/uapi/asm-arm/asm/ipcbuf.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/ipcbuf.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/kvm_para.h b/libc/kernel/uapi/asm-arm/asm/kvm_para.h
index e19f7a0..f05ee03 100644
--- a/libc/kernel/uapi/asm-arm/asm/kvm_para.h
+++ b/libc/kernel/uapi/asm-arm/asm/kvm_para.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/kvm_para.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/mman.h b/libc/kernel/uapi/asm-arm/asm/mman.h
index ec9453d..2607176 100644
--- a/libc/kernel/uapi/asm-arm/asm/mman.h
+++ b/libc/kernel/uapi/asm-arm/asm/mman.h
@@ -1,20 +1,8 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/mman.h>
 #define arch_mmap_check(addr,len,flags) (((flags) & MAP_FIXED && (addr) < FIRST_USER_ADDRESS) ? - EINVAL : 0)
diff --git a/libc/kernel/uapi/asm-arm/asm/msgbuf.h b/libc/kernel/uapi/asm-arm/asm/msgbuf.h
index 7809e3c..7b6d8d9 100644
--- a/libc/kernel/uapi/asm-arm/asm/msgbuf.h
+++ b/libc/kernel/uapi/asm-arm/asm/msgbuf.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/msgbuf.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/param.h b/libc/kernel/uapi/asm-arm/asm/param.h
index 5ccf935..f20aa34 100644
--- a/libc/kernel/uapi/asm-arm/asm/param.h
+++ b/libc/kernel/uapi/asm-arm/asm/param.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/param.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/perf_regs.h b/libc/kernel/uapi/asm-arm/asm/perf_regs.h
index ea2ff81..807ba9d 100644
--- a/libc/kernel/uapi/asm-arm/asm/perf_regs.h
+++ b/libc/kernel/uapi/asm-arm/asm/perf_regs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_ARM_PERF_REGS_H
 #define _ASM_ARM_PERF_REGS_H
 enum perf_event_arm_regs {
diff --git a/libc/kernel/uapi/asm-arm/asm/poll.h b/libc/kernel/uapi/asm-arm/asm/poll.h
index d7e8adc..bf92c2a 100644
--- a/libc/kernel/uapi/asm-arm/asm/poll.h
+++ b/libc/kernel/uapi/asm-arm/asm/poll.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/poll.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/posix_types.h b/libc/kernel/uapi/asm-arm/asm/posix_types.h
index ff5138b..2e4a659 100644
--- a/libc/kernel/uapi/asm-arm/asm/posix_types.h
+++ b/libc/kernel/uapi/asm-arm/asm/posix_types.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ARCH_ARM_POSIX_TYPES_H
 #define __ARCH_ARM_POSIX_TYPES_H
 typedef unsigned short __kernel_mode_t;
diff --git a/libc/kernel/uapi/asm-arm/asm/ptrace.h b/libc/kernel/uapi/asm-arm/asm/ptrace.h
index b0291dc..06ac989 100644
--- a/libc/kernel/uapi/asm-arm/asm/ptrace.h
+++ b/libc/kernel/uapi/asm-arm/asm/ptrace.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__ASM_ARM_PTRACE_H
 #define _UAPI__ASM_ARM_PTRACE_H
 #include <asm/hwcap.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/resource.h b/libc/kernel/uapi/asm-arm/asm/resource.h
index 371adb5..3ad9e62 100644
--- a/libc/kernel/uapi/asm-arm/asm/resource.h
+++ b/libc/kernel/uapi/asm-arm/asm/resource.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/resource.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/sembuf.h b/libc/kernel/uapi/asm-arm/asm/sembuf.h
index 6ce6549..d4a9072 100644
--- a/libc/kernel/uapi/asm-arm/asm/sembuf.h
+++ b/libc/kernel/uapi/asm-arm/asm/sembuf.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/sembuf.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/setup.h b/libc/kernel/uapi/asm-arm/asm/setup.h
index 672a72a..07c0177 100644
--- a/libc/kernel/uapi/asm-arm/asm/setup.h
+++ b/libc/kernel/uapi/asm-arm/asm/setup.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__ASMARM_SETUP_H
 #define _UAPI__ASMARM_SETUP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/shmbuf.h b/libc/kernel/uapi/asm-arm/asm/shmbuf.h
index fe8b1be..9b434f6 100644
--- a/libc/kernel/uapi/asm-arm/asm/shmbuf.h
+++ b/libc/kernel/uapi/asm-arm/asm/shmbuf.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/shmbuf.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/sigcontext.h b/libc/kernel/uapi/asm-arm/asm/sigcontext.h
index b7504d6..b206a20b 100644
--- a/libc/kernel/uapi/asm-arm/asm/sigcontext.h
+++ b/libc/kernel/uapi/asm-arm/asm/sigcontext.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASMARM_SIGCONTEXT_H
 #define _ASMARM_SIGCONTEXT_H
 struct sigcontext {
diff --git a/libc/kernel/uapi/asm-arm/asm/siginfo.h b/libc/kernel/uapi/asm-arm/asm/siginfo.h
index a31ebb2..8f5921e 100644
--- a/libc/kernel/uapi/asm-arm/asm/siginfo.h
+++ b/libc/kernel/uapi/asm-arm/asm/siginfo.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/siginfo.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/signal.h b/libc/kernel/uapi/asm-arm/asm/signal.h
index 90cb8d6..fde3b9e 100644
--- a/libc/kernel/uapi/asm-arm/asm/signal.h
+++ b/libc/kernel/uapi/asm-arm/asm/signal.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASMARM_SIGNAL_H
 #define _UAPI_ASMARM_SIGNAL_H
 #include <linux/types.h>
@@ -64,7 +52,7 @@
 #define MINSIGSTKSZ 2048
 #define SIGSTKSZ 8192
 #include <asm-generic/signal-defs.h>
-struct sigaction {
+struct __kernel_sigaction {
   union {
     __sighandler_t _sa_handler;
     void(* _sa_sigaction) (int, struct siginfo *, void *);
diff --git a/libc/kernel/uapi/asm-arm/asm/socket.h b/libc/kernel/uapi/asm-arm/asm/socket.h
index 50a9874..2ca3e45 100644
--- a/libc/kernel/uapi/asm-arm/asm/socket.h
+++ b/libc/kernel/uapi/asm-arm/asm/socket.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/socket.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/sockios.h b/libc/kernel/uapi/asm-arm/asm/sockios.h
index 710db92..5aba663 100644
--- a/libc/kernel/uapi/asm-arm/asm/sockios.h
+++ b/libc/kernel/uapi/asm-arm/asm/sockios.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/sockios.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/stat.h b/libc/kernel/uapi/asm-arm/asm/stat.h
index 27ec243..45fbaf9 100644
--- a/libc/kernel/uapi/asm-arm/asm/stat.h
+++ b/libc/kernel/uapi/asm-arm/asm/stat.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASMARM_STAT_H
 #define _ASMARM_STAT_H
 struct __old_kernel_stat {
diff --git a/libc/kernel/uapi/asm-arm/asm/statfs.h b/libc/kernel/uapi/asm-arm/asm/statfs.h
index 7e44ad1..08e151d 100644
--- a/libc/kernel/uapi/asm-arm/asm/statfs.h
+++ b/libc/kernel/uapi/asm-arm/asm/statfs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASMARM_STATFS_H
 #define _ASMARM_STATFS_H
 #define ARCH_PACK_STATFS64 __attribute__((packed, aligned(4)))
diff --git a/libc/kernel/uapi/asm-arm/asm/swab.h b/libc/kernel/uapi/asm-arm/asm/swab.h
index 081a76e..7684c22 100644
--- a/libc/kernel/uapi/asm-arm/asm/swab.h
+++ b/libc/kernel/uapi/asm-arm/asm/swab.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__ASM_ARM_SWAB_H
 #define _UAPI__ASM_ARM_SWAB_H
 #include <linux/compiler.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/termbits.h b/libc/kernel/uapi/asm-arm/asm/termbits.h
index 42af6fe..e943da3 100644
--- a/libc/kernel/uapi/asm-arm/asm/termbits.h
+++ b/libc/kernel/uapi/asm-arm/asm/termbits.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/termbits.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/termios.h b/libc/kernel/uapi/asm-arm/asm/termios.h
index feca4c6..3ae8ca2 100644
--- a/libc/kernel/uapi/asm-arm/asm/termios.h
+++ b/libc/kernel/uapi/asm-arm/asm/termios.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/termios.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/types.h b/libc/kernel/uapi/asm-arm/asm/types.h
index 461e485..081fdfb 100644
--- a/libc/kernel/uapi/asm-arm/asm/types.h
+++ b/libc/kernel/uapi/asm-arm/asm/types.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_TYPES_H
 #define _UAPI_ASM_TYPES_H
 #include <asm-generic/int-ll64.h>
diff --git a/libc/kernel/uapi/asm-arm/asm/unistd-eabi.h b/libc/kernel/uapi/asm-arm/asm/unistd-eabi.h
index 71b25e7..9c4e459 100644
--- a/libc/kernel/uapi/asm-arm/asm/unistd-eabi.h
+++ b/libc/kernel/uapi/asm-arm/asm/unistd-eabi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_UNISTD_EABI_H
 #define _UAPI_ASM_UNISTD_EABI_H
 #define __NR_restart_syscall (__NR_SYSCALL_BASE + 0)
@@ -421,4 +409,16 @@
 #define __NR_process_mrelease (__NR_SYSCALL_BASE + 448)
 #define __NR_futex_waitv (__NR_SYSCALL_BASE + 449)
 #define __NR_set_mempolicy_home_node (__NR_SYSCALL_BASE + 450)
+#define __NR_cachestat (__NR_SYSCALL_BASE + 451)
+#define __NR_fchmodat2 (__NR_SYSCALL_BASE + 452)
+#define __NR_map_shadow_stack (__NR_SYSCALL_BASE + 453)
+#define __NR_futex_wake (__NR_SYSCALL_BASE + 454)
+#define __NR_futex_wait (__NR_SYSCALL_BASE + 455)
+#define __NR_futex_requeue (__NR_SYSCALL_BASE + 456)
+#define __NR_statmount (__NR_SYSCALL_BASE + 457)
+#define __NR_listmount (__NR_SYSCALL_BASE + 458)
+#define __NR_lsm_get_self_attr (__NR_SYSCALL_BASE + 459)
+#define __NR_lsm_set_self_attr (__NR_SYSCALL_BASE + 460)
+#define __NR_lsm_list_modules (__NR_SYSCALL_BASE + 461)
+#define __NR_mseal (__NR_SYSCALL_BASE + 462)
 #endif
diff --git a/libc/kernel/uapi/asm-arm/asm/unistd-oabi.h b/libc/kernel/uapi/asm-arm/asm/unistd-oabi.h
index 08b3b9a..5060c2f 100644
--- a/libc/kernel/uapi/asm-arm/asm/unistd-oabi.h
+++ b/libc/kernel/uapi/asm-arm/asm/unistd-oabi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_UNISTD_OABI_H
 #define _UAPI_ASM_UNISTD_OABI_H
 #define __NR_restart_syscall (__NR_SYSCALL_BASE + 0)
@@ -433,4 +421,16 @@
 #define __NR_process_mrelease (__NR_SYSCALL_BASE + 448)
 #define __NR_futex_waitv (__NR_SYSCALL_BASE + 449)
 #define __NR_set_mempolicy_home_node (__NR_SYSCALL_BASE + 450)
+#define __NR_cachestat (__NR_SYSCALL_BASE + 451)
+#define __NR_fchmodat2 (__NR_SYSCALL_BASE + 452)
+#define __NR_map_shadow_stack (__NR_SYSCALL_BASE + 453)
+#define __NR_futex_wake (__NR_SYSCALL_BASE + 454)
+#define __NR_futex_wait (__NR_SYSCALL_BASE + 455)
+#define __NR_futex_requeue (__NR_SYSCALL_BASE + 456)
+#define __NR_statmount (__NR_SYSCALL_BASE + 457)
+#define __NR_listmount (__NR_SYSCALL_BASE + 458)
+#define __NR_lsm_get_self_attr (__NR_SYSCALL_BASE + 459)
+#define __NR_lsm_set_self_attr (__NR_SYSCALL_BASE + 460)
+#define __NR_lsm_list_modules (__NR_SYSCALL_BASE + 461)
+#define __NR_mseal (__NR_SYSCALL_BASE + 462)
 #endif
diff --git a/libc/kernel/uapi/asm-arm/asm/unistd.h b/libc/kernel/uapi/asm-arm/asm/unistd.h
index 8bb0f58..a7e4e6d 100644
--- a/libc/kernel/uapi/asm-arm/asm/unistd.h
+++ b/libc/kernel/uapi/asm-arm/asm/unistd.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__ASM_ARM_UNISTD_H
 #define _UAPI__ASM_ARM_UNISTD_H
 #define __NR_OABI_SYSCALL_BASE 0x900000
diff --git a/libc/kernel/uapi/asm-arm64/asm/auxvec.h b/libc/kernel/uapi/asm-arm64/asm/auxvec.h
index 4735fd5..c9ce353 100644
--- a/libc/kernel/uapi/asm-arm64/asm/auxvec.h
+++ b/libc/kernel/uapi/asm-arm64/asm/auxvec.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_AUXVEC_H
 #define __ASM_AUXVEC_H
 #define AT_SYSINFO_EHDR 33
diff --git a/libc/kernel/uapi/asm-arm64/asm/bitsperlong.h b/libc/kernel/uapi/asm-arm64/asm/bitsperlong.h
index c409c19..312224c 100644
--- a/libc/kernel/uapi/asm-arm64/asm/bitsperlong.h
+++ b/libc/kernel/uapi/asm-arm64/asm/bitsperlong.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_BITSPERLONG_H
 #define __ASM_BITSPERLONG_H
 #define __BITS_PER_LONG 64
diff --git a/libc/kernel/uapi/asm-arm64/asm/bpf_perf_event.h b/libc/kernel/uapi/asm-arm64/asm/bpf_perf_event.h
index cad04bf..887d7ff 100644
--- a/libc/kernel/uapi/asm-arm64/asm/bpf_perf_event.h
+++ b/libc/kernel/uapi/asm-arm64/asm/bpf_perf_event.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__ASM_BPF_PERF_EVENT_H__
 #define _UAPI__ASM_BPF_PERF_EVENT_H__
 #include <asm/ptrace.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/byteorder.h b/libc/kernel/uapi/asm-arm64/asm/byteorder.h
index c3174b1..aa37026 100644
--- a/libc/kernel/uapi/asm-arm64/asm/byteorder.h
+++ b/libc/kernel/uapi/asm-arm64/asm/byteorder.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_BYTEORDER_H
 #define __ASM_BYTEORDER_H
 #ifdef __AARCH64EB__
diff --git a/libc/kernel/uapi/asm-arm64/asm/errno.h b/libc/kernel/uapi/asm-arm64/asm/errno.h
index 392cd94..68b3218 100644
--- a/libc/kernel/uapi/asm-arm64/asm/errno.h
+++ b/libc/kernel/uapi/asm-arm64/asm/errno.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/errno.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/fcntl.h b/libc/kernel/uapi/asm-arm64/asm/fcntl.h
index e9e0e01..2f40230 100644
--- a/libc/kernel/uapi/asm-arm64/asm/fcntl.h
+++ b/libc/kernel/uapi/asm-arm64/asm/fcntl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_FCNTL_H
 #define __ASM_FCNTL_H
 #define O_DIRECTORY 040000
diff --git a/libc/kernel/uapi/asm-arm64/asm/hwcap.h b/libc/kernel/uapi/asm-arm64/asm/hwcap.h
index bb592e4..f5c720a 100644
--- a/libc/kernel/uapi/asm-arm64/asm/hwcap.h
+++ b/libc/kernel/uapi/asm-arm64/asm/hwcap.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__ASM_HWCAP_H
 #define _UAPI__ASM_HWCAP_H
 #define HWCAP_FP (1 << 0)
@@ -87,4 +75,30 @@
 #define HWCAP2_CSSC (1UL << 34)
 #define HWCAP2_RPRFM (1UL << 35)
 #define HWCAP2_SVE2P1 (1UL << 36)
+#define HWCAP2_SME2 (1UL << 37)
+#define HWCAP2_SME2P1 (1UL << 38)
+#define HWCAP2_SME_I16I32 (1UL << 39)
+#define HWCAP2_SME_BI32I32 (1UL << 40)
+#define HWCAP2_SME_B16B16 (1UL << 41)
+#define HWCAP2_SME_F16F16 (1UL << 42)
+#define HWCAP2_MOPS (1UL << 43)
+#define HWCAP2_HBC (1UL << 44)
+#define HWCAP2_SVE_B16B16 (1UL << 45)
+#define HWCAP2_LRCPC3 (1UL << 46)
+#define HWCAP2_LSE128 (1UL << 47)
+#define HWCAP2_FPMR (1UL << 48)
+#define HWCAP2_LUT (1UL << 49)
+#define HWCAP2_FAMINMAX (1UL << 50)
+#define HWCAP2_F8CVT (1UL << 51)
+#define HWCAP2_F8FMA (1UL << 52)
+#define HWCAP2_F8DP4 (1UL << 53)
+#define HWCAP2_F8DP2 (1UL << 54)
+#define HWCAP2_F8E4M3 (1UL << 55)
+#define HWCAP2_F8E5M2 (1UL << 56)
+#define HWCAP2_SME_LUTV2 (1UL << 57)
+#define HWCAP2_SME_F8F16 (1UL << 58)
+#define HWCAP2_SME_F8F32 (1UL << 59)
+#define HWCAP2_SME_SF8FMA (1UL << 60)
+#define HWCAP2_SME_SF8DP4 (1UL << 61)
+#define HWCAP2_SME_SF8DP2 (1UL << 62)
 #endif
diff --git a/libc/kernel/uapi/asm-arm64/asm/ioctl.h b/libc/kernel/uapi/asm-arm64/asm/ioctl.h
index 7b7bd37..513f68c 100644
--- a/libc/kernel/uapi/asm-arm64/asm/ioctl.h
+++ b/libc/kernel/uapi/asm-arm64/asm/ioctl.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/ioctl.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/ioctls.h b/libc/kernel/uapi/asm-arm64/asm/ioctls.h
index 0c66935..0ed82e0 100644
--- a/libc/kernel/uapi/asm-arm64/asm/ioctls.h
+++ b/libc/kernel/uapi/asm-arm64/asm/ioctls.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/ioctls.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/ipcbuf.h b/libc/kernel/uapi/asm-arm64/asm/ipcbuf.h
index 0021f14..0c908bc 100644
--- a/libc/kernel/uapi/asm-arm64/asm/ipcbuf.h
+++ b/libc/kernel/uapi/asm-arm64/asm/ipcbuf.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/ipcbuf.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/kvm.h b/libc/kernel/uapi/asm-arm64/asm/kvm.h
index ce0c318..1818c5f 100644
--- a/libc/kernel/uapi/asm-arm64/asm/kvm.h
+++ b/libc/kernel/uapi/asm-arm64/asm/kvm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ARM_KVM_H__
 #define __ARM_KVM_H__
 #define KVM_SPSR_EL1 0
@@ -30,9 +18,7 @@
 #include <linux/types.h>
 #include <asm/ptrace.h>
 #include <asm/sve_context.h>
-#define __KVM_HAVE_GUEST_DEBUG
 #define __KVM_HAVE_IRQ_LINE
-#define __KVM_HAVE_READONLY_MEM
 #define __KVM_HAVE_VCPU_EVENTS
 #define KVM_COALESCED_MMIO_PAGE_OFFSET 1
 #define KVM_DIRTY_LOG_PAGE_OFFSET 64
@@ -52,9 +38,9 @@
 #define KVM_ARM_TARGET_GENERIC_V8 5
 #define KVM_ARM_NUM_TARGETS 6
 #define KVM_ARM_DEVICE_TYPE_SHIFT 0
-#define KVM_ARM_DEVICE_TYPE_MASK GENMASK(KVM_ARM_DEVICE_TYPE_SHIFT + 15, KVM_ARM_DEVICE_TYPE_SHIFT)
+#define KVM_ARM_DEVICE_TYPE_MASK __GENMASK(KVM_ARM_DEVICE_TYPE_SHIFT + 15, KVM_ARM_DEVICE_TYPE_SHIFT)
 #define KVM_ARM_DEVICE_ID_SHIFT 16
-#define KVM_ARM_DEVICE_ID_MASK GENMASK(KVM_ARM_DEVICE_ID_SHIFT + 15, KVM_ARM_DEVICE_ID_SHIFT)
+#define KVM_ARM_DEVICE_ID_MASK __GENMASK(KVM_ARM_DEVICE_ID_SHIFT + 15, KVM_ARM_DEVICE_ID_SHIFT)
 #define KVM_ARM_DEVICE_VGIC_V2 0
 #define KVM_VGIC_V2_ADDR_TYPE_DIST 0
 #define KVM_VGIC_V2_ADDR_TYPE_CPU 1
@@ -74,6 +60,7 @@
 #define KVM_ARM_VCPU_SVE 4
 #define KVM_ARM_VCPU_PTRAUTH_ADDRESS 5
 #define KVM_ARM_VCPU_PTRAUTH_GENERIC 6
+#define KVM_ARM_VCPU_HAS_EL2 7
 struct kvm_vcpu_init {
   __u32 target;
   __u32 features[7];
@@ -100,6 +87,9 @@
 struct kvm_sync_regs {
   __u64 device_irq_level;
 };
+#define KVM_ARM_DEV_EL1_VTIMER (1 << 0)
+#define KVM_ARM_DEV_EL1_PTIMER (1 << 1)
+#define KVM_ARM_DEV_PMU (1 << 2)
 struct kvm_pmu_event_filter {
   __u16 base_event;
   __u16 nevents;
@@ -125,6 +115,10 @@
   __u64 flags;
   __u64 reserved[2];
 };
+struct kvm_arm_counter_offset {
+  __u64 counter_offset;
+  __u64 reserved;
+};
 #define KVM_ARM_TAGS_TO_GUEST 0
 #define KVM_ARM_TAGS_FROM_GUEST 1
 #define KVM_REG_ARM_COPROC_MASK 0x000000000FFF0000
@@ -203,6 +197,8 @@
   KVM_REG_ARM_VENDOR_HYP_BIT_FUNC_FEAT = 0,
   KVM_REG_ARM_VENDOR_HYP_BIT_PTP = 1,
 };
+#define KVM_ARM_VM_SMCCC_CTRL 0
+#define KVM_ARM_VM_SMCCC_FILTER 0
 #define KVM_DEV_ARM_VGIC_GRP_ADDR 0
 #define KVM_DEV_ARM_VGIC_GRP_DIST_REGS 1
 #define KVM_DEV_ARM_VGIC_GRP_CPU_REGS 2
@@ -236,6 +232,8 @@
 #define KVM_ARM_VCPU_TIMER_CTRL 1
 #define KVM_ARM_VCPU_TIMER_IRQ_VTIMER 0
 #define KVM_ARM_VCPU_TIMER_IRQ_PTIMER 1
+#define KVM_ARM_VCPU_TIMER_IRQ_HVTIMER 2
+#define KVM_ARM_VCPU_TIMER_IRQ_HPTIMER 3
 #define KVM_ARM_VCPU_PVTIME_CTRL 2
 #define KVM_ARM_VCPU_PVTIME_IPA 0
 #define KVM_ARM_IRQ_VCPU2_SHIFT 28
@@ -265,5 +263,26 @@
 #define KVM_PSCI_RET_DENIED PSCI_RET_DENIED
 #define KVM_SYSTEM_EVENT_RESET_FLAG_PSCI_RESET2 (1ULL << 0)
 #define KVM_EXIT_FAIL_ENTRY_CPU_UNSUPPORTED (1ULL << 0)
+enum kvm_smccc_filter_action {
+  KVM_SMCCC_FILTER_HANDLE = 0,
+  KVM_SMCCC_FILTER_DENY,
+  KVM_SMCCC_FILTER_FWD_TO_USER,
+};
+struct kvm_smccc_filter {
+  __u32 base;
+  __u32 nr_functions;
+  __u8 action;
+  __u8 pad[15];
+};
+#define KVM_HYPERCALL_EXIT_SMC (1U << 0)
+#define KVM_HYPERCALL_EXIT_16BIT (1U << 1)
+#define KVM_ARM_FEATURE_ID_RANGE_IDX(op0,op1,crn,crm,op2) ({ __u64 __op1 = (op1) & 3; __op1 -= (__op1 == 3); (__op1 << 6 | ((crm) & 7) << 3 | (op2)); })
+#define KVM_ARM_FEATURE_ID_RANGE 0
+#define KVM_ARM_FEATURE_ID_RANGE_SIZE (3 * 8 * 8)
+struct reg_mask_range {
+  __u64 addr;
+  __u32 range;
+  __u32 reserved[13];
+};
 #endif
 #endif
diff --git a/libc/kernel/uapi/asm-arm64/asm/kvm_para.h b/libc/kernel/uapi/asm-arm64/asm/kvm_para.h
index e19f7a0..f05ee03 100644
--- a/libc/kernel/uapi/asm-arm64/asm/kvm_para.h
+++ b/libc/kernel/uapi/asm-arm64/asm/kvm_para.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/kvm_para.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/mman.h b/libc/kernel/uapi/asm-arm64/asm/mman.h
index 98f72cf..1561053 100644
--- a/libc/kernel/uapi/asm-arm64/asm/mman.h
+++ b/libc/kernel/uapi/asm-arm64/asm/mman.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__ASM_MMAN_H
 #define _UAPI__ASM_MMAN_H
 #include <asm-generic/mman.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/msgbuf.h b/libc/kernel/uapi/asm-arm64/asm/msgbuf.h
index 7809e3c..7b6d8d9 100644
--- a/libc/kernel/uapi/asm-arm64/asm/msgbuf.h
+++ b/libc/kernel/uapi/asm-arm64/asm/msgbuf.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/msgbuf.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/param.h b/libc/kernel/uapi/asm-arm64/asm/param.h
index 3bd70ed..88641b1 100644
--- a/libc/kernel/uapi/asm-arm64/asm/param.h
+++ b/libc/kernel/uapi/asm-arm64/asm/param.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_PARAM_H
 #define __ASM_PARAM_H
 #define EXEC_PAGESIZE 65536
diff --git a/libc/kernel/uapi/asm-arm64/asm/perf_regs.h b/libc/kernel/uapi/asm-arm64/asm/perf_regs.h
index e18fd05..ded4dfc 100644
--- a/libc/kernel/uapi/asm-arm64/asm/perf_regs.h
+++ b/libc/kernel/uapi/asm-arm64/asm/perf_regs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_ARM64_PERF_REGS_H
 #define _ASM_ARM64_PERF_REGS_H
 enum perf_event_arm_regs {
diff --git a/libc/kernel/uapi/asm-arm64/asm/poll.h b/libc/kernel/uapi/asm-arm64/asm/poll.h
index d7e8adc..bf92c2a 100644
--- a/libc/kernel/uapi/asm-arm64/asm/poll.h
+++ b/libc/kernel/uapi/asm-arm64/asm/poll.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/poll.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/posix_types.h b/libc/kernel/uapi/asm-arm64/asm/posix_types.h
index 9ae7bfc..00df90d 100644
--- a/libc/kernel/uapi/asm-arm64/asm/posix_types.h
+++ b/libc/kernel/uapi/asm-arm64/asm/posix_types.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_POSIX_TYPES_H
 #define __ASM_POSIX_TYPES_H
 typedef unsigned short __kernel_old_uid_t;
diff --git a/libc/kernel/uapi/asm-arm64/asm/ptrace.h b/libc/kernel/uapi/asm-arm64/asm/ptrace.h
index 9540c3e..4541a66 100644
--- a/libc/kernel/uapi/asm-arm64/asm/ptrace.h
+++ b/libc/kernel/uapi/asm-arm64/asm/ptrace.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__ASM_PTRACE_H
 #define _UAPI__ASM_PTRACE_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/resource.h b/libc/kernel/uapi/asm-arm64/asm/resource.h
index 371adb5..3ad9e62 100644
--- a/libc/kernel/uapi/asm-arm64/asm/resource.h
+++ b/libc/kernel/uapi/asm-arm64/asm/resource.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/resource.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/sembuf.h b/libc/kernel/uapi/asm-arm64/asm/sembuf.h
index 6ce6549..d4a9072 100644
--- a/libc/kernel/uapi/asm-arm64/asm/sembuf.h
+++ b/libc/kernel/uapi/asm-arm64/asm/sembuf.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/sembuf.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/setup.h b/libc/kernel/uapi/asm-arm64/asm/setup.h
index eac94e0..e84c94b 100644
--- a/libc/kernel/uapi/asm-arm64/asm/setup.h
+++ b/libc/kernel/uapi/asm-arm64/asm/setup.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_SETUP_H
 #define __ASM_SETUP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/shmbuf.h b/libc/kernel/uapi/asm-arm64/asm/shmbuf.h
index fe8b1be..9b434f6 100644
--- a/libc/kernel/uapi/asm-arm64/asm/shmbuf.h
+++ b/libc/kernel/uapi/asm-arm64/asm/shmbuf.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/shmbuf.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/sigcontext.h b/libc/kernel/uapi/asm-arm64/asm/sigcontext.h
index 04aa593..8e48d55 100644
--- a/libc/kernel/uapi/asm-arm64/asm/sigcontext.h
+++ b/libc/kernel/uapi/asm-arm64/asm/sigcontext.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__ASM_SIGCONTEXT_H
 #define _UAPI__ASM_SIGCONTEXT_H
 #ifndef __ASSEMBLY__
@@ -59,12 +47,28 @@
   __u16 __reserved[2];
 };
 #define SVE_SIG_FLAG_SM 0x1
+#define TPIDR2_MAGIC 0x54504902
+struct tpidr2_context {
+  struct _aarch64_ctx head;
+  __u64 tpidr2;
+};
+#define FPMR_MAGIC 0x46504d52
+struct fpmr_context {
+  struct _aarch64_ctx head;
+  __u64 fpmr;
+};
 #define ZA_MAGIC 0x54366345
 struct za_context {
   struct _aarch64_ctx head;
   __u16 vl;
   __u16 __reserved[3];
 };
+#define ZT_MAGIC 0x5a544e01
+struct zt_context {
+  struct _aarch64_ctx head;
+  __u16 nregs;
+  __u16 __reserved[3];
+};
 #endif
 #include <asm/sve_context.h>
 #define SVE_VQ_BYTES __SVE_VQ_BYTES
@@ -94,4 +98,9 @@
 #define ZA_SIG_REGS_SIZE(vq) ((vq * __SVE_VQ_BYTES) * (vq * __SVE_VQ_BYTES))
 #define ZA_SIG_ZAV_OFFSET(vq,n) (ZA_SIG_REGS_OFFSET + (SVE_SIG_ZREG_SIZE(vq) * n))
 #define ZA_SIG_CONTEXT_SIZE(vq) (ZA_SIG_REGS_OFFSET + ZA_SIG_REGS_SIZE(vq))
+#define ZT_SIG_REG_SIZE 512
+#define ZT_SIG_REG_BYTES (ZT_SIG_REG_SIZE / 8)
+#define ZT_SIG_REGS_OFFSET sizeof(struct zt_context)
+#define ZT_SIG_REGS_SIZE(n) (ZT_SIG_REG_BYTES * n)
+#define ZT_SIG_CONTEXT_SIZE(n) (sizeof(struct zt_context) + ZT_SIG_REGS_SIZE(n))
 #endif
diff --git a/libc/kernel/uapi/asm-arm64/asm/siginfo.h b/libc/kernel/uapi/asm-arm64/asm/siginfo.h
index a31ebb2..8f5921e 100644
--- a/libc/kernel/uapi/asm-arm64/asm/siginfo.h
+++ b/libc/kernel/uapi/asm-arm64/asm/siginfo.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/siginfo.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/signal.h b/libc/kernel/uapi/asm-arm64/asm/signal.h
index 7630b75..1b8911e 100644
--- a/libc/kernel/uapi/asm-arm64/asm/signal.h
+++ b/libc/kernel/uapi/asm-arm64/asm/signal.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_SIGNAL_H
 #define __ASM_SIGNAL_H
 #define SA_RESTORER 0x04000000
diff --git a/libc/kernel/uapi/asm-arm64/asm/socket.h b/libc/kernel/uapi/asm-arm64/asm/socket.h
index 50a9874..2ca3e45 100644
--- a/libc/kernel/uapi/asm-arm64/asm/socket.h
+++ b/libc/kernel/uapi/asm-arm64/asm/socket.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/socket.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/sockios.h b/libc/kernel/uapi/asm-arm64/asm/sockios.h
index 710db92..5aba663 100644
--- a/libc/kernel/uapi/asm-arm64/asm/sockios.h
+++ b/libc/kernel/uapi/asm-arm64/asm/sockios.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/sockios.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/stat.h b/libc/kernel/uapi/asm-arm64/asm/stat.h
index af7ebfc..6a514d3 100644
--- a/libc/kernel/uapi/asm-arm64/asm/stat.h
+++ b/libc/kernel/uapi/asm-arm64/asm/stat.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/stat.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/statfs.h b/libc/kernel/uapi/asm-arm64/asm/statfs.h
index 4a96c7e..4a2534f 100644
--- a/libc/kernel/uapi/asm-arm64/asm/statfs.h
+++ b/libc/kernel/uapi/asm-arm64/asm/statfs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_STATFS_H
 #define __ASM_STATFS_H
 #define ARCH_PACK_COMPAT_STATFS64 __attribute__((packed, aligned(4)))
diff --git a/libc/kernel/uapi/asm-arm64/asm/sve_context.h b/libc/kernel/uapi/asm-arm64/asm/sve_context.h
index ff0063e..583cb03 100644
--- a/libc/kernel/uapi/asm-arm64/asm/sve_context.h
+++ b/libc/kernel/uapi/asm-arm64/asm/sve_context.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__ASM_SVE_CONTEXT_H
 #define _UAPI__ASM_SVE_CONTEXT_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/swab.h b/libc/kernel/uapi/asm-arm64/asm/swab.h
index 0049f53..f7781b7 100644
--- a/libc/kernel/uapi/asm-arm64/asm/swab.h
+++ b/libc/kernel/uapi/asm-arm64/asm/swab.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/swab.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/termbits.h b/libc/kernel/uapi/asm-arm64/asm/termbits.h
index 42af6fe..e943da3 100644
--- a/libc/kernel/uapi/asm-arm64/asm/termbits.h
+++ b/libc/kernel/uapi/asm-arm64/asm/termbits.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/termbits.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/termios.h b/libc/kernel/uapi/asm-arm64/asm/termios.h
index feca4c6..3ae8ca2 100644
--- a/libc/kernel/uapi/asm-arm64/asm/termios.h
+++ b/libc/kernel/uapi/asm-arm64/asm/termios.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/termios.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/types.h b/libc/kernel/uapi/asm-arm64/asm/types.h
index 8250f43..a030be8 100644
--- a/libc/kernel/uapi/asm-arm64/asm/types.h
+++ b/libc/kernel/uapi/asm-arm64/asm/types.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/types.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/ucontext.h b/libc/kernel/uapi/asm-arm64/asm/ucontext.h
index 24dc60a..97536c5 100644
--- a/libc/kernel/uapi/asm-arm64/asm/ucontext.h
+++ b/libc/kernel/uapi/asm-arm64/asm/ucontext.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__ASM_UCONTEXT_H
 #define _UAPI__ASM_UCONTEXT_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/unistd.h b/libc/kernel/uapi/asm-arm64/asm/unistd.h
index 06b85ed..178578f 100644
--- a/libc/kernel/uapi/asm-arm64/asm/unistd.h
+++ b/libc/kernel/uapi/asm-arm64/asm/unistd.h
@@ -1,25 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#define __ARCH_WANT_RENAMEAT
-#define __ARCH_WANT_NEW_STAT
-#define __ARCH_WANT_SET_GET_RLIMIT
-#define __ARCH_WANT_TIME32_SYSCALLS
-#define __ARCH_WANT_SYS_CLONE3
-#define __ARCH_WANT_MEMFD_SECRET
-#include <asm-generic/unistd.h>
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#include <asm/unistd_64.h>
diff --git a/libc/kernel/uapi/asm-arm64/asm/unistd_64.h b/libc/kernel/uapi/asm-arm64/asm/unistd_64.h
new file mode 100644
index 0000000..0a0a1c0
--- /dev/null
+++ b/libc/kernel/uapi/asm-arm64/asm/unistd_64.h
@@ -0,0 +1,327 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_ASM_UNISTD_64_H
+#define _UAPI_ASM_UNISTD_64_H
+#define __NR_io_setup 0
+#define __NR_io_destroy 1
+#define __NR_io_submit 2
+#define __NR_io_cancel 3
+#define __NR_io_getevents 4
+#define __NR_setxattr 5
+#define __NR_lsetxattr 6
+#define __NR_fsetxattr 7
+#define __NR_getxattr 8
+#define __NR_lgetxattr 9
+#define __NR_fgetxattr 10
+#define __NR_listxattr 11
+#define __NR_llistxattr 12
+#define __NR_flistxattr 13
+#define __NR_removexattr 14
+#define __NR_lremovexattr 15
+#define __NR_fremovexattr 16
+#define __NR_getcwd 17
+#define __NR_lookup_dcookie 18
+#define __NR_eventfd2 19
+#define __NR_epoll_create1 20
+#define __NR_epoll_ctl 21
+#define __NR_epoll_pwait 22
+#define __NR_dup 23
+#define __NR_dup3 24
+#define __NR_fcntl 25
+#define __NR_inotify_init1 26
+#define __NR_inotify_add_watch 27
+#define __NR_inotify_rm_watch 28
+#define __NR_ioctl 29
+#define __NR_ioprio_set 30
+#define __NR_ioprio_get 31
+#define __NR_flock 32
+#define __NR_mknodat 33
+#define __NR_mkdirat 34
+#define __NR_unlinkat 35
+#define __NR_symlinkat 36
+#define __NR_linkat 37
+#define __NR_renameat 38
+#define __NR_umount2 39
+#define __NR_mount 40
+#define __NR_pivot_root 41
+#define __NR_nfsservctl 42
+#define __NR_statfs 43
+#define __NR_fstatfs 44
+#define __NR_truncate 45
+#define __NR_ftruncate 46
+#define __NR_fallocate 47
+#define __NR_faccessat 48
+#define __NR_chdir 49
+#define __NR_fchdir 50
+#define __NR_chroot 51
+#define __NR_fchmod 52
+#define __NR_fchmodat 53
+#define __NR_fchownat 54
+#define __NR_fchown 55
+#define __NR_openat 56
+#define __NR_close 57
+#define __NR_vhangup 58
+#define __NR_pipe2 59
+#define __NR_quotactl 60
+#define __NR_getdents64 61
+#define __NR_lseek 62
+#define __NR_read 63
+#define __NR_write 64
+#define __NR_readv 65
+#define __NR_writev 66
+#define __NR_pread64 67
+#define __NR_pwrite64 68
+#define __NR_preadv 69
+#define __NR_pwritev 70
+#define __NR_sendfile 71
+#define __NR_pselect6 72
+#define __NR_ppoll 73
+#define __NR_signalfd4 74
+#define __NR_vmsplice 75
+#define __NR_splice 76
+#define __NR_tee 77
+#define __NR_readlinkat 78
+#define __NR_newfstatat 79
+#define __NR_fstat 80
+#define __NR_sync 81
+#define __NR_fsync 82
+#define __NR_fdatasync 83
+#define __NR_sync_file_range 84
+#define __NR_timerfd_create 85
+#define __NR_timerfd_settime 86
+#define __NR_timerfd_gettime 87
+#define __NR_utimensat 88
+#define __NR_acct 89
+#define __NR_capget 90
+#define __NR_capset 91
+#define __NR_personality 92
+#define __NR_exit 93
+#define __NR_exit_group 94
+#define __NR_waitid 95
+#define __NR_set_tid_address 96
+#define __NR_unshare 97
+#define __NR_futex 98
+#define __NR_set_robust_list 99
+#define __NR_get_robust_list 100
+#define __NR_nanosleep 101
+#define __NR_getitimer 102
+#define __NR_setitimer 103
+#define __NR_kexec_load 104
+#define __NR_init_module 105
+#define __NR_delete_module 106
+#define __NR_timer_create 107
+#define __NR_timer_gettime 108
+#define __NR_timer_getoverrun 109
+#define __NR_timer_settime 110
+#define __NR_timer_delete 111
+#define __NR_clock_settime 112
+#define __NR_clock_gettime 113
+#define __NR_clock_getres 114
+#define __NR_clock_nanosleep 115
+#define __NR_syslog 116
+#define __NR_ptrace 117
+#define __NR_sched_setparam 118
+#define __NR_sched_setscheduler 119
+#define __NR_sched_getscheduler 120
+#define __NR_sched_getparam 121
+#define __NR_sched_setaffinity 122
+#define __NR_sched_getaffinity 123
+#define __NR_sched_yield 124
+#define __NR_sched_get_priority_max 125
+#define __NR_sched_get_priority_min 126
+#define __NR_sched_rr_get_interval 127
+#define __NR_restart_syscall 128
+#define __NR_kill 129
+#define __NR_tkill 130
+#define __NR_tgkill 131
+#define __NR_sigaltstack 132
+#define __NR_rt_sigsuspend 133
+#define __NR_rt_sigaction 134
+#define __NR_rt_sigprocmask 135
+#define __NR_rt_sigpending 136
+#define __NR_rt_sigtimedwait 137
+#define __NR_rt_sigqueueinfo 138
+#define __NR_rt_sigreturn 139
+#define __NR_setpriority 140
+#define __NR_getpriority 141
+#define __NR_reboot 142
+#define __NR_setregid 143
+#define __NR_setgid 144
+#define __NR_setreuid 145
+#define __NR_setuid 146
+#define __NR_setresuid 147
+#define __NR_getresuid 148
+#define __NR_setresgid 149
+#define __NR_getresgid 150
+#define __NR_setfsuid 151
+#define __NR_setfsgid 152
+#define __NR_times 153
+#define __NR_setpgid 154
+#define __NR_getpgid 155
+#define __NR_getsid 156
+#define __NR_setsid 157
+#define __NR_getgroups 158
+#define __NR_setgroups 159
+#define __NR_uname 160
+#define __NR_sethostname 161
+#define __NR_setdomainname 162
+#define __NR_getrlimit 163
+#define __NR_setrlimit 164
+#define __NR_getrusage 165
+#define __NR_umask 166
+#define __NR_prctl 167
+#define __NR_getcpu 168
+#define __NR_gettimeofday 169
+#define __NR_settimeofday 170
+#define __NR_adjtimex 171
+#define __NR_getpid 172
+#define __NR_getppid 173
+#define __NR_getuid 174
+#define __NR_geteuid 175
+#define __NR_getgid 176
+#define __NR_getegid 177
+#define __NR_gettid 178
+#define __NR_sysinfo 179
+#define __NR_mq_open 180
+#define __NR_mq_unlink 181
+#define __NR_mq_timedsend 182
+#define __NR_mq_timedreceive 183
+#define __NR_mq_notify 184
+#define __NR_mq_getsetattr 185
+#define __NR_msgget 186
+#define __NR_msgctl 187
+#define __NR_msgrcv 188
+#define __NR_msgsnd 189
+#define __NR_semget 190
+#define __NR_semctl 191
+#define __NR_semtimedop 192
+#define __NR_semop 193
+#define __NR_shmget 194
+#define __NR_shmctl 195
+#define __NR_shmat 196
+#define __NR_shmdt 197
+#define __NR_socket 198
+#define __NR_socketpair 199
+#define __NR_bind 200
+#define __NR_listen 201
+#define __NR_accept 202
+#define __NR_connect 203
+#define __NR_getsockname 204
+#define __NR_getpeername 205
+#define __NR_sendto 206
+#define __NR_recvfrom 207
+#define __NR_setsockopt 208
+#define __NR_getsockopt 209
+#define __NR_shutdown 210
+#define __NR_sendmsg 211
+#define __NR_recvmsg 212
+#define __NR_readahead 213
+#define __NR_brk 214
+#define __NR_munmap 215
+#define __NR_mremap 216
+#define __NR_add_key 217
+#define __NR_request_key 218
+#define __NR_keyctl 219
+#define __NR_clone 220
+#define __NR_execve 221
+#define __NR_mmap 222
+#define __NR_fadvise64 223
+#define __NR_swapon 224
+#define __NR_swapoff 225
+#define __NR_mprotect 226
+#define __NR_msync 227
+#define __NR_mlock 228
+#define __NR_munlock 229
+#define __NR_mlockall 230
+#define __NR_munlockall 231
+#define __NR_mincore 232
+#define __NR_madvise 233
+#define __NR_remap_file_pages 234
+#define __NR_mbind 235
+#define __NR_get_mempolicy 236
+#define __NR_set_mempolicy 237
+#define __NR_migrate_pages 238
+#define __NR_move_pages 239
+#define __NR_rt_tgsigqueueinfo 240
+#define __NR_perf_event_open 241
+#define __NR_accept4 242
+#define __NR_recvmmsg 243
+#define __NR_wait4 260
+#define __NR_prlimit64 261
+#define __NR_fanotify_init 262
+#define __NR_fanotify_mark 263
+#define __NR_name_to_handle_at 264
+#define __NR_open_by_handle_at 265
+#define __NR_clock_adjtime 266
+#define __NR_syncfs 267
+#define __NR_setns 268
+#define __NR_sendmmsg 269
+#define __NR_process_vm_readv 270
+#define __NR_process_vm_writev 271
+#define __NR_kcmp 272
+#define __NR_finit_module 273
+#define __NR_sched_setattr 274
+#define __NR_sched_getattr 275
+#define __NR_renameat2 276
+#define __NR_seccomp 277
+#define __NR_getrandom 278
+#define __NR_memfd_create 279
+#define __NR_bpf 280
+#define __NR_execveat 281
+#define __NR_userfaultfd 282
+#define __NR_membarrier 283
+#define __NR_mlock2 284
+#define __NR_copy_file_range 285
+#define __NR_preadv2 286
+#define __NR_pwritev2 287
+#define __NR_pkey_mprotect 288
+#define __NR_pkey_alloc 289
+#define __NR_pkey_free 290
+#define __NR_statx 291
+#define __NR_io_pgetevents 292
+#define __NR_rseq 293
+#define __NR_kexec_file_load 294
+#define __NR_pidfd_send_signal 424
+#define __NR_io_uring_setup 425
+#define __NR_io_uring_enter 426
+#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
+#define __NR_pidfd_open 434
+#define __NR_clone3 435
+#define __NR_close_range 436
+#define __NR_openat2 437
+#define __NR_pidfd_getfd 438
+#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_quotactl_fd 443
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
+#define __NR_memfd_secret 447
+#define __NR_process_mrelease 448
+#define __NR_futex_waitv 449
+#define __NR_set_mempolicy_home_node 450
+#define __NR_cachestat 451
+#define __NR_fchmodat2 452
+#define __NR_map_shadow_stack 453
+#define __NR_futex_wake 454
+#define __NR_futex_wait 455
+#define __NR_futex_requeue 456
+#define __NR_statmount 457
+#define __NR_listmount 458
+#define __NR_lsm_get_self_attr 459
+#define __NR_lsm_set_self_attr 460
+#define __NR_lsm_list_modules 461
+#define __NR_mseal 462
+#endif
diff --git a/libc/kernel/uapi/asm-generic/auxvec.h b/libc/kernel/uapi/asm-generic/auxvec.h
index fad637b..87fe67e 100644
--- a/libc/kernel/uapi/asm-generic/auxvec.h
+++ b/libc/kernel/uapi/asm-generic/auxvec.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_GENERIC_AUXVEC_H
 #define __ASM_GENERIC_AUXVEC_H
 #endif
diff --git a/libc/kernel/uapi/asm-generic/bitsperlong.h b/libc/kernel/uapi/asm-generic/bitsperlong.h
index 8fb379f..11dcc1a 100644
--- a/libc/kernel/uapi/asm-generic/bitsperlong.h
+++ b/libc/kernel/uapi/asm-generic/bitsperlong.h
@@ -1,24 +1,19 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__ASM_GENERIC_BITS_PER_LONG
 #define _UAPI__ASM_GENERIC_BITS_PER_LONG
 #ifndef __BITS_PER_LONG
+#if defined(__CHAR_BIT__) && defined(__SIZEOF_LONG__)
+#define __BITS_PER_LONG (__CHAR_BIT__ * __SIZEOF_LONG__)
+#else
 #define __BITS_PER_LONG 32
 #endif
 #endif
+#ifndef __BITS_PER_LONG_LONG
+#define __BITS_PER_LONG_LONG 64
+#endif
+#endif
diff --git a/libc/kernel/uapi/asm-generic/bpf_perf_event.h b/libc/kernel/uapi/asm-generic/bpf_perf_event.h
index 794927b..23d34ec 100644
--- a/libc/kernel/uapi/asm-generic/bpf_perf_event.h
+++ b/libc/kernel/uapi/asm-generic/bpf_perf_event.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__ASM_GENERIC_BPF_PERF_EVENT_H__
 #define _UAPI__ASM_GENERIC_BPF_PERF_EVENT_H__
 #include <linux/ptrace.h>
diff --git a/libc/kernel/uapi/asm-generic/errno-base.h b/libc/kernel/uapi/asm-generic/errno-base.h
index bdfb811..592edb0 100644
--- a/libc/kernel/uapi/asm-generic/errno-base.h
+++ b/libc/kernel/uapi/asm-generic/errno-base.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_GENERIC_ERRNO_BASE_H
 #define _ASM_GENERIC_ERRNO_BASE_H
 #define EPERM 1
diff --git a/libc/kernel/uapi/asm-generic/errno.h b/libc/kernel/uapi/asm-generic/errno.h
index 6a2c285..f1e18ad 100644
--- a/libc/kernel/uapi/asm-generic/errno.h
+++ b/libc/kernel/uapi/asm-generic/errno.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_GENERIC_ERRNO_H
 #define _ASM_GENERIC_ERRNO_H
 #include <asm-generic/errno-base.h>
diff --git a/libc/kernel/uapi/asm-generic/fcntl.h b/libc/kernel/uapi/asm-generic/fcntl.h
index ea8c108..a6812c6 100644
--- a/libc/kernel/uapi/asm-generic/fcntl.h
+++ b/libc/kernel/uapi/asm-generic/fcntl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_GENERIC_FCNTL_H
 #define _ASM_GENERIC_FCNTL_H
 #include <bits/flock64.h>
@@ -78,7 +66,6 @@
 #define __O_TMPFILE 020000000
 #endif
 #define O_TMPFILE (__O_TMPFILE | O_DIRECTORY)
-#define O_TMPFILE_MASK (__O_TMPFILE | O_DIRECTORY | O_CREAT)
 #ifndef O_NDELAY
 #define O_NDELAY O_NONBLOCK
 #endif
diff --git a/libc/kernel/uapi/asm-generic/hugetlb_encode.h b/libc/kernel/uapi/asm-generic/hugetlb_encode.h
index 059991c..f515990 100644
--- a/libc/kernel/uapi/asm-generic/hugetlb_encode.h
+++ b/libc/kernel/uapi/asm-generic/hugetlb_encode.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_GENERIC_HUGETLB_ENCODE_H_
 #define _ASM_GENERIC_HUGETLB_ENCODE_H_
 #define HUGETLB_FLAG_ENCODE_SHIFT 26
diff --git a/libc/kernel/uapi/asm-generic/int-l64.h b/libc/kernel/uapi/asm-generic/int-l64.h
index 6ddf740..c64aa8d 100644
--- a/libc/kernel/uapi/asm-generic/int-l64.h
+++ b/libc/kernel/uapi/asm-generic/int-l64.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_GENERIC_INT_L64_H
 #define _UAPI_ASM_GENERIC_INT_L64_H
 #include <asm/bitsperlong.h>
diff --git a/libc/kernel/uapi/asm-generic/int-ll64.h b/libc/kernel/uapi/asm-generic/int-ll64.h
index dcad2eb..505efc6 100644
--- a/libc/kernel/uapi/asm-generic/int-ll64.h
+++ b/libc/kernel/uapi/asm-generic/int-ll64.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_GENERIC_INT_LL64_H
 #define _UAPI_ASM_GENERIC_INT_LL64_H
 #include <asm/bitsperlong.h>
diff --git a/libc/kernel/uapi/asm-generic/ioctl.h b/libc/kernel/uapi/asm-generic/ioctl.h
index 84c2ec8..d614fef 100644
--- a/libc/kernel/uapi/asm-generic/ioctl.h
+++ b/libc/kernel/uapi/asm-generic/ioctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_GENERIC_IOCTL_H
 #define _UAPI_ASM_GENERIC_IOCTL_H
 #define _IOC_NRBITS 8
diff --git a/libc/kernel/uapi/asm-generic/ioctls.h b/libc/kernel/uapi/asm-generic/ioctls.h
index f8a4357..b10a38b 100644
--- a/libc/kernel/uapi/asm-generic/ioctls.h
+++ b/libc/kernel/uapi/asm-generic/ioctls.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_GENERIC_IOCTLS_H
 #define __ASM_GENERIC_IOCTLS_H
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/asm-generic/ipcbuf.h b/libc/kernel/uapi/asm-generic/ipcbuf.h
index 40c45ab..5448bfb 100644
--- a/libc/kernel/uapi/asm-generic/ipcbuf.h
+++ b/libc/kernel/uapi/asm-generic/ipcbuf.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_GENERIC_IPCBUF_H
 #define __ASM_GENERIC_IPCBUF_H
 #include <linux/posix_types.h>
diff --git a/libc/kernel/uapi/asm-generic/kvm_para.h b/libc/kernel/uapi/asm-generic/kvm_para.h
index 878419c..02e56b8 100644
--- a/libc/kernel/uapi/asm-generic/kvm_para.h
+++ b/libc/kernel/uapi/asm-generic/kvm_para.h
@@ -1,18 +1,6 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
diff --git a/libc/kernel/uapi/asm-generic/mman-common.h b/libc/kernel/uapi/asm-generic/mman-common.h
index 966d05b..55e0ca1 100644
--- a/libc/kernel/uapi/asm-generic/mman-common.h
+++ b/libc/kernel/uapi/asm-generic/mman-common.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_GENERIC_MMAN_COMMON_H
 #define __ASM_GENERIC_MMAN_COMMON_H
 #define PROT_READ 0x1
diff --git a/libc/kernel/uapi/asm-generic/mman.h b/libc/kernel/uapi/asm-generic/mman.h
index 33d43f7..a2a5de9 100644
--- a/libc/kernel/uapi/asm-generic/mman.h
+++ b/libc/kernel/uapi/asm-generic/mman.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_GENERIC_MMAN_H
 #define __ASM_GENERIC_MMAN_H
 #include <asm-generic/mman-common.h>
diff --git a/libc/kernel/uapi/asm-generic/msgbuf.h b/libc/kernel/uapi/asm-generic/msgbuf.h
index 827d050..6b51263 100644
--- a/libc/kernel/uapi/asm-generic/msgbuf.h
+++ b/libc/kernel/uapi/asm-generic/msgbuf.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_GENERIC_MSGBUF_H
 #define __ASM_GENERIC_MSGBUF_H
 #include <asm/bitsperlong.h>
diff --git a/libc/kernel/uapi/asm-generic/param.h b/libc/kernel/uapi/asm-generic/param.h
index 7897799..ee07149 100644
--- a/libc/kernel/uapi/asm-generic/param.h
+++ b/libc/kernel/uapi/asm-generic/param.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__ASM_GENERIC_PARAM_H
 #define _UAPI__ASM_GENERIC_PARAM_H
 #ifndef HZ
diff --git a/libc/kernel/uapi/asm-generic/poll.h b/libc/kernel/uapi/asm-generic/poll.h
index ba6f2e9..73c6cc1 100644
--- a/libc/kernel/uapi/asm-generic/poll.h
+++ b/libc/kernel/uapi/asm-generic/poll.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_GENERIC_POLL_H
 #define __ASM_GENERIC_POLL_H
 #define POLLIN 0x0001
diff --git a/libc/kernel/uapi/asm-generic/posix_types.h b/libc/kernel/uapi/asm-generic/posix_types.h
index 4045127..889cfaf 100644
--- a/libc/kernel/uapi/asm-generic/posix_types.h
+++ b/libc/kernel/uapi/asm-generic/posix_types.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_GENERIC_POSIX_TYPES_H
 #define __ASM_GENERIC_POSIX_TYPES_H
 #include <asm/bitsperlong.h>
diff --git a/libc/kernel/uapi/asm-generic/resource.h b/libc/kernel/uapi/asm-generic/resource.h
index 843910b..53580e0 100644
--- a/libc/kernel/uapi/asm-generic/resource.h
+++ b/libc/kernel/uapi/asm-generic/resource.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_GENERIC_RESOURCE_H
 #define _UAPI_ASM_GENERIC_RESOURCE_H
 #define RLIMIT_CPU 0
diff --git a/libc/kernel/uapi/asm-generic/sembuf.h b/libc/kernel/uapi/asm-generic/sembuf.h
index 46306f7..958fa91 100644
--- a/libc/kernel/uapi/asm-generic/sembuf.h
+++ b/libc/kernel/uapi/asm-generic/sembuf.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_GENERIC_SEMBUF_H
 #define __ASM_GENERIC_SEMBUF_H
 #include <asm/bitsperlong.h>
diff --git a/libc/kernel/uapi/asm-generic/setup.h b/libc/kernel/uapi/asm-generic/setup.h
index f44a6dd..a11d4ef 100644
--- a/libc/kernel/uapi/asm-generic/setup.h
+++ b/libc/kernel/uapi/asm-generic/setup.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_GENERIC_SETUP_H
 #define __ASM_GENERIC_SETUP_H
 #define COMMAND_LINE_SIZE 512
diff --git a/libc/kernel/uapi/asm-generic/shmbuf.h b/libc/kernel/uapi/asm-generic/shmbuf.h
index 11487f4..838c592 100644
--- a/libc/kernel/uapi/asm-generic/shmbuf.h
+++ b/libc/kernel/uapi/asm-generic/shmbuf.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_GENERIC_SHMBUF_H
 #define __ASM_GENERIC_SHMBUF_H
 #include <asm/bitsperlong.h>
diff --git a/libc/kernel/uapi/asm-generic/siginfo.h b/libc/kernel/uapi/asm-generic/siginfo.h
index 90393ba..2124bfb 100644
--- a/libc/kernel/uapi/asm-generic/siginfo.h
+++ b/libc/kernel/uapi/asm-generic/siginfo.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_GENERIC_SIGINFO_H
 #define _UAPI_ASM_GENERIC_SIGINFO_H
 #include <linux/compiler.h>
@@ -59,11 +47,6 @@
   } _sigchld;
   struct {
     void  * _addr;
-#ifdef __ia64__
-    int _imm;
-    unsigned int _flags;
-    unsigned long _isr;
-#endif
 #define __ADDR_BND_PKEY_PAD (__alignof__(void *) < sizeof(short) ? sizeof(short) : __alignof__(void *))
     union {
       int _trapno;
@@ -185,7 +168,8 @@
 #define SEGV_ADIPERR 7
 #define SEGV_MTEAERR 8
 #define SEGV_MTESERR 9
-#define NSIGSEGV 9
+#define SEGV_CPERR 10
+#define NSIGSEGV 10
 #define BUS_ADRALN 1
 #define BUS_ADRERR 2
 #define BUS_OBJERR 3
diff --git a/libc/kernel/uapi/asm-generic/signal-defs.h b/libc/kernel/uapi/asm-generic/signal-defs.h
index dea8fbc..a1bfa2f 100644
--- a/libc/kernel/uapi/asm-generic/signal-defs.h
+++ b/libc/kernel/uapi/asm-generic/signal-defs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_GENERIC_SIGNAL_DEFS_H
 #define __ASM_GENERIC_SIGNAL_DEFS_H
 #include <linux/compiler.h>
diff --git a/libc/kernel/uapi/asm-generic/signal.h b/libc/kernel/uapi/asm-generic/signal.h
index 9cf393f..21c7100 100644
--- a/libc/kernel/uapi/asm-generic/signal.h
+++ b/libc/kernel/uapi/asm-generic/signal.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__ASM_GENERIC_SIGNAL_H
 #define _UAPI__ASM_GENERIC_SIGNAL_H
 #include <linux/types.h>
@@ -73,7 +61,7 @@
 #ifdef SA_RESTORER
 #define __ARCH_HAS_SA_RESTORER
 #endif
-struct sigaction {
+struct __kernel_sigaction {
   __sighandler_t sa_handler;
   unsigned long sa_flags;
 #ifdef SA_RESTORER
diff --git a/libc/kernel/uapi/asm-generic/socket.h b/libc/kernel/uapi/asm-generic/socket.h
index 1a321bf..2d90586 100644
--- a/libc/kernel/uapi/asm-generic/socket.h
+++ b/libc/kernel/uapi/asm-generic/socket.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_GENERIC_SOCKET_H
 #define __ASM_GENERIC_SOCKET_H
 #include <linux/posix_types.h>
@@ -102,6 +90,8 @@
 #define SO_RESERVE_MEM 73
 #define SO_TXREHASH 74
 #define SO_RCVMARK 75
+#define SO_PASSPIDFD 76
+#define SO_PEERPIDFD 77
 #if __BITS_PER_LONG == 64 || defined(__x86_64__) && defined(__ILP32__)
 #define SO_TIMESTAMP SO_TIMESTAMP_OLD
 #define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD
diff --git a/libc/kernel/uapi/asm-generic/sockios.h b/libc/kernel/uapi/asm-generic/sockios.h
index afbc6ad..360d034 100644
--- a/libc/kernel/uapi/asm-generic/sockios.h
+++ b/libc/kernel/uapi/asm-generic/sockios.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_GENERIC_SOCKIOS_H
 #define __ASM_GENERIC_SOCKIOS_H
 #define FIOSETOWN 0x8901
diff --git a/libc/kernel/uapi/asm-generic/stat.h b/libc/kernel/uapi/asm-generic/stat.h
index 9cc00f2..20ed501 100644
--- a/libc/kernel/uapi/asm-generic/stat.h
+++ b/libc/kernel/uapi/asm-generic/stat.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_GENERIC_STAT_H
 #define __ASM_GENERIC_STAT_H
 #include <asm/bitsperlong.h>
diff --git a/libc/kernel/uapi/asm-generic/statfs.h b/libc/kernel/uapi/asm-generic/statfs.h
index 7184ce9..1fe2c09 100644
--- a/libc/kernel/uapi/asm-generic/statfs.h
+++ b/libc/kernel/uapi/asm-generic/statfs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_GENERIC_STATFS_H
 #define _UAPI_GENERIC_STATFS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/asm-generic/swab.h b/libc/kernel/uapi/asm-generic/swab.h
index b6119db..52f6c91 100644
--- a/libc/kernel/uapi/asm-generic/swab.h
+++ b/libc/kernel/uapi/asm-generic/swab.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_GENERIC_SWAB_H
 #define _ASM_GENERIC_SWAB_H
 #include <asm/bitsperlong.h>
diff --git a/libc/kernel/uapi/asm-generic/termbits-common.h b/libc/kernel/uapi/asm-generic/termbits-common.h
index 281eee8..21c284b 100644
--- a/libc/kernel/uapi/asm-generic/termbits-common.h
+++ b/libc/kernel/uapi/asm-generic/termbits-common.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_GENERIC_TERMBITS_COMMON_H
 #define __ASM_GENERIC_TERMBITS_COMMON_H
 typedef unsigned char cc_t;
diff --git a/libc/kernel/uapi/asm-generic/termbits.h b/libc/kernel/uapi/asm-generic/termbits.h
index 87d6c82..26b0097 100644
--- a/libc/kernel/uapi/asm-generic/termbits.h
+++ b/libc/kernel/uapi/asm-generic/termbits.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_GENERIC_TERMBITS_H
 #define __ASM_GENERIC_TERMBITS_H
 #include <asm-generic/termbits-common.h>
diff --git a/libc/kernel/uapi/asm-generic/termios.h b/libc/kernel/uapi/asm-generic/termios.h
index 77b260b..23cf922 100644
--- a/libc/kernel/uapi/asm-generic/termios.h
+++ b/libc/kernel/uapi/asm-generic/termios.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_GENERIC_TERMIOS_H
 #define _UAPI_ASM_GENERIC_TERMIOS_H
 #include <asm/termbits.h>
diff --git a/libc/kernel/uapi/asm-generic/types.h b/libc/kernel/uapi/asm-generic/types.h
index bac728e..d3e6944 100644
--- a/libc/kernel/uapi/asm-generic/types.h
+++ b/libc/kernel/uapi/asm-generic/types.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_GENERIC_TYPES_H
 #define _UAPI_ASM_GENERIC_TYPES_H
 #include <asm-generic/int-ll64.h>
diff --git a/libc/kernel/uapi/asm-generic/ucontext.h b/libc/kernel/uapi/asm-generic/ucontext.h
index 17d8f70..340c9c9 100644
--- a/libc/kernel/uapi/asm-generic/ucontext.h
+++ b/libc/kernel/uapi/asm-generic/ucontext.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_GENERIC_UCONTEXT_H
 #define __ASM_GENERIC_UCONTEXT_H
 struct ucontext {
diff --git a/libc/kernel/uapi/asm-generic/unistd.h b/libc/kernel/uapi/asm-generic/unistd.h
index d23958b..652e7a2 100644
--- a/libc/kernel/uapi/asm-generic/unistd.h
+++ b/libc/kernel/uapi/asm-generic/unistd.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm/bitsperlong.h>
 #ifndef __SYSCALL
 #define __SYSCALL(x,y)
@@ -393,9 +381,7 @@
 #define __NR_fsmount 432
 #define __NR_fspick 433
 #define __NR_pidfd_open 434
-#ifdef __ARCH_WANT_SYS_CLONE3
 #define __NR_clone3 435
-#endif
 #define __NR_close_range 436
 #define __NR_openat2 437
 #define __NR_pidfd_getfd 438
@@ -413,8 +399,20 @@
 #define __NR_process_mrelease 448
 #define __NR_futex_waitv 449
 #define __NR_set_mempolicy_home_node 450
+#define __NR_cachestat 451
+#define __NR_fchmodat2 452
+#define __NR_map_shadow_stack 453
+#define __NR_futex_wake 454
+#define __NR_futex_wait 455
+#define __NR_futex_requeue 456
+#define __NR_statmount 457
+#define __NR_listmount 458
+#define __NR_lsm_get_self_attr 459
+#define __NR_lsm_set_self_attr 460
+#define __NR_lsm_list_modules 461
+#define __NR_mseal 462
 #undef __NR_syscalls
-#define __NR_syscalls 451
+#define __NR_syscalls 463
 #if __BITS_PER_LONG == 64 && !defined(__SYSCALL_COMPAT)
 #define __NR_fcntl __NR3264_fcntl
 #define __NR_statfs __NR3264_statfs
diff --git a/libc/kernel/uapi/asm-riscv/asm/auxvec.h b/libc/kernel/uapi/asm-riscv/asm/auxvec.h
index c70be17..755f4e9 100644
--- a/libc/kernel/uapi/asm-riscv/asm/auxvec.h
+++ b/libc/kernel/uapi/asm-riscv/asm/auxvec.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_RISCV_AUXVEC_H
 #define _UAPI_ASM_RISCV_AUXVEC_H
 #define AT_SYSINFO_EHDR 33
@@ -27,5 +15,6 @@
 #define AT_L2_CACHEGEOMETRY 45
 #define AT_L3_CACHESIZE 46
 #define AT_L3_CACHEGEOMETRY 47
-#define AT_VECTOR_SIZE_ARCH 9
+#define AT_VECTOR_SIZE_ARCH 10
+#define AT_MINSIGSTKSZ 51
 #endif
diff --git a/libc/kernel/uapi/asm-riscv/asm/bitsperlong.h b/libc/kernel/uapi/asm-riscv/asm/bitsperlong.h
index 098b610..508b0bc 100644
--- a/libc/kernel/uapi/asm-riscv/asm/bitsperlong.h
+++ b/libc/kernel/uapi/asm-riscv/asm/bitsperlong.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_RISCV_BITSPERLONG_H
 #define _UAPI_ASM_RISCV_BITSPERLONG_H
 #define __BITS_PER_LONG (__SIZEOF_POINTER__ * 8)
diff --git a/libc/kernel/uapi/asm-riscv/asm/bpf_perf_event.h b/libc/kernel/uapi/asm-riscv/asm/bpf_perf_event.h
index 47c09fd..640a8fa 100644
--- a/libc/kernel/uapi/asm-riscv/asm/bpf_perf_event.h
+++ b/libc/kernel/uapi/asm-riscv/asm/bpf_perf_event.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__ASM_BPF_PERF_EVENT_H__
 #define _UAPI__ASM_BPF_PERF_EVENT_H__
 #include <asm/ptrace.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/byteorder.h b/libc/kernel/uapi/asm-riscv/asm/byteorder.h
index 42afc14..6320f8d 100644
--- a/libc/kernel/uapi/asm-riscv/asm/byteorder.h
+++ b/libc/kernel/uapi/asm-riscv/asm/byteorder.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_RISCV_BYTEORDER_H
 #define _UAPI_ASM_RISCV_BYTEORDER_H
 #include <linux/byteorder/little_endian.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/elf.h b/libc/kernel/uapi/asm-riscv/asm/elf.h
index 07593d9..df15148 100644
--- a/libc/kernel/uapi/asm-riscv/asm/elf.h
+++ b/libc/kernel/uapi/asm-riscv/asm/elf.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_RISCV_ELF_H
 #define _UAPI_ASM_RISCV_ELF_H
 #include <asm/ptrace.h>
@@ -44,6 +32,7 @@
 #define R_RISCV_TLS_DTPREL64 9
 #define R_RISCV_TLS_TPREL32 10
 #define R_RISCV_TLS_TPREL64 11
+#define R_RISCV_IRELATIVE 58
 #define R_RISCV_BRANCH 16
 #define R_RISCV_JAL 17
 #define R_RISCV_CALL 18
@@ -74,7 +63,6 @@
 #define R_RISCV_ALIGN 43
 #define R_RISCV_RVC_BRANCH 44
 #define R_RISCV_RVC_JUMP 45
-#define R_RISCV_LUI 46
 #define R_RISCV_GPREL_I 47
 #define R_RISCV_GPREL_S 48
 #define R_RISCV_TPREL_I 49
@@ -86,4 +74,7 @@
 #define R_RISCV_SET16 55
 #define R_RISCV_SET32 56
 #define R_RISCV_32_PCREL 57
+#define R_RISCV_PLT32 59
+#define R_RISCV_SET_ULEB128 60
+#define R_RISCV_SUB_ULEB128 61
 #endif
diff --git a/libc/kernel/uapi/asm-riscv/asm/errno.h b/libc/kernel/uapi/asm-riscv/asm/errno.h
index 392cd94..68b3218 100644
--- a/libc/kernel/uapi/asm-riscv/asm/errno.h
+++ b/libc/kernel/uapi/asm-riscv/asm/errno.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/errno.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/fcntl.h b/libc/kernel/uapi/asm-riscv/asm/fcntl.h
index 518d3a7..b82e108 100644
--- a/libc/kernel/uapi/asm-riscv/asm/fcntl.h
+++ b/libc/kernel/uapi/asm-riscv/asm/fcntl.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/fcntl.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/hwcap.h b/libc/kernel/uapi/asm-riscv/asm/hwcap.h
index d130cf7..20b1963 100644
--- a/libc/kernel/uapi/asm-riscv/asm/hwcap.h
+++ b/libc/kernel/uapi/asm-riscv/asm/hwcap.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_RISCV_HWCAP_H
 #define _UAPI_ASM_RISCV_HWCAP_H
 #define COMPAT_HWCAP_ISA_I (1 << ('I' - 'A'))
@@ -24,4 +12,5 @@
 #define COMPAT_HWCAP_ISA_F (1 << ('F' - 'A'))
 #define COMPAT_HWCAP_ISA_D (1 << ('D' - 'A'))
 #define COMPAT_HWCAP_ISA_C (1 << ('C' - 'A'))
+#define COMPAT_HWCAP_ISA_V (1 << ('V' - 'A'))
 #endif
diff --git a/libc/kernel/uapi/asm-riscv/asm/hwprobe.h b/libc/kernel/uapi/asm-riscv/asm/hwprobe.h
new file mode 100644
index 0000000..2e5f9a4
--- /dev/null
+++ b/libc/kernel/uapi/asm-riscv/asm/hwprobe.h
@@ -0,0 +1,86 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_ASM_HWPROBE_H
+#define _UAPI_ASM_HWPROBE_H
+#include <linux/types.h>
+struct riscv_hwprobe {
+  __s64 key;
+  __u64 value;
+};
+#define RISCV_HWPROBE_KEY_MVENDORID 0
+#define RISCV_HWPROBE_KEY_MARCHID 1
+#define RISCV_HWPROBE_KEY_MIMPID 2
+#define RISCV_HWPROBE_KEY_BASE_BEHAVIOR 3
+#define RISCV_HWPROBE_BASE_BEHAVIOR_IMA (1 << 0)
+#define RISCV_HWPROBE_KEY_IMA_EXT_0 4
+#define RISCV_HWPROBE_IMA_FD (1 << 0)
+#define RISCV_HWPROBE_IMA_C (1 << 1)
+#define RISCV_HWPROBE_IMA_V (1 << 2)
+#define RISCV_HWPROBE_EXT_ZBA (1 << 3)
+#define RISCV_HWPROBE_EXT_ZBB (1 << 4)
+#define RISCV_HWPROBE_EXT_ZBS (1 << 5)
+#define RISCV_HWPROBE_EXT_ZICBOZ (1 << 6)
+#define RISCV_HWPROBE_EXT_ZBC (1 << 7)
+#define RISCV_HWPROBE_EXT_ZBKB (1 << 8)
+#define RISCV_HWPROBE_EXT_ZBKC (1 << 9)
+#define RISCV_HWPROBE_EXT_ZBKX (1 << 10)
+#define RISCV_HWPROBE_EXT_ZKND (1 << 11)
+#define RISCV_HWPROBE_EXT_ZKNE (1 << 12)
+#define RISCV_HWPROBE_EXT_ZKNH (1 << 13)
+#define RISCV_HWPROBE_EXT_ZKSED (1 << 14)
+#define RISCV_HWPROBE_EXT_ZKSH (1 << 15)
+#define RISCV_HWPROBE_EXT_ZKT (1 << 16)
+#define RISCV_HWPROBE_EXT_ZVBB (1 << 17)
+#define RISCV_HWPROBE_EXT_ZVBC (1 << 18)
+#define RISCV_HWPROBE_EXT_ZVKB (1 << 19)
+#define RISCV_HWPROBE_EXT_ZVKG (1 << 20)
+#define RISCV_HWPROBE_EXT_ZVKNED (1 << 21)
+#define RISCV_HWPROBE_EXT_ZVKNHA (1 << 22)
+#define RISCV_HWPROBE_EXT_ZVKNHB (1 << 23)
+#define RISCV_HWPROBE_EXT_ZVKSED (1 << 24)
+#define RISCV_HWPROBE_EXT_ZVKSH (1 << 25)
+#define RISCV_HWPROBE_EXT_ZVKT (1 << 26)
+#define RISCV_HWPROBE_EXT_ZFH (1 << 27)
+#define RISCV_HWPROBE_EXT_ZFHMIN (1 << 28)
+#define RISCV_HWPROBE_EXT_ZIHINTNTL (1 << 29)
+#define RISCV_HWPROBE_EXT_ZVFH (1 << 30)
+#define RISCV_HWPROBE_EXT_ZVFHMIN (1ULL << 31)
+#define RISCV_HWPROBE_EXT_ZFA (1ULL << 32)
+#define RISCV_HWPROBE_EXT_ZTSO (1ULL << 33)
+#define RISCV_HWPROBE_EXT_ZACAS (1ULL << 34)
+#define RISCV_HWPROBE_EXT_ZICOND (1ULL << 35)
+#define RISCV_HWPROBE_EXT_ZIHINTPAUSE (1ULL << 36)
+#define RISCV_HWPROBE_EXT_ZVE32X (1ULL << 37)
+#define RISCV_HWPROBE_EXT_ZVE32F (1ULL << 38)
+#define RISCV_HWPROBE_EXT_ZVE64X (1ULL << 39)
+#define RISCV_HWPROBE_EXT_ZVE64F (1ULL << 40)
+#define RISCV_HWPROBE_EXT_ZVE64D (1ULL << 41)
+#define RISCV_HWPROBE_EXT_ZIMOP (1ULL << 42)
+#define RISCV_HWPROBE_EXT_ZCA (1ULL << 43)
+#define RISCV_HWPROBE_EXT_ZCB (1ULL << 44)
+#define RISCV_HWPROBE_EXT_ZCD (1ULL << 45)
+#define RISCV_HWPROBE_EXT_ZCF (1ULL << 46)
+#define RISCV_HWPROBE_EXT_ZCMOP (1ULL << 47)
+#define RISCV_HWPROBE_EXT_ZAWRS (1ULL << 48)
+#define RISCV_HWPROBE_KEY_CPUPERF_0 5
+#define RISCV_HWPROBE_MISALIGNED_UNKNOWN (0 << 0)
+#define RISCV_HWPROBE_MISALIGNED_EMULATED (1 << 0)
+#define RISCV_HWPROBE_MISALIGNED_SLOW (2 << 0)
+#define RISCV_HWPROBE_MISALIGNED_FAST (3 << 0)
+#define RISCV_HWPROBE_MISALIGNED_UNSUPPORTED (4 << 0)
+#define RISCV_HWPROBE_MISALIGNED_MASK (7 << 0)
+#define RISCV_HWPROBE_KEY_ZICBOZ_BLOCK_SIZE 6
+#define RISCV_HWPROBE_KEY_HIGHEST_VIRT_ADDRESS 7
+#define RISCV_HWPROBE_KEY_TIME_CSR_FREQ 8
+#define RISCV_HWPROBE_KEY_MISALIGNED_SCALAR_PERF 9
+#define RISCV_HWPROBE_MISALIGNED_SCALAR_UNKNOWN 0
+#define RISCV_HWPROBE_MISALIGNED_SCALAR_EMULATED 1
+#define RISCV_HWPROBE_MISALIGNED_SCALAR_SLOW 2
+#define RISCV_HWPROBE_MISALIGNED_SCALAR_FAST 3
+#define RISCV_HWPROBE_MISALIGNED_SCALAR_UNSUPPORTED 4
+#define RISCV_HWPROBE_WHICH_CPUS (1 << 0)
+#endif
diff --git a/libc/kernel/uapi/asm-riscv/asm/ioctl.h b/libc/kernel/uapi/asm-riscv/asm/ioctl.h
index 7b7bd37..513f68c 100644
--- a/libc/kernel/uapi/asm-riscv/asm/ioctl.h
+++ b/libc/kernel/uapi/asm-riscv/asm/ioctl.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/ioctl.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/ioctls.h b/libc/kernel/uapi/asm-riscv/asm/ioctls.h
index 0c66935..0ed82e0 100644
--- a/libc/kernel/uapi/asm-riscv/asm/ioctls.h
+++ b/libc/kernel/uapi/asm-riscv/asm/ioctls.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/ioctls.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/ipcbuf.h b/libc/kernel/uapi/asm-riscv/asm/ipcbuf.h
index 0021f14..0c908bc 100644
--- a/libc/kernel/uapi/asm-riscv/asm/ipcbuf.h
+++ b/libc/kernel/uapi/asm-riscv/asm/ipcbuf.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/ipcbuf.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/kvm.h b/libc/kernel/uapi/asm-riscv/asm/kvm.h
index b49e3a0..51f4977 100644
--- a/libc/kernel/uapi/asm-riscv/asm/kvm.h
+++ b/libc/kernel/uapi/asm-riscv/asm/kvm.h
@@ -1,27 +1,16 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_KVM_RISCV_H
 #define __LINUX_KVM_RISCV_H
 #ifndef __ASSEMBLY__
 #include <linux/types.h>
+#include <asm/bitsperlong.h>
 #include <asm/ptrace.h>
-#define __KVM_HAVE_READONLY_MEM
+#define __KVM_HAVE_IRQ_LINE
 #define KVM_COALESCED_MMIO_PAGE_OFFSET 1
 #define KVM_INTERRUPT_SET - 1U
 #define KVM_INTERRUPT_UNSET - 2U
@@ -43,6 +32,8 @@
   unsigned long mvendorid;
   unsigned long marchid;
   unsigned long mimpid;
+  unsigned long zicboz_block_size;
+  unsigned long satp_mode;
 };
 struct kvm_riscv_core {
   struct user_regs_struct regs;
@@ -61,6 +52,19 @@
   unsigned long sip;
   unsigned long satp;
   unsigned long scounteren;
+  unsigned long senvcfg;
+};
+struct kvm_riscv_aia_csr {
+  unsigned long siselect;
+  unsigned long iprio1;
+  unsigned long iprio2;
+  unsigned long sieh;
+  unsigned long siph;
+  unsigned long iprio1h;
+  unsigned long iprio2h;
+};
+struct kvm_riscv_smstateen_csr {
+  unsigned long sstateen0;
 };
 struct kvm_riscv_timer {
   __u64 frequency;
@@ -81,19 +85,94 @@
   KVM_RISCV_ISA_EXT_SVINVAL,
   KVM_RISCV_ISA_EXT_ZIHINTPAUSE,
   KVM_RISCV_ISA_EXT_ZICBOM,
+  KVM_RISCV_ISA_EXT_ZICBOZ,
+  KVM_RISCV_ISA_EXT_ZBB,
+  KVM_RISCV_ISA_EXT_SSAIA,
+  KVM_RISCV_ISA_EXT_V,
+  KVM_RISCV_ISA_EXT_SVNAPOT,
+  KVM_RISCV_ISA_EXT_ZBA,
+  KVM_RISCV_ISA_EXT_ZBS,
+  KVM_RISCV_ISA_EXT_ZICNTR,
+  KVM_RISCV_ISA_EXT_ZICSR,
+  KVM_RISCV_ISA_EXT_ZIFENCEI,
+  KVM_RISCV_ISA_EXT_ZIHPM,
+  KVM_RISCV_ISA_EXT_SMSTATEEN,
+  KVM_RISCV_ISA_EXT_ZICOND,
+  KVM_RISCV_ISA_EXT_ZBC,
+  KVM_RISCV_ISA_EXT_ZBKB,
+  KVM_RISCV_ISA_EXT_ZBKC,
+  KVM_RISCV_ISA_EXT_ZBKX,
+  KVM_RISCV_ISA_EXT_ZKND,
+  KVM_RISCV_ISA_EXT_ZKNE,
+  KVM_RISCV_ISA_EXT_ZKNH,
+  KVM_RISCV_ISA_EXT_ZKR,
+  KVM_RISCV_ISA_EXT_ZKSED,
+  KVM_RISCV_ISA_EXT_ZKSH,
+  KVM_RISCV_ISA_EXT_ZKT,
+  KVM_RISCV_ISA_EXT_ZVBB,
+  KVM_RISCV_ISA_EXT_ZVBC,
+  KVM_RISCV_ISA_EXT_ZVKB,
+  KVM_RISCV_ISA_EXT_ZVKG,
+  KVM_RISCV_ISA_EXT_ZVKNED,
+  KVM_RISCV_ISA_EXT_ZVKNHA,
+  KVM_RISCV_ISA_EXT_ZVKNHB,
+  KVM_RISCV_ISA_EXT_ZVKSED,
+  KVM_RISCV_ISA_EXT_ZVKSH,
+  KVM_RISCV_ISA_EXT_ZVKT,
+  KVM_RISCV_ISA_EXT_ZFH,
+  KVM_RISCV_ISA_EXT_ZFHMIN,
+  KVM_RISCV_ISA_EXT_ZIHINTNTL,
+  KVM_RISCV_ISA_EXT_ZVFH,
+  KVM_RISCV_ISA_EXT_ZVFHMIN,
+  KVM_RISCV_ISA_EXT_ZFA,
+  KVM_RISCV_ISA_EXT_ZTSO,
+  KVM_RISCV_ISA_EXT_ZACAS,
+  KVM_RISCV_ISA_EXT_SSCOFPMF,
+  KVM_RISCV_ISA_EXT_ZIMOP,
+  KVM_RISCV_ISA_EXT_ZCA,
+  KVM_RISCV_ISA_EXT_ZCB,
+  KVM_RISCV_ISA_EXT_ZCD,
+  KVM_RISCV_ISA_EXT_ZCF,
+  KVM_RISCV_ISA_EXT_ZCMOP,
+  KVM_RISCV_ISA_EXT_ZAWRS,
   KVM_RISCV_ISA_EXT_MAX,
 };
+enum KVM_RISCV_SBI_EXT_ID {
+  KVM_RISCV_SBI_EXT_V01 = 0,
+  KVM_RISCV_SBI_EXT_TIME,
+  KVM_RISCV_SBI_EXT_IPI,
+  KVM_RISCV_SBI_EXT_RFENCE,
+  KVM_RISCV_SBI_EXT_SRST,
+  KVM_RISCV_SBI_EXT_HSM,
+  KVM_RISCV_SBI_EXT_PMU,
+  KVM_RISCV_SBI_EXT_EXPERIMENTAL,
+  KVM_RISCV_SBI_EXT_VENDOR,
+  KVM_RISCV_SBI_EXT_DBCN,
+  KVM_RISCV_SBI_EXT_STA,
+  KVM_RISCV_SBI_EXT_MAX,
+};
+struct kvm_riscv_sbi_sta {
+  unsigned long shmem_lo;
+  unsigned long shmem_hi;
+};
 #define KVM_RISCV_TIMER_STATE_OFF 0
 #define KVM_RISCV_TIMER_STATE_ON 1
 #define KVM_REG_SIZE(id) (1U << (((id) & KVM_REG_SIZE_MASK) >> KVM_REG_SIZE_SHIFT))
 #define KVM_REG_RISCV_TYPE_MASK 0x00000000FF000000
 #define KVM_REG_RISCV_TYPE_SHIFT 24
+#define KVM_REG_RISCV_SUBTYPE_MASK 0x0000000000FF0000
+#define KVM_REG_RISCV_SUBTYPE_SHIFT 16
 #define KVM_REG_RISCV_CONFIG (0x01 << KVM_REG_RISCV_TYPE_SHIFT)
 #define KVM_REG_RISCV_CONFIG_REG(name) (offsetof(struct kvm_riscv_config, name) / sizeof(unsigned long))
 #define KVM_REG_RISCV_CORE (0x02 << KVM_REG_RISCV_TYPE_SHIFT)
 #define KVM_REG_RISCV_CORE_REG(name) (offsetof(struct kvm_riscv_core, name) / sizeof(unsigned long))
 #define KVM_REG_RISCV_CSR (0x03 << KVM_REG_RISCV_TYPE_SHIFT)
+#define KVM_REG_RISCV_CSR_GENERAL (0x0 << KVM_REG_RISCV_SUBTYPE_SHIFT)
+#define KVM_REG_RISCV_CSR_AIA (0x1 << KVM_REG_RISCV_SUBTYPE_SHIFT)
+#define KVM_REG_RISCV_CSR_SMSTATEEN (0x2 << KVM_REG_RISCV_SUBTYPE_SHIFT)
 #define KVM_REG_RISCV_CSR_REG(name) (offsetof(struct kvm_riscv_csr, name) / sizeof(unsigned long))
+#define KVM_REG_RISCV_CSR_AIA_REG(name) (offsetof(struct kvm_riscv_aia_csr, name) / sizeof(unsigned long))
+#define KVM_REG_RISCV_CSR_SMSTATEEN_REG(name) (offsetof(struct kvm_riscv_smstateen_csr, name) / sizeof(unsigned long))
 #define KVM_REG_RISCV_TIMER (0x04 << KVM_REG_RISCV_TYPE_SHIFT)
 #define KVM_REG_RISCV_TIMER_REG(name) (offsetof(struct kvm_riscv_timer, name) / sizeof(__u64))
 #define KVM_REG_RISCV_FP_F (0x05 << KVM_REG_RISCV_TYPE_SHIFT)
@@ -101,5 +180,62 @@
 #define KVM_REG_RISCV_FP_D (0x06 << KVM_REG_RISCV_TYPE_SHIFT)
 #define KVM_REG_RISCV_FP_D_REG(name) (offsetof(struct __riscv_d_ext_state, name) / sizeof(__u64))
 #define KVM_REG_RISCV_ISA_EXT (0x07 << KVM_REG_RISCV_TYPE_SHIFT)
+#define KVM_REG_RISCV_ISA_SINGLE (0x0 << KVM_REG_RISCV_SUBTYPE_SHIFT)
+#define KVM_REG_RISCV_ISA_MULTI_EN (0x1 << KVM_REG_RISCV_SUBTYPE_SHIFT)
+#define KVM_REG_RISCV_ISA_MULTI_DIS (0x2 << KVM_REG_RISCV_SUBTYPE_SHIFT)
+#define KVM_REG_RISCV_ISA_MULTI_REG(__ext_id) ((__ext_id) / __BITS_PER_LONG)
+#define KVM_REG_RISCV_ISA_MULTI_MASK(__ext_id) (1UL << ((__ext_id) % __BITS_PER_LONG))
+#define KVM_REG_RISCV_ISA_MULTI_REG_LAST KVM_REG_RISCV_ISA_MULTI_REG(KVM_RISCV_ISA_EXT_MAX - 1)
+#define KVM_REG_RISCV_SBI_EXT (0x08 << KVM_REG_RISCV_TYPE_SHIFT)
+#define KVM_REG_RISCV_SBI_SINGLE (0x0 << KVM_REG_RISCV_SUBTYPE_SHIFT)
+#define KVM_REG_RISCV_SBI_MULTI_EN (0x1 << KVM_REG_RISCV_SUBTYPE_SHIFT)
+#define KVM_REG_RISCV_SBI_MULTI_DIS (0x2 << KVM_REG_RISCV_SUBTYPE_SHIFT)
+#define KVM_REG_RISCV_SBI_MULTI_REG(__ext_id) ((__ext_id) / __BITS_PER_LONG)
+#define KVM_REG_RISCV_SBI_MULTI_MASK(__ext_id) (1UL << ((__ext_id) % __BITS_PER_LONG))
+#define KVM_REG_RISCV_SBI_MULTI_REG_LAST KVM_REG_RISCV_SBI_MULTI_REG(KVM_RISCV_SBI_EXT_MAX - 1)
+#define KVM_REG_RISCV_VECTOR (0x09 << KVM_REG_RISCV_TYPE_SHIFT)
+#define KVM_REG_RISCV_VECTOR_CSR_REG(name) (offsetof(struct __riscv_v_ext_state, name) / sizeof(unsigned long))
+#define KVM_REG_RISCV_VECTOR_REG(n) ((n) + sizeof(struct __riscv_v_ext_state) / sizeof(unsigned long))
+#define KVM_REG_RISCV_SBI_STATE (0x0a << KVM_REG_RISCV_TYPE_SHIFT)
+#define KVM_REG_RISCV_SBI_STA (0x0 << KVM_REG_RISCV_SUBTYPE_SHIFT)
+#define KVM_REG_RISCV_SBI_STA_REG(name) (offsetof(struct kvm_riscv_sbi_sta, name) / sizeof(unsigned long))
+#define KVM_DEV_RISCV_APLIC_ALIGN 0x1000
+#define KVM_DEV_RISCV_APLIC_SIZE 0x4000
+#define KVM_DEV_RISCV_APLIC_MAX_HARTS 0x4000
+#define KVM_DEV_RISCV_IMSIC_ALIGN 0x1000
+#define KVM_DEV_RISCV_IMSIC_SIZE 0x1000
+#define KVM_DEV_RISCV_AIA_GRP_CONFIG 0
+#define KVM_DEV_RISCV_AIA_CONFIG_MODE 0
+#define KVM_DEV_RISCV_AIA_CONFIG_IDS 1
+#define KVM_DEV_RISCV_AIA_CONFIG_SRCS 2
+#define KVM_DEV_RISCV_AIA_CONFIG_GROUP_BITS 3
+#define KVM_DEV_RISCV_AIA_CONFIG_GROUP_SHIFT 4
+#define KVM_DEV_RISCV_AIA_CONFIG_HART_BITS 5
+#define KVM_DEV_RISCV_AIA_CONFIG_GUEST_BITS 6
+#define KVM_DEV_RISCV_AIA_MODE_EMUL 0
+#define KVM_DEV_RISCV_AIA_MODE_HWACCEL 1
+#define KVM_DEV_RISCV_AIA_MODE_AUTO 2
+#define KVM_DEV_RISCV_AIA_IDS_MIN 63
+#define KVM_DEV_RISCV_AIA_IDS_MAX 2048
+#define KVM_DEV_RISCV_AIA_SRCS_MAX 1024
+#define KVM_DEV_RISCV_AIA_GROUP_BITS_MAX 8
+#define KVM_DEV_RISCV_AIA_GROUP_SHIFT_MIN 24
+#define KVM_DEV_RISCV_AIA_GROUP_SHIFT_MAX 56
+#define KVM_DEV_RISCV_AIA_HART_BITS_MAX 16
+#define KVM_DEV_RISCV_AIA_GUEST_BITS_MAX 8
+#define KVM_DEV_RISCV_AIA_GRP_ADDR 1
+#define KVM_DEV_RISCV_AIA_ADDR_APLIC 0
+#define KVM_DEV_RISCV_AIA_ADDR_IMSIC(__vcpu) (1 + (__vcpu))
+#define KVM_DEV_RISCV_AIA_ADDR_MAX (1 + KVM_DEV_RISCV_APLIC_MAX_HARTS)
+#define KVM_DEV_RISCV_AIA_GRP_CTRL 2
+#define KVM_DEV_RISCV_AIA_CTRL_INIT 0
+#define KVM_DEV_RISCV_AIA_GRP_APLIC 3
+#define KVM_DEV_RISCV_AIA_GRP_IMSIC 4
+#define KVM_DEV_RISCV_AIA_IMSIC_ISEL_BITS 12
+#define KVM_DEV_RISCV_AIA_IMSIC_ISEL_MASK ((1U << KVM_DEV_RISCV_AIA_IMSIC_ISEL_BITS) - 1)
+#define KVM_DEV_RISCV_AIA_IMSIC_MKATTR(__vcpu,__isel) (((__vcpu) << KVM_DEV_RISCV_AIA_IMSIC_ISEL_BITS) | ((__isel) & KVM_DEV_RISCV_AIA_IMSIC_ISEL_MASK))
+#define KVM_DEV_RISCV_AIA_IMSIC_GET_ISEL(__attr) ((__attr) & KVM_DEV_RISCV_AIA_IMSIC_ISEL_MASK)
+#define KVM_DEV_RISCV_AIA_IMSIC_GET_VCPU(__attr) ((__attr) >> KVM_DEV_RISCV_AIA_IMSIC_ISEL_BITS)
+#define KVM_NR_IRQCHIPS 1
 #endif
 #endif
diff --git a/libc/kernel/uapi/asm-riscv/asm/mman.h b/libc/kernel/uapi/asm-riscv/asm/mman.h
index 6c23fb6..d6423c8 100644
--- a/libc/kernel/uapi/asm-riscv/asm/mman.h
+++ b/libc/kernel/uapi/asm-riscv/asm/mman.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/mman.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/msgbuf.h b/libc/kernel/uapi/asm-riscv/asm/msgbuf.h
index 7809e3c..7b6d8d9 100644
--- a/libc/kernel/uapi/asm-riscv/asm/msgbuf.h
+++ b/libc/kernel/uapi/asm-riscv/asm/msgbuf.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/msgbuf.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/param.h b/libc/kernel/uapi/asm-riscv/asm/param.h
index 5ccf935..f20aa34 100644
--- a/libc/kernel/uapi/asm-riscv/asm/param.h
+++ b/libc/kernel/uapi/asm-riscv/asm/param.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/param.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/perf_regs.h b/libc/kernel/uapi/asm-riscv/asm/perf_regs.h
index ceb0bbe..334e18b 100644
--- a/libc/kernel/uapi/asm-riscv/asm/perf_regs.h
+++ b/libc/kernel/uapi/asm-riscv/asm/perf_regs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_RISCV_PERF_REGS_H
 #define _ASM_RISCV_PERF_REGS_H
 enum perf_event_riscv_regs {
diff --git a/libc/kernel/uapi/asm-riscv/asm/poll.h b/libc/kernel/uapi/asm-riscv/asm/poll.h
index d7e8adc..bf92c2a 100644
--- a/libc/kernel/uapi/asm-riscv/asm/poll.h
+++ b/libc/kernel/uapi/asm-riscv/asm/poll.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/poll.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/posix_types.h b/libc/kernel/uapi/asm-riscv/asm/posix_types.h
index 1b89253..ffacc98 100644
--- a/libc/kernel/uapi/asm-riscv/asm/posix_types.h
+++ b/libc/kernel/uapi/asm-riscv/asm/posix_types.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/posix_types.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/ptrace.h b/libc/kernel/uapi/asm-riscv/asm/ptrace.h
index 94e4ac9..59ad7de 100644
--- a/libc/kernel/uapi/asm-riscv/asm/ptrace.h
+++ b/libc/kernel/uapi/asm-riscv/asm/ptrace.h
@@ -1,25 +1,16 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_RISCV_PTRACE_H
 #define _UAPI_ASM_RISCV_PTRACE_H
 #ifndef __ASSEMBLY__
 #include <linux/types.h>
+#define PTRACE_GETFDPIC 33
+#define PTRACE_GETFDPIC_EXEC 0
+#define PTRACE_GETFDPIC_INTERP 1
 struct user_regs_struct {
   unsigned long pc;
   unsigned long ra;
@@ -67,10 +58,36 @@
   __u32 fcsr;
   __u32 reserved[3];
 };
+struct __riscv_ctx_hdr {
+  __u32 magic;
+  __u32 size;
+};
+struct __riscv_extra_ext_header {
+  __u32 __padding[129] __attribute__((aligned(16)));
+  __u32 reserved;
+  struct __riscv_ctx_hdr hdr;
+};
 union __riscv_fp_state {
   struct __riscv_f_ext_state f;
   struct __riscv_d_ext_state d;
   struct __riscv_q_ext_state q;
 };
+struct __riscv_v_ext_state {
+  unsigned long vstart;
+  unsigned long vl;
+  unsigned long vtype;
+  unsigned long vcsr;
+  unsigned long vlenb;
+  void * datap;
+};
+struct __riscv_v_regset_state {
+  unsigned long vstart;
+  unsigned long vl;
+  unsigned long vtype;
+  unsigned long vcsr;
+  unsigned long vlenb;
+  char vreg[];
+};
+#define RISCV_MAX_VLENB (8192)
 #endif
 #endif
diff --git a/libc/kernel/uapi/asm-riscv/asm/resource.h b/libc/kernel/uapi/asm-riscv/asm/resource.h
index 371adb5..3ad9e62 100644
--- a/libc/kernel/uapi/asm-riscv/asm/resource.h
+++ b/libc/kernel/uapi/asm-riscv/asm/resource.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/resource.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/sembuf.h b/libc/kernel/uapi/asm-riscv/asm/sembuf.h
index 6ce6549..d4a9072 100644
--- a/libc/kernel/uapi/asm-riscv/asm/sembuf.h
+++ b/libc/kernel/uapi/asm-riscv/asm/sembuf.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/sembuf.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/setup.h b/libc/kernel/uapi/asm-riscv/asm/setup.h
index 940c4db..eafcf78 100644
--- a/libc/kernel/uapi/asm-riscv/asm/setup.h
+++ b/libc/kernel/uapi/asm-riscv/asm/setup.h
@@ -1,19 +1,10 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#include <asm-generic/setup.h>
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_ASM_RISCV_SETUP_H
+#define _UAPI_ASM_RISCV_SETUP_H
+#define COMMAND_LINE_SIZE 1024
+#endif
diff --git a/libc/kernel/uapi/asm-riscv/asm/shmbuf.h b/libc/kernel/uapi/asm-riscv/asm/shmbuf.h
index fe8b1be..9b434f6 100644
--- a/libc/kernel/uapi/asm-riscv/asm/shmbuf.h
+++ b/libc/kernel/uapi/asm-riscv/asm/shmbuf.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/shmbuf.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/sigcontext.h b/libc/kernel/uapi/asm-riscv/asm/sigcontext.h
index 0553b94..3394269 100644
--- a/libc/kernel/uapi/asm-riscv/asm/sigcontext.h
+++ b/libc/kernel/uapi/asm-riscv/asm/sigcontext.h
@@ -1,26 +1,25 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_RISCV_SIGCONTEXT_H
 #define _UAPI_ASM_RISCV_SIGCONTEXT_H
 #include <asm/ptrace.h>
+#define RISCV_V_MAGIC 0x53465457
+#define END_MAGIC 0x0
+#define END_HDR_SIZE 0x0
+#ifndef __ASSEMBLY__
+struct __sc_riscv_v_state {
+  struct __riscv_v_ext_state v_state;
+} __attribute__((aligned(16)));
 struct sigcontext {
   struct user_regs_struct sc_regs;
-  union __riscv_fp_state sc_fpregs;
+  union {
+    union __riscv_fp_state sc_fpregs;
+    struct __riscv_extra_ext_header sc_extdesc;
+  };
 };
 #endif
+#endif
diff --git a/libc/kernel/uapi/asm-riscv/asm/siginfo.h b/libc/kernel/uapi/asm-riscv/asm/siginfo.h
index a31ebb2..8f5921e 100644
--- a/libc/kernel/uapi/asm-riscv/asm/siginfo.h
+++ b/libc/kernel/uapi/asm-riscv/asm/siginfo.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/siginfo.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/signal.h b/libc/kernel/uapi/asm-riscv/asm/signal.h
index 64373fe..f536822 100644
--- a/libc/kernel/uapi/asm-riscv/asm/signal.h
+++ b/libc/kernel/uapi/asm-riscv/asm/signal.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/signal.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/socket.h b/libc/kernel/uapi/asm-riscv/asm/socket.h
index 50a9874..2ca3e45 100644
--- a/libc/kernel/uapi/asm-riscv/asm/socket.h
+++ b/libc/kernel/uapi/asm-riscv/asm/socket.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/socket.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/sockios.h b/libc/kernel/uapi/asm-riscv/asm/sockios.h
index 710db92..5aba663 100644
--- a/libc/kernel/uapi/asm-riscv/asm/sockios.h
+++ b/libc/kernel/uapi/asm-riscv/asm/sockios.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/sockios.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/stat.h b/libc/kernel/uapi/asm-riscv/asm/stat.h
index af7ebfc..6a514d3 100644
--- a/libc/kernel/uapi/asm-riscv/asm/stat.h
+++ b/libc/kernel/uapi/asm-riscv/asm/stat.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/stat.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/statfs.h b/libc/kernel/uapi/asm-riscv/asm/statfs.h
index 93de275..1a16d4b 100644
--- a/libc/kernel/uapi/asm-riscv/asm/statfs.h
+++ b/libc/kernel/uapi/asm-riscv/asm/statfs.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/statfs.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/swab.h b/libc/kernel/uapi/asm-riscv/asm/swab.h
index 0049f53..f7781b7 100644
--- a/libc/kernel/uapi/asm-riscv/asm/swab.h
+++ b/libc/kernel/uapi/asm-riscv/asm/swab.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/swab.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/termbits.h b/libc/kernel/uapi/asm-riscv/asm/termbits.h
index 42af6fe..e943da3 100644
--- a/libc/kernel/uapi/asm-riscv/asm/termbits.h
+++ b/libc/kernel/uapi/asm-riscv/asm/termbits.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/termbits.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/termios.h b/libc/kernel/uapi/asm-riscv/asm/termios.h
index feca4c6..3ae8ca2 100644
--- a/libc/kernel/uapi/asm-riscv/asm/termios.h
+++ b/libc/kernel/uapi/asm-riscv/asm/termios.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/termios.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/types.h b/libc/kernel/uapi/asm-riscv/asm/types.h
index 8250f43..a030be8 100644
--- a/libc/kernel/uapi/asm-riscv/asm/types.h
+++ b/libc/kernel/uapi/asm-riscv/asm/types.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/types.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/ucontext.h b/libc/kernel/uapi/asm-riscv/asm/ucontext.h
index 8b72cc1..ffe587e 100644
--- a/libc/kernel/uapi/asm-riscv/asm/ucontext.h
+++ b/libc/kernel/uapi/asm-riscv/asm/ucontext.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_RISCV_UCONTEXT_H
 #define _UAPI_ASM_RISCV_UCONTEXT_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/asm-riscv/asm/unistd.h b/libc/kernel/uapi/asm-riscv/asm/unistd.h
index 665b820..f395f71 100644
--- a/libc/kernel/uapi/asm-riscv/asm/unistd.h
+++ b/libc/kernel/uapi/asm-riscv/asm/unistd.h
@@ -1,29 +1,12 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#if defined(__LP64__) && !defined(__SYSCALL_COMPAT)
-#define __ARCH_WANT_NEW_STAT
-#define __ARCH_WANT_SET_GET_RLIMIT
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#include <asm/bitsperlong.h>
+#if __BITS_PER_LONG == 64
+#include <asm/unistd_64.h>
+#else
+#include <asm/unistd_32.h>
 #endif
-#define __ARCH_WANT_SYS_CLONE3
-#define __ARCH_WANT_MEMFD_SECRET
-#include <asm-generic/unistd.h>
-#ifndef __NR_riscv_flush_icache
-#define __NR_riscv_flush_icache (__NR_arch_specific_syscall + 15)
-#endif
-__SYSCALL(__NR_riscv_flush_icache, sys_riscv_flush_icache)
diff --git a/libc/kernel/uapi/asm-riscv/asm/unistd_32.h b/libc/kernel/uapi/asm-riscv/asm/unistd_32.h
new file mode 100644
index 0000000..864a556
--- /dev/null
+++ b/libc/kernel/uapi/asm-riscv/asm/unistd_32.h
@@ -0,0 +1,318 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_ASM_UNISTD_32_H
+#define _UAPI_ASM_UNISTD_32_H
+#define __NR_io_setup 0
+#define __NR_io_destroy 1
+#define __NR_io_submit 2
+#define __NR_io_cancel 3
+#define __NR_setxattr 5
+#define __NR_lsetxattr 6
+#define __NR_fsetxattr 7
+#define __NR_getxattr 8
+#define __NR_lgetxattr 9
+#define __NR_fgetxattr 10
+#define __NR_listxattr 11
+#define __NR_llistxattr 12
+#define __NR_flistxattr 13
+#define __NR_removexattr 14
+#define __NR_lremovexattr 15
+#define __NR_fremovexattr 16
+#define __NR_getcwd 17
+#define __NR_lookup_dcookie 18
+#define __NR_eventfd2 19
+#define __NR_epoll_create1 20
+#define __NR_epoll_ctl 21
+#define __NR_epoll_pwait 22
+#define __NR_dup 23
+#define __NR_dup3 24
+#define __NR_fcntl64 25
+#define __NR_inotify_init1 26
+#define __NR_inotify_add_watch 27
+#define __NR_inotify_rm_watch 28
+#define __NR_ioctl 29
+#define __NR_ioprio_set 30
+#define __NR_ioprio_get 31
+#define __NR_flock 32
+#define __NR_mknodat 33
+#define __NR_mkdirat 34
+#define __NR_unlinkat 35
+#define __NR_symlinkat 36
+#define __NR_linkat 37
+#define __NR_umount2 39
+#define __NR_mount 40
+#define __NR_pivot_root 41
+#define __NR_nfsservctl 42
+#define __NR_statfs64 43
+#define __NR_fstatfs64 44
+#define __NR_truncate64 45
+#define __NR_ftruncate64 46
+#define __NR_fallocate 47
+#define __NR_faccessat 48
+#define __NR_chdir 49
+#define __NR_fchdir 50
+#define __NR_chroot 51
+#define __NR_fchmod 52
+#define __NR_fchmodat 53
+#define __NR_fchownat 54
+#define __NR_fchown 55
+#define __NR_openat 56
+#define __NR_close 57
+#define __NR_vhangup 58
+#define __NR_pipe2 59
+#define __NR_quotactl 60
+#define __NR_getdents64 61
+#define __NR_llseek 62
+#define __NR_read 63
+#define __NR_write 64
+#define __NR_readv 65
+#define __NR_writev 66
+#define __NR_pread64 67
+#define __NR_pwrite64 68
+#define __NR_preadv 69
+#define __NR_pwritev 70
+#define __NR_sendfile64 71
+#define __NR_signalfd4 74
+#define __NR_vmsplice 75
+#define __NR_splice 76
+#define __NR_tee 77
+#define __NR_readlinkat 78
+#define __NR_sync 81
+#define __NR_fsync 82
+#define __NR_fdatasync 83
+#define __NR_sync_file_range 84
+#define __NR_timerfd_create 85
+#define __NR_acct 89
+#define __NR_capget 90
+#define __NR_capset 91
+#define __NR_personality 92
+#define __NR_exit 93
+#define __NR_exit_group 94
+#define __NR_waitid 95
+#define __NR_set_tid_address 96
+#define __NR_unshare 97
+#define __NR_set_robust_list 99
+#define __NR_get_robust_list 100
+#define __NR_getitimer 102
+#define __NR_setitimer 103
+#define __NR_kexec_load 104
+#define __NR_init_module 105
+#define __NR_delete_module 106
+#define __NR_timer_create 107
+#define __NR_timer_getoverrun 109
+#define __NR_timer_delete 111
+#define __NR_syslog 116
+#define __NR_ptrace 117
+#define __NR_sched_setparam 118
+#define __NR_sched_setscheduler 119
+#define __NR_sched_getscheduler 120
+#define __NR_sched_getparam 121
+#define __NR_sched_setaffinity 122
+#define __NR_sched_getaffinity 123
+#define __NR_sched_yield 124
+#define __NR_sched_get_priority_max 125
+#define __NR_sched_get_priority_min 126
+#define __NR_restart_syscall 128
+#define __NR_kill 129
+#define __NR_tkill 130
+#define __NR_tgkill 131
+#define __NR_sigaltstack 132
+#define __NR_rt_sigsuspend 133
+#define __NR_rt_sigaction 134
+#define __NR_rt_sigprocmask 135
+#define __NR_rt_sigpending 136
+#define __NR_rt_sigqueueinfo 138
+#define __NR_rt_sigreturn 139
+#define __NR_setpriority 140
+#define __NR_getpriority 141
+#define __NR_reboot 142
+#define __NR_setregid 143
+#define __NR_setgid 144
+#define __NR_setreuid 145
+#define __NR_setuid 146
+#define __NR_setresuid 147
+#define __NR_getresuid 148
+#define __NR_setresgid 149
+#define __NR_getresgid 150
+#define __NR_setfsuid 151
+#define __NR_setfsgid 152
+#define __NR_times 153
+#define __NR_setpgid 154
+#define __NR_getpgid 155
+#define __NR_getsid 156
+#define __NR_setsid 157
+#define __NR_getgroups 158
+#define __NR_setgroups 159
+#define __NR_uname 160
+#define __NR_sethostname 161
+#define __NR_setdomainname 162
+#define __NR_getrusage 165
+#define __NR_umask 166
+#define __NR_prctl 167
+#define __NR_getcpu 168
+#define __NR_getpid 172
+#define __NR_getppid 173
+#define __NR_getuid 174
+#define __NR_geteuid 175
+#define __NR_getgid 176
+#define __NR_getegid 177
+#define __NR_gettid 178
+#define __NR_sysinfo 179
+#define __NR_mq_open 180
+#define __NR_mq_unlink 181
+#define __NR_mq_notify 184
+#define __NR_mq_getsetattr 185
+#define __NR_msgget 186
+#define __NR_msgctl 187
+#define __NR_msgrcv 188
+#define __NR_msgsnd 189
+#define __NR_semget 190
+#define __NR_semctl 191
+#define __NR_semop 193
+#define __NR_shmget 194
+#define __NR_shmctl 195
+#define __NR_shmat 196
+#define __NR_shmdt 197
+#define __NR_socket 198
+#define __NR_socketpair 199
+#define __NR_bind 200
+#define __NR_listen 201
+#define __NR_accept 202
+#define __NR_connect 203
+#define __NR_getsockname 204
+#define __NR_getpeername 205
+#define __NR_sendto 206
+#define __NR_recvfrom 207
+#define __NR_setsockopt 208
+#define __NR_getsockopt 209
+#define __NR_shutdown 210
+#define __NR_sendmsg 211
+#define __NR_recvmsg 212
+#define __NR_readahead 213
+#define __NR_brk 214
+#define __NR_munmap 215
+#define __NR_mremap 216
+#define __NR_add_key 217
+#define __NR_request_key 218
+#define __NR_keyctl 219
+#define __NR_clone 220
+#define __NR_execve 221
+#define __NR_mmap2 222
+#define __NR_fadvise64_64 223
+#define __NR_swapon 224
+#define __NR_swapoff 225
+#define __NR_mprotect 226
+#define __NR_msync 227
+#define __NR_mlock 228
+#define __NR_munlock 229
+#define __NR_mlockall 230
+#define __NR_munlockall 231
+#define __NR_mincore 232
+#define __NR_madvise 233
+#define __NR_remap_file_pages 234
+#define __NR_mbind 235
+#define __NR_get_mempolicy 236
+#define __NR_set_mempolicy 237
+#define __NR_migrate_pages 238
+#define __NR_move_pages 239
+#define __NR_rt_tgsigqueueinfo 240
+#define __NR_perf_event_open 241
+#define __NR_accept4 242
+#define __NR_riscv_hwprobe 258
+#define __NR_riscv_flush_icache 259
+#define __NR_prlimit64 261
+#define __NR_fanotify_init 262
+#define __NR_fanotify_mark 263
+#define __NR_name_to_handle_at 264
+#define __NR_open_by_handle_at 265
+#define __NR_syncfs 267
+#define __NR_setns 268
+#define __NR_sendmmsg 269
+#define __NR_process_vm_readv 270
+#define __NR_process_vm_writev 271
+#define __NR_kcmp 272
+#define __NR_finit_module 273
+#define __NR_sched_setattr 274
+#define __NR_sched_getattr 275
+#define __NR_renameat2 276
+#define __NR_seccomp 277
+#define __NR_getrandom 278
+#define __NR_memfd_create 279
+#define __NR_bpf 280
+#define __NR_execveat 281
+#define __NR_userfaultfd 282
+#define __NR_membarrier 283
+#define __NR_mlock2 284
+#define __NR_copy_file_range 285
+#define __NR_preadv2 286
+#define __NR_pwritev2 287
+#define __NR_pkey_mprotect 288
+#define __NR_pkey_alloc 289
+#define __NR_pkey_free 290
+#define __NR_statx 291
+#define __NR_rseq 293
+#define __NR_kexec_file_load 294
+#define __NR_clock_gettime64 403
+#define __NR_clock_settime64 404
+#define __NR_clock_adjtime64 405
+#define __NR_clock_getres_time64 406
+#define __NR_clock_nanosleep_time64 407
+#define __NR_timer_gettime64 408
+#define __NR_timer_settime64 409
+#define __NR_timerfd_gettime64 410
+#define __NR_timerfd_settime64 411
+#define __NR_utimensat_time64 412
+#define __NR_pselect6_time64 413
+#define __NR_ppoll_time64 414
+#define __NR_io_pgetevents_time64 416
+#define __NR_recvmmsg_time64 417
+#define __NR_mq_timedsend_time64 418
+#define __NR_mq_timedreceive_time64 419
+#define __NR_semtimedop_time64 420
+#define __NR_rt_sigtimedwait_time64 421
+#define __NR_futex_time64 422
+#define __NR_sched_rr_get_interval_time64 423
+#define __NR_pidfd_send_signal 424
+#define __NR_io_uring_setup 425
+#define __NR_io_uring_enter 426
+#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
+#define __NR_pidfd_open 434
+#define __NR_clone3 435
+#define __NR_close_range 436
+#define __NR_openat2 437
+#define __NR_pidfd_getfd 438
+#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_quotactl_fd 443
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
+#define __NR_memfd_secret 447
+#define __NR_process_mrelease 448
+#define __NR_futex_waitv 449
+#define __NR_set_mempolicy_home_node 450
+#define __NR_cachestat 451
+#define __NR_fchmodat2 452
+#define __NR_map_shadow_stack 453
+#define __NR_futex_wake 454
+#define __NR_futex_wait 455
+#define __NR_futex_requeue 456
+#define __NR_statmount 457
+#define __NR_listmount 458
+#define __NR_lsm_get_self_attr 459
+#define __NR_lsm_set_self_attr 460
+#define __NR_lsm_list_modules 461
+#define __NR_mseal 462
+#endif
diff --git a/libc/kernel/uapi/asm-riscv/asm/unistd_64.h b/libc/kernel/uapi/asm-riscv/asm/unistd_64.h
new file mode 100644
index 0000000..f15b65b
--- /dev/null
+++ b/libc/kernel/uapi/asm-riscv/asm/unistd_64.h
@@ -0,0 +1,328 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_ASM_UNISTD_64_H
+#define _UAPI_ASM_UNISTD_64_H
+#define __NR_io_setup 0
+#define __NR_io_destroy 1
+#define __NR_io_submit 2
+#define __NR_io_cancel 3
+#define __NR_io_getevents 4
+#define __NR_setxattr 5
+#define __NR_lsetxattr 6
+#define __NR_fsetxattr 7
+#define __NR_getxattr 8
+#define __NR_lgetxattr 9
+#define __NR_fgetxattr 10
+#define __NR_listxattr 11
+#define __NR_llistxattr 12
+#define __NR_flistxattr 13
+#define __NR_removexattr 14
+#define __NR_lremovexattr 15
+#define __NR_fremovexattr 16
+#define __NR_getcwd 17
+#define __NR_lookup_dcookie 18
+#define __NR_eventfd2 19
+#define __NR_epoll_create1 20
+#define __NR_epoll_ctl 21
+#define __NR_epoll_pwait 22
+#define __NR_dup 23
+#define __NR_dup3 24
+#define __NR_fcntl 25
+#define __NR_inotify_init1 26
+#define __NR_inotify_add_watch 27
+#define __NR_inotify_rm_watch 28
+#define __NR_ioctl 29
+#define __NR_ioprio_set 30
+#define __NR_ioprio_get 31
+#define __NR_flock 32
+#define __NR_mknodat 33
+#define __NR_mkdirat 34
+#define __NR_unlinkat 35
+#define __NR_symlinkat 36
+#define __NR_linkat 37
+#define __NR_umount2 39
+#define __NR_mount 40
+#define __NR_pivot_root 41
+#define __NR_nfsservctl 42
+#define __NR_statfs 43
+#define __NR_fstatfs 44
+#define __NR_truncate 45
+#define __NR_ftruncate 46
+#define __NR_fallocate 47
+#define __NR_faccessat 48
+#define __NR_chdir 49
+#define __NR_fchdir 50
+#define __NR_chroot 51
+#define __NR_fchmod 52
+#define __NR_fchmodat 53
+#define __NR_fchownat 54
+#define __NR_fchown 55
+#define __NR_openat 56
+#define __NR_close 57
+#define __NR_vhangup 58
+#define __NR_pipe2 59
+#define __NR_quotactl 60
+#define __NR_getdents64 61
+#define __NR_lseek 62
+#define __NR_read 63
+#define __NR_write 64
+#define __NR_readv 65
+#define __NR_writev 66
+#define __NR_pread64 67
+#define __NR_pwrite64 68
+#define __NR_preadv 69
+#define __NR_pwritev 70
+#define __NR_sendfile 71
+#define __NR_pselect6 72
+#define __NR_ppoll 73
+#define __NR_signalfd4 74
+#define __NR_vmsplice 75
+#define __NR_splice 76
+#define __NR_tee 77
+#define __NR_readlinkat 78
+#define __NR_newfstatat 79
+#define __NR_fstat 80
+#define __NR_sync 81
+#define __NR_fsync 82
+#define __NR_fdatasync 83
+#define __NR_sync_file_range 84
+#define __NR_timerfd_create 85
+#define __NR_timerfd_settime 86
+#define __NR_timerfd_gettime 87
+#define __NR_utimensat 88
+#define __NR_acct 89
+#define __NR_capget 90
+#define __NR_capset 91
+#define __NR_personality 92
+#define __NR_exit 93
+#define __NR_exit_group 94
+#define __NR_waitid 95
+#define __NR_set_tid_address 96
+#define __NR_unshare 97
+#define __NR_futex 98
+#define __NR_set_robust_list 99
+#define __NR_get_robust_list 100
+#define __NR_nanosleep 101
+#define __NR_getitimer 102
+#define __NR_setitimer 103
+#define __NR_kexec_load 104
+#define __NR_init_module 105
+#define __NR_delete_module 106
+#define __NR_timer_create 107
+#define __NR_timer_gettime 108
+#define __NR_timer_getoverrun 109
+#define __NR_timer_settime 110
+#define __NR_timer_delete 111
+#define __NR_clock_settime 112
+#define __NR_clock_gettime 113
+#define __NR_clock_getres 114
+#define __NR_clock_nanosleep 115
+#define __NR_syslog 116
+#define __NR_ptrace 117
+#define __NR_sched_setparam 118
+#define __NR_sched_setscheduler 119
+#define __NR_sched_getscheduler 120
+#define __NR_sched_getparam 121
+#define __NR_sched_setaffinity 122
+#define __NR_sched_getaffinity 123
+#define __NR_sched_yield 124
+#define __NR_sched_get_priority_max 125
+#define __NR_sched_get_priority_min 126
+#define __NR_sched_rr_get_interval 127
+#define __NR_restart_syscall 128
+#define __NR_kill 129
+#define __NR_tkill 130
+#define __NR_tgkill 131
+#define __NR_sigaltstack 132
+#define __NR_rt_sigsuspend 133
+#define __NR_rt_sigaction 134
+#define __NR_rt_sigprocmask 135
+#define __NR_rt_sigpending 136
+#define __NR_rt_sigtimedwait 137
+#define __NR_rt_sigqueueinfo 138
+#define __NR_rt_sigreturn 139
+#define __NR_setpriority 140
+#define __NR_getpriority 141
+#define __NR_reboot 142
+#define __NR_setregid 143
+#define __NR_setgid 144
+#define __NR_setreuid 145
+#define __NR_setuid 146
+#define __NR_setresuid 147
+#define __NR_getresuid 148
+#define __NR_setresgid 149
+#define __NR_getresgid 150
+#define __NR_setfsuid 151
+#define __NR_setfsgid 152
+#define __NR_times 153
+#define __NR_setpgid 154
+#define __NR_getpgid 155
+#define __NR_getsid 156
+#define __NR_setsid 157
+#define __NR_getgroups 158
+#define __NR_setgroups 159
+#define __NR_uname 160
+#define __NR_sethostname 161
+#define __NR_setdomainname 162
+#define __NR_getrlimit 163
+#define __NR_setrlimit 164
+#define __NR_getrusage 165
+#define __NR_umask 166
+#define __NR_prctl 167
+#define __NR_getcpu 168
+#define __NR_gettimeofday 169
+#define __NR_settimeofday 170
+#define __NR_adjtimex 171
+#define __NR_getpid 172
+#define __NR_getppid 173
+#define __NR_getuid 174
+#define __NR_geteuid 175
+#define __NR_getgid 176
+#define __NR_getegid 177
+#define __NR_gettid 178
+#define __NR_sysinfo 179
+#define __NR_mq_open 180
+#define __NR_mq_unlink 181
+#define __NR_mq_timedsend 182
+#define __NR_mq_timedreceive 183
+#define __NR_mq_notify 184
+#define __NR_mq_getsetattr 185
+#define __NR_msgget 186
+#define __NR_msgctl 187
+#define __NR_msgrcv 188
+#define __NR_msgsnd 189
+#define __NR_semget 190
+#define __NR_semctl 191
+#define __NR_semtimedop 192
+#define __NR_semop 193
+#define __NR_shmget 194
+#define __NR_shmctl 195
+#define __NR_shmat 196
+#define __NR_shmdt 197
+#define __NR_socket 198
+#define __NR_socketpair 199
+#define __NR_bind 200
+#define __NR_listen 201
+#define __NR_accept 202
+#define __NR_connect 203
+#define __NR_getsockname 204
+#define __NR_getpeername 205
+#define __NR_sendto 206
+#define __NR_recvfrom 207
+#define __NR_setsockopt 208
+#define __NR_getsockopt 209
+#define __NR_shutdown 210
+#define __NR_sendmsg 211
+#define __NR_recvmsg 212
+#define __NR_readahead 213
+#define __NR_brk 214
+#define __NR_munmap 215
+#define __NR_mremap 216
+#define __NR_add_key 217
+#define __NR_request_key 218
+#define __NR_keyctl 219
+#define __NR_clone 220
+#define __NR_execve 221
+#define __NR_mmap 222
+#define __NR_fadvise64 223
+#define __NR_swapon 224
+#define __NR_swapoff 225
+#define __NR_mprotect 226
+#define __NR_msync 227
+#define __NR_mlock 228
+#define __NR_munlock 229
+#define __NR_mlockall 230
+#define __NR_munlockall 231
+#define __NR_mincore 232
+#define __NR_madvise 233
+#define __NR_remap_file_pages 234
+#define __NR_mbind 235
+#define __NR_get_mempolicy 236
+#define __NR_set_mempolicy 237
+#define __NR_migrate_pages 238
+#define __NR_move_pages 239
+#define __NR_rt_tgsigqueueinfo 240
+#define __NR_perf_event_open 241
+#define __NR_accept4 242
+#define __NR_recvmmsg 243
+#define __NR_riscv_hwprobe 258
+#define __NR_riscv_flush_icache 259
+#define __NR_wait4 260
+#define __NR_prlimit64 261
+#define __NR_fanotify_init 262
+#define __NR_fanotify_mark 263
+#define __NR_name_to_handle_at 264
+#define __NR_open_by_handle_at 265
+#define __NR_clock_adjtime 266
+#define __NR_syncfs 267
+#define __NR_setns 268
+#define __NR_sendmmsg 269
+#define __NR_process_vm_readv 270
+#define __NR_process_vm_writev 271
+#define __NR_kcmp 272
+#define __NR_finit_module 273
+#define __NR_sched_setattr 274
+#define __NR_sched_getattr 275
+#define __NR_renameat2 276
+#define __NR_seccomp 277
+#define __NR_getrandom 278
+#define __NR_memfd_create 279
+#define __NR_bpf 280
+#define __NR_execveat 281
+#define __NR_userfaultfd 282
+#define __NR_membarrier 283
+#define __NR_mlock2 284
+#define __NR_copy_file_range 285
+#define __NR_preadv2 286
+#define __NR_pwritev2 287
+#define __NR_pkey_mprotect 288
+#define __NR_pkey_alloc 289
+#define __NR_pkey_free 290
+#define __NR_statx 291
+#define __NR_io_pgetevents 292
+#define __NR_rseq 293
+#define __NR_kexec_file_load 294
+#define __NR_pidfd_send_signal 424
+#define __NR_io_uring_setup 425
+#define __NR_io_uring_enter 426
+#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
+#define __NR_pidfd_open 434
+#define __NR_clone3 435
+#define __NR_close_range 436
+#define __NR_openat2 437
+#define __NR_pidfd_getfd 438
+#define __NR_faccessat2 439
+#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
+#define __NR_quotactl_fd 443
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
+#define __NR_memfd_secret 447
+#define __NR_process_mrelease 448
+#define __NR_futex_waitv 449
+#define __NR_set_mempolicy_home_node 450
+#define __NR_cachestat 451
+#define __NR_fchmodat2 452
+#define __NR_map_shadow_stack 453
+#define __NR_futex_wake 454
+#define __NR_futex_wait 455
+#define __NR_futex_requeue 456
+#define __NR_statmount 457
+#define __NR_listmount 458
+#define __NR_lsm_get_self_attr 459
+#define __NR_lsm_set_self_attr 460
+#define __NR_lsm_list_modules 461
+#define __NR_mseal 462
+#endif
diff --git a/libc/kernel/uapi/asm-x86/asm/a.out.h b/libc/kernel/uapi/asm-x86/asm/a.out.h
index 3a1b845..7d45774 100644
--- a/libc/kernel/uapi/asm-x86/asm/a.out.h
+++ b/libc/kernel/uapi/asm-x86/asm/a.out.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_A_OUT_H
 #define _ASM_X86_A_OUT_H
 struct exec {
diff --git a/libc/kernel/uapi/asm-x86/asm/amd_hsmp.h b/libc/kernel/uapi/asm-x86/asm/amd_hsmp.h
index c026aac..0d630bf 100644
--- a/libc/kernel/uapi/asm-x86/asm/amd_hsmp.h
+++ b/libc/kernel/uapi/asm-x86/asm/amd_hsmp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_X86_AMD_HSMP_H_
 #define _UAPI_ASM_X86_AMD_HSMP_H_
 #include <linux/types.h>
@@ -56,6 +44,9 @@
   HSMP_SET_PCI_RATE,
   HSMP_SET_POWER_MODE,
   HSMP_SET_PSTATE_MAX_MIN,
+  HSMP_GET_METRIC_TABLE_VER,
+  HSMP_GET_METRIC_TABLE,
+  HSMP_GET_METRIC_TABLE_DRAM_ADDR,
   HSMP_MSG_ID_MAX,
 };
 struct hsmp_message {
@@ -70,6 +61,13 @@
   HSMP_SET = 0,
   HSMP_GET = 1,
 };
+enum hsmp_proto_versions {
+  HSMP_PROTO_VER2 = 2,
+  HSMP_PROTO_VER3,
+  HSMP_PROTO_VER4,
+  HSMP_PROTO_VER5,
+  HSMP_PROTO_VER6
+};
 struct hsmp_msg_desc {
   int num_args;
   int response_sz;
@@ -181,8 +179,77 @@
  , {
     1, 0, HSMP_SET
   }
+ , {
+    0, 1, HSMP_GET
+  }
+ , {
+    0, 0, HSMP_GET
+  }
+ , {
+    0, 2, HSMP_GET
+  }
  ,
 };
+struct hsmp_metric_table {
+  __u32 accumulation_counter;
+  __u32 max_socket_temperature;
+  __u32 max_vr_temperature;
+  __u32 max_hbm_temperature;
+  __u64 max_socket_temperature_acc;
+  __u64 max_vr_temperature_acc;
+  __u64 max_hbm_temperature_acc;
+  __u32 socket_power_limit;
+  __u32 max_socket_power_limit;
+  __u32 socket_power;
+  __u64 timestamp;
+  __u64 socket_energy_acc;
+  __u64 ccd_energy_acc;
+  __u64 xcd_energy_acc;
+  __u64 aid_energy_acc;
+  __u64 hbm_energy_acc;
+  __u32 cclk_frequency_limit;
+  __u32 gfxclk_frequency_limit;
+  __u32 fclk_frequency;
+  __u32 uclk_frequency;
+  __u32 socclk_frequency[4];
+  __u32 vclk_frequency[4];
+  __u32 dclk_frequency[4];
+  __u32 lclk_frequency[4];
+  __u64 gfxclk_frequency_acc[8];
+  __u64 cclk_frequency_acc[96];
+  __u32 max_cclk_frequency;
+  __u32 min_cclk_frequency;
+  __u32 max_gfxclk_frequency;
+  __u32 min_gfxclk_frequency;
+  __u32 fclk_frequency_table[4];
+  __u32 uclk_frequency_table[4];
+  __u32 socclk_frequency_table[4];
+  __u32 vclk_frequency_table[4];
+  __u32 dclk_frequency_table[4];
+  __u32 lclk_frequency_table[4];
+  __u32 max_lclk_dpm_range;
+  __u32 min_lclk_dpm_range;
+  __u32 xgmi_width;
+  __u32 xgmi_bitrate;
+  __u64 xgmi_read_bandwidth_acc[8];
+  __u64 xgmi_write_bandwidth_acc[8];
+  __u32 socket_c0_residency;
+  __u32 socket_gfx_busy;
+  __u32 dram_bandwidth_utilization;
+  __u64 socket_c0_residency_acc;
+  __u64 socket_gfx_busy_acc;
+  __u64 dram_bandwidth_acc;
+  __u32 max_dram_bandwidth;
+  __u64 dram_bandwidth_utilization_acc;
+  __u64 pcie_bandwidth_acc[4];
+  __u32 prochot_residency_acc;
+  __u32 ppt_residency_acc;
+  __u32 socket_thm_residency_acc;
+  __u32 vr_thm_residency_acc;
+  __u32 hbm_thm_residency_acc;
+  __u32 spare;
+  __u32 gfxclk_frequency[8];
+};
 #pragma pack()
 #define HSMP_BASE_IOCTL_NR 0xF8
 #define HSMP_IOCTL_CMD _IOWR(HSMP_BASE_IOCTL_NR, 0, struct hsmp_message)
diff --git a/libc/kernel/uapi/asm-x86/asm/auxvec.h b/libc/kernel/uapi/asm-x86/asm/auxvec.h
index dd86783..8496aaf 100644
--- a/libc/kernel/uapi/asm-x86/asm/auxvec.h
+++ b/libc/kernel/uapi/asm-x86/asm/auxvec.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_AUXVEC_H
 #define _ASM_X86_AUXVEC_H
 #ifdef __i386__
diff --git a/libc/kernel/uapi/asm-x86/asm/bitsperlong.h b/libc/kernel/uapi/asm-x86/asm/bitsperlong.h
index 7eca377..e5df11c 100644
--- a/libc/kernel/uapi/asm-x86/asm/bitsperlong.h
+++ b/libc/kernel/uapi/asm-x86/asm/bitsperlong.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_X86_BITSPERLONG_H
 #define __ASM_X86_BITSPERLONG_H
 #if defined(__x86_64__) && !defined(__ILP32__)
diff --git a/libc/kernel/uapi/asm-x86/asm/boot.h b/libc/kernel/uapi/asm-x86/asm/boot.h
index 7cbb691..cc63c47 100644
--- a/libc/kernel/uapi/asm-x86/asm/boot.h
+++ b/libc/kernel/uapi/asm-x86/asm/boot.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_X86_BOOT_H
 #define _UAPI_ASM_X86_BOOT_H
 #define NORMAL_VGA 0xffff
diff --git a/libc/kernel/uapi/asm-x86/asm/bootparam.h b/libc/kernel/uapi/asm-x86/asm/bootparam.h
index ab9d7f3..6a4b59c 100644
--- a/libc/kernel/uapi/asm-x86/asm/bootparam.h
+++ b/libc/kernel/uapi/asm-x86/asm/bootparam.h
@@ -1,36 +1,12 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_BOOTPARAM_H
 #define _ASM_X86_BOOTPARAM_H
-#define SETUP_NONE 0
-#define SETUP_E820_EXT 1
-#define SETUP_DTB 2
-#define SETUP_PCI 3
-#define SETUP_EFI 4
-#define SETUP_APPLE_PROPERTIES 5
-#define SETUP_JAILHOUSE 6
-#define SETUP_CC_BLOB 7
-#define SETUP_IMA 8
-#define SETUP_RNG_SEED 9
-#define SETUP_ENUM_MAX SETUP_RNG_SEED
-#define SETUP_INDIRECT (1 << 31)
-#define SETUP_TYPE_MAX (SETUP_ENUM_MAX | SETUP_INDIRECT)
+#include <asm/setup_data.h>
 #define RAMDISK_IMAGE_START_MASK 0x07FF
 #define RAMDISK_PROMPT_FLAG 0x8000
 #define RAMDISK_LOAD_FLAG 0x4000
@@ -46,6 +22,7 @@
 #define XLF_EFI_KEXEC (1 << 4)
 #define XLF_5LEVEL (1 << 5)
 #define XLF_5LEVEL_ENABLED (1 << 6)
+#define XLF_MEM_ENCRYPTION (1 << 7)
 #ifndef __ASSEMBLY__
 #include <linux/types.h>
 #include <linux/screen_info.h>
@@ -53,18 +30,6 @@
 #include <linux/edd.h>
 #include <asm/ist.h>
 #include <video/edid.h>
-struct setup_data {
-  __u64 next;
-  __u32 type;
-  __u32 len;
-  __u8 data[];
-};
-struct setup_indirect {
-  __u32 type;
-  __u32 reserved;
-  __u64 len;
-  __u64 addr;
-};
 struct setup_header {
   __u8 setup_sects;
   __u16 root_flags;
@@ -127,34 +92,7 @@
   __u32 efi_memmap_hi;
 };
 #define E820_MAX_ENTRIES_ZEROPAGE 128
-struct boot_e820_entry {
-  __u64 addr;
-  __u64 size;
-  __u32 type;
-} __attribute__((packed));
 #define JAILHOUSE_SETUP_REQUIRED_VERSION 1
-struct jailhouse_setup_data {
-  struct {
-    __u16 version;
-    __u16 compatible_version;
-  } __attribute__((packed)) hdr;
-  struct {
-    __u16 pm_timer_address;
-    __u16 num_cpus;
-    __u64 pci_mmconfig_base;
-    __u32 tsc_khz;
-    __u32 apic_khz;
-    __u8 standard_ioapic;
-    __u8 cpu_ids[255];
-  } __attribute__((packed)) v1;
-  struct {
-    __u32 flags;
-  } __attribute__((packed)) v2;
-} __attribute__((packed));
-struct ima_setup_data {
-  __u64 addr;
-  __u64 size;
-} __attribute__((packed));
 struct boot_params {
   struct screen_info screen_info;
   struct apm_bios_info apm_bios_info;
diff --git a/libc/kernel/uapi/asm-x86/asm/bpf_perf_event.h b/libc/kernel/uapi/asm-x86/asm/bpf_perf_event.h
index fa7bc48..892ba7d 100644
--- a/libc/kernel/uapi/asm-x86/asm/bpf_perf_event.h
+++ b/libc/kernel/uapi/asm-x86/asm/bpf_perf_event.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/bpf_perf_event.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/byteorder.h b/libc/kernel/uapi/asm-x86/asm/byteorder.h
index db3ddff..3efba29 100644
--- a/libc/kernel/uapi/asm-x86/asm/byteorder.h
+++ b/libc/kernel/uapi/asm-x86/asm/byteorder.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_BYTEORDER_H
 #define _ASM_X86_BYTEORDER_H
 #include <linux/byteorder/little_endian.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/debugreg.h b/libc/kernel/uapi/asm-x86/asm/debugreg.h
index 360f432..4d0a904 100644
--- a/libc/kernel/uapi/asm-x86/asm/debugreg.h
+++ b/libc/kernel/uapi/asm-x86/asm/debugreg.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_X86_DEBUGREG_H
 #define _UAPI_ASM_X86_DEBUGREG_H
 #define DR_FIRSTADDR 0
diff --git a/libc/kernel/uapi/asm-x86/asm/e820.h b/libc/kernel/uapi/asm-x86/asm/e820.h
index 8f00c5c..ed1d1a1 100644
--- a/libc/kernel/uapi/asm-x86/asm/e820.h
+++ b/libc/kernel/uapi/asm-x86/asm/e820.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_X86_E820_H
 #define _UAPI_ASM_X86_E820_H
 #define E820MAP 0x2d0
diff --git a/libc/kernel/uapi/asm-x86/asm/errno.h b/libc/kernel/uapi/asm-x86/asm/errno.h
index 392cd94..68b3218 100644
--- a/libc/kernel/uapi/asm-x86/asm/errno.h
+++ b/libc/kernel/uapi/asm-x86/asm/errno.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/errno.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/fcntl.h b/libc/kernel/uapi/asm-x86/asm/fcntl.h
index 518d3a7..b82e108 100644
--- a/libc/kernel/uapi/asm-x86/asm/fcntl.h
+++ b/libc/kernel/uapi/asm-x86/asm/fcntl.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/fcntl.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/hw_breakpoint.h b/libc/kernel/uapi/asm-x86/asm/hw_breakpoint.h
index 878419c..02e56b8 100644
--- a/libc/kernel/uapi/asm-x86/asm/hw_breakpoint.h
+++ b/libc/kernel/uapi/asm-x86/asm/hw_breakpoint.h
@@ -1,18 +1,6 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
diff --git a/libc/kernel/uapi/asm-x86/asm/hwcap2.h b/libc/kernel/uapi/asm-x86/asm/hwcap2.h
index 9f715c9..39dfd64 100644
--- a/libc/kernel/uapi/asm-x86/asm/hwcap2.h
+++ b/libc/kernel/uapi/asm-x86/asm/hwcap2.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_HWCAP2_H
 #define _ASM_X86_HWCAP2_H
 #include <linux/const.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/ioctl.h b/libc/kernel/uapi/asm-x86/asm/ioctl.h
index 7b7bd37..513f68c 100644
--- a/libc/kernel/uapi/asm-x86/asm/ioctl.h
+++ b/libc/kernel/uapi/asm-x86/asm/ioctl.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/ioctl.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/ioctls.h b/libc/kernel/uapi/asm-x86/asm/ioctls.h
index 0c66935..0ed82e0 100644
--- a/libc/kernel/uapi/asm-x86/asm/ioctls.h
+++ b/libc/kernel/uapi/asm-x86/asm/ioctls.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/ioctls.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/ipcbuf.h b/libc/kernel/uapi/asm-x86/asm/ipcbuf.h
index 0021f14..0c908bc 100644
--- a/libc/kernel/uapi/asm-x86/asm/ipcbuf.h
+++ b/libc/kernel/uapi/asm-x86/asm/ipcbuf.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/ipcbuf.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/ist.h b/libc/kernel/uapi/asm-x86/asm/ist.h
index 9648952..6dbfede 100644
--- a/libc/kernel/uapi/asm-x86/asm/ist.h
+++ b/libc/kernel/uapi/asm-x86/asm/ist.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_X86_IST_H
 #define _UAPI_ASM_X86_IST_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/kvm.h b/libc/kernel/uapi/asm-x86/asm/kvm.h
index 77d35fc..cd647b6 100644
--- a/libc/kernel/uapi/asm-x86/asm/kvm.h
+++ b/libc/kernel/uapi/asm-x86/asm/kvm.h
@@ -1,25 +1,16 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_KVM_H
 #define _ASM_X86_KVM_H
+#include <linux/const.h>
+#include <linux/bits.h>
 #include <linux/types.h>
 #include <linux/ioctl.h>
+#include <linux/stddef.h>
 #define KVM_PIO_PAGE_OFFSET 1
 #define KVM_COALESCED_MMIO_PAGE_OFFSET 2
 #define KVM_DIRTY_LOG_PAGE_OFFSET 64
@@ -46,7 +37,6 @@
 #define __KVM_HAVE_IRQ_LINE
 #define __KVM_HAVE_MSI
 #define __KVM_HAVE_USER_NMI
-#define __KVM_HAVE_GUEST_DEBUG
 #define __KVM_HAVE_MSIX
 #define __KVM_HAVE_MCE
 #define __KVM_HAVE_PIT_STATE2
@@ -55,7 +45,6 @@
 #define __KVM_HAVE_DEBUGREGS
 #define __KVM_HAVE_XSAVE
 #define __KVM_HAVE_XCRS
-#define __KVM_HAVE_READONLY_MEM
 #define KVM_NR_INTERRUPTS 256
 struct kvm_pic_state {
   __u8 last_irr;
@@ -105,6 +94,7 @@
 #define KVM_NR_IRQCHIPS 3
 #define KVM_RUN_X86_SMM (1 << 0)
 #define KVM_RUN_X86_BUS_LOCK (1 << 1)
+#define KVM_RUN_X86_GUEST_MODE (1 << 2)
 struct kvm_regs {
   __u64 rax, rbx, rcx, rdx;
   __u64 rsi, rdi, rsp, rbp;
@@ -364,7 +354,10 @@
 #define KVM_STATE_NESTED_VMX_VMCS_SIZE 0x1000
 #define KVM_STATE_NESTED_SVM_VMCB_SIZE 0x1000
 #define KVM_STATE_VMX_PREEMPTION_TIMER_DEADLINE 0x00000001
+#define KVM_X86_GRP_SYSTEM 0
 #define KVM_X86_XCOMP_GUEST_SUPP 0
+#define KVM_X86_GRP_SEV 1
+#define KVM_X86_SEV_VMSA_FEATURES 0
 struct kvm_vmx_nested_state_data {
   __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE];
   __u8 shadow_vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE];
@@ -395,8 +388,8 @@
     __u8 pad[120];
   } hdr;
   union {
-    struct kvm_vmx_nested_state_data vmx[0];
-    struct kvm_svm_nested_state_data svm[0];
+    __DECLARE_FLEX_ARRAY(struct kvm_vmx_nested_state_data, vmx);
+    __DECLARE_FLEX_ARRAY(struct kvm_svm_nested_state_data, svm);
   } data;
 };
 struct kvm_pmu_event_filter {
@@ -409,6 +402,310 @@
 };
 #define KVM_PMU_EVENT_ALLOW 0
 #define KVM_PMU_EVENT_DENY 1
+#define KVM_PMU_EVENT_FLAG_MASKED_EVENTS _BITUL(0)
+#define KVM_PMU_EVENT_FLAGS_VALID_MASK (KVM_PMU_EVENT_FLAG_MASKED_EVENTS)
+struct kvm_x86_mce {
+  __u64 status;
+  __u64 addr;
+  __u64 misc;
+  __u64 mcg_status;
+  __u8 bank;
+  __u8 pad1[7];
+  __u64 pad2[3];
+};
+#define KVM_XEN_HVM_CONFIG_HYPERCALL_MSR (1 << 0)
+#define KVM_XEN_HVM_CONFIG_INTERCEPT_HCALL (1 << 1)
+#define KVM_XEN_HVM_CONFIG_SHARED_INFO (1 << 2)
+#define KVM_XEN_HVM_CONFIG_RUNSTATE (1 << 3)
+#define KVM_XEN_HVM_CONFIG_EVTCHN_2LEVEL (1 << 4)
+#define KVM_XEN_HVM_CONFIG_EVTCHN_SEND (1 << 5)
+#define KVM_XEN_HVM_CONFIG_RUNSTATE_UPDATE_FLAG (1 << 6)
+#define KVM_XEN_HVM_CONFIG_PVCLOCK_TSC_UNSTABLE (1 << 7)
+#define KVM_XEN_HVM_CONFIG_SHARED_INFO_HVA (1 << 8)
+struct kvm_xen_hvm_config {
+  __u32 flags;
+  __u32 msr;
+  __u64 blob_addr_32;
+  __u64 blob_addr_64;
+  __u8 blob_size_32;
+  __u8 blob_size_64;
+  __u8 pad2[30];
+};
+struct kvm_xen_hvm_attr {
+  __u16 type;
+  __u16 pad[3];
+  union {
+    __u8 long_mode;
+    __u8 vector;
+    __u8 runstate_update_flag;
+    union {
+      __u64 gfn;
+#define KVM_XEN_INVALID_GFN ((__u64) - 1)
+      __u64 hva;
+    } shared_info;
+    struct {
+      __u32 send_port;
+      __u32 type;
+      __u32 flags;
+#define KVM_XEN_EVTCHN_DEASSIGN (1 << 0)
+#define KVM_XEN_EVTCHN_UPDATE (1 << 1)
+#define KVM_XEN_EVTCHN_RESET (1 << 2)
+      union {
+        struct {
+          __u32 port;
+          __u32 vcpu;
+          __u32 priority;
+        } port;
+        struct {
+          __u32 port;
+          __s32 fd;
+        } eventfd;
+        __u32 padding[4];
+      } deliver;
+    } evtchn;
+    __u32 xen_version;
+    __u64 pad[8];
+  } u;
+};
+#define KVM_XEN_ATTR_TYPE_LONG_MODE 0x0
+#define KVM_XEN_ATTR_TYPE_SHARED_INFO 0x1
+#define KVM_XEN_ATTR_TYPE_UPCALL_VECTOR 0x2
+#define KVM_XEN_ATTR_TYPE_EVTCHN 0x3
+#define KVM_XEN_ATTR_TYPE_XEN_VERSION 0x4
+#define KVM_XEN_ATTR_TYPE_RUNSTATE_UPDATE_FLAG 0x5
+#define KVM_XEN_ATTR_TYPE_SHARED_INFO_HVA 0x6
+struct kvm_xen_vcpu_attr {
+  __u16 type;
+  __u16 pad[3];
+  union {
+    __u64 gpa;
+#define KVM_XEN_INVALID_GPA ((__u64) - 1)
+    __u64 hva;
+    __u64 pad[8];
+    struct {
+      __u64 state;
+      __u64 state_entry_time;
+      __u64 time_running;
+      __u64 time_runnable;
+      __u64 time_blocked;
+      __u64 time_offline;
+    } runstate;
+    __u32 vcpu_id;
+    struct {
+      __u32 port;
+      __u32 priority;
+      __u64 expires_ns;
+    } timer;
+    __u8 vector;
+  } u;
+};
+#define KVM_XEN_VCPU_ATTR_TYPE_VCPU_INFO 0x0
+#define KVM_XEN_VCPU_ATTR_TYPE_VCPU_TIME_INFO 0x1
+#define KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_ADDR 0x2
+#define KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_CURRENT 0x3
+#define KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_DATA 0x4
+#define KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_ADJUST 0x5
+#define KVM_XEN_VCPU_ATTR_TYPE_VCPU_ID 0x6
+#define KVM_XEN_VCPU_ATTR_TYPE_TIMER 0x7
+#define KVM_XEN_VCPU_ATTR_TYPE_UPCALL_VECTOR 0x8
+#define KVM_XEN_VCPU_ATTR_TYPE_VCPU_INFO_HVA 0x9
+enum sev_cmd_id {
+  KVM_SEV_INIT = 0,
+  KVM_SEV_ES_INIT,
+  KVM_SEV_LAUNCH_START,
+  KVM_SEV_LAUNCH_UPDATE_DATA,
+  KVM_SEV_LAUNCH_UPDATE_VMSA,
+  KVM_SEV_LAUNCH_SECRET,
+  KVM_SEV_LAUNCH_MEASURE,
+  KVM_SEV_LAUNCH_FINISH,
+  KVM_SEV_SEND_START,
+  KVM_SEV_SEND_UPDATE_DATA,
+  KVM_SEV_SEND_UPDATE_VMSA,
+  KVM_SEV_SEND_FINISH,
+  KVM_SEV_RECEIVE_START,
+  KVM_SEV_RECEIVE_UPDATE_DATA,
+  KVM_SEV_RECEIVE_UPDATE_VMSA,
+  KVM_SEV_RECEIVE_FINISH,
+  KVM_SEV_GUEST_STATUS,
+  KVM_SEV_DBG_DECRYPT,
+  KVM_SEV_DBG_ENCRYPT,
+  KVM_SEV_CERT_EXPORT,
+  KVM_SEV_GET_ATTESTATION_REPORT,
+  KVM_SEV_SEND_CANCEL,
+  KVM_SEV_INIT2,
+  KVM_SEV_SNP_LAUNCH_START = 100,
+  KVM_SEV_SNP_LAUNCH_UPDATE,
+  KVM_SEV_SNP_LAUNCH_FINISH,
+  KVM_SEV_NR_MAX,
+};
+struct kvm_sev_cmd {
+  __u32 id;
+  __u32 pad0;
+  __u64 data;
+  __u32 error;
+  __u32 sev_fd;
+};
+struct kvm_sev_init {
+  __u64 vmsa_features;
+  __u32 flags;
+  __u16 ghcb_version;
+  __u16 pad1;
+  __u32 pad2[8];
+};
+struct kvm_sev_launch_start {
+  __u32 handle;
+  __u32 policy;
+  __u64 dh_uaddr;
+  __u32 dh_len;
+  __u32 pad0;
+  __u64 session_uaddr;
+  __u32 session_len;
+  __u32 pad1;
+};
+struct kvm_sev_launch_update_data {
+  __u64 uaddr;
+  __u32 len;
+  __u32 pad0;
+};
+struct kvm_sev_launch_secret {
+  __u64 hdr_uaddr;
+  __u32 hdr_len;
+  __u32 pad0;
+  __u64 guest_uaddr;
+  __u32 guest_len;
+  __u32 pad1;
+  __u64 trans_uaddr;
+  __u32 trans_len;
+  __u32 pad2;
+};
+struct kvm_sev_launch_measure {
+  __u64 uaddr;
+  __u32 len;
+  __u32 pad0;
+};
+struct kvm_sev_guest_status {
+  __u32 handle;
+  __u32 policy;
+  __u32 state;
+};
+struct kvm_sev_dbg {
+  __u64 src_uaddr;
+  __u64 dst_uaddr;
+  __u32 len;
+  __u32 pad0;
+};
+struct kvm_sev_attestation_report {
+  __u8 mnonce[16];
+  __u64 uaddr;
+  __u32 len;
+  __u32 pad0;
+};
+struct kvm_sev_send_start {
+  __u32 policy;
+  __u32 pad0;
+  __u64 pdh_cert_uaddr;
+  __u32 pdh_cert_len;
+  __u32 pad1;
+  __u64 plat_certs_uaddr;
+  __u32 plat_certs_len;
+  __u32 pad2;
+  __u64 amd_certs_uaddr;
+  __u32 amd_certs_len;
+  __u32 pad3;
+  __u64 session_uaddr;
+  __u32 session_len;
+  __u32 pad4;
+};
+struct kvm_sev_send_update_data {
+  __u64 hdr_uaddr;
+  __u32 hdr_len;
+  __u32 pad0;
+  __u64 guest_uaddr;
+  __u32 guest_len;
+  __u32 pad1;
+  __u64 trans_uaddr;
+  __u32 trans_len;
+  __u32 pad2;
+};
+struct kvm_sev_receive_start {
+  __u32 handle;
+  __u32 policy;
+  __u64 pdh_uaddr;
+  __u32 pdh_len;
+  __u32 pad0;
+  __u64 session_uaddr;
+  __u32 session_len;
+  __u32 pad1;
+};
+struct kvm_sev_receive_update_data {
+  __u64 hdr_uaddr;
+  __u32 hdr_len;
+  __u32 pad0;
+  __u64 guest_uaddr;
+  __u32 guest_len;
+  __u32 pad1;
+  __u64 trans_uaddr;
+  __u32 trans_len;
+  __u32 pad2;
+};
+struct kvm_sev_snp_launch_start {
+  __u64 policy;
+  __u8 gosvw[16];
+  __u16 flags;
+  __u8 pad0[6];
+  __u64 pad1[4];
+};
+#define KVM_SEV_SNP_PAGE_TYPE_NORMAL 0x1
+#define KVM_SEV_SNP_PAGE_TYPE_ZERO 0x3
+#define KVM_SEV_SNP_PAGE_TYPE_UNMEASURED 0x4
+#define KVM_SEV_SNP_PAGE_TYPE_SECRETS 0x5
+#define KVM_SEV_SNP_PAGE_TYPE_CPUID 0x6
+struct kvm_sev_snp_launch_update {
+  __u64 gfn_start;
+  __u64 uaddr;
+  __u64 len;
+  __u8 type;
+  __u8 pad0;
+  __u16 flags;
+  __u32 pad1;
+  __u64 pad2[4];
+};
+#define KVM_SEV_SNP_ID_BLOCK_SIZE 96
+#define KVM_SEV_SNP_ID_AUTH_SIZE 4096
+#define KVM_SEV_SNP_FINISH_DATA_SIZE 32
+struct kvm_sev_snp_launch_finish {
+  __u64 id_block_uaddr;
+  __u64 id_auth_uaddr;
+  __u8 id_block_en;
+  __u8 auth_key_en;
+  __u8 vcek_disabled;
+  __u8 host_data[KVM_SEV_SNP_FINISH_DATA_SIZE];
+  __u8 pad0[3];
+  __u16 flags;
+  __u64 pad1[4];
+};
+#define KVM_X2APIC_API_USE_32BIT_IDS (1ULL << 0)
+#define KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK (1ULL << 1)
+struct kvm_hyperv_eventfd {
+  __u32 conn_id;
+  __s32 fd;
+  __u32 flags;
+  __u32 padding[3];
+};
+#define KVM_HYPERV_CONN_ID_MASK 0x00ffffff
+#define KVM_HYPERV_EVENTFD_DEASSIGN (1 << 0)
+#define KVM_PMU_ENCODE_MASKED_ENTRY(event_select,mask,match,exclude) (((event_select) & 0xFFULL) | (((event_select) & 0XF00ULL) << 24) | (((mask) & 0xFFULL) << 56) | (((match) & 0xFFULL) << 8) | ((__u64) (! ! (exclude)) << 55))
+#define KVM_PMU_MASKED_ENTRY_EVENT_SELECT (__GENMASK_ULL(7, 0) | __GENMASK_ULL(35, 32))
+#define KVM_PMU_MASKED_ENTRY_UMASK_MASK (__GENMASK_ULL(63, 56))
+#define KVM_PMU_MASKED_ENTRY_UMASK_MATCH (__GENMASK_ULL(15, 8))
+#define KVM_PMU_MASKED_ENTRY_EXCLUDE (_BITULL(55))
+#define KVM_PMU_MASKED_ENTRY_UMASK_MASK_SHIFT (56)
 #define KVM_VCPU_TSC_CTRL 0
 #define KVM_VCPU_TSC_OFFSET 0
+#define KVM_EXIT_HYPERCALL_LONG_MODE _BITULL(0)
+#define KVM_X86_DEFAULT_VM 0
+#define KVM_X86_SW_PROTECTED_VM 1
+#define KVM_X86_SEV_VM 2
+#define KVM_X86_SEV_ES_VM 3
+#define KVM_X86_SNP_VM 4
 #endif
diff --git a/libc/kernel/uapi/asm-x86/asm/kvm_para.h b/libc/kernel/uapi/asm-x86/asm/kvm_para.h
index dd72af0..3395a15 100644
--- a/libc/kernel/uapi/asm-x86/asm/kvm_para.h
+++ b/libc/kernel/uapi/asm-x86/asm/kvm_para.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_X86_KVM_PARA_H
 #define _UAPI_ASM_X86_KVM_PARA_H
 #include <linux/types.h>
@@ -79,7 +67,7 @@
 #define KVM_ASYNC_PF_SEND_ALWAYS (1 << 1)
 #define KVM_ASYNC_PF_DELIVERY_AS_PF_VMEXIT (1 << 2)
 #define KVM_ASYNC_PF_DELIVERY_AS_INT (1 << 3)
-#define KVM_ASYNC_PF_VEC_MASK GENMASK(7, 0)
+#define KVM_ASYNC_PF_VEC_MASK __GENMASK(7, 0)
 #define KVM_MIGRATION_READY (1 << 0)
 #define KVM_MAP_GPA_RANGE_PAGE_SZ_4K 0
 #define KVM_MAP_GPA_RANGE_PAGE_SZ_2M (1 << 0)
@@ -112,7 +100,6 @@
   __u32 flags;
   __u32 token;
   __u8 pad[56];
-  __u32 enabled;
 };
 #define KVM_PV_EOI_BIT 0
 #define KVM_PV_EOI_MASK (0x1 << KVM_PV_EOI_BIT)
diff --git a/libc/kernel/uapi/asm-x86/asm/kvm_perf.h b/libc/kernel/uapi/asm-x86/asm/kvm_perf.h
index c5c8f8e..f60e263 100644
--- a/libc/kernel/uapi/asm-x86/asm/kvm_perf.h
+++ b/libc/kernel/uapi/asm-x86/asm/kvm_perf.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_KVM_PERF_H
 #define _ASM_X86_KVM_PERF_H
 #include <asm/svm.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/ldt.h b/libc/kernel/uapi/asm-x86/asm/ldt.h
index a98aedf..9c22a0b 100644
--- a/libc/kernel/uapi/asm-x86/asm/ldt.h
+++ b/libc/kernel/uapi/asm-x86/asm/ldt.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_LDT_H
 #define _ASM_X86_LDT_H
 #define LDT_ENTRIES 8192
diff --git a/libc/kernel/uapi/asm-x86/asm/mce.h b/libc/kernel/uapi/asm-x86/asm/mce.h
index 359af57..08a8634 100644
--- a/libc/kernel/uapi/asm-x86/asm/mce.h
+++ b/libc/kernel/uapi/asm-x86/asm/mce.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_X86_MCE_H
 #define _UAPI_ASM_X86_MCE_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/mman.h b/libc/kernel/uapi/asm-x86/asm/mman.h
index 1061a6f..90269d6 100644
--- a/libc/kernel/uapi/asm-x86/asm/mman.h
+++ b/libc/kernel/uapi/asm-x86/asm/mman.h
@@ -1,23 +1,13 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_MMAN_H
 #define _ASM_X86_MMAN_H
 #define MAP_32BIT 0x40
+#define MAP_ABOVE4G 0x80
+#define SHADOW_STACK_SET_TOKEN (1ULL << 0)
 #include <asm-generic/mman.h>
 #endif
diff --git a/libc/kernel/uapi/asm-x86/asm/msgbuf.h b/libc/kernel/uapi/asm-x86/asm/msgbuf.h
index b100b20..730e2be 100644
--- a/libc/kernel/uapi/asm-x86/asm/msgbuf.h
+++ b/libc/kernel/uapi/asm-x86/asm/msgbuf.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_X64_MSGBUF_H
 #define __ASM_X64_MSGBUF_H
 #if !defined(__x86_64__) || !defined(__ILP32__)
diff --git a/libc/kernel/uapi/asm-x86/asm/msr.h b/libc/kernel/uapi/asm-x86/asm/msr.h
index c772838..34b7bd8 100644
--- a/libc/kernel/uapi/asm-x86/asm/msr.h
+++ b/libc/kernel/uapi/asm-x86/asm/msr.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_X86_MSR_H
 #define _UAPI_ASM_X86_MSR_H
 #ifndef __ASSEMBLY__
diff --git a/libc/kernel/uapi/asm-x86/asm/mtrr.h b/libc/kernel/uapi/asm-x86/asm/mtrr.h
index c709a70..5561b52 100644
--- a/libc/kernel/uapi/asm-x86/asm/mtrr.h
+++ b/libc/kernel/uapi/asm-x86/asm/mtrr.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_X86_MTRR_H
 #define _UAPI_ASM_X86_MTRR_H
 #include <linux/types.h>
@@ -57,13 +45,6 @@
 typedef __u8 mtrr_type;
 #define MTRR_NUM_FIXED_RANGES 88
 #define MTRR_MAX_VAR_RANGES 256
-struct mtrr_state_type {
-  struct mtrr_var_range var_ranges[MTRR_MAX_VAR_RANGES];
-  mtrr_type fixed_ranges[MTRR_NUM_FIXED_RANGES];
-  unsigned char enabled;
-  unsigned char have_fixed;
-  mtrr_type def_type;
-};
 #define MTRRphysBase_MSR(reg) (0x200 + 2 * (reg))
 #define MTRRphysMask_MSR(reg) (0x200 + 2 * (reg) + 1)
 #define MTRRIOC_ADD_ENTRY _IOW(MTRR_IOCTL_BASE, 0, struct mtrr_sentry)
diff --git a/libc/kernel/uapi/asm-x86/asm/param.h b/libc/kernel/uapi/asm-x86/asm/param.h
index 5ccf935..f20aa34 100644
--- a/libc/kernel/uapi/asm-x86/asm/param.h
+++ b/libc/kernel/uapi/asm-x86/asm/param.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/param.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/perf_regs.h b/libc/kernel/uapi/asm-x86/asm/perf_regs.h
index 984b7ea..99f0aaf 100644
--- a/libc/kernel/uapi/asm-x86/asm/perf_regs.h
+++ b/libc/kernel/uapi/asm-x86/asm/perf_regs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_PERF_REGS_H
 #define _ASM_X86_PERF_REGS_H
 enum perf_event_x86_regs {
diff --git a/libc/kernel/uapi/asm-x86/asm/poll.h b/libc/kernel/uapi/asm-x86/asm/poll.h
index d7e8adc..bf92c2a 100644
--- a/libc/kernel/uapi/asm-x86/asm/poll.h
+++ b/libc/kernel/uapi/asm-x86/asm/poll.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/poll.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/posix_types.h b/libc/kernel/uapi/asm-x86/asm/posix_types.h
index 67ed19b..c57f1e0 100644
--- a/libc/kernel/uapi/asm-x86/asm/posix_types.h
+++ b/libc/kernel/uapi/asm-x86/asm/posix_types.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifdef __i386__
 #include <asm/posix_types_32.h>
 #elif defined(__ILP32__)
diff --git a/libc/kernel/uapi/asm-x86/asm/posix_types_32.h b/libc/kernel/uapi/asm-x86/asm/posix_types_32.h
index c339b4f..2f0b038 100644
--- a/libc/kernel/uapi/asm-x86/asm/posix_types_32.h
+++ b/libc/kernel/uapi/asm-x86/asm/posix_types_32.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_POSIX_TYPES_32_H
 #define _ASM_X86_POSIX_TYPES_32_H
 typedef unsigned short __kernel_mode_t;
diff --git a/libc/kernel/uapi/asm-x86/asm/posix_types_64.h b/libc/kernel/uapi/asm-x86/asm/posix_types_64.h
index 23cdec1..26db149 100644
--- a/libc/kernel/uapi/asm-x86/asm/posix_types_64.h
+++ b/libc/kernel/uapi/asm-x86/asm/posix_types_64.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_POSIX_TYPES_64_H
 #define _ASM_X86_POSIX_TYPES_64_H
 typedef unsigned short __kernel_old_uid_t;
diff --git a/libc/kernel/uapi/asm-x86/asm/posix_types_x32.h b/libc/kernel/uapi/asm-x86/asm/posix_types_x32.h
index 96cf8b9..5b71839 100644
--- a/libc/kernel/uapi/asm-x86/asm/posix_types_x32.h
+++ b/libc/kernel/uapi/asm-x86/asm/posix_types_x32.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_POSIX_TYPES_X32_H
 #define _ASM_X86_POSIX_TYPES_X32_H
 typedef long long __kernel_long_t;
diff --git a/libc/kernel/uapi/asm-x86/asm/prctl.h b/libc/kernel/uapi/asm-x86/asm/prctl.h
index c5ba2d6..025d0ab 100644
--- a/libc/kernel/uapi/asm-x86/asm/prctl.h
+++ b/libc/kernel/uapi/asm-x86/asm/prctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_PRCTL_H
 #define _ASM_X86_PRCTL_H
 #define ARCH_SET_GS 0x1001
@@ -29,7 +17,20 @@
 #define ARCH_REQ_XCOMP_PERM 0x1023
 #define ARCH_GET_XCOMP_GUEST_PERM 0x1024
 #define ARCH_REQ_XCOMP_GUEST_PERM 0x1025
+#define ARCH_XCOMP_TILECFG 17
+#define ARCH_XCOMP_TILEDATA 18
 #define ARCH_MAP_VDSO_X32 0x2001
 #define ARCH_MAP_VDSO_32 0x2002
 #define ARCH_MAP_VDSO_64 0x2003
+#define ARCH_GET_UNTAG_MASK 0x4001
+#define ARCH_ENABLE_TAGGED_ADDR 0x4002
+#define ARCH_GET_MAX_TAG_BITS 0x4003
+#define ARCH_FORCE_TAGGED_SVA 0x4004
+#define ARCH_SHSTK_ENABLE 0x5001
+#define ARCH_SHSTK_DISABLE 0x5002
+#define ARCH_SHSTK_LOCK 0x5003
+#define ARCH_SHSTK_UNLOCK 0x5004
+#define ARCH_SHSTK_STATUS 0x5005
+#define ARCH_SHSTK_SHSTK (1ULL << 0)
+#define ARCH_SHSTK_WRSS (1ULL << 1)
 #endif
diff --git a/libc/kernel/uapi/asm-x86/asm/processor-flags.h b/libc/kernel/uapi/asm-x86/asm/processor-flags.h
index 0a95afd..9842847 100644
--- a/libc/kernel/uapi/asm-x86/asm/processor-flags.h
+++ b/libc/kernel/uapi/asm-x86/asm/processor-flags.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_X86_PROCESSOR_FLAGS_H
 #define _UAPI_ASM_X86_PROCESSOR_FLAGS_H
 #include <linux/const.h>
@@ -83,6 +71,10 @@
 #define X86_CR3_PCD _BITUL(X86_CR3_PCD_BIT)
 #define X86_CR3_PCID_BITS 12
 #define X86_CR3_PCID_MASK (_AC((1UL << X86_CR3_PCID_BITS) - 1, UL))
+#define X86_CR3_LAM_U57_BIT 61
+#define X86_CR3_LAM_U57 _BITULL(X86_CR3_LAM_U57_BIT)
+#define X86_CR3_LAM_U48_BIT 62
+#define X86_CR3_LAM_U48 _BITULL(X86_CR3_LAM_U48_BIT)
 #define X86_CR3_PCID_NOFLUSH_BIT 63
 #define X86_CR3_PCID_NOFLUSH _BITULL(X86_CR3_PCID_NOFLUSH_BIT)
 #define X86_CR4_VME_BIT 0
@@ -129,6 +121,14 @@
 #define X86_CR4_PKE _BITUL(X86_CR4_PKE_BIT)
 #define X86_CR4_CET_BIT 23
 #define X86_CR4_CET _BITUL(X86_CR4_CET_BIT)
+#define X86_CR4_LAM_SUP_BIT 28
+#define X86_CR4_LAM_SUP _BITUL(X86_CR4_LAM_SUP_BIT)
+#ifdef __x86_64__
+#define X86_CR4_FRED_BIT 32
+#define X86_CR4_FRED _BITUL(X86_CR4_FRED_BIT)
+#else
+#define X86_CR4_FRED (0)
+#endif
 #define X86_CR8_TPR _AC(0x0000000f, UL)
 #define CX86_PCR0 0x20
 #define CX86_GCR 0xb8
diff --git a/libc/kernel/uapi/asm-x86/asm/ptrace-abi.h b/libc/kernel/uapi/asm-x86/asm/ptrace-abi.h
index e501d9f..aa314e0 100644
--- a/libc/kernel/uapi/asm-x86/asm/ptrace-abi.h
+++ b/libc/kernel/uapi/asm-x86/asm/ptrace-abi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_PTRACE_ABI_H
 #define _ASM_X86_PTRACE_ABI_H
 #ifdef __i386__
diff --git a/libc/kernel/uapi/asm-x86/asm/ptrace.h b/libc/kernel/uapi/asm-x86/asm/ptrace.h
index 3f4404a..a791592 100644
--- a/libc/kernel/uapi/asm-x86/asm/ptrace.h
+++ b/libc/kernel/uapi/asm-x86/asm/ptrace.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_X86_PTRACE_H
 #define _UAPI_ASM_X86_PTRACE_H
 #include <linux/compiler.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/resource.h b/libc/kernel/uapi/asm-x86/asm/resource.h
index 371adb5..3ad9e62 100644
--- a/libc/kernel/uapi/asm-x86/asm/resource.h
+++ b/libc/kernel/uapi/asm-x86/asm/resource.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/resource.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/sembuf.h b/libc/kernel/uapi/asm-x86/asm/sembuf.h
index c633425..705db8b 100644
--- a/libc/kernel/uapi/asm-x86/asm/sembuf.h
+++ b/libc/kernel/uapi/asm-x86/asm/sembuf.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_SEMBUF_H
 #define _ASM_X86_SEMBUF_H
 #include <asm/ipcbuf.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/setup.h b/libc/kernel/uapi/asm-x86/asm/setup.h
index 878419c..02e56b8 100644
--- a/libc/kernel/uapi/asm-x86/asm/setup.h
+++ b/libc/kernel/uapi/asm-x86/asm/setup.h
@@ -1,18 +1,6 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
diff --git a/libc/kernel/uapi/asm-x86/asm/setup_data.h b/libc/kernel/uapi/asm-x86/asm/setup_data.h
new file mode 100644
index 0000000..d00a554
--- /dev/null
+++ b/libc/kernel/uapi/asm-x86/asm/setup_data.h
@@ -0,0 +1,64 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_ASM_X86_SETUP_DATA_H
+#define _UAPI_ASM_X86_SETUP_DATA_H
+#define SETUP_NONE 0
+#define SETUP_E820_EXT 1
+#define SETUP_DTB 2
+#define SETUP_PCI 3
+#define SETUP_EFI 4
+#define SETUP_APPLE_PROPERTIES 5
+#define SETUP_JAILHOUSE 6
+#define SETUP_CC_BLOB 7
+#define SETUP_IMA 8
+#define SETUP_RNG_SEED 9
+#define SETUP_ENUM_MAX SETUP_RNG_SEED
+#define SETUP_INDIRECT (1 << 31)
+#define SETUP_TYPE_MAX (SETUP_ENUM_MAX | SETUP_INDIRECT)
+#ifndef __ASSEMBLY__
+#include <linux/types.h>
+struct setup_data {
+  __u64 next;
+  __u32 type;
+  __u32 len;
+  __u8 data[];
+};
+struct setup_indirect {
+  __u32 type;
+  __u32 reserved;
+  __u64 len;
+  __u64 addr;
+};
+struct boot_e820_entry {
+  __u64 addr;
+  __u64 size;
+  __u32 type;
+} __attribute__((packed));
+struct jailhouse_setup_data {
+  struct {
+    __u16 version;
+    __u16 compatible_version;
+  } __attribute__((packed)) hdr;
+  struct {
+    __u16 pm_timer_address;
+    __u16 num_cpus;
+    __u64 pci_mmconfig_base;
+    __u32 tsc_khz;
+    __u32 apic_khz;
+    __u8 standard_ioapic;
+    __u8 cpu_ids[255];
+  } __attribute__((packed)) v1;
+  struct {
+    __u32 flags;
+  } __attribute__((packed)) v2;
+} __attribute__((packed));
+struct ima_setup_data {
+  __u64 addr;
+  __u64 size;
+} __attribute__((packed));
+#endif
+#endif
diff --git a/libc/kernel/uapi/asm-x86/asm/sgx.h b/libc/kernel/uapi/asm-x86/asm/sgx.h
index fdc2700..f249826 100644
--- a/libc/kernel/uapi/asm-x86/asm/sgx.h
+++ b/libc/kernel/uapi/asm-x86/asm/sgx.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_X86_SGX_H
 #define _UAPI_ASM_X86_SGX_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/shmbuf.h b/libc/kernel/uapi/asm-x86/asm/shmbuf.h
index 2a0dcb5..62f7252 100644
--- a/libc/kernel/uapi/asm-x86/asm/shmbuf.h
+++ b/libc/kernel/uapi/asm-x86/asm/shmbuf.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ASM_X86_SHMBUF_H
 #define __ASM_X86_SHMBUF_H
 #if !defined(__x86_64__) || !defined(__ILP32__)
diff --git a/libc/kernel/uapi/asm-x86/asm/sigcontext.h b/libc/kernel/uapi/asm-x86/asm/sigcontext.h
index c790950..fa18f78 100644
--- a/libc/kernel/uapi/asm-x86/asm/sigcontext.h
+++ b/libc/kernel/uapi/asm-x86/asm/sigcontext.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_X86_SIGCONTEXT_H
 #define _UAPI_ASM_X86_SIGCONTEXT_H
 #include <linux/compiler.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/sigcontext32.h b/libc/kernel/uapi/asm-x86/asm/sigcontext32.h
index 639467e..c9e4f21 100644
--- a/libc/kernel/uapi/asm-x86/asm/sigcontext32.h
+++ b/libc/kernel/uapi/asm-x86/asm/sigcontext32.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_SIGCONTEXT32_H
 #define _ASM_X86_SIGCONTEXT32_H
 #include <asm/sigcontext.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/siginfo.h b/libc/kernel/uapi/asm-x86/asm/siginfo.h
index 0de5283..64eca06 100644
--- a/libc/kernel/uapi/asm-x86/asm/siginfo.h
+++ b/libc/kernel/uapi/asm-x86/asm/siginfo.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_SIGINFO_H
 #define _ASM_X86_SIGINFO_H
 #ifdef __x86_64__
diff --git a/libc/kernel/uapi/asm-x86/asm/signal.h b/libc/kernel/uapi/asm-x86/asm/signal.h
index 37dce50..6cffef3 100644
--- a/libc/kernel/uapi/asm-x86/asm/signal.h
+++ b/libc/kernel/uapi/asm-x86/asm/signal.h
@@ -1,26 +1,13 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_X86_SIGNAL_H
 #define _UAPI_ASM_X86_SIGNAL_H
 #ifndef __ASSEMBLY__
 #include <linux/types.h>
-#include <linux/time.h>
 #include <linux/compiler.h>
 struct siginfo;
 #define _KERNEL_NSIG 32
@@ -68,7 +55,7 @@
 #include <asm-generic/signal-defs.h>
 #ifndef __ASSEMBLY__
 #ifdef __i386__
-struct sigaction {
+struct __kernel_sigaction {
   union {
     __sighandler_t _sa_handler;
     void(* _sa_sigaction) (int, struct siginfo *, void *);
@@ -80,7 +67,7 @@
 #define sa_handler _u._sa_handler
 #define sa_sigaction _u._sa_sigaction
 #else
-struct sigaction {
+struct __kernel_sigaction {
   __sighandler_t sa_handler;
   unsigned long sa_flags;
   __sigrestore_t sa_restorer;
diff --git a/libc/kernel/uapi/asm-x86/asm/socket.h b/libc/kernel/uapi/asm-x86/asm/socket.h
index 50a9874..2ca3e45 100644
--- a/libc/kernel/uapi/asm-x86/asm/socket.h
+++ b/libc/kernel/uapi/asm-x86/asm/socket.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/socket.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/sockios.h b/libc/kernel/uapi/asm-x86/asm/sockios.h
index 710db92..5aba663 100644
--- a/libc/kernel/uapi/asm-x86/asm/sockios.h
+++ b/libc/kernel/uapi/asm-x86/asm/sockios.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/sockios.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/stat.h b/libc/kernel/uapi/asm-x86/asm/stat.h
index 9b8c37e..c3f3e69 100644
--- a/libc/kernel/uapi/asm-x86/asm/stat.h
+++ b/libc/kernel/uapi/asm-x86/asm/stat.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_STAT_H
 #define _ASM_X86_STAT_H
 #include <asm/posix_types.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/statfs.h b/libc/kernel/uapi/asm-x86/asm/statfs.h
index 3ac754c..0695c18 100644
--- a/libc/kernel/uapi/asm-x86/asm/statfs.h
+++ b/libc/kernel/uapi/asm-x86/asm/statfs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_STATFS_H
 #define _ASM_X86_STATFS_H
 #define ARCH_PACK_COMPAT_STATFS64 __attribute__((packed, aligned(4)))
diff --git a/libc/kernel/uapi/asm-x86/asm/svm.h b/libc/kernel/uapi/asm-x86/asm/svm.h
index 0d95101..4f165fa 100644
--- a/libc/kernel/uapi/asm-x86/asm/svm.h
+++ b/libc/kernel/uapi/asm-x86/asm/svm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__SVM_H
 #define _UAPI__SVM_H
 #define SVM_EXIT_READ_CR0 0x000
@@ -129,6 +117,7 @@
 #define SVM_VMGEXIT_AP_CREATE_ON_INIT 0
 #define SVM_VMGEXIT_AP_CREATE 1
 #define SVM_VMGEXIT_AP_DESTROY 2
+#define SVM_VMGEXIT_SNP_RUN_VMPL 0x80000018
 #define SVM_VMGEXIT_HV_FEATURES 0x8000fffd
 #define SVM_VMGEXIT_TERM_REQUEST 0x8000fffe
 #define SVM_VMGEXIT_TERM_REASON(reason_set,reason_code) (((((u64) reason_set) & 0xf)) | ((((u64) reason_code) & 0xff) << 4))
diff --git a/libc/kernel/uapi/asm-x86/asm/swab.h b/libc/kernel/uapi/asm-x86/asm/swab.h
index 24fd5e3..31c850d 100644
--- a/libc/kernel/uapi/asm-x86/asm/swab.h
+++ b/libc/kernel/uapi/asm-x86/asm/swab.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_SWAB_H
 #define _ASM_X86_SWAB_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/termbits.h b/libc/kernel/uapi/asm-x86/asm/termbits.h
index 42af6fe..e943da3 100644
--- a/libc/kernel/uapi/asm-x86/asm/termbits.h
+++ b/libc/kernel/uapi/asm-x86/asm/termbits.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/termbits.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/termios.h b/libc/kernel/uapi/asm-x86/asm/termios.h
index feca4c6..3ae8ca2 100644
--- a/libc/kernel/uapi/asm-x86/asm/termios.h
+++ b/libc/kernel/uapi/asm-x86/asm/termios.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/termios.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/types.h b/libc/kernel/uapi/asm-x86/asm/types.h
index 8250f43..a030be8 100644
--- a/libc/kernel/uapi/asm-x86/asm/types.h
+++ b/libc/kernel/uapi/asm-x86/asm/types.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm-generic/types.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/ucontext.h b/libc/kernel/uapi/asm-x86/asm/ucontext.h
index 1bb416f..b2ee3fb 100644
--- a/libc/kernel/uapi/asm-x86/asm/ucontext.h
+++ b/libc/kernel/uapi/asm-x86/asm/ucontext.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ASM_X86_UCONTEXT_H
 #define _ASM_X86_UCONTEXT_H
 #define UC_FP_XSTATE 0x1
diff --git a/libc/kernel/uapi/asm-x86/asm/unistd.h b/libc/kernel/uapi/asm-x86/asm/unistd.h
index 8cab383..fc9d18d 100644
--- a/libc/kernel/uapi/asm-x86/asm/unistd.h
+++ b/libc/kernel/uapi/asm-x86/asm/unistd.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_X86_UNISTD_H
 #define _UAPI_ASM_X86_UNISTD_H
 #define __X32_SYSCALL_BIT 0x40000000
diff --git a/libc/kernel/uapi/asm-x86/asm/unistd_32.h b/libc/kernel/uapi/asm-x86/asm/unistd_32.h
index 8e57516..59c693d 100644
--- a/libc/kernel/uapi/asm-x86/asm/unistd_32.h
+++ b/libc/kernel/uapi/asm-x86/asm/unistd_32.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_UNISTD_32_H
 #define _UAPI_ASM_UNISTD_32_H
 #define __NR_restart_syscall 0
@@ -458,4 +446,16 @@
 #define __NR_process_mrelease 448
 #define __NR_futex_waitv 449
 #define __NR_set_mempolicy_home_node 450
+#define __NR_cachestat 451
+#define __NR_fchmodat2 452
+#define __NR_map_shadow_stack 453
+#define __NR_futex_wake 454
+#define __NR_futex_wait 455
+#define __NR_futex_requeue 456
+#define __NR_statmount 457
+#define __NR_listmount 458
+#define __NR_lsm_get_self_attr 459
+#define __NR_lsm_set_self_attr 460
+#define __NR_lsm_list_modules 461
+#define __NR_mseal 462
 #endif
diff --git a/libc/kernel/uapi/asm-x86/asm/unistd_64.h b/libc/kernel/uapi/asm-x86/asm/unistd_64.h
index 54ff16f..d5408a3 100644
--- a/libc/kernel/uapi/asm-x86/asm/unistd_64.h
+++ b/libc/kernel/uapi/asm-x86/asm/unistd_64.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_UNISTD_64_H
 #define _UAPI_ASM_UNISTD_64_H
 #define __NR_read 0
@@ -353,6 +341,7 @@
 #define __NR_statx 332
 #define __NR_io_pgetevents 333
 #define __NR_rseq 334
+#define __NR_uretprobe 335
 #define __NR_pidfd_send_signal 424
 #define __NR_io_uring_setup 425
 #define __NR_io_uring_enter 426
@@ -380,4 +369,16 @@
 #define __NR_process_mrelease 448
 #define __NR_futex_waitv 449
 #define __NR_set_mempolicy_home_node 450
+#define __NR_cachestat 451
+#define __NR_fchmodat2 452
+#define __NR_map_shadow_stack 453
+#define __NR_futex_wake 454
+#define __NR_futex_wait 455
+#define __NR_futex_requeue 456
+#define __NR_statmount 457
+#define __NR_listmount 458
+#define __NR_lsm_get_self_attr 459
+#define __NR_lsm_set_self_attr 460
+#define __NR_lsm_list_modules 461
+#define __NR_mseal 462
 #endif
diff --git a/libc/kernel/uapi/asm-x86/asm/unistd_x32.h b/libc/kernel/uapi/asm-x86/asm/unistd_x32.h
index 1e05d75..fdcf7e6 100644
--- a/libc/kernel/uapi/asm-x86/asm/unistd_x32.h
+++ b/libc/kernel/uapi/asm-x86/asm/unistd_x32.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_UNISTD_X32_H
 #define _UAPI_ASM_UNISTD_X32_H
 #define __NR_read (__X32_SYSCALL_BIT + 0)
@@ -306,6 +294,7 @@
 #define __NR_statx (__X32_SYSCALL_BIT + 332)
 #define __NR_io_pgetevents (__X32_SYSCALL_BIT + 333)
 #define __NR_rseq (__X32_SYSCALL_BIT + 334)
+#define __NR_uretprobe (__X32_SYSCALL_BIT + 335)
 #define __NR_pidfd_send_signal (__X32_SYSCALL_BIT + 424)
 #define __NR_io_uring_setup (__X32_SYSCALL_BIT + 425)
 #define __NR_io_uring_enter (__X32_SYSCALL_BIT + 426)
@@ -333,6 +322,18 @@
 #define __NR_process_mrelease (__X32_SYSCALL_BIT + 448)
 #define __NR_futex_waitv (__X32_SYSCALL_BIT + 449)
 #define __NR_set_mempolicy_home_node (__X32_SYSCALL_BIT + 450)
+#define __NR_cachestat (__X32_SYSCALL_BIT + 451)
+#define __NR_fchmodat2 (__X32_SYSCALL_BIT + 452)
+#define __NR_map_shadow_stack (__X32_SYSCALL_BIT + 453)
+#define __NR_futex_wake (__X32_SYSCALL_BIT + 454)
+#define __NR_futex_wait (__X32_SYSCALL_BIT + 455)
+#define __NR_futex_requeue (__X32_SYSCALL_BIT + 456)
+#define __NR_statmount (__X32_SYSCALL_BIT + 457)
+#define __NR_listmount (__X32_SYSCALL_BIT + 458)
+#define __NR_lsm_get_self_attr (__X32_SYSCALL_BIT + 459)
+#define __NR_lsm_set_self_attr (__X32_SYSCALL_BIT + 460)
+#define __NR_lsm_list_modules (__X32_SYSCALL_BIT + 461)
+#define __NR_mseal (__X32_SYSCALL_BIT + 462)
 #define __NR_rt_sigaction (__X32_SYSCALL_BIT + 512)
 #define __NR_rt_sigreturn (__X32_SYSCALL_BIT + 513)
 #define __NR_ioctl (__X32_SYSCALL_BIT + 514)
diff --git a/libc/kernel/uapi/asm-x86/asm/vm86.h b/libc/kernel/uapi/asm-x86/asm/vm86.h
index 7193484..7643f1d 100644
--- a/libc/kernel/uapi/asm-x86/asm/vm86.h
+++ b/libc/kernel/uapi/asm-x86/asm/vm86.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_X86_VM86_H
 #define _UAPI_ASM_X86_VM86_H
 #include <asm/processor-flags.h>
diff --git a/libc/kernel/uapi/asm-x86/asm/vmx.h b/libc/kernel/uapi/asm-x86/asm/vmx.h
index fdea539..206a32b 100644
--- a/libc/kernel/uapi/asm-x86/asm/vmx.h
+++ b/libc/kernel/uapi/asm-x86/asm/vmx.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPIVMX_H
 #define _UAPIVMX_H
 #define VMX_EXIT_REASONS_FAILED_VMENTRY 0x80000000
diff --git a/libc/kernel/uapi/asm-x86/asm/vsyscall.h b/libc/kernel/uapi/asm-x86/asm/vsyscall.h
index 56abbbc..3edd58e 100644
--- a/libc/kernel/uapi/asm-x86/asm/vsyscall.h
+++ b/libc/kernel/uapi/asm-x86/asm/vsyscall.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ASM_X86_VSYSCALL_H
 #define _UAPI_ASM_X86_VSYSCALL_H
 enum vsyscall_num {
diff --git a/libc/kernel/uapi/drm/amdgpu_drm.h b/libc/kernel/uapi/drm/amdgpu_drm.h
index fcd5ab8..7bbd5de 100644
--- a/libc/kernel/uapi/drm/amdgpu_drm.h
+++ b/libc/kernel/uapi/drm/amdgpu_drm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __AMDGPU_DRM_H__
 #define __AMDGPU_DRM_H__
 #include "drm.h"
@@ -60,7 +48,8 @@
 #define AMDGPU_GEM_DOMAIN_GDS 0x8
 #define AMDGPU_GEM_DOMAIN_GWS 0x10
 #define AMDGPU_GEM_DOMAIN_OA 0x20
-#define AMDGPU_GEM_DOMAIN_MASK (AMDGPU_GEM_DOMAIN_CPU | AMDGPU_GEM_DOMAIN_GTT | AMDGPU_GEM_DOMAIN_VRAM | AMDGPU_GEM_DOMAIN_GDS | AMDGPU_GEM_DOMAIN_GWS | AMDGPU_GEM_DOMAIN_OA)
+#define AMDGPU_GEM_DOMAIN_DOORBELL 0x40
+#define AMDGPU_GEM_DOMAIN_MASK (AMDGPU_GEM_DOMAIN_CPU | AMDGPU_GEM_DOMAIN_GTT | AMDGPU_GEM_DOMAIN_VRAM | AMDGPU_GEM_DOMAIN_GDS | AMDGPU_GEM_DOMAIN_GWS | AMDGPU_GEM_DOMAIN_OA | AMDGPU_GEM_DOMAIN_DOORBELL)
 #define AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED (1 << 0)
 #define AMDGPU_GEM_CREATE_NO_CPU_ACCESS (1 << 1)
 #define AMDGPU_GEM_CREATE_CPU_GTT_USWC (1 << 2)
@@ -75,6 +64,8 @@
 #define AMDGPU_GEM_CREATE_DISCARDABLE (1 << 12)
 #define AMDGPU_GEM_CREATE_COHERENT (1 << 13)
 #define AMDGPU_GEM_CREATE_UNCACHED (1 << 14)
+#define AMDGPU_GEM_CREATE_EXT_COHERENT (1 << 15)
+#define AMDGPU_GEM_CREATE_GFX12_DCC (1 << 16)
 struct drm_amdgpu_gem_create_in {
   __u64 bo_size;
   __u64 alignment;
@@ -126,6 +117,7 @@
 #define AMDGPU_CTX_QUERY2_FLAGS_GUILTY (1 << 2)
 #define AMDGPU_CTX_QUERY2_FLAGS_RAS_CE (1 << 3)
 #define AMDGPU_CTX_QUERY2_FLAGS_RAS_UE (1 << 4)
+#define AMDGPU_CTX_QUERY2_FLAGS_RESET_IN_PROGRESS (1 << 5)
 #define AMDGPU_CTX_PRIORITY_UNSET - 2048
 #define AMDGPU_CTX_PRIORITY_VERY_LOW - 1023
 #define AMDGPU_CTX_PRIORITY_LOW - 512
@@ -225,6 +217,14 @@
 #define AMDGPU_TILING_DCC_INDEPENDENT_128B_MASK 0x1
 #define AMDGPU_TILING_SCANOUT_SHIFT 63
 #define AMDGPU_TILING_SCANOUT_MASK 0x1
+#define AMDGPU_TILING_GFX12_SWIZZLE_MODE_SHIFT 0
+#define AMDGPU_TILING_GFX12_SWIZZLE_MODE_MASK 0x7
+#define AMDGPU_TILING_GFX12_DCC_MAX_COMPRESSED_BLOCK_SHIFT 3
+#define AMDGPU_TILING_GFX12_DCC_MAX_COMPRESSED_BLOCK_MASK 0x3
+#define AMDGPU_TILING_GFX12_DCC_NUMBER_TYPE_SHIFT 5
+#define AMDGPU_TILING_GFX12_DCC_NUMBER_TYPE_MASK 0x7
+#define AMDGPU_TILING_GFX12_DCC_DATA_FORMAT_SHIFT 8
+#define AMDGPU_TILING_GFX12_DCC_DATA_FORMAT_MASK 0x3f
 #define AMDGPU_TILING_SET(field,value) (((__u64) (value) & AMDGPU_TILING_ ##field ##_MASK) << AMDGPU_TILING_ ##field ##_SHIFT)
 #define AMDGPU_TILING_GET(value,field) (((__u64) (value) >> AMDGPU_TILING_ ##field ##_SHIFT) & AMDGPU_TILING_ ##field ##_MASK)
 #define AMDGPU_GEM_METADATA_OP_SET_METADATA 1
@@ -341,7 +341,8 @@
 #define AMDGPU_HW_IP_VCN_DEC 6
 #define AMDGPU_HW_IP_VCN_ENC 7
 #define AMDGPU_HW_IP_VCN_JPEG 8
-#define AMDGPU_HW_IP_NUM 9
+#define AMDGPU_HW_IP_VPE 9
+#define AMDGPU_HW_IP_NUM 10
 #define AMDGPU_HW_IP_INSTANCE_MAX_COUNT 1
 #define AMDGPU_CHUNK_ID_IB 0x01
 #define AMDGPU_CHUNK_ID_FENCE 0x02
@@ -352,6 +353,7 @@
 #define AMDGPU_CHUNK_ID_SCHEDULED_DEPENDENCIES 0x07
 #define AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_WAIT 0x08
 #define AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_SIGNAL 0x09
+#define AMDGPU_CHUNK_ID_CP_GFX_SHADOW 0x0a
 struct drm_amdgpu_cs_chunk {
   __u32 chunk_id;
   __u32 length_dw;
@@ -425,9 +427,17 @@
     struct drm_amdgpu_cs_chunk_fence fence_data;
   };
 };
+#define AMDGPU_CS_CHUNK_CP_GFX_SHADOW_FLAGS_INIT_SHADOW 0x1
+struct drm_amdgpu_cs_chunk_cp_gfx_shadow {
+  __u64 shadow_va;
+  __u64 csa_va;
+  __u64 gds_va;
+  __u64 flags;
+};
 #define AMDGPU_IDS_FLAGS_FUSION 0x1
 #define AMDGPU_IDS_FLAGS_PREEMPTION 0x2
 #define AMDGPU_IDS_FLAGS_TMZ 0x4
+#define AMDGPU_IDS_FLAGS_CONFORMANT_TRUNC_COORD 0x8
 #define AMDGPU_INFO_ACCEL_WORKING 0x00
 #define AMDGPU_INFO_CRTC_FROM_ID 0x01
 #define AMDGPU_INFO_HW_IP_INFO 0x02
@@ -460,6 +470,7 @@
 #define AMDGPU_INFO_FW_MES_KIQ 0x19
 #define AMDGPU_INFO_FW_MES 0x1a
 #define AMDGPU_INFO_FW_IMU 0x1b
+#define AMDGPU_INFO_FW_VPE 0x1c
 #define AMDGPU_INFO_NUM_BYTES_MOVED 0x0f
 #define AMDGPU_INFO_VRAM_USAGE 0x10
 #define AMDGPU_INFO_GTT_USAGE 0x11
@@ -486,6 +497,9 @@
 #define AMDGPU_INFO_SENSOR_VDDGFX 0x7
 #define AMDGPU_INFO_SENSOR_STABLE_PSTATE_GFX_SCLK 0x8
 #define AMDGPU_INFO_SENSOR_STABLE_PSTATE_GFX_MCLK 0x9
+#define AMDGPU_INFO_SENSOR_PEAK_PSTATE_GFX_SCLK 0xa
+#define AMDGPU_INFO_SENSOR_PEAK_PSTATE_GFX_MCLK 0xb
+#define AMDGPU_INFO_SENSOR_GPU_INPUT_POWER 0xc
 #define AMDGPU_INFO_NUM_VRAM_CPU_PAGE_FAULTS 0x1E
 #define AMDGPU_INFO_VRAM_LOST_COUNTER 0x1F
 #define AMDGPU_INFO_RAS_ENABLED_FEATURES 0x20
@@ -506,6 +520,8 @@
 #define AMDGPU_INFO_VIDEO_CAPS 0x21
 #define AMDGPU_INFO_VIDEO_CAPS_DECODE 0
 #define AMDGPU_INFO_VIDEO_CAPS_ENCODE 1
+#define AMDGPU_INFO_MAX_IBS 0x22
+#define AMDGPU_INFO_GPUVM_FAULT 0x23
 #define AMDGPU_INFO_MMR_SE_INDEX_SHIFT 0
 #define AMDGPU_INFO_MMR_SE_INDEX_MASK 0xff
 #define AMDGPU_INFO_MMR_SH_INDEX_SHIFT 8
@@ -616,7 +632,7 @@
   __u32 enabled_rb_pipes_mask;
   __u32 num_rb_pipes;
   __u32 num_hw_gfx_contexts;
-  __u32 _pad;
+  __u32 pcie_gen;
   __u64 ids_flags;
   __u64 virtual_address_offset;
   __u64 virtual_address_max;
@@ -643,12 +659,26 @@
   __u32 gs_vgt_table_depth;
   __u32 gs_prim_buffer_depth;
   __u32 max_gs_waves_per_vgt;
-  __u32 _pad1;
+  __u32 pcie_num_lanes;
   __u32 cu_ao_bitmap[4][4];
   __u64 high_va_offset;
   __u64 high_va_max;
   __u32 pa_sc_tile_steering_override;
   __u64 tcc_disabled_mask;
+  __u64 min_engine_clock;
+  __u64 min_memory_clock;
+  __u32 tcp_cache_size;
+  __u32 num_sqc_per_wgp;
+  __u32 sqc_data_cache_size;
+  __u32 sqc_inst_cache_size;
+  __u32 gl1c_cache_size;
+  __u32 gl2c_cache_size;
+  __u64 mall_size;
+  __u32 enabled_rb_pipes_mask_hi;
+  __u32 shadow_size;
+  __u32 shadow_alignment;
+  __u32 csa_size;
+  __u32 csa_alignment;
 };
 struct drm_amdgpu_info_hw_ip {
   __u32 hw_ip_version_major;
@@ -695,6 +725,18 @@
 struct drm_amdgpu_info_video_caps {
   struct drm_amdgpu_info_video_codec_info codec_info[AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_COUNT];
 };
+#define AMDGPU_VMHUB_TYPE_MASK 0xff
+#define AMDGPU_VMHUB_TYPE_SHIFT 0
+#define AMDGPU_VMHUB_TYPE_GFX 0
+#define AMDGPU_VMHUB_TYPE_MM0 1
+#define AMDGPU_VMHUB_TYPE_MM1 2
+#define AMDGPU_VMHUB_IDX_MASK 0xff00
+#define AMDGPU_VMHUB_IDX_SHIFT 8
+struct drm_amdgpu_info_gpuvm_fault {
+  __u64 addr;
+  __u32 status;
+  __u32 vmhub;
+};
 #define AMDGPU_FAMILY_UNKNOWN 0
 #define AMDGPU_FAMILY_SI 110
 #define AMDGPU_FAMILY_CI 120
@@ -710,6 +752,11 @@
 #define AMDGPU_FAMILY_GC_11_0_1 148
 #define AMDGPU_FAMILY_GC_10_3_6 149
 #define AMDGPU_FAMILY_GC_10_3_7 151
+#define AMDGPU_FAMILY_GC_11_5_0 150
+#define AMDGPU_FAMILY_GC_12_0_0 152
+struct drm_color_ctm_3x4 {
+  __u64 matrix[12];
+};
 #ifdef __cplusplus
 }
 #endif
diff --git a/libc/kernel/uapi/drm/armada_drm.h b/libc/kernel/uapi/drm/armada_drm.h
index aabd23b..91ab468 100644
--- a/libc/kernel/uapi/drm/armada_drm.h
+++ b/libc/kernel/uapi/drm/armada_drm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef DRM_ARMADA_IOCTL_H
 #define DRM_ARMADA_IOCTL_H
 #include "drm.h"
diff --git a/libc/kernel/uapi/drm/drm.h b/libc/kernel/uapi/drm/drm.h
index 1954452..c8fab3c 100644
--- a/libc/kernel/uapi/drm/drm.h
+++ b/libc/kernel/uapi/drm/drm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _DRM_H_
 #define _DRM_H_
 #ifdef __linux__
@@ -365,6 +353,7 @@
 #define DRM_CAP_CRTC_IN_VBLANK_EVENT 0x12
 #define DRM_CAP_SYNCOBJ 0x13
 #define DRM_CAP_SYNCOBJ_TIMELINE 0x14
+#define DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP 0x15
 struct drm_get_cap {
   __u64 capability;
   __u64 value;
@@ -374,6 +363,7 @@
 #define DRM_CLIENT_CAP_ATOMIC 3
 #define DRM_CLIENT_CAP_ASPECT_RATIO 4
 #define DRM_CLIENT_CAP_WRITEBACK_CONNECTORS 5
+#define DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT 6
 struct drm_set_client_cap {
   __u64 capability;
   __u64 value;
@@ -413,6 +403,7 @@
 #define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL (1 << 0)
 #define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT (1 << 1)
 #define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE (1 << 2)
+#define DRM_SYNCOBJ_WAIT_FLAGS_WAIT_DEADLINE (1 << 3)
 struct drm_syncobj_wait {
   __u64 handles;
   __s64 timeout_nsec;
@@ -420,6 +411,7 @@
   __u32 flags;
   __u32 first_signaled;
   __u32 pad;
+  __u64 deadline_nsec;
 };
 struct drm_syncobj_timeline_wait {
   __u64 handles;
@@ -429,6 +421,14 @@
   __u32 flags;
   __u32 first_signaled;
   __u32 pad;
+  __u64 deadline_nsec;
+};
+struct drm_syncobj_eventfd {
+  __u32 handle;
+  __u32 flags;
+  __u64 point;
+  __s32 fd;
+  __u32 pad;
 };
 struct drm_syncobj_array {
   __u64 handles;
@@ -574,6 +574,8 @@
 #define DRM_IOCTL_SYNCOBJ_TRANSFER DRM_IOWR(0xCC, struct drm_syncobj_transfer)
 #define DRM_IOCTL_SYNCOBJ_TIMELINE_SIGNAL DRM_IOWR(0xCD, struct drm_syncobj_timeline_array)
 #define DRM_IOCTL_MODE_GETFB2 DRM_IOWR(0xCE, struct drm_mode_fb_cmd2)
+#define DRM_IOCTL_SYNCOBJ_EVENTFD DRM_IOWR(0xCF, struct drm_syncobj_eventfd)
+#define DRM_IOCTL_MODE_CLOSEFB DRM_IOWR(0xD0, struct drm_mode_closefb)
 #define DRM_COMMAND_BASE 0x40
 #define DRM_COMMAND_END 0xA0
 struct drm_event {
diff --git a/libc/kernel/uapi/drm/drm_fourcc.h b/libc/kernel/uapi/drm/drm_fourcc.h
index ea9525d..4902d6c 100644
--- a/libc/kernel/uapi/drm/drm_fourcc.h
+++ b/libc/kernel/uapi/drm/drm_fourcc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef DRM_FOURCC_H
 #define DRM_FOURCC_H
 #include "drm.h"
@@ -131,6 +119,8 @@
 #define DRM_FORMAT_NV24 fourcc_code('N', 'V', '2', '4')
 #define DRM_FORMAT_NV42 fourcc_code('N', 'V', '4', '2')
 #define DRM_FORMAT_NV15 fourcc_code('N', 'V', '1', '5')
+#define DRM_FORMAT_NV20 fourcc_code('N', 'V', '2', '0')
+#define DRM_FORMAT_NV30 fourcc_code('N', 'V', '3', '0')
 #define DRM_FORMAT_P210 fourcc_code('P', '2', '1', '0')
 #define DRM_FORMAT_P010 fourcc_code('P', '0', '1', '0')
 #define DRM_FORMAT_P012 fourcc_code('P', '0', '1', '2')
@@ -179,6 +169,9 @@
 #define I915_FORMAT_MOD_4_TILED_DG2_RC_CCS fourcc_mod_code(INTEL, 10)
 #define I915_FORMAT_MOD_4_TILED_DG2_MC_CCS fourcc_mod_code(INTEL, 11)
 #define I915_FORMAT_MOD_4_TILED_DG2_RC_CCS_CC fourcc_mod_code(INTEL, 12)
+#define I915_FORMAT_MOD_4_TILED_MTL_RC_CCS fourcc_mod_code(INTEL, 13)
+#define I915_FORMAT_MOD_4_TILED_MTL_MC_CCS fourcc_mod_code(INTEL, 14)
+#define I915_FORMAT_MOD_4_TILED_MTL_RC_CCS_CC fourcc_mod_code(INTEL, 15)
 #define DRM_FORMAT_MOD_SAMSUNG_64_32_TILE fourcc_mod_code(SAMSUNG, 1)
 #define DRM_FORMAT_MOD_SAMSUNG_16_16_TILE fourcc_mod_code(SAMSUNG, 2)
 #define DRM_FORMAT_MOD_QCOM_COMPRESSED fourcc_mod_code(QCOM, 1)
@@ -262,12 +255,17 @@
 #define AMD_FMT_MOD_TILE_VER_GFX10 2
 #define AMD_FMT_MOD_TILE_VER_GFX10_RBPLUS 3
 #define AMD_FMT_MOD_TILE_VER_GFX11 4
+#define AMD_FMT_MOD_TILE_VER_GFX12 5
 #define AMD_FMT_MOD_TILE_GFX9_64K_S 9
 #define AMD_FMT_MOD_TILE_GFX9_64K_D 10
 #define AMD_FMT_MOD_TILE_GFX9_64K_S_X 25
 #define AMD_FMT_MOD_TILE_GFX9_64K_D_X 26
 #define AMD_FMT_MOD_TILE_GFX9_64K_R_X 27
 #define AMD_FMT_MOD_TILE_GFX11_256K_R_X 31
+#define AMD_FMT_MOD_TILE_GFX12_256B_2D 1
+#define AMD_FMT_MOD_TILE_GFX12_4K_2D 2
+#define AMD_FMT_MOD_TILE_GFX12_64K_2D 3
+#define AMD_FMT_MOD_TILE_GFX12_256K_2D 4
 #define AMD_FMT_MOD_DCC_BLOCK_64B 0
 #define AMD_FMT_MOD_DCC_BLOCK_128B 1
 #define AMD_FMT_MOD_DCC_BLOCK_256B 2
diff --git a/libc/kernel/uapi/drm/drm_mode.h b/libc/kernel/uapi/drm/drm_mode.h
index 9a6a6d9..06c91c5 100644
--- a/libc/kernel/uapi/drm/drm_mode.h
+++ b/libc/kernel/uapi/drm/drm_mode.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _DRM_MODE_H
 #define _DRM_MODE_H
 #include "drm.h"
@@ -375,6 +363,10 @@
   __u16 blue;
   __u16 reserved;
 };
+struct drm_plane_size_hint {
+  __u16 width;
+  __u16 height;
+};
 struct hdr_metadata_infoframe {
   __u8 eotf;
   __u8 metadata_type;
@@ -495,6 +487,10 @@
   __s32 x2;
   __s32 y2;
 };
+struct drm_mode_closefb {
+  __u32 fb_id;
+  __u32 pad;
+};
 #ifdef __cplusplus
 }
 #endif
diff --git a/libc/kernel/uapi/drm/drm_sarea.h b/libc/kernel/uapi/drm/drm_sarea.h
index a0c7f3a..abe9191 100644
--- a/libc/kernel/uapi/drm/drm_sarea.h
+++ b/libc/kernel/uapi/drm/drm_sarea.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _DRM_SAREA_H_
 #define _DRM_SAREA_H_
 #include "drm.h"
diff --git a/libc/kernel/uapi/drm/etnaviv_drm.h b/libc/kernel/uapi/drm/etnaviv_drm.h
index 7f8d5fa..2fe61d6 100644
--- a/libc/kernel/uapi/drm/etnaviv_drm.h
+++ b/libc/kernel/uapi/drm/etnaviv_drm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ETNAVIV_DRM_H__
 #define __ETNAVIV_DRM_H__
 #include "drm.h"
diff --git a/libc/kernel/uapi/drm/exynos_drm.h b/libc/kernel/uapi/drm/exynos_drm.h
index 4918035..cd4ab16 100644
--- a/libc/kernel/uapi/drm/exynos_drm.h
+++ b/libc/kernel/uapi/drm/exynos_drm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_EXYNOS_DRM_H_
 #define _UAPI_EXYNOS_DRM_H_
 #include "drm.h"
diff --git a/libc/kernel/uapi/misc/habanalabs.h b/libc/kernel/uapi/drm/habanalabs_accel.h
similarity index 91%
rename from libc/kernel/uapi/misc/habanalabs.h
rename to libc/kernel/uapi/drm/habanalabs_accel.h
index b25c833..47afb82 100644
--- a/libc/kernel/uapi/misc/habanalabs.h
+++ b/libc/kernel/uapi/drm/habanalabs_accel.h
@@ -1,25 +1,12 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef HABANALABS_H_
 #define HABANALABS_H_
-#include <linux/types.h>
-#include <linux/ioctl.h>
+#include <drm/drm.h>
 #define GOYA_KMD_SRAM_RESERVED_SIZE_FROM_START 0x8000
 #define GAUDI_DRIVER_SRAM_RESERVED_SIZE_FROM_START 0x80
 #define GAUDI_FIRST_AVAILABLE_W_S_SYNC_OBJECT 144
@@ -619,7 +606,8 @@
   HL_SERVER_GAUDI_HLS1H = 2,
   HL_SERVER_GAUDI_TYPE1 = 3,
   HL_SERVER_GAUDI_TYPE2 = 4,
-  HL_SERVER_GAUDI2_HLS2 = 5
+  HL_SERVER_GAUDI2_HLS2 = 5,
+  HL_SERVER_GAUDI2_TYPE1 = 7
 };
 #define HL_NOTIFIER_EVENT_TPC_ASSERT (1ULL << 0)
 #define HL_NOTIFIER_EVENT_UNDEFINED_OPCODE (1ULL << 1)
@@ -630,6 +618,8 @@
 #define HL_NOTIFIER_EVENT_GENERAL_HW_ERR (1ULL << 6)
 #define HL_NOTIFIER_EVENT_RAZWI (1ULL << 7)
 #define HL_NOTIFIER_EVENT_PAGE_FAULT (1ULL << 8)
+#define HL_NOTIFIER_EVENT_CRITICL_HW_ERR (1ULL << 9)
+#define HL_NOTIFIER_EVENT_CRITICL_FW_ERR (1ULL << 10)
 #define HL_INFO_HW_IP_INFO 0
 #define HL_INFO_HW_EVENTS 1
 #define HL_INFO_DRAM_USAGE 2
@@ -662,6 +652,11 @@
 #define HL_INFO_ENGINE_STATUS 32
 #define HL_INFO_PAGE_FAULT_EVENT 33
 #define HL_INFO_USER_MAPPINGS 34
+#define HL_INFO_FW_GENERIC_REQ 35
+#define HL_INFO_HW_ERR_EVENT 36
+#define HL_INFO_FW_ERR_EVENT 37
+#define HL_INFO_USER_ENGINE_ERR_EVENT 38
+#define HL_INFO_DEV_SIGNED 40
 #define HL_INFO_VERSION_MAX_LEN 128
 #define HL_INFO_CARD_NAME_MAX_LEN 16
 #define HL_ENGINES_DATA_MAX_SIZE SZ_1M
@@ -691,15 +686,20 @@
   __u64 dram_page_size;
   __u32 edma_enabled_mask;
   __u16 number_of_user_interrupts;
-  __u16 pad2;
-  __u64 reserved4;
+  __u8 reserved1;
+  __u8 reserved2;
+  __u64 reserved3;
   __u64 device_mem_alloc_default_page_size;
+  __u64 reserved4;
   __u64 reserved5;
-  __u64 reserved6;
-  __u32 reserved7;
-  __u8 reserved8;
+  __u32 reserved6;
+  __u8 reserved7;
   __u8 revision_id;
-  __u8 pad[2];
+  __u16 tpc_interrupt_id;
+  __u32 rotator_enabled_mask;
+  __u32 reserved9;
+  __u64 engine_core_interrupt_reg_addr;
+  __u64 reserved_dram_size;
 };
 struct hl_info_dram_usage {
   __u64 dram_free_mem;
@@ -730,6 +730,7 @@
 struct hl_info_time_sync {
   __u64 device_time;
   __u64 host_time;
+  __u64 tsc_time;
 };
 struct hl_info_pci_counters {
   __u64 rx_throughput;
@@ -820,6 +821,27 @@
   __u32 engine_id;
   __u32 stream_id;
 };
+struct hl_info_hw_err_event {
+  __s64 timestamp;
+  __u16 event_id;
+  __u16 pad[3];
+};
+enum hl_info_fw_err_type {
+  HL_INFO_FW_HEARTBEAT_ERR,
+  HL_INFO_FW_REPORTED_ERR,
+};
+struct hl_info_fw_err_event {
+  __s64 timestamp;
+  __u16 err_type;
+  __u16 event_id;
+  __u32 pad;
+};
+struct hl_info_engine_err_event {
+  __s64 timestamp;
+  __u16 engine_id;
+  __u16 error_count;
+  __u32 pad;
+};
 struct hl_info_dev_memalloc_page_sizes {
   __u64 page_order_bitmask;
 };
@@ -828,6 +850,7 @@
 #define SEC_SIGNATURE_BUF_SZ 255
 #define SEC_PUB_DATA_BUF_SZ 510
 #define SEC_CERTIFICATE_BUF_SZ 2046
+#define SEC_DEV_INFO_BUF_SZ 5120
 struct hl_info_sec_attest {
   __u32 nonce;
   __u16 pcr_quote_len;
@@ -843,6 +866,18 @@
   __u8 certificate[SEC_CERTIFICATE_BUF_SZ];
   __u8 pad0[2];
 };
+struct hl_info_signed {
+  __u32 nonce;
+  __u16 pub_data_len;
+  __u16 certificate_len;
+  __u8 info_sig_len;
+  __u8 public_data[SEC_PUB_DATA_BUF_SZ];
+  __u8 certificate[SEC_CERTIFICATE_BUF_SZ];
+  __u8 info_sig[SEC_SIGNATURE_BUF_SZ];
+  __u16 dev_info_len;
+  __u8 dev_info[SEC_DEV_INFO_BUF_SZ];
+  __u8 pad[2];
+};
 struct hl_page_fault_info {
   __s64 timestamp;
   __u64 addr;
@@ -872,6 +907,7 @@
     __u32 user_buffer_actual_size;
     __u32 sec_attest_nonce;
     __u32 array_size;
+    __u32 fw_sub_opcode;
   };
   __u32 pad;
 };
@@ -935,10 +971,17 @@
 #define HL_CS_FLAGS_RESERVE_SIGNALS_ONLY 0x1000
 #define HL_CS_FLAGS_UNRESERVE_SIGNALS_ONLY 0x2000
 #define HL_CS_FLAGS_ENGINE_CORE_COMMAND 0x4000
+#define HL_CS_FLAGS_FLUSH_PCI_HBW_WRITES 0x8000
+#define HL_CS_FLAGS_ENGINES_COMMAND 0x10000
 #define HL_CS_STATUS_SUCCESS 0
 #define HL_MAX_JOBS_PER_CS 512
-#define HL_ENGINE_CORE_HALT (1 << 0)
-#define HL_ENGINE_CORE_RUN (1 << 1)
+enum hl_engine_command {
+  HL_ENGINE_CORE_HALT = 1,
+  HL_ENGINE_CORE_RUN = 2,
+  HL_ENGINE_STALL = 3,
+  HL_ENGINE_RESUME = 4,
+  HL_ENGINE_COMMAND_MAX
+};
 struct hl_cs_in {
   union {
     struct {
@@ -950,6 +993,11 @@
       __u32 num_engine_cores;
       __u32 core_command;
     };
+    struct {
+      __u64 engines;
+      __u32 num_engines;
+      __u32 engine_command;
+    };
   };
   union {
     __u64 seq;
@@ -1072,8 +1120,9 @@
       __u64 device_virt_addr;
     } unmap;
     struct {
-      __u64 handle;
+      __u64 addr;
       __u64 mem_size;
+      __u64 offset;
     } export_dmabuf_fd;
   };
   __u32 op;
@@ -1155,12 +1204,18 @@
   __u32 enable;
   __u32 ctx_id;
 };
-#define HL_IOCTL_INFO _IOWR('H', 0x01, struct hl_info_args)
-#define HL_IOCTL_CB _IOWR('H', 0x02, union hl_cb_args)
-#define HL_IOCTL_CS _IOWR('H', 0x03, union hl_cs_args)
-#define HL_IOCTL_WAIT_CS _IOWR('H', 0x04, union hl_wait_cs_args)
-#define HL_IOCTL_MEMORY _IOWR('H', 0x05, union hl_mem_args)
-#define HL_IOCTL_DEBUG _IOWR('H', 0x06, struct hl_debug_args)
-#define HL_COMMAND_START 0x01
-#define HL_COMMAND_END 0x07
+#define HL_IOCTL_INFO 0x00
+#define HL_IOCTL_CB 0x01
+#define HL_IOCTL_CS 0x02
+#define HL_IOCTL_WAIT_CS 0x03
+#define HL_IOCTL_MEMORY 0x04
+#define HL_IOCTL_DEBUG 0x05
+#define DRM_IOCTL_HL_INFO DRM_IOWR(DRM_COMMAND_BASE + HL_IOCTL_INFO, struct hl_info_args)
+#define DRM_IOCTL_HL_CB DRM_IOWR(DRM_COMMAND_BASE + HL_IOCTL_CB, union hl_cb_args)
+#define DRM_IOCTL_HL_CS DRM_IOWR(DRM_COMMAND_BASE + HL_IOCTL_CS, union hl_cs_args)
+#define DRM_IOCTL_HL_WAIT_CS DRM_IOWR(DRM_COMMAND_BASE + HL_IOCTL_WAIT_CS, union hl_wait_cs_args)
+#define DRM_IOCTL_HL_MEMORY DRM_IOWR(DRM_COMMAND_BASE + HL_IOCTL_MEMORY, union hl_mem_args)
+#define DRM_IOCTL_HL_DEBUG DRM_IOWR(DRM_COMMAND_BASE + HL_IOCTL_DEBUG, struct hl_debug_args)
+#define HL_COMMAND_START (DRM_COMMAND_BASE + HL_IOCTL_INFO)
+#define HL_COMMAND_END (DRM_COMMAND_BASE + HL_IOCTL_DEBUG + 1)
 #endif
diff --git a/libc/kernel/uapi/drm/i810_drm.h b/libc/kernel/uapi/drm/i810_drm.h
deleted file mode 100644
index e33387d..0000000
--- a/libc/kernel/uapi/drm/i810_drm.h
+++ /dev/null
@@ -1,220 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef _I810_DRM_H_
-#define _I810_DRM_H_
-#include "drm.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef _I810_DEFINES_
-#define _I810_DEFINES_
-#define I810_DMA_BUF_ORDER 12
-#define I810_DMA_BUF_SZ (1 << I810_DMA_BUF_ORDER)
-#define I810_DMA_BUF_NR 256
-#define I810_NR_SAREA_CLIPRECTS 8
-#define I810_NR_TEX_REGIONS 64
-#define I810_LOG_MIN_TEX_REGION_SIZE 16
-#endif
-#define I810_UPLOAD_TEX0IMAGE 0x1
-#define I810_UPLOAD_TEX1IMAGE 0x2
-#define I810_UPLOAD_CTX 0x4
-#define I810_UPLOAD_BUFFERS 0x8
-#define I810_UPLOAD_TEX0 0x10
-#define I810_UPLOAD_TEX1 0x20
-#define I810_UPLOAD_CLIPRECTS 0x40
-#define I810_DESTREG_DI0 0
-#define I810_DESTREG_DI1 1
-#define I810_DESTREG_DV0 2
-#define I810_DESTREG_DV1 3
-#define I810_DESTREG_DR0 4
-#define I810_DESTREG_DR1 5
-#define I810_DESTREG_DR2 6
-#define I810_DESTREG_DR3 7
-#define I810_DESTREG_DR4 8
-#define I810_DEST_SETUP_SIZE 10
-#define I810_CTXREG_CF0 0
-#define I810_CTXREG_CF1 1
-#define I810_CTXREG_ST0 2
-#define I810_CTXREG_ST1 3
-#define I810_CTXREG_VF 4
-#define I810_CTXREG_MT 5
-#define I810_CTXREG_MC0 6
-#define I810_CTXREG_MC1 7
-#define I810_CTXREG_MC2 8
-#define I810_CTXREG_MA0 9
-#define I810_CTXREG_MA1 10
-#define I810_CTXREG_MA2 11
-#define I810_CTXREG_SDM 12
-#define I810_CTXREG_FOG 13
-#define I810_CTXREG_B1 14
-#define I810_CTXREG_B2 15
-#define I810_CTXREG_LCS 16
-#define I810_CTXREG_PV 17
-#define I810_CTXREG_ZA 18
-#define I810_CTXREG_AA 19
-#define I810_CTX_SETUP_SIZE 20
-#define I810_TEXREG_MI0 0
-#define I810_TEXREG_MI1 1
-#define I810_TEXREG_MI2 2
-#define I810_TEXREG_MI3 3
-#define I810_TEXREG_MF 4
-#define I810_TEXREG_MLC 5
-#define I810_TEXREG_MLL 6
-#define I810_TEXREG_MCS 7
-#define I810_TEX_SETUP_SIZE 8
-#define I810_FRONT 0x1
-#define I810_BACK 0x2
-#define I810_DEPTH 0x4
-typedef enum _drm_i810_init_func {
-  I810_INIT_DMA = 0x01,
-  I810_CLEANUP_DMA = 0x02,
-  I810_INIT_DMA_1_4 = 0x03
-} drm_i810_init_func_t;
-typedef struct _drm_i810_init {
-  drm_i810_init_func_t func;
-  unsigned int mmio_offset;
-  unsigned int buffers_offset;
-  int sarea_priv_offset;
-  unsigned int ring_start;
-  unsigned int ring_end;
-  unsigned int ring_size;
-  unsigned int front_offset;
-  unsigned int back_offset;
-  unsigned int depth_offset;
-  unsigned int overlay_offset;
-  unsigned int overlay_physical;
-  unsigned int w;
-  unsigned int h;
-  unsigned int pitch;
-  unsigned int pitch_bits;
-} drm_i810_init_t;
-typedef struct _drm_i810_pre12_init {
-  drm_i810_init_func_t func;
-  unsigned int mmio_offset;
-  unsigned int buffers_offset;
-  int sarea_priv_offset;
-  unsigned int ring_start;
-  unsigned int ring_end;
-  unsigned int ring_size;
-  unsigned int front_offset;
-  unsigned int back_offset;
-  unsigned int depth_offset;
-  unsigned int w;
-  unsigned int h;
-  unsigned int pitch;
-  unsigned int pitch_bits;
-} drm_i810_pre12_init_t;
-typedef struct _drm_i810_tex_region {
-  unsigned char next, prev;
-  unsigned char in_use;
-  int age;
-} drm_i810_tex_region_t;
-typedef struct _drm_i810_sarea {
-  unsigned int ContextState[I810_CTX_SETUP_SIZE];
-  unsigned int BufferState[I810_DEST_SETUP_SIZE];
-  unsigned int TexState[2][I810_TEX_SETUP_SIZE];
-  unsigned int dirty;
-  unsigned int nbox;
-  struct drm_clip_rect boxes[I810_NR_SAREA_CLIPRECTS];
-  drm_i810_tex_region_t texList[I810_NR_TEX_REGIONS + 1];
-  int texAge;
-  int last_enqueue;
-  int last_dispatch;
-  int last_quiescent;
-  int ctxOwner;
-  int vertex_prim;
-  int pf_enabled;
-  int pf_active;
-  int pf_current_page;
-} drm_i810_sarea_t;
-#define DRM_I810_INIT 0x00
-#define DRM_I810_VERTEX 0x01
-#define DRM_I810_CLEAR 0x02
-#define DRM_I810_FLUSH 0x03
-#define DRM_I810_GETAGE 0x04
-#define DRM_I810_GETBUF 0x05
-#define DRM_I810_SWAP 0x06
-#define DRM_I810_COPY 0x07
-#define DRM_I810_DOCOPY 0x08
-#define DRM_I810_OV0INFO 0x09
-#define DRM_I810_FSTATUS 0x0a
-#define DRM_I810_OV0FLIP 0x0b
-#define DRM_I810_MC 0x0c
-#define DRM_I810_RSTATUS 0x0d
-#define DRM_I810_FLIP 0x0e
-#define DRM_IOCTL_I810_INIT DRM_IOW(DRM_COMMAND_BASE + DRM_I810_INIT, drm_i810_init_t)
-#define DRM_IOCTL_I810_VERTEX DRM_IOW(DRM_COMMAND_BASE + DRM_I810_VERTEX, drm_i810_vertex_t)
-#define DRM_IOCTL_I810_CLEAR DRM_IOW(DRM_COMMAND_BASE + DRM_I810_CLEAR, drm_i810_clear_t)
-#define DRM_IOCTL_I810_FLUSH DRM_IO(DRM_COMMAND_BASE + DRM_I810_FLUSH)
-#define DRM_IOCTL_I810_GETAGE DRM_IO(DRM_COMMAND_BASE + DRM_I810_GETAGE)
-#define DRM_IOCTL_I810_GETBUF DRM_IOWR(DRM_COMMAND_BASE + DRM_I810_GETBUF, drm_i810_dma_t)
-#define DRM_IOCTL_I810_SWAP DRM_IO(DRM_COMMAND_BASE + DRM_I810_SWAP)
-#define DRM_IOCTL_I810_COPY DRM_IOW(DRM_COMMAND_BASE + DRM_I810_COPY, drm_i810_copy_t)
-#define DRM_IOCTL_I810_DOCOPY DRM_IO(DRM_COMMAND_BASE + DRM_I810_DOCOPY)
-#define DRM_IOCTL_I810_OV0INFO DRM_IOR(DRM_COMMAND_BASE + DRM_I810_OV0INFO, drm_i810_overlay_t)
-#define DRM_IOCTL_I810_FSTATUS DRM_IO(DRM_COMMAND_BASE + DRM_I810_FSTATUS)
-#define DRM_IOCTL_I810_OV0FLIP DRM_IO(DRM_COMMAND_BASE + DRM_I810_OV0FLIP)
-#define DRM_IOCTL_I810_MC DRM_IOW(DRM_COMMAND_BASE + DRM_I810_MC, drm_i810_mc_t)
-#define DRM_IOCTL_I810_RSTATUS DRM_IO(DRM_COMMAND_BASE + DRM_I810_RSTATUS)
-#define DRM_IOCTL_I810_FLIP DRM_IO(DRM_COMMAND_BASE + DRM_I810_FLIP)
-typedef struct _drm_i810_clear {
-  int clear_color;
-  int clear_depth;
-  int flags;
-} drm_i810_clear_t;
-typedef struct _drm_i810_vertex {
-  int idx;
-  int used;
-  int discard;
-} drm_i810_vertex_t;
-typedef struct _drm_i810_copy_t {
-  int idx;
-  int used;
-  void * address;
-} drm_i810_copy_t;
-#define PR_TRIANGLES (0x0 << 18)
-#define PR_TRISTRIP_0 (0x1 << 18)
-#define PR_TRISTRIP_1 (0x2 << 18)
-#define PR_TRIFAN (0x3 << 18)
-#define PR_POLYGON (0x4 << 18)
-#define PR_LINES (0x5 << 18)
-#define PR_LINESTRIP (0x6 << 18)
-#define PR_RECTS (0x7 << 18)
-#define PR_MASK (0x7 << 18)
-typedef struct drm_i810_dma {
-  void * __linux_virtual;
-  int request_idx;
-  int request_size;
-  int granted;
-} drm_i810_dma_t;
-typedef struct _drm_i810_overlay_t {
-  unsigned int offset;
-  unsigned int physical;
-} drm_i810_overlay_t;
-typedef struct _drm_i810_mc {
-  int idx;
-  int used;
-  int num_blocks;
-  int * length;
-  unsigned int last_render;
-} drm_i810_mc_t;
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/libc/kernel/uapi/drm/i915_drm.h b/libc/kernel/uapi/drm/i915_drm.h
index 794e784..b43d8df 100644
--- a/libc/kernel/uapi/drm/i915_drm.h
+++ b/libc/kernel/uapi/drm/i915_drm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_I915_DRM_H_
 #define _UAPI_I915_DRM_H_
 #include "drm.h"
@@ -59,17 +47,24 @@
 #define I915_PMU_SAMPLE_MASK (0xf)
 #define I915_PMU_SAMPLE_INSTANCE_BITS (8)
 #define I915_PMU_CLASS_SHIFT (I915_PMU_SAMPLE_BITS + I915_PMU_SAMPLE_INSTANCE_BITS)
-#define __I915_PMU_ENGINE(class,instance,sample) ((class) << I915_PMU_CLASS_SHIFT | (instance) << I915_PMU_SAMPLE_BITS | (sample))
-#define I915_PMU_ENGINE_BUSY(class,instance) __I915_PMU_ENGINE(class, instance, I915_SAMPLE_BUSY)
-#define I915_PMU_ENGINE_WAIT(class,instance) __I915_PMU_ENGINE(class, instance, I915_SAMPLE_WAIT)
-#define I915_PMU_ENGINE_SEMA(class,instance) __I915_PMU_ENGINE(class, instance, I915_SAMPLE_SEMA)
-#define __I915_PMU_OTHER(x) (__I915_PMU_ENGINE(0xff, 0xff, 0xf) + 1 + (x))
+#define __I915_PMU_ENGINE(__linux_class,instance,sample) ((__linux_class) << I915_PMU_CLASS_SHIFT | (instance) << I915_PMU_SAMPLE_BITS | (sample))
+#define I915_PMU_ENGINE_BUSY(__linux_class,instance) __I915_PMU_ENGINE(__linux_class, instance, I915_SAMPLE_BUSY)
+#define I915_PMU_ENGINE_WAIT(__linux_class,instance) __I915_PMU_ENGINE(__linux_class, instance, I915_SAMPLE_WAIT)
+#define I915_PMU_ENGINE_SEMA(__linux_class,instance) __I915_PMU_ENGINE(__linux_class, instance, I915_SAMPLE_SEMA)
+#define __I915_PMU_GT_SHIFT (60)
+#define ___I915_PMU_OTHER(gt,x) (((__u64) __I915_PMU_ENGINE(0xff, 0xff, 0xf) + 1 + (x)) | ((__u64) (gt) << __I915_PMU_GT_SHIFT))
+#define __I915_PMU_OTHER(x) ___I915_PMU_OTHER(0, x)
 #define I915_PMU_ACTUAL_FREQUENCY __I915_PMU_OTHER(0)
 #define I915_PMU_REQUESTED_FREQUENCY __I915_PMU_OTHER(1)
 #define I915_PMU_INTERRUPTS __I915_PMU_OTHER(2)
 #define I915_PMU_RC6_RESIDENCY __I915_PMU_OTHER(3)
 #define I915_PMU_SOFTWARE_GT_AWAKE_TIME __I915_PMU_OTHER(4)
 #define I915_PMU_LAST I915_PMU_RC6_RESIDENCY
+#define __I915_PMU_ACTUAL_FREQUENCY(gt) ___I915_PMU_OTHER(gt, 0)
+#define __I915_PMU_REQUESTED_FREQUENCY(gt) ___I915_PMU_OTHER(gt, 1)
+#define __I915_PMU_INTERRUPTS(gt) ___I915_PMU_OTHER(gt, 2)
+#define __I915_PMU_RC6_RESIDENCY(gt) ___I915_PMU_OTHER(gt, 3)
+#define __I915_PMU_SOFTWARE_GT_AWAKE_TIME(gt) ___I915_PMU_OTHER(gt, 4)
 #define I915_NR_TEX_REGIONS 255
 #define I915_LOG_MIN_TEX_REGION_SIZE 14
 typedef struct _drm_i915_init {
@@ -369,6 +364,8 @@
 #define I915_PARAM_HAS_EXEC_TIMELINE_FENCES 55
 #define I915_PARAM_HAS_USERPTR_PROBE 56
 #define I915_PARAM_OA_TIMESTAMP_FREQUENCY 57
+#define I915_PARAM_PXP_STATUS 58
+#define I915_PARAM_HAS_CONTEXT_FREQ_HINT 59
 struct drm_i915_getparam {
   __s32 param;
   int  * value;
@@ -747,6 +744,8 @@
 #define I915_CONTEXT_PARAM_PERSISTENCE 0xb
 #define I915_CONTEXT_PARAM_RINGSIZE 0xc
 #define I915_CONTEXT_PARAM_PROTECTED_CONTENT 0xd
+#define I915_CONTEXT_PARAM_LOW_LATENCY 0xe
+#define I915_CONTEXT_PARAM_CONTEXT_IMAGE 0xf
   __u64 value;
 };
 struct drm_i915_gem_context_param_sseu {
@@ -797,10 +796,18 @@
 #define I915_CONTEXT_ENGINES_EXT_LOAD_BALANCE 0
 #define I915_CONTEXT_ENGINES_EXT_BOND 1
 #define I915_CONTEXT_ENGINES_EXT_PARALLEL_SUBMIT 2
-  struct i915_engine_class_instance engines[0];
+  struct i915_engine_class_instance engines[];
 } __attribute__((packed));
 #define I915_DEFINE_CONTEXT_PARAM_ENGINES(name__,N__) struct { __u64 extensions; struct i915_engine_class_instance engines[N__]; \
 } __attribute__((packed)) name__
+struct i915_gem_context_param_context_image {
+  struct i915_engine_class_instance engine;
+  __u32 flags;
+#define I915_CONTEXT_IMAGE_FLAG_ENGINE_INDEX (1u << 0)
+  __u32 size;
+  __u32 mbz;
+  __u64 image;
+} __attribute__((packed));
 struct drm_i915_gem_context_create_ext_setparam {
   struct i915_user_extension base;
   struct drm_i915_gem_context_param param;
@@ -849,6 +856,8 @@
   I915_OA_FORMAT_A32u40_A4u32_B8_C8,
   I915_OAR_FORMAT_A32u40_A4u32_B8_C8,
   I915_OA_FORMAT_A24u40_A14u32_B8_C8,
+  I915_OAM_FORMAT_MPEC8u64_B8_C8,
+  I915_OAM_FORMAT_MPEC8u32_B8_C8,
   I915_OA_FORMAT_MAX
 };
 enum drm_i915_perf_property_id {
@@ -860,6 +869,8 @@
   DRM_I915_PERF_PROP_HOLD_PREEMPTION,
   DRM_I915_PERF_PROP_GLOBAL_SSEU,
   DRM_I915_PERF_PROP_POLL_OA_PERIOD,
+  DRM_I915_PERF_PROP_OA_ENGINE_CLASS,
+  DRM_I915_PERF_PROP_OA_ENGINE_INSTANCE,
   DRM_I915_PERF_PROP_MAX
 };
 struct drm_i915_perf_open_param {
@@ -901,6 +912,7 @@
 #define DRM_I915_QUERY_MEMORY_REGIONS 4
 #define DRM_I915_QUERY_HWCONFIG_BLOB 5
 #define DRM_I915_QUERY_GEOMETRY_SUBSLICES 6
+#define DRM_I915_QUERY_GUC_SUBMISSION_VERSION 7
   __s32 length;
   __u32 flags;
 #define DRM_I915_QUERY_PERF_CONFIG_LIST 1
@@ -976,6 +988,12 @@
   __u32 rsvd[3];
   struct drm_i915_memory_region_info regions[];
 };
+struct drm_i915_query_guc_submission_version {
+  __u32 branch;
+  __u32 major;
+  __u32 minor;
+  __u32 patch;
+};
 struct drm_i915_gem_create_ext {
   __u64 size;
   __u32 handle;
@@ -983,6 +1001,7 @@
   __u32 flags;
 #define I915_GEM_CREATE_EXT_MEMORY_REGIONS 0
 #define I915_GEM_CREATE_EXT_PROTECTED_CONTENT 1
+#define I915_GEM_CREATE_EXT_SET_PAT 2
   __u64 extensions;
 };
 struct drm_i915_gem_create_ext_memory_regions {
@@ -995,6 +1014,11 @@
   struct i915_user_extension base;
   __u32 flags;
 };
+struct drm_i915_gem_create_ext_set_pat {
+  struct i915_user_extension base;
+  __u32 pat_index;
+  __u32 rsvd;
+};
 #define I915_PROTECTED_CONTENT_DEFAULT_SESSION 0xf
 #ifdef __cplusplus
 }
diff --git a/libc/kernel/uapi/drm/ivpu_accel.h b/libc/kernel/uapi/drm/ivpu_accel.h
new file mode 100644
index 0000000..960bd43
--- /dev/null
+++ b/libc/kernel/uapi/drm/ivpu_accel.h
@@ -0,0 +1,126 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef __UAPI_IVPU_DRM_H__
+#define __UAPI_IVPU_DRM_H__
+#include "drm.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define DRM_IVPU_DRIVER_MAJOR 1
+#define DRM_IVPU_DRIVER_MINOR 0
+#define DRM_IVPU_GET_PARAM 0x00
+#define DRM_IVPU_SET_PARAM 0x01
+#define DRM_IVPU_BO_CREATE 0x02
+#define DRM_IVPU_BO_INFO 0x03
+#define DRM_IVPU_SUBMIT 0x05
+#define DRM_IVPU_BO_WAIT 0x06
+#define DRM_IVPU_METRIC_STREAMER_START 0x07
+#define DRM_IVPU_METRIC_STREAMER_STOP 0x08
+#define DRM_IVPU_METRIC_STREAMER_GET_DATA 0x09
+#define DRM_IVPU_METRIC_STREAMER_GET_INFO 0x0a
+#define DRM_IOCTL_IVPU_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_IVPU_GET_PARAM, struct drm_ivpu_param)
+#define DRM_IOCTL_IVPU_SET_PARAM DRM_IOW(DRM_COMMAND_BASE + DRM_IVPU_SET_PARAM, struct drm_ivpu_param)
+#define DRM_IOCTL_IVPU_BO_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_IVPU_BO_CREATE, struct drm_ivpu_bo_create)
+#define DRM_IOCTL_IVPU_BO_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_IVPU_BO_INFO, struct drm_ivpu_bo_info)
+#define DRM_IOCTL_IVPU_SUBMIT DRM_IOW(DRM_COMMAND_BASE + DRM_IVPU_SUBMIT, struct drm_ivpu_submit)
+#define DRM_IOCTL_IVPU_BO_WAIT DRM_IOWR(DRM_COMMAND_BASE + DRM_IVPU_BO_WAIT, struct drm_ivpu_bo_wait)
+#define DRM_IOCTL_IVPU_METRIC_STREAMER_START DRM_IOWR(DRM_COMMAND_BASE + DRM_IVPU_METRIC_STREAMER_START, struct drm_ivpu_metric_streamer_start)
+#define DRM_IOCTL_IVPU_METRIC_STREAMER_STOP DRM_IOW(DRM_COMMAND_BASE + DRM_IVPU_METRIC_STREAMER_STOP, struct drm_ivpu_metric_streamer_stop)
+#define DRM_IOCTL_IVPU_METRIC_STREAMER_GET_DATA DRM_IOWR(DRM_COMMAND_BASE + DRM_IVPU_METRIC_STREAMER_GET_DATA, struct drm_ivpu_metric_streamer_get_data)
+#define DRM_IOCTL_IVPU_METRIC_STREAMER_GET_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_IVPU_METRIC_STREAMER_GET_INFO, struct drm_ivpu_metric_streamer_get_data)
+#define DRM_IVPU_PARAM_DEVICE_ID 0
+#define DRM_IVPU_PARAM_DEVICE_REVISION 1
+#define DRM_IVPU_PARAM_PLATFORM_TYPE 2
+#define DRM_IVPU_PARAM_CORE_CLOCK_RATE 3
+#define DRM_IVPU_PARAM_NUM_CONTEXTS 4
+#define DRM_IVPU_PARAM_CONTEXT_BASE_ADDRESS 5
+#define DRM_IVPU_PARAM_CONTEXT_PRIORITY 6
+#define DRM_IVPU_PARAM_CONTEXT_ID 7
+#define DRM_IVPU_PARAM_FW_API_VERSION 8
+#define DRM_IVPU_PARAM_ENGINE_HEARTBEAT 9
+#define DRM_IVPU_PARAM_UNIQUE_INFERENCE_ID 10
+#define DRM_IVPU_PARAM_TILE_CONFIG 11
+#define DRM_IVPU_PARAM_SKU 12
+#define DRM_IVPU_PARAM_CAPABILITIES 13
+#define DRM_IVPU_PLATFORM_TYPE_SILICON 0
+#define DRM_IVPU_CONTEXT_PRIORITY_IDLE 0
+#define DRM_IVPU_CONTEXT_PRIORITY_NORMAL 1
+#define DRM_IVPU_CONTEXT_PRIORITY_FOCUS 2
+#define DRM_IVPU_CONTEXT_PRIORITY_REALTIME 3
+#define DRM_IVPU_JOB_PRIORITY_DEFAULT 0
+#define DRM_IVPU_JOB_PRIORITY_IDLE 1
+#define DRM_IVPU_JOB_PRIORITY_NORMAL 2
+#define DRM_IVPU_JOB_PRIORITY_FOCUS 3
+#define DRM_IVPU_JOB_PRIORITY_REALTIME 4
+#define DRM_IVPU_CAP_METRIC_STREAMER 1
+#define DRM_IVPU_CAP_DMA_MEMORY_RANGE 2
+struct drm_ivpu_param {
+  __u32 param;
+  __u32 index;
+  __u64 value;
+};
+#define DRM_IVPU_BO_SHAVE_MEM 0x00000001
+#define DRM_IVPU_BO_HIGH_MEM DRM_IVPU_BO_SHAVE_MEM
+#define DRM_IVPU_BO_MAPPABLE 0x00000002
+#define DRM_IVPU_BO_DMA_MEM 0x00000004
+#define DRM_IVPU_BO_CACHED 0x00000000
+#define DRM_IVPU_BO_UNCACHED 0x00010000
+#define DRM_IVPU_BO_WC 0x00020000
+#define DRM_IVPU_BO_CACHE_MASK 0x00030000
+#define DRM_IVPU_BO_FLAGS (DRM_IVPU_BO_HIGH_MEM | DRM_IVPU_BO_MAPPABLE | DRM_IVPU_BO_DMA_MEM | DRM_IVPU_BO_CACHE_MASK)
+struct drm_ivpu_bo_create {
+  __u64 size;
+  __u32 flags;
+  __u32 handle;
+  __u64 vpu_addr;
+};
+struct drm_ivpu_bo_info {
+  __u32 handle;
+  __u32 flags;
+  __u64 vpu_addr;
+  __u64 mmap_offset;
+  __u64 size;
+};
+#define DRM_IVPU_ENGINE_COMPUTE 0
+#define DRM_IVPU_ENGINE_COPY 1
+struct drm_ivpu_submit {
+  __u64 buffers_ptr;
+  __u32 buffer_count;
+  __u32 engine;
+  __u32 flags;
+  __u32 commands_offset;
+  __u32 priority;
+};
+#define DRM_IVPU_JOB_STATUS_SUCCESS 0
+#define DRM_IVPU_JOB_STATUS_ABORTED 256
+struct drm_ivpu_bo_wait {
+  __u32 handle;
+  __u32 flags;
+  __s64 timeout_ns;
+  __u32 job_status;
+  __u32 pad;
+};
+struct drm_ivpu_metric_streamer_start {
+  __u64 metric_group_mask;
+  __u64 sampling_period_ns;
+  __u32 read_period_samples;
+  __u32 sample_size;
+  __u32 max_data_size;
+};
+struct drm_ivpu_metric_streamer_get_data {
+  __u64 metric_group_mask;
+  __u64 buffer_ptr;
+  __u64 buffer_size;
+  __u64 data_size;
+};
+struct drm_ivpu_metric_streamer_stop {
+  __u64 metric_group_mask;
+};
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/libc/kernel/uapi/drm/lima_drm.h b/libc/kernel/uapi/drm/lima_drm.h
index bd8ba9c..b9c8199 100644
--- a/libc/kernel/uapi/drm/lima_drm.h
+++ b/libc/kernel/uapi/drm/lima_drm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LIMA_DRM_H__
 #define __LIMA_DRM_H__
 #include "drm.h"
diff --git a/libc/kernel/uapi/drm/mga_drm.h b/libc/kernel/uapi/drm/mga_drm.h
deleted file mode 100644
index eb55fa7..0000000
--- a/libc/kernel/uapi/drm/mga_drm.h
+++ /dev/null
@@ -1,247 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef __MGA_DRM_H__
-#define __MGA_DRM_H__
-#include "drm.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef __MGA_SAREA_DEFINES__
-#define __MGA_SAREA_DEFINES__
-#define MGA_F 0x1
-#define MGA_A 0x2
-#define MGA_S 0x4
-#define MGA_T2 0x8
-#define MGA_WARP_TGZ 0
-#define MGA_WARP_TGZF (MGA_F)
-#define MGA_WARP_TGZA (MGA_A)
-#define MGA_WARP_TGZAF (MGA_F | MGA_A)
-#define MGA_WARP_TGZS (MGA_S)
-#define MGA_WARP_TGZSF (MGA_S | MGA_F)
-#define MGA_WARP_TGZSA (MGA_S | MGA_A)
-#define MGA_WARP_TGZSAF (MGA_S | MGA_F | MGA_A)
-#define MGA_WARP_T2GZ (MGA_T2)
-#define MGA_WARP_T2GZF (MGA_T2 | MGA_F)
-#define MGA_WARP_T2GZA (MGA_T2 | MGA_A)
-#define MGA_WARP_T2GZAF (MGA_T2 | MGA_A | MGA_F)
-#define MGA_WARP_T2GZS (MGA_T2 | MGA_S)
-#define MGA_WARP_T2GZSF (MGA_T2 | MGA_S | MGA_F)
-#define MGA_WARP_T2GZSA (MGA_T2 | MGA_S | MGA_A)
-#define MGA_WARP_T2GZSAF (MGA_T2 | MGA_S | MGA_F | MGA_A)
-#define MGA_MAX_G200_PIPES 8
-#define MGA_MAX_G400_PIPES 16
-#define MGA_MAX_WARP_PIPES MGA_MAX_G400_PIPES
-#define MGA_WARP_UCODE_SIZE 32768
-#define MGA_CARD_TYPE_G200 1
-#define MGA_CARD_TYPE_G400 2
-#define MGA_CARD_TYPE_G450 3
-#define MGA_CARD_TYPE_G550 4
-#define MGA_FRONT 0x1
-#define MGA_BACK 0x2
-#define MGA_DEPTH 0x4
-#define MGA_UPLOAD_CONTEXT 0x1
-#define MGA_UPLOAD_TEX0 0x2
-#define MGA_UPLOAD_TEX1 0x4
-#define MGA_UPLOAD_PIPE 0x8
-#define MGA_UPLOAD_TEX0IMAGE 0x10
-#define MGA_UPLOAD_TEX1IMAGE 0x20
-#define MGA_UPLOAD_2D 0x40
-#define MGA_WAIT_AGE 0x80
-#define MGA_UPLOAD_CLIPRECTS 0x100
-#define MGA_BUFFER_SIZE (1 << 16)
-#define MGA_NUM_BUFFERS 128
-#define MGA_NR_SAREA_CLIPRECTS 8
-#define MGA_CARD_HEAP 0
-#define MGA_AGP_HEAP 1
-#define MGA_NR_TEX_HEAPS 2
-#define MGA_NR_TEX_REGIONS 16
-#define MGA_LOG_MIN_TEX_REGION_SIZE 16
-#define DRM_MGA_IDLE_RETRY 2048
-#endif
-typedef struct {
-  unsigned int dstorg;
-  unsigned int maccess;
-  unsigned int plnwt;
-  unsigned int dwgctl;
-  unsigned int alphactrl;
-  unsigned int fogcolor;
-  unsigned int wflag;
-  unsigned int tdualstage0;
-  unsigned int tdualstage1;
-  unsigned int fcol;
-  unsigned int stencil;
-  unsigned int stencilctl;
-} drm_mga_context_regs_t;
-typedef struct {
-  unsigned int pitch;
-} drm_mga_server_regs_t;
-typedef struct {
-  unsigned int texctl;
-  unsigned int texctl2;
-  unsigned int texfilter;
-  unsigned int texbordercol;
-  unsigned int texorg;
-  unsigned int texwidth;
-  unsigned int texheight;
-  unsigned int texorg1;
-  unsigned int texorg2;
-  unsigned int texorg3;
-  unsigned int texorg4;
-} drm_mga_texture_regs_t;
-typedef struct {
-  unsigned int head;
-  unsigned int wrap;
-} drm_mga_age_t;
-typedef struct _drm_mga_sarea {
-  drm_mga_context_regs_t context_state;
-  drm_mga_server_regs_t server_state;
-  drm_mga_texture_regs_t tex_state[2];
-  unsigned int warp_pipe;
-  unsigned int dirty;
-  unsigned int vertsize;
-  struct drm_clip_rect boxes[MGA_NR_SAREA_CLIPRECTS];
-  unsigned int nbox;
-  unsigned int req_drawable;
-  unsigned int req_draw_buffer;
-  unsigned int exported_drawable;
-  unsigned int exported_index;
-  unsigned int exported_stamp;
-  unsigned int exported_buffers;
-  unsigned int exported_nfront;
-  unsigned int exported_nback;
-  int exported_back_x, exported_front_x, exported_w;
-  int exported_back_y, exported_front_y, exported_h;
-  struct drm_clip_rect exported_boxes[MGA_NR_SAREA_CLIPRECTS];
-  unsigned int status[4];
-  unsigned int last_wrap;
-  drm_mga_age_t last_frame;
-  unsigned int last_enqueue;
-  unsigned int last_dispatch;
-  unsigned int last_quiescent;
-  struct drm_tex_region texList[MGA_NR_TEX_HEAPS][MGA_NR_TEX_REGIONS + 1];
-  unsigned int texAge[MGA_NR_TEX_HEAPS];
-  int ctxOwner;
-} drm_mga_sarea_t;
-#define DRM_MGA_INIT 0x00
-#define DRM_MGA_FLUSH 0x01
-#define DRM_MGA_RESET 0x02
-#define DRM_MGA_SWAP 0x03
-#define DRM_MGA_CLEAR 0x04
-#define DRM_MGA_VERTEX 0x05
-#define DRM_MGA_INDICES 0x06
-#define DRM_MGA_ILOAD 0x07
-#define DRM_MGA_BLIT 0x08
-#define DRM_MGA_GETPARAM 0x09
-#define DRM_MGA_SET_FENCE 0x0a
-#define DRM_MGA_WAIT_FENCE 0x0b
-#define DRM_MGA_DMA_BOOTSTRAP 0x0c
-#define DRM_IOCTL_MGA_INIT DRM_IOW(DRM_COMMAND_BASE + DRM_MGA_INIT, drm_mga_init_t)
-#define DRM_IOCTL_MGA_FLUSH DRM_IOW(DRM_COMMAND_BASE + DRM_MGA_FLUSH, struct drm_lock)
-#define DRM_IOCTL_MGA_RESET DRM_IO(DRM_COMMAND_BASE + DRM_MGA_RESET)
-#define DRM_IOCTL_MGA_SWAP DRM_IO(DRM_COMMAND_BASE + DRM_MGA_SWAP)
-#define DRM_IOCTL_MGA_CLEAR DRM_IOW(DRM_COMMAND_BASE + DRM_MGA_CLEAR, drm_mga_clear_t)
-#define DRM_IOCTL_MGA_VERTEX DRM_IOW(DRM_COMMAND_BASE + DRM_MGA_VERTEX, drm_mga_vertex_t)
-#define DRM_IOCTL_MGA_INDICES DRM_IOW(DRM_COMMAND_BASE + DRM_MGA_INDICES, drm_mga_indices_t)
-#define DRM_IOCTL_MGA_ILOAD DRM_IOW(DRM_COMMAND_BASE + DRM_MGA_ILOAD, drm_mga_iload_t)
-#define DRM_IOCTL_MGA_BLIT DRM_IOW(DRM_COMMAND_BASE + DRM_MGA_BLIT, drm_mga_blit_t)
-#define DRM_IOCTL_MGA_GETPARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_MGA_GETPARAM, drm_mga_getparam_t)
-#define DRM_IOCTL_MGA_SET_FENCE DRM_IOW(DRM_COMMAND_BASE + DRM_MGA_SET_FENCE, __u32)
-#define DRM_IOCTL_MGA_WAIT_FENCE DRM_IOWR(DRM_COMMAND_BASE + DRM_MGA_WAIT_FENCE, __u32)
-#define DRM_IOCTL_MGA_DMA_BOOTSTRAP DRM_IOWR(DRM_COMMAND_BASE + DRM_MGA_DMA_BOOTSTRAP, drm_mga_dma_bootstrap_t)
-typedef struct _drm_mga_warp_index {
-  int installed;
-  unsigned long phys_addr;
-  int size;
-} drm_mga_warp_index_t;
-typedef struct drm_mga_init {
-  enum {
-    MGA_INIT_DMA = 0x01,
-    MGA_CLEANUP_DMA = 0x02
-  } func;
-  unsigned long sarea_priv_offset;
-  __struct_group(, always32bit,, int chipset;
-  int sgram;
-  unsigned int maccess;
-  unsigned int fb_cpp;
-  unsigned int front_offset, front_pitch;
-  unsigned int back_offset, back_pitch;
-  unsigned int depth_cpp;
-  unsigned int depth_offset, depth_pitch;
-  unsigned int texture_offset[MGA_NR_TEX_HEAPS];
-  unsigned int texture_size[MGA_NR_TEX_HEAPS];
- );
-  unsigned long fb_offset;
-  unsigned long mmio_offset;
-  unsigned long status_offset;
-  unsigned long warp_offset;
-  unsigned long primary_offset;
-  unsigned long buffers_offset;
-} drm_mga_init_t;
-typedef struct drm_mga_dma_bootstrap {
-  unsigned long texture_handle;
-  __u32 texture_size;
-  __u32 primary_size;
-  __u32 secondary_bin_count;
-  __u32 secondary_bin_size;
-  __u32 agp_mode;
-  __u8 agp_size;
-} drm_mga_dma_bootstrap_t;
-typedef struct drm_mga_clear {
-  unsigned int flags;
-  unsigned int clear_color;
-  unsigned int clear_depth;
-  unsigned int color_mask;
-  unsigned int depth_mask;
-} drm_mga_clear_t;
-typedef struct drm_mga_vertex {
-  int idx;
-  int used;
-  int discard;
-} drm_mga_vertex_t;
-typedef struct drm_mga_indices {
-  int idx;
-  unsigned int start;
-  unsigned int end;
-  int discard;
-} drm_mga_indices_t;
-typedef struct drm_mga_iload {
-  int idx;
-  unsigned int dstorg;
-  unsigned int length;
-} drm_mga_iload_t;
-typedef struct _drm_mga_blit {
-  unsigned int planemask;
-  unsigned int srcorg;
-  unsigned int dstorg;
-  int src_pitch, dst_pitch;
-  int delta_sx, delta_sy;
-  int delta_dx, delta_dy;
-  int height, ydir;
-  int source_pitch, dest_pitch;
-} drm_mga_blit_t;
-#define MGA_PARAM_IRQ_NR 1
-#define MGA_PARAM_CARD_TYPE 2
-typedef struct drm_mga_getparam {
-  int param;
-  void  * value;
-} drm_mga_getparam_t;
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/libc/kernel/uapi/drm/msm_drm.h b/libc/kernel/uapi/drm/msm_drm.h
index ad3a971..7ec5ed2 100644
--- a/libc/kernel/uapi/drm/msm_drm.h
+++ b/libc/kernel/uapi/drm/msm_drm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __MSM_DRM_H__
 #define __MSM_DRM_H__
 #include "drm.h"
@@ -48,6 +36,8 @@
 #define MSM_PARAM_CMDLINE 0x0d
 #define MSM_PARAM_VA_START 0x0e
 #define MSM_PARAM_VA_SIZE 0x0f
+#define MSM_PARAM_HIGHEST_BANK_BIT 0x10
+#define MSM_PARAM_RAYTRACING 0x11
 #define MSM_PARAM_NR_RINGS MSM_PARAM_PRIORITIES
 struct drm_msm_param {
   __u32 pipe;
@@ -75,6 +65,8 @@
 #define MSM_INFO_GET_NAME 0x03
 #define MSM_INFO_SET_IOVA 0x04
 #define MSM_INFO_GET_FLAGS 0x05
+#define MSM_INFO_SET_METADATA 0x06
+#define MSM_INFO_GET_METADATA 0x07
 struct drm_msm_gem_info {
   __u32 handle;
   __u32 info;
@@ -85,7 +77,8 @@
 #define MSM_PREP_READ 0x01
 #define MSM_PREP_WRITE 0x02
 #define MSM_PREP_NOSYNC 0x04
-#define MSM_PREP_FLAGS (MSM_PREP_READ | MSM_PREP_WRITE | MSM_PREP_NOSYNC)
+#define MSM_PREP_BOOST 0x08
+#define MSM_PREP_FLAGS (MSM_PREP_READ | MSM_PREP_WRITE | MSM_PREP_NOSYNC | MSM_PREP_BOOST | 0)
 struct drm_msm_gem_cpu_prep {
   __u32 handle;
   __u32 op;
@@ -96,7 +89,11 @@
 };
 struct drm_msm_gem_submit_reloc {
   __u32 submit_offset;
+#ifdef __cplusplus
+  __u32 _or;
+#else
   __u32 or;
+#endif
   __s32 shift;
   __u32 reloc_idx;
   __u64 reloc_offset;
@@ -116,7 +113,8 @@
 #define MSM_SUBMIT_BO_READ 0x0001
 #define MSM_SUBMIT_BO_WRITE 0x0002
 #define MSM_SUBMIT_BO_DUMP 0x0004
-#define MSM_SUBMIT_BO_FLAGS (MSM_SUBMIT_BO_READ | MSM_SUBMIT_BO_WRITE | MSM_SUBMIT_BO_DUMP)
+#define MSM_SUBMIT_BO_NO_IMPLICIT 0x0008
+#define MSM_SUBMIT_BO_FLAGS (MSM_SUBMIT_BO_READ | MSM_SUBMIT_BO_WRITE | MSM_SUBMIT_BO_DUMP | MSM_SUBMIT_BO_NO_IMPLICIT)
 struct drm_msm_gem_submit_bo {
   __u32 flags;
   __u32 handle;
@@ -153,9 +151,11 @@
   __u32 syncobj_stride;
   __u32 pad;
 };
+#define MSM_WAIT_FENCE_BOOST 0x00000001
+#define MSM_WAIT_FENCE_FLAGS (MSM_WAIT_FENCE_BOOST | 0)
 struct drm_msm_wait_fence {
   __u32 fence;
-  __u32 pad;
+  __u32 flags;
   struct drm_msm_timespec timeout;
   __u32 queueid;
 };
diff --git a/libc/kernel/uapi/drm/nouveau_drm.h b/libc/kernel/uapi/drm/nouveau_drm.h
index 150f729..01897af 100644
--- a/libc/kernel/uapi/drm/nouveau_drm.h
+++ b/libc/kernel/uapi/drm/nouveau_drm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __NOUVEAU_DRM_H__
 #define __NOUVEAU_DRM_H__
 #define DRM_NOUVEAU_EVENT_NVIF 0x80000000
@@ -23,11 +11,61 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
+#define NOUVEAU_GETPARAM_PCI_VENDOR 3
+#define NOUVEAU_GETPARAM_PCI_DEVICE 4
+#define NOUVEAU_GETPARAM_BUS_TYPE 5
+#define NOUVEAU_GETPARAM_FB_SIZE 8
+#define NOUVEAU_GETPARAM_AGP_SIZE 9
+#define NOUVEAU_GETPARAM_CHIPSET_ID 11
+#define NOUVEAU_GETPARAM_VM_VRAM_BASE 12
+#define NOUVEAU_GETPARAM_GRAPH_UNITS 13
+#define NOUVEAU_GETPARAM_PTIMER_TIME 14
+#define NOUVEAU_GETPARAM_HAS_BO_USAGE 15
+#define NOUVEAU_GETPARAM_HAS_PAGEFLIP 16
+#define NOUVEAU_GETPARAM_EXEC_PUSH_MAX 17
+#define NOUVEAU_GETPARAM_VRAM_BAR_SIZE 18
+#define NOUVEAU_GETPARAM_VRAM_USED 19
+#define NOUVEAU_GETPARAM_HAS_VMA_TILEMODE 20
+struct drm_nouveau_getparam {
+  __u64 param;
+  __u64 value;
+};
+#define NOUVEAU_FIFO_ENGINE_GR 0x01
+#define NOUVEAU_FIFO_ENGINE_VP 0x02
+#define NOUVEAU_FIFO_ENGINE_PPP 0x04
+#define NOUVEAU_FIFO_ENGINE_BSP 0x08
+#define NOUVEAU_FIFO_ENGINE_CE 0x30
+struct drm_nouveau_channel_alloc {
+  __u32 fb_ctxdma_handle;
+  __u32 tt_ctxdma_handle;
+  __s32 channel;
+  __u32 pushbuf_domains;
+  __u32 notifier_handle;
+  struct {
+    __u32 handle;
+    __u32 grclass;
+  } subchan[8];
+  __u32 nr_subchan;
+};
+struct drm_nouveau_channel_free {
+  __s32 channel;
+};
+struct drm_nouveau_notifierobj_alloc {
+  __u32 channel;
+  __u32 handle;
+  __u32 size;
+  __u32 offset;
+};
+struct drm_nouveau_gpuobj_free {
+  __s32 channel;
+  __u32 handle;
+};
 #define NOUVEAU_GEM_DOMAIN_CPU (1 << 0)
 #define NOUVEAU_GEM_DOMAIN_VRAM (1 << 1)
 #define NOUVEAU_GEM_DOMAIN_GART (1 << 2)
 #define NOUVEAU_GEM_DOMAIN_MAPPABLE (1 << 3)
 #define NOUVEAU_GEM_DOMAIN_COHERENT (1 << 4)
+#define NOUVEAU_GEM_DOMAIN_NO_SHARE (1 << 5)
 #define NOUVEAU_GEM_TILE_COMP 0x00030000
 #define NOUVEAU_GEM_TILE_LAYOUT_MASK 0x0000ff00
 #define NOUVEAU_GEM_TILE_16BPP 0x00000001
@@ -81,6 +119,7 @@
   __u32 pad;
   __u64 offset;
   __u64 length;
+#define NOUVEAU_GEM_PUSHBUF_NO_PREFETCH (1 << 23)
 };
 struct drm_nouveau_gem_pushbuf {
   __u32 channel;
@@ -105,6 +144,55 @@
 struct drm_nouveau_gem_cpu_fini {
   __u32 handle;
 };
+struct drm_nouveau_sync {
+  __u32 flags;
+#define DRM_NOUVEAU_SYNC_SYNCOBJ 0x0
+#define DRM_NOUVEAU_SYNC_TIMELINE_SYNCOBJ 0x1
+#define DRM_NOUVEAU_SYNC_TYPE_MASK 0xf
+  __u32 handle;
+  __u64 timeline_value;
+};
+struct drm_nouveau_vm_init {
+  __u64 kernel_managed_addr;
+  __u64 kernel_managed_size;
+};
+struct drm_nouveau_vm_bind_op {
+  __u32 op;
+#define DRM_NOUVEAU_VM_BIND_OP_MAP 0x0
+#define DRM_NOUVEAU_VM_BIND_OP_UNMAP 0x1
+  __u32 flags;
+#define DRM_NOUVEAU_VM_BIND_SPARSE (1 << 8)
+  __u32 handle;
+  __u32 pad;
+  __u64 addr;
+  __u64 bo_offset;
+  __u64 range;
+};
+struct drm_nouveau_vm_bind {
+  __u32 op_count;
+  __u32 flags;
+#define DRM_NOUVEAU_VM_BIND_RUN_ASYNC 0x1
+  __u32 wait_count;
+  __u32 sig_count;
+  __u64 wait_ptr;
+  __u64 sig_ptr;
+  __u64 op_ptr;
+};
+struct drm_nouveau_exec_push {
+  __u64 va;
+  __u32 va_len;
+  __u32 flags;
+#define DRM_NOUVEAU_EXEC_PUSH_NO_PREFETCH 0x1
+};
+struct drm_nouveau_exec {
+  __u32 channel;
+  __u32 push_count;
+  __u32 wait_count;
+  __u32 sig_count;
+  __u64 wait_ptr;
+  __u64 sig_ptr;
+  __u64 push_ptr;
+};
 #define DRM_NOUVEAU_GETPARAM 0x00
 #define DRM_NOUVEAU_SETPARAM 0x01
 #define DRM_NOUVEAU_CHANNEL_ALLOC 0x02
@@ -115,6 +203,9 @@
 #define DRM_NOUVEAU_NVIF 0x07
 #define DRM_NOUVEAU_SVM_INIT 0x08
 #define DRM_NOUVEAU_SVM_BIND 0x09
+#define DRM_NOUVEAU_VM_INIT 0x10
+#define DRM_NOUVEAU_VM_BIND 0x11
+#define DRM_NOUVEAU_EXEC 0x12
 #define DRM_NOUVEAU_GEM_NEW 0x40
 #define DRM_NOUVEAU_GEM_PUSHBUF 0x41
 #define DRM_NOUVEAU_GEM_CPU_PREP 0x42
@@ -147,6 +238,9 @@
 #define NOUVEAU_SVM_BIND_VALID_MASK ((1ULL << NOUVEAU_SVM_BIND_VALID_BITS) - 1)
 #define NOUVEAU_SVM_BIND_COMMAND__MIGRATE 0
 #define NOUVEAU_SVM_BIND_TARGET__GPU_VRAM (1UL << 31)
+#define DRM_IOCTL_NOUVEAU_GETPARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_GETPARAM, struct drm_nouveau_getparam)
+#define DRM_IOCTL_NOUVEAU_CHANNEL_ALLOC DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_CHANNEL_ALLOC, struct drm_nouveau_channel_alloc)
+#define DRM_IOCTL_NOUVEAU_CHANNEL_FREE DRM_IOW(DRM_COMMAND_BASE + DRM_NOUVEAU_CHANNEL_FREE, struct drm_nouveau_channel_free)
 #define DRM_IOCTL_NOUVEAU_SVM_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_SVM_INIT, struct drm_nouveau_svm_init)
 #define DRM_IOCTL_NOUVEAU_SVM_BIND DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_SVM_BIND, struct drm_nouveau_svm_bind)
 #define DRM_IOCTL_NOUVEAU_GEM_NEW DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_GEM_NEW, struct drm_nouveau_gem_new)
@@ -154,6 +248,9 @@
 #define DRM_IOCTL_NOUVEAU_GEM_CPU_PREP DRM_IOW(DRM_COMMAND_BASE + DRM_NOUVEAU_GEM_CPU_PREP, struct drm_nouveau_gem_cpu_prep)
 #define DRM_IOCTL_NOUVEAU_GEM_CPU_FINI DRM_IOW(DRM_COMMAND_BASE + DRM_NOUVEAU_GEM_CPU_FINI, struct drm_nouveau_gem_cpu_fini)
 #define DRM_IOCTL_NOUVEAU_GEM_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_GEM_INFO, struct drm_nouveau_gem_info)
+#define DRM_IOCTL_NOUVEAU_VM_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_VM_INIT, struct drm_nouveau_vm_init)
+#define DRM_IOCTL_NOUVEAU_VM_BIND DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_VM_BIND, struct drm_nouveau_vm_bind)
+#define DRM_IOCTL_NOUVEAU_EXEC DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_EXEC, struct drm_nouveau_exec)
 #ifdef __cplusplus
 }
 #endif
diff --git a/libc/kernel/uapi/drm/omap_drm.h b/libc/kernel/uapi/drm/omap_drm.h
index 72d949d..513d541 100644
--- a/libc/kernel/uapi/drm/omap_drm.h
+++ b/libc/kernel/uapi/drm/omap_drm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __OMAP_DRM_H__
 #define __OMAP_DRM_H__
 #include "drm.h"
diff --git a/libc/kernel/uapi/drm/panfrost_drm.h b/libc/kernel/uapi/drm/panfrost_drm.h
index 04a85df..66a46fc 100644
--- a/libc/kernel/uapi/drm/panfrost_drm.h
+++ b/libc/kernel/uapi/drm/panfrost_drm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _PANFROST_DRM_H_
 #define _PANFROST_DRM_H_
 #include "drm.h"
diff --git a/libc/kernel/uapi/drm/panthor_drm.h b/libc/kernel/uapi/drm/panthor_drm.h
new file mode 100644
index 0000000..b45c1dc
--- /dev/null
+++ b/libc/kernel/uapi/drm/panthor_drm.h
@@ -0,0 +1,240 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _PANTHOR_DRM_H_
+#define _PANTHOR_DRM_H_
+#include "drm.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define DRM_PANTHOR_USER_MMIO_OFFSET_32BIT (1ull << 43)
+#define DRM_PANTHOR_USER_MMIO_OFFSET_64BIT (1ull << 56)
+#define DRM_PANTHOR_USER_MMIO_OFFSET (sizeof(unsigned long) < 8 ? DRM_PANTHOR_USER_MMIO_OFFSET_32BIT : DRM_PANTHOR_USER_MMIO_OFFSET_64BIT)
+#define DRM_PANTHOR_USER_FLUSH_ID_MMIO_OFFSET (DRM_PANTHOR_USER_MMIO_OFFSET | 0)
+enum drm_panthor_ioctl_id {
+  DRM_PANTHOR_DEV_QUERY = 0,
+  DRM_PANTHOR_VM_CREATE,
+  DRM_PANTHOR_VM_DESTROY,
+  DRM_PANTHOR_VM_BIND,
+  DRM_PANTHOR_VM_GET_STATE,
+  DRM_PANTHOR_BO_CREATE,
+  DRM_PANTHOR_BO_MMAP_OFFSET,
+  DRM_PANTHOR_GROUP_CREATE,
+  DRM_PANTHOR_GROUP_DESTROY,
+  DRM_PANTHOR_GROUP_SUBMIT,
+  DRM_PANTHOR_GROUP_GET_STATE,
+  DRM_PANTHOR_TILER_HEAP_CREATE,
+  DRM_PANTHOR_TILER_HEAP_DESTROY,
+};
+#define DRM_IOCTL_PANTHOR(__access,__id,__type) DRM_IO ##__access(DRM_COMMAND_BASE + DRM_PANTHOR_ ##__id, struct drm_panthor_ ##__type)
+#define DRM_IOCTL_PANTHOR_DEV_QUERY DRM_IOCTL_PANTHOR(WR, DEV_QUERY, dev_query)
+#define DRM_IOCTL_PANTHOR_VM_CREATE DRM_IOCTL_PANTHOR(WR, VM_CREATE, vm_create)
+#define DRM_IOCTL_PANTHOR_VM_DESTROY DRM_IOCTL_PANTHOR(WR, VM_DESTROY, vm_destroy)
+#define DRM_IOCTL_PANTHOR_VM_BIND DRM_IOCTL_PANTHOR(WR, VM_BIND, vm_bind)
+#define DRM_IOCTL_PANTHOR_VM_GET_STATE DRM_IOCTL_PANTHOR(WR, VM_GET_STATE, vm_get_state)
+#define DRM_IOCTL_PANTHOR_BO_CREATE DRM_IOCTL_PANTHOR(WR, BO_CREATE, bo_create)
+#define DRM_IOCTL_PANTHOR_BO_MMAP_OFFSET DRM_IOCTL_PANTHOR(WR, BO_MMAP_OFFSET, bo_mmap_offset)
+#define DRM_IOCTL_PANTHOR_GROUP_CREATE DRM_IOCTL_PANTHOR(WR, GROUP_CREATE, group_create)
+#define DRM_IOCTL_PANTHOR_GROUP_DESTROY DRM_IOCTL_PANTHOR(WR, GROUP_DESTROY, group_destroy)
+#define DRM_IOCTL_PANTHOR_GROUP_SUBMIT DRM_IOCTL_PANTHOR(WR, GROUP_SUBMIT, group_submit)
+#define DRM_IOCTL_PANTHOR_GROUP_GET_STATE DRM_IOCTL_PANTHOR(WR, GROUP_GET_STATE, group_get_state)
+#define DRM_IOCTL_PANTHOR_TILER_HEAP_CREATE DRM_IOCTL_PANTHOR(WR, TILER_HEAP_CREATE, tiler_heap_create)
+#define DRM_IOCTL_PANTHOR_TILER_HEAP_DESTROY DRM_IOCTL_PANTHOR(WR, TILER_HEAP_DESTROY, tiler_heap_destroy)
+struct drm_panthor_obj_array {
+  __u32 stride;
+  __u32 count;
+  __u64 array;
+};
+#define DRM_PANTHOR_OBJ_ARRAY(cnt,ptr) {.stride = sizeof((ptr)[0]),.count = (cnt),.array = (__u64) (uintptr_t) (ptr) }
+enum drm_panthor_sync_op_flags {
+  DRM_PANTHOR_SYNC_OP_HANDLE_TYPE_MASK = 0xff,
+  DRM_PANTHOR_SYNC_OP_HANDLE_TYPE_SYNCOBJ = 0,
+  DRM_PANTHOR_SYNC_OP_HANDLE_TYPE_TIMELINE_SYNCOBJ = 1,
+  DRM_PANTHOR_SYNC_OP_WAIT = 0 << 31,
+  DRM_PANTHOR_SYNC_OP_SIGNAL = (int) (1u << 31),
+};
+struct drm_panthor_sync_op {
+  __u32 flags;
+  __u32 handle;
+  __u64 timeline_value;
+};
+enum drm_panthor_dev_query_type {
+  DRM_PANTHOR_DEV_QUERY_GPU_INFO = 0,
+  DRM_PANTHOR_DEV_QUERY_CSIF_INFO,
+};
+struct drm_panthor_gpu_info {
+  __u32 gpu_id;
+#define DRM_PANTHOR_ARCH_MAJOR(x) ((x) >> 28)
+#define DRM_PANTHOR_ARCH_MINOR(x) (((x) >> 24) & 0xf)
+#define DRM_PANTHOR_ARCH_REV(x) (((x) >> 20) & 0xf)
+#define DRM_PANTHOR_PRODUCT_MAJOR(x) (((x) >> 16) & 0xf)
+#define DRM_PANTHOR_VERSION_MAJOR(x) (((x) >> 12) & 0xf)
+#define DRM_PANTHOR_VERSION_MINOR(x) (((x) >> 4) & 0xff)
+#define DRM_PANTHOR_VERSION_STATUS(x) ((x) & 0xf)
+  __u32 gpu_rev;
+  __u32 csf_id;
+#define DRM_PANTHOR_CSHW_MAJOR(x) (((x) >> 26) & 0x3f)
+#define DRM_PANTHOR_CSHW_MINOR(x) (((x) >> 20) & 0x3f)
+#define DRM_PANTHOR_CSHW_REV(x) (((x) >> 16) & 0xf)
+#define DRM_PANTHOR_MCU_MAJOR(x) (((x) >> 10) & 0x3f)
+#define DRM_PANTHOR_MCU_MINOR(x) (((x) >> 4) & 0x3f)
+#define DRM_PANTHOR_MCU_REV(x) ((x) & 0xf)
+  __u32 l2_features;
+  __u32 tiler_features;
+  __u32 mem_features;
+  __u32 mmu_features;
+#define DRM_PANTHOR_MMU_VA_BITS(x) ((x) & 0xff)
+  __u32 thread_features;
+  __u32 max_threads;
+  __u32 thread_max_workgroup_size;
+  __u32 thread_max_barrier_size;
+  __u32 coherency_features;
+  __u32 texture_features[4];
+  __u32 as_present;
+  __u64 shader_present;
+  __u64 l2_present;
+  __u64 tiler_present;
+  __u32 core_features;
+  __u32 pad;
+};
+struct drm_panthor_csif_info {
+  __u32 csg_slot_count;
+  __u32 cs_slot_count;
+  __u32 cs_reg_count;
+  __u32 scoreboard_slot_count;
+  __u32 unpreserved_cs_reg_count;
+  __u32 pad;
+};
+struct drm_panthor_dev_query {
+  __u32 type;
+  __u32 size;
+  __u64 pointer;
+};
+struct drm_panthor_vm_create {
+  __u32 flags;
+  __u32 id;
+  __u64 user_va_range;
+};
+struct drm_panthor_vm_destroy {
+  __u32 id;
+  __u32 pad;
+};
+enum drm_panthor_vm_bind_op_flags {
+  DRM_PANTHOR_VM_BIND_OP_MAP_READONLY = 1 << 0,
+  DRM_PANTHOR_VM_BIND_OP_MAP_NOEXEC = 1 << 1,
+  DRM_PANTHOR_VM_BIND_OP_MAP_UNCACHED = 1 << 2,
+  DRM_PANTHOR_VM_BIND_OP_TYPE_MASK = (int) (0xfu << 28),
+  DRM_PANTHOR_VM_BIND_OP_TYPE_MAP = 0 << 28,
+  DRM_PANTHOR_VM_BIND_OP_TYPE_UNMAP = 1 << 28,
+  DRM_PANTHOR_VM_BIND_OP_TYPE_SYNC_ONLY = 2 << 28,
+};
+struct drm_panthor_vm_bind_op {
+  __u32 flags;
+  __u32 bo_handle;
+  __u64 bo_offset;
+  __u64 va;
+  __u64 size;
+  struct drm_panthor_obj_array syncs;
+};
+enum drm_panthor_vm_bind_flags {
+  DRM_PANTHOR_VM_BIND_ASYNC = 1 << 0,
+};
+struct drm_panthor_vm_bind {
+  __u32 vm_id;
+  __u32 flags;
+  struct drm_panthor_obj_array ops;
+};
+enum drm_panthor_vm_state {
+  DRM_PANTHOR_VM_STATE_USABLE,
+  DRM_PANTHOR_VM_STATE_UNUSABLE,
+};
+struct drm_panthor_vm_get_state {
+  __u32 vm_id;
+  __u32 state;
+};
+enum drm_panthor_bo_flags {
+  DRM_PANTHOR_BO_NO_MMAP = (1 << 0),
+};
+struct drm_panthor_bo_create {
+  __u64 size;
+  __u32 flags;
+  __u32 exclusive_vm_id;
+  __u32 handle;
+  __u32 pad;
+};
+struct drm_panthor_bo_mmap_offset {
+  __u32 handle;
+  __u32 pad;
+  __u64 offset;
+};
+struct drm_panthor_queue_create {
+  __u8 priority;
+  __u8 pad[3];
+  __u32 ringbuf_size;
+};
+enum drm_panthor_group_priority {
+  PANTHOR_GROUP_PRIORITY_LOW = 0,
+  PANTHOR_GROUP_PRIORITY_MEDIUM,
+  PANTHOR_GROUP_PRIORITY_HIGH,
+};
+struct drm_panthor_group_create {
+  struct drm_panthor_obj_array queues;
+  __u8 max_compute_cores;
+  __u8 max_fragment_cores;
+  __u8 max_tiler_cores;
+  __u8 priority;
+  __u32 pad;
+  __u64 compute_core_mask;
+  __u64 fragment_core_mask;
+  __u64 tiler_core_mask;
+  __u32 vm_id;
+  __u32 group_handle;
+};
+struct drm_panthor_group_destroy {
+  __u32 group_handle;
+  __u32 pad;
+};
+struct drm_panthor_queue_submit {
+  __u32 queue_index;
+  __u32 stream_size;
+  __u64 stream_addr;
+  __u32 latest_flush;
+  __u32 pad;
+  struct drm_panthor_obj_array syncs;
+};
+struct drm_panthor_group_submit {
+  __u32 group_handle;
+  __u32 pad;
+  struct drm_panthor_obj_array queue_submits;
+};
+enum drm_panthor_group_state_flags {
+  DRM_PANTHOR_GROUP_STATE_TIMEDOUT = 1 << 0,
+  DRM_PANTHOR_GROUP_STATE_FATAL_FAULT = 1 << 1,
+};
+struct drm_panthor_group_get_state {
+  __u32 group_handle;
+  __u32 state;
+  __u32 fatal_queues;
+  __u32 pad;
+};
+struct drm_panthor_tiler_heap_create {
+  __u32 vm_id;
+  __u32 initial_chunk_count;
+  __u32 chunk_size;
+  __u32 max_chunks;
+  __u32 target_in_flight;
+  __u32 handle;
+  __u64 tiler_heap_ctx_gpu_va;
+  __u64 first_heap_chunk_gpu_va;
+};
+struct drm_panthor_tiler_heap_destroy {
+  __u32 handle;
+  __u32 pad;
+};
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/libc/kernel/uapi/drm/pvr_drm.h b/libc/kernel/uapi/drm/pvr_drm.h
new file mode 100644
index 0000000..c68c719
--- /dev/null
+++ b/libc/kernel/uapi/drm/pvr_drm.h
@@ -0,0 +1,271 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef PVR_DRM_UAPI_H
+#define PVR_DRM_UAPI_H
+#include "drm.h"
+#include <linux/const.h>
+#include <linux/types.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+struct drm_pvr_obj_array {
+  __u32 stride;
+  __u32 count;
+  __u64 array;
+};
+#define DRM_PVR_OBJ_ARRAY(cnt,ptr) {.stride = sizeof((ptr)[0]),.count = (cnt),.array = (__u64) (uintptr_t) (ptr) }
+#define PVR_IOCTL(_ioctl,_mode,_data) _mode(DRM_COMMAND_BASE + (_ioctl), struct drm_pvr_ioctl_ ##_data ##_args)
+#define DRM_IOCTL_PVR_DEV_QUERY PVR_IOCTL(0x00, DRM_IOWR, dev_query)
+#define DRM_IOCTL_PVR_CREATE_BO PVR_IOCTL(0x01, DRM_IOWR, create_bo)
+#define DRM_IOCTL_PVR_GET_BO_MMAP_OFFSET PVR_IOCTL(0x02, DRM_IOWR, get_bo_mmap_offset)
+#define DRM_IOCTL_PVR_CREATE_VM_CONTEXT PVR_IOCTL(0x03, DRM_IOWR, create_vm_context)
+#define DRM_IOCTL_PVR_DESTROY_VM_CONTEXT PVR_IOCTL(0x04, DRM_IOW, destroy_vm_context)
+#define DRM_IOCTL_PVR_VM_MAP PVR_IOCTL(0x05, DRM_IOW, vm_map)
+#define DRM_IOCTL_PVR_VM_UNMAP PVR_IOCTL(0x06, DRM_IOW, vm_unmap)
+#define DRM_IOCTL_PVR_CREATE_CONTEXT PVR_IOCTL(0x07, DRM_IOWR, create_context)
+#define DRM_IOCTL_PVR_DESTROY_CONTEXT PVR_IOCTL(0x08, DRM_IOW, destroy_context)
+#define DRM_IOCTL_PVR_CREATE_FREE_LIST PVR_IOCTL(0x09, DRM_IOWR, create_free_list)
+#define DRM_IOCTL_PVR_DESTROY_FREE_LIST PVR_IOCTL(0x0a, DRM_IOW, destroy_free_list)
+#define DRM_IOCTL_PVR_CREATE_HWRT_DATASET PVR_IOCTL(0x0b, DRM_IOWR, create_hwrt_dataset)
+#define DRM_IOCTL_PVR_DESTROY_HWRT_DATASET PVR_IOCTL(0x0c, DRM_IOW, destroy_hwrt_dataset)
+#define DRM_IOCTL_PVR_SUBMIT_JOBS PVR_IOCTL(0x0d, DRM_IOW, submit_jobs)
+struct drm_pvr_dev_query_gpu_info {
+  __u64 gpu_id;
+  __u32 num_phantoms;
+  __u32 _padding_c;
+};
+struct drm_pvr_dev_query_runtime_info {
+  __u64 free_list_min_pages;
+  __u64 free_list_max_pages;
+  __u32 common_store_alloc_region_size;
+  __u32 common_store_partition_space_size;
+  __u32 max_coeffs;
+  __u32 cdm_max_local_mem_size_regs;
+};
+struct drm_pvr_dev_query_quirks {
+  __u64 quirks;
+  __u16 count;
+  __u16 musthave_count;
+  __u32 _padding_c;
+};
+struct drm_pvr_dev_query_enhancements {
+  __u64 enhancements;
+  __u16 count;
+  __u16 _padding_a;
+  __u32 _padding_c;
+};
+enum drm_pvr_heap_id {
+  DRM_PVR_HEAP_GENERAL = 0,
+  DRM_PVR_HEAP_PDS_CODE_DATA,
+  DRM_PVR_HEAP_USC_CODE,
+  DRM_PVR_HEAP_RGNHDR,
+  DRM_PVR_HEAP_VIS_TEST,
+  DRM_PVR_HEAP_TRANSFER_FRAG,
+  DRM_PVR_HEAP_COUNT
+};
+struct drm_pvr_heap {
+  __u64 base;
+  __u64 size;
+  __u32 flags;
+  __u32 page_size_log2;
+};
+struct drm_pvr_dev_query_heap_info {
+  struct drm_pvr_obj_array heaps;
+};
+enum drm_pvr_static_data_area_usage {
+  DRM_PVR_STATIC_DATA_AREA_EOT = 0,
+  DRM_PVR_STATIC_DATA_AREA_FENCE,
+  DRM_PVR_STATIC_DATA_AREA_VDM_SYNC,
+  DRM_PVR_STATIC_DATA_AREA_YUV_CSC,
+};
+struct drm_pvr_static_data_area {
+  __u16 area_usage;
+  __u16 location_heap_id;
+  __u32 size;
+  __u64 offset;
+};
+struct drm_pvr_dev_query_static_data_areas {
+  struct drm_pvr_obj_array static_data_areas;
+};
+enum drm_pvr_dev_query {
+  DRM_PVR_DEV_QUERY_GPU_INFO_GET = 0,
+  DRM_PVR_DEV_QUERY_RUNTIME_INFO_GET,
+  DRM_PVR_DEV_QUERY_QUIRKS_GET,
+  DRM_PVR_DEV_QUERY_ENHANCEMENTS_GET,
+  DRM_PVR_DEV_QUERY_HEAP_INFO_GET,
+  DRM_PVR_DEV_QUERY_STATIC_DATA_AREAS_GET,
+};
+struct drm_pvr_ioctl_dev_query_args {
+  __u32 type;
+  __u32 size;
+  __u64 pointer;
+};
+#define DRM_PVR_BO_BYPASS_DEVICE_CACHE _BITULL(0)
+#define DRM_PVR_BO_PM_FW_PROTECT _BITULL(1)
+#define DRM_PVR_BO_ALLOW_CPU_USERSPACE_ACCESS _BITULL(2)
+#define DRM_PVR_BO_FLAGS_MASK (DRM_PVR_BO_BYPASS_DEVICE_CACHE | DRM_PVR_BO_PM_FW_PROTECT | DRM_PVR_BO_ALLOW_CPU_USERSPACE_ACCESS)
+struct drm_pvr_ioctl_create_bo_args {
+  __u64 size;
+  __u32 handle;
+  __u32 _padding_c;
+  __u64 flags;
+};
+struct drm_pvr_ioctl_get_bo_mmap_offset_args {
+  __u32 handle;
+  __u32 _padding_4;
+  __u64 offset;
+};
+struct drm_pvr_ioctl_create_vm_context_args {
+  __u32 handle;
+  __u32 _padding_4;
+};
+struct drm_pvr_ioctl_destroy_vm_context_args {
+  __u32 handle;
+  __u32 _padding_4;
+};
+struct drm_pvr_ioctl_vm_map_args {
+  __u32 vm_context_handle;
+  __u32 flags;
+  __u64 device_addr;
+  __u32 handle;
+  __u32 _padding_14;
+  __u64 offset;
+  __u64 size;
+};
+struct drm_pvr_ioctl_vm_unmap_args {
+  __u32 vm_context_handle;
+  __u32 _padding_4;
+  __u64 device_addr;
+  __u64 size;
+};
+enum drm_pvr_ctx_priority {
+  DRM_PVR_CTX_PRIORITY_LOW = - 512,
+  DRM_PVR_CTX_PRIORITY_NORMAL = 0,
+  DRM_PVR_CTX_PRIORITY_HIGH = 512,
+};
+enum drm_pvr_ctx_type {
+  DRM_PVR_CTX_TYPE_RENDER = 0,
+  DRM_PVR_CTX_TYPE_COMPUTE,
+  DRM_PVR_CTX_TYPE_TRANSFER_FRAG,
+};
+struct drm_pvr_ioctl_create_context_args {
+  __u32 type;
+  __u32 flags;
+  __s32 priority;
+  __u32 handle;
+  __u64 static_context_state;
+  __u32 static_context_state_len;
+  __u32 vm_context_handle;
+  __u64 callstack_addr;
+};
+struct drm_pvr_ioctl_destroy_context_args {
+  __u32 handle;
+  __u32 _padding_4;
+};
+struct drm_pvr_ioctl_create_free_list_args {
+  __u64 free_list_gpu_addr;
+  __u32 initial_num_pages;
+  __u32 max_num_pages;
+  __u32 grow_num_pages;
+  __u32 grow_threshold;
+  __u32 vm_context_handle;
+  __u32 handle;
+};
+struct drm_pvr_ioctl_destroy_free_list_args {
+  __u32 handle;
+  __u32 _padding_4;
+};
+struct drm_pvr_create_hwrt_geom_data_args {
+  __u64 tpc_dev_addr;
+  __u32 tpc_size;
+  __u32 tpc_stride;
+  __u64 vheap_table_dev_addr;
+  __u64 rtc_dev_addr;
+};
+struct drm_pvr_create_hwrt_rt_data_args {
+  __u64 pm_mlist_dev_addr;
+  __u64 macrotile_array_dev_addr;
+  __u64 region_header_dev_addr;
+};
+#define PVR_DRM_HWRT_FREE_LIST_LOCAL 0
+#define PVR_DRM_HWRT_FREE_LIST_GLOBAL 1U
+struct drm_pvr_ioctl_create_hwrt_dataset_args {
+  struct drm_pvr_create_hwrt_geom_data_args geom_data_args;
+  struct drm_pvr_create_hwrt_rt_data_args rt_data_args[2];
+  __u32 free_list_handles[2];
+  __u32 width;
+  __u32 height;
+  __u32 samples;
+  __u32 layers;
+  __u32 isp_merge_lower_x;
+  __u32 isp_merge_lower_y;
+  __u32 isp_merge_scale_x;
+  __u32 isp_merge_scale_y;
+  __u32 isp_merge_upper_x;
+  __u32 isp_merge_upper_y;
+  __u32 region_header_size;
+  __u32 handle;
+};
+struct drm_pvr_ioctl_destroy_hwrt_dataset_args {
+  __u32 handle;
+  __u32 _padding_4;
+};
+#define DRM_PVR_SYNC_OP_FLAG_HANDLE_TYPE_MASK 0xf
+#define DRM_PVR_SYNC_OP_FLAG_HANDLE_TYPE_SYNCOBJ 0
+#define DRM_PVR_SYNC_OP_FLAG_HANDLE_TYPE_TIMELINE_SYNCOBJ 1
+#define DRM_PVR_SYNC_OP_FLAG_SIGNAL _BITULL(31)
+#define DRM_PVR_SYNC_OP_FLAG_WAIT 0
+#define DRM_PVR_SYNC_OP_FLAGS_MASK (DRM_PVR_SYNC_OP_FLAG_HANDLE_TYPE_MASK | DRM_PVR_SYNC_OP_FLAG_SIGNAL)
+struct drm_pvr_sync_op {
+  __u32 handle;
+  __u32 flags;
+  __u64 value;
+};
+#define DRM_PVR_SUBMIT_JOB_GEOM_CMD_FIRST _BITULL(0)
+#define DRM_PVR_SUBMIT_JOB_GEOM_CMD_LAST _BITULL(1)
+#define DRM_PVR_SUBMIT_JOB_GEOM_CMD_SINGLE_CORE _BITULL(2)
+#define DRM_PVR_SUBMIT_JOB_GEOM_CMD_FLAGS_MASK (DRM_PVR_SUBMIT_JOB_GEOM_CMD_FIRST | DRM_PVR_SUBMIT_JOB_GEOM_CMD_LAST | DRM_PVR_SUBMIT_JOB_GEOM_CMD_SINGLE_CORE)
+#define DRM_PVR_SUBMIT_JOB_FRAG_CMD_SINGLE_CORE _BITULL(0)
+#define DRM_PVR_SUBMIT_JOB_FRAG_CMD_DEPTHBUFFER _BITULL(1)
+#define DRM_PVR_SUBMIT_JOB_FRAG_CMD_STENCILBUFFER _BITULL(2)
+#define DRM_PVR_SUBMIT_JOB_FRAG_CMD_PREVENT_CDM_OVERLAP _BITULL(3)
+#define DRM_PVR_SUBMIT_JOB_FRAG_CMD_SCRATCHBUFFER _BITULL(4)
+#define DRM_PVR_SUBMIT_JOB_FRAG_CMD_GET_VIS_RESULTS _BITULL(5)
+#define DRM_PVR_SUBMIT_JOB_FRAG_CMD_PARTIAL_RENDER _BITULL(6)
+#define DRM_PVR_SUBMIT_JOB_FRAG_CMD_DISABLE_PIXELMERGE _BITULL(7)
+#define DRM_PVR_SUBMIT_JOB_FRAG_CMD_FLAGS_MASK (DRM_PVR_SUBMIT_JOB_FRAG_CMD_SINGLE_CORE | DRM_PVR_SUBMIT_JOB_FRAG_CMD_DEPTHBUFFER | DRM_PVR_SUBMIT_JOB_FRAG_CMD_STENCILBUFFER | DRM_PVR_SUBMIT_JOB_FRAG_CMD_PREVENT_CDM_OVERLAP | DRM_PVR_SUBMIT_JOB_FRAG_CMD_SCRATCHBUFFER | DRM_PVR_SUBMIT_JOB_FRAG_CMD_GET_VIS_RESULTS | DRM_PVR_SUBMIT_JOB_FRAG_CMD_PARTIAL_RENDER | DRM_PVR_SUBMIT_JOB_FRAG_CMD_DISABLE_PIXELMERGE)
+#define DRM_PVR_SUBMIT_JOB_COMPUTE_CMD_PREVENT_ALL_OVERLAP _BITULL(0)
+#define DRM_PVR_SUBMIT_JOB_COMPUTE_CMD_SINGLE_CORE _BITULL(1)
+#define DRM_PVR_SUBMIT_JOB_COMPUTE_CMD_FLAGS_MASK (DRM_PVR_SUBMIT_JOB_COMPUTE_CMD_PREVENT_ALL_OVERLAP | DRM_PVR_SUBMIT_JOB_COMPUTE_CMD_SINGLE_CORE)
+#define DRM_PVR_SUBMIT_JOB_TRANSFER_CMD_SINGLE_CORE _BITULL(0)
+#define DRM_PVR_SUBMIT_JOB_TRANSFER_CMD_FLAGS_MASK DRM_PVR_SUBMIT_JOB_TRANSFER_CMD_SINGLE_CORE
+enum drm_pvr_job_type {
+  DRM_PVR_JOB_TYPE_GEOMETRY = 0,
+  DRM_PVR_JOB_TYPE_FRAGMENT,
+  DRM_PVR_JOB_TYPE_COMPUTE,
+  DRM_PVR_JOB_TYPE_TRANSFER_FRAG,
+};
+struct drm_pvr_hwrt_data_ref {
+  __u32 set_handle;
+  __u32 data_index;
+};
+struct drm_pvr_job {
+  __u32 type;
+  __u32 context_handle;
+  __u32 flags;
+  __u32 cmd_stream_len;
+  __u64 cmd_stream;
+  struct drm_pvr_obj_array sync_ops;
+  struct drm_pvr_hwrt_data_ref hwrt;
+};
+struct drm_pvr_ioctl_submit_jobs_args {
+  struct drm_pvr_obj_array jobs;
+};
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/libc/kernel/uapi/drm/qaic_accel.h b/libc/kernel/uapi/drm/qaic_accel.h
new file mode 100644
index 0000000..9e50aec
--- /dev/null
+++ b/libc/kernel/uapi/drm/qaic_accel.h
@@ -0,0 +1,198 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef QAIC_ACCEL_H_
+#define QAIC_ACCEL_H_
+#include "drm.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define QAIC_MANAGE_MAX_MSG_LENGTH SZ_4K
+#define QAIC_SEM_INSYNCFENCE 2
+#define QAIC_SEM_OUTSYNCFENCE 1
+#define QAIC_SEM_NOP 0
+#define QAIC_SEM_INIT 1
+#define QAIC_SEM_INC 2
+#define QAIC_SEM_DEC 3
+#define QAIC_SEM_WAIT_EQUAL 4
+#define QAIC_SEM_WAIT_GT_EQ 5
+#define QAIC_SEM_WAIT_GT_0 6
+#define QAIC_TRANS_UNDEFINED 0
+#define QAIC_TRANS_PASSTHROUGH_FROM_USR 1
+#define QAIC_TRANS_PASSTHROUGH_TO_USR 2
+#define QAIC_TRANS_PASSTHROUGH_FROM_DEV 3
+#define QAIC_TRANS_PASSTHROUGH_TO_DEV 4
+#define QAIC_TRANS_DMA_XFER_FROM_USR 5
+#define QAIC_TRANS_DMA_XFER_TO_DEV 6
+#define QAIC_TRANS_ACTIVATE_FROM_USR 7
+#define QAIC_TRANS_ACTIVATE_FROM_DEV 8
+#define QAIC_TRANS_ACTIVATE_TO_DEV 9
+#define QAIC_TRANS_DEACTIVATE_FROM_USR 10
+#define QAIC_TRANS_DEACTIVATE_FROM_DEV 11
+#define QAIC_TRANS_STATUS_FROM_USR 12
+#define QAIC_TRANS_STATUS_TO_USR 13
+#define QAIC_TRANS_STATUS_FROM_DEV 14
+#define QAIC_TRANS_STATUS_TO_DEV 15
+#define QAIC_TRANS_TERMINATE_FROM_DEV 16
+#define QAIC_TRANS_TERMINATE_TO_DEV 17
+#define QAIC_TRANS_DMA_XFER_CONT 18
+#define QAIC_TRANS_VALIDATE_PARTITION_FROM_DEV 19
+#define QAIC_TRANS_VALIDATE_PARTITION_TO_DEV 20
+struct qaic_manage_trans_hdr {
+  __u32 type;
+  __u32 len;
+};
+struct qaic_manage_trans_passthrough {
+  struct qaic_manage_trans_hdr hdr;
+  __u8 data[];
+};
+struct qaic_manage_trans_dma_xfer {
+  struct qaic_manage_trans_hdr hdr;
+  __u32 tag;
+  __u32 pad;
+  __u64 addr;
+  __u64 size;
+};
+struct qaic_manage_trans_activate_to_dev {
+  struct qaic_manage_trans_hdr hdr;
+  __u32 queue_size;
+  __u32 eventfd;
+  __u32 options;
+  __u32 pad;
+};
+struct qaic_manage_trans_activate_from_dev {
+  struct qaic_manage_trans_hdr hdr;
+  __u32 status;
+  __u32 dbc_id;
+  __u64 options;
+};
+struct qaic_manage_trans_deactivate {
+  struct qaic_manage_trans_hdr hdr;
+  __u32 dbc_id;
+  __u32 pad;
+};
+struct qaic_manage_trans_status_to_dev {
+  struct qaic_manage_trans_hdr hdr;
+};
+struct qaic_manage_trans_status_from_dev {
+  struct qaic_manage_trans_hdr hdr;
+  __u16 major;
+  __u16 minor;
+  __u32 status;
+  __u64 status_flags;
+};
+struct qaic_manage_msg {
+  __u32 len;
+  __u32 count;
+  __u64 data;
+};
+struct qaic_create_bo {
+  __u64 size;
+  __u32 handle;
+  __u32 pad;
+};
+struct qaic_mmap_bo {
+  __u32 handle;
+  __u32 pad;
+  __u64 offset;
+};
+struct qaic_sem {
+  __u16 val;
+  __u8 index;
+  __u8 presync;
+  __u8 cmd;
+  __u8 flags;
+  __u16 pad;
+};
+struct qaic_attach_slice_entry {
+  __u64 size;
+  struct qaic_sem sem0;
+  struct qaic_sem sem1;
+  struct qaic_sem sem2;
+  struct qaic_sem sem3;
+  __u64 dev_addr;
+  __u64 db_addr;
+  __u32 db_data;
+  __u32 db_len;
+  __u64 offset;
+};
+struct qaic_attach_slice_hdr {
+  __u32 count;
+  __u32 dbc_id;
+  __u32 handle;
+  __u32 dir;
+  __u64 size;
+};
+struct qaic_attach_slice {
+  struct qaic_attach_slice_hdr hdr;
+  __u64 data;
+};
+struct qaic_execute_entry {
+  __u32 handle;
+  __u32 dir;
+};
+struct qaic_partial_execute_entry {
+  __u32 handle;
+  __u32 dir;
+  __u64 resize;
+};
+struct qaic_execute_hdr {
+  __u32 count;
+  __u32 dbc_id;
+};
+struct qaic_execute {
+  struct qaic_execute_hdr hdr;
+  __u64 data;
+};
+struct qaic_wait {
+  __u32 handle;
+  __u32 timeout;
+  __u32 dbc_id;
+  __u32 pad;
+};
+struct qaic_perf_stats_hdr {
+  __u16 count;
+  __u16 pad;
+  __u32 dbc_id;
+};
+struct qaic_perf_stats {
+  struct qaic_perf_stats_hdr hdr;
+  __u64 data;
+};
+struct qaic_perf_stats_entry {
+  __u32 handle;
+  __u32 queue_level_before;
+  __u32 num_queue_element;
+  __u32 submit_latency_us;
+  __u32 device_latency_us;
+  __u32 pad;
+};
+struct qaic_detach_slice {
+  __u32 handle;
+  __u32 pad;
+};
+#define DRM_QAIC_MANAGE 0x00
+#define DRM_QAIC_CREATE_BO 0x01
+#define DRM_QAIC_MMAP_BO 0x02
+#define DRM_QAIC_ATTACH_SLICE_BO 0x03
+#define DRM_QAIC_EXECUTE_BO 0x04
+#define DRM_QAIC_PARTIAL_EXECUTE_BO 0x05
+#define DRM_QAIC_WAIT_BO 0x06
+#define DRM_QAIC_PERF_STATS_BO 0x07
+#define DRM_QAIC_DETACH_SLICE_BO 0x08
+#define DRM_IOCTL_QAIC_MANAGE DRM_IOWR(DRM_COMMAND_BASE + DRM_QAIC_MANAGE, struct qaic_manage_msg)
+#define DRM_IOCTL_QAIC_CREATE_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_QAIC_CREATE_BO, struct qaic_create_bo)
+#define DRM_IOCTL_QAIC_MMAP_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_QAIC_MMAP_BO, struct qaic_mmap_bo)
+#define DRM_IOCTL_QAIC_ATTACH_SLICE_BO DRM_IOW(DRM_COMMAND_BASE + DRM_QAIC_ATTACH_SLICE_BO, struct qaic_attach_slice)
+#define DRM_IOCTL_QAIC_EXECUTE_BO DRM_IOW(DRM_COMMAND_BASE + DRM_QAIC_EXECUTE_BO, struct qaic_execute)
+#define DRM_IOCTL_QAIC_PARTIAL_EXECUTE_BO DRM_IOW(DRM_COMMAND_BASE + DRM_QAIC_PARTIAL_EXECUTE_BO, struct qaic_execute)
+#define DRM_IOCTL_QAIC_WAIT_BO DRM_IOW(DRM_COMMAND_BASE + DRM_QAIC_WAIT_BO, struct qaic_wait)
+#define DRM_IOCTL_QAIC_PERF_STATS_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_QAIC_PERF_STATS_BO, struct qaic_perf_stats)
+#define DRM_IOCTL_QAIC_DETACH_SLICE_BO DRM_IOW(DRM_COMMAND_BASE + DRM_QAIC_DETACH_SLICE_BO, struct qaic_detach_slice)
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/libc/kernel/uapi/drm/qxl_drm.h b/libc/kernel/uapi/drm/qxl_drm.h
index e9521c4..b241234 100644
--- a/libc/kernel/uapi/drm/qxl_drm.h
+++ b/libc/kernel/uapi/drm/qxl_drm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef QXL_DRM_H
 #define QXL_DRM_H
 #include "drm.h"
diff --git a/libc/kernel/uapi/drm/r128_drm.h b/libc/kernel/uapi/drm/r128_drm.h
deleted file mode 100644
index 3e013b1..0000000
--- a/libc/kernel/uapi/drm/r128_drm.h
+++ /dev/null
@@ -1,235 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef __R128_DRM_H__
-#define __R128_DRM_H__
-#include "drm.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef __R128_SAREA_DEFINES__
-#define __R128_SAREA_DEFINES__
-#define R128_UPLOAD_CONTEXT 0x001
-#define R128_UPLOAD_SETUP 0x002
-#define R128_UPLOAD_TEX0 0x004
-#define R128_UPLOAD_TEX1 0x008
-#define R128_UPLOAD_TEX0IMAGES 0x010
-#define R128_UPLOAD_TEX1IMAGES 0x020
-#define R128_UPLOAD_CORE 0x040
-#define R128_UPLOAD_MASKS 0x080
-#define R128_UPLOAD_WINDOW 0x100
-#define R128_UPLOAD_CLIPRECTS 0x200
-#define R128_REQUIRE_QUIESCENCE 0x400
-#define R128_UPLOAD_ALL 0x7ff
-#define R128_FRONT 0x1
-#define R128_BACK 0x2
-#define R128_DEPTH 0x4
-#define R128_POINTS 0x1
-#define R128_LINES 0x2
-#define R128_LINE_STRIP 0x3
-#define R128_TRIANGLES 0x4
-#define R128_TRIANGLE_FAN 0x5
-#define R128_TRIANGLE_STRIP 0x6
-#define R128_BUFFER_SIZE 16384
-#define R128_INDEX_PRIM_OFFSET 20
-#define R128_HOSTDATA_BLIT_OFFSET 32
-#define R128_NR_SAREA_CLIPRECTS 12
-#define R128_LOCAL_TEX_HEAP 0
-#define R128_AGP_TEX_HEAP 1
-#define R128_NR_TEX_HEAPS 2
-#define R128_NR_TEX_REGIONS 64
-#define R128_LOG_TEX_GRANULARITY 16
-#define R128_NR_CONTEXT_REGS 12
-#define R128_MAX_TEXTURE_LEVELS 11
-#define R128_MAX_TEXTURE_UNITS 2
-#endif
-typedef struct {
-  unsigned int dst_pitch_offset_c;
-  unsigned int dp_gui_master_cntl_c;
-  unsigned int sc_top_left_c;
-  unsigned int sc_bottom_right_c;
-  unsigned int z_offset_c;
-  unsigned int z_pitch_c;
-  unsigned int z_sten_cntl_c;
-  unsigned int tex_cntl_c;
-  unsigned int misc_3d_state_cntl_reg;
-  unsigned int texture_clr_cmp_clr_c;
-  unsigned int texture_clr_cmp_msk_c;
-  unsigned int fog_color_c;
-  unsigned int tex_size_pitch_c;
-  unsigned int constant_color_c;
-  unsigned int pm4_vc_fpu_setup;
-  unsigned int setup_cntl;
-  unsigned int dp_write_mask;
-  unsigned int sten_ref_mask_c;
-  unsigned int plane_3d_mask_c;
-  unsigned int window_xy_offset;
-  unsigned int scale_3d_cntl;
-} drm_r128_context_regs_t;
-typedef struct {
-  unsigned int tex_cntl;
-  unsigned int tex_combine_cntl;
-  unsigned int tex_size_pitch;
-  unsigned int tex_offset[R128_MAX_TEXTURE_LEVELS];
-  unsigned int tex_border_color;
-} drm_r128_texture_regs_t;
-typedef struct drm_r128_sarea {
-  drm_r128_context_regs_t context_state;
-  drm_r128_texture_regs_t tex_state[R128_MAX_TEXTURE_UNITS];
-  unsigned int dirty;
-  unsigned int vertsize;
-  unsigned int vc_format;
-  struct drm_clip_rect boxes[R128_NR_SAREA_CLIPRECTS];
-  unsigned int nbox;
-  unsigned int last_frame;
-  unsigned int last_dispatch;
-  struct drm_tex_region tex_list[R128_NR_TEX_HEAPS][R128_NR_TEX_REGIONS + 1];
-  unsigned int tex_age[R128_NR_TEX_HEAPS];
-  int ctx_owner;
-  int pfAllowPageFlip;
-  int pfCurrentPage;
-} drm_r128_sarea_t;
-#define DRM_R128_INIT 0x00
-#define DRM_R128_CCE_START 0x01
-#define DRM_R128_CCE_STOP 0x02
-#define DRM_R128_CCE_RESET 0x03
-#define DRM_R128_CCE_IDLE 0x04
-#define DRM_R128_RESET 0x06
-#define DRM_R128_SWAP 0x07
-#define DRM_R128_CLEAR 0x08
-#define DRM_R128_VERTEX 0x09
-#define DRM_R128_INDICES 0x0a
-#define DRM_R128_BLIT 0x0b
-#define DRM_R128_DEPTH 0x0c
-#define DRM_R128_STIPPLE 0x0d
-#define DRM_R128_INDIRECT 0x0f
-#define DRM_R128_FULLSCREEN 0x10
-#define DRM_R128_CLEAR2 0x11
-#define DRM_R128_GETPARAM 0x12
-#define DRM_R128_FLIP 0x13
-#define DRM_IOCTL_R128_INIT DRM_IOW(DRM_COMMAND_BASE + DRM_R128_INIT, drm_r128_init_t)
-#define DRM_IOCTL_R128_CCE_START DRM_IO(DRM_COMMAND_BASE + DRM_R128_CCE_START)
-#define DRM_IOCTL_R128_CCE_STOP DRM_IOW(DRM_COMMAND_BASE + DRM_R128_CCE_STOP, drm_r128_cce_stop_t)
-#define DRM_IOCTL_R128_CCE_RESET DRM_IO(DRM_COMMAND_BASE + DRM_R128_CCE_RESET)
-#define DRM_IOCTL_R128_CCE_IDLE DRM_IO(DRM_COMMAND_BASE + DRM_R128_CCE_IDLE)
-#define DRM_IOCTL_R128_RESET DRM_IO(DRM_COMMAND_BASE + DRM_R128_RESET)
-#define DRM_IOCTL_R128_SWAP DRM_IO(DRM_COMMAND_BASE + DRM_R128_SWAP)
-#define DRM_IOCTL_R128_CLEAR DRM_IOW(DRM_COMMAND_BASE + DRM_R128_CLEAR, drm_r128_clear_t)
-#define DRM_IOCTL_R128_VERTEX DRM_IOW(DRM_COMMAND_BASE + DRM_R128_VERTEX, drm_r128_vertex_t)
-#define DRM_IOCTL_R128_INDICES DRM_IOW(DRM_COMMAND_BASE + DRM_R128_INDICES, drm_r128_indices_t)
-#define DRM_IOCTL_R128_BLIT DRM_IOW(DRM_COMMAND_BASE + DRM_R128_BLIT, drm_r128_blit_t)
-#define DRM_IOCTL_R128_DEPTH DRM_IOW(DRM_COMMAND_BASE + DRM_R128_DEPTH, drm_r128_depth_t)
-#define DRM_IOCTL_R128_STIPPLE DRM_IOW(DRM_COMMAND_BASE + DRM_R128_STIPPLE, drm_r128_stipple_t)
-#define DRM_IOCTL_R128_INDIRECT DRM_IOWR(DRM_COMMAND_BASE + DRM_R128_INDIRECT, drm_r128_indirect_t)
-#define DRM_IOCTL_R128_FULLSCREEN DRM_IOW(DRM_COMMAND_BASE + DRM_R128_FULLSCREEN, drm_r128_fullscreen_t)
-#define DRM_IOCTL_R128_CLEAR2 DRM_IOW(DRM_COMMAND_BASE + DRM_R128_CLEAR2, drm_r128_clear2_t)
-#define DRM_IOCTL_R128_GETPARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_R128_GETPARAM, drm_r128_getparam_t)
-#define DRM_IOCTL_R128_FLIP DRM_IO(DRM_COMMAND_BASE + DRM_R128_FLIP)
-typedef struct drm_r128_init {
-  enum {
-    R128_INIT_CCE = 0x01,
-    R128_CLEANUP_CCE = 0x02
-  } func;
-  unsigned long sarea_priv_offset;
-  int is_pci;
-  int cce_mode;
-  int cce_secure;
-  int ring_size;
-  int usec_timeout;
-  unsigned int fb_bpp;
-  unsigned int front_offset, front_pitch;
-  unsigned int back_offset, back_pitch;
-  unsigned int depth_bpp;
-  unsigned int depth_offset, depth_pitch;
-  unsigned int span_offset;
-  unsigned long fb_offset;
-  unsigned long mmio_offset;
-  unsigned long ring_offset;
-  unsigned long ring_rptr_offset;
-  unsigned long buffers_offset;
-  unsigned long agp_textures_offset;
-} drm_r128_init_t;
-typedef struct drm_r128_cce_stop {
-  int flush;
-  int idle;
-} drm_r128_cce_stop_t;
-typedef struct drm_r128_clear {
-  unsigned int flags;
-  unsigned int clear_color;
-  unsigned int clear_depth;
-  unsigned int color_mask;
-  unsigned int depth_mask;
-} drm_r128_clear_t;
-typedef struct drm_r128_vertex {
-  int prim;
-  int idx;
-  int count;
-  int discard;
-} drm_r128_vertex_t;
-typedef struct drm_r128_indices {
-  int prim;
-  int idx;
-  int start;
-  int end;
-  int discard;
-} drm_r128_indices_t;
-typedef struct drm_r128_blit {
-  int idx;
-  int pitch;
-  int offset;
-  int format;
-  unsigned short x, y;
-  unsigned short width, height;
-} drm_r128_blit_t;
-typedef struct drm_r128_depth {
-  enum {
-    R128_WRITE_SPAN = 0x01,
-    R128_WRITE_PIXELS = 0x02,
-    R128_READ_SPAN = 0x03,
-    R128_READ_PIXELS = 0x04
-  } func;
-  int n;
-  int  * x;
-  int  * y;
-  unsigned int  * buffer;
-  unsigned char  * mask;
-} drm_r128_depth_t;
-typedef struct drm_r128_stipple {
-  unsigned int  * mask;
-} drm_r128_stipple_t;
-typedef struct drm_r128_indirect {
-  int idx;
-  int start;
-  int end;
-  int discard;
-} drm_r128_indirect_t;
-typedef struct drm_r128_fullscreen {
-  enum {
-    R128_INIT_FULLSCREEN = 0x01,
-    R128_CLEANUP_FULLSCREEN = 0x02
-  } func;
-} drm_r128_fullscreen_t;
-#define R128_PARAM_IRQ_NR 1
-typedef struct drm_r128_getparam {
-  int param;
-  void  * value;
-} drm_r128_getparam_t;
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/libc/kernel/uapi/drm/radeon_drm.h b/libc/kernel/uapi/drm/radeon_drm.h
index 3ec6bb3..8f45904 100644
--- a/libc/kernel/uapi/drm/radeon_drm.h
+++ b/libc/kernel/uapi/drm/radeon_drm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __RADEON_DRM_H__
 #define __RADEON_DRM_H__
 #include "drm.h"
diff --git a/libc/kernel/uapi/drm/savage_drm.h b/libc/kernel/uapi/drm/savage_drm.h
deleted file mode 100644
index efc0ae6..0000000
--- a/libc/kernel/uapi/drm/savage_drm.h
+++ /dev/null
@@ -1,157 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef __SAVAGE_DRM_H__
-#define __SAVAGE_DRM_H__
-#include "drm.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef __SAVAGE_SAREA_DEFINES__
-#define __SAVAGE_SAREA_DEFINES__
-#define SAVAGE_CARD_HEAP 0
-#define SAVAGE_AGP_HEAP 1
-#define SAVAGE_NR_TEX_HEAPS 2
-#define SAVAGE_NR_TEX_REGIONS 16
-#define SAVAGE_LOG_MIN_TEX_REGION_SIZE 16
-#endif
-typedef struct _drm_savage_sarea {
-  struct drm_tex_region texList[SAVAGE_NR_TEX_HEAPS][SAVAGE_NR_TEX_REGIONS + 1];
-  unsigned int texAge[SAVAGE_NR_TEX_HEAPS];
-  int ctxOwner;
-} drm_savage_sarea_t, * drm_savage_sarea_ptr;
-#define DRM_SAVAGE_BCI_INIT 0x00
-#define DRM_SAVAGE_BCI_CMDBUF 0x01
-#define DRM_SAVAGE_BCI_EVENT_EMIT 0x02
-#define DRM_SAVAGE_BCI_EVENT_WAIT 0x03
-#define DRM_IOCTL_SAVAGE_BCI_INIT DRM_IOW(DRM_COMMAND_BASE + DRM_SAVAGE_BCI_INIT, drm_savage_init_t)
-#define DRM_IOCTL_SAVAGE_BCI_CMDBUF DRM_IOW(DRM_COMMAND_BASE + DRM_SAVAGE_BCI_CMDBUF, drm_savage_cmdbuf_t)
-#define DRM_IOCTL_SAVAGE_BCI_EVENT_EMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_SAVAGE_BCI_EVENT_EMIT, drm_savage_event_emit_t)
-#define DRM_IOCTL_SAVAGE_BCI_EVENT_WAIT DRM_IOW(DRM_COMMAND_BASE + DRM_SAVAGE_BCI_EVENT_WAIT, drm_savage_event_wait_t)
-#define SAVAGE_DMA_PCI 1
-#define SAVAGE_DMA_AGP 3
-typedef struct drm_savage_init {
-  enum {
-    SAVAGE_INIT_BCI = 1,
-    SAVAGE_CLEANUP_BCI = 2
-  } func;
-  unsigned int sarea_priv_offset;
-  unsigned int cob_size;
-  unsigned int bci_threshold_lo, bci_threshold_hi;
-  unsigned int dma_type;
-  unsigned int fb_bpp;
-  unsigned int front_offset, front_pitch;
-  unsigned int back_offset, back_pitch;
-  unsigned int depth_bpp;
-  unsigned int depth_offset, depth_pitch;
-  unsigned int texture_offset;
-  unsigned int texture_size;
-  unsigned long status_offset;
-  unsigned long buffers_offset;
-  unsigned long agp_textures_offset;
-  unsigned long cmd_dma_offset;
-} drm_savage_init_t;
-typedef union drm_savage_cmd_header drm_savage_cmd_header_t;
-typedef struct drm_savage_cmdbuf {
-  drm_savage_cmd_header_t  * cmd_addr;
-  unsigned int size;
-  unsigned int dma_idx;
-  int discard;
-  unsigned int  * vb_addr;
-  unsigned int vb_size;
-  unsigned int vb_stride;
-  struct drm_clip_rect  * box_addr;
-  unsigned int nbox;
-} drm_savage_cmdbuf_t;
-#define SAVAGE_WAIT_2D 0x1
-#define SAVAGE_WAIT_3D 0x2
-#define SAVAGE_WAIT_IRQ 0x4
-typedef struct drm_savage_event {
-  unsigned int count;
-  unsigned int flags;
-} drm_savage_event_emit_t, drm_savage_event_wait_t;
-#define SAVAGE_CMD_STATE 0
-#define SAVAGE_CMD_DMA_PRIM 1
-#define SAVAGE_CMD_VB_PRIM 2
-#define SAVAGE_CMD_DMA_IDX 3
-#define SAVAGE_CMD_VB_IDX 4
-#define SAVAGE_CMD_CLEAR 5
-#define SAVAGE_CMD_SWAP 6
-#define SAVAGE_PRIM_TRILIST 0
-#define SAVAGE_PRIM_TRISTRIP 1
-#define SAVAGE_PRIM_TRIFAN 2
-#define SAVAGE_PRIM_TRILIST_201 3
-#define SAVAGE_SKIP_Z 0x01
-#define SAVAGE_SKIP_W 0x02
-#define SAVAGE_SKIP_C0 0x04
-#define SAVAGE_SKIP_C1 0x08
-#define SAVAGE_SKIP_S0 0x10
-#define SAVAGE_SKIP_T0 0x20
-#define SAVAGE_SKIP_ST0 0x30
-#define SAVAGE_SKIP_S1 0x40
-#define SAVAGE_SKIP_T1 0x80
-#define SAVAGE_SKIP_ST1 0xc0
-#define SAVAGE_SKIP_ALL_S3D 0x3f
-#define SAVAGE_SKIP_ALL_S4 0xff
-#define SAVAGE_FRONT 0x1
-#define SAVAGE_BACK 0x2
-#define SAVAGE_DEPTH 0x4
-union drm_savage_cmd_header {
-  struct {
-    unsigned char cmd;
-    unsigned char pad0;
-    unsigned short pad1;
-    unsigned short pad2;
-    unsigned short pad3;
-  } cmd;
-  struct {
-    unsigned char cmd;
-    unsigned char global;
-    unsigned short count;
-    unsigned short start;
-    unsigned short pad3;
-  } state;
-  struct {
-    unsigned char cmd;
-    unsigned char prim;
-    unsigned short skip;
-    unsigned short count;
-    unsigned short start;
-  } prim;
-  struct {
-    unsigned char cmd;
-    unsigned char prim;
-    unsigned short skip;
-    unsigned short count;
-    unsigned short pad3;
-  } idx;
-  struct {
-    unsigned char cmd;
-    unsigned char pad0;
-    unsigned short pad1;
-    unsigned int flags;
-  } clear0;
-  struct {
-    unsigned int mask;
-    unsigned int value;
-  } clear1;
-};
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/libc/kernel/uapi/drm/sis_drm.h b/libc/kernel/uapi/drm/sis_drm.h
deleted file mode 100644
index 1606a85..0000000
--- a/libc/kernel/uapi/drm/sis_drm.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef __SIS_DRM_H__
-#define __SIS_DRM_H__
-#include "drm.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define NOT_USED_0_3
-#define DRM_SIS_FB_ALLOC 0x04
-#define DRM_SIS_FB_FREE 0x05
-#define NOT_USED_6_12
-#define DRM_SIS_AGP_INIT 0x13
-#define DRM_SIS_AGP_ALLOC 0x14
-#define DRM_SIS_AGP_FREE 0x15
-#define DRM_SIS_FB_INIT 0x16
-#define DRM_IOCTL_SIS_FB_ALLOC DRM_IOWR(DRM_COMMAND_BASE + DRM_SIS_FB_ALLOC, drm_sis_mem_t)
-#define DRM_IOCTL_SIS_FB_FREE DRM_IOW(DRM_COMMAND_BASE + DRM_SIS_FB_FREE, drm_sis_mem_t)
-#define DRM_IOCTL_SIS_AGP_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_SIS_AGP_INIT, drm_sis_agp_t)
-#define DRM_IOCTL_SIS_AGP_ALLOC DRM_IOWR(DRM_COMMAND_BASE + DRM_SIS_AGP_ALLOC, drm_sis_mem_t)
-#define DRM_IOCTL_SIS_AGP_FREE DRM_IOW(DRM_COMMAND_BASE + DRM_SIS_AGP_FREE, drm_sis_mem_t)
-#define DRM_IOCTL_SIS_FB_INIT DRM_IOW(DRM_COMMAND_BASE + DRM_SIS_FB_INIT, drm_sis_fb_t)
-typedef struct {
-  int context;
-  unsigned long offset;
-  unsigned long size;
-  unsigned long free;
-} drm_sis_mem_t;
-typedef struct {
-  unsigned long offset, size;
-} drm_sis_agp_t;
-typedef struct {
-  unsigned long offset, size;
-} drm_sis_fb_t;
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/libc/kernel/uapi/drm/tegra_drm.h b/libc/kernel/uapi/drm/tegra_drm.h
index 5e90635..ad77bf4 100644
--- a/libc/kernel/uapi/drm/tegra_drm.h
+++ b/libc/kernel/uapi/drm/tegra_drm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_TEGRA_DRM_H_
 #define _UAPI_TEGRA_DRM_H_
 #include "drm.h"
diff --git a/libc/kernel/uapi/drm/v3d_drm.h b/libc/kernel/uapi/drm/v3d_drm.h
index 5887678..b7aca21 100644
--- a/libc/kernel/uapi/drm/v3d_drm.h
+++ b/libc/kernel/uapi/drm/v3d_drm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _V3D_DRM_H_
 #define _V3D_DRM_H_
 #include "drm.h"
@@ -33,6 +21,8 @@
 #define DRM_V3D_PERFMON_CREATE 0x08
 #define DRM_V3D_PERFMON_DESTROY 0x09
 #define DRM_V3D_PERFMON_GET_VALUES 0x0a
+#define DRM_V3D_SUBMIT_CPU 0x0b
+#define DRM_V3D_PERFMON_GET_COUNTER 0x0c
 #define DRM_IOCTL_V3D_SUBMIT_CL DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_CL, struct drm_v3d_submit_cl)
 #define DRM_IOCTL_V3D_WAIT_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_WAIT_BO, struct drm_v3d_wait_bo)
 #define DRM_IOCTL_V3D_CREATE_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_CREATE_BO, struct drm_v3d_create_bo)
@@ -44,12 +34,20 @@
 #define DRM_IOCTL_V3D_PERFMON_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_PERFMON_CREATE, struct drm_v3d_perfmon_create)
 #define DRM_IOCTL_V3D_PERFMON_DESTROY DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_PERFMON_DESTROY, struct drm_v3d_perfmon_destroy)
 #define DRM_IOCTL_V3D_PERFMON_GET_VALUES DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_PERFMON_GET_VALUES, struct drm_v3d_perfmon_get_values)
+#define DRM_IOCTL_V3D_SUBMIT_CPU DRM_IOW(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_CPU, struct drm_v3d_submit_cpu)
+#define DRM_IOCTL_V3D_PERFMON_GET_COUNTER DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_PERFMON_GET_COUNTER, struct drm_v3d_perfmon_get_counter)
 #define DRM_V3D_SUBMIT_CL_FLUSH_CACHE 0x01
 #define DRM_V3D_SUBMIT_EXTENSION 0x02
 struct drm_v3d_extension {
   __u64 next;
   __u32 id;
 #define DRM_V3D_EXT_ID_MULTI_SYNC 0x01
+#define DRM_V3D_EXT_ID_CPU_INDIRECT_CSD 0x02
+#define DRM_V3D_EXT_ID_CPU_TIMESTAMP_QUERY 0x03
+#define DRM_V3D_EXT_ID_CPU_RESET_TIMESTAMP_QUERY 0x04
+#define DRM_V3D_EXT_ID_CPU_COPY_TIMESTAMP_QUERY 0x05
+#define DRM_V3D_EXT_ID_CPU_RESET_PERFORMANCE_QUERY 0x06
+#define DRM_V3D_EXT_ID_CPU_COPY_PERFORMANCE_QUERY 0x07
   __u32 flags;
 };
 struct drm_v3d_sem {
@@ -64,6 +62,7 @@
   V3D_TFU,
   V3D_CSD,
   V3D_CACHE_CLEAN,
+  V3D_CPU,
 };
 struct drm_v3d_multi_sync {
   struct drm_v3d_extension base;
@@ -121,6 +120,8 @@
   DRM_V3D_PARAM_SUPPORTS_CACHE_FLUSH,
   DRM_V3D_PARAM_SUPPORTS_PERFMON,
   DRM_V3D_PARAM_SUPPORTS_MULTISYNC_EXT,
+  DRM_V3D_PARAM_SUPPORTS_CPU_QUEUE,
+  DRM_V3D_PARAM_MAX_PERF_COUNTERS,
 };
 struct drm_v3d_get_param {
   __u32 param;
@@ -145,6 +146,10 @@
   __u32 out_sync;
   __u32 flags;
   __u64 extensions;
+  struct {
+    __u32 ioc;
+    __u32 pad;
+  } v71;
 };
 struct drm_v3d_submit_csd {
   __u32 cfg[7];
@@ -158,6 +163,66 @@
   __u32 flags;
   __u32 pad;
 };
+struct drm_v3d_indirect_csd {
+  struct drm_v3d_extension base;
+  struct drm_v3d_submit_csd submit;
+  __u32 indirect;
+  __u32 offset;
+  __u32 wg_size;
+  __u32 wg_uniform_offsets[3];
+};
+struct drm_v3d_timestamp_query {
+  struct drm_v3d_extension base;
+  __u64 offsets;
+  __u64 syncs;
+  __u32 count;
+  __u32 pad;
+};
+struct drm_v3d_reset_timestamp_query {
+  struct drm_v3d_extension base;
+  __u64 syncs;
+  __u32 offset;
+  __u32 count;
+};
+struct drm_v3d_copy_timestamp_query {
+  struct drm_v3d_extension base;
+  __u8 do_64bit;
+  __u8 do_partial;
+  __u8 availability_bit;
+  __u8 pad;
+  __u32 offset;
+  __u32 stride;
+  __u32 count;
+  __u64 offsets;
+  __u64 syncs;
+};
+struct drm_v3d_reset_performance_query {
+  struct drm_v3d_extension base;
+  __u64 syncs;
+  __u32 count;
+  __u32 nperfmons;
+  __u64 kperfmon_ids;
+};
+struct drm_v3d_copy_performance_query {
+  struct drm_v3d_extension base;
+  __u8 do_64bit;
+  __u8 do_partial;
+  __u8 availability_bit;
+  __u8 pad;
+  __u32 offset;
+  __u32 stride;
+  __u32 nperfmons;
+  __u32 ncounters;
+  __u32 count;
+  __u64 syncs;
+  __u64 kperfmon_ids;
+};
+struct drm_v3d_submit_cpu {
+  __u64 bo_handles;
+  __u32 bo_handle_count;
+  __u32 flags;
+  __u64 extensions;
+};
 enum {
   V3D_PERFCNT_FEP_VALID_PRIMTS_NO_PIXELS,
   V3D_PERFCNT_FEP_VALID_PRIMS,
@@ -262,6 +327,16 @@
   __u32 pad;
   __u64 values_ptr;
 };
+#define DRM_V3D_PERFCNT_MAX_NAME 64
+#define DRM_V3D_PERFCNT_MAX_CATEGORY 32
+#define DRM_V3D_PERFCNT_MAX_DESCRIPTION 256
+struct drm_v3d_perfmon_get_counter {
+  __u8 counter;
+  __u8 name[DRM_V3D_PERFCNT_MAX_NAME];
+  __u8 category[DRM_V3D_PERFCNT_MAX_CATEGORY];
+  __u8 description[DRM_V3D_PERFCNT_MAX_DESCRIPTION];
+  __u8 reserved[7];
+};
 #ifdef __cplusplus
 }
 #endif
diff --git a/libc/kernel/uapi/drm/vc4_drm.h b/libc/kernel/uapi/drm/vc4_drm.h
index fde443f..473c5f2 100644
--- a/libc/kernel/uapi/drm/vc4_drm.h
+++ b/libc/kernel/uapi/drm/vc4_drm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_VC4_DRM_H_
 #define _UAPI_VC4_DRM_H_
 #include "drm.h"
diff --git a/libc/kernel/uapi/drm/vgem_drm.h b/libc/kernel/uapi/drm/vgem_drm.h
index b33452b..71aee1b 100644
--- a/libc/kernel/uapi/drm/vgem_drm.h
+++ b/libc/kernel/uapi/drm/vgem_drm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_VGEM_DRM_H_
 #define _UAPI_VGEM_DRM_H_
 #include "drm.h"
diff --git a/libc/kernel/uapi/drm/via_drm.h b/libc/kernel/uapi/drm/via_drm.h
deleted file mode 100644
index 95a149b..0000000
--- a/libc/kernel/uapi/drm/via_drm.h
+++ /dev/null
@@ -1,202 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef _VIA_DRM_H_
-#define _VIA_DRM_H_
-#include "drm.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
-#ifndef _VIA_DEFINES_
-#define _VIA_DEFINES_
-#define VIA_NR_SAREA_CLIPRECTS 8
-#define VIA_NR_XVMC_PORTS 10
-#define VIA_NR_XVMC_LOCKS 5
-#define VIA_MAX_CACHELINE_SIZE 64
-#define XVMCLOCKPTR(saPriv,lockNo) ((volatile struct drm_hw_lock *) (((((unsigned long) (saPriv)->XvMCLockArea) + (VIA_MAX_CACHELINE_SIZE - 1)) & ~(VIA_MAX_CACHELINE_SIZE - 1)) + VIA_MAX_CACHELINE_SIZE * (lockNo)))
-#define VIA_NR_TEX_REGIONS 64
-#define VIA_LOG_MIN_TEX_REGION_SIZE 16
-#endif
-#define VIA_UPLOAD_TEX0IMAGE 0x1
-#define VIA_UPLOAD_TEX1IMAGE 0x2
-#define VIA_UPLOAD_CTX 0x4
-#define VIA_UPLOAD_BUFFERS 0x8
-#define VIA_UPLOAD_TEX0 0x10
-#define VIA_UPLOAD_TEX1 0x20
-#define VIA_UPLOAD_CLIPRECTS 0x40
-#define VIA_UPLOAD_ALL 0xff
-#define DRM_VIA_ALLOCMEM 0x00
-#define DRM_VIA_FREEMEM 0x01
-#define DRM_VIA_AGP_INIT 0x02
-#define DRM_VIA_FB_INIT 0x03
-#define DRM_VIA_MAP_INIT 0x04
-#define DRM_VIA_DEC_FUTEX 0x05
-#define NOT_USED
-#define DRM_VIA_DMA_INIT 0x07
-#define DRM_VIA_CMDBUFFER 0x08
-#define DRM_VIA_FLUSH 0x09
-#define DRM_VIA_PCICMD 0x0a
-#define DRM_VIA_CMDBUF_SIZE 0x0b
-#define NOT_USED
-#define DRM_VIA_WAIT_IRQ 0x0d
-#define DRM_VIA_DMA_BLIT 0x0e
-#define DRM_VIA_BLIT_SYNC 0x0f
-#define DRM_IOCTL_VIA_ALLOCMEM DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_ALLOCMEM, drm_via_mem_t)
-#define DRM_IOCTL_VIA_FREEMEM DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_FREEMEM, drm_via_mem_t)
-#define DRM_IOCTL_VIA_AGP_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_AGP_INIT, drm_via_agp_t)
-#define DRM_IOCTL_VIA_FB_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_FB_INIT, drm_via_fb_t)
-#define DRM_IOCTL_VIA_MAP_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_MAP_INIT, drm_via_init_t)
-#define DRM_IOCTL_VIA_DEC_FUTEX DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_DEC_FUTEX, drm_via_futex_t)
-#define DRM_IOCTL_VIA_DMA_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_DMA_INIT, drm_via_dma_init_t)
-#define DRM_IOCTL_VIA_CMDBUFFER DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_CMDBUFFER, drm_via_cmdbuffer_t)
-#define DRM_IOCTL_VIA_FLUSH DRM_IO(DRM_COMMAND_BASE + DRM_VIA_FLUSH)
-#define DRM_IOCTL_VIA_PCICMD DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_PCICMD, drm_via_cmdbuffer_t)
-#define DRM_IOCTL_VIA_CMDBUF_SIZE DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_CMDBUF_SIZE, drm_via_cmdbuf_size_t)
-#define DRM_IOCTL_VIA_WAIT_IRQ DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_WAIT_IRQ, drm_via_irqwait_t)
-#define DRM_IOCTL_VIA_DMA_BLIT DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_DMA_BLIT, drm_via_dmablit_t)
-#define DRM_IOCTL_VIA_BLIT_SYNC DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_BLIT_SYNC, drm_via_blitsync_t)
-#define VIA_TEX_SETUP_SIZE 8
-#define VIA_FRONT 0x1
-#define VIA_BACK 0x2
-#define VIA_DEPTH 0x4
-#define VIA_STENCIL 0x8
-#define VIA_MEM_VIDEO 0
-#define VIA_MEM_AGP 1
-#define VIA_MEM_SYSTEM 2
-#define VIA_MEM_MIXED 3
-#define VIA_MEM_UNKNOWN 4
-typedef struct {
-  __u32 offset;
-  __u32 size;
-} drm_via_agp_t;
-typedef struct {
-  __u32 offset;
-  __u32 size;
-} drm_via_fb_t;
-typedef struct {
-  __u32 context;
-  __u32 type;
-  __u32 size;
-  unsigned long index;
-  unsigned long offset;
-} drm_via_mem_t;
-typedef struct _drm_via_init {
-  enum {
-    VIA_INIT_MAP = 0x01,
-    VIA_CLEANUP_MAP = 0x02
-  } func;
-  unsigned long sarea_priv_offset;
-  unsigned long fb_offset;
-  unsigned long mmio_offset;
-  unsigned long agpAddr;
-} drm_via_init_t;
-typedef struct _drm_via_futex {
-  enum {
-    VIA_FUTEX_WAIT = 0x00,
-    VIA_FUTEX_WAKE = 0X01
-  } func;
-  __u32 ms;
-  __u32 lock;
-  __u32 val;
-} drm_via_futex_t;
-typedef struct _drm_via_dma_init {
-  enum {
-    VIA_INIT_DMA = 0x01,
-    VIA_CLEANUP_DMA = 0x02,
-    VIA_DMA_INITIALIZED = 0x03
-  } func;
-  unsigned long offset;
-  unsigned long size;
-  unsigned long reg_pause_addr;
-} drm_via_dma_init_t;
-typedef struct _drm_via_cmdbuffer {
-  char  * buf;
-  unsigned long size;
-} drm_via_cmdbuffer_t;
-typedef struct _drm_via_tex_region {
-  unsigned char next, prev;
-  unsigned char inUse;
-  int age;
-} drm_via_tex_region_t;
-typedef struct _drm_via_sarea {
-  unsigned int dirty;
-  unsigned int nbox;
-  struct drm_clip_rect boxes[VIA_NR_SAREA_CLIPRECTS];
-  drm_via_tex_region_t texList[VIA_NR_TEX_REGIONS + 1];
-  int texAge;
-  int ctxOwner;
-  int vertexPrim;
-  char XvMCLockArea[VIA_MAX_CACHELINE_SIZE * (VIA_NR_XVMC_LOCKS + 1)];
-  unsigned int XvMCDisplaying[VIA_NR_XVMC_PORTS];
-  unsigned int XvMCSubPicOn[VIA_NR_XVMC_PORTS];
-  unsigned int XvMCCtxNoGrabbed;
-  unsigned int pfCurrentOffset;
-} drm_via_sarea_t;
-typedef struct _drm_via_cmdbuf_size {
-  enum {
-    VIA_CMDBUF_SPACE = 0x01,
-    VIA_CMDBUF_LAG = 0x02
-  } func;
-  int wait;
-  __u32 size;
-} drm_via_cmdbuf_size_t;
-typedef enum {
-  VIA_IRQ_ABSOLUTE = 0x0,
-  VIA_IRQ_RELATIVE = 0x1,
-  VIA_IRQ_SIGNAL = 0x10000000,
-  VIA_IRQ_FORCE_SEQUENCE = 0x20000000
-} via_irq_seq_type_t;
-#define VIA_IRQ_FLAGS_MASK 0xF0000000
-enum drm_via_irqs {
-  drm_via_irq_hqv0 = 0,
-  drm_via_irq_hqv1,
-  drm_via_irq_dma0_dd,
-  drm_via_irq_dma0_td,
-  drm_via_irq_dma1_dd,
-  drm_via_irq_dma1_td,
-  drm_via_irq_num
-};
-struct drm_via_wait_irq_request {
-  unsigned irq;
-  via_irq_seq_type_t type;
-  __u32 sequence;
-  __u32 signal;
-};
-typedef union drm_via_irqwait {
-  struct drm_via_wait_irq_request request;
-  struct drm_wait_vblank_reply reply;
-} drm_via_irqwait_t;
-typedef struct drm_via_blitsync {
-  __u32 sync_handle;
-  unsigned engine;
-} drm_via_blitsync_t;
-typedef struct drm_via_dmablit {
-  __u32 num_lines;
-  __u32 line_length;
-  __u32 fb_addr;
-  __u32 fb_stride;
-  unsigned char * mem_addr;
-  __u32 mem_stride;
-  __u32 flags;
-  int to_fb;
-  drm_via_blitsync_t sync;
-} drm_via_dmablit_t;
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/libc/kernel/uapi/drm/virtgpu_drm.h b/libc/kernel/uapi/drm/virtgpu_drm.h
index 342282d..d79c7d9 100644
--- a/libc/kernel/uapi/drm/virtgpu_drm.h
+++ b/libc/kernel/uapi/drm/virtgpu_drm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef VIRTGPU_DRM_H
 #define VIRTGPU_DRM_H
 #include "drm.h"
@@ -42,6 +30,13 @@
   __u32 handle;
   __u32 pad;
 };
+#define VIRTGPU_EXECBUF_SYNCOBJ_RESET 0x01
+#define VIRTGPU_EXECBUF_SYNCOBJ_FLAGS (VIRTGPU_EXECBUF_SYNCOBJ_RESET | 0)
+struct drm_virtgpu_execbuffer_syncobj {
+  __u32 handle;
+  __u32 flags;
+  __u64 point;
+};
 struct drm_virtgpu_execbuffer {
   __u32 flags;
   __u32 size;
@@ -50,7 +45,11 @@
   __u32 num_bo_handles;
   __s32 fence_fd;
   __u32 ring_idx;
-  __u32 pad;
+  __u32 syncobj_stride;
+  __u32 num_in_syncobjs;
+  __u32 num_out_syncobjs;
+  __u64 in_syncobjs;
+  __u64 out_syncobjs;
 };
 #define VIRTGPU_PARAM_3D_FEATURES 1
 #define VIRTGPU_PARAM_CAPSET_QUERY_FIX 2
@@ -59,6 +58,7 @@
 #define VIRTGPU_PARAM_CROSS_DEVICE 5
 #define VIRTGPU_PARAM_CONTEXT_INIT 6
 #define VIRTGPU_PARAM_SUPPORTED_CAPSET_IDs 7
+#define VIRTGPU_PARAM_EXPLICIT_DEBUG_NAME 8
 struct drm_virtgpu_getparam {
   __u64 param;
   __u64 value;
@@ -141,6 +141,7 @@
 #define VIRTGPU_CONTEXT_PARAM_CAPSET_ID 0x0001
 #define VIRTGPU_CONTEXT_PARAM_NUM_RINGS 0x0002
 #define VIRTGPU_CONTEXT_PARAM_POLL_RINGS_MASK 0x0003
+#define VIRTGPU_CONTEXT_PARAM_DEBUG_NAME 0x0004
 struct drm_virtgpu_context_set_param {
   __u64 param;
   __u64 value;
diff --git a/libc/kernel/uapi/drm/vmwgfx_drm.h b/libc/kernel/uapi/drm/vmwgfx_drm.h
index 2f75589..f07b743 100644
--- a/libc/kernel/uapi/drm/vmwgfx_drm.h
+++ b/libc/kernel/uapi/drm/vmwgfx_drm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __VMWGFX_DRM_H__
 #define __VMWGFX_DRM_H__
 #include "drm.h"
diff --git a/libc/kernel/uapi/drm/xe_drm.h b/libc/kernel/uapi/drm/xe_drm.h
new file mode 100644
index 0000000..a034b29
--- /dev/null
+++ b/libc/kernel/uapi/drm/xe_drm.h
@@ -0,0 +1,405 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_XE_DRM_H_
+#define _UAPI_XE_DRM_H_
+#include "drm.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define DRM_XE_DEVICE_QUERY 0x00
+#define DRM_XE_GEM_CREATE 0x01
+#define DRM_XE_GEM_MMAP_OFFSET 0x02
+#define DRM_XE_VM_CREATE 0x03
+#define DRM_XE_VM_DESTROY 0x04
+#define DRM_XE_VM_BIND 0x05
+#define DRM_XE_EXEC_QUEUE_CREATE 0x06
+#define DRM_XE_EXEC_QUEUE_DESTROY 0x07
+#define DRM_XE_EXEC_QUEUE_GET_PROPERTY 0x08
+#define DRM_XE_EXEC 0x09
+#define DRM_XE_WAIT_USER_FENCE 0x0a
+#define DRM_XE_OBSERVATION 0x0b
+#define DRM_IOCTL_XE_DEVICE_QUERY DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_DEVICE_QUERY, struct drm_xe_device_query)
+#define DRM_IOCTL_XE_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_GEM_CREATE, struct drm_xe_gem_create)
+#define DRM_IOCTL_XE_GEM_MMAP_OFFSET DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_GEM_MMAP_OFFSET, struct drm_xe_gem_mmap_offset)
+#define DRM_IOCTL_XE_VM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_VM_CREATE, struct drm_xe_vm_create)
+#define DRM_IOCTL_XE_VM_DESTROY DRM_IOW(DRM_COMMAND_BASE + DRM_XE_VM_DESTROY, struct drm_xe_vm_destroy)
+#define DRM_IOCTL_XE_VM_BIND DRM_IOW(DRM_COMMAND_BASE + DRM_XE_VM_BIND, struct drm_xe_vm_bind)
+#define DRM_IOCTL_XE_EXEC_QUEUE_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_EXEC_QUEUE_CREATE, struct drm_xe_exec_queue_create)
+#define DRM_IOCTL_XE_EXEC_QUEUE_DESTROY DRM_IOW(DRM_COMMAND_BASE + DRM_XE_EXEC_QUEUE_DESTROY, struct drm_xe_exec_queue_destroy)
+#define DRM_IOCTL_XE_EXEC_QUEUE_GET_PROPERTY DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_EXEC_QUEUE_GET_PROPERTY, struct drm_xe_exec_queue_get_property)
+#define DRM_IOCTL_XE_EXEC DRM_IOW(DRM_COMMAND_BASE + DRM_XE_EXEC, struct drm_xe_exec)
+#define DRM_IOCTL_XE_WAIT_USER_FENCE DRM_IOWR(DRM_COMMAND_BASE + DRM_XE_WAIT_USER_FENCE, struct drm_xe_wait_user_fence)
+#define DRM_IOCTL_XE_OBSERVATION DRM_IOW(DRM_COMMAND_BASE + DRM_XE_OBSERVATION, struct drm_xe_observation_param)
+struct drm_xe_user_extension {
+  __u64 next_extension;
+  __u32 name;
+  __u32 pad;
+};
+struct drm_xe_ext_set_property {
+  struct drm_xe_user_extension base;
+  __u32 property;
+  __u32 pad;
+  __u64 value;
+  __u64 reserved[2];
+};
+struct drm_xe_engine_class_instance {
+#define DRM_XE_ENGINE_CLASS_RENDER 0
+#define DRM_XE_ENGINE_CLASS_COPY 1
+#define DRM_XE_ENGINE_CLASS_VIDEO_DECODE 2
+#define DRM_XE_ENGINE_CLASS_VIDEO_ENHANCE 3
+#define DRM_XE_ENGINE_CLASS_COMPUTE 4
+#define DRM_XE_ENGINE_CLASS_VM_BIND 5
+  __u16 engine_class;
+  __u16 engine_instance;
+  __u16 gt_id;
+  __u16 pad;
+};
+struct drm_xe_engine {
+  struct drm_xe_engine_class_instance instance;
+  __u64 reserved[3];
+};
+struct drm_xe_query_engines {
+  __u32 num_engines;
+  __u32 pad;
+  struct drm_xe_engine engines[];
+};
+enum drm_xe_memory_class {
+  DRM_XE_MEM_REGION_CLASS_SYSMEM = 0,
+  DRM_XE_MEM_REGION_CLASS_VRAM
+};
+struct drm_xe_mem_region {
+  __u16 mem_class;
+  __u16 instance;
+  __u32 min_page_size;
+  __u64 total_size;
+  __u64 used;
+  __u64 cpu_visible_size;
+  __u64 cpu_visible_used;
+  __u64 reserved[6];
+};
+struct drm_xe_query_mem_regions {
+  __u32 num_mem_regions;
+  __u32 pad;
+  struct drm_xe_mem_region mem_regions[];
+};
+struct drm_xe_query_config {
+  __u32 num_params;
+  __u32 pad;
+#define DRM_XE_QUERY_CONFIG_REV_AND_DEVICE_ID 0
+#define DRM_XE_QUERY_CONFIG_FLAGS 1
+#define DRM_XE_QUERY_CONFIG_FLAG_HAS_VRAM (1 << 0)
+#define DRM_XE_QUERY_CONFIG_MIN_ALIGNMENT 2
+#define DRM_XE_QUERY_CONFIG_VA_BITS 3
+#define DRM_XE_QUERY_CONFIG_MAX_EXEC_QUEUE_PRIORITY 4
+  __u64 info[];
+};
+struct drm_xe_gt {
+#define DRM_XE_QUERY_GT_TYPE_MAIN 0
+#define DRM_XE_QUERY_GT_TYPE_MEDIA 1
+  __u16 type;
+  __u16 tile_id;
+  __u16 gt_id;
+  __u16 pad[3];
+  __u32 reference_clock;
+  __u64 near_mem_regions;
+  __u64 far_mem_regions;
+  __u16 ip_ver_major;
+  __u16 ip_ver_minor;
+  __u16 ip_ver_rev;
+  __u16 pad2;
+  __u64 reserved[7];
+};
+struct drm_xe_query_gt_list {
+  __u32 num_gt;
+  __u32 pad;
+  struct drm_xe_gt gt_list[];
+};
+struct drm_xe_query_topology_mask {
+  __u16 gt_id;
+#define DRM_XE_TOPO_DSS_GEOMETRY 1
+#define DRM_XE_TOPO_DSS_COMPUTE 2
+#define DRM_XE_TOPO_L3_BANK 3
+#define DRM_XE_TOPO_EU_PER_DSS 4
+  __u16 type;
+  __u32 num_bytes;
+  __u8 mask[];
+};
+struct drm_xe_query_engine_cycles {
+  struct drm_xe_engine_class_instance eci;
+  __s32 clockid;
+  __u32 width;
+  __u64 engine_cycles;
+  __u64 cpu_timestamp;
+  __u64 cpu_delta;
+};
+struct drm_xe_query_uc_fw_version {
+#define XE_QUERY_UC_TYPE_GUC_SUBMISSION 0
+#define XE_QUERY_UC_TYPE_HUC 1
+  __u16 uc_type;
+  __u16 pad;
+  __u32 branch_ver;
+  __u32 major_ver;
+  __u32 minor_ver;
+  __u32 patch_ver;
+  __u32 pad2;
+  __u64 reserved;
+};
+struct drm_xe_device_query {
+  __u64 extensions;
+#define DRM_XE_DEVICE_QUERY_ENGINES 0
+#define DRM_XE_DEVICE_QUERY_MEM_REGIONS 1
+#define DRM_XE_DEVICE_QUERY_CONFIG 2
+#define DRM_XE_DEVICE_QUERY_GT_LIST 3
+#define DRM_XE_DEVICE_QUERY_HWCONFIG 4
+#define DRM_XE_DEVICE_QUERY_GT_TOPOLOGY 5
+#define DRM_XE_DEVICE_QUERY_ENGINE_CYCLES 6
+#define DRM_XE_DEVICE_QUERY_UC_FW_VERSION 7
+#define DRM_XE_DEVICE_QUERY_OA_UNITS 8
+  __u32 query;
+  __u32 size;
+  __u64 data;
+  __u64 reserved[2];
+};
+struct drm_xe_gem_create {
+  __u64 extensions;
+  __u64 size;
+  __u32 placement;
+#define DRM_XE_GEM_CREATE_FLAG_DEFER_BACKING (1 << 0)
+#define DRM_XE_GEM_CREATE_FLAG_SCANOUT (1 << 1)
+#define DRM_XE_GEM_CREATE_FLAG_NEEDS_VISIBLE_VRAM (1 << 2)
+  __u32 flags;
+  __u32 vm_id;
+  __u32 handle;
+#define DRM_XE_GEM_CPU_CACHING_WB 1
+#define DRM_XE_GEM_CPU_CACHING_WC 2
+  __u16 cpu_caching;
+  __u16 pad[3];
+  __u64 reserved[2];
+};
+struct drm_xe_gem_mmap_offset {
+  __u64 extensions;
+  __u32 handle;
+  __u32 flags;
+  __u64 offset;
+  __u64 reserved[2];
+};
+struct drm_xe_vm_create {
+  __u64 extensions;
+#define DRM_XE_VM_CREATE_FLAG_SCRATCH_PAGE (1 << 0)
+#define DRM_XE_VM_CREATE_FLAG_LR_MODE (1 << 1)
+#define DRM_XE_VM_CREATE_FLAG_FAULT_MODE (1 << 2)
+  __u32 flags;
+  __u32 vm_id;
+  __u64 reserved[2];
+};
+struct drm_xe_vm_destroy {
+  __u32 vm_id;
+  __u32 pad;
+  __u64 reserved[2];
+};
+struct drm_xe_vm_bind_op {
+  __u64 extensions;
+  __u32 obj;
+  __u16 pat_index;
+  __u16 pad;
+  union {
+    __u64 obj_offset;
+    __u64 userptr;
+  };
+  __u64 range;
+  __u64 addr;
+#define DRM_XE_VM_BIND_OP_MAP 0x0
+#define DRM_XE_VM_BIND_OP_UNMAP 0x1
+#define DRM_XE_VM_BIND_OP_MAP_USERPTR 0x2
+#define DRM_XE_VM_BIND_OP_UNMAP_ALL 0x3
+#define DRM_XE_VM_BIND_OP_PREFETCH 0x4
+  __u32 op;
+#define DRM_XE_VM_BIND_FLAG_READONLY (1 << 0)
+#define DRM_XE_VM_BIND_FLAG_IMMEDIATE (1 << 1)
+#define DRM_XE_VM_BIND_FLAG_NULL (1 << 2)
+#define DRM_XE_VM_BIND_FLAG_DUMPABLE (1 << 3)
+  __u32 flags;
+  __u32 prefetch_mem_region_instance;
+  __u32 pad2;
+  __u64 reserved[3];
+};
+struct drm_xe_vm_bind {
+  __u64 extensions;
+  __u32 vm_id;
+  __u32 exec_queue_id;
+  __u32 pad;
+  __u32 num_binds;
+  union {
+    struct drm_xe_vm_bind_op bind;
+    __u64 vector_of_binds;
+  };
+  __u32 pad2;
+  __u32 num_syncs;
+  __u64 syncs;
+  __u64 reserved[2];
+};
+struct drm_xe_exec_queue_create {
+#define DRM_XE_EXEC_QUEUE_EXTENSION_SET_PROPERTY 0
+#define DRM_XE_EXEC_QUEUE_SET_PROPERTY_PRIORITY 0
+#define DRM_XE_EXEC_QUEUE_SET_PROPERTY_TIMESLICE 1
+  __u64 extensions;
+  __u16 width;
+  __u16 num_placements;
+  __u32 vm_id;
+  __u32 flags;
+  __u32 exec_queue_id;
+  __u64 instances;
+  __u64 reserved[2];
+};
+struct drm_xe_exec_queue_destroy {
+  __u32 exec_queue_id;
+  __u32 pad;
+  __u64 reserved[2];
+};
+struct drm_xe_exec_queue_get_property {
+  __u64 extensions;
+  __u32 exec_queue_id;
+#define DRM_XE_EXEC_QUEUE_GET_PROPERTY_BAN 0
+  __u32 property;
+  __u64 value;
+  __u64 reserved[2];
+};
+struct drm_xe_sync {
+  __u64 extensions;
+#define DRM_XE_SYNC_TYPE_SYNCOBJ 0x0
+#define DRM_XE_SYNC_TYPE_TIMELINE_SYNCOBJ 0x1
+#define DRM_XE_SYNC_TYPE_USER_FENCE 0x2
+  __u32 type;
+#define DRM_XE_SYNC_FLAG_SIGNAL (1 << 0)
+  __u32 flags;
+  union {
+    __u32 handle;
+    __u64 addr;
+  };
+  __u64 timeline_value;
+  __u64 reserved[2];
+};
+struct drm_xe_exec {
+  __u64 extensions;
+  __u32 exec_queue_id;
+  __u32 num_syncs;
+  __u64 syncs;
+  __u64 address;
+  __u16 num_batch_buffer;
+  __u16 pad[3];
+  __u64 reserved[2];
+};
+struct drm_xe_wait_user_fence {
+  __u64 extensions;
+  __u64 addr;
+#define DRM_XE_UFENCE_WAIT_OP_EQ 0x0
+#define DRM_XE_UFENCE_WAIT_OP_NEQ 0x1
+#define DRM_XE_UFENCE_WAIT_OP_GT 0x2
+#define DRM_XE_UFENCE_WAIT_OP_GTE 0x3
+#define DRM_XE_UFENCE_WAIT_OP_LT 0x4
+#define DRM_XE_UFENCE_WAIT_OP_LTE 0x5
+  __u16 op;
+#define DRM_XE_UFENCE_WAIT_FLAG_ABSTIME (1 << 0)
+  __u16 flags;
+  __u32 pad;
+  __u64 value;
+  __u64 mask;
+  __s64 timeout;
+  __u32 exec_queue_id;
+  __u32 pad2;
+  __u64 reserved[2];
+};
+enum drm_xe_observation_type {
+  DRM_XE_OBSERVATION_TYPE_OA,
+};
+enum drm_xe_observation_op {
+  DRM_XE_OBSERVATION_OP_STREAM_OPEN,
+  DRM_XE_OBSERVATION_OP_ADD_CONFIG,
+  DRM_XE_OBSERVATION_OP_REMOVE_CONFIG,
+};
+struct drm_xe_observation_param {
+  __u64 extensions;
+  __u64 observation_type;
+  __u64 observation_op;
+  __u64 param;
+};
+enum drm_xe_observation_ioctls {
+  DRM_XE_OBSERVATION_IOCTL_ENABLE = _IO('i', 0x0),
+  DRM_XE_OBSERVATION_IOCTL_DISABLE = _IO('i', 0x1),
+  DRM_XE_OBSERVATION_IOCTL_CONFIG = _IO('i', 0x2),
+  DRM_XE_OBSERVATION_IOCTL_STATUS = _IO('i', 0x3),
+  DRM_XE_OBSERVATION_IOCTL_INFO = _IO('i', 0x4),
+};
+enum drm_xe_oa_unit_type {
+  DRM_XE_OA_UNIT_TYPE_OAG,
+  DRM_XE_OA_UNIT_TYPE_OAM,
+};
+struct drm_xe_oa_unit {
+  __u64 extensions;
+  __u32 oa_unit_id;
+  __u32 oa_unit_type;
+  __u64 capabilities;
+#define DRM_XE_OA_CAPS_BASE (1 << 0)
+  __u64 oa_timestamp_freq;
+  __u64 reserved[4];
+  __u64 num_engines;
+  struct drm_xe_engine_class_instance eci[];
+};
+struct drm_xe_query_oa_units {
+  __u64 extensions;
+  __u32 num_oa_units;
+  __u32 pad;
+  __u64 oa_units[];
+};
+enum drm_xe_oa_format_type {
+  DRM_XE_OA_FMT_TYPE_OAG,
+  DRM_XE_OA_FMT_TYPE_OAR,
+  DRM_XE_OA_FMT_TYPE_OAM,
+  DRM_XE_OA_FMT_TYPE_OAC,
+  DRM_XE_OA_FMT_TYPE_OAM_MPEC,
+  DRM_XE_OA_FMT_TYPE_PEC,
+};
+enum drm_xe_oa_property_id {
+#define DRM_XE_OA_EXTENSION_SET_PROPERTY 0
+  DRM_XE_OA_PROPERTY_OA_UNIT_ID = 1,
+  DRM_XE_OA_PROPERTY_SAMPLE_OA,
+  DRM_XE_OA_PROPERTY_OA_METRIC_SET,
+  DRM_XE_OA_PROPERTY_OA_FORMAT,
+#define DRM_XE_OA_FORMAT_MASK_FMT_TYPE (0xffu << 0)
+#define DRM_XE_OA_FORMAT_MASK_COUNTER_SEL (0xffu << 8)
+#define DRM_XE_OA_FORMAT_MASK_COUNTER_SIZE (0xffu << 16)
+#define DRM_XE_OA_FORMAT_MASK_BC_REPORT (0xffu << 24)
+  DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT,
+  DRM_XE_OA_PROPERTY_OA_DISABLED,
+  DRM_XE_OA_PROPERTY_EXEC_QUEUE_ID,
+  DRM_XE_OA_PROPERTY_OA_ENGINE_INSTANCE,
+  DRM_XE_OA_PROPERTY_NO_PREEMPT,
+};
+struct drm_xe_oa_config {
+  __u64 extensions;
+  char uuid[36];
+  __u32 n_regs;
+  __u64 regs_ptr;
+};
+struct drm_xe_oa_stream_status {
+  __u64 extensions;
+  __u64 oa_status;
+#define DRM_XE_OASTATUS_MMIO_TRG_Q_FULL (1 << 3)
+#define DRM_XE_OASTATUS_COUNTER_OVERFLOW (1 << 2)
+#define DRM_XE_OASTATUS_BUFFER_OVERFLOW (1 << 1)
+#define DRM_XE_OASTATUS_REPORT_LOST (1 << 0)
+  __u64 reserved[3];
+};
+struct drm_xe_oa_stream_info {
+  __u64 extensions;
+  __u64 oa_buf_size;
+  __u64 reserved[3];
+};
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/libc/kernel/uapi/linux/a.out.h b/libc/kernel/uapi/linux/a.out.h
index 8f58c99..2d34e1d 100644
--- a/libc/kernel/uapi/linux/a.out.h
+++ b/libc/kernel/uapi/linux/a.out.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__A_OUT_GNU_H__
 #define _UAPI__A_OUT_GNU_H__
 #define __GNU_EXEC_MACROS__
diff --git a/libc/kernel/uapi/linux/acct.h b/libc/kernel/uapi/linux/acct.h
index ba9d25f..3c17f50 100644
--- a/libc/kernel/uapi/linux/acct.h
+++ b/libc/kernel/uapi/linux/acct.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_ACCT_H
 #define _UAPI_LINUX_ACCT_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/acrn.h b/libc/kernel/uapi/linux/acrn.h
index aa408d8..6dc581b 100644
--- a/libc/kernel/uapi/linux/acrn.h
+++ b/libc/kernel/uapi/linux/acrn.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ACRN_H
 #define _UAPI_ACRN_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/adb.h b/libc/kernel/uapi/linux/adb.h
index ddb3b65..d6dbc9e 100644
--- a/libc/kernel/uapi/linux/adb.h
+++ b/libc/kernel/uapi/linux/adb.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__ADB_H
 #define _UAPI__ADB_H
 #define ADB_BUSRESET 0
diff --git a/libc/kernel/uapi/linux/adfs_fs.h b/libc/kernel/uapi/linux/adfs_fs.h
index aa1d732..c95a42e 100644
--- a/libc/kernel/uapi/linux/adfs_fs.h
+++ b/libc/kernel/uapi/linux/adfs_fs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ADFS_FS_H
 #define _UAPI_ADFS_FS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/affs_hardblocks.h b/libc/kernel/uapi/linux/affs_hardblocks.h
index f46bdf1..157d67c 100644
--- a/libc/kernel/uapi/linux/affs_hardblocks.h
+++ b/libc/kernel/uapi/linux/affs_hardblocks.h
@@ -1,76 +1,64 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef AFFS_HARDBLOCKS_H
 #define AFFS_HARDBLOCKS_H
 #include <linux/types.h>
 struct RigidDiskBlock {
-  __u32 rdb_ID;
+  __be32 rdb_ID;
   __be32 rdb_SummedLongs;
-  __s32 rdb_ChkSum;
-  __u32 rdb_HostID;
+  __be32 rdb_ChkSum;
+  __be32 rdb_HostID;
   __be32 rdb_BlockBytes;
-  __u32 rdb_Flags;
-  __u32 rdb_BadBlockList;
+  __be32 rdb_Flags;
+  __be32 rdb_BadBlockList;
   __be32 rdb_PartitionList;
-  __u32 rdb_FileSysHeaderList;
-  __u32 rdb_DriveInit;
-  __u32 rdb_Reserved1[6];
-  __u32 rdb_Cylinders;
-  __u32 rdb_Sectors;
-  __u32 rdb_Heads;
-  __u32 rdb_Interleave;
-  __u32 rdb_Park;
-  __u32 rdb_Reserved2[3];
-  __u32 rdb_WritePreComp;
-  __u32 rdb_ReducedWrite;
-  __u32 rdb_StepRate;
-  __u32 rdb_Reserved3[5];
-  __u32 rdb_RDBBlocksLo;
-  __u32 rdb_RDBBlocksHi;
-  __u32 rdb_LoCylinder;
-  __u32 rdb_HiCylinder;
-  __u32 rdb_CylBlocks;
-  __u32 rdb_AutoParkSeconds;
-  __u32 rdb_HighRDSKBlock;
-  __u32 rdb_Reserved4;
+  __be32 rdb_FileSysHeaderList;
+  __be32 rdb_DriveInit;
+  __be32 rdb_Reserved1[6];
+  __be32 rdb_Cylinders;
+  __be32 rdb_Sectors;
+  __be32 rdb_Heads;
+  __be32 rdb_Interleave;
+  __be32 rdb_Park;
+  __be32 rdb_Reserved2[3];
+  __be32 rdb_WritePreComp;
+  __be32 rdb_ReducedWrite;
+  __be32 rdb_StepRate;
+  __be32 rdb_Reserved3[5];
+  __be32 rdb_RDBBlocksLo;
+  __be32 rdb_RDBBlocksHi;
+  __be32 rdb_LoCylinder;
+  __be32 rdb_HiCylinder;
+  __be32 rdb_CylBlocks;
+  __be32 rdb_AutoParkSeconds;
+  __be32 rdb_HighRDSKBlock;
+  __be32 rdb_Reserved4;
   char rdb_DiskVendor[8];
   char rdb_DiskProduct[16];
   char rdb_DiskRevision[4];
   char rdb_ControllerVendor[8];
   char rdb_ControllerProduct[16];
   char rdb_ControllerRevision[4];
-  __u32 rdb_Reserved5[10];
+  __be32 rdb_Reserved5[10];
 };
 #define IDNAME_RIGIDDISK 0x5244534B
 struct PartitionBlock {
   __be32 pb_ID;
   __be32 pb_SummedLongs;
-  __s32 pb_ChkSum;
-  __u32 pb_HostID;
+  __be32 pb_ChkSum;
+  __be32 pb_HostID;
   __be32 pb_Next;
-  __u32 pb_Flags;
-  __u32 pb_Reserved1[2];
-  __u32 pb_DevFlags;
+  __be32 pb_Flags;
+  __be32 pb_Reserved1[2];
+  __be32 pb_DevFlags;
   __u8 pb_DriveName[32];
-  __u32 pb_Reserved2[15];
+  __be32 pb_Reserved2[15];
   __be32 pb_Environment[17];
-  __u32 pb_EReserved[15];
+  __be32 pb_EReserved[15];
 };
 #define IDNAME_PARTITION 0x50415254
 #define RDB_ALLOCATION_LIMIT 16
diff --git a/libc/kernel/uapi/linux/agpgart.h b/libc/kernel/uapi/linux/agpgart.h
index 9dda7bf..403c0b3 100644
--- a/libc/kernel/uapi/linux/agpgart.h
+++ b/libc/kernel/uapi/linux/agpgart.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_AGP_H
 #define _UAPI_AGP_H
 #define AGPIOC_BASE 'A'
diff --git a/libc/kernel/uapi/linux/aio_abi.h b/libc/kernel/uapi/linux/aio_abi.h
index 17ca2f9..35f212b 100644
--- a/libc/kernel/uapi/linux/aio_abi.h
+++ b/libc/kernel/uapi/linux/aio_abi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX__AIO_ABI_H
 #define __LINUX__AIO_ABI_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/am437x-vpfe.h b/libc/kernel/uapi/linux/am437x-vpfe.h
index 9ea21d2..a0607aa 100644
--- a/libc/kernel/uapi/linux/am437x-vpfe.h
+++ b/libc/kernel/uapi/linux/am437x-vpfe.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef AM437X_VPFE_USER_H
 #define AM437X_VPFE_USER_H
 #include <linux/videodev2.h>
diff --git a/libc/kernel/uapi/linux/amt.h b/libc/kernel/uapi/linux/amt.h
index 049006d..c9cdd09 100644
--- a/libc/kernel/uapi/linux/amt.h
+++ b/libc/kernel/uapi/linux/amt.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_AMT_H_
 #define _UAPI_AMT_H_
 enum ifla_amt_mode {
diff --git a/libc/kernel/uapi/linux/android/binder.h b/libc/kernel/uapi/linux/android/binder.h
index 52f4c6b..6e64ebc 100644
--- a/libc/kernel/uapi/linux/android/binder.h
+++ b/libc/kernel/uapi/linux/android/binder.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_BINDER_H
 #define _UAPI_LINUX_BINDER_H
 #include <linux/types.h>
@@ -132,20 +120,22 @@
   __u32 command;
   __s32 param;
 };
-#define BINDER_WRITE_READ _IOWR('b', 1, struct binder_write_read)
-#define BINDER_SET_IDLE_TIMEOUT _IOW('b', 3, __s64)
-#define BINDER_SET_MAX_THREADS _IOW('b', 5, __u32)
-#define BINDER_SET_IDLE_PRIORITY _IOW('b', 6, __s32)
-#define BINDER_SET_CONTEXT_MGR _IOW('b', 7, __s32)
-#define BINDER_THREAD_EXIT _IOW('b', 8, __s32)
-#define BINDER_VERSION _IOWR('b', 9, struct binder_version)
-#define BINDER_GET_NODE_DEBUG_INFO _IOWR('b', 11, struct binder_node_debug_info)
-#define BINDER_GET_NODE_INFO_FOR_REF _IOWR('b', 12, struct binder_node_info_for_ref)
-#define BINDER_SET_CONTEXT_MGR_EXT _IOW('b', 13, struct flat_binder_object)
-#define BINDER_FREEZE _IOW('b', 14, struct binder_freeze_info)
-#define BINDER_GET_FROZEN_INFO _IOWR('b', 15, struct binder_frozen_status_info)
-#define BINDER_ENABLE_ONEWAY_SPAM_DETECTION _IOW('b', 16, __u32)
-#define BINDER_GET_EXTENDED_ERROR _IOWR('b', 17, struct binder_extended_error)
+enum {
+  BINDER_WRITE_READ = _IOWR('b', 1, struct binder_write_read),
+  BINDER_SET_IDLE_TIMEOUT = _IOW('b', 3, __s64),
+  BINDER_SET_MAX_THREADS = _IOW('b', 5, __u32),
+  BINDER_SET_IDLE_PRIORITY = _IOW('b', 6, __s32),
+  BINDER_SET_CONTEXT_MGR = _IOW('b', 7, __s32),
+  BINDER_THREAD_EXIT = _IOW('b', 8, __s32),
+  BINDER_VERSION = _IOWR('b', 9, struct binder_version),
+  BINDER_GET_NODE_DEBUG_INFO = _IOWR('b', 11, struct binder_node_debug_info),
+  BINDER_GET_NODE_INFO_FOR_REF = _IOWR('b', 12, struct binder_node_info_for_ref),
+  BINDER_SET_CONTEXT_MGR_EXT = _IOW('b', 13, struct flat_binder_object),
+  BINDER_FREEZE = _IOW('b', 14, struct binder_freeze_info),
+  BINDER_GET_FROZEN_INFO = _IOWR('b', 15, struct binder_frozen_status_info),
+  BINDER_ENABLE_ONEWAY_SPAM_DETECTION = _IOW('b', 16, __u32),
+  BINDER_GET_EXTENDED_ERROR = _IOWR('b', 17, struct binder_extended_error),
+};
 enum transaction_flags {
   TF_ONE_WAY = 0x01,
   TF_ROOT_OBJECT = 0x04,
@@ -221,6 +211,7 @@
   BR_FAILED_REPLY = _IO('r', 17),
   BR_FROZEN_REPLY = _IO('r', 18),
   BR_ONEWAY_SPAM_SUSPECT = _IO('r', 19),
+  BR_TRANSACTION_PENDING_FROZEN = _IO('r', 20),
 };
 enum binder_driver_command_protocol {
   BC_TRANSACTION = _IOW('c', 0, struct binder_transaction_data),
diff --git a/libc/kernel/uapi/linux/android/binderfs.h b/libc/kernel/uapi/linux/android/binderfs.h
index d58c333..c17f272 100644
--- a/libc/kernel/uapi/linux/android/binderfs.h
+++ b/libc/kernel/uapi/linux/android/binderfs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_BINDERFS_H
 #define _UAPI_LINUX_BINDERFS_H
 #include <linux/android/binder.h>
diff --git a/libc/kernel/uapi/linux/apm_bios.h b/libc/kernel/uapi/linux/apm_bios.h
index b2ffe01..62c27e0 100644
--- a/libc/kernel/uapi/linux/apm_bios.h
+++ b/libc/kernel/uapi/linux/apm_bios.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_APM_H
 #define _UAPI_LINUX_APM_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/arcfb.h b/libc/kernel/uapi/linux/arcfb.h
index 93fc722..c74ba47 100644
--- a/libc/kernel/uapi/linux/arcfb.h
+++ b/libc/kernel/uapi/linux/arcfb.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_ARCFB_H__
 #define __LINUX_ARCFB_H__
 #define FBIO_WAITEVENT _IO('F', 0x88)
diff --git a/libc/kernel/uapi/linux/arm_sdei.h b/libc/kernel/uapi/linux/arm_sdei.h
index 4ec9294..562b44f 100644
--- a/libc/kernel/uapi/linux/arm_sdei.h
+++ b/libc/kernel/uapi/linux/arm_sdei.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_ARM_SDEI_H
 #define _UAPI_LINUX_ARM_SDEI_H
 #define SDEI_1_0_FN_BASE 0xC4000020
diff --git a/libc/kernel/uapi/linux/ashmem.h b/libc/kernel/uapi/linux/ashmem.h
index 88f0e81..5b28f8f 100644
--- a/libc/kernel/uapi/linux/ashmem.h
+++ b/libc/kernel/uapi/linux/ashmem.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_ASHMEM_H
 #define _UAPI_LINUX_ASHMEM_H
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/linux/aspeed-lpc-ctrl.h b/libc/kernel/uapi/linux/aspeed-lpc-ctrl.h
index fcde081..ab1e8db 100644
--- a/libc/kernel/uapi/linux/aspeed-lpc-ctrl.h
+++ b/libc/kernel/uapi/linux/aspeed-lpc-ctrl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_ASPEED_LPC_CTRL_H
 #define _UAPI_LINUX_ASPEED_LPC_CTRL_H
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/linux/aspeed-p2a-ctrl.h b/libc/kernel/uapi/linux/aspeed-p2a-ctrl.h
index 94e5132..ee65fed 100644
--- a/libc/kernel/uapi/linux/aspeed-p2a-ctrl.h
+++ b/libc/kernel/uapi/linux/aspeed-p2a-ctrl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_ASPEED_P2A_CTRL_H
 #define _UAPI_LINUX_ASPEED_P2A_CTRL_H
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/linux/aspeed-video.h b/libc/kernel/uapi/linux/aspeed-video.h
index d5109c1..64d13aa 100644
--- a/libc/kernel/uapi/linux/aspeed-video.h
+++ b/libc/kernel/uapi/linux/aspeed-video.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_ASPEED_VIDEO_H
 #define _UAPI_LINUX_ASPEED_VIDEO_H
 #include <linux/v4l2-controls.h>
diff --git a/libc/kernel/uapi/linux/atalk.h b/libc/kernel/uapi/linux/atalk.h
index 0619cf5..a2f1278 100644
--- a/libc/kernel/uapi/linux/atalk.h
+++ b/libc/kernel/uapi/linux/atalk.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_ATALK_H__
 #define _UAPI__LINUX_ATALK_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/atm.h b/libc/kernel/uapi/linux/atm.h
index 72d329d..ff92191 100644
--- a/libc/kernel/uapi/linux/atm.h
+++ b/libc/kernel/uapi/linux/atm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_ATM_H
 #define _UAPI_LINUX_ATM_H
 #include <linux/compiler.h>
diff --git a/libc/kernel/uapi/linux/atm_eni.h b/libc/kernel/uapi/linux/atm_eni.h
index fd721f0..726e833 100644
--- a/libc/kernel/uapi/linux/atm_eni.h
+++ b/libc/kernel/uapi/linux/atm_eni.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef LINUX_ATM_ENI_H
 #define LINUX_ATM_ENI_H
 #include <linux/atmioc.h>
diff --git a/libc/kernel/uapi/linux/atm_he.h b/libc/kernel/uapi/linux/atm_he.h
index 65ec396..61353ba 100644
--- a/libc/kernel/uapi/linux/atm_he.h
+++ b/libc/kernel/uapi/linux/atm_he.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef LINUX_ATM_HE_H
 #define LINUX_ATM_HE_H
 #include <linux/atmioc.h>
diff --git a/libc/kernel/uapi/linux/atm_idt77105.h b/libc/kernel/uapi/linux/atm_idt77105.h
index c3332ee..8a80e67 100644
--- a/libc/kernel/uapi/linux/atm_idt77105.h
+++ b/libc/kernel/uapi/linux/atm_idt77105.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef LINUX_ATM_IDT77105_H
 #define LINUX_ATM_IDT77105_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/atm_nicstar.h b/libc/kernel/uapi/linux/atm_nicstar.h
index 856dbd5..15585a1 100644
--- a/libc/kernel/uapi/linux/atm_nicstar.h
+++ b/libc/kernel/uapi/linux/atm_nicstar.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef LINUX_ATM_NICSTAR_H
 #define LINUX_ATM_NICSTAR_H
 #include <linux/atmapi.h>
diff --git a/libc/kernel/uapi/linux/atm_tcp.h b/libc/kernel/uapi/linux/atm_tcp.h
index 1e08b08..0e0e5af 100644
--- a/libc/kernel/uapi/linux/atm_tcp.h
+++ b/libc/kernel/uapi/linux/atm_tcp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPILINUX_ATM_TCP_H
 #define _UAPILINUX_ATM_TCP_H
 #include <linux/atmapi.h>
diff --git a/libc/kernel/uapi/linux/atm_zatm.h b/libc/kernel/uapi/linux/atm_zatm.h
index 1649b85..c03678c 100644
--- a/libc/kernel/uapi/linux/atm_zatm.h
+++ b/libc/kernel/uapi/linux/atm_zatm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef LINUX_ATM_ZATM_H
 #define LINUX_ATM_ZATM_H
 #include <linux/atmapi.h>
diff --git a/libc/kernel/uapi/linux/atmapi.h b/libc/kernel/uapi/linux/atmapi.h
index 65f48ba..c811b2c 100644
--- a/libc/kernel/uapi/linux/atmapi.h
+++ b/libc/kernel/uapi/linux/atmapi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_ATMAPI_H
 #define _LINUX_ATMAPI_H
 #if defined(__sparc__) || defined(__ia64__)
diff --git a/libc/kernel/uapi/linux/atmarp.h b/libc/kernel/uapi/linux/atmarp.h
index 78f8cae..a40d252 100644
--- a/libc/kernel/uapi/linux/atmarp.h
+++ b/libc/kernel/uapi/linux/atmarp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_ATMARP_H
 #define _LINUX_ATMARP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/atmbr2684.h b/libc/kernel/uapi/linux/atmbr2684.h
index 8e115db..544ad79 100644
--- a/libc/kernel/uapi/linux/atmbr2684.h
+++ b/libc/kernel/uapi/linux/atmbr2684.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_ATMBR2684_H
 #define _LINUX_ATMBR2684_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/atmclip.h b/libc/kernel/uapi/linux/atmclip.h
index 52e491c..f590e52 100644
--- a/libc/kernel/uapi/linux/atmclip.h
+++ b/libc/kernel/uapi/linux/atmclip.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef LINUX_ATMCLIP_H
 #define LINUX_ATMCLIP_H
 #include <linux/sockios.h>
diff --git a/libc/kernel/uapi/linux/atmdev.h b/libc/kernel/uapi/linux/atmdev.h
index 74cdfc1..095dc30 100644
--- a/libc/kernel/uapi/linux/atmdev.h
+++ b/libc/kernel/uapi/linux/atmdev.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPILINUX_ATMDEV_H
 #define _UAPILINUX_ATMDEV_H
 #include <linux/atmapi.h>
diff --git a/libc/kernel/uapi/linux/atmioc.h b/libc/kernel/uapi/linux/atmioc.h
index 1907288..c2315ef 100644
--- a/libc/kernel/uapi/linux/atmioc.h
+++ b/libc/kernel/uapi/linux/atmioc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_ATMIOC_H
 #define _LINUX_ATMIOC_H
 #include <asm/ioctl.h>
diff --git a/libc/kernel/uapi/linux/atmlec.h b/libc/kernel/uapi/linux/atmlec.h
index d70c517..a72bec8 100644
--- a/libc/kernel/uapi/linux/atmlec.h
+++ b/libc/kernel/uapi/linux/atmlec.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ATMLEC_H_
 #define _ATMLEC_H_
 #include <linux/atmapi.h>
diff --git a/libc/kernel/uapi/linux/atmmpc.h b/libc/kernel/uapi/linux/atmmpc.h
index a420581..66e599a 100644
--- a/libc/kernel/uapi/linux/atmmpc.h
+++ b/libc/kernel/uapi/linux/atmmpc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ATMMPC_H_
 #define _ATMMPC_H_
 #include <linux/atmapi.h>
diff --git a/libc/kernel/uapi/linux/atmppp.h b/libc/kernel/uapi/linux/atmppp.h
index 1cc0d08..7e1f376 100644
--- a/libc/kernel/uapi/linux/atmppp.h
+++ b/libc/kernel/uapi/linux/atmppp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_ATMPPP_H
 #define _LINUX_ATMPPP_H
 #include <linux/atm.h>
diff --git a/libc/kernel/uapi/linux/atmsap.h b/libc/kernel/uapi/linux/atmsap.h
index 1487f9a..2d6ffdc 100644
--- a/libc/kernel/uapi/linux/atmsap.h
+++ b/libc/kernel/uapi/linux/atmsap.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_ATMSAP_H
 #define _LINUX_ATMSAP_H
 #include <linux/atmapi.h>
diff --git a/libc/kernel/uapi/linux/atmsvc.h b/libc/kernel/uapi/linux/atmsvc.h
index ca038f5..14524ff 100644
--- a/libc/kernel/uapi/linux/atmsvc.h
+++ b/libc/kernel/uapi/linux/atmsvc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_ATMSVC_H
 #define _LINUX_ATMSVC_H
 #include <linux/atmapi.h>
diff --git a/libc/kernel/uapi/linux/audit.h b/libc/kernel/uapi/linux/audit.h
index f7c969b..98849f1 100644
--- a/libc/kernel/uapi/linux/audit.h
+++ b/libc/kernel/uapi/linux/audit.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_AUDIT_H_
 #define _UAPI_LINUX_AUDIT_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/auto_dev-ioctl.h b/libc/kernel/uapi/linux/auto_dev-ioctl.h
index 23c8096..89cc04a 100644
--- a/libc/kernel/uapi/linux/auto_dev-ioctl.h
+++ b/libc/kernel/uapi/linux/auto_dev-ioctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_AUTO_DEV_IOCTL_H
 #define _UAPI_LINUX_AUTO_DEV_IOCTL_H
 #include <linux/auto_fs.h>
@@ -85,7 +73,7 @@
     struct args_askumount askumount;
     struct args_ismountpoint ismountpoint;
   };
-  char path[0];
+  char path[];
 };
 enum {
   AUTOFS_DEV_IOCTL_VERSION_CMD = 0x71,
diff --git a/libc/kernel/uapi/linux/auto_fs.h b/libc/kernel/uapi/linux/auto_fs.h
index 39d1ac8..dd11a93 100644
--- a/libc/kernel/uapi/linux/auto_fs.h
+++ b/libc/kernel/uapi/linux/auto_fs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_AUTO_FS_H
 #define _UAPI_LINUX_AUTO_FS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/auto_fs4.h b/libc/kernel/uapi/linux/auto_fs4.h
index 41f3c8c..109b252 100644
--- a/libc/kernel/uapi/linux/auto_fs4.h
+++ b/libc/kernel/uapi/linux/auto_fs4.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_AUTO_FS4_H
 #define _UAPI_LINUX_AUTO_FS4_H
 #include <linux/auto_fs.h>
diff --git a/libc/kernel/uapi/linux/auxvec.h b/libc/kernel/uapi/linux/auxvec.h
index c80c170..6dbdc75 100644
--- a/libc/kernel/uapi/linux/auxvec.h
+++ b/libc/kernel/uapi/linux/auxvec.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_AUXVEC_H
 #define _UAPI_LINUX_AUXVEC_H
 #include <asm/auxvec.h>
@@ -41,6 +29,10 @@
 #define AT_BASE_PLATFORM 24
 #define AT_RANDOM 25
 #define AT_HWCAP2 26
+#define AT_RSEQ_FEATURE_SIZE 27
+#define AT_RSEQ_ALIGN 28
+#define AT_HWCAP3 29
+#define AT_HWCAP4 30
 #define AT_EXECFN 31
 #ifndef AT_MINSIGSTKSZ
 #define AT_MINSIGSTKSZ 51
diff --git a/libc/kernel/uapi/linux/ax25.h b/libc/kernel/uapi/linux/ax25.h
index 0d6aa95..8f66ca6 100644
--- a/libc/kernel/uapi/linux/ax25.h
+++ b/libc/kernel/uapi/linux/ax25.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef AX25_KERNEL_H
 #define AX25_KERNEL_H
 #include <linux/socket.h>
diff --git a/libc/kernel/uapi/linux/batadv_packet.h b/libc/kernel/uapi/linux/batadv_packet.h
index ede53cf..83e5e71 100644
--- a/libc/kernel/uapi/linux/batadv_packet.h
+++ b/libc/kernel/uapi/linux/batadv_packet.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_BATADV_PACKET_H_
 #define _UAPI_LINUX_BATADV_PACKET_H_
 #include <asm/byteorder.h>
@@ -28,6 +16,7 @@
   BATADV_CODED = 0x02,
   BATADV_ELP = 0x03,
   BATADV_OGM2 = 0x04,
+  BATADV_MCAST = 0x05,
 #define BATADV_UNICAST_MIN 0x40
   BATADV_UNICAST = 0x40,
   BATADV_UNICAST_FRAG = 0x41,
@@ -62,6 +51,7 @@
   BATADV_MCAST_WANT_ALL_IPV6 = 1UL << 2,
   BATADV_MCAST_WANT_NO_RTR4 = 1UL << 3,
   BATADV_MCAST_WANT_NO_RTR6 = 1UL << 4,
+  BATADV_MCAST_HAVE_MC_PTYPE_CAPA = 1UL << 5,
 };
 #define BATADV_TT_DATA_TYPE_MASK 0x0F
 enum batadv_tt_data_flags {
@@ -87,6 +77,7 @@
   BATADV_TVLV_TT = 0x04,
   BATADV_TVLV_ROAM = 0x05,
   BATADV_TVLV_MCAST = 0x06,
+  BATADV_TVLV_MCAST_TRACKER = 0x07,
 };
 #pragma pack(2)
 struct batadv_bla_claim_dst {
@@ -219,6 +210,13 @@
   __be32 seqno;
   __u8 orig[ETH_ALEN];
 };
+struct batadv_mcast_packet {
+  __u8 packet_type;
+  __u8 version;
+  __u8 ttl;
+  __u8 reserved;
+  __be16 tvlv_len;
+};
 struct batadv_coded_packet {
   __u8 packet_type;
   __u8 version;
@@ -278,5 +276,8 @@
   __u8 flags;
   __u8 reserved[3];
 };
+struct batadv_tvlv_mcast_tracker {
+  __be16 num_dests;
+};
 #pragma pack()
 #endif
diff --git a/libc/kernel/uapi/linux/batman_adv.h b/libc/kernel/uapi/linux/batman_adv.h
index 9f48dac..cb9b09f 100644
--- a/libc/kernel/uapi/linux/batman_adv.h
+++ b/libc/kernel/uapi/linux/batman_adv.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_BATMAN_ADV_H_
 #define _UAPI_LINUX_BATMAN_ADV_H_
 #define BATADV_NL_NAME "batadv"
diff --git a/libc/kernel/uapi/linux/baycom.h b/libc/kernel/uapi/linux/baycom.h
index ce0edf5..c0d4308 100644
--- a/libc/kernel/uapi/linux/baycom.h
+++ b/libc/kernel/uapi/linux/baycom.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _BAYCOM_H
 #define _BAYCOM_H
 struct baycom_debug_data {
diff --git a/libc/kernel/uapi/linux/bcm933xx_hcs.h b/libc/kernel/uapi/linux/bcm933xx_hcs.h
index a57828f..f8ad281 100644
--- a/libc/kernel/uapi/linux/bcm933xx_hcs.h
+++ b/libc/kernel/uapi/linux/bcm933xx_hcs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __BCM933XX_HCS_H
 #define __BCM933XX_HCS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/bfs_fs.h b/libc/kernel/uapi/linux/bfs_fs.h
index 4a11e8a..f46508f 100644
--- a/libc/kernel/uapi/linux/bfs_fs.h
+++ b/libc/kernel/uapi/linux/bfs_fs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_BFS_FS_H
 #define _LINUX_BFS_FS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/binfmts.h b/libc/kernel/uapi/linux/binfmts.h
index 053be3c..3b47586 100644
--- a/libc/kernel/uapi/linux/binfmts.h
+++ b/libc/kernel/uapi/linux/binfmts.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_BINFMTS_H
 #define _UAPI_LINUX_BINFMTS_H
 #include <linux/capability.h>
diff --git a/libc/kernel/uapi/linux/bits.h b/libc/kernel/uapi/linux/bits.h
new file mode 100644
index 0000000..d747e24
--- /dev/null
+++ b/libc/kernel/uapi/linux/bits.h
@@ -0,0 +1,11 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_LINUX_BITS_H
+#define _UAPI_LINUX_BITS_H
+#define __GENMASK(h,l) (((~_UL(0)) - (_UL(1) << (l)) + 1) & (~_UL(0) >> (__BITS_PER_LONG - 1 - (h))))
+#define __GENMASK_ULL(h,l) (((~_ULL(0)) - (_ULL(1) << (l)) + 1) & (~_ULL(0) >> (__BITS_PER_LONG_LONG - 1 - (h))))
+#endif
diff --git a/libc/kernel/uapi/linux/blkpg.h b/libc/kernel/uapi/linux/blkpg.h
index bfe504f..3978e94 100644
--- a/libc/kernel/uapi/linux/blkpg.h
+++ b/libc/kernel/uapi/linux/blkpg.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_BLKPG_H
 #define _UAPI__LINUX_BLKPG_H
 #include <linux/compiler.h>
diff --git a/libc/kernel/uapi/linux/blktrace_api.h b/libc/kernel/uapi/linux/blktrace_api.h
index 64c0b77..4196520 100644
--- a/libc/kernel/uapi/linux/blktrace_api.h
+++ b/libc/kernel/uapi/linux/blktrace_api.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPIBLKTRACE_H
 #define _UAPIBLKTRACE_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/blkzoned.h b/libc/kernel/uapi/linux/blkzoned.h
index e41ac9f..f7b1b78 100644
--- a/libc/kernel/uapi/linux/blkzoned.h
+++ b/libc/kernel/uapi/linux/blkzoned.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_BLKZONED_H
 #define _UAPI_BLKZONED_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/bpf.h b/libc/kernel/uapi/linux/bpf.h
index 163dd1e..8d64816 100644
--- a/libc/kernel/uapi/linux/bpf.h
+++ b/libc/kernel/uapi/linux/bpf.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_BPF_H__
 #define _UAPI__LINUX_BPF_H__
 #include <linux/types.h>
@@ -23,6 +11,7 @@
 #define BPF_JMP32 0x06
 #define BPF_ALU64 0x07
 #define BPF_DW 0x18
+#define BPF_MEMSX 0x80
 #define BPF_ATOMIC 0xc0
 #define BPF_XADD 0xc0
 #define BPF_MOV 0xb0
@@ -39,11 +28,15 @@
 #define BPF_JSGE 0x70
 #define BPF_JSLT 0xc0
 #define BPF_JSLE 0xd0
+#define BPF_JCOND 0xe0
 #define BPF_CALL 0x80
 #define BPF_EXIT 0x90
 #define BPF_FETCH 0x01
 #define BPF_XCHG (0xe0 | BPF_FETCH)
 #define BPF_CMPXCHG (0xf0 | BPF_FETCH)
+enum bpf_cond_pseudo_jmp {
+  BPF_MAY_GOTO = 0,
+};
 enum {
   BPF_REG_0 = 0,
   BPF_REG_1,
@@ -70,6 +63,16 @@
   __u32 prefixlen;
   __u8 data[0];
 };
+struct bpf_lpm_trie_key_hdr {
+  __u32 prefixlen;
+};
+struct bpf_lpm_trie_key_u8 {
+  union {
+    struct bpf_lpm_trie_key_hdr hdr;
+    __u32 prefixlen;
+  };
+  __u8 data[];
+};
 struct bpf_cgroup_storage_key {
   __u64 cgroup_inode_id;
   __u32 attach_type;
@@ -134,6 +137,8 @@
   BPF_ITER_CREATE,
   BPF_LINK_DETACH,
   BPF_PROG_BIND_MAP,
+  BPF_TOKEN_CREATE,
+  __MAX_BPF_CMD,
 };
 enum bpf_map_type {
   BPF_MAP_TYPE_UNSPEC,
@@ -158,7 +163,8 @@
   BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED,
   BPF_MAP_TYPE_CGROUP_STORAGE = BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED,
   BPF_MAP_TYPE_REUSEPORT_SOCKARRAY,
-  BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE,
+  BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED,
+  BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE_DEPRECATED,
   BPF_MAP_TYPE_QUEUE,
   BPF_MAP_TYPE_STACK,
   BPF_MAP_TYPE_SK_STORAGE,
@@ -170,6 +176,8 @@
   BPF_MAP_TYPE_BLOOM_FILTER,
   BPF_MAP_TYPE_USER_RINGBUF,
   BPF_MAP_TYPE_CGRP_STORAGE,
+  BPF_MAP_TYPE_ARENA,
+  __MAX_BPF_MAP_TYPE
 };
 enum bpf_prog_type {
   BPF_PROG_TYPE_UNSPEC,
@@ -204,6 +212,8 @@
   BPF_PROG_TYPE_LSM,
   BPF_PROG_TYPE_SK_LOOKUP,
   BPF_PROG_TYPE_SYSCALL,
+  BPF_PROG_TYPE_NETFILTER,
+  __MAX_BPF_PROG_TYPE
 };
 enum bpf_attach_type {
   BPF_CGROUP_INET_INGRESS,
@@ -250,6 +260,19 @@
   BPF_PERF_EVENT,
   BPF_TRACE_KPROBE_MULTI,
   BPF_LSM_CGROUP,
+  BPF_STRUCT_OPS,
+  BPF_NETFILTER,
+  BPF_TCX_INGRESS,
+  BPF_TCX_EGRESS,
+  BPF_TRACE_UPROBE_MULTI,
+  BPF_CGROUP_UNIX_CONNECT,
+  BPF_CGROUP_UNIX_SENDMSG,
+  BPF_CGROUP_UNIX_RECVMSG,
+  BPF_CGROUP_UNIX_GETPEERNAME,
+  BPF_CGROUP_UNIX_GETSOCKNAME,
+  BPF_NETKIT_PRIMARY,
+  BPF_NETKIT_PEER,
+  BPF_TRACE_KPROBE_SESSION,
   __MAX_BPF_ATTACH_TYPE
 };
 #define MAX_BPF_ATTACH_TYPE __MAX_BPF_ATTACH_TYPE
@@ -264,18 +287,45 @@
   BPF_LINK_TYPE_PERF_EVENT = 7,
   BPF_LINK_TYPE_KPROBE_MULTI = 8,
   BPF_LINK_TYPE_STRUCT_OPS = 9,
-  MAX_BPF_LINK_TYPE,
+  BPF_LINK_TYPE_NETFILTER = 10,
+  BPF_LINK_TYPE_TCX = 11,
+  BPF_LINK_TYPE_UPROBE_MULTI = 12,
+  BPF_LINK_TYPE_NETKIT = 13,
+  BPF_LINK_TYPE_SOCKMAP = 14,
+  __MAX_BPF_LINK_TYPE,
+};
+#define MAX_BPF_LINK_TYPE __MAX_BPF_LINK_TYPE
+enum bpf_perf_event_type {
+  BPF_PERF_EVENT_UNSPEC = 0,
+  BPF_PERF_EVENT_UPROBE = 1,
+  BPF_PERF_EVENT_URETPROBE = 2,
+  BPF_PERF_EVENT_KPROBE = 3,
+  BPF_PERF_EVENT_KRETPROBE = 4,
+  BPF_PERF_EVENT_TRACEPOINT = 5,
+  BPF_PERF_EVENT_EVENT = 6,
 };
 #define BPF_F_ALLOW_OVERRIDE (1U << 0)
 #define BPF_F_ALLOW_MULTI (1U << 1)
 #define BPF_F_REPLACE (1U << 2)
+#define BPF_F_BEFORE (1U << 3)
+#define BPF_F_AFTER (1U << 4)
+#define BPF_F_ID (1U << 5)
+#define BPF_F_LINK BPF_F_LINK
 #define BPF_F_STRICT_ALIGNMENT (1U << 0)
 #define BPF_F_ANY_ALIGNMENT (1U << 1)
 #define BPF_F_TEST_RND_HI32 (1U << 2)
 #define BPF_F_TEST_STATE_FREQ (1U << 3)
 #define BPF_F_SLEEPABLE (1U << 4)
 #define BPF_F_XDP_HAS_FRAGS (1U << 5)
-#define BPF_F_KPROBE_MULTI_RETURN (1U << 0)
+#define BPF_F_XDP_DEV_BOUND_ONLY (1U << 6)
+#define BPF_F_TEST_REG_INVARIANTS (1U << 7)
+enum {
+  BPF_F_KPROBE_MULTI_RETURN = (1U << 0)
+};
+enum {
+  BPF_F_UPROBE_MULTI_RETURN = (1U << 0)
+};
+#define BPF_F_NETFILTER_IP_DEFRAG (1U << 0)
 #define BPF_PSEUDO_MAP_FD 1
 #define BPF_PSEUDO_MAP_IDX 5
 #define BPF_PSEUDO_MAP_VALUE 2
@@ -284,6 +334,9 @@
 #define BPF_PSEUDO_FUNC 4
 #define BPF_PSEUDO_CALL 1
 #define BPF_PSEUDO_KFUNC_CALL 2
+enum bpf_addr_space_cast {
+  BPF_ADDR_SPACE_CAST = 1,
+};
 enum {
   BPF_ANY = 0,
   BPF_NOEXIST = 1,
@@ -304,10 +357,17 @@
   BPF_F_MMAPABLE = (1U << 10),
   BPF_F_PRESERVE_ELEMS = (1U << 11),
   BPF_F_INNER_MAP = (1U << 12),
+  BPF_F_LINK = (1U << 13),
+  BPF_F_PATH_FD = (1U << 14),
+  BPF_F_VTYPE_BTF_OBJ_FD = (1U << 15),
+  BPF_F_TOKEN_FD = (1U << 16),
+  BPF_F_SEGV_ON_FAULT = (1U << 17),
+  BPF_F_NO_USER_CONV = (1U << 18),
 };
 #define BPF_F_QUERY_EFFECTIVE (1U << 0)
 #define BPF_F_TEST_RUN_ON_CPU (1U << 0)
 #define BPF_F_TEST_XDP_LIVE_FRAMES (1U << 1)
+#define BPF_F_TEST_SKB_CHECKSUM_COMPLETE (1U << 2)
 enum bpf_stats_type {
   BPF_STATS_RUN_TIME = 0,
 };
@@ -342,6 +402,8 @@
     __u32 btf_value_type_id;
     __u32 btf_vmlinux_value_type_id;
     __u64 map_extra;
+    __s32 value_type_btf_obj_fd;
+    __s32 map_token_fd;
   };
   struct {
     __u32 map_fd;
@@ -391,18 +453,29 @@
     __aligned_u64 fd_array;
     __aligned_u64 core_relos;
     __u32 core_relo_rec_size;
+    __u32 log_true_size;
+    __s32 prog_token_fd;
   };
   struct {
     __aligned_u64 pathname;
     __u32 bpf_fd;
     __u32 file_flags;
+    __s32 path_fd;
   };
   struct {
-    __u32 target_fd;
+    union {
+      __u32 target_fd;
+      __u32 target_ifindex;
+    };
     __u32 attach_bpf_fd;
     __u32 attach_type;
     __u32 attach_flags;
     __u32 replace_bpf_fd;
+    union {
+      __u32 relative_fd;
+      __u32 relative_id;
+    };
+    __u64 expected_revision;
   };
   struct {
     __u32 prog_fd;
@@ -438,17 +511,29 @@
     __aligned_u64 info;
   } info;
   struct {
-    __u32 target_fd;
+    union {
+      __u32 target_fd;
+      __u32 target_ifindex;
+    };
     __u32 attach_type;
     __u32 query_flags;
     __u32 attach_flags;
     __aligned_u64 prog_ids;
-    __u32 prog_cnt;
+    union {
+      __u32 prog_cnt;
+      __u32 count;
+    };
+    __u32 : 32;
     __aligned_u64 prog_attach_flags;
+    __aligned_u64 link_ids;
+    __aligned_u64 link_attach_flags;
+    __u64 revision;
   } query;
   struct {
     __u64 name;
     __u32 prog_fd;
+    __u32 : 32;
+    __aligned_u64 cookie;
   } raw_tracepoint;
   struct {
     __aligned_u64 btf;
@@ -456,6 +541,9 @@
     __u32 btf_size;
     __u32 btf_log_size;
     __u32 btf_log_level;
+    __u32 btf_log_true_size;
+    __u32 btf_flags;
+    __s32 btf_token_fd;
   };
   struct {
     __u32 pid;
@@ -469,7 +557,10 @@
     __u64 probe_addr;
   } task_fd_query;
   struct {
-    __u32 prog_fd;
+    union {
+      __u32 prog_fd;
+      __u32 map_fd;
+    };
     union {
       __u32 target_fd;
       __u32 target_ifindex;
@@ -496,13 +587,48 @@
         __u32 target_btf_id;
         __u64 cookie;
       } tracing;
+      struct {
+        __u32 pf;
+        __u32 hooknum;
+        __s32 priority;
+        __u32 flags;
+      } netfilter;
+      struct {
+        union {
+          __u32 relative_fd;
+          __u32 relative_id;
+        };
+        __u64 expected_revision;
+      } tcx;
+      struct {
+        __aligned_u64 path;
+        __aligned_u64 offsets;
+        __aligned_u64 ref_ctr_offsets;
+        __aligned_u64 cookies;
+        __u32 cnt;
+        __u32 flags;
+        __u32 pid;
+      } uprobe_multi;
+      struct {
+        union {
+          __u32 relative_fd;
+          __u32 relative_id;
+        };
+        __u64 expected_revision;
+      } netkit;
     };
   } link_create;
   struct {
     __u32 link_fd;
-    __u32 new_prog_fd;
+    union {
+      __u32 new_prog_fd;
+      __u32 new_map_fd;
+    };
     __u32 flags;
-    __u32 old_prog_fd;
+    union {
+      __u32 old_prog_fd;
+      __u32 old_map_fd;
+    };
   } link_update;
   struct {
     __u32 link_fd;
@@ -519,6 +645,10 @@
     __u32 map_fd;
     __u32 flags;
   } prog_bind_map;
+  struct {
+    __u32 flags;
+    __u32 bpffs_fd;
+  } token_create;
 } __attribute__((aligned(8)));
 #define ___BPF_FUNC_MAPPER(FN,ctx...) FN(unspec, 0, ##ctx) FN(map_lookup_elem, 1, ##ctx) FN(map_update_elem, 2, ##ctx) FN(map_delete_elem, 3, ##ctx) FN(probe_read, 4, ##ctx) FN(ktime_get_ns, 5, ##ctx) FN(trace_printk, 6, ##ctx) FN(get_prandom_u32, 7, ##ctx) FN(get_smp_processor_id, 8, ##ctx) FN(skb_store_bytes, 9, ##ctx) FN(l3_csum_replace, 10, ##ctx) FN(l4_csum_replace, 11, ##ctx) FN(tail_call, 12, ##ctx) FN(clone_redirect, 13, ##ctx) FN(get_current_pid_tgid, 14, ##ctx) FN(get_current_uid_gid, 15, ##ctx) FN(get_current_comm, 16, ##ctx) FN(get_cgroup_classid, 17, ##ctx) FN(skb_vlan_push, 18, ##ctx) FN(skb_vlan_pop, 19, ##ctx) FN(skb_get_tunnel_key, 20, ##ctx) FN(skb_set_tunnel_key, 21, ##ctx) FN(perf_event_read, 22, ##ctx) FN(redirect, 23, ##ctx) FN(get_route_realm, 24, ##ctx) FN(perf_event_output, 25, ##ctx) FN(skb_load_bytes, 26, ##ctx) FN(get_stackid, 27, ##ctx) FN(csum_diff, 28, ##ctx) FN(skb_get_tunnel_opt, 29, ##ctx) FN(skb_set_tunnel_opt, 30, ##ctx) FN(skb_change_proto, 31, ##ctx) FN(skb_change_type, 32, ##ctx) FN(skb_under_cgroup, 33, ##ctx) FN(get_hash_recalc, 34, ##ctx) FN(get_current_task, 35, ##ctx) FN(probe_write_user, 36, ##ctx) FN(current_task_under_cgroup, 37, ##ctx) FN(skb_change_tail, 38, ##ctx) FN(skb_pull_data, 39, ##ctx) FN(csum_update, 40, ##ctx) FN(set_hash_invalid, 41, ##ctx) FN(get_numa_node_id, 42, ##ctx) FN(skb_change_head, 43, ##ctx) FN(xdp_adjust_head, 44, ##ctx) FN(probe_read_str, 45, ##ctx) FN(get_socket_cookie, 46, ##ctx) FN(get_socket_uid, 47, ##ctx) FN(set_hash, 48, ##ctx) FN(setsockopt, 49, ##ctx) FN(skb_adjust_room, 50, ##ctx) FN(redirect_map, 51, ##ctx) FN(sk_redirect_map, 52, ##ctx) FN(sock_map_update, 53, ##ctx) FN(xdp_adjust_meta, 54, ##ctx) FN(perf_event_read_value, 55, ##ctx) FN(perf_prog_read_value, 56, ##ctx) FN(getsockopt, 57, ##ctx) FN(override_return, 58, ##ctx) FN(sock_ops_cb_flags_set, 59, ##ctx) FN(msg_redirect_map, 60, ##ctx) FN(msg_apply_bytes, 61, ##ctx) FN(msg_cork_bytes, 62, ##ctx) FN(msg_pull_data, 63, ##ctx) FN(bind, 64, ##ctx) FN(xdp_adjust_tail, 65, ##ctx) FN(skb_get_xfrm_state, 66, ##ctx) FN(get_stack, 67, ##ctx) FN(skb_load_bytes_relative, 68, ##ctx) FN(fib_lookup, 69, ##ctx) FN(sock_hash_update, 70, ##ctx) FN(msg_redirect_hash, 71, ##ctx) FN(sk_redirect_hash, 72, ##ctx) FN(lwt_push_encap, 73, ##ctx) FN(lwt_seg6_store_bytes, 74, ##ctx) FN(lwt_seg6_adjust_srh, 75, ##ctx) FN(lwt_seg6_action, 76, ##ctx) FN(rc_repeat, 77, ##ctx) FN(rc_keydown, 78, ##ctx) FN(skb_cgroup_id, 79, ##ctx) FN(get_current_cgroup_id, 80, ##ctx) FN(get_local_storage, 81, ##ctx) FN(sk_select_reuseport, 82, ##ctx) FN(skb_ancestor_cgroup_id, 83, ##ctx) FN(sk_lookup_tcp, 84, ##ctx) FN(sk_lookup_udp, 85, ##ctx) FN(sk_release, 86, ##ctx) FN(map_push_elem, 87, ##ctx) FN(map_pop_elem, 88, ##ctx) FN(map_peek_elem, 89, ##ctx) FN(msg_push_data, 90, ##ctx) FN(msg_pop_data, 91, ##ctx) FN(rc_pointer_rel, 92, ##ctx) FN(spin_lock, 93, ##ctx) FN(spin_unlock, 94, ##ctx) FN(sk_fullsock, 95, ##ctx) FN(tcp_sock, 96, ##ctx) FN(skb_ecn_set_ce, 97, ##ctx) FN(get_listener_sock, 98, ##ctx) FN(skc_lookup_tcp, 99, ##ctx) FN(tcp_check_syncookie, 100, ##ctx) FN(sysctl_get_name, 101, ##ctx) FN(sysctl_get_current_value, 102, ##ctx) FN(sysctl_get_new_value, 103, ##ctx) FN(sysctl_set_new_value, 104, ##ctx) FN(strtol, 105, ##ctx) FN(strtoul, 106, ##ctx) FN(sk_storage_get, 107, ##ctx) FN(sk_storage_delete, 108, ##ctx) FN(send_signal, 109, ##ctx) FN(tcp_gen_syncookie, 110, ##ctx) FN(skb_output, 111, ##ctx) FN(probe_read_user, 112, ##ctx) FN(probe_read_kernel, 113, ##ctx) FN(probe_read_user_str, 114, ##ctx) FN(probe_read_kernel_str, 115, ##ctx) FN(tcp_send_ack, 116, ##ctx) FN(send_signal_thread, 117, ##ctx) FN(jiffies64, 118, ##ctx) FN(read_branch_records, 119, ##ctx) FN(get_ns_current_pid_tgid, 120, ##ctx) FN(xdp_output, 121, ##ctx) FN(get_netns_cookie, 122, ##ctx) FN(get_current_ancestor_cgroup_id, 123, ##ctx) FN(sk_assign, 124, ##ctx) FN(ktime_get_boot_ns, 125, ##ctx) FN(seq_printf, 126, ##ctx) FN(seq_write, 127, ##ctx) FN(sk_cgroup_id, 128, ##ctx) FN(sk_ancestor_cgroup_id, 129, ##ctx) FN(ringbuf_output, 130, ##ctx) FN(ringbuf_reserve, 131, ##ctx) FN(ringbuf_submit, 132, ##ctx) FN(ringbuf_discard, 133, ##ctx) FN(ringbuf_query, 134, ##ctx) FN(csum_level, 135, ##ctx) FN(skc_to_tcp6_sock, 136, ##ctx) FN(skc_to_tcp_sock, 137, ##ctx) FN(skc_to_tcp_timewait_sock, 138, ##ctx) FN(skc_to_tcp_request_sock, 139, ##ctx) FN(skc_to_udp6_sock, 140, ##ctx) FN(get_task_stack, 141, ##ctx) FN(load_hdr_opt, 142, ##ctx) FN(store_hdr_opt, 143, ##ctx) FN(reserve_hdr_opt, 144, ##ctx) FN(inode_storage_get, 145, ##ctx) FN(inode_storage_delete, 146, ##ctx) FN(d_path, 147, ##ctx) FN(copy_from_user, 148, ##ctx) FN(snprintf_btf, 149, ##ctx) FN(seq_printf_btf, 150, ##ctx) FN(skb_cgroup_classid, 151, ##ctx) FN(redirect_neigh, 152, ##ctx) FN(per_cpu_ptr, 153, ##ctx) FN(this_cpu_ptr, 154, ##ctx) FN(redirect_peer, 155, ##ctx) FN(task_storage_get, 156, ##ctx) FN(task_storage_delete, 157, ##ctx) FN(get_current_task_btf, 158, ##ctx) FN(bprm_opts_set, 159, ##ctx) FN(ktime_get_coarse_ns, 160, ##ctx) FN(ima_inode_hash, 161, ##ctx) FN(sock_from_file, 162, ##ctx) FN(check_mtu, 163, ##ctx) FN(for_each_map_elem, 164, ##ctx) FN(snprintf, 165, ##ctx) FN(sys_bpf, 166, ##ctx) FN(btf_find_by_name_kind, 167, ##ctx) FN(sys_close, 168, ##ctx) FN(timer_init, 169, ##ctx) FN(timer_set_callback, 170, ##ctx) FN(timer_start, 171, ##ctx) FN(timer_cancel, 172, ##ctx) FN(get_func_ip, 173, ##ctx) FN(get_attach_cookie, 174, ##ctx) FN(task_pt_regs, 175, ##ctx) FN(get_branch_snapshot, 176, ##ctx) FN(trace_vprintk, 177, ##ctx) FN(skc_to_unix_sock, 178, ##ctx) FN(kallsyms_lookup_name, 179, ##ctx) FN(find_vma, 180, ##ctx) FN(loop, 181, ##ctx) FN(strncmp, 182, ##ctx) FN(get_func_arg, 183, ##ctx) FN(get_func_ret, 184, ##ctx) FN(get_func_arg_cnt, 185, ##ctx) FN(get_retval, 186, ##ctx) FN(set_retval, 187, ##ctx) FN(xdp_get_buff_len, 188, ##ctx) FN(xdp_load_bytes, 189, ##ctx) FN(xdp_store_bytes, 190, ##ctx) FN(copy_from_user_task, 191, ##ctx) FN(skb_set_tstamp, 192, ##ctx) FN(ima_file_hash, 193, ##ctx) FN(kptr_xchg, 194, ##ctx) FN(map_lookup_percpu_elem, 195, ##ctx) FN(skc_to_mptcp_sock, 196, ##ctx) FN(dynptr_from_mem, 197, ##ctx) FN(ringbuf_reserve_dynptr, 198, ##ctx) FN(ringbuf_submit_dynptr, 199, ##ctx) FN(ringbuf_discard_dynptr, 200, ##ctx) FN(dynptr_read, 201, ##ctx) FN(dynptr_write, 202, ##ctx) FN(dynptr_data, 203, ##ctx) FN(tcp_raw_gen_syncookie_ipv4, 204, ##ctx) FN(tcp_raw_gen_syncookie_ipv6, 205, ##ctx) FN(tcp_raw_check_syncookie_ipv4, 206, ##ctx) FN(tcp_raw_check_syncookie_ipv6, 207, ##ctx) FN(ktime_get_tai_ns, 208, ##ctx) FN(user_ringbuf_drain, 209, ##ctx) FN(cgrp_storage_get, 210, ##ctx) FN(cgrp_storage_delete, 211, ##ctx)
 #define __BPF_FUNC_MAPPER_APPLY(name,value,FN) FN(name),
@@ -557,6 +687,7 @@
   BPF_F_ZERO_CSUM_TX = (1ULL << 1),
   BPF_F_DONT_FRAGMENT = (1ULL << 2),
   BPF_F_SEQ_NUMBER = (1ULL << 3),
+  BPF_F_NO_TUNNEL_KEY = (1ULL << 4),
 };
 enum {
   BPF_F_TUNINFO_FLAGS = (1ULL << 4),
@@ -583,6 +714,8 @@
   BPF_F_ADJ_ROOM_ENCAP_L4_UDP = (1ULL << 4),
   BPF_F_ADJ_ROOM_NO_CSUM_RESET = (1ULL << 5),
   BPF_F_ADJ_ROOM_ENCAP_L2_ETH = (1ULL << 6),
+  BPF_F_ADJ_ROOM_DECAP_L3_IPV4 = (1ULL << 7),
+  BPF_F_ADJ_ROOM_DECAP_L3_IPV6 = (1ULL << 8),
 };
 enum {
   BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff,
@@ -641,8 +774,11 @@
 #define __bpf_md_ptr(type,name) union { type name; __u64 : 64; \
 } __attribute__((aligned(8)))
 enum {
-  BPF_SKB_TSTAMP_UNSPEC,
-  BPF_SKB_TSTAMP_DELIVERY_MONO,
+  BPF_SKB_TSTAMP_UNSPEC = 0,
+  BPF_SKB_TSTAMP_DELIVERY_MONO = 1,
+  BPF_SKB_CLOCK_REALTIME = 0,
+  BPF_SKB_CLOCK_MONOTONIC = 1,
+  BPF_SKB_CLOCK_TAI = 2,
 };
 struct __sk_buff {
   __u32 len;
@@ -777,6 +913,12 @@
     } ipv6;
   };
 };
+enum tcx_action_base {
+  TCX_NEXT = - 1,
+  TCX_PASS = 0,
+  TCX_DROP = 2,
+  TCX_REDIRECT = 7,
+};
 struct bpf_xdp_sock {
   __u32 queue_id;
 };
@@ -895,7 +1037,7 @@
   __u32 btf_id;
   __u32 btf_key_type_id;
   __u32 btf_value_type_id;
-  __u32 : 32;
+  __u32 btf_vmlinux_id;
   __u64 map_extra;
 } __attribute__((aligned(8)));
 struct bpf_btf_info {
@@ -950,6 +1092,76 @@
     struct {
       __u32 ifindex;
     } xdp;
+    struct {
+      __u32 map_id;
+    } struct_ops;
+    struct {
+      __u32 pf;
+      __u32 hooknum;
+      __s32 priority;
+      __u32 flags;
+    } netfilter;
+    struct {
+      __aligned_u64 addrs;
+      __u32 count;
+      __u32 flags;
+      __u64 missed;
+      __aligned_u64 cookies;
+    } kprobe_multi;
+    struct {
+      __aligned_u64 path;
+      __aligned_u64 offsets;
+      __aligned_u64 ref_ctr_offsets;
+      __aligned_u64 cookies;
+      __u32 path_size;
+      __u32 count;
+      __u32 flags;
+      __u32 pid;
+    } uprobe_multi;
+    struct {
+      __u32 type;
+      __u32 : 32;
+      union {
+        struct {
+          __aligned_u64 file_name;
+          __u32 name_len;
+          __u32 offset;
+          __u64 cookie;
+        } uprobe;
+        struct {
+          __aligned_u64 func_name;
+          __u32 name_len;
+          __u32 offset;
+          __u64 addr;
+          __u64 missed;
+          __u64 cookie;
+        } kprobe;
+        struct {
+          __aligned_u64 tp_name;
+          __u32 name_len;
+          __u32 : 32;
+          __u64 cookie;
+        } tracepoint;
+        struct {
+          __u64 config;
+          __u32 type;
+          __u32 : 32;
+          __u64 cookie;
+        } event;
+      };
+    } perf_event;
+    struct {
+      __u32 ifindex;
+      __u32 attach_type;
+    } tcx;
+    struct {
+      __u32 ifindex;
+      __u32 attach_type;
+    } netkit;
+    struct {
+      __u32 map_id;
+      __u32 attach_type;
+    } sockmap;
   };
 } __attribute__((aligned(8)));
 struct bpf_sock_addr {
@@ -1052,6 +1264,7 @@
   BPF_TCP_LISTEN,
   BPF_TCP_CLOSING,
   BPF_TCP_NEW_SYN_RECV,
+  BPF_TCP_BOUND_INACTIVE,
   BPF_TCP_MAX_STATES
 };
 enum {
@@ -1095,6 +1308,10 @@
 enum {
   BPF_FIB_LOOKUP_DIRECT = (1U << 0),
   BPF_FIB_LOOKUP_OUTPUT = (1U << 1),
+  BPF_FIB_LOOKUP_SKIP_NEIGH = (1U << 2),
+  BPF_FIB_LOOKUP_TBID = (1U << 3),
+  BPF_FIB_LOOKUP_SRC = (1U << 4),
+  BPF_FIB_LOOKUP_MARK = (1U << 5),
 };
 enum {
   BPF_FIB_LKUP_RET_SUCCESS,
@@ -1106,6 +1323,7 @@
   BPF_FIB_LKUP_RET_UNSUPP_LWT,
   BPF_FIB_LKUP_RET_NO_NEIGH,
   BPF_FIB_LKUP_RET_FRAG_NEEDED,
+  BPF_FIB_LKUP_RET_NO_SRC_ADDR,
 };
 struct bpf_fib_lookup {
   __u8 family;
@@ -1115,7 +1333,7 @@
   union {
     __u16 tot_len;
     __u16 mtu_result;
-  };
+  } __attribute__((packed, aligned(2)));
   __u32 ifindex;
   union {
     __u8 tos;
@@ -1130,10 +1348,22 @@
     __be32 ipv4_dst;
     __u32 ipv6_dst[4];
   };
-  __be16 h_vlan_proto;
-  __be16 h_vlan_TCI;
-  __u8 smac[6];
-  __u8 dmac[6];
+  union {
+    struct {
+      __be16 h_vlan_proto;
+      __be16 h_vlan_TCI;
+    };
+    __u32 tbid;
+  };
+  union {
+    struct {
+      __u32 mark;
+    };
+    struct {
+      __u8 smac[6];
+      __u8 dmac[6];
+    };
+  };
 };
 struct bpf_redir_neigh {
   __u32 nh_family;
@@ -1203,21 +1433,29 @@
   __u32 val;
 };
 struct bpf_timer {
-  __u64 : 64;
-  __u64 : 64;
+  __u64 __opaque[2];
+} __attribute__((aligned(8)));
+struct bpf_wq {
+  __u64 __opaque[2];
 } __attribute__((aligned(8)));
 struct bpf_dynptr {
-  __u64 : 64;
-  __u64 : 64;
+  __u64 __opaque[2];
 } __attribute__((aligned(8)));
 struct bpf_list_head {
-  __u64 : 64;
-  __u64 : 64;
+  __u64 __opaque[2];
 } __attribute__((aligned(8)));
 struct bpf_list_node {
-  __u64 : 64;
-  __u64 : 64;
+  __u64 __opaque[3];
 } __attribute__((aligned(8)));
+struct bpf_rb_root {
+  __u64 __opaque[2];
+} __attribute__((aligned(8)));
+struct bpf_rb_node {
+  __u64 __opaque[4];
+} __attribute__((aligned(8)));
+struct bpf_refcount {
+  __u32 __opaque[1];
+} __attribute__((aligned(4)));
 struct bpf_sysctl {
   __u32 write;
   __u32 file_pos;
@@ -1283,4 +1521,11 @@
   __u32 access_str_off;
   enum bpf_core_relo_kind kind;
 };
+enum {
+  BPF_F_TIMER_ABS = (1ULL << 0),
+  BPF_F_TIMER_CPU_PIN = (1ULL << 1),
+};
+struct bpf_iter_num {
+  __u64 __opaque[1];
+} __attribute__((aligned(8)));
 #endif
diff --git a/libc/kernel/uapi/linux/bpf_common.h b/libc/kernel/uapi/linux/bpf_common.h
index a368db7..e61b8b3 100644
--- a/libc/kernel/uapi/linux/bpf_common.h
+++ b/libc/kernel/uapi/linux/bpf_common.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_BPF_COMMON_H__
 #define _UAPI__LINUX_BPF_COMMON_H__
 #define BPF_CLASS(code) ((code) & 0x07)
diff --git a/libc/kernel/uapi/linux/bpf_perf_event.h b/libc/kernel/uapi/linux/bpf_perf_event.h
index 190b916..18e8b80 100644
--- a/libc/kernel/uapi/linux/bpf_perf_event.h
+++ b/libc/kernel/uapi/linux/bpf_perf_event.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_BPF_PERF_EVENT_H__
 #define _UAPI__LINUX_BPF_PERF_EVENT_H__
 #include <asm/bpf_perf_event.h>
diff --git a/libc/kernel/uapi/linux/bpfilter.h b/libc/kernel/uapi/linux/bpfilter.h
deleted file mode 100644
index a7d8d66..0000000
--- a/libc/kernel/uapi/linux/bpfilter.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef _UAPI_LINUX_BPFILTER_H
-#define _UAPI_LINUX_BPFILTER_H
-#include <linux/if.h>
-enum {
-  BPFILTER_IPT_SO_SET_REPLACE = 64,
-  BPFILTER_IPT_SO_SET_ADD_COUNTERS = 65,
-  BPFILTER_IPT_SET_MAX,
-};
-enum {
-  BPFILTER_IPT_SO_GET_INFO = 64,
-  BPFILTER_IPT_SO_GET_ENTRIES = 65,
-  BPFILTER_IPT_SO_GET_REVISION_MATCH = 66,
-  BPFILTER_IPT_SO_GET_REVISION_TARGET = 67,
-  BPFILTER_IPT_GET_MAX,
-};
-#endif
diff --git a/libc/kernel/uapi/linux/bpqether.h b/libc/kernel/uapi/linux/bpqether.h
index 0b0b861..a39da39 100644
--- a/libc/kernel/uapi/linux/bpqether.h
+++ b/libc/kernel/uapi/linux/bpqether.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __BPQETHER_H
 #define __BPQETHER_H
 #include <linux/if_ether.h>
diff --git a/libc/kernel/uapi/linux/bsg.h b/libc/kernel/uapi/linux/bsg.h
index 0fcf8fc..31e8578 100644
--- a/libc/kernel/uapi/linux/bsg.h
+++ b/libc/kernel/uapi/linux/bsg.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPIBSG_H
 #define _UAPIBSG_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/bt-bmc.h b/libc/kernel/uapi/linux/bt-bmc.h
index 4bd566d..dbdcb50 100644
--- a/libc/kernel/uapi/linux/bt-bmc.h
+++ b/libc/kernel/uapi/linux/bt-bmc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_BT_BMC_H
 #define _UAPI_LINUX_BT_BMC_H
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/linux/btf.h b/libc/kernel/uapi/linux/btf.h
index a1f68bf..83d7e68 100644
--- a/libc/kernel/uapi/linux/btf.h
+++ b/libc/kernel/uapi/linux/btf.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_BTF_H__
 #define _UAPI__LINUX_BTF_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/btrfs.h b/libc/kernel/uapi/linux/btrfs.h
index 0fdac66..a3ebc4f 100644
--- a/libc/kernel/uapi/linux/btrfs.h
+++ b/libc/kernel/uapi/linux/btrfs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_BTRFS_H
 #define _UAPI_LINUX_BTRFS_H
 #ifdef __cplusplus
@@ -57,6 +45,7 @@
   __u64 rsv_excl;
 };
 #define BTRFS_QGROUP_INHERIT_SET_LIMITS (1ULL << 0)
+#define BTRFS_QGROUP_INHERIT_FLAGS_SUPP (BTRFS_QGROUP_INHERIT_SET_LIMITS)
 struct btrfs_qgroup_inherit {
   __u64 flags;
   __u64 num_qgroups;
@@ -107,6 +96,7 @@
   __u64 unverified_errors;
 };
 #define BTRFS_SCRUB_READONLY 1
+#define BTRFS_SCRUB_SUPPORTED_FLAGS (BTRFS_SCRUB_READONLY)
 struct btrfs_ioctl_scrub_args {
   __u64 devid;
   __u64 start;
@@ -157,7 +147,8 @@
   __u8 uuid[BTRFS_UUID_SIZE];
   __u64 bytes_used;
   __u64 total_bytes;
-  __u64 unused[379];
+  __u8 fsid[BTRFS_UUID_SIZE];
+  __u64 unused[377];
   __u8 path[BTRFS_DEVICE_PATH_NAME_MAX];
 };
 #define BTRFS_FS_INFO_FLAG_CSUM_INFO (1 << 0)
@@ -195,6 +186,8 @@
 #define BTRFS_FEATURE_INCOMPAT_RAID1C34 (1ULL << 11)
 #define BTRFS_FEATURE_INCOMPAT_ZONED (1ULL << 12)
 #define BTRFS_FEATURE_INCOMPAT_EXTENT_TREE_V2 (1ULL << 13)
+#define BTRFS_FEATURE_INCOMPAT_RAID_STRIPE_TREE (1ULL << 14)
+#define BTRFS_FEATURE_INCOMPAT_SIMPLE_QUOTA (1ULL << 16)
 struct btrfs_ioctl_feature_flags {
   __u64 compat_flags;
   __u64 compat_ro_flags;
@@ -318,6 +311,7 @@
 };
 #define BTRFS_DEFRAG_RANGE_COMPRESS 1
 #define BTRFS_DEFRAG_RANGE_START_IO 2
+#define BTRFS_DEFRAG_RANGE_FLAGS_SUPP (BTRFS_DEFRAG_RANGE_COMPRESS | BTRFS_DEFRAG_RANGE_START_IO)
 struct btrfs_ioctl_defrag_range_args {
   __u64 start;
   __u64 len;
@@ -392,6 +386,7 @@
 #define BTRFS_QUOTA_CTL_ENABLE 1
 #define BTRFS_QUOTA_CTL_DISABLE 2
 #define BTRFS_QUOTA_CTL_RESCAN__NOTUSED 3
+#define BTRFS_QUOTA_CTL_ENABLE_SIMPLE_QUOTA 4
 struct btrfs_ioctl_quota_ctl_args {
   __u64 cmd;
   __u64 status;
diff --git a/libc/kernel/uapi/linux/btrfs_tree.h b/libc/kernel/uapi/linux/btrfs_tree.h
index 02422c0..88f44d9 100644
--- a/libc/kernel/uapi/linux/btrfs_tree.h
+++ b/libc/kernel/uapi/linux/btrfs_tree.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _BTRFS_CTREE_H_
 #define _BTRFS_CTREE_H_
 #include <linux/btrfs.h>
@@ -36,6 +24,7 @@
 #define BTRFS_UUID_TREE_OBJECTID 9ULL
 #define BTRFS_FREE_SPACE_TREE_OBJECTID 10ULL
 #define BTRFS_BLOCK_GROUP_TREE_OBJECTID 11ULL
+#define BTRFS_RAID_STRIPE_TREE_OBJECTID 12ULL
 #define BTRFS_DEV_STATS_OBJECTID 0ULL
 #define BTRFS_BALANCE_OBJECTID - 4ULL
 #define BTRFS_ORPHAN_OBJECTID - 5ULL
@@ -72,9 +61,9 @@
 #define BTRFS_ROOT_REF_KEY 156
 #define BTRFS_EXTENT_ITEM_KEY 168
 #define BTRFS_METADATA_ITEM_KEY 169
+#define BTRFS_EXTENT_OWNER_REF_KEY 172
 #define BTRFS_TREE_BLOCK_REF_KEY 176
 #define BTRFS_EXTENT_DATA_REF_KEY 178
-#define BTRFS_EXTENT_REF_V0_KEY 180
 #define BTRFS_SHARED_BLOCK_REF_KEY 182
 #define BTRFS_SHARED_DATA_REF_KEY 184
 #define BTRFS_BLOCK_GROUP_ITEM_KEY 192
@@ -84,6 +73,7 @@
 #define BTRFS_DEV_EXTENT_KEY 204
 #define BTRFS_DEV_ITEM_KEY 216
 #define BTRFS_CHUNK_ITEM_KEY 228
+#define BTRFS_RAID_STRIPE_KEY 230
 #define BTRFS_QGROUP_STATUS_KEY 240
 #define BTRFS_QGROUP_INFO_KEY 242
 #define BTRFS_QGROUP_LIMIT_KEY 244
@@ -285,6 +275,13 @@
   __le64 num_entries;
   __le64 num_bitmaps;
 } __attribute__((__packed__));
+struct btrfs_raid_stride {
+  __le64 devid;
+  __le64 physical;
+} __attribute__((__packed__));
+struct btrfs_stripe_extent {
+  __DECLARE_FLEX_ARRAY(struct btrfs_raid_stride, strides);
+} __attribute__((__packed__));
 #define BTRFS_HEADER_FLAG_WRITTEN (1ULL << 0)
 #define BTRFS_HEADER_FLAG_RELOC (1ULL << 1)
 #define BTRFS_SUPER_FLAG_ERROR (1ULL << 2)
@@ -293,6 +290,9 @@
 #define BTRFS_SUPER_FLAG_METADUMP_V2 (1ULL << 34)
 #define BTRFS_SUPER_FLAG_CHANGING_FSID (1ULL << 35)
 #define BTRFS_SUPER_FLAG_CHANGING_FSID_V2 (1ULL << 36)
+#define BTRFS_SUPER_FLAG_CHANGING_BG_TREE (1ULL << 38)
+#define BTRFS_SUPER_FLAG_CHANGING_DATA_CSUM (1ULL << 39)
+#define BTRFS_SUPER_FLAG_CHANGING_META_CSUM (1ULL << 40)
 struct btrfs_extent_item {
   __le64 refs;
   __le64 generation;
@@ -323,6 +323,9 @@
 struct btrfs_shared_data_ref {
   __le32 count;
 } __attribute__((__packed__));
+struct btrfs_extent_owner_ref {
+  __le64 root_id;
+} __attribute__((__packed__));
 struct btrfs_extent_inline_ref {
   __u8 type;
   __le64 offset;
@@ -515,13 +518,15 @@
 #define BTRFS_QGROUP_STATUS_FLAG_ON (1ULL << 0)
 #define BTRFS_QGROUP_STATUS_FLAG_RESCAN (1ULL << 1)
 #define BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT (1ULL << 2)
-#define BTRFS_QGROUP_STATUS_FLAGS_MASK (BTRFS_QGROUP_STATUS_FLAG_ON | BTRFS_QGROUP_STATUS_FLAG_RESCAN | BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT)
+#define BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE (1ULL << 3)
+#define BTRFS_QGROUP_STATUS_FLAGS_MASK (BTRFS_QGROUP_STATUS_FLAG_ON | BTRFS_QGROUP_STATUS_FLAG_RESCAN | BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT | BTRFS_QGROUP_STATUS_FLAG_SIMPLE_MODE)
 #define BTRFS_QGROUP_STATUS_VERSION 1
 struct btrfs_qgroup_status_item {
   __le64 version;
   __le64 generation;
   __le64 flags;
   __le64 rescan;
+  __le64 enable_gen;
 } __attribute__((__packed__));
 struct btrfs_qgroup_info_item {
   __le64 generation;
diff --git a/libc/kernel/uapi/linux/byteorder/big_endian.h b/libc/kernel/uapi/linux/byteorder/big_endian.h
index 82c5a4c..0ed5569 100644
--- a/libc/kernel/uapi/linux/byteorder/big_endian.h
+++ b/libc/kernel/uapi/linux/byteorder/big_endian.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_BYTEORDER_BIG_ENDIAN_H
 #define _UAPI_LINUX_BYTEORDER_BIG_ENDIAN_H
 #ifndef __BIG_ENDIAN
diff --git a/libc/kernel/uapi/linux/byteorder/little_endian.h b/libc/kernel/uapi/linux/byteorder/little_endian.h
index 28155b5..0c913ac 100644
--- a/libc/kernel/uapi/linux/byteorder/little_endian.h
+++ b/libc/kernel/uapi/linux/byteorder/little_endian.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_BYTEORDER_LITTLE_ENDIAN_H
 #define _UAPI_LINUX_BYTEORDER_LITTLE_ENDIAN_H
 #ifndef __LITTLE_ENDIAN
diff --git a/libc/kernel/uapi/linux/cachefiles.h b/libc/kernel/uapi/linux/cachefiles.h
index f5a58a5..838d1f6 100644
--- a/libc/kernel/uapi/linux/cachefiles.h
+++ b/libc/kernel/uapi/linux/cachefiles.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_CACHEFILES_H
 #define _LINUX_CACHEFILES_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/caif/caif_socket.h b/libc/kernel/uapi/linux/caif/caif_socket.h
index 999d1b7..bef723a 100644
--- a/libc/kernel/uapi/linux/caif/caif_socket.h
+++ b/libc/kernel/uapi/linux/caif/caif_socket.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_CAIF_SOCKET_H
 #define _LINUX_CAIF_SOCKET_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/caif/if_caif.h b/libc/kernel/uapi/linux/caif/if_caif.h
index 36dfe08..28b1688 100644
--- a/libc/kernel/uapi/linux/caif/if_caif.h
+++ b/libc/kernel/uapi/linux/caif/if_caif.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef IF_CAIF_H_
 #define IF_CAIF_H_
 #include <linux/sockios.h>
diff --git a/libc/kernel/uapi/linux/can.h b/libc/kernel/uapi/linux/can.h
index 1365dba..a913d73 100644
--- a/libc/kernel/uapi/linux/can.h
+++ b/libc/kernel/uapi/linux/can.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_CAN_H
 #define _UAPI_CAN_H
 #include <linux/types.h>
@@ -67,6 +55,9 @@
 };
 #define CANXL_XLF 0x80
 #define CANXL_SEC 0x01
+#define CANXL_VCID_OFFSET 16
+#define CANXL_VCID_VAL_MASK 0xFFUL
+#define CANXL_VCID_MASK (CANXL_VCID_VAL_MASK << CANXL_VCID_OFFSET)
 struct canxl_frame {
   canid_t prio;
   __u8 flags;
@@ -109,5 +100,4 @@
   canid_t can_mask;
 };
 #define CAN_INV_FILTER 0x20000000U
-#define CAN_RAW_FILTER_MAX 512
 #endif
diff --git a/libc/kernel/uapi/linux/can/bcm.h b/libc/kernel/uapi/linux/can/bcm.h
index f5ab2c2..a52f8e3 100644
--- a/libc/kernel/uapi/linux/can/bcm.h
+++ b/libc/kernel/uapi/linux/can/bcm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_CAN_BCM_H
 #define _UAPI_CAN_BCM_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/can/error.h b/libc/kernel/uapi/linux/can/error.h
index f585d2c..5ac603e 100644
--- a/libc/kernel/uapi/linux/can/error.h
+++ b/libc/kernel/uapi/linux/can/error.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_CAN_ERROR_H
 #define _UAPI_CAN_ERROR_H
 #define CAN_ERR_DLC 8
diff --git a/libc/kernel/uapi/linux/can/gw.h b/libc/kernel/uapi/linux/can/gw.h
index f76bafb..4b42ac8 100644
--- a/libc/kernel/uapi/linux/can/gw.h
+++ b/libc/kernel/uapi/linux/can/gw.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_CAN_GW_H
 #define _UAPI_CAN_GW_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/can/isotp.h b/libc/kernel/uapi/linux/can/isotp.h
index f51aa59..407f6ca 100644
--- a/libc/kernel/uapi/linux/can/isotp.h
+++ b/libc/kernel/uapi/linux/can/isotp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_CAN_ISOTP_H
 #define _UAPI_CAN_ISOTP_H
 #include <linux/types.h>
@@ -57,6 +45,7 @@
 #define CAN_ISOTP_WAIT_TX_DONE 0x0400
 #define CAN_ISOTP_SF_BROADCAST 0x0800
 #define CAN_ISOTP_CF_BROADCAST 0x1000
+#define CAN_ISOTP_DYN_FC_PARMS 0x2000
 #define CAN_ISOTP_DEFAULT_FLAGS 0
 #define CAN_ISOTP_DEFAULT_EXT_ADDRESS 0x00
 #define CAN_ISOTP_DEFAULT_PAD_CONTENT 0xCC
diff --git a/libc/kernel/uapi/linux/can/j1939.h b/libc/kernel/uapi/linux/can/j1939.h
index 42dbf15..24bf3f4 100644
--- a/libc/kernel/uapi/linux/can/j1939.h
+++ b/libc/kernel/uapi/linux/can/j1939.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_CAN_J1939_H_
 #define _UAPI_CAN_J1939_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/can/netlink.h b/libc/kernel/uapi/linux/can/netlink.h
index f4086c0..c9b455b 100644
--- a/libc/kernel/uapi/linux/can/netlink.h
+++ b/libc/kernel/uapi/linux/can/netlink.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_CAN_NETLINK_H
 #define _UAPI_CAN_NETLINK_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/can/raw.h b/libc/kernel/uapi/linux/can/raw.h
index f8de179..8e47899 100644
--- a/libc/kernel/uapi/linux/can/raw.h
+++ b/libc/kernel/uapi/linux/can/raw.h
@@ -1,25 +1,14 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_CAN_RAW_H
 #define _UAPI_CAN_RAW_H
 #include <linux/can.h>
 #define SOL_CAN_RAW (SOL_CAN_BASE + CAN_RAW)
+#define CAN_RAW_FILTER_MAX 512
 enum {
   SCM_CAN_RAW_ERRQUEUE = 1,
 };
@@ -31,5 +20,15 @@
   CAN_RAW_FD_FRAMES,
   CAN_RAW_JOIN_FILTERS,
   CAN_RAW_XL_FRAMES,
+  CAN_RAW_XL_VCID_OPTS,
 };
+struct can_raw_vcid_options {
+  __u8 flags;
+  __u8 tx_vcid;
+  __u8 rx_vcid;
+  __u8 rx_vcid_mask;
+};
+#define CAN_RAW_XL_VCID_TX_SET 0x01
+#define CAN_RAW_XL_VCID_TX_PASS 0x02
+#define CAN_RAW_XL_VCID_RX_FILTER 0x04
 #endif
diff --git a/libc/kernel/uapi/linux/can/vxcan.h b/libc/kernel/uapi/linux/can/vxcan.h
index 950b645..9f6c1c0 100644
--- a/libc/kernel/uapi/linux/can/vxcan.h
+++ b/libc/kernel/uapi/linux/can/vxcan.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_CAN_VXCAN_H
 #define _UAPI_CAN_VXCAN_H
 enum {
diff --git a/libc/kernel/uapi/linux/capability.h b/libc/kernel/uapi/linux/capability.h
index 8f3281e..a49059e 100644
--- a/libc/kernel/uapi/linux/capability.h
+++ b/libc/kernel/uapi/linux/capability.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_CAPABILITY_H
 #define _UAPI_LINUX_CAPABILITY_H
 #include <linux/types.h>
@@ -29,11 +17,12 @@
   __u32 version;
   int pid;
 }  * cap_user_header_t;
-typedef struct __user_cap_data_struct {
+struct __user_cap_data_struct {
   __u32 effective;
   __u32 permitted;
   __u32 inheritable;
-}  * cap_user_data_t;
+};
+typedef struct __user_cap_data_struct  * cap_user_data_t;
 #define VFS_CAP_REVISION_MASK 0xFF000000
 #define VFS_CAP_REVISION_SHIFT 24
 #define VFS_CAP_FLAGS_MASK ~VFS_CAP_REVISION_MASK
diff --git a/libc/kernel/uapi/linux/capi.h b/libc/kernel/uapi/linux/capi.h
index a09f9bc..d81ce05 100644
--- a/libc/kernel/uapi/linux/capi.h
+++ b/libc/kernel/uapi/linux/capi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_CAPI_H__
 #define __LINUX_CAPI_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/cciss_defs.h b/libc/kernel/uapi/linux/cciss_defs.h
index 99d8e56..ab9376e 100644
--- a/libc/kernel/uapi/linux/cciss_defs.h
+++ b/libc/kernel/uapi/linux/cciss_defs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef CCISS_DEFS_H
 #define CCISS_DEFS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/cciss_ioctl.h b/libc/kernel/uapi/linux/cciss_ioctl.h
index 827e6a0..0de724a 100644
--- a/libc/kernel/uapi/linux/cciss_ioctl.h
+++ b/libc/kernel/uapi/linux/cciss_ioctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPICCISS_IOCTLH
 #define _UAPICCISS_IOCTLH
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/ccs.h b/libc/kernel/uapi/linux/ccs.h
index 53c88af..2c3c0fe 100644
--- a/libc/kernel/uapi/linux/ccs.h
+++ b/libc/kernel/uapi/linux/ccs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_CCS_H__
 #define __UAPI_CCS_H__
 #include <linux/v4l2-controls.h>
diff --git a/libc/kernel/uapi/linux/cdrom.h b/libc/kernel/uapi/linux/cdrom.h
index bd1d7df..52078f0 100644
--- a/libc/kernel/uapi/linux/cdrom.h
+++ b/libc/kernel/uapi/linux/cdrom.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_CDROM_H
 #define _UAPI_LINUX_CDROM_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/cec-funcs.h b/libc/kernel/uapi/linux/cec-funcs.h
index 650dc19..511673d 100644
--- a/libc/kernel/uapi/linux/cec-funcs.h
+++ b/libc/kernel/uapi/linux/cec-funcs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _CEC_UAPI_FUNCS_H
 #define _CEC_UAPI_FUNCS_H
 #include <linux/cec.h>
diff --git a/libc/kernel/uapi/linux/cec.h b/libc/kernel/uapi/linux/cec.h
index 3953fe3..43e8456 100644
--- a/libc/kernel/uapi/linux/cec.h
+++ b/libc/kernel/uapi/linux/cec.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _CEC_UAPI_H
 #define _CEC_UAPI_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/cfm_bridge.h b/libc/kernel/uapi/linux/cfm_bridge.h
index de9d023..f4b4042 100644
--- a/libc/kernel/uapi/linux/cfm_bridge.h
+++ b/libc/kernel/uapi/linux/cfm_bridge.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_CFM_BRIDGE_H_
 #define _UAPI_LINUX_CFM_BRIDGE_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/cgroupstats.h b/libc/kernel/uapi/linux/cgroupstats.h
index 3d6a037..343aed4 100644
--- a/libc/kernel/uapi/linux/cgroupstats.h
+++ b/libc/kernel/uapi/linux/cgroupstats.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_CGROUPSTATS_H
 #define _LINUX_CGROUPSTATS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/chio.h b/libc/kernel/uapi/linux/chio.h
index 74f286f..89be987 100644
--- a/libc/kernel/uapi/linux/chio.h
+++ b/libc/kernel/uapi/linux/chio.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_CHIO_H
 #define _UAPI_LINUX_CHIO_H
 #define CHET_MT 0
diff --git a/libc/kernel/uapi/linux/cifs/cifs_mount.h b/libc/kernel/uapi/linux/cifs/cifs_mount.h
index 33f6fd6..0da3b94 100644
--- a/libc/kernel/uapi/linux/cifs/cifs_mount.h
+++ b/libc/kernel/uapi/linux/cifs/cifs_mount.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _CIFS_MOUNT_H
 #define _CIFS_MOUNT_H
 #define CIFS_MAX_DOMAINNAME_LEN 256
diff --git a/libc/kernel/uapi/linux/cifs/cifs_netlink.h b/libc/kernel/uapi/linux/cifs/cifs_netlink.h
index 7286cfa..a6da6fb 100644
--- a/libc/kernel/uapi/linux/cifs/cifs_netlink.h
+++ b/libc/kernel/uapi/linux/cifs/cifs_netlink.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPILINUX_CIFS_NETLINK_H
 #define _UAPILINUX_CIFS_NETLINK_H
 #define CIFS_GENL_NAME "cifs"
diff --git a/libc/kernel/uapi/linux/close_range.h b/libc/kernel/uapi/linux/close_range.h
index 279e4bb..58fc715 100644
--- a/libc/kernel/uapi/linux/close_range.h
+++ b/libc/kernel/uapi/linux/close_range.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_CLOSE_RANGE_H
 #define _UAPI_LINUX_CLOSE_RANGE_H
 #define CLOSE_RANGE_UNSHARE (1U << 1)
diff --git a/libc/kernel/uapi/linux/cm4000_cs.h b/libc/kernel/uapi/linux/cm4000_cs.h
deleted file mode 100644
index 41b7aa7..0000000
--- a/libc/kernel/uapi/linux/cm4000_cs.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef _UAPI_CM4000_H_
-#define _UAPI_CM4000_H_
-#include <linux/types.h>
-#include <linux/ioctl.h>
-#define MAX_ATR 33
-#define CM4000_MAX_DEV 4
-typedef struct atreq {
-  __s32 atr_len;
-  unsigned char atr[64];
-  __s32 power_act;
-  unsigned char bIFSD;
-  unsigned char bIFSC;
-} atreq_t;
-typedef struct ptsreq {
-  __u32 protocol;
-  unsigned char flags;
-  unsigned char pts1;
-  unsigned char pts2;
-  unsigned char pts3;
-} ptsreq_t;
-#define CM_IOC_MAGIC 'c'
-#define CM_IOC_MAXNR 255
-#define CM_IOCGSTATUS _IOR(CM_IOC_MAGIC, 0, unsigned char *)
-#define CM_IOCGATR _IOWR(CM_IOC_MAGIC, 1, atreq_t *)
-#define CM_IOCSPTS _IOW(CM_IOC_MAGIC, 2, ptsreq_t *)
-#define CM_IOCSRDR _IO(CM_IOC_MAGIC, 3)
-#define CM_IOCARDOFF _IO(CM_IOC_MAGIC, 4)
-#define CM_IOSDBGLVL _IOW(CM_IOC_MAGIC, 250, int *)
-#define CM_CARD_INSERTED 0x01
-#define CM_CARD_POWERED 0x02
-#define CM_ATR_PRESENT 0x04
-#define CM_ATR_VALID 0x08
-#define CM_STATE_VALID 0x0f
-#define CM_NO_READER 0x10
-#define CM_BAD_CARD 0x20
-#endif
diff --git a/libc/kernel/uapi/linux/cn_proc.h b/libc/kernel/uapi/linux/cn_proc.h
index 411b725..7ac0dd1 100644
--- a/libc/kernel/uapi/linux/cn_proc.h
+++ b/libc/kernel/uapi/linux/cn_proc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPICN_PROC_H
 #define _UAPICN_PROC_H
 #include <linux/types.h>
@@ -23,19 +11,26 @@
   PROC_CN_MCAST_LISTEN = 1,
   PROC_CN_MCAST_IGNORE = 2
 };
+#define PROC_EVENT_ALL (PROC_EVENT_FORK | PROC_EVENT_EXEC | PROC_EVENT_UID | PROC_EVENT_GID | PROC_EVENT_SID | PROC_EVENT_PTRACE | PROC_EVENT_COMM | PROC_EVENT_NONZERO_EXIT | PROC_EVENT_COREDUMP | PROC_EVENT_EXIT)
+enum proc_cn_event {
+  PROC_EVENT_NONE = 0x00000000,
+  PROC_EVENT_FORK = 0x00000001,
+  PROC_EVENT_EXEC = 0x00000002,
+  PROC_EVENT_UID = 0x00000004,
+  PROC_EVENT_GID = 0x00000040,
+  PROC_EVENT_SID = 0x00000080,
+  PROC_EVENT_PTRACE = 0x00000100,
+  PROC_EVENT_COMM = 0x00000200,
+  PROC_EVENT_NONZERO_EXIT = 0x20000000,
+  PROC_EVENT_COREDUMP = 0x40000000,
+  PROC_EVENT_EXIT = 0x80000000
+};
+struct proc_input {
+  enum proc_cn_mcast_op mcast_op;
+  enum proc_cn_event event_type;
+};
 struct proc_event {
-  enum what {
-    PROC_EVENT_NONE = 0x00000000,
-    PROC_EVENT_FORK = 0x00000001,
-    PROC_EVENT_EXEC = 0x00000002,
-    PROC_EVENT_UID = 0x00000004,
-    PROC_EVENT_GID = 0x00000040,
-    PROC_EVENT_SID = 0x00000080,
-    PROC_EVENT_PTRACE = 0x00000100,
-    PROC_EVENT_COMM = 0x00000200,
-    PROC_EVENT_COREDUMP = 0x40000000,
-    PROC_EVENT_EXIT = 0x80000000
-  } what;
+  enum proc_cn_event what;
   __u32 cpu;
   __u64 __attribute__((aligned(8))) timestamp_ns;
   union {
diff --git a/libc/kernel/uapi/linux/coda.h b/libc/kernel/uapi/linux/coda.h
index 5795cdf..b1e429b 100644
--- a/libc/kernel/uapi/linux/coda.h
+++ b/libc/kernel/uapi/linux/coda.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_CODA_HEADER_
 #define _UAPI_CODA_HEADER_
 #if defined(__NetBSD__) || (defined(DJGPP) || defined(__CYGWIN32__)) && !defined(KERNEL)
diff --git a/libc/kernel/uapi/linux/coff.h b/libc/kernel/uapi/linux/coff.h
index 8f93b61..6e329b2 100644
--- a/libc/kernel/uapi/linux/coff.h
+++ b/libc/kernel/uapi/linux/coff.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_COFF_H
 #define _UAPI_LINUX_COFF_H
 #define E_SYMNMLEN 8
diff --git a/libc/kernel/uapi/linux/comedi.h b/libc/kernel/uapi/linux/comedi.h
index 465d1bf..dedab34 100644
--- a/libc/kernel/uapi/linux/comedi.h
+++ b/libc/kernel/uapi/linux/comedi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _COMEDI_H
 #define _COMEDI_H
 #define COMEDI_MAJORVERSION 0
diff --git a/libc/kernel/uapi/linux/connector.h b/libc/kernel/uapi/linux/connector.h
index e3891e3..12f5c83 100644
--- a/libc/kernel/uapi/linux/connector.h
+++ b/libc/kernel/uapi/linux/connector.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__CONNECTOR_H
 #define _UAPI__CONNECTOR_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/const.h b/libc/kernel/uapi/linux/const.h
index c62a702..c091f8d 100644
--- a/libc/kernel/uapi/linux/const.h
+++ b/libc/kernel/uapi/linux/const.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_CONST_H
 #define _UAPI_LINUX_CONST_H
 #ifdef __ASSEMBLY__
@@ -30,7 +18,7 @@
 #define _ULL(x) (_AC(x, ULL))
 #define _BITUL(x) (_UL(1) << (x))
 #define _BITULL(x) (_ULL(1) << (x))
-#define __ALIGN_KERNEL(x,a) __ALIGN_KERNEL_MASK(x, (typeof(x)) (a) - 1)
+#define __ALIGN_KERNEL(x,a) __ALIGN_KERNEL_MASK(x, (__typeof__(x)) (a) - 1)
 #define __ALIGN_KERNEL_MASK(x,mask) (((x) + (mask)) & ~(mask))
 #define __KERNEL_DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d))
 #endif
diff --git a/libc/kernel/uapi/linux/coresight-stm.h b/libc/kernel/uapi/linux/coresight-stm.h
index 86d80ca..27d88cf 100644
--- a/libc/kernel/uapi/linux/coresight-stm.h
+++ b/libc/kernel/uapi/linux/coresight-stm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_CORESIGHT_STM_H_
 #define __UAPI_CORESIGHT_STM_H_
 #include <linux/const.h>
diff --git a/libc/kernel/uapi/linux/counter.h b/libc/kernel/uapi/linux/counter.h
index f986365..5d6f01f 100644
--- a/libc/kernel/uapi/linux/counter.h
+++ b/libc/kernel/uapi/linux/counter.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_COUNTER_H_
 #define _UAPI_COUNTER_H_
 #include <linux/ioctl.h>
@@ -71,6 +59,12 @@
   COUNTER_COUNT_MODE_RANGE_LIMIT,
   COUNTER_COUNT_MODE_NON_RECYCLE,
   COUNTER_COUNT_MODE_MODULO_N,
+  COUNTER_COUNT_MODE_INTERRUPT_ON_TERMINAL_COUNT,
+  COUNTER_COUNT_MODE_HARDWARE_RETRIGGERABLE_ONESHOT,
+  COUNTER_COUNT_MODE_RATE_GENERATOR,
+  COUNTER_COUNT_MODE_SQUARE_WAVE_MODE,
+  COUNTER_COUNT_MODE_SOFTWARE_TRIGGERED_STROBE,
+  COUNTER_COUNT_MODE_HARDWARE_TRIGGERED_STROBE,
 };
 enum counter_function {
   COUNTER_FUNCTION_INCREASE,
diff --git a/libc/kernel/uapi/linux/cramfs_fs.h b/libc/kernel/uapi/linux/cramfs_fs.h
index 8872914..77bacce 100644
--- a/libc/kernel/uapi/linux/cramfs_fs.h
+++ b/libc/kernel/uapi/linux/cramfs_fs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__CRAMFS_H
 #define _UAPI__CRAMFS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/cryptouser.h b/libc/kernel/uapi/linux/cryptouser.h
index 1d145bd..9ffab6d 100644
--- a/libc/kernel/uapi/linux/cryptouser.h
+++ b/libc/kernel/uapi/linux/cryptouser.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_CRYPTOUSER_H
 #define _UAPI_LINUX_CRYPTOUSER_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/cuda.h b/libc/kernel/uapi/linux/cuda.h
index 64393db..3a99b9e 100644
--- a/libc/kernel/uapi/linux/cuda.h
+++ b/libc/kernel/uapi/linux/cuda.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_CUDA_H
 #define _UAPI_LINUX_CUDA_H
 #define CUDA_WARM_START 0
diff --git a/libc/kernel/uapi/linux/cxl_mem.h b/libc/kernel/uapi/linux/cxl_mem.h
index c94af87..abe6573 100644
--- a/libc/kernel/uapi/linux/cxl_mem.h
+++ b/libc/kernel/uapi/linux/cxl_mem.h
@@ -1,43 +1,41 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_CXL_MEM_H_
 #define _UAPI_CXL_MEM_H_
 #include <linux/types.h>
 #define CXL_MEM_QUERY_COMMANDS _IOR(0xCE, 1, struct cxl_mem_query_commands)
 #define CXL_MEM_SEND_COMMAND _IOWR(0xCE, 2, struct cxl_send_command)
-#define CXL_CMDS ___C(INVALID, "Invalid Command"), ___C(IDENTIFY, "Identify Command"), ___C(RAW, "Raw device command"), ___C(GET_SUPPORTED_LOGS, "Get Supported Logs"), ___C(GET_FW_INFO, "Get FW Info"), ___C(GET_PARTITION_INFO, "Get Partition Information"), ___C(GET_LSA, "Get Label Storage Area"), ___C(GET_HEALTH_INFO, "Get Health Info"), ___C(GET_LOG, "Get Log"), ___C(SET_PARTITION_INFO, "Set Partition Information"), ___C(SET_LSA, "Set Label Storage Area"), ___C(GET_ALERT_CONFIG, "Get Alert Configuration"), ___C(SET_ALERT_CONFIG, "Set Alert Configuration"), ___C(GET_SHUTDOWN_STATE, "Get Shutdown State"), ___C(SET_SHUTDOWN_STATE, "Set Shutdown State"), ___C(GET_POISON, "Get Poison List"), ___C(INJECT_POISON, "Inject Poison"), ___C(CLEAR_POISON, "Clear Poison"), ___C(GET_SCAN_MEDIA_CAPS, "Get Scan Media Capabilities"), ___C(SCAN_MEDIA, "Scan Media"), ___C(GET_SCAN_MEDIA, "Get Scan Media Results"), ___C(MAX, "invalid / last command")
+#define CXL_CMDS ___C(INVALID, "Invalid Command"), ___C(IDENTIFY, "Identify Command"), ___C(RAW, "Raw device command"), ___C(GET_SUPPORTED_LOGS, "Get Supported Logs"), ___C(GET_FW_INFO, "Get FW Info"), ___C(GET_PARTITION_INFO, "Get Partition Information"), ___C(GET_LSA, "Get Label Storage Area"), ___C(GET_HEALTH_INFO, "Get Health Info"), ___C(GET_LOG, "Get Log"), ___C(SET_PARTITION_INFO, "Set Partition Information"), ___C(SET_LSA, "Set Label Storage Area"), ___C(GET_ALERT_CONFIG, "Get Alert Configuration"), ___C(SET_ALERT_CONFIG, "Set Alert Configuration"), ___C(GET_SHUTDOWN_STATE, "Get Shutdown State"), ___C(SET_SHUTDOWN_STATE, "Set Shutdown State"), ___DEPRECATED(GET_POISON, "Get Poison List"), ___DEPRECATED(INJECT_POISON, "Inject Poison"), ___DEPRECATED(CLEAR_POISON, "Clear Poison"), ___C(GET_SCAN_MEDIA_CAPS, "Get Scan Media Capabilities"), ___DEPRECATED(SCAN_MEDIA, "Scan Media"), ___DEPRECATED(GET_SCAN_MEDIA, "Get Scan Media Results"), ___C(GET_TIMESTAMP, "Get Timestamp"), ___C(GET_LOG_CAPS, "Get Log Capabilities"), ___C(CLEAR_LOG, "Clear Log"), ___C(GET_SUP_LOG_SUBLIST, "Get Supported Logs Sub-List"), ___C(MAX, "invalid / last command")
 #define ___C(a,b) CXL_MEM_COMMAND_ID_ ##a
+#define ___DEPRECATED(a,b) CXL_MEM_DEPRECATED_ID_ ##a
 enum {
   CXL_CMDS
 };
 #undef ___C
+#undef ___DEPRECATED
 #define ___C(a,b) { b }
+#define ___DEPRECATED(a,b) { "Deprecated " b }
 static const struct {
   const char * name;
 } cxl_command_names[] __attribute__((__unused__)) = {
   CXL_CMDS
 };
 #undef ___C
+#undef ___DEPRECATED
+#define ___C(a,b) (0)
+#define ___DEPRECATED(a,b) (1)
+#undef ___C
+#undef ___DEPRECATED
 struct cxl_command_info {
   __u32 id;
   __u32 flags;
-#define CXL_MEM_COMMAND_FLAG_MASK GENMASK(0, 0)
+#define CXL_MEM_COMMAND_FLAG_MASK GENMASK(1, 0)
+#define CXL_MEM_COMMAND_FLAG_ENABLED BIT(0)
+#define CXL_MEM_COMMAND_FLAG_EXCLUSIVE BIT(1)
   __u32 size_in;
   __u32 size_out;
 };
diff --git a/libc/kernel/uapi/linux/cyclades.h b/libc/kernel/uapi/linux/cyclades.h
index c0aa7aa..85f5a24 100644
--- a/libc/kernel/uapi/linux/cyclades.h
+++ b/libc/kernel/uapi/linux/cyclades.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_CYCLADES_H
 #define _UAPI_LINUX_CYCLADES_H
 #warning "Support for features provided by this header has been removed"
diff --git a/libc/kernel/uapi/linux/cycx_cfm.h b/libc/kernel/uapi/linux/cycx_cfm.h
index 230b58d..799e5ee 100644
--- a/libc/kernel/uapi/linux/cycx_cfm.h
+++ b/libc/kernel/uapi/linux/cycx_cfm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _CYCX_CFM_H
 #define _CYCX_CFM_H
 #define CFM_VERSION 2
diff --git a/libc/kernel/uapi/linux/dcbnl.h b/libc/kernel/uapi/linux/dcbnl.h
index bc88387..90e0514 100644
--- a/libc/kernel/uapi/linux/dcbnl.h
+++ b/libc/kernel/uapi/linux/dcbnl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_DCBNL_H__
 #define __LINUX_DCBNL_H__
 #include <linux/types.h>
@@ -181,6 +169,7 @@
   DCB_ATTR_IEEE_QCN_STATS,
   DCB_ATTR_DCB_BUFFER,
   DCB_ATTR_DCB_APP_TRUST_TABLE,
+  DCB_ATTR_DCB_REWR_TABLE,
   __DCB_ATTR_IEEE_MAX
 };
 #define DCB_ATTR_IEEE_MAX (__DCB_ATTR_IEEE_MAX - 1)
diff --git a/libc/kernel/uapi/linux/dccp.h b/libc/kernel/uapi/linux/dccp.h
index 9ed840d..b4f03cc 100644
--- a/libc/kernel/uapi/linux/dccp.h
+++ b/libc/kernel/uapi/linux/dccp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_DCCP_H
 #define _UAPI_LINUX_DCCP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/devlink.h b/libc/kernel/uapi/linux/devlink.h
index b7705c3..d87c189 100644
--- a/libc/kernel/uapi/linux/devlink.h
+++ b/libc/kernel/uapi/linux/devlink.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_DEVLINK_H_
 #define _UAPI_LINUX_DEVLINK_H_
 #include <linux/const.h>
@@ -109,6 +97,7 @@
   DEVLINK_CMD_LINECARD_DEL,
   DEVLINK_CMD_SELFTESTS_GET,
   DEVLINK_CMD_SELFTESTS_RUN,
+  DEVLINK_CMD_NOTIFY_FILTER_SET,
   __DEVLINK_CMD_MAX,
   DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
 };
@@ -181,7 +170,7 @@
   __DEVLINK_ATTR_STATS_MAX,
   DEVLINK_ATTR_STATS_MAX = __DEVLINK_ATTR_STATS_MAX - 1
 };
-enum {
+enum devlink_flash_overwrite {
   DEVLINK_FLASH_OVERWRITE_SETTINGS_BIT,
   DEVLINK_FLASH_OVERWRITE_IDENTIFIERS_BIT,
   __DEVLINK_FLASH_OVERWRITE_MAX_BIT,
@@ -462,16 +451,22 @@
 enum devlink_port_fn_attr_cap {
   DEVLINK_PORT_FN_ATTR_CAP_ROCE_BIT,
   DEVLINK_PORT_FN_ATTR_CAP_MIGRATABLE_BIT,
+  DEVLINK_PORT_FN_ATTR_CAP_IPSEC_CRYPTO_BIT,
+  DEVLINK_PORT_FN_ATTR_CAP_IPSEC_PACKET_BIT,
   __DEVLINK_PORT_FN_ATTR_CAPS_MAX,
 };
 #define DEVLINK_PORT_FN_CAP_ROCE _BITUL(DEVLINK_PORT_FN_ATTR_CAP_ROCE_BIT)
 #define DEVLINK_PORT_FN_CAP_MIGRATABLE _BITUL(DEVLINK_PORT_FN_ATTR_CAP_MIGRATABLE_BIT)
+#define DEVLINK_PORT_FN_CAP_IPSEC_CRYPTO _BITUL(DEVLINK_PORT_FN_ATTR_CAP_IPSEC_CRYPTO_BIT)
+#define DEVLINK_PORT_FN_CAP_IPSEC_PACKET _BITUL(DEVLINK_PORT_FN_ATTR_CAP_IPSEC_PACKET_BIT)
 enum devlink_port_function_attr {
   DEVLINK_PORT_FUNCTION_ATTR_UNSPEC,
   DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR,
   DEVLINK_PORT_FN_ATTR_STATE,
   DEVLINK_PORT_FN_ATTR_OPSTATE,
   DEVLINK_PORT_FN_ATTR_CAPS,
+  DEVLINK_PORT_FN_ATTR_DEVLINK,
+  DEVLINK_PORT_FN_ATTR_MAX_IO_EQS,
   __DEVLINK_PORT_FUNCTION_ATTR_MAX,
   DEVLINK_PORT_FUNCTION_ATTR_MAX = __DEVLINK_PORT_FUNCTION_ATTR_MAX - 1
 };
diff --git a/libc/kernel/uapi/linux/dlm.h b/libc/kernel/uapi/linux/dlm.h
index 499baad..1344f9b 100644
--- a/libc/kernel/uapi/linux/dlm.h
+++ b/libc/kernel/uapi/linux/dlm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__DLM_DOT_H__
 #define _UAPI__DLM_DOT_H__
 #include <linux/dlmconstants.h>
@@ -32,4 +20,5 @@
 };
 #define DLM_LSFL_TIMEWARN 0x00000002
 #define DLM_LSFL_NEWEXCL 0x00000008
+#define __DLM_LSFL_RESERVED0 0x00000010
 #endif
diff --git a/libc/kernel/uapi/linux/dlm_device.h b/libc/kernel/uapi/linux/dlm_device.h
index e1b0c6d..5189f1d 100644
--- a/libc/kernel/uapi/linux/dlm_device.h
+++ b/libc/kernel/uapi/linux/dlm_device.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_DLM_DEVICE_H
 #define _LINUX_DLM_DEVICE_H
 #include <linux/dlm.h>
diff --git a/libc/kernel/uapi/linux/dlm_netlink.h b/libc/kernel/uapi/linux/dlm_netlink.h
deleted file mode 100644
index 0c655fa..0000000
--- a/libc/kernel/uapi/linux/dlm_netlink.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef _DLM_NETLINK_H
-#define _DLM_NETLINK_H
-#include <linux/types.h>
-#include <linux/dlmconstants.h>
-enum {
-  DLM_STATUS_WAITING = 1,
-  DLM_STATUS_GRANTED = 2,
-  DLM_STATUS_CONVERT = 3,
-};
-#define DLM_LOCK_DATA_VERSION 1
-struct dlm_lock_data {
-  __u16 version;
-  __u32 lockspace_id;
-  int nodeid;
-  int ownpid;
-  __u32 id;
-  __u32 remid;
-  __u64 xid;
-  __s8 status;
-  __s8 grmode;
-  __s8 rqmode;
-  unsigned long timestamp;
-  int resource_namelen;
-  char resource_name[DLM_RESNAME_MAXLEN];
-};
-enum {
-  DLM_CMD_UNSPEC = 0,
-  DLM_CMD_HELLO,
-  DLM_CMD_TIMEOUT,
-  __DLM_CMD_MAX,
-};
-#define DLM_CMD_MAX (__DLM_CMD_MAX - 1)
-enum {
-  DLM_TYPE_UNSPEC = 0,
-  DLM_TYPE_LOCK,
-  __DLM_TYPE_MAX,
-};
-#define DLM_TYPE_MAX (__DLM_TYPE_MAX - 1)
-#define DLM_GENL_VERSION 0x1
-#define DLM_GENL_NAME "DLM"
-#endif
diff --git a/libc/kernel/uapi/linux/dlm_plock.h b/libc/kernel/uapi/linux/dlm_plock.h
index 332397b..23726d8 100644
--- a/libc/kernel/uapi/linux/dlm_plock.h
+++ b/libc/kernel/uapi/linux/dlm_plock.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__DLM_PLOCK_DOT_H__
 #define _UAPI__DLM_PLOCK_DOT_H__
 #include <linux/types.h>
@@ -27,6 +15,7 @@
   DLM_PLOCK_OP_LOCK = 1,
   DLM_PLOCK_OP_UNLOCK,
   DLM_PLOCK_OP_GET,
+  DLM_PLOCK_OP_CANCEL,
 };
 #define DLM_PLOCK_FL_CLOSE 1
 struct dlm_plock_info {
diff --git a/libc/kernel/uapi/linux/dlmconstants.h b/libc/kernel/uapi/linux/dlmconstants.h
index e1b1cb5..766d1f8 100644
--- a/libc/kernel/uapi/linux/dlmconstants.h
+++ b/libc/kernel/uapi/linux/dlmconstants.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __DLMCONSTANTS_DOT_H__
 #define __DLMCONSTANTS_DOT_H__
 #define DLM_LOCKSPACE_LEN 64
diff --git a/libc/kernel/uapi/linux/dm-ioctl.h b/libc/kernel/uapi/linux/dm-ioctl.h
index f0ff78c..f24b441 100644
--- a/libc/kernel/uapi/linux/dm-ioctl.h
+++ b/libc/kernel/uapi/linux/dm-ioctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_DM_IOCTL_V4_H
 #define _LINUX_DM_IOCTL_V4_H
 #include <linux/types.h>
@@ -106,9 +94,9 @@
 #define DM_TARGET_MSG _IOWR(DM_IOCTL, DM_TARGET_MSG_CMD, struct dm_ioctl)
 #define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
 #define DM_VERSION_MAJOR 4
-#define DM_VERSION_MINOR 47
+#define DM_VERSION_MINOR 48
 #define DM_VERSION_PATCHLEVEL 0
-#define DM_VERSION_EXTRA "-ioctl(2022-07-28)"
+#define DM_VERSION_EXTRA "-ioctl(2023-03-01)"
 #define DM_READONLY_FLAG (1 << 0)
 #define DM_SUSPEND_FLAG (1 << 1)
 #define DM_PERSISTENT_DEV_FLAG (1 << 3)
diff --git a/libc/kernel/uapi/linux/dm-log-userspace.h b/libc/kernel/uapi/linux/dm-log-userspace.h
index 37feee6..22fee6f 100644
--- a/libc/kernel/uapi/linux/dm-log-userspace.h
+++ b/libc/kernel/uapi/linux/dm-log-userspace.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __DM_LOG_USERSPACE_H__
 #define __DM_LOG_USERSPACE_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/dm-user.h b/libc/kernel/uapi/linux/dm-user.h
index 39624c8..65aa6b1 100644
--- a/libc/kernel/uapi/linux/dm-user.h
+++ b/libc/kernel/uapi/linux/dm-user.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_DM_USER_H
 #define _LINUX_DM_USER_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/dma-buf.h b/libc/kernel/uapi/linux/dma-buf.h
index 7462c15..5511a4e 100644
--- a/libc/kernel/uapi/linux/dma-buf.h
+++ b/libc/kernel/uapi/linux/dma-buf.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _DMA_BUF_UAPI_H_
 #define _DMA_BUF_UAPI_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/dma-heap.h b/libc/kernel/uapi/linux/dma-heap.h
index a2746e3..ac86b59 100644
--- a/libc/kernel/uapi/linux/dma-heap.h
+++ b/libc/kernel/uapi/linux/dma-heap.h
@@ -1,27 +1,15 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_DMABUF_POOL_H
 #define _UAPI_LINUX_DMABUF_POOL_H
 #include <linux/ioctl.h>
 #include <linux/types.h>
 #define DMA_HEAP_VALID_FD_FLAGS (O_CLOEXEC | O_ACCMODE)
-#define DMA_HEAP_VALID_HEAP_FLAGS (0)
+#define DMA_HEAP_VALID_HEAP_FLAGS (0ULL)
 struct dma_heap_allocation_data {
   __u64 len;
   __u32 fd;
diff --git a/libc/kernel/uapi/linux/dns_resolver.h b/libc/kernel/uapi/linux/dns_resolver.h
index e7113d0..cd9df83 100644
--- a/libc/kernel/uapi/linux/dns_resolver.h
+++ b/libc/kernel/uapi/linux/dns_resolver.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_DNS_RESOLVER_H
 #define _UAPI_LINUX_DNS_RESOLVER_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/dpll.h b/libc/kernel/uapi/linux/dpll.h
new file mode 100644
index 0000000..dd692f6
--- /dev/null
+++ b/libc/kernel/uapi/linux/dpll.h
@@ -0,0 +1,131 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_LINUX_DPLL_H
+#define _UAPI_LINUX_DPLL_H
+#define DPLL_FAMILY_NAME "dpll"
+#define DPLL_FAMILY_VERSION 1
+enum dpll_mode {
+  DPLL_MODE_MANUAL = 1,
+  DPLL_MODE_AUTOMATIC,
+  __DPLL_MODE_MAX,
+  DPLL_MODE_MAX = (__DPLL_MODE_MAX - 1)
+};
+enum dpll_lock_status {
+  DPLL_LOCK_STATUS_UNLOCKED = 1,
+  DPLL_LOCK_STATUS_LOCKED,
+  DPLL_LOCK_STATUS_LOCKED_HO_ACQ,
+  DPLL_LOCK_STATUS_HOLDOVER,
+  __DPLL_LOCK_STATUS_MAX,
+  DPLL_LOCK_STATUS_MAX = (__DPLL_LOCK_STATUS_MAX - 1)
+};
+enum dpll_lock_status_error {
+  DPLL_LOCK_STATUS_ERROR_NONE = 1,
+  DPLL_LOCK_STATUS_ERROR_UNDEFINED,
+  DPLL_LOCK_STATUS_ERROR_MEDIA_DOWN,
+  DPLL_LOCK_STATUS_ERROR_FRACTIONAL_FREQUENCY_OFFSET_TOO_HIGH,
+  __DPLL_LOCK_STATUS_ERROR_MAX,
+  DPLL_LOCK_STATUS_ERROR_MAX = (__DPLL_LOCK_STATUS_ERROR_MAX - 1)
+};
+#define DPLL_TEMP_DIVIDER 1000
+enum dpll_type {
+  DPLL_TYPE_PPS = 1,
+  DPLL_TYPE_EEC,
+  __DPLL_TYPE_MAX,
+  DPLL_TYPE_MAX = (__DPLL_TYPE_MAX - 1)
+};
+enum dpll_pin_type {
+  DPLL_PIN_TYPE_MUX = 1,
+  DPLL_PIN_TYPE_EXT,
+  DPLL_PIN_TYPE_SYNCE_ETH_PORT,
+  DPLL_PIN_TYPE_INT_OSCILLATOR,
+  DPLL_PIN_TYPE_GNSS,
+  __DPLL_PIN_TYPE_MAX,
+  DPLL_PIN_TYPE_MAX = (__DPLL_PIN_TYPE_MAX - 1)
+};
+enum dpll_pin_direction {
+  DPLL_PIN_DIRECTION_INPUT = 1,
+  DPLL_PIN_DIRECTION_OUTPUT,
+  __DPLL_PIN_DIRECTION_MAX,
+  DPLL_PIN_DIRECTION_MAX = (__DPLL_PIN_DIRECTION_MAX - 1)
+};
+#define DPLL_PIN_FREQUENCY_1_HZ 1
+#define DPLL_PIN_FREQUENCY_10_KHZ 10000
+#define DPLL_PIN_FREQUENCY_77_5_KHZ 77500
+#define DPLL_PIN_FREQUENCY_10_MHZ 10000000
+enum dpll_pin_state {
+  DPLL_PIN_STATE_CONNECTED = 1,
+  DPLL_PIN_STATE_DISCONNECTED,
+  DPLL_PIN_STATE_SELECTABLE,
+  __DPLL_PIN_STATE_MAX,
+  DPLL_PIN_STATE_MAX = (__DPLL_PIN_STATE_MAX - 1)
+};
+enum dpll_pin_capabilities {
+  DPLL_PIN_CAPABILITIES_DIRECTION_CAN_CHANGE = 1,
+  DPLL_PIN_CAPABILITIES_PRIORITY_CAN_CHANGE = 2,
+  DPLL_PIN_CAPABILITIES_STATE_CAN_CHANGE = 4,
+};
+#define DPLL_PHASE_OFFSET_DIVIDER 1000
+enum dpll_a {
+  DPLL_A_ID = 1,
+  DPLL_A_MODULE_NAME,
+  DPLL_A_PAD,
+  DPLL_A_CLOCK_ID,
+  DPLL_A_MODE,
+  DPLL_A_MODE_SUPPORTED,
+  DPLL_A_LOCK_STATUS,
+  DPLL_A_TEMP,
+  DPLL_A_TYPE,
+  DPLL_A_LOCK_STATUS_ERROR,
+  __DPLL_A_MAX,
+  DPLL_A_MAX = (__DPLL_A_MAX - 1)
+};
+enum dpll_a_pin {
+  DPLL_A_PIN_ID = 1,
+  DPLL_A_PIN_PARENT_ID,
+  DPLL_A_PIN_MODULE_NAME,
+  DPLL_A_PIN_PAD,
+  DPLL_A_PIN_CLOCK_ID,
+  DPLL_A_PIN_BOARD_LABEL,
+  DPLL_A_PIN_PANEL_LABEL,
+  DPLL_A_PIN_PACKAGE_LABEL,
+  DPLL_A_PIN_TYPE,
+  DPLL_A_PIN_DIRECTION,
+  DPLL_A_PIN_FREQUENCY,
+  DPLL_A_PIN_FREQUENCY_SUPPORTED,
+  DPLL_A_PIN_FREQUENCY_MIN,
+  DPLL_A_PIN_FREQUENCY_MAX,
+  DPLL_A_PIN_PRIO,
+  DPLL_A_PIN_STATE,
+  DPLL_A_PIN_CAPABILITIES,
+  DPLL_A_PIN_PARENT_DEVICE,
+  DPLL_A_PIN_PARENT_PIN,
+  DPLL_A_PIN_PHASE_ADJUST_MIN,
+  DPLL_A_PIN_PHASE_ADJUST_MAX,
+  DPLL_A_PIN_PHASE_ADJUST,
+  DPLL_A_PIN_PHASE_OFFSET,
+  DPLL_A_PIN_FRACTIONAL_FREQUENCY_OFFSET,
+  __DPLL_A_PIN_MAX,
+  DPLL_A_PIN_MAX = (__DPLL_A_PIN_MAX - 1)
+};
+enum dpll_cmd {
+  DPLL_CMD_DEVICE_ID_GET = 1,
+  DPLL_CMD_DEVICE_GET,
+  DPLL_CMD_DEVICE_SET,
+  DPLL_CMD_DEVICE_CREATE_NTF,
+  DPLL_CMD_DEVICE_DELETE_NTF,
+  DPLL_CMD_DEVICE_CHANGE_NTF,
+  DPLL_CMD_PIN_ID_GET,
+  DPLL_CMD_PIN_GET,
+  DPLL_CMD_PIN_SET,
+  DPLL_CMD_PIN_CREATE_NTF,
+  DPLL_CMD_PIN_DELETE_NTF,
+  DPLL_CMD_PIN_CHANGE_NTF,
+  __DPLL_CMD_MAX,
+  DPLL_CMD_MAX = (__DPLL_CMD_MAX - 1)
+};
+#define DPLL_MCGRP_MONITOR "monitor"
+#endif
diff --git a/libc/kernel/uapi/linux/dqblk_xfs.h b/libc/kernel/uapi/linux/dqblk_xfs.h
index 6164991..aba6deb 100644
--- a/libc/kernel/uapi/linux/dqblk_xfs.h
+++ b/libc/kernel/uapi/linux/dqblk_xfs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_DQBLK_XFS_H
 #define _LINUX_DQBLK_XFS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/dvb/audio.h b/libc/kernel/uapi/linux/dvb/audio.h
index 0a527c1..30e4e0f 100644
--- a/libc/kernel/uapi/linux/dvb/audio.h
+++ b/libc/kernel/uapi/linux/dvb/audio.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _DVBAUDIO_H_
 #define _DVBAUDIO_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/dvb/ca.h b/libc/kernel/uapi/linux/dvb/ca.h
index fa977c7..d1c2573 100644
--- a/libc/kernel/uapi/linux/dvb/ca.h
+++ b/libc/kernel/uapi/linux/dvb/ca.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _DVBCA_H_
 #define _DVBCA_H_
 struct ca_slot_info {
diff --git a/libc/kernel/uapi/linux/dvb/dmx.h b/libc/kernel/uapi/linux/dvb/dmx.h
index e142e57..3246321 100644
--- a/libc/kernel/uapi/linux/dvb/dmx.h
+++ b/libc/kernel/uapi/linux/dvb/dmx.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_DVBDMX_H_
 #define _UAPI_DVBDMX_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/dvb/frontend.h b/libc/kernel/uapi/linux/dvb/frontend.h
index 2ea7d9d..9428cc0 100644
--- a/libc/kernel/uapi/linux/dvb/frontend.h
+++ b/libc/kernel/uapi/linux/dvb/frontend.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _DVBFRONTEND_H_
 #define _DVBFRONTEND_H_
 #include <linux/types.h>
@@ -138,6 +126,10 @@
   FEC_28_45,
   FEC_32_45,
   FEC_77_90,
+  FEC_11_45,
+  FEC_4_15,
+  FEC_14_45,
+  FEC_7_15,
 };
 enum fe_modulation {
   QPSK,
@@ -349,7 +341,7 @@
   union {
     __u64 uvalue;
     __s64 svalue;
-  };
+  } __attribute__((packed));
 } __attribute__((packed));
 #define MAX_DTV_STATS 4
 struct dtv_fe_stats {
diff --git a/libc/kernel/uapi/linux/dvb/net.h b/libc/kernel/uapi/linux/dvb/net.h
index 4809e64..5b70258 100644
--- a/libc/kernel/uapi/linux/dvb/net.h
+++ b/libc/kernel/uapi/linux/dvb/net.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _DVBNET_H_
 #define _DVBNET_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/dvb/osd.h b/libc/kernel/uapi/linux/dvb/osd.h
index 379294e..9cf8bf5 100644
--- a/libc/kernel/uapi/linux/dvb/osd.h
+++ b/libc/kernel/uapi/linux/dvb/osd.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _DVBOSD_H_
 #define _DVBOSD_H_
 #include <linux/compiler.h>
diff --git a/libc/kernel/uapi/linux/dvb/version.h b/libc/kernel/uapi/linux/dvb/version.h
index 47c8c74..2f37de0 100644
--- a/libc/kernel/uapi/linux/dvb/version.h
+++ b/libc/kernel/uapi/linux/dvb/version.h
@@ -1,23 +1,11 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _DVBVERSION_H_
 #define _DVBVERSION_H_
 #define DVB_API_VERSION 5
-#define DVB_API_VERSION_MINOR 11
+#define DVB_API_VERSION_MINOR 12
 #endif
diff --git a/libc/kernel/uapi/linux/dvb/video.h b/libc/kernel/uapi/linux/dvb/video.h
index 2458766..bf14e0a 100644
--- a/libc/kernel/uapi/linux/dvb/video.h
+++ b/libc/kernel/uapi/linux/dvb/video.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_DVBVIDEO_H_
 #define _UAPI_DVBVIDEO_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/dw100.h b/libc/kernel/uapi/linux/dw100.h
index 13d8487..211942f 100644
--- a/libc/kernel/uapi/linux/dw100.h
+++ b/libc/kernel/uapi/linux/dw100.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_DW100_H__
 #define __UAPI_DW100_H__
 #include <linux/v4l2-controls.h>
diff --git a/libc/kernel/uapi/linux/edd.h b/libc/kernel/uapi/linux/edd.h
index cc6e973..f538849 100644
--- a/libc/kernel/uapi/linux/edd.h
+++ b/libc/kernel/uapi/linux/edd.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_EDD_H
 #define _UAPI_LINUX_EDD_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/efs_fs_sb.h b/libc/kernel/uapi/linux/efs_fs_sb.h
index 9b861c8..160b534 100644
--- a/libc/kernel/uapi/linux/efs_fs_sb.h
+++ b/libc/kernel/uapi/linux/efs_fs_sb.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __EFS_FS_SB_H__
 #define __EFS_FS_SB_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/elf-em.h b/libc/kernel/uapi/linux/elf-em.h
index 92da93d..4847c3f 100644
--- a/libc/kernel/uapi/linux/elf-em.h
+++ b/libc/kernel/uapi/linux/elf-em.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_ELF_EM_H
 #define _LINUX_ELF_EM_H
 #define EM_NONE 0
diff --git a/libc/kernel/uapi/linux/elf-fdpic.h b/libc/kernel/uapi/linux/elf-fdpic.h
index 4e81292..8f8274f 100644
--- a/libc/kernel/uapi/linux/elf-fdpic.h
+++ b/libc/kernel/uapi/linux/elf-fdpic.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_ELF_FDPIC_H
 #define _UAPI_LINUX_ELF_FDPIC_H
 #include <linux/elf.h>
@@ -31,4 +19,15 @@
   struct elf32_fdpic_loadseg segs[];
 };
 #define ELF32_FDPIC_LOADMAP_VERSION 0x0000
+struct elf64_fdpic_loadseg {
+  Elf64_Addr addr;
+  Elf64_Addr p_vaddr;
+  Elf64_Word p_memsz;
+};
+struct elf64_fdpic_loadmap {
+  Elf64_Half version;
+  Elf64_Half nsegs;
+  struct elf64_fdpic_loadseg segs[];
+};
+#define ELF64_FDPIC_LOADMAP_VERSION 0x0000
 #endif
diff --git a/libc/kernel/uapi/linux/elf.h b/libc/kernel/uapi/linux/elf.h
index 28c8426..f1cf522 100644
--- a/libc/kernel/uapi/linux/elf.h
+++ b/libc/kernel/uapi/linux/elf.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_ELF_H
 #define _UAPI_LINUX_ELF_H
 #include <linux/types.h>
@@ -117,7 +105,7 @@
 #define ELF32_ST_TYPE(x) ELF_ST_TYPE(x)
 #define ELF64_ST_BIND(x) ELF_ST_BIND(x)
 #define ELF64_ST_TYPE(x) ELF_ST_TYPE(x)
-typedef struct dynamic {
+typedef struct {
   Elf32_Sword d_tag;
   union {
     Elf32_Sword d_val;
@@ -335,9 +323,12 @@
 #define NT_PPC_TM_CPPR 0x10e
 #define NT_PPC_TM_CDSCR 0x10f
 #define NT_PPC_PKEY 0x110
+#define NT_PPC_DEXCR 0x111
+#define NT_PPC_HASHKEYR 0x112
 #define NT_386_TLS 0x200
 #define NT_386_IOPERM 0x201
 #define NT_X86_XSTATE 0x202
+#define NT_X86_SHSTK 0x204
 #define NT_S390_HIGH_GPRS 0x300
 #define NT_S390_TIMER 0x301
 #define NT_S390_TODCMP 0x302
@@ -366,16 +357,22 @@
 #define NT_ARM_PAC_ENABLED_KEYS 0x40a
 #define NT_ARM_SSVE 0x40b
 #define NT_ARM_ZA 0x40c
+#define NT_ARM_ZT 0x40d
+#define NT_ARM_FPMR 0x40e
 #define NT_ARC_V2 0x600
 #define NT_VMCOREDD 0x700
 #define NT_MIPS_DSP 0x800
 #define NT_MIPS_FP_MODE 0x801
 #define NT_MIPS_MSA 0x802
+#define NT_RISCV_CSR 0x900
+#define NT_RISCV_VECTOR 0x901
 #define NT_LOONGARCH_CPUCFG 0xa00
 #define NT_LOONGARCH_CSR 0xa01
 #define NT_LOONGARCH_LSX 0xa02
 #define NT_LOONGARCH_LASX 0xa03
 #define NT_LOONGARCH_LBT 0xa04
+#define NT_LOONGARCH_HW_BREAK 0xa05
+#define NT_LOONGARCH_HW_WATCH 0xa06
 #define NT_GNU_PROPERTY_TYPE_0 5
 typedef struct elf32_note {
   Elf32_Word n_namesz;
diff --git a/libc/kernel/uapi/linux/errno.h b/libc/kernel/uapi/linux/errno.h
index 01399c5..3083c42 100644
--- a/libc/kernel/uapi/linux/errno.h
+++ b/libc/kernel/uapi/linux/errno.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm/errno.h>
diff --git a/libc/kernel/uapi/linux/errqueue.h b/libc/kernel/uapi/linux/errqueue.h
index e93bad2..790ae1e 100644
--- a/libc/kernel/uapi/linux/errqueue.h
+++ b/libc/kernel/uapi/linux/errqueue.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_ERRQUEUE_H
 #define _UAPI_LINUX_ERRQUEUE_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/erspan.h b/libc/kernel/uapi/linux/erspan.h
index 790a85e..c906281 100644
--- a/libc/kernel/uapi/linux/erspan.h
+++ b/libc/kernel/uapi/linux/erspan.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ERSPAN_H
 #define _UAPI_ERSPAN_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/ethtool.h b/libc/kernel/uapi/linux/ethtool.h
index a58be6f..e213ba1 100644
--- a/libc/kernel/uapi/linux/ethtool.h
+++ b/libc/kernel/uapi/linux/ethtool.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_ETHTOOL_H
 #define _UAPI_LINUX_ETHTOOL_H
 #include <linux/const.h>
@@ -269,6 +257,11 @@
   ETH_SS_STATS_RMON,
   ETH_SS_COUNT
 };
+enum ethtool_mac_stats_src {
+  ETHTOOL_MAC_STATS_SRC_AGGREGATE,
+  ETHTOOL_MAC_STATS_SRC_EMAC,
+  ETHTOOL_MAC_STATS_SRC_PMAC,
+};
 enum ethtool_module_power_mode_policy {
   ETHTOOL_MODULE_POWER_MODE_POLICY_HIGH = 1,
   ETHTOOL_MODULE_POWER_MODE_POLICY_AUTO,
@@ -277,6 +270,75 @@
   ETHTOOL_MODULE_POWER_MODE_LOW = 1,
   ETHTOOL_MODULE_POWER_MODE_HIGH,
 };
+enum ethtool_c33_pse_ext_state {
+  ETHTOOL_C33_PSE_EXT_STATE_ERROR_CONDITION = 1,
+  ETHTOOL_C33_PSE_EXT_STATE_MR_MPS_VALID,
+  ETHTOOL_C33_PSE_EXT_STATE_MR_PSE_ENABLE,
+  ETHTOOL_C33_PSE_EXT_STATE_OPTION_DETECT_TED,
+  ETHTOOL_C33_PSE_EXT_STATE_OPTION_VPORT_LIM,
+  ETHTOOL_C33_PSE_EXT_STATE_OVLD_DETECTED,
+  ETHTOOL_C33_PSE_EXT_STATE_PD_DLL_POWER_TYPE,
+  ETHTOOL_C33_PSE_EXT_STATE_POWER_NOT_AVAILABLE,
+  ETHTOOL_C33_PSE_EXT_STATE_SHORT_DETECTED,
+};
+enum ethtool_c33_pse_ext_substate_mr_mps_valid {
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_MPS_VALID_DETECTED_UNDERLOAD = 1,
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_MPS_VALID_CONNECTION_OPEN,
+};
+enum ethtool_c33_pse_ext_substate_error_condition {
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_NON_EXISTING_PORT = 1,
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNDEFINED_PORT,
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_INTERNAL_HW_FAULT,
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_COMM_ERROR_AFTER_FORCE_ON,
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_UNKNOWN_PORT_STATUS,
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_TURN_OFF,
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_HOST_CRASH_FORCE_SHUTDOWN,
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_CONFIG_CHANGE,
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_ERROR_CONDITION_DETECTED_OVER_TEMP,
+};
+enum ethtool_c33_pse_ext_substate_mr_pse_enable {
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_MR_PSE_ENABLE_DISABLE_PIN_ACTIVE = 1,
+};
+enum ethtool_c33_pse_ext_substate_option_detect_ted {
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_DET_IN_PROCESS = 1,
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_DETECT_TED_CONNECTION_CHECK_ERROR,
+};
+enum ethtool_c33_pse_ext_substate_option_vport_lim {
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_HIGH_VOLTAGE = 1,
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_LOW_VOLTAGE,
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_OPTION_VPORT_LIM_VOLTAGE_INJECTION,
+};
+enum ethtool_c33_pse_ext_substate_ovld_detected {
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_OVLD_DETECTED_OVERLOAD = 1,
+};
+enum ethtool_c33_pse_ext_substate_power_not_available {
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_BUDGET_EXCEEDED = 1,
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PORT_PW_LIMIT_EXCEEDS_CONTROLLER_BUDGET,
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_PD_REQUEST_EXCEEDS_PORT_LIMIT,
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_POWER_NOT_AVAILABLE_HW_PW_LIMIT,
+};
+enum ethtool_c33_pse_ext_substate_short_detected {
+  ETHTOOL_C33_PSE_EXT_SUBSTATE_SHORT_DETECTED_SHORT_CONDITION = 1,
+};
+enum ethtool_pse_types {
+  ETHTOOL_PSE_UNKNOWN = 1 << 0,
+  ETHTOOL_PSE_PODL = 1 << 1,
+  ETHTOOL_PSE_C33 = 1 << 2,
+};
+enum ethtool_c33_pse_admin_state {
+  ETHTOOL_C33_PSE_ADMIN_STATE_UNKNOWN = 1,
+  ETHTOOL_C33_PSE_ADMIN_STATE_DISABLED,
+  ETHTOOL_C33_PSE_ADMIN_STATE_ENABLED,
+};
+enum ethtool_c33_pse_pw_d_status {
+  ETHTOOL_C33_PSE_PW_D_STATUS_UNKNOWN = 1,
+  ETHTOOL_C33_PSE_PW_D_STATUS_DISABLED,
+  ETHTOOL_C33_PSE_PW_D_STATUS_SEARCHING,
+  ETHTOOL_C33_PSE_PW_D_STATUS_DELIVERING,
+  ETHTOOL_C33_PSE_PW_D_STATUS_TEST,
+  ETHTOOL_C33_PSE_PW_D_STATUS_FAULT,
+  ETHTOOL_C33_PSE_PW_D_STATUS_OTHERFAULT,
+};
 enum ethtool_podl_pse_admin_state {
   ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN = 1,
   ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED,
@@ -291,6 +353,20 @@
   ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE,
   ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR,
 };
+enum ethtool_mm_verify_status {
+  ETHTOOL_MM_VERIFY_STATUS_UNKNOWN,
+  ETHTOOL_MM_VERIFY_STATUS_INITIAL,
+  ETHTOOL_MM_VERIFY_STATUS_VERIFYING,
+  ETHTOOL_MM_VERIFY_STATUS_SUCCEEDED,
+  ETHTOOL_MM_VERIFY_STATUS_FAILED,
+  ETHTOOL_MM_VERIFY_STATUS_DISABLED,
+};
+enum ethtool_module_fw_flash_status {
+  ETHTOOL_MODULE_FW_FLASH_STATUS_STARTED = 1,
+  ETHTOOL_MODULE_FW_FLASH_STATUS_IN_PROGRESS,
+  ETHTOOL_MODULE_FW_FLASH_STATUS_COMPLETED,
+  ETHTOOL_MODULE_FW_FLASH_STATUS_ERROR,
+};
 struct ethtool_gstrings {
   __u32 cmd;
   __u32 string_set;
@@ -419,7 +495,7 @@
     __u32 rule_cnt;
     __u32 rss_context;
   };
-  __u32 rule_locs[0];
+  __u32 rule_locs[];
 };
 struct ethtool_rxfh_indir {
   __u32 cmd;
@@ -432,7 +508,8 @@
   __u32 indir_size;
   __u32 key_size;
   __u8 hfunc;
-  __u8 rsvd8[3];
+  __u8 input_xfrm;
+  __u8 rsvd8[2];
   __u32 rsvd32;
   __u32 rss_config[];
 };
@@ -725,6 +802,10 @@
   ETHTOOL_LINK_MODE_800000baseDR8_2_Full_BIT = 96,
   ETHTOOL_LINK_MODE_800000baseSR8_Full_BIT = 97,
   ETHTOOL_LINK_MODE_800000baseVR8_Full_BIT = 98,
+  ETHTOOL_LINK_MODE_10baseT1S_Full_BIT = 99,
+  ETHTOOL_LINK_MODE_10baseT1S_Half_BIT = 100,
+  ETHTOOL_LINK_MODE_10baseT1S_P2MP_Half_BIT = 101,
+  ETHTOOL_LINK_MODE_10baseT1BRR_Full_BIT = 102,
   __ETHTOOL_LINK_MODE_MASK_NBITS
 };
 #define __ETHTOOL_LINK_MODE_LEGACY_MASK(base_name) (1UL << (ETHTOOL_LINK_MODE_ ##base_name ##_BIT))
@@ -853,6 +934,8 @@
 #define WAKE_MAGICSECURE (1 << 6)
 #define WAKE_FILTER (1 << 7)
 #define WOL_MODE_COUNT 8
+#define RXH_XFRM_SYM_XOR (1 << 0)
+#define RXH_XFRM_NO_CHANGE 0xff
 #define TCP_V4_FLOW 0x01
 #define UDP_V4_FLOW 0x02
 #define SCTP_V4_FLOW 0x03
@@ -871,6 +954,18 @@
 #define IPV4_FLOW 0x10
 #define IPV6_FLOW 0x11
 #define ETHER_FLOW 0x12
+#define GTPU_V4_FLOW 0x13
+#define GTPU_V6_FLOW 0x14
+#define GTPC_V4_FLOW 0x15
+#define GTPC_V6_FLOW 0x16
+#define GTPC_TEID_V4_FLOW 0x17
+#define GTPC_TEID_V6_FLOW 0x18
+#define GTPU_EH_V4_FLOW 0x19
+#define GTPU_EH_V6_FLOW 0x1a
+#define GTPU_UL_V4_FLOW 0x1b
+#define GTPU_UL_V6_FLOW 0x1c
+#define GTPU_DL_V4_FLOW 0x1d
+#define GTPU_DL_V6_FLOW 0x1e
 #define FLOW_EXT 0x80000000
 #define FLOW_MAC_EXT 0x40000000
 #define FLOW_RSS 0x20000000
@@ -881,6 +976,7 @@
 #define RXH_IP_DST (1 << 5)
 #define RXH_L4_B_0_1 (1 << 6)
 #define RXH_L4_B_2_3 (1 << 7)
+#define RXH_GTP_TEID (1 << 8)
 #define RXH_DISCARD (1 << 31)
 #define RX_CLS_FLOW_DISC 0xffffffffffffffffULL
 #define RX_CLS_FLOW_WAKE 0xfffffffffffffffeULL
diff --git a/libc/kernel/uapi/linux/ethtool_netlink.h b/libc/kernel/uapi/linux/ethtool_netlink.h
index cc9c53c..ac6391a 100644
--- a/libc/kernel/uapi/linux/ethtool_netlink.h
+++ b/libc/kernel/uapi/linux/ethtool_netlink.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_ETHTOOL_NETLINK_H_
 #define _UAPI_LINUX_ETHTOOL_NETLINK_H_
 #include <linux/ethtool.h>
@@ -59,6 +47,12 @@
   ETHTOOL_MSG_PSE_GET,
   ETHTOOL_MSG_PSE_SET,
   ETHTOOL_MSG_RSS_GET,
+  ETHTOOL_MSG_PLCA_GET_CFG,
+  ETHTOOL_MSG_PLCA_SET_CFG,
+  ETHTOOL_MSG_PLCA_GET_STATUS,
+  ETHTOOL_MSG_MM_GET,
+  ETHTOOL_MSG_MM_SET,
+  ETHTOOL_MSG_MODULE_FW_FLASH_ACT,
   __ETHTOOL_MSG_USER_CNT,
   ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1
 };
@@ -102,12 +96,20 @@
   ETHTOOL_MSG_MODULE_NTF,
   ETHTOOL_MSG_PSE_GET_REPLY,
   ETHTOOL_MSG_RSS_GET_REPLY,
+  ETHTOOL_MSG_PLCA_GET_CFG_REPLY,
+  ETHTOOL_MSG_PLCA_GET_STATUS_REPLY,
+  ETHTOOL_MSG_PLCA_NTF,
+  ETHTOOL_MSG_MM_GET_REPLY,
+  ETHTOOL_MSG_MM_NTF,
+  ETHTOOL_MSG_MODULE_FW_FLASH_NTF,
   __ETHTOOL_MSG_KERNEL_CNT,
   ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1
 };
-#define ETHTOOL_FLAG_COMPACT_BITSETS (1 << 0)
-#define ETHTOOL_FLAG_OMIT_REPLY (1 << 1)
-#define ETHTOOL_FLAG_STATS (1 << 2)
+enum ethtool_header_flags {
+  ETHTOOL_FLAG_COMPACT_BITSETS = 1 << 0,
+  ETHTOOL_FLAG_OMIT_REPLY = 1 << 1,
+  ETHTOOL_FLAG_STATS = 1 << 2,
+};
 #define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | ETHTOOL_FLAG_OMIT_REPLY | ETHTOOL_FLAG_STATS)
 enum {
   ETHTOOL_A_HEADER_UNSPEC,
@@ -266,6 +268,9 @@
   ETHTOOL_A_RINGS_TCP_DATA_SPLIT,
   ETHTOOL_A_RINGS_CQE_SIZE,
   ETHTOOL_A_RINGS_TX_PUSH,
+  ETHTOOL_A_RINGS_RX_PUSH,
+  ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN,
+  ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX,
   __ETHTOOL_A_RINGS_CNT,
   ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
 };
@@ -310,16 +315,36 @@
   ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL,
   ETHTOOL_A_COALESCE_USE_CQE_MODE_TX,
   ETHTOOL_A_COALESCE_USE_CQE_MODE_RX,
+  ETHTOOL_A_COALESCE_TX_AGGR_MAX_BYTES,
+  ETHTOOL_A_COALESCE_TX_AGGR_MAX_FRAMES,
+  ETHTOOL_A_COALESCE_TX_AGGR_TIME_USECS,
+  ETHTOOL_A_COALESCE_RX_PROFILE,
+  ETHTOOL_A_COALESCE_TX_PROFILE,
   __ETHTOOL_A_COALESCE_CNT,
   ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
 };
 enum {
+  ETHTOOL_A_PROFILE_UNSPEC,
+  ETHTOOL_A_PROFILE_IRQ_MODERATION,
+  __ETHTOOL_A_PROFILE_CNT,
+  ETHTOOL_A_PROFILE_MAX = (__ETHTOOL_A_PROFILE_CNT - 1)
+};
+enum {
+  ETHTOOL_A_IRQ_MODERATION_UNSPEC,
+  ETHTOOL_A_IRQ_MODERATION_USEC,
+  ETHTOOL_A_IRQ_MODERATION_PKTS,
+  ETHTOOL_A_IRQ_MODERATION_COMPS,
+  __ETHTOOL_A_IRQ_MODERATION_CNT,
+  ETHTOOL_A_IRQ_MODERATION_MAX = (__ETHTOOL_A_IRQ_MODERATION_CNT - 1)
+};
+enum {
   ETHTOOL_A_PAUSE_UNSPEC,
   ETHTOOL_A_PAUSE_HEADER,
   ETHTOOL_A_PAUSE_AUTONEG,
   ETHTOOL_A_PAUSE_RX,
   ETHTOOL_A_PAUSE_TX,
   ETHTOOL_A_PAUSE_STATS,
+  ETHTOOL_A_PAUSE_STATS_SRC,
   __ETHTOOL_A_PAUSE_CNT,
   ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
 };
@@ -350,10 +375,19 @@
   ETHTOOL_A_TSINFO_TX_TYPES,
   ETHTOOL_A_TSINFO_RX_FILTERS,
   ETHTOOL_A_TSINFO_PHC_INDEX,
+  ETHTOOL_A_TSINFO_STATS,
   __ETHTOOL_A_TSINFO_CNT,
   ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
 };
 enum {
+  ETHTOOL_A_TS_STAT_UNSPEC,
+  ETHTOOL_A_TS_STAT_TX_PKTS,
+  ETHTOOL_A_TS_STAT_TX_LOST,
+  ETHTOOL_A_TS_STAT_TX_ERR,
+  __ETHTOOL_A_TS_STAT_CNT,
+  ETHTOOL_A_TS_STAT_MAX = (__ETHTOOL_A_TS_STAT_CNT - 1)
+};
+enum {
   ETHTOOL_A_PHC_VCLOCKS_UNSPEC,
   ETHTOOL_A_PHC_VCLOCKS_HEADER,
   ETHTOOL_A_PHC_VCLOCKS_NUM,
@@ -373,6 +407,7 @@
   ETHTOOL_A_CABLE_RESULT_CODE_OPEN,
   ETHTOOL_A_CABLE_RESULT_CODE_SAME_SHORT,
   ETHTOOL_A_CABLE_RESULT_CODE_CROSS_SHORT,
+  ETHTOOL_A_CABLE_RESULT_CODE_IMPEDANCE_MISMATCH,
 };
 enum {
   ETHTOOL_A_CABLE_PAIR_A,
@@ -538,6 +573,7 @@
   ETHTOOL_A_STATS_HEADER,
   ETHTOOL_A_STATS_GROUPS,
   ETHTOOL_A_STATS_GRP,
+  ETHTOOL_A_STATS_SRC,
   __ETHTOOL_A_STATS_CNT,
   ETHTOOL_A_STATS_MAX = (__ETHTOOL_A_STATS_CNT - 1)
 };
@@ -560,7 +596,7 @@
   ETHTOOL_A_STATS_GRP_HIST_BKT_HI,
   ETHTOOL_A_STATS_GRP_HIST_VAL,
   __ETHTOOL_A_STATS_GRP_CNT,
-  ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_CNT - 1)
+  ETHTOOL_A_STATS_GRP_MAX = (__ETHTOOL_A_STATS_GRP_CNT - 1)
 };
 enum {
   ETHTOOL_A_STATS_ETH_PHY_5_SYM_ERR,
@@ -617,11 +653,25 @@
   ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
 };
 enum {
+  ETHTOOL_A_C33_PSE_PW_LIMIT_UNSPEC,
+  ETHTOOL_A_C33_PSE_PW_LIMIT_MIN,
+  ETHTOOL_A_C33_PSE_PW_LIMIT_MAX,
+};
+enum {
   ETHTOOL_A_PSE_UNSPEC,
   ETHTOOL_A_PSE_HEADER,
   ETHTOOL_A_PODL_PSE_ADMIN_STATE,
   ETHTOOL_A_PODL_PSE_ADMIN_CONTROL,
   ETHTOOL_A_PODL_PSE_PW_D_STATUS,
+  ETHTOOL_A_C33_PSE_ADMIN_STATE,
+  ETHTOOL_A_C33_PSE_ADMIN_CONTROL,
+  ETHTOOL_A_C33_PSE_PW_D_STATUS,
+  ETHTOOL_A_C33_PSE_PW_CLASS,
+  ETHTOOL_A_C33_PSE_ACTUAL_PW,
+  ETHTOOL_A_C33_PSE_EXT_STATE,
+  ETHTOOL_A_C33_PSE_EXT_SUBSTATE,
+  ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT,
+  ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES,
   __ETHTOOL_A_PSE_CNT,
   ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
 };
@@ -632,9 +682,64 @@
   ETHTOOL_A_RSS_HFUNC,
   ETHTOOL_A_RSS_INDIR,
   ETHTOOL_A_RSS_HKEY,
+  ETHTOOL_A_RSS_INPUT_XFRM,
   __ETHTOOL_A_RSS_CNT,
   ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1),
 };
+enum {
+  ETHTOOL_A_PLCA_UNSPEC,
+  ETHTOOL_A_PLCA_HEADER,
+  ETHTOOL_A_PLCA_VERSION,
+  ETHTOOL_A_PLCA_ENABLED,
+  ETHTOOL_A_PLCA_STATUS,
+  ETHTOOL_A_PLCA_NODE_CNT,
+  ETHTOOL_A_PLCA_NODE_ID,
+  ETHTOOL_A_PLCA_TO_TMR,
+  ETHTOOL_A_PLCA_BURST_CNT,
+  ETHTOOL_A_PLCA_BURST_TMR,
+  __ETHTOOL_A_PLCA_CNT,
+  ETHTOOL_A_PLCA_MAX = (__ETHTOOL_A_PLCA_CNT - 1)
+};
+enum {
+  ETHTOOL_A_MM_STAT_UNSPEC,
+  ETHTOOL_A_MM_STAT_PAD,
+  ETHTOOL_A_MM_STAT_REASSEMBLY_ERRORS,
+  ETHTOOL_A_MM_STAT_SMD_ERRORS,
+  ETHTOOL_A_MM_STAT_REASSEMBLY_OK,
+  ETHTOOL_A_MM_STAT_RX_FRAG_COUNT,
+  ETHTOOL_A_MM_STAT_TX_FRAG_COUNT,
+  ETHTOOL_A_MM_STAT_HOLD_COUNT,
+  __ETHTOOL_A_MM_STAT_CNT,
+  ETHTOOL_A_MM_STAT_MAX = (__ETHTOOL_A_MM_STAT_CNT - 1)
+};
+enum {
+  ETHTOOL_A_MM_UNSPEC,
+  ETHTOOL_A_MM_HEADER,
+  ETHTOOL_A_MM_PMAC_ENABLED,
+  ETHTOOL_A_MM_TX_ENABLED,
+  ETHTOOL_A_MM_TX_ACTIVE,
+  ETHTOOL_A_MM_TX_MIN_FRAG_SIZE,
+  ETHTOOL_A_MM_RX_MIN_FRAG_SIZE,
+  ETHTOOL_A_MM_VERIFY_ENABLED,
+  ETHTOOL_A_MM_VERIFY_STATUS,
+  ETHTOOL_A_MM_VERIFY_TIME,
+  ETHTOOL_A_MM_MAX_VERIFY_TIME,
+  ETHTOOL_A_MM_STATS,
+  __ETHTOOL_A_MM_CNT,
+  ETHTOOL_A_MM_MAX = (__ETHTOOL_A_MM_CNT - 1)
+};
+enum {
+  ETHTOOL_A_MODULE_FW_FLASH_UNSPEC,
+  ETHTOOL_A_MODULE_FW_FLASH_HEADER,
+  ETHTOOL_A_MODULE_FW_FLASH_FILE_NAME,
+  ETHTOOL_A_MODULE_FW_FLASH_PASSWORD,
+  ETHTOOL_A_MODULE_FW_FLASH_STATUS,
+  ETHTOOL_A_MODULE_FW_FLASH_STATUS_MSG,
+  ETHTOOL_A_MODULE_FW_FLASH_DONE,
+  ETHTOOL_A_MODULE_FW_FLASH_TOTAL,
+  __ETHTOOL_A_MODULE_FW_FLASH_CNT,
+  ETHTOOL_A_MODULE_FW_FLASH_MAX = (__ETHTOOL_A_MODULE_FW_FLASH_CNT - 1)
+};
 #define ETHTOOL_GENL_NAME "ethtool"
 #define ETHTOOL_GENL_VERSION 1
 #define ETHTOOL_MCGRP_MONITOR_NAME "monitor"
diff --git a/libc/kernel/uapi/linux/eventfd.h b/libc/kernel/uapi/linux/eventfd.h
new file mode 100644
index 0000000..366df87
--- /dev/null
+++ b/libc/kernel/uapi/linux/eventfd.h
@@ -0,0 +1,13 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_LINUX_EVENTFD_H
+#define _UAPI_LINUX_EVENTFD_H
+#include <linux/fcntl.h>
+#define EFD_SEMAPHORE (1 << 0)
+#define EFD_CLOEXEC O_CLOEXEC
+#define EFD_NONBLOCK O_NONBLOCK
+#endif
diff --git a/libc/kernel/uapi/linux/eventpoll.h b/libc/kernel/uapi/linux/eventpoll.h
index de4c1f1..7704cb3 100644
--- a/libc/kernel/uapi/linux/eventpoll.h
+++ b/libc/kernel/uapi/linux/eventpoll.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_EVENTPOLL_H
 #define _UAPI_LINUX_EVENTPOLL_H
 #include <bits/epoll_event.h>
@@ -47,4 +35,13 @@
 #else
 #define EPOLL_PACKED
 #endif
+struct epoll_params {
+  __u32 busy_poll_usecs;
+  __u16 busy_poll_budget;
+  __u8 prefer_busy_poll;
+  __u8 __pad;
+};
+#define EPOLL_IOC_TYPE 0x8A
+#define EPIOCSPARAMS _IOW(EPOLL_IOC_TYPE, 0x01, struct epoll_params)
+#define EPIOCGPARAMS _IOR(EPOLL_IOC_TYPE, 0x02, struct epoll_params)
 #endif
diff --git a/libc/kernel/uapi/linux/ext4.h b/libc/kernel/uapi/linux/ext4.h
new file mode 100644
index 0000000..d902806
--- /dev/null
+++ b/libc/kernel/uapi/linux/ext4.h
@@ -0,0 +1,76 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_LINUX_EXT4_H
+#define _UAPI_LINUX_EXT4_H
+#include <linux/fiemap.h>
+#include <linux/fs.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#define EXT4_IOC_GETVERSION _IOR('f', 3, long)
+#define EXT4_IOC_SETVERSION _IOW('f', 4, long)
+#define EXT4_IOC_GETVERSION_OLD FS_IOC_GETVERSION
+#define EXT4_IOC_SETVERSION_OLD FS_IOC_SETVERSION
+#define EXT4_IOC_GETRSVSZ _IOR('f', 5, long)
+#define EXT4_IOC_SETRSVSZ _IOW('f', 6, long)
+#define EXT4_IOC_GROUP_EXTEND _IOW('f', 7, unsigned long)
+#define EXT4_IOC_GROUP_ADD _IOW('f', 8, struct ext4_new_group_input)
+#define EXT4_IOC_MIGRATE _IO('f', 9)
+#define EXT4_IOC_ALLOC_DA_BLKS _IO('f', 12)
+#define EXT4_IOC_MOVE_EXT _IOWR('f', 15, struct move_extent)
+#define EXT4_IOC_RESIZE_FS _IOW('f', 16, __u64)
+#define EXT4_IOC_SWAP_BOOT _IO('f', 17)
+#define EXT4_IOC_PRECACHE_EXTENTS _IO('f', 18)
+#define EXT4_IOC_CLEAR_ES_CACHE _IO('f', 40)
+#define EXT4_IOC_GETSTATE _IOW('f', 41, __u32)
+#define EXT4_IOC_GET_ES_CACHE _IOWR('f', 42, struct fiemap)
+#define EXT4_IOC_CHECKPOINT _IOW('f', 43, __u32)
+#define EXT4_IOC_GETFSUUID _IOR('f', 44, struct fsuuid)
+#define EXT4_IOC_SETFSUUID _IOW('f', 44, struct fsuuid)
+#define EXT4_IOC_SHUTDOWN _IOR('X', 125, __u32)
+#define EXT4_IOC32_GETVERSION _IOR('f', 3, int)
+#define EXT4_IOC32_SETVERSION _IOW('f', 4, int)
+#define EXT4_IOC32_GETRSVSZ _IOR('f', 5, int)
+#define EXT4_IOC32_SETRSVSZ _IOW('f', 6, int)
+#define EXT4_IOC32_GROUP_EXTEND _IOW('f', 7, unsigned int)
+#define EXT4_IOC32_GROUP_ADD _IOW('f', 8, struct compat_ext4_new_group_input)
+#define EXT4_IOC32_GETVERSION_OLD FS_IOC32_GETVERSION
+#define EXT4_IOC32_SETVERSION_OLD FS_IOC32_SETVERSION
+#define EXT4_STATE_FLAG_EXT_PRECACHED 0x00000001
+#define EXT4_STATE_FLAG_NEW 0x00000002
+#define EXT4_STATE_FLAG_NEWENTRY 0x00000004
+#define EXT4_STATE_FLAG_DA_ALLOC_CLOSE 0x00000008
+#define EXT4_IOC_CHECKPOINT_FLAG_DISCARD 0x1
+#define EXT4_IOC_CHECKPOINT_FLAG_ZEROOUT 0x2
+#define EXT4_IOC_CHECKPOINT_FLAG_DRY_RUN 0x4
+#define EXT4_IOC_CHECKPOINT_FLAG_VALID (EXT4_IOC_CHECKPOINT_FLAG_DISCARD | EXT4_IOC_CHECKPOINT_FLAG_ZEROOUT | EXT4_IOC_CHECKPOINT_FLAG_DRY_RUN)
+struct fsuuid {
+  __u32 fsu_len;
+  __u32 fsu_flags;
+  __u8 fsu_uuid[];
+};
+struct move_extent {
+  __u32 reserved;
+  __u32 donor_fd;
+  __u64 orig_start;
+  __u64 donor_start;
+  __u64 len;
+  __u64 moved_len;
+};
+#define EXT4_GOING_FLAGS_DEFAULT 0x0
+#define EXT4_GOING_FLAGS_LOGFLUSH 0x1
+#define EXT4_GOING_FLAGS_NOLOGFLUSH 0x2
+struct ext4_new_group_input {
+  __u32 group;
+  __u64 block_bitmap;
+  __u64 inode_bitmap;
+  __u64 inode_table;
+  __u32 blocks_count;
+  __u16 reserved_blocks;
+  __u16 unused;
+};
+#define EXT4_FIEMAP_EXTENT_HOLE 0x08000000
+#endif
diff --git a/libc/kernel/uapi/linux/f2fs.h b/libc/kernel/uapi/linux/f2fs.h
index 7c9629a..c4c8a65 100644
--- a/libc/kernel/uapi/linux/f2fs.h
+++ b/libc/kernel/uapi/linux/f2fs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_F2FS_H
 #define _UAPI_LINUX_F2FS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/fadvise.h b/libc/kernel/uapi/linux/fadvise.h
index 21d884c..19d6370 100644
--- a/libc/kernel/uapi/linux/fadvise.h
+++ b/libc/kernel/uapi/linux/fadvise.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef FADVISE_H_INCLUDED
 #define FADVISE_H_INCLUDED
 #define POSIX_FADV_NORMAL 0
diff --git a/libc/kernel/uapi/linux/falloc.h b/libc/kernel/uapi/linux/falloc.h
index 7015b03..cca488e 100644
--- a/libc/kernel/uapi/linux/falloc.h
+++ b/libc/kernel/uapi/linux/falloc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_FALLOC_H_
 #define _UAPI_FALLOC_H_
 #define FALLOC_FL_KEEP_SIZE 0x01
diff --git a/libc/kernel/uapi/linux/fanotify.h b/libc/kernel/uapi/linux/fanotify.h
index 9815a64..8a5a4f0 100644
--- a/libc/kernel/uapi/linux/fanotify.h
+++ b/libc/kernel/uapi/linux/fanotify.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_FANOTIFY_H
 #define _UAPI_LINUX_FANOTIFY_H
 #include <linux/types.h>
@@ -113,13 +101,27 @@
   __s32 error;
   __u32 error_count;
 };
+#define FAN_RESPONSE_INFO_NONE 0
+#define FAN_RESPONSE_INFO_AUDIT_RULE 1
 struct fanotify_response {
   __s32 fd;
   __u32 response;
 };
+struct fanotify_response_info_header {
+  __u8 type;
+  __u8 pad;
+  __u16 len;
+};
+struct fanotify_response_info_audit_rule {
+  struct fanotify_response_info_header hdr;
+  __u32 rule_number;
+  __u32 subj_trust;
+  __u32 obj_trust;
+};
 #define FAN_ALLOW 0x01
 #define FAN_DENY 0x02
 #define FAN_AUDIT 0x10
+#define FAN_INFO 0x20
 #define FAN_NOFD - 1
 #define FAN_NOPIDFD FAN_NOFD
 #define FAN_EPIDFD - 2
diff --git a/libc/kernel/uapi/linux/fb.h b/libc/kernel/uapi/linux/fb.h
index a0ef0c4..82f35e7 100644
--- a/libc/kernel/uapi/linux/fb.h
+++ b/libc/kernel/uapi/linux/fb.h
@@ -1,25 +1,14 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_FB_H
 #define _UAPI_LINUX_FB_H
 #include <linux/types.h>
 #include <linux/i2c.h>
+#include <linux/vesa.h>
 #define FB_MAX 32
 #define FBIOGET_VSCREENINFO 0x4600
 #define FBIOPUT_VSCREENINFO 0x4601
@@ -247,10 +236,6 @@
   __u32 console;
   __u32 framebuffer;
 };
-#define VESA_NO_BLANKING 0
-#define VESA_VSYNC_SUSPEND 1
-#define VESA_HSYNC_SUSPEND 2
-#define VESA_POWERDOWN 3
 enum {
   FB_BLANK_UNBLANK = VESA_NO_BLANKING,
   FB_BLANK_NORMAL = VESA_NO_BLANKING + 1,
diff --git a/libc/kernel/uapi/linux/fcntl.h b/libc/kernel/uapi/linux/fcntl.h
index a46726b..9f32f9f 100644
--- a/libc/kernel/uapi/linux/fcntl.h
+++ b/libc/kernel/uapi/linux/fcntl.h
@@ -1,30 +1,19 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_FCNTL_H
 #define _UAPI_LINUX_FCNTL_H
 #include <asm/fcntl.h>
 #include <linux/openat2.h>
 #define F_SETLEASE (F_LINUX_SPECIFIC_BASE + 0)
 #define F_GETLEASE (F_LINUX_SPECIFIC_BASE + 1)
+#define F_NOTIFY (F_LINUX_SPECIFIC_BASE + 2)
+#define F_DUPFD_QUERY (F_LINUX_SPECIFIC_BASE + 3)
 #define F_CANCELLK (F_LINUX_SPECIFIC_BASE + 5)
 #define F_DUPFD_CLOEXEC (F_LINUX_SPECIFIC_BASE + 6)
-#define F_NOTIFY (F_LINUX_SPECIFIC_BASE + 2)
 #define F_SETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 7)
 #define F_GETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 8)
 #define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9)
@@ -34,6 +23,7 @@
 #define F_SEAL_GROW 0x0004
 #define F_SEAL_WRITE 0x0008
 #define F_SEAL_FUTURE_WRITE 0x0010
+#define F_SEAL_EXEC 0x0020
 #define F_GET_RW_HINT (F_LINUX_SPECIFIC_BASE + 11)
 #define F_SET_RW_HINT (F_LINUX_SPECIFIC_BASE + 12)
 #define F_GET_FILE_RW_HINT (F_LINUX_SPECIFIC_BASE + 13)
@@ -64,4 +54,5 @@
 #define AT_STATX_FORCE_SYNC 0x2000
 #define AT_STATX_DONT_SYNC 0x4000
 #define AT_RECURSIVE 0x8000
+#define AT_HANDLE_FID AT_REMOVEDIR
 #endif
diff --git a/libc/kernel/uapi/linux/fd.h b/libc/kernel/uapi/linux/fd.h
index dc1d444..352620d 100644
--- a/libc/kernel/uapi/linux/fd.h
+++ b/libc/kernel/uapi/linux/fd.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_FD_H
 #define _UAPI_LINUX_FD_H
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/linux/fdreg.h b/libc/kernel/uapi/linux/fdreg.h
index 2aeaf9a..276f648 100644
--- a/libc/kernel/uapi/linux/fdreg.h
+++ b/libc/kernel/uapi/linux/fdreg.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_FDREG_H
 #define _LINUX_FDREG_H
 #define FD_SRA 0
diff --git a/libc/kernel/uapi/linux/fib_rules.h b/libc/kernel/uapi/linux/fib_rules.h
index 733c1b1..ee9cabc 100644
--- a/libc/kernel/uapi/linux/fib_rules.h
+++ b/libc/kernel/uapi/linux/fib_rules.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_FIB_RULES_H
 #define __LINUX_FIB_RULES_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/fiemap.h b/libc/kernel/uapi/linux/fiemap.h
index a67a5fe..314a0b1 100644
--- a/libc/kernel/uapi/linux/fiemap.h
+++ b/libc/kernel/uapi/linux/fiemap.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_FIEMAP_H
 #define _UAPI_LINUX_FIEMAP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/filter.h b/libc/kernel/uapi/linux/filter.h
index 57fe2fb..f46b716 100644
--- a/libc/kernel/uapi/linux/filter.h
+++ b/libc/kernel/uapi/linux/filter.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_FILTER_H__
 #define _UAPI__LINUX_FILTER_H__
 #include <linux/compiler.h>
diff --git a/libc/kernel/uapi/linux/firewire-cdev.h b/libc/kernel/uapi/linux/firewire-cdev.h
index a54191c..cb576b2 100644
--- a/libc/kernel/uapi/linux/firewire-cdev.h
+++ b/libc/kernel/uapi/linux/firewire-cdev.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_FIREWIRE_CDEV_H
 #define _LINUX_FIREWIRE_CDEV_H
 #include <linux/ioctl.h>
@@ -31,6 +19,10 @@
 #define FW_CDEV_EVENT_PHY_PACKET_SENT 0x07
 #define FW_CDEV_EVENT_PHY_PACKET_RECEIVED 0x08
 #define FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL 0x09
+#define FW_CDEV_EVENT_REQUEST3 0x0a
+#define FW_CDEV_EVENT_RESPONSE2 0x0b
+#define FW_CDEV_EVENT_PHY_PACKET_SENT2 0x0c
+#define FW_CDEV_EVENT_PHY_PACKET_RECEIVED2 0x0d
 struct fw_cdev_event_common {
   __u64 closure;
   __u32 type;
@@ -52,6 +44,16 @@
   __u32 length;
   __u32 data[];
 };
+struct fw_cdev_event_response2 {
+  __u64 closure;
+  __u32 type;
+  __u32 rcode;
+  __u32 length;
+  __u32 request_tstamp;
+  __u32 response_tstamp;
+  __u32 padding;
+  __u32 data[];
+};
 struct fw_cdev_event_request {
   __u64 closure;
   __u32 type;
@@ -74,6 +76,21 @@
   __u32 length;
   __u32 data[];
 };
+struct fw_cdev_event_request3 {
+  __u64 closure;
+  __u32 type;
+  __u32 tcode;
+  __u64 offset;
+  __u32 source_node_id;
+  __u32 destination_node_id;
+  __u32 card;
+  __u32 generation;
+  __u32 handle;
+  __u32 length;
+  __u32 tstamp;
+  __u32 padding;
+  __u32 data[];
+};
 struct fw_cdev_event_iso_interrupt {
   __u64 closure;
   __u32 type;
@@ -100,6 +117,14 @@
   __u32 length;
   __u32 data[];
 };
+struct fw_cdev_event_phy_packet2 {
+  __u64 closure;
+  __u32 type;
+  __u32 rcode;
+  __u32 length;
+  __u32 tstamp;
+  __u32 data[];
+};
 union fw_cdev_event {
   struct fw_cdev_event_common common;
   struct fw_cdev_event_bus_reset bus_reset;
@@ -110,6 +135,9 @@
   struct fw_cdev_event_iso_interrupt_mc iso_interrupt_mc;
   struct fw_cdev_event_iso_resource iso_resource;
   struct fw_cdev_event_phy_packet phy_packet;
+  struct fw_cdev_event_request3 request3;
+  struct fw_cdev_event_response2 response2;
+  struct fw_cdev_event_phy_packet2 phy_packet2;
 };
 #define FW_CDEV_IOC_GET_INFO _IOWR('#', 0x00, struct fw_cdev_get_info)
 #define FW_CDEV_IOC_SEND_REQUEST _IOW('#', 0x01, struct fw_cdev_send_request)
diff --git a/libc/kernel/uapi/linux/firewire-constants.h b/libc/kernel/uapi/linux/firewire-constants.h
index b599852..e00cdd3 100644
--- a/libc/kernel/uapi/linux/firewire-constants.h
+++ b/libc/kernel/uapi/linux/firewire-constants.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_FIREWIRE_CONSTANTS_H
 #define _LINUX_FIREWIRE_CONSTANTS_H
 #define TCODE_WRITE_QUADLET_REQUEST 0x0
diff --git a/libc/kernel/uapi/linux/fou.h b/libc/kernel/uapi/linux/fou.h
index a16b8c6..c473ed7 100644
--- a/libc/kernel/uapi/linux/fou.h
+++ b/libc/kernel/uapi/linux/fou.h
@@ -1,25 +1,18 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_FOU_H
 #define _UAPI_LINUX_FOU_H
 #define FOU_GENL_NAME "fou"
-#define FOU_GENL_VERSION 0x1
+#define FOU_GENL_VERSION 1
+enum {
+  FOU_ENCAP_UNSPEC,
+  FOU_ENCAP_DIRECT,
+  FOU_ENCAP_GUE,
+};
 enum {
   FOU_ATTR_UNSPEC,
   FOU_ATTR_PORT,
@@ -33,7 +26,7 @@
   FOU_ATTR_PEER_V6,
   FOU_ATTR_PEER_PORT,
   FOU_ATTR_IFINDEX,
-  __FOU_ATTR_MAX,
+  __FOU_ATTR_MAX
 };
 #define FOU_ATTR_MAX (__FOU_ATTR_MAX - 1)
 enum {
@@ -41,12 +34,7 @@
   FOU_CMD_ADD,
   FOU_CMD_DEL,
   FOU_CMD_GET,
-  __FOU_CMD_MAX,
-};
-enum {
-  FOU_ENCAP_UNSPEC,
-  FOU_ENCAP_DIRECT,
-  FOU_ENCAP_GUE,
+  __FOU_CMD_MAX
 };
 #define FOU_CMD_MAX (__FOU_CMD_MAX - 1)
 #endif
diff --git a/libc/kernel/uapi/linux/fpga-dfl.h b/libc/kernel/uapi/linux/fpga-dfl.h
index 54b93d0..b52de35 100644
--- a/libc/kernel/uapi/linux/fpga-dfl.h
+++ b/libc/kernel/uapi/linux/fpga-dfl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_FPGA_DFL_H
 #define _UAPI_LINUX_FPGA_DFL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/fs.h b/libc/kernel/uapi/linux/fs.h
index b8bfaac..adab56f 100644
--- a/libc/kernel/uapi/linux/fs.h
+++ b/libc/kernel/uapi/linux/fs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_FS_H
 #define _UAPI_LINUX_FS_H
 #include <linux/limits.h>
@@ -48,6 +36,14 @@
   __u64 len;
   __u64 minlen;
 };
+struct fsuuid2 {
+  __u8 len;
+  __u8 uuid[16];
+};
+struct fs_sysfs_path {
+  __u8 len;
+  __u8 name[128];
+};
 #define FILE_DEDUPE_RANGE_SAME 0
 #define FILE_DEDUPE_RANGE_DIFFERS 1
 struct file_dedupe_range_info {
@@ -153,6 +149,8 @@
 #define FS_IOC_FSSETXATTR _IOW('X', 32, struct fsxattr)
 #define FS_IOC_GETFSLABEL _IOR(0x94, 49, char[FSLABEL_MAX])
 #define FS_IOC_SETFSLABEL _IOW(0x94, 50, char[FSLABEL_MAX])
+#define FS_IOC_GETFSUUID _IOR(0x15, 0, struct fsuuid2)
+#define FS_IOC_GETFSSYSFSPATH _IOR(0x15, 1, struct fs_sysfs_path)
 #define FS_SECRM_FL 0x00000001
 #define FS_UNRM_FL 0x00000002
 #define FS_COMPR_FL 0x00000004
@@ -195,5 +193,64 @@
 #define RWF_SYNC (( __kernel_rwf_t) 0x00000004)
 #define RWF_NOWAIT (( __kernel_rwf_t) 0x00000008)
 #define RWF_APPEND (( __kernel_rwf_t) 0x00000010)
-#define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT | RWF_APPEND)
+#define RWF_NOAPPEND (( __kernel_rwf_t) 0x00000020)
+#define RWF_ATOMIC (( __kernel_rwf_t) 0x00000040)
+#define RWF_SUPPORTED (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT | RWF_APPEND | RWF_NOAPPEND | RWF_ATOMIC)
+#define PROCFS_IOCTL_MAGIC 'f'
+#define PAGEMAP_SCAN _IOWR(PROCFS_IOCTL_MAGIC, 16, struct pm_scan_arg)
+#define PAGE_IS_WPALLOWED (1 << 0)
+#define PAGE_IS_WRITTEN (1 << 1)
+#define PAGE_IS_FILE (1 << 2)
+#define PAGE_IS_PRESENT (1 << 3)
+#define PAGE_IS_SWAPPED (1 << 4)
+#define PAGE_IS_PFNZERO (1 << 5)
+#define PAGE_IS_HUGE (1 << 6)
+#define PAGE_IS_SOFT_DIRTY (1 << 7)
+struct page_region {
+  __u64 start;
+  __u64 end;
+  __u64 categories;
+};
+#define PM_SCAN_WP_MATCHING (1 << 0)
+#define PM_SCAN_CHECK_WPASYNC (1 << 1)
+struct pm_scan_arg {
+  __u64 size;
+  __u64 flags;
+  __u64 start;
+  __u64 end;
+  __u64 walk_end;
+  __u64 vec;
+  __u64 vec_len;
+  __u64 max_pages;
+  __u64 category_inverted;
+  __u64 category_mask;
+  __u64 category_anyof_mask;
+  __u64 return_mask;
+};
+#define PROCMAP_QUERY _IOWR(PROCFS_IOCTL_MAGIC, 17, struct procmap_query)
+enum procmap_query_flags {
+  PROCMAP_QUERY_VMA_READABLE = 0x01,
+  PROCMAP_QUERY_VMA_WRITABLE = 0x02,
+  PROCMAP_QUERY_VMA_EXECUTABLE = 0x04,
+  PROCMAP_QUERY_VMA_SHARED = 0x08,
+  PROCMAP_QUERY_COVERING_OR_NEXT_VMA = 0x10,
+  PROCMAP_QUERY_FILE_BACKED_VMA = 0x20,
+};
+struct procmap_query {
+  __u64 size;
+  __u64 query_flags;
+  __u64 query_addr;
+  __u64 vma_start;
+  __u64 vma_end;
+  __u64 vma_flags;
+  __u64 vma_page_size;
+  __u64 vma_offset;
+  __u64 inode;
+  __u32 dev_major;
+  __u32 dev_minor;
+  __u32 vma_name_size;
+  __u32 build_id_size;
+  __u64 vma_name_addr;
+  __u64 build_id_addr;
+};
 #endif
diff --git a/libc/kernel/uapi/linux/fscrypt.h b/libc/kernel/uapi/linux/fscrypt.h
index 9efafae..9a53f4c 100644
--- a/libc/kernel/uapi/linux/fscrypt.h
+++ b/libc/kernel/uapi/linux/fscrypt.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_FSCRYPT_H
 #define _UAPI_LINUX_FSCRYPT_H
 #include <linux/ioctl.h>
@@ -60,7 +48,8 @@
   __u8 contents_encryption_mode;
   __u8 filenames_encryption_mode;
   __u8 flags;
-  __u8 __reserved[4];
+  __u8 log2_data_unit_size;
+  __u8 __reserved[3];
   __u8 master_key_identifier[FSCRYPT_KEY_IDENTIFIER_SIZE];
 };
 struct fscrypt_get_policy_ex_arg {
diff --git a/libc/kernel/uapi/linux/fsi.h b/libc/kernel/uapi/linux/fsi.h
index b080c21..2c28cf2 100644
--- a/libc/kernel/uapi/linux/fsi.h
+++ b/libc/kernel/uapi/linux/fsi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_FSI_H
 #define _UAPI_LINUX_FSI_H
 #include <linux/types.h>
@@ -48,5 +36,6 @@
 #define FSI_SCOM_READ _IOWR('s', 0x01, struct scom_access)
 #define FSI_SCOM_WRITE _IOWR('s', 0x02, struct scom_access)
 #define FSI_SCOM_RESET _IOW('s', 0x03, __u32)
+#define FSI_SBEFIFO_CMD_TIMEOUT_SECONDS _IOW('s', 0x01, __u32)
 #define FSI_SBEFIFO_READ_TIMEOUT_SECONDS _IOW('s', 0x00, __u32)
 #endif
diff --git a/libc/kernel/uapi/linux/fsl_hypervisor.h b/libc/kernel/uapi/linux/fsl_hypervisor.h
index 7d00973..a207fc7 100644
--- a/libc/kernel/uapi/linux/fsl_hypervisor.h
+++ b/libc/kernel/uapi/linux/fsl_hypervisor.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPIFSL_HYPERVISOR_H
 #define _UAPIFSL_HYPERVISOR_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/fsl_mc.h b/libc/kernel/uapi/linux/fsl_mc.h
index 721da93..7baa932 100644
--- a/libc/kernel/uapi/linux/fsl_mc.h
+++ b/libc/kernel/uapi/linux/fsl_mc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_FSL_MC_H_
 #define _UAPI_FSL_MC_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/fsmap.h b/libc/kernel/uapi/linux/fsmap.h
index fcfea79..e5e6a31 100644
--- a/libc/kernel/uapi/linux/fsmap.h
+++ b/libc/kernel/uapi/linux/fsmap.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_FSMAP_H
 #define _LINUX_FSMAP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/fsverity.h b/libc/kernel/uapi/linux/fsverity.h
index ff1603c..395d983 100644
--- a/libc/kernel/uapi/linux/fsverity.h
+++ b/libc/kernel/uapi/linux/fsverity.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_FSVERITY_H
 #define _UAPI_LINUX_FSVERITY_H
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/linux/fuse.h b/libc/kernel/uapi/linux/fuse.h
index f1eec4d..4ac2d2c 100644
--- a/libc/kernel/uapi/linux/fuse.h
+++ b/libc/kernel/uapi/linux/fuse.h
@@ -1,26 +1,14 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_FUSE_H
 #define _LINUX_FUSE_H
 #include <stdint.h>
 #define FUSE_KERNEL_VERSION 7
-#define FUSE_KERNEL_MINOR_VERSION 38
+#define FUSE_KERNEL_MINOR_VERSION 40
 #define FUSE_ROOT_ID 1
 struct fuse_attr {
   uint64_t ino;
@@ -40,6 +28,34 @@
   uint32_t blksize;
   uint32_t flags;
 };
+struct fuse_sx_time {
+  int64_t tv_sec;
+  uint32_t tv_nsec;
+  int32_t __reserved;
+};
+struct fuse_statx {
+  uint32_t mask;
+  uint32_t blksize;
+  uint64_t attributes;
+  uint32_t nlink;
+  uint32_t uid;
+  uint32_t gid;
+  uint16_t mode;
+  uint16_t __spare0[1];
+  uint64_t ino;
+  uint64_t size;
+  uint64_t blocks;
+  uint64_t attributes_mask;
+  struct fuse_sx_time atime;
+  struct fuse_sx_time btime;
+  struct fuse_sx_time ctime;
+  struct fuse_sx_time mtime;
+  uint32_t rdev_major;
+  uint32_t rdev_minor;
+  uint32_t dev_major;
+  uint32_t dev_minor;
+  uint64_t __spare2[14];
+};
 struct fuse_kstatfs {
   uint64_t blocks;
   uint64_t bfree;
@@ -77,6 +93,7 @@
 #define FOPEN_STREAM (1 << 4)
 #define FOPEN_NOFLUSH (1 << 5)
 #define FOPEN_PARALLEL_DIRECT_WRITES (1 << 6)
+#define FOPEN_PASSTHROUGH (1 << 7)
 #define FUSE_ASYNC_READ (1 << 0)
 #define FUSE_POSIX_LOCKS (1 << 1)
 #define FUSE_FILE_OPS (1 << 2)
@@ -111,11 +128,13 @@
 #define FUSE_INIT_RESERVED (1 << 31)
 #define FUSE_SECURITY_CTX (1ULL << 32)
 #define FUSE_HAS_INODE_DAX (1ULL << 33)
-#if FUSE_KERNEL_VERSION > 7 || FUSE_KERNEL_VERSION == 7 && FUSE_KERNEL_MINOR_VERSION >= 36
-#define FUSE_PASSTHROUGH (1ULL << 63)
-#else
-#define FUSE_PASSTHROUGH (1 << 31)
-#endif
+#define FUSE_CREATE_SUPP_GROUP (1ULL << 34)
+#define FUSE_HAS_EXPIRE_ONLY (1ULL << 35)
+#define FUSE_DIRECT_IO_ALLOW_MMAP (1ULL << 36)
+#define FUSE_PASSTHROUGH (1ULL << 37)
+#define FUSE_NO_EXPORT_SUPPORT (1ULL << 38)
+#define FUSE_HAS_RESEND (1ULL << 39)
+#define FUSE_DIRECT_IO_RELAX FUSE_DIRECT_IO_ALLOW_MMAP
 #define CUSE_UNRESTRICTED_IOCTL (1 << 0)
 #define FUSE_RELEASE_FLUSH (1 << 0)
 #define FUSE_RELEASE_FLOCK_UNLOCK (1 << 1)
@@ -140,6 +159,10 @@
 #define FUSE_OPEN_KILL_SUIDGID (1 << 0)
 #define FUSE_SETXATTR_ACL_KILL_SGID (1 << 0)
 #define FUSE_EXPIRE_ONLY (1 << 0)
+enum fuse_ext_type {
+  FUSE_MAX_NR_SECCTX = 31,
+  FUSE_EXT_GROUPS = 32,
+};
 enum fuse_opcode {
   FUSE_LOOKUP = 1,
   FUSE_FORGET = 2,
@@ -190,7 +213,7 @@
   FUSE_REMOVEMAPPING = 49,
   FUSE_SYNCFS = 50,
   FUSE_TMPFILE = 51,
-  FUSE_CANONICAL_PATH = 2016,
+  FUSE_STATX = 52,
   CUSE_INIT = 4096,
   CUSE_INIT_BSWAP_RESERVED = 1048576,
   FUSE_INIT_BSWAP_RESERVED = 436207616,
@@ -202,6 +225,7 @@
   FUSE_NOTIFY_STORE = 4,
   FUSE_NOTIFY_RETRIEVE = 5,
   FUSE_NOTIFY_DELETE = 6,
+  FUSE_NOTIFY_RESEND = 7,
   FUSE_NOTIFY_CODE_MAX,
 };
 #define FUSE_MIN_READ_BUFFER 8192
@@ -238,6 +262,20 @@
   uint32_t dummy;
   struct fuse_attr attr;
 };
+struct fuse_statx_in {
+  uint32_t getattr_flags;
+  uint32_t reserved;
+  uint64_t fh;
+  uint32_t sx_flags;
+  uint32_t sx_mask;
+};
+struct fuse_statx_out {
+  uint64_t attr_valid;
+  uint32_t attr_valid_nsec;
+  uint32_t flags;
+  uint64_t spare[2];
+  struct fuse_statx stat;
+};
 #define FUSE_COMPAT_MKNOD_IN_SIZE 8
 struct fuse_mknod_in {
   uint32_t mode;
@@ -291,7 +329,7 @@
 struct fuse_open_out {
   uint64_t fh;
   uint32_t open_flags;
-  uint32_t passthrough_fh;
+  int32_t backing_id;
 };
 struct fuse_release_in {
   uint64_t fh;
@@ -388,7 +426,8 @@
   uint16_t max_pages;
   uint16_t map_alignment;
   uint32_t flags2;
-  uint32_t unused[7];
+  uint32_t max_stack_depth;
+  uint32_t unused[6];
 };
 #define CUSE_INIT_INFO_MAX 4096
 struct cuse_init_in {
@@ -457,6 +496,7 @@
   uint32_t mode;
   uint32_t padding;
 };
+#define FUSE_UNIQUE_RESEND (1ULL << 63)
 struct fuse_in_header {
   uint32_t len;
   uint32_t opcode;
@@ -465,7 +505,8 @@
   uint32_t uid;
   uint32_t gid;
   uint32_t pid;
-  uint32_t padding;
+  uint16_t total_extlen;
+  uint16_t padding;
 };
 struct fuse_out_header {
   uint32_t len;
@@ -526,9 +567,15 @@
   uint64_t dummy3;
   uint64_t dummy4;
 };
+struct fuse_backing_map {
+  int32_t fd;
+  uint32_t flags;
+  uint64_t padding;
+};
 #define FUSE_DEV_IOC_MAGIC 229
 #define FUSE_DEV_IOC_CLONE _IOR(FUSE_DEV_IOC_MAGIC, 0, uint32_t)
-#define FUSE_DEV_IOC_PASSTHROUGH_OPEN _IOW(FUSE_DEV_IOC_MAGIC, 126, uint32_t)
+#define FUSE_DEV_IOC_BACKING_OPEN _IOW(FUSE_DEV_IOC_MAGIC, 1, struct fuse_backing_map)
+#define FUSE_DEV_IOC_BACKING_CLOSE _IOW(FUSE_DEV_IOC_MAGIC, 2, uint32_t)
 struct fuse_lseek_in {
   uint64_t fh;
   uint64_t offset;
@@ -575,4 +622,12 @@
   uint32_t size;
   uint32_t nr_secctx;
 };
+struct fuse_ext_header {
+  uint32_t size;
+  uint32_t type;
+};
+struct fuse_supp_groups {
+  uint32_t nr_groups;
+  uint32_t groups[];
+};
 #endif
diff --git a/libc/kernel/uapi/linux/futex.h b/libc/kernel/uapi/linux/futex.h
index 8d1a2a4..32c9d28 100644
--- a/libc/kernel/uapi/linux/futex.h
+++ b/libc/kernel/uapi/linux/futex.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_FUTEX_H
 #define _UAPI_LINUX_FUTEX_H
 #include <linux/compiler.h>
@@ -50,7 +38,14 @@
 #define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG)
 #define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | FUTEX_PRIVATE_FLAG)
 #define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | FUTEX_PRIVATE_FLAG)
-#define FUTEX_32 2
+#define FUTEX2_SIZE_U8 0x00
+#define FUTEX2_SIZE_U16 0x01
+#define FUTEX2_SIZE_U32 0x02
+#define FUTEX2_SIZE_U64 0x03
+#define FUTEX2_NUMA 0x04
+#define FUTEX2_PRIVATE FUTEX_PRIVATE_FLAG
+#define FUTEX2_SIZE_MASK 0x03
+#define FUTEX_32 FUTEX2_SIZE_U32
 #define FUTEX_WAITV_MAX 128
 struct futex_waitv {
   __u64 val;
diff --git a/libc/kernel/uapi/linux/gameport.h b/libc/kernel/uapi/linux/gameport.h
index c29864e..837d7f4 100644
--- a/libc/kernel/uapi/linux/gameport.h
+++ b/libc/kernel/uapi/linux/gameport.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_GAMEPORT_H
 #define _UAPI_GAMEPORT_H
 #define GAMEPORT_MODE_DISABLED 0
diff --git a/libc/kernel/uapi/linux/gen_stats.h b/libc/kernel/uapi/linux/gen_stats.h
index 2df6616..c95fbbc 100644
--- a/libc/kernel/uapi/linux/gen_stats.h
+++ b/libc/kernel/uapi/linux/gen_stats.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_GEN_STATS_H
 #define __LINUX_GEN_STATS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/genetlink.h b/libc/kernel/uapi/linux/genetlink.h
index 0f86331..87fc216 100644
--- a/libc/kernel/uapi/linux/genetlink.h
+++ b/libc/kernel/uapi/linux/genetlink.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_GENERIC_NETLINK_H
 #define _UAPI__LINUX_GENERIC_NETLINK_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/genwqe/genwqe_card.h b/libc/kernel/uapi/linux/genwqe/genwqe_card.h
index d14c251..9b65f36 100644
--- a/libc/kernel/uapi/linux/genwqe/genwqe_card.h
+++ b/libc/kernel/uapi/linux/genwqe/genwqe_card.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __GENWQE_CARD_H__
 #define __GENWQE_CARD_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/gfs2_ondisk.h b/libc/kernel/uapi/linux/gfs2_ondisk.h
index 1ce4278..14687ac 100644
--- a/libc/kernel/uapi/linux/gfs2_ondisk.h
+++ b/libc/kernel/uapi/linux/gfs2_ondisk.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __GFS2_ONDISK_DOT_H__
 #define __GFS2_ONDISK_DOT_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/gpio.h b/libc/kernel/uapi/linux/gpio.h
index e760321..98d95b9 100644
--- a/libc/kernel/uapi/linux/gpio.h
+++ b/libc/kernel/uapi/linux/gpio.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_GPIO_H_
 #define _UAPI_GPIO_H_
 #include <linux/const.h>
diff --git a/libc/kernel/uapi/linux/gsmmux.h b/libc/kernel/uapi/linux/gsmmux.h
index 4e6920a..e6fc6b5 100644
--- a/libc/kernel/uapi/linux/gsmmux.h
+++ b/libc/kernel/uapi/linux/gsmmux.h
@@ -1,26 +1,16 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_GSMMUX_H
 #define _LINUX_GSMMUX_H
+#include <linux/const.h>
 #include <linux/if.h>
 #include <linux/ioctl.h>
 #include <linux/types.h>
+#define GSM_FL_RESTART _BITUL(0)
 struct gsm_config {
   unsigned int adaption;
   unsigned int encapsulation;
@@ -47,4 +37,24 @@
 #define GSMIOC_ENABLE_NET _IOW('G', 2, struct gsm_netconfig)
 #define GSMIOC_DISABLE_NET _IO('G', 3)
 #define GSMIOC_GETFIRST _IOR('G', 4, __u32)
+struct gsm_config_ext {
+  __u32 keep_alive;
+  __u32 wait_config;
+  __u32 flags;
+  __u32 reserved[5];
+};
+#define GSMIOC_GETCONF_EXT _IOR('G', 5, struct gsm_config_ext)
+#define GSMIOC_SETCONF_EXT _IOW('G', 6, struct gsm_config_ext)
+struct gsm_dlci_config {
+  __u32 channel;
+  __u32 adaption;
+  __u32 mtu;
+  __u32 priority;
+  __u32 i;
+  __u32 k;
+  __u32 flags;
+  __u32 reserved[7];
+};
+#define GSMIOC_GETCONF_DLCI _IOWR('G', 7, struct gsm_dlci_config)
+#define GSMIOC_SETCONF_DLCI _IOW('G', 8, struct gsm_dlci_config)
 #endif
diff --git a/libc/kernel/uapi/linux/gtp.h b/libc/kernel/uapi/linux/gtp.h
index 20bc3d6..5a8cdde 100644
--- a/libc/kernel/uapi/linux/gtp.h
+++ b/libc/kernel/uapi/linux/gtp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_GTP_H_
 #define _UAPI_LINUX_GTP_H_
 #define GTP_GENL_MCGRP_NAME "gtp"
@@ -43,7 +31,10 @@
   GTPA_I_TEI,
   GTPA_O_TEI,
   GTPA_PAD,
+  GTPA_PEER_ADDR6,
+  GTPA_MS_ADDR6,
+  GTPA_FAMILY,
   __GTPA_MAX,
 };
-#define GTPA_MAX (__GTPA_MAX + 1)
+#define GTPA_MAX (__GTPA_MAX - 1)
 #endif
diff --git a/libc/kernel/uapi/linux/handshake.h b/libc/kernel/uapi/linux/handshake.h
new file mode 100644
index 0000000..a6f35c3
--- /dev/null
+++ b/libc/kernel/uapi/linux/handshake.h
@@ -0,0 +1,61 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_LINUX_HANDSHAKE_H
+#define _UAPI_LINUX_HANDSHAKE_H
+#define HANDSHAKE_FAMILY_NAME "handshake"
+#define HANDSHAKE_FAMILY_VERSION 1
+enum handshake_handler_class {
+  HANDSHAKE_HANDLER_CLASS_NONE,
+  HANDSHAKE_HANDLER_CLASS_TLSHD,
+  HANDSHAKE_HANDLER_CLASS_MAX,
+};
+enum handshake_msg_type {
+  HANDSHAKE_MSG_TYPE_UNSPEC,
+  HANDSHAKE_MSG_TYPE_CLIENTHELLO,
+  HANDSHAKE_MSG_TYPE_SERVERHELLO,
+};
+enum handshake_auth {
+  HANDSHAKE_AUTH_UNSPEC,
+  HANDSHAKE_AUTH_UNAUTH,
+  HANDSHAKE_AUTH_PSK,
+  HANDSHAKE_AUTH_X509,
+};
+enum {
+  HANDSHAKE_A_X509_CERT = 1,
+  HANDSHAKE_A_X509_PRIVKEY,
+  __HANDSHAKE_A_X509_MAX,
+  HANDSHAKE_A_X509_MAX = (__HANDSHAKE_A_X509_MAX - 1)
+};
+enum {
+  HANDSHAKE_A_ACCEPT_SOCKFD = 1,
+  HANDSHAKE_A_ACCEPT_HANDLER_CLASS,
+  HANDSHAKE_A_ACCEPT_MESSAGE_TYPE,
+  HANDSHAKE_A_ACCEPT_TIMEOUT,
+  HANDSHAKE_A_ACCEPT_AUTH_MODE,
+  HANDSHAKE_A_ACCEPT_PEER_IDENTITY,
+  HANDSHAKE_A_ACCEPT_CERTIFICATE,
+  HANDSHAKE_A_ACCEPT_PEERNAME,
+  __HANDSHAKE_A_ACCEPT_MAX,
+  HANDSHAKE_A_ACCEPT_MAX = (__HANDSHAKE_A_ACCEPT_MAX - 1)
+};
+enum {
+  HANDSHAKE_A_DONE_STATUS = 1,
+  HANDSHAKE_A_DONE_SOCKFD,
+  HANDSHAKE_A_DONE_REMOTE_AUTH,
+  __HANDSHAKE_A_DONE_MAX,
+  HANDSHAKE_A_DONE_MAX = (__HANDSHAKE_A_DONE_MAX - 1)
+};
+enum {
+  HANDSHAKE_CMD_READY = 1,
+  HANDSHAKE_CMD_ACCEPT,
+  HANDSHAKE_CMD_DONE,
+  __HANDSHAKE_CMD_MAX,
+  HANDSHAKE_CMD_MAX = (__HANDSHAKE_CMD_MAX - 1)
+};
+#define HANDSHAKE_MCGRP_NONE "none"
+#define HANDSHAKE_MCGRP_TLSHD "tlshd"
+#endif
diff --git a/libc/kernel/uapi/linux/hash_info.h b/libc/kernel/uapi/linux/hash_info.h
index 824b71a..f59010f 100644
--- a/libc/kernel/uapi/linux/hash_info.h
+++ b/libc/kernel/uapi/linux/hash_info.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_HASH_INFO_H
 #define _UAPI_LINUX_HASH_INFO_H
 enum hash_algo {
@@ -39,6 +27,9 @@
   HASH_ALGO_SM3_256,
   HASH_ALGO_STREEBOG_256,
   HASH_ALGO_STREEBOG_512,
+  HASH_ALGO_SHA3_256,
+  HASH_ALGO_SHA3_384,
+  HASH_ALGO_SHA3_512,
   HASH_ALGO__LAST
 };
 #endif
diff --git a/libc/kernel/uapi/linux/hdlc.h b/libc/kernel/uapi/linux/hdlc.h
index 10e3983..8710d17 100644
--- a/libc/kernel/uapi/linux/hdlc.h
+++ b/libc/kernel/uapi/linux/hdlc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__HDLC_H
 #define _UAPI__HDLC_H
 #define HDLC_MAX_MTU 1500
diff --git a/libc/kernel/uapi/linux/hdlc/ioctl.h b/libc/kernel/uapi/linux/hdlc/ioctl.h
index 3c727c5..61888f9 100644
--- a/libc/kernel/uapi/linux/hdlc/ioctl.h
+++ b/libc/kernel/uapi/linux/hdlc/ioctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __HDLC_IOCTL_H__
 #define __HDLC_IOCTL_H__
 #define GENERIC_HDLC_VERSION 4
diff --git a/libc/kernel/uapi/linux/hdlcdrv.h b/libc/kernel/uapi/linux/hdlcdrv.h
index 9f6cdb7..b94f78d 100644
--- a/libc/kernel/uapi/linux/hdlcdrv.h
+++ b/libc/kernel/uapi/linux/hdlcdrv.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_HDLCDRV_H
 #define _UAPI_HDLCDRV_H
 struct hdlcdrv_params {
diff --git a/libc/kernel/uapi/linux/hdreg.h b/libc/kernel/uapi/linux/hdreg.h
index 29a2c24..21de0df 100644
--- a/libc/kernel/uapi/linux/hdreg.h
+++ b/libc/kernel/uapi/linux/hdreg.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_HDREG_H
 #define _LINUX_HDREG_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/hid.h b/libc/kernel/uapi/linux/hid.h
index 37ab462..19a7a15 100644
--- a/libc/kernel/uapi/linux/hid.h
+++ b/libc/kernel/uapi/linux/hid.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__HID_H
 #define _UAPI__HID_H
 #define USB_INTERFACE_CLASS_HID 3
diff --git a/libc/kernel/uapi/linux/hiddev.h b/libc/kernel/uapi/linux/hiddev.h
index a7553ca..95e812b 100644
--- a/libc/kernel/uapi/linux/hiddev.h
+++ b/libc/kernel/uapi/linux/hiddev.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_HIDDEV_H
 #define _UAPI_HIDDEV_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/hidraw.h b/libc/kernel/uapi/linux/hidraw.h
index 65020ac..25a9a17 100644
--- a/libc/kernel/uapi/linux/hidraw.h
+++ b/libc/kernel/uapi/linux/hidraw.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_HIDRAW_H
 #define _UAPI_HIDRAW_H
 #include <linux/hid.h>
diff --git a/libc/kernel/uapi/linux/hpet.h b/libc/kernel/uapi/linux/hpet.h
index ab944b4..6ae1dd7 100644
--- a/libc/kernel/uapi/linux/hpet.h
+++ b/libc/kernel/uapi/linux/hpet.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__HPET__
 #define _UAPI__HPET__
 #include <linux/compiler.h>
diff --git a/libc/kernel/uapi/linux/hsi/cs-protocol.h b/libc/kernel/uapi/linux/hsi/cs-protocol.h
index baac345..f81534c 100644
--- a/libc/kernel/uapi/linux/hsi/cs-protocol.h
+++ b/libc/kernel/uapi/linux/hsi/cs-protocol.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _CS_PROTOCOL_H
 #define _CS_PROTOCOL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/hsi/hsi_char.h b/libc/kernel/uapi/linux/hsi/hsi_char.h
index e127a35..b471c34 100644
--- a/libc/kernel/uapi/linux/hsi/hsi_char.h
+++ b/libc/kernel/uapi/linux/hsi/hsi_char.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __HSI_CHAR_H
 #define __HSI_CHAR_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/hsr_netlink.h b/libc/kernel/uapi/linux/hsr_netlink.h
index e410e57..c786b57 100644
--- a/libc/kernel/uapi/linux/hsr_netlink.h
+++ b/libc/kernel/uapi/linux/hsr_netlink.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_HSR_NETLINK_H
 #define __UAPI_HSR_NETLINK_H
 enum {
diff --git a/libc/kernel/uapi/linux/hw_breakpoint.h b/libc/kernel/uapi/linux/hw_breakpoint.h
index 74acd53..bf54b23 100644
--- a/libc/kernel/uapi/linux/hw_breakpoint.h
+++ b/libc/kernel/uapi/linux/hw_breakpoint.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_HW_BREAKPOINT_H
 #define _UAPI_LINUX_HW_BREAKPOINT_H
 enum {
@@ -36,9 +24,4 @@
   HW_BREAKPOINT_X = 4,
   HW_BREAKPOINT_INVALID = HW_BREAKPOINT_RW | HW_BREAKPOINT_X,
 };
-enum bp_type_idx {
-  TYPE_INST = 0,
-  TYPE_DATA = 1,
-  TYPE_MAX
-};
 #endif
diff --git a/libc/kernel/uapi/linux/hyperv.h b/libc/kernel/uapi/linux/hyperv.h
index 4790bbf..50ab068 100644
--- a/libc/kernel/uapi/linux/hyperv.h
+++ b/libc/kernel/uapi/linux/hyperv.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_HYPERV_H
 #define _UAPI_HYPERV_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/i2c-dev.h b/libc/kernel/uapi/linux/i2c-dev.h
index 7a25e20..9aefbdf 100644
--- a/libc/kernel/uapi/linux/i2c-dev.h
+++ b/libc/kernel/uapi/linux/i2c-dev.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_I2C_DEV_H
 #define _UAPI_LINUX_I2C_DEV_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/i2c.h b/libc/kernel/uapi/linux/i2c.h
index fe578e8..bf7481c 100644
--- a/libc/kernel/uapi/linux/i2c.h
+++ b/libc/kernel/uapi/linux/i2c.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_I2C_H
 #define _UAPI_LINUX_I2C_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/i2o-dev.h b/libc/kernel/uapi/linux/i2o-dev.h
index afaae74..8745c16 100644
--- a/libc/kernel/uapi/linux/i2o-dev.h
+++ b/libc/kernel/uapi/linux/i2o-dev.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _I2O_DEV_H
 #define _I2O_DEV_H
 #define MAX_I2O_CONTROLLERS 32
diff --git a/libc/kernel/uapi/linux/i8k.h b/libc/kernel/uapi/linux/i8k.h
index 47ada4b..423682f 100644
--- a/libc/kernel/uapi/linux/i8k.h
+++ b/libc/kernel/uapi/linux/i8k.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_I8K_H
 #define _LINUX_I8K_H
 #define I8K_PROC "/proc/i8k"
diff --git a/libc/kernel/uapi/linux/icmp.h b/libc/kernel/uapi/linux/icmp.h
index 77cb328..d7e37af 100644
--- a/libc/kernel/uapi/linux/icmp.h
+++ b/libc/kernel/uapi/linux/icmp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_ICMP_H
 #define _UAPI_LINUX_ICMP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/icmpv6.h b/libc/kernel/uapi/linux/icmpv6.h
index 5285698..a2ca922 100644
--- a/libc/kernel/uapi/linux/icmpv6.h
+++ b/libc/kernel/uapi/linux/icmpv6.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_ICMPV6_H
 #define _UAPI_LINUX_ICMPV6_H
 #include <linux/types.h>
@@ -93,6 +81,7 @@
 #define ICMPV6_MOBILE_PREFIX_SOL 146
 #define ICMPV6_MOBILE_PREFIX_ADV 147
 #define ICMPV6_MRDISC_ADV 151
+#define ICMPV6_MRDISC_SOL 152
 #define ICMPV6_MSG_MAX 255
 #define ICMPV6_NOROUTE 0
 #define ICMPV6_ADM_PROHIBITED 1
diff --git a/libc/kernel/uapi/linux/idxd.h b/libc/kernel/uapi/linux/idxd.h
index 01c62f2..d8ca23c 100644
--- a/libc/kernel/uapi/linux/idxd.h
+++ b/libc/kernel/uapi/linux/idxd.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _USR_IDXD_H_
 #define _USR_IDXD_H_
 #include <stdint.h>
@@ -39,6 +27,8 @@
   IDXD_SCMD_WQ_NO_PRIV = 0x800f0000,
   IDXD_SCMD_WQ_IRQ_ERR = 0x80100000,
   IDXD_SCMD_WQ_USER_NO_IOMMU = 0x80110000,
+  IDXD_SCMD_DEV_EVL_ERR = 0x80120000,
+  IDXD_SCMD_WQ_NO_DRV_NAME = 0x80200000,
 };
 #define IDXD_SCMD_SOFTERR_MASK 0x80000000
 #define IDXD_SCMD_SOFTERR_SHIFT 16
@@ -74,12 +64,14 @@
   DSA_OPCODE_CR_DELTA,
   DSA_OPCODE_AP_DELTA,
   DSA_OPCODE_DUALCAST,
+  DSA_OPCODE_TRANSL_FETCH,
   DSA_OPCODE_CRCGEN = 0x10,
   DSA_OPCODE_COPY_CRC,
   DSA_OPCODE_DIF_CHECK,
   DSA_OPCODE_DIF_INS,
   DSA_OPCODE_DIF_STRP,
   DSA_OPCODE_DIF_UPDT,
+  DSA_OPCODE_DIX_GEN = 0x17,
   DSA_OPCODE_CFLUSH = 0x20,
 };
 enum iax_opcode {
@@ -131,6 +123,8 @@
   DSA_COMP_HW_ERR1,
   DSA_COMP_HW_ERR_DRB,
   DSA_COMP_TRANSLATION_FAIL,
+  DSA_COMP_DRAIN_EVL = 0x26,
+  DSA_COMP_BATCH_EVL_ERR,
 };
 enum iax_completion_status {
   IAX_COMP_NONE = 0,
@@ -164,6 +158,7 @@
 };
 #define DSA_COMP_STATUS_MASK 0x7f
 #define DSA_COMP_STATUS_WRITE 0x80
+#define DSA_COMP_STATUS(status) ((status) & DSA_COMP_STATUS_MASK)
 struct dsa_hw_desc {
   uint32_t pasid : 20;
   uint32_t rsvd : 11;
@@ -176,6 +171,8 @@
     uint64_t rdback_addr;
     uint64_t pattern;
     uint64_t desc_list_addr;
+    uint64_t pattern_lower;
+    uint64_t transl_fetch_addr;
   };
   union {
     uint64_t dst_addr;
@@ -186,6 +183,7 @@
   union {
     uint32_t xfer_size;
     uint32_t desc_count;
+    uint32_t region_size;
   };
   uint16_t int_handle;
   uint16_t rsvd1;
@@ -234,6 +232,20 @@
       uint16_t dest_app_tag_mask;
       uint16_t dest_app_tag_seed;
     };
+    uint64_t pattern_upper;
+    struct {
+      uint64_t transl_fetch_res;
+      uint32_t region_stride;
+    };
+    struct {
+      uint8_t dix_gen_res;
+      uint8_t dest_dif_flags;
+      uint8_t dif_flags;
+      uint8_t dix_gen_res2[13];
+      uint32_t ref_tag_seed;
+      uint16_t app_tag_mask;
+      uint16_t app_tag_seed;
+    };
     uint8_t op_specific[24];
   };
 } __attribute__((packed));
@@ -267,8 +279,12 @@
     uint8_t result;
     uint8_t dif_status;
   };
-  uint16_t rsvd;
-  uint32_t bytes_completed;
+  uint8_t fault_info;
+  uint8_t rsvd;
+  union {
+    uint32_t bytes_completed;
+    uint32_t descs_completed;
+  };
   uint64_t fault_addr;
   union {
     struct {
@@ -296,6 +312,12 @@
       uint16_t dif_upd_dest_app_tag_mask;
       uint16_t dif_upd_dest_app_tag;
     };
+    struct {
+      uint64_t dix_gen_res;
+      uint32_t dix_ref_tag;
+      uint16_t dix_app_tag_mask;
+      uint16_t dix_app_tag;
+    };
     uint8_t op_specific[16];
   };
 } __attribute__((packed));
@@ -305,7 +327,8 @@
 struct iax_completion_record {
   volatile uint8_t status;
   uint8_t error_code;
-  uint16_t rsvd;
+  uint8_t fault_info;
+  uint8_t rsvd;
   uint32_t bytes_completed;
   uint64_t fault_addr;
   uint32_t invalid_flags;
diff --git a/libc/kernel/uapi/linux/if.h b/libc/kernel/uapi/linux/if.h
index fc6d20d..8e551eb 100644
--- a/libc/kernel/uapi/linux/if.h
+++ b/libc/kernel/uapi/linux/if.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_IF_H
 #define _LINUX_IF_H
 #include <linux/libc-compat.h>
diff --git a/libc/kernel/uapi/linux/if_addr.h b/libc/kernel/uapi/linux/if_addr.h
index a225e69..aa27d70 100644
--- a/libc/kernel/uapi/linux/if_addr.h
+++ b/libc/kernel/uapi/linux/if_addr.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_IF_ADDR_H
 #define __LINUX_IF_ADDR_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/if_addrlabel.h b/libc/kernel/uapi/linux/if_addrlabel.h
index cf73767..c622b87 100644
--- a/libc/kernel/uapi/linux/if_addrlabel.h
+++ b/libc/kernel/uapi/linux/if_addrlabel.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_IF_ADDRLABEL_H
 #define __LINUX_IF_ADDRLABEL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/if_alg.h b/libc/kernel/uapi/linux/if_alg.h
index 41ba868..00e0123 100644
--- a/libc/kernel/uapi/linux/if_alg.h
+++ b/libc/kernel/uapi/linux/if_alg.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_IF_ALG_H
 #define _LINUX_IF_ALG_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/if_arcnet.h b/libc/kernel/uapi/linux/if_arcnet.h
index 65b07e1..188ce17 100644
--- a/libc/kernel/uapi/linux/if_arcnet.h
+++ b/libc/kernel/uapi/linux/if_arcnet.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_IF_ARCNET_H
 #define _LINUX_IF_ARCNET_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/if_arp.h b/libc/kernel/uapi/linux/if_arp.h
index 1cd23ef..787092c 100644
--- a/libc/kernel/uapi/linux/if_arp.h
+++ b/libc/kernel/uapi/linux/if_arp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_IF_ARP_H
 #define _UAPI_LINUX_IF_ARP_H
 #include <linux/netdevice.h>
diff --git a/libc/kernel/uapi/linux/if_bonding.h b/libc/kernel/uapi/linux/if_bonding.h
index 60abfde..304dcf3 100644
--- a/libc/kernel/uapi/linux/if_bonding.h
+++ b/libc/kernel/uapi/linux/if_bonding.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_IF_BONDING_H
 #define _LINUX_IF_BONDING_H
 #include <linux/if.h>
diff --git a/libc/kernel/uapi/linux/if_bridge.h b/libc/kernel/uapi/linux/if_bridge.h
index 702363e..97c0fb6 100644
--- a/libc/kernel/uapi/linux/if_bridge.h
+++ b/libc/kernel/uapi/linux/if_bridge.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_IF_BRIDGE_H
 #define _UAPI_LINUX_IF_BRIDGE_H
 #include <linux/types.h>
@@ -435,6 +423,9 @@
   BRIDGE_VLANDB_ENTRY_TUNNEL_INFO,
   BRIDGE_VLANDB_ENTRY_STATS,
   BRIDGE_VLANDB_ENTRY_MCAST_ROUTER,
+  BRIDGE_VLANDB_ENTRY_MCAST_N_GROUPS,
+  BRIDGE_VLANDB_ENTRY_MCAST_MAX_GROUPS,
+  BRIDGE_VLANDB_ENTRY_NEIGH_SUPPRESS,
   __BRIDGE_VLANDB_ENTRY_MAX,
 };
 #define BRIDGE_VLANDB_ENTRY_MAX (__BRIDGE_VLANDB_ENTRY_MAX - 1)
@@ -504,6 +495,11 @@
   MDBA_MDB_EATTR_GROUP_MODE,
   MDBA_MDB_EATTR_SOURCE,
   MDBA_MDB_EATTR_RTPROT,
+  MDBA_MDB_EATTR_DST,
+  MDBA_MDB_EATTR_DST_PORT,
+  MDBA_MDB_EATTR_VNI,
+  MDBA_MDB_EATTR_IFINDEX,
+  MDBA_MDB_EATTR_SRC_VNI,
   __MDBA_MDB_EATTR_MAX
 };
 #define MDBA_MDB_EATTR_MAX (__MDBA_MDB_EATTR_MAX - 1)
@@ -574,11 +570,24 @@
 };
 #define MDBA_SET_ENTRY_MAX (__MDBA_SET_ENTRY_MAX - 1)
 enum {
+  MDBA_GET_ENTRY_UNSPEC,
+  MDBA_GET_ENTRY,
+  MDBA_GET_ENTRY_ATTRS,
+  __MDBA_GET_ENTRY_MAX,
+};
+#define MDBA_GET_ENTRY_MAX (__MDBA_GET_ENTRY_MAX - 1)
+enum {
   MDBE_ATTR_UNSPEC,
   MDBE_ATTR_SOURCE,
   MDBE_ATTR_SRC_LIST,
   MDBE_ATTR_GROUP_MODE,
   MDBE_ATTR_RTPROT,
+  MDBE_ATTR_DST,
+  MDBE_ATTR_DST_PORT,
+  MDBE_ATTR_VNI,
+  MDBE_ATTR_IFINDEX,
+  MDBE_ATTR_SRC_VNI,
+  MDBE_ATTR_STATE_MASK,
   __MDBE_ATTR_MAX,
 };
 #define MDBE_ATTR_MAX (__MDBE_ATTR_MAX - 1)
diff --git a/libc/kernel/uapi/linux/if_cablemodem.h b/libc/kernel/uapi/linux/if_cablemodem.h
index 172c287..79b3017 100644
--- a/libc/kernel/uapi/linux/if_cablemodem.h
+++ b/libc/kernel/uapi/linux/if_cablemodem.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_CABLEMODEM_H_
 #define _LINUX_CABLEMODEM_H_
 #define SIOCGCMSTATS (SIOCDEVPRIVATE + 0)
diff --git a/libc/kernel/uapi/linux/if_eql.h b/libc/kernel/uapi/linux/if_eql.h
index 11432ce..4c37377 100644
--- a/libc/kernel/uapi/linux/if_eql.h
+++ b/libc/kernel/uapi/linux/if_eql.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_IF_EQL_H
 #define _UAPI_LINUX_IF_EQL_H
 #define EQL_DEFAULT_SLAVE_PRIORITY 28800
diff --git a/libc/kernel/uapi/linux/if_ether.h b/libc/kernel/uapi/linux/if_ether.h
index 6043921..0a0c632 100644
--- a/libc/kernel/uapi/linux/if_ether.h
+++ b/libc/kernel/uapi/linux/if_ether.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_IF_ETHER_H
 #define _UAPI_LINUX_IF_ETHER_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/if_fc.h b/libc/kernel/uapi/linux/if_fc.h
index b655178..52a1890 100644
--- a/libc/kernel/uapi/linux/if_fc.h
+++ b/libc/kernel/uapi/linux/if_fc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_IF_FC_H
 #define _LINUX_IF_FC_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/if_fddi.h b/libc/kernel/uapi/linux/if_fddi.h
index 4b5074b..6f26604 100644
--- a/libc/kernel/uapi/linux/if_fddi.h
+++ b/libc/kernel/uapi/linux/if_fddi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_IF_FDDI_H
 #define _UAPI_LINUX_IF_FDDI_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/if_hippi.h b/libc/kernel/uapi/linux/if_hippi.h
index 29691d9..a17d118 100644
--- a/libc/kernel/uapi/linux/if_hippi.h
+++ b/libc/kernel/uapi/linux/if_hippi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_IF_HIPPI_H
 #define _LINUX_IF_HIPPI_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/if_infiniband.h b/libc/kernel/uapi/linux/if_infiniband.h
index 7f1a58c..185fbd5 100644
--- a/libc/kernel/uapi/linux/if_infiniband.h
+++ b/libc/kernel/uapi/linux/if_infiniband.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_IF_INFINIBAND_H
 #define _LINUX_IF_INFINIBAND_H
 #define INFINIBAND_ALEN 20
diff --git a/libc/kernel/uapi/linux/if_link.h b/libc/kernel/uapi/linux/if_link.h
index 19c6346..c2483a2 100644
--- a/libc/kernel/uapi/linux/if_link.h
+++ b/libc/kernel/uapi/linux/if_link.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_IF_LINK_H
 #define _UAPI_LINUX_IF_LINK_H
 #include <linux/types.h>
@@ -167,6 +155,9 @@
   IFLA_TSO_MAX_SEGS,
   IFLA_ALLMULTI,
   IFLA_DEVLINK_PORT,
+  IFLA_GSO_IPV4_MAX_SIZE,
+  IFLA_GRO_IPV4_MAX_SIZE,
+  IFLA_DPLL_PIN,
   __IFLA_MAX
 };
 #define IFLA_MAX (__IFLA_MAX - 1)
@@ -254,6 +245,8 @@
   IFLA_BR_VLAN_STATS_PER_PORT,
   IFLA_BR_MULTI_BOOLOPT,
   IFLA_BR_MCAST_QUERIER_STATE,
+  IFLA_BR_FDB_N_LEARNED,
+  IFLA_BR_FDB_MAX_LEARNED,
   __IFLA_BR_MAX,
 };
 #define IFLA_BR_MAX (__IFLA_BR_MAX - 1)
@@ -307,6 +300,10 @@
   IFLA_BRPORT_MCAST_EHT_HOSTS_CNT,
   IFLA_BRPORT_LOCKED,
   IFLA_BRPORT_MAB,
+  IFLA_BRPORT_MCAST_N_GROUPS,
+  IFLA_BRPORT_MCAST_MAX_GROUPS,
+  IFLA_BRPORT_NEIGH_VLAN_SUPPRESS,
+  IFLA_BRPORT_BACKUP_NHID,
   __IFLA_BRPORT_MAX
 };
 #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
@@ -360,6 +357,7 @@
   IFLA_MACVLAN_MACADDR_COUNT,
   IFLA_MACVLAN_BC_QUEUE_LEN,
   IFLA_MACVLAN_BC_QUEUE_LEN_USED,
+  IFLA_MACVLAN_BC_CUTOFF,
   __IFLA_MACVLAN_MAX,
 };
 #define IFLA_MACVLAN_MAX (__IFLA_MACVLAN_MAX - 1)
@@ -453,6 +451,26 @@
   __u16 reserved2;
   __u32 ifindex;
 };
+enum netkit_action {
+  NETKIT_NEXT = - 1,
+  NETKIT_PASS = 0,
+  NETKIT_DROP = 2,
+  NETKIT_REDIRECT = 7,
+};
+enum netkit_mode {
+  NETKIT_L2,
+  NETKIT_L3,
+};
+enum {
+  IFLA_NETKIT_UNSPEC,
+  IFLA_NETKIT_PEER_INFO,
+  IFLA_NETKIT_PRIMARY,
+  IFLA_NETKIT_POLICY,
+  IFLA_NETKIT_PEER_POLICY,
+  IFLA_NETKIT_MODE,
+  __IFLA_NETKIT_MAX,
+};
+#define IFLA_NETKIT_MAX (__IFLA_NETKIT_MAX - 1)
 #define TUNNEL_MSG_FLAG_STATS 0x01
 #define TUNNEL_MSG_VALID_USER_FLAGS TUNNEL_MSG_FLAG_STATS
 enum {
@@ -517,6 +535,8 @@
   IFLA_VXLAN_TTL_INHERIT,
   IFLA_VXLAN_DF,
   IFLA_VXLAN_VNIFILTER,
+  IFLA_VXLAN_LOCALBYPASS,
+  IFLA_VXLAN_LABEL_POLICY,
   __IFLA_VXLAN_MAX
 };
 #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
@@ -531,6 +551,12 @@
   __VXLAN_DF_END,
   VXLAN_DF_MAX = __VXLAN_DF_END - 1,
 };
+enum ifla_vxlan_label_policy {
+  VXLAN_LABEL_FIXED = 0,
+  VXLAN_LABEL_INHERIT = 1,
+  __VXLAN_LABEL_END,
+  VXLAN_LABEL_MAX = __VXLAN_LABEL_END - 1,
+};
 enum {
   IFLA_GENEVE_UNSPEC,
   IFLA_GENEVE_ID,
@@ -584,6 +610,8 @@
   IFLA_GTP_ROLE,
   IFLA_GTP_CREATE_SOCKETS,
   IFLA_GTP_RESTART_COUNT,
+  IFLA_GTP_LOCAL,
+  IFLA_GTP_LOCAL6,
   __IFLA_GTP_MAX,
 };
 #define IFLA_GTP_MAX (__IFLA_GTP_MAX - 1)
@@ -620,6 +648,7 @@
   IFLA_BOND_AD_LACP_ACTIVE,
   IFLA_BOND_MISSED_MAX,
   IFLA_BOND_NS_IP6_TARGET,
+  IFLA_BOND_COUPLED_CONTROL,
   __IFLA_BOND_MAX,
 };
 #define IFLA_BOND_MAX (__IFLA_BOND_MAX - 1)
@@ -818,6 +847,7 @@
   IFLA_HSR_SEQ_NR,
   IFLA_HSR_VERSION,
   IFLA_HSR_PROTOCOL,
+  IFLA_HSR_INTERLINK,
   __IFLA_HSR_MAX,
 };
 #define IFLA_HSR_MAX (__IFLA_HSR_MAX - 1)
@@ -943,7 +973,8 @@
 #define IFLA_MCTP_MAX (__IFLA_MCTP_MAX - 1)
 enum {
   IFLA_DSA_UNSPEC,
-  IFLA_DSA_MASTER,
+  IFLA_DSA_CONDUIT,
+  IFLA_DSA_MASTER = IFLA_DSA_CONDUIT,
   __IFLA_DSA_MAX,
 };
 #define IFLA_DSA_MAX (__IFLA_DSA_MAX - 1)
diff --git a/libc/kernel/uapi/linux/if_ltalk.h b/libc/kernel/uapi/linux/if_ltalk.h
index 9dbd6ec..bc6c1a8 100644
--- a/libc/kernel/uapi/linux/if_ltalk.h
+++ b/libc/kernel/uapi/linux/if_ltalk.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_LTALK_H
 #define _UAPI__LINUX_LTALK_H
 #define LTALK_HLEN 1
diff --git a/libc/kernel/uapi/linux/if_macsec.h b/libc/kernel/uapi/linux/if_macsec.h
index 7b51f80..dfcdfbd 100644
--- a/libc/kernel/uapi/linux/if_macsec.h
+++ b/libc/kernel/uapi/linux/if_macsec.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_MACSEC_H
 #define _UAPI_MACSEC_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/if_packet.h b/libc/kernel/uapi/linux/if_packet.h
index 340b2ee..362b5b7 100644
--- a/libc/kernel/uapi/linux/if_packet.h
+++ b/libc/kernel/uapi/linux/if_packet.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_IF_PACKET_H
 #define __LINUX_IF_PACKET_H
 #include <asm/byteorder.h>
@@ -65,6 +53,7 @@
 #define PACKET_ROLLOVER_STATS 21
 #define PACKET_FANOUT_DATA 22
 #define PACKET_IGNORE_OUTGOING 23
+#define PACKET_VNET_HDR_SZ 24
 #define PACKET_FANOUT_HASH 0
 #define PACKET_FANOUT_LB 1
 #define PACKET_FANOUT_CPU 2
@@ -113,6 +102,7 @@
 #define TP_STATUS_BLK_TMO (1 << 5)
 #define TP_STATUS_VLAN_TPID_VALID (1 << 6)
 #define TP_STATUS_CSUM_VALID (1 << 7)
+#define TP_STATUS_GSO_TCP (1 << 8)
 #define TP_STATUS_AVAILABLE 0
 #define TP_STATUS_SEND_REQUEST (1 << 0)
 #define TP_STATUS_SENDING (1 << 1)
diff --git a/libc/kernel/uapi/linux/if_phonet.h b/libc/kernel/uapi/linux/if_phonet.h
index 058d0d9..9f27e64 100644
--- a/libc/kernel/uapi/linux/if_phonet.h
+++ b/libc/kernel/uapi/linux/if_phonet.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPILINUX_IF_PHONET_H
 #define _UAPILINUX_IF_PHONET_H
 #define PHONET_MIN_MTU 6
diff --git a/libc/kernel/uapi/linux/if_plip.h b/libc/kernel/uapi/linux/if_plip.h
index 4cd6beb..cef0d6d 100644
--- a/libc/kernel/uapi/linux/if_plip.h
+++ b/libc/kernel/uapi/linux/if_plip.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_IF_PLIP_H
 #define _LINUX_IF_PLIP_H
 #include <linux/sockios.h>
diff --git a/libc/kernel/uapi/linux/if_ppp.h b/libc/kernel/uapi/linux/if_ppp.h
index 68f3ce5..900c5eb 100644
--- a/libc/kernel/uapi/linux/if_ppp.h
+++ b/libc/kernel/uapi/linux/if_ppp.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <linux/ppp-ioctl.h>
diff --git a/libc/kernel/uapi/linux/if_pppol2tp.h b/libc/kernel/uapi/linux/if_pppol2tp.h
index 1ca3238..f2f6a97 100644
--- a/libc/kernel/uapi/linux/if_pppol2tp.h
+++ b/libc/kernel/uapi/linux/if_pppol2tp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_IF_PPPOL2TP_H
 #define _UAPI__LINUX_IF_PPPOL2TP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/if_pppox.h b/libc/kernel/uapi/linux/if_pppox.h
index 2acafdf..580ffd9 100644
--- a/libc/kernel/uapi/linux/if_pppox.h
+++ b/libc/kernel/uapi/linux/if_pppox.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_IF_PPPOX_H
 #define _UAPI__LINUX_IF_PPPOX_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/if_slip.h b/libc/kernel/uapi/linux/if_slip.h
index 845fec3..c7e4751 100644
--- a/libc/kernel/uapi/linux/if_slip.h
+++ b/libc/kernel/uapi/linux/if_slip.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_SLIP_H
 #define __LINUX_SLIP_H
 #define SL_MODE_SLIP 0
diff --git a/libc/kernel/uapi/linux/if_team.h b/libc/kernel/uapi/linux/if_team.h
index 2f591e0..9985f63 100644
--- a/libc/kernel/uapi/linux/if_team.h
+++ b/libc/kernel/uapi/linux/if_team.h
@@ -1,45 +1,28 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef _UAPI_LINUX_IF_TEAM_H_
-#define _UAPI_LINUX_IF_TEAM_H_
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_LINUX_IF_TEAM_H
+#define _UAPI_LINUX_IF_TEAM_H
+#define TEAM_GENL_NAME "team"
+#define TEAM_GENL_VERSION 1
 #define TEAM_STRING_MAX_LEN 32
-enum {
-  TEAM_CMD_NOOP,
-  TEAM_CMD_OPTIONS_SET,
-  TEAM_CMD_OPTIONS_GET,
-  TEAM_CMD_PORT_LIST_GET,
-  __TEAM_CMD_MAX,
-  TEAM_CMD_MAX = (__TEAM_CMD_MAX - 1),
-};
+#define TEAM_GENL_CHANGE_EVENT_MC_GRP_NAME "change_event"
 enum {
   TEAM_ATTR_UNSPEC,
   TEAM_ATTR_TEAM_IFINDEX,
   TEAM_ATTR_LIST_OPTION,
   TEAM_ATTR_LIST_PORT,
   __TEAM_ATTR_MAX,
-  TEAM_ATTR_MAX = __TEAM_ATTR_MAX - 1,
+  TEAM_ATTR_MAX = (__TEAM_ATTR_MAX - 1)
 };
 enum {
   TEAM_ATTR_ITEM_OPTION_UNSPEC,
   TEAM_ATTR_ITEM_OPTION,
   __TEAM_ATTR_ITEM_OPTION_MAX,
-  TEAM_ATTR_ITEM_OPTION_MAX = __TEAM_ATTR_ITEM_OPTION_MAX - 1,
+  TEAM_ATTR_ITEM_OPTION_MAX = (__TEAM_ATTR_ITEM_OPTION_MAX - 1)
 };
 enum {
   TEAM_ATTR_OPTION_UNSPEC,
@@ -51,13 +34,13 @@
   TEAM_ATTR_OPTION_PORT_IFINDEX,
   TEAM_ATTR_OPTION_ARRAY_INDEX,
   __TEAM_ATTR_OPTION_MAX,
-  TEAM_ATTR_OPTION_MAX = __TEAM_ATTR_OPTION_MAX - 1,
+  TEAM_ATTR_OPTION_MAX = (__TEAM_ATTR_OPTION_MAX - 1)
 };
 enum {
   TEAM_ATTR_ITEM_PORT_UNSPEC,
   TEAM_ATTR_ITEM_PORT,
   __TEAM_ATTR_ITEM_PORT_MAX,
-  TEAM_ATTR_ITEM_PORT_MAX = __TEAM_ATTR_ITEM_PORT_MAX - 1,
+  TEAM_ATTR_ITEM_PORT_MAX = (__TEAM_ATTR_ITEM_PORT_MAX - 1)
 };
 enum {
   TEAM_ATTR_PORT_UNSPEC,
@@ -68,9 +51,14 @@
   TEAM_ATTR_PORT_DUPLEX,
   TEAM_ATTR_PORT_REMOVED,
   __TEAM_ATTR_PORT_MAX,
-  TEAM_ATTR_PORT_MAX = __TEAM_ATTR_PORT_MAX - 1,
+  TEAM_ATTR_PORT_MAX = (__TEAM_ATTR_PORT_MAX - 1)
 };
-#define TEAM_GENL_NAME "team"
-#define TEAM_GENL_VERSION 0x1
-#define TEAM_GENL_CHANGE_EVENT_MC_GRP_NAME "change_event"
+enum {
+  TEAM_CMD_NOOP,
+  TEAM_CMD_OPTIONS_SET,
+  TEAM_CMD_OPTIONS_GET,
+  TEAM_CMD_PORT_LIST_GET,
+  __TEAM_CMD_MAX,
+  TEAM_CMD_MAX = (__TEAM_CMD_MAX - 1)
+};
 #endif
diff --git a/libc/kernel/uapi/linux/if_tun.h b/libc/kernel/uapi/linux/if_tun.h
index 93bac9c..284ab2e 100644
--- a/libc/kernel/uapi/linux/if_tun.h
+++ b/libc/kernel/uapi/linux/if_tun.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__IF_TUN_H
 #define _UAPI__IF_TUN_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/if_tunnel.h b/libc/kernel/uapi/linux/if_tunnel.h
index 9b85568..fa6825a 100644
--- a/libc/kernel/uapi/linux/if_tunnel.h
+++ b/libc/kernel/uapi/linux/if_tunnel.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_IF_TUNNEL_H_
 #define _UAPI_IF_TUNNEL_H_
 #include <linux/types.h>
@@ -171,4 +159,26 @@
 #define TUNNEL_ERSPAN_OPT __cpu_to_be16(0x4000)
 #define TUNNEL_GTP_OPT __cpu_to_be16(0x8000)
 #define TUNNEL_OPTIONS_PRESENT (TUNNEL_GENEVE_OPT | TUNNEL_VXLAN_OPT | TUNNEL_ERSPAN_OPT | TUNNEL_GTP_OPT)
+enum {
+  IP_TUNNEL_CSUM_BIT = 0U,
+  IP_TUNNEL_ROUTING_BIT,
+  IP_TUNNEL_KEY_BIT,
+  IP_TUNNEL_SEQ_BIT,
+  IP_TUNNEL_STRICT_BIT,
+  IP_TUNNEL_REC_BIT,
+  IP_TUNNEL_VERSION_BIT,
+  IP_TUNNEL_NO_KEY_BIT,
+  IP_TUNNEL_DONT_FRAGMENT_BIT,
+  IP_TUNNEL_OAM_BIT,
+  IP_TUNNEL_CRIT_OPT_BIT,
+  IP_TUNNEL_GENEVE_OPT_BIT,
+  IP_TUNNEL_VXLAN_OPT_BIT,
+  IP_TUNNEL_NOCACHE_BIT,
+  IP_TUNNEL_ERSPAN_OPT_BIT,
+  IP_TUNNEL_GTP_OPT_BIT,
+  IP_TUNNEL_VTI_BIT,
+  IP_TUNNEL_SIT_ISATAP_BIT = IP_TUNNEL_VTI_BIT,
+  IP_TUNNEL_PFCP_OPT_BIT,
+  __IP_TUNNEL_FLAG_NUM,
+};
 #endif
diff --git a/libc/kernel/uapi/linux/if_vlan.h b/libc/kernel/uapi/linux/if_vlan.h
index 8ca8900..17c6700 100644
--- a/libc/kernel/uapi/linux/if_vlan.h
+++ b/libc/kernel/uapi/linux/if_vlan.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_IF_VLAN_H_
 #define _UAPI_LINUX_IF_VLAN_H_
 enum vlan_ioctl_cmds {
diff --git a/libc/kernel/uapi/linux/if_x25.h b/libc/kernel/uapi/linux/if_x25.h
index e266f5e..9b2ad0a 100644
--- a/libc/kernel/uapi/linux/if_x25.h
+++ b/libc/kernel/uapi/linux/if_x25.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IF_X25_H
 #define _IF_X25_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/if_xdp.h b/libc/kernel/uapi/linux/if_xdp.h
index d2b6bfd..7201e06 100644
--- a/libc/kernel/uapi/linux/if_xdp.h
+++ b/libc/kernel/uapi/linux/if_xdp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_IF_XDP_H
 #define _LINUX_IF_XDP_H
 #include <linux/types.h>
@@ -23,7 +11,10 @@
 #define XDP_COPY (1 << 1)
 #define XDP_ZEROCOPY (1 << 2)
 #define XDP_USE_NEED_WAKEUP (1 << 3)
+#define XDP_USE_SG (1 << 4)
 #define XDP_UMEM_UNALIGNED_CHUNK_FLAG (1 << 0)
+#define XDP_UMEM_TX_SW_CSUM (1 << 1)
+#define XDP_UMEM_TX_METADATA_LEN (1 << 2)
 struct sockaddr_xdp {
   __u16 sxdp_family;
   __u16 sxdp_flags;
@@ -58,6 +49,7 @@
   __u32 chunk_size;
   __u32 headroom;
   __u32 flags;
+  __u32 tx_metadata_len;
 };
 struct xdp_statistics {
   __u64 rx_dropped;
@@ -77,9 +69,25 @@
 #define XDP_UMEM_PGOFF_COMPLETION_RING 0x180000000ULL
 #define XSK_UNALIGNED_BUF_OFFSET_SHIFT 48
 #define XSK_UNALIGNED_BUF_ADDR_MASK ((1ULL << XSK_UNALIGNED_BUF_OFFSET_SHIFT) - 1)
+#define XDP_TXMD_FLAGS_TIMESTAMP (1 << 0)
+#define XDP_TXMD_FLAGS_CHECKSUM (1 << 1)
+struct xsk_tx_metadata {
+  __u64 flags;
+  union {
+    struct {
+      __u16 csum_start;
+      __u16 csum_offset;
+    } request;
+    struct {
+      __u64 tx_timestamp;
+    } completion;
+  };
+};
 struct xdp_desc {
   __u64 addr;
   __u32 len;
   __u32 options;
 };
+#define XDP_PKT_CONTD (1 << 0)
+#define XDP_TX_METADATA (1 << 1)
 #endif
diff --git a/libc/kernel/uapi/linux/ife.h b/libc/kernel/uapi/linux/ife.h
index 0cfc583..fbf80da 100644
--- a/libc/kernel/uapi/linux/ife.h
+++ b/libc/kernel/uapi/linux/ife.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_IFE_H
 #define __UAPI_IFE_H
 #define IFE_METAHDRLEN 2
diff --git a/libc/kernel/uapi/linux/igmp.h b/libc/kernel/uapi/linux/igmp.h
index 71c2c8d..c429668 100644
--- a/libc/kernel/uapi/linux/igmp.h
+++ b/libc/kernel/uapi/linux/igmp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_IGMP_H
 #define _UAPI_LINUX_IGMP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/iio/buffer.h b/libc/kernel/uapi/linux/iio/buffer.h
index ba2f5e3..7e03a8c 100644
--- a/libc/kernel/uapi/linux/iio/buffer.h
+++ b/libc/kernel/uapi/linux/iio/buffer.h
@@ -1,22 +1,21 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_IIO_BUFFER_H_
 #define _UAPI_IIO_BUFFER_H_
+#include <linux/types.h>
+#define IIO_BUFFER_DMABUF_CYCLIC (1 << 0)
+#define IIO_BUFFER_DMABUF_SUPPORTED_FLAGS 0x00000001
+struct iio_dmabuf {
+  __u32 fd;
+  __u32 flags;
+  __u64 bytes_used;
+};
 #define IIO_BUFFER_GET_FD_IOCTL _IOWR('i', 0x91, int)
+#define IIO_BUFFER_DMABUF_ATTACH_IOCTL _IOW('i', 0x92, int)
+#define IIO_BUFFER_DMABUF_DETACH_IOCTL _IOW('i', 0x93, int)
+#define IIO_BUFFER_DMABUF_ENQUEUE_IOCTL _IOW('i', 0x94, struct iio_dmabuf)
 #endif
diff --git a/libc/kernel/uapi/linux/iio/events.h b/libc/kernel/uapi/linux/iio/events.h
index 5a23eef..3c98a6f 100644
--- a/libc/kernel/uapi/linux/iio/events.h
+++ b/libc/kernel/uapi/linux/iio/events.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_IIO_EVENTS_H_
 #define _UAPI_IIO_EVENTS_H_
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/linux/iio/types.h b/libc/kernel/uapi/linux/iio/types.h
index af7bdda..f40cb95 100644
--- a/libc/kernel/uapi/linux/iio/types.h
+++ b/libc/kernel/uapi/linux/iio/types.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_IIO_TYPES_H_
 #define _UAPI_IIO_TYPES_H_
 enum iio_chan_type {
@@ -54,6 +42,10 @@
   IIO_POSITIONRELATIVE,
   IIO_PHASE,
   IIO_MASSCONCENTRATION,
+  IIO_DELTA_ANGL,
+  IIO_DELTA_VELOCITY,
+  IIO_COLORTEMP,
+  IIO_CHROMATICITY,
 };
 enum iio_modifier {
   IIO_NO_MOD,
@@ -107,6 +99,8 @@
   IIO_MOD_PITCH,
   IIO_MOD_YAW,
   IIO_MOD_ROLL,
+  IIO_MOD_LIGHT_UVA,
+  IIO_MOD_LIGHT_UVB,
 };
 enum iio_event_type {
   IIO_EV_TYPE_THRESH,
diff --git a/libc/kernel/uapi/linux/ila.h b/libc/kernel/uapi/linux/ila.h
index 75de8eb..fefc495 100644
--- a/libc/kernel/uapi/linux/ila.h
+++ b/libc/kernel/uapi/linux/ila.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_ILA_H
 #define _UAPI_LINUX_ILA_H
 #define ILA_GENL_NAME "ila"
diff --git a/libc/kernel/uapi/linux/in.h b/libc/kernel/uapi/linux/in.h
index 53d3074..97bf493 100644
--- a/libc/kernel/uapi/linux/in.h
+++ b/libc/kernel/uapi/linux/in.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_IN_H
 #define _UAPI_LINUX_IN_H
 #include <bits/ip_msfilter.h>
@@ -81,6 +69,8 @@
 #define IPPROTO_ETHERNET IPPROTO_ETHERNET
   IPPROTO_RAW = 255,
 #define IPPROTO_RAW IPPROTO_RAW
+  IPPROTO_SMC = 256,
+#define IPPROTO_SMC IPPROTO_SMC
   IPPROTO_MPTCP = 262,
 #define IPPROTO_MPTCP IPPROTO_MPTCP
   IPPROTO_MAX
@@ -141,6 +131,8 @@
 #define MCAST_MSFILTER 48
 #define IP_MULTICAST_ALL 49
 #define IP_UNICAST_IF 50
+#define IP_LOCAL_PORT_RANGE 51
+#define IP_PROTOCOL 52
 #define MCAST_EXCLUDE 0
 #define MCAST_INCLUDE 1
 #define IP_DEFAULT_MULTICAST_TTL 1
@@ -158,32 +150,32 @@
 #define IP_MSFILTER_SIZE(numsrc) (sizeof(struct ip_msfilter) - sizeof(__u32) + (numsrc) * sizeof(__u32))
 struct group_req {
   __u32 gr_interface;
-  struct __kernel_sockaddr_storage gr_group;
+  struct sockaddr_storage gr_group;
 };
 struct group_source_req {
   __u32 gsr_interface;
-  struct __kernel_sockaddr_storage gsr_group;
-  struct __kernel_sockaddr_storage gsr_source;
+  struct sockaddr_storage gsr_group;
+  struct sockaddr_storage gsr_source;
 };
 struct group_filter {
   union {
     struct {
       __u32 gf_interface_aux;
-      struct __kernel_sockaddr_storage gf_group_aux;
+      struct sockaddr_storage gf_group_aux;
       __u32 gf_fmode_aux;
       __u32 gf_numsrc_aux;
-      struct __kernel_sockaddr_storage gf_slist[1];
+      struct sockaddr_storage gf_slist[1];
     };
     struct {
       __u32 gf_interface;
-      struct __kernel_sockaddr_storage gf_group;
+      struct sockaddr_storage gf_group;
       __u32 gf_fmode;
       __u32 gf_numsrc;
-      struct __kernel_sockaddr_storage gf_slist_flex[];
+      struct sockaddr_storage gf_slist_flex[];
     };
   };
 };
-#define GROUP_FILTER_SIZE(numsrc) (sizeof(struct group_filter) - sizeof(struct __kernel_sockaddr_storage) + (numsrc) * sizeof(struct __kernel_sockaddr_storage))
+#define GROUP_FILTER_SIZE(numsrc) (sizeof(struct group_filter) - sizeof(struct sockaddr_storage) + (numsrc) * sizeof(struct sockaddr_storage))
 #endif
 #if __UAPI_DEF_IN_PKTINFO
 struct in_pktinfo {
diff --git a/libc/kernel/uapi/linux/in6.h b/libc/kernel/uapi/linux/in6.h
index 49efe3c..2cede30 100644
--- a/libc/kernel/uapi/linux/in6.h
+++ b/libc/kernel/uapi/linux/in6.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_IN6_H
 #define _UAPI_LINUX_IN6_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/in_route.h b/libc/kernel/uapi/linux/in_route.h
index f7326e2..0d7fc9a 100644
--- a/libc/kernel/uapi/linux/in_route.h
+++ b/libc/kernel/uapi/linux/in_route.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_IN_ROUTE_H
 #define _LINUX_IN_ROUTE_H
 #define RTCF_DEAD RTNH_F_DEAD
diff --git a/libc/kernel/uapi/linux/incrementalfs.h b/libc/kernel/uapi/linux/incrementalfs.h
index 0804cc2..65b554c 100644
--- a/libc/kernel/uapi/linux/incrementalfs.h
+++ b/libc/kernel/uapi/linux/incrementalfs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_INCREMENTALFS_H
 #define _UAPI_LINUX_INCREMENTALFS_H
 #include <linux/limits.h>
diff --git a/libc/kernel/uapi/linux/inet_diag.h b/libc/kernel/uapi/linux/inet_diag.h
index 27f390b..6d559bb 100644
--- a/libc/kernel/uapi/linux/inet_diag.h
+++ b/libc/kernel/uapi/linux/inet_diag.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_INET_DIAG_H_
 #define _UAPI_INET_DIAG_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/inotify.h b/libc/kernel/uapi/linux/inotify.h
index 3b4b577..764e7d8 100644
--- a/libc/kernel/uapi/linux/inotify.h
+++ b/libc/kernel/uapi/linux/inotify.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_INOTIFY_H
 #define _UAPI_LINUX_INOTIFY_H
 #include <linux/fcntl.h>
diff --git a/libc/kernel/uapi/linux/input-event-codes.h b/libc/kernel/uapi/linux/input-event-codes.h
index 712a9db..4f93d5e 100644
--- a/libc/kernel/uapi/linux/input-event-codes.h
+++ b/libc/kernel/uapi/linux/input-event-codes.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_INPUT_EVENT_CODES_H
 #define _UAPI_INPUT_EVENT_CODES_H
 #define INPUT_PROP_POINTER 0x00
@@ -540,6 +528,7 @@
 #define BTN_DPAD_RIGHT 0x223
 #define KEY_ALS_TOGGLE 0x230
 #define KEY_ROTATE_LOCK_TOGGLE 0x231
+#define KEY_REFRESH_RATE_TOGGLE 0x232
 #define KEY_BUTTONCONFIG 0x240
 #define KEY_TASKMANAGER 0x241
 #define KEY_JOURNAL 0x242
@@ -554,6 +543,8 @@
 #define KEY_CAMERA_ACCESS_ENABLE 0x24b
 #define KEY_CAMERA_ACCESS_DISABLE 0x24c
 #define KEY_CAMERA_ACCESS_TOGGLE 0x24d
+#define KEY_ACCESSIBILITY 0x24e
+#define KEY_DO_NOT_DISTURB 0x24f
 #define KEY_BRIGHTNESS_MIN 0x250
 #define KEY_BRIGHTNESS_MAX 0x251
 #define KEY_KBDINPUTASSIST_PREV 0x260
diff --git a/libc/kernel/uapi/linux/input.h b/libc/kernel/uapi/linux/input.h
index 1df1398..e107211 100644
--- a/libc/kernel/uapi/linux/input.h
+++ b/libc/kernel/uapi/linux/input.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_INPUT_H
 #define _UAPI_INPUT_H
 #include <sys/time.h>
diff --git a/libc/kernel/uapi/linux/io_uring.h b/libc/kernel/uapi/linux/io_uring.h
index 5561448..6b4f2ea 100644
--- a/libc/kernel/uapi/linux/io_uring.h
+++ b/libc/kernel/uapi/linux/io_uring.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef LINUX_IO_URING_H
 #define LINUX_IO_URING_H
 #include <linux/fs.h>
@@ -42,6 +30,10 @@
   union {
     __u64 addr;
     __u64 splice_off_in;
+    struct {
+      __u32 level;
+      __u32 optname;
+    };
   };
   __u32 len;
   union {
@@ -64,6 +56,10 @@
     __u32 xattr_flags;
     __u32 msg_ring_flags;
     __u32 uring_cmd_flags;
+    __u32 waitid_flags;
+    __u32 futex_flags;
+    __u32 install_fd_flags;
+    __u32 nop_flags;
   };
   __u64 user_data;
   union {
@@ -74,6 +70,7 @@
   union {
     __s32 splice_fd_in;
     __u32 file_index;
+    __u32 optlen;
     struct {
       __u16 addr_len;
       __u16 __pad3[1];
@@ -84,11 +81,12 @@
       __u64 addr3;
       __u64 __pad2[1];
     };
+    __u64 optval;
     __u8 cmd[0];
   };
 };
 #define IORING_FILE_INDEX_ALLOC (~0U)
-enum {
+enum io_uring_sqe_flags_bit {
   IOSQE_FIXED_FILE_BIT,
   IOSQE_IO_DRAIN_BIT,
   IOSQE_IO_LINK_BIT,
@@ -118,6 +116,9 @@
 #define IORING_SETUP_CQE32 (1U << 11)
 #define IORING_SETUP_SINGLE_ISSUER (1U << 12)
 #define IORING_SETUP_DEFER_TASKRUN (1U << 13)
+#define IORING_SETUP_NO_MMAP (1U << 14)
+#define IORING_SETUP_REGISTERED_FD_ONLY (1U << 15)
+#define IORING_SETUP_NO_SQARRAY (1U << 16)
 enum io_uring_op {
   IORING_OP_NOP,
   IORING_OP_READV,
@@ -168,9 +169,19 @@
   IORING_OP_URING_CMD,
   IORING_OP_SEND_ZC,
   IORING_OP_SENDMSG_ZC,
+  IORING_OP_READ_MULTISHOT,
+  IORING_OP_WAITID,
+  IORING_OP_FUTEX_WAIT,
+  IORING_OP_FUTEX_WAKE,
+  IORING_OP_FUTEX_WAITV,
+  IORING_OP_FIXED_FD_INSTALL,
+  IORING_OP_FTRUNCATE,
+  IORING_OP_BIND,
+  IORING_OP_LISTEN,
   IORING_OP_LAST,
 };
 #define IORING_URING_CMD_FIXED (1U << 0)
+#define IORING_URING_CMD_MASK IORING_URING_CMD_FIXED
 #define IORING_FSYNC_DATASYNC (1U << 0)
 #define IORING_TIMEOUT_ABS (1U << 0)
 #define IORING_TIMEOUT_UPDATE (1U << 1)
@@ -178,6 +189,7 @@
 #define IORING_TIMEOUT_REALTIME (1U << 3)
 #define IORING_LINK_TIMEOUT_UPDATE (1U << 4)
 #define IORING_TIMEOUT_ETIME_SUCCESS (1U << 5)
+#define IORING_TIMEOUT_MULTISHOT (1U << 6)
 #define IORING_TIMEOUT_CLOCK_MASK (IORING_TIMEOUT_BOOTTIME | IORING_TIMEOUT_REALTIME)
 #define IORING_TIMEOUT_UPDATE_MASK (IORING_TIMEOUT_UPDATE | IORING_LINK_TIMEOUT_UPDATE)
 #define SPLICE_F_FD_IN_FIXED (1U << 31)
@@ -189,17 +201,25 @@
 #define IORING_ASYNC_CANCEL_FD (1U << 1)
 #define IORING_ASYNC_CANCEL_ANY (1U << 2)
 #define IORING_ASYNC_CANCEL_FD_FIXED (1U << 3)
+#define IORING_ASYNC_CANCEL_USERDATA (1U << 4)
+#define IORING_ASYNC_CANCEL_OP (1U << 5)
 #define IORING_RECVSEND_POLL_FIRST (1U << 0)
 #define IORING_RECV_MULTISHOT (1U << 1)
 #define IORING_RECVSEND_FIXED_BUF (1U << 2)
 #define IORING_SEND_ZC_REPORT_USAGE (1U << 3)
+#define IORING_RECVSEND_BUNDLE (1U << 4)
 #define IORING_NOTIF_USAGE_ZC_COPIED (1U << 31)
 #define IORING_ACCEPT_MULTISHOT (1U << 0)
-enum {
+#define IORING_ACCEPT_DONTWAIT (1U << 1)
+#define IORING_ACCEPT_POLL_FIRST (1U << 2)
+enum io_uring_msg_ring_flags {
   IORING_MSG_DATA,
   IORING_MSG_SEND_FD,
 };
 #define IORING_MSG_RING_CQE_SKIP (1U << 0)
+#define IORING_MSG_RING_FLAGS_PASS (1U << 1)
+#define IORING_FIXED_FD_NO_CLOEXEC (1U << 0)
+#define IORING_NOP_INJECT_RESULT (1U << 0)
 struct io_uring_cqe {
   __u64 user_data;
   __s32 res;
@@ -210,12 +230,13 @@
 #define IORING_CQE_F_MORE (1U << 1)
 #define IORING_CQE_F_SOCK_NONEMPTY (1U << 2)
 #define IORING_CQE_F_NOTIF (1U << 3)
-enum {
-  IORING_CQE_BUFFER_SHIFT = 16,
-};
+#define IORING_CQE_BUFFER_SHIFT 16
 #define IORING_OFF_SQ_RING 0ULL
 #define IORING_OFF_CQ_RING 0x8000000ULL
 #define IORING_OFF_SQES 0x10000000ULL
+#define IORING_OFF_PBUF_RING 0x80000000ULL
+#define IORING_OFF_PBUF_SHIFT 16
+#define IORING_OFF_MMAP_MASK 0xf8000000ULL
 struct io_sqring_offsets {
   __u32 head;
   __u32 tail;
@@ -225,7 +246,7 @@
   __u32 dropped;
   __u32 array;
   __u32 resv1;
-  __u64 resv2;
+  __u64 user_addr;
 };
 #define IORING_SQ_NEED_WAKEUP (1U << 0)
 #define IORING_SQ_CQ_OVERFLOW (1U << 1)
@@ -239,7 +260,7 @@
   __u32 cqes;
   __u32 flags;
   __u32 resv1;
-  __u64 resv2;
+  __u64 user_addr;
 };
 #define IORING_CQ_EVENTFD_DISABLED (1U << 0)
 #define IORING_ENTER_GETEVENTS (1U << 0)
@@ -272,7 +293,9 @@
 #define IORING_FEAT_RSRC_TAGS (1U << 10)
 #define IORING_FEAT_CQE_SKIP (1U << 11)
 #define IORING_FEAT_LINKED_FILE (1U << 12)
-enum {
+#define IORING_FEAT_REG_REG_RING (1U << 13)
+#define IORING_FEAT_RECVSEND_BUNDLE (1U << 14)
+enum io_uring_register_op {
   IORING_REGISTER_BUFFERS = 0,
   IORING_UNREGISTER_BUFFERS = 1,
   IORING_REGISTER_FILES = 2,
@@ -299,9 +322,13 @@
   IORING_UNREGISTER_PBUF_RING = 23,
   IORING_REGISTER_SYNC_CANCEL = 24,
   IORING_REGISTER_FILE_ALLOC_RANGE = 25,
-  IORING_REGISTER_LAST
+  IORING_REGISTER_PBUF_STATUS = 26,
+  IORING_REGISTER_NAPI = 27,
+  IORING_UNREGISTER_NAPI = 28,
+  IORING_REGISTER_LAST,
+  IORING_REGISTER_USE_REGISTERED_RING = 1U << 31
 };
-enum {
+enum io_wq_type {
   IO_WQ_BOUND,
   IO_WQ_UNBOUND,
 };
@@ -331,17 +358,6 @@
   __u32 nr;
   __u32 resv2;
 };
-struct io_uring_notification_slot {
-  __u64 tag;
-  __u64 resv[3];
-};
-struct io_uring_notification_register {
-  __u32 nr_slots;
-  __u32 resv;
-  __u64 resv2;
-  __u64 data;
-  __u64 resv3;
-};
 #define IORING_REGISTER_FILES_SKIP (- 2)
 #define IO_URING_OP_SUPPORTED (1U << 0)
 struct io_uring_probe_op {
@@ -381,17 +397,31 @@
       __u16 resv3;
       __u16 tail;
     };
-    struct io_uring_buf bufs[0];
+    __DECLARE_FLEX_ARRAY(struct io_uring_buf, bufs);
   };
 };
+enum io_uring_register_pbuf_ring_flags {
+  IOU_PBUF_RING_MMAP = 1,
+};
 struct io_uring_buf_reg {
   __u64 ring_addr;
   __u32 ring_entries;
   __u16 bgid;
-  __u16 pad;
+  __u16 flags;
   __u64 resv[3];
 };
-enum {
+struct io_uring_buf_status {
+  __u32 buf_group;
+  __u32 head;
+  __u32 resv[8];
+};
+struct io_uring_napi {
+  __u32 busy_poll_to;
+  __u8 prefer_busy_poll;
+  __u8 pad[3];
+  __u64 resv;
+};
+enum io_uring_register_restriction_op {
   IORING_RESTRICTION_REGISTER_OP = 0,
   IORING_RESTRICTION_SQE_OP = 1,
   IORING_RESTRICTION_SQE_FLAGS_ALLOWED = 2,
@@ -409,7 +439,9 @@
   __s32 fd;
   __u32 flags;
   struct __kernel_timespec timeout;
-  __u64 pad[4];
+  __u8 opcode;
+  __u8 pad[7];
+  __u64 pad2[3];
 };
 struct io_uring_file_index_range {
   __u32 off;
@@ -422,6 +454,12 @@
   __u32 payloadlen;
   __u32 flags;
 };
+enum io_uring_socket_op {
+  SOCKET_URING_OP_SIOCINQ = 0,
+  SOCKET_URING_OP_SIOCOUTQ,
+  SOCKET_URING_OP_GETSOCKOPT,
+  SOCKET_URING_OP_SETSOCKOPT,
+};
 #ifdef __cplusplus
 }
 #endif
diff --git a/libc/kernel/uapi/linux/ioam6.h b/libc/kernel/uapi/linux/ioam6.h
index e32c8e9..51a2122 100644
--- a/libc/kernel/uapi/linux/ioam6.h
+++ b/libc/kernel/uapi/linux/ioam6.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_IOAM6_H
 #define _UAPI_LINUX_IOAM6_H
 #include <asm/byteorder.h>
@@ -58,6 +46,6 @@
 #error "Please fix <asm/byteorder.h>"
 #endif
 #define IOAM6_TRACE_DATA_SIZE_MAX 244
-  __u8 data[0];
+  __u8 data[];
 } __attribute__((packed));
 #endif
diff --git a/libc/kernel/uapi/linux/ioam6_genl.h b/libc/kernel/uapi/linux/ioam6_genl.h
index 1d00c47..216cd31 100644
--- a/libc/kernel/uapi/linux/ioam6_genl.h
+++ b/libc/kernel/uapi/linux/ioam6_genl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_IOAM6_GENL_H
 #define _UAPI_LINUX_IOAM6_GENL_H
 #define IOAM6_GENL_NAME "IOAM6"
@@ -45,4 +33,18 @@
   __IOAM6_CMD_MAX,
 };
 #define IOAM6_CMD_MAX (__IOAM6_CMD_MAX - 1)
+#define IOAM6_GENL_EV_GRP_NAME "ioam6_events"
+enum ioam6_event_type {
+  IOAM6_EVENT_UNSPEC,
+  IOAM6_EVENT_TRACE,
+};
+enum ioam6_event_attr {
+  IOAM6_EVENT_ATTR_UNSPEC,
+  IOAM6_EVENT_ATTR_TRACE_NAMESPACE,
+  IOAM6_EVENT_ATTR_TRACE_NODELEN,
+  IOAM6_EVENT_ATTR_TRACE_TYPE,
+  IOAM6_EVENT_ATTR_TRACE_DATA,
+  __IOAM6_EVENT_ATTR_MAX
+};
+#define IOAM6_EVENT_ATTR_MAX (__IOAM6_EVENT_ATTR_MAX - 1)
 #endif
diff --git a/libc/kernel/uapi/linux/ioam6_iptunnel.h b/libc/kernel/uapi/linux/ioam6_iptunnel.h
index ec1a6a8..34317fc 100644
--- a/libc/kernel/uapi/linux/ioam6_iptunnel.h
+++ b/libc/kernel/uapi/linux/ioam6_iptunnel.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_IOAM6_IPTUNNEL_H
 #define _UAPI_LINUX_IOAM6_IPTUNNEL_H
 enum {
diff --git a/libc/kernel/uapi/linux/ioctl.h b/libc/kernel/uapi/linux/ioctl.h
index 98e3c06..08da063 100644
--- a/libc/kernel/uapi/linux/ioctl.h
+++ b/libc/kernel/uapi/linux/ioctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_IOCTL_H
 #define _LINUX_IOCTL_H
 #include <asm/ioctl.h>
diff --git a/libc/kernel/uapi/linux/iommu.h b/libc/kernel/uapi/linux/iommu.h
deleted file mode 100644
index 0304a32..0000000
--- a/libc/kernel/uapi/linux/iommu.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef _UAPI_IOMMU_H
-#define _UAPI_IOMMU_H
-#include <linux/types.h>
-#define IOMMU_FAULT_PERM_READ (1 << 0)
-#define IOMMU_FAULT_PERM_WRITE (1 << 1)
-#define IOMMU_FAULT_PERM_EXEC (1 << 2)
-#define IOMMU_FAULT_PERM_PRIV (1 << 3)
-enum iommu_fault_type {
-  IOMMU_FAULT_DMA_UNRECOV = 1,
-  IOMMU_FAULT_PAGE_REQ,
-};
-enum iommu_fault_reason {
-  IOMMU_FAULT_REASON_UNKNOWN = 0,
-  IOMMU_FAULT_REASON_PASID_FETCH,
-  IOMMU_FAULT_REASON_BAD_PASID_ENTRY,
-  IOMMU_FAULT_REASON_PASID_INVALID,
-  IOMMU_FAULT_REASON_WALK_EABT,
-  IOMMU_FAULT_REASON_PTE_FETCH,
-  IOMMU_FAULT_REASON_PERMISSION,
-  IOMMU_FAULT_REASON_ACCESS,
-  IOMMU_FAULT_REASON_OOR_ADDRESS,
-};
-struct iommu_fault_unrecoverable {
-  __u32 reason;
-#define IOMMU_FAULT_UNRECOV_PASID_VALID (1 << 0)
-#define IOMMU_FAULT_UNRECOV_ADDR_VALID (1 << 1)
-#define IOMMU_FAULT_UNRECOV_FETCH_ADDR_VALID (1 << 2)
-  __u32 flags;
-  __u32 pasid;
-  __u32 perm;
-  __u64 addr;
-  __u64 fetch_addr;
-};
-struct iommu_fault_page_request {
-#define IOMMU_FAULT_PAGE_REQUEST_PASID_VALID (1 << 0)
-#define IOMMU_FAULT_PAGE_REQUEST_LAST_PAGE (1 << 1)
-#define IOMMU_FAULT_PAGE_REQUEST_PRIV_DATA (1 << 2)
-#define IOMMU_FAULT_PAGE_RESPONSE_NEEDS_PASID (1 << 3)
-  __u32 flags;
-  __u32 pasid;
-  __u32 grpid;
-  __u32 perm;
-  __u64 addr;
-  __u64 private_data[2];
-};
-struct iommu_fault {
-  __u32 type;
-  __u32 padding;
-  union {
-    struct iommu_fault_unrecoverable event;
-    struct iommu_fault_page_request prm;
-    __u8 padding2[56];
-  };
-};
-enum iommu_page_response_code {
-  IOMMU_PAGE_RESP_SUCCESS = 0,
-  IOMMU_PAGE_RESP_INVALID,
-  IOMMU_PAGE_RESP_FAILURE,
-};
-struct iommu_page_response {
-  __u32 argsz;
-#define IOMMU_PAGE_RESP_VERSION_1 1
-  __u32 version;
-#define IOMMU_PAGE_RESP_PASID_VALID (1 << 0)
-  __u32 flags;
-  __u32 pasid;
-  __u32 grpid;
-  __u32 code;
-};
-#endif
diff --git a/libc/kernel/uapi/linux/iommufd.h b/libc/kernel/uapi/linux/iommufd.h
index b7f5815..6f663b4 100644
--- a/libc/kernel/uapi/linux/iommufd.h
+++ b/libc/kernel/uapi/linux/iommufd.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_IOMMUFD_H
 #define _UAPI_IOMMUFD_H
 #include <linux/types.h>
@@ -24,14 +12,20 @@
 enum {
   IOMMUFD_CMD_BASE = 0x80,
   IOMMUFD_CMD_DESTROY = IOMMUFD_CMD_BASE,
-  IOMMUFD_CMD_IOAS_ALLOC,
-  IOMMUFD_CMD_IOAS_ALLOW_IOVAS,
-  IOMMUFD_CMD_IOAS_COPY,
-  IOMMUFD_CMD_IOAS_IOVA_RANGES,
-  IOMMUFD_CMD_IOAS_MAP,
-  IOMMUFD_CMD_IOAS_UNMAP,
-  IOMMUFD_CMD_OPTION,
-  IOMMUFD_CMD_VFIO_IOAS,
+  IOMMUFD_CMD_IOAS_ALLOC = 0x81,
+  IOMMUFD_CMD_IOAS_ALLOW_IOVAS = 0x82,
+  IOMMUFD_CMD_IOAS_COPY = 0x83,
+  IOMMUFD_CMD_IOAS_IOVA_RANGES = 0x84,
+  IOMMUFD_CMD_IOAS_MAP = 0x85,
+  IOMMUFD_CMD_IOAS_UNMAP = 0x86,
+  IOMMUFD_CMD_OPTION = 0x87,
+  IOMMUFD_CMD_VFIO_IOAS = 0x88,
+  IOMMUFD_CMD_HWPT_ALLOC = 0x89,
+  IOMMUFD_CMD_GET_HW_INFO = 0x8a,
+  IOMMUFD_CMD_HWPT_SET_DIRTY_TRACKING = 0x8b,
+  IOMMUFD_CMD_HWPT_GET_DIRTY_BITMAP = 0x8c,
+  IOMMUFD_CMD_HWPT_INVALIDATE = 0x8d,
+  IOMMUFD_CMD_FAULT_QUEUE_ALLOC = 0x8e,
 };
 struct iommu_destroy {
   __u32 size;
@@ -126,4 +120,146 @@
   __u16 __reserved;
 };
 #define IOMMU_VFIO_IOAS _IO(IOMMUFD_TYPE, IOMMUFD_CMD_VFIO_IOAS)
+enum iommufd_hwpt_alloc_flags {
+  IOMMU_HWPT_ALLOC_NEST_PARENT = 1 << 0,
+  IOMMU_HWPT_ALLOC_DIRTY_TRACKING = 1 << 1,
+  IOMMU_HWPT_FAULT_ID_VALID = 1 << 2,
+};
+enum iommu_hwpt_vtd_s1_flags {
+  IOMMU_VTD_S1_SRE = 1 << 0,
+  IOMMU_VTD_S1_EAFE = 1 << 1,
+  IOMMU_VTD_S1_WPE = 1 << 2,
+};
+struct iommu_hwpt_vtd_s1 {
+  __aligned_u64 flags;
+  __aligned_u64 pgtbl_addr;
+  __u32 addr_width;
+  __u32 __reserved;
+};
+enum iommu_hwpt_data_type {
+  IOMMU_HWPT_DATA_NONE = 0,
+  IOMMU_HWPT_DATA_VTD_S1 = 1,
+};
+struct iommu_hwpt_alloc {
+  __u32 size;
+  __u32 flags;
+  __u32 dev_id;
+  __u32 pt_id;
+  __u32 out_hwpt_id;
+  __u32 __reserved;
+  __u32 data_type;
+  __u32 data_len;
+  __aligned_u64 data_uptr;
+  __u32 fault_id;
+  __u32 __reserved2;
+};
+#define IOMMU_HWPT_ALLOC _IO(IOMMUFD_TYPE, IOMMUFD_CMD_HWPT_ALLOC)
+enum iommu_hw_info_vtd_flags {
+  IOMMU_HW_INFO_VTD_ERRATA_772415_SPR17 = 1 << 0,
+};
+struct iommu_hw_info_vtd {
+  __u32 flags;
+  __u32 __reserved;
+  __aligned_u64 cap_reg;
+  __aligned_u64 ecap_reg;
+};
+enum iommu_hw_info_type {
+  IOMMU_HW_INFO_TYPE_NONE = 0,
+  IOMMU_HW_INFO_TYPE_INTEL_VTD = 1,
+};
+enum iommufd_hw_capabilities {
+  IOMMU_HW_CAP_DIRTY_TRACKING = 1 << 0,
+};
+struct iommu_hw_info {
+  __u32 size;
+  __u32 flags;
+  __u32 dev_id;
+  __u32 data_len;
+  __aligned_u64 data_uptr;
+  __u32 out_data_type;
+  __u32 __reserved;
+  __aligned_u64 out_capabilities;
+};
+#define IOMMU_GET_HW_INFO _IO(IOMMUFD_TYPE, IOMMUFD_CMD_GET_HW_INFO)
+enum iommufd_hwpt_set_dirty_tracking_flags {
+  IOMMU_HWPT_DIRTY_TRACKING_ENABLE = 1,
+};
+struct iommu_hwpt_set_dirty_tracking {
+  __u32 size;
+  __u32 flags;
+  __u32 hwpt_id;
+  __u32 __reserved;
+};
+#define IOMMU_HWPT_SET_DIRTY_TRACKING _IO(IOMMUFD_TYPE, IOMMUFD_CMD_HWPT_SET_DIRTY_TRACKING)
+enum iommufd_hwpt_get_dirty_bitmap_flags {
+  IOMMU_HWPT_GET_DIRTY_BITMAP_NO_CLEAR = 1,
+};
+struct iommu_hwpt_get_dirty_bitmap {
+  __u32 size;
+  __u32 hwpt_id;
+  __u32 flags;
+  __u32 __reserved;
+  __aligned_u64 iova;
+  __aligned_u64 length;
+  __aligned_u64 page_size;
+  __aligned_u64 data;
+};
+#define IOMMU_HWPT_GET_DIRTY_BITMAP _IO(IOMMUFD_TYPE, IOMMUFD_CMD_HWPT_GET_DIRTY_BITMAP)
+enum iommu_hwpt_invalidate_data_type {
+  IOMMU_HWPT_INVALIDATE_DATA_VTD_S1 = 0,
+};
+enum iommu_hwpt_vtd_s1_invalidate_flags {
+  IOMMU_VTD_INV_FLAGS_LEAF = 1 << 0,
+};
+struct iommu_hwpt_vtd_s1_invalidate {
+  __aligned_u64 addr;
+  __aligned_u64 npages;
+  __u32 flags;
+  __u32 __reserved;
+};
+struct iommu_hwpt_invalidate {
+  __u32 size;
+  __u32 hwpt_id;
+  __aligned_u64 data_uptr;
+  __u32 data_type;
+  __u32 entry_len;
+  __u32 entry_num;
+  __u32 __reserved;
+};
+#define IOMMU_HWPT_INVALIDATE _IO(IOMMUFD_TYPE, IOMMUFD_CMD_HWPT_INVALIDATE)
+enum iommu_hwpt_pgfault_flags {
+  IOMMU_PGFAULT_FLAGS_PASID_VALID = (1 << 0),
+  IOMMU_PGFAULT_FLAGS_LAST_PAGE = (1 << 1),
+};
+enum iommu_hwpt_pgfault_perm {
+  IOMMU_PGFAULT_PERM_READ = (1 << 0),
+  IOMMU_PGFAULT_PERM_WRITE = (1 << 1),
+  IOMMU_PGFAULT_PERM_EXEC = (1 << 2),
+  IOMMU_PGFAULT_PERM_PRIV = (1 << 3),
+};
+struct iommu_hwpt_pgfault {
+  __u32 flags;
+  __u32 dev_id;
+  __u32 pasid;
+  __u32 grpid;
+  __u32 perm;
+  __u64 addr;
+  __u32 length;
+  __u32 cookie;
+};
+enum iommufd_page_response_code {
+  IOMMUFD_PAGE_RESP_SUCCESS = 0,
+  IOMMUFD_PAGE_RESP_INVALID = 1,
+};
+struct iommu_hwpt_page_response {
+  __u32 cookie;
+  __u32 code;
+};
+struct iommu_fault_alloc {
+  __u32 size;
+  __u32 flags;
+  __u32 out_fault_id;
+  __u32 out_fault_fd;
+};
+#define IOMMU_FAULT_QUEUE_ALLOC _IO(IOMMUFD_TYPE, IOMMUFD_CMD_FAULT_QUEUE_ALLOC)
 #endif
diff --git a/libc/kernel/uapi/linux/ioprio.h b/libc/kernel/uapi/linux/ioprio.h
index 7a90d87..2b6a842 100644
--- a/libc/kernel/uapi/linux/ioprio.h
+++ b/libc/kernel/uapi/linux/ioprio.h
@@ -1,36 +1,30 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_IOPRIO_H
 #define _UAPI_LINUX_IOPRIO_H
+#include <linux/stddef.h>
+#include <linux/types.h>
 #define IOPRIO_CLASS_SHIFT 13
-#define IOPRIO_CLASS_MASK 0x07
+#define IOPRIO_NR_CLASSES 8
+#define IOPRIO_CLASS_MASK (IOPRIO_NR_CLASSES - 1)
 #define IOPRIO_PRIO_MASK ((1UL << IOPRIO_CLASS_SHIFT) - 1)
 #define IOPRIO_PRIO_CLASS(ioprio) (((ioprio) >> IOPRIO_CLASS_SHIFT) & IOPRIO_CLASS_MASK)
 #define IOPRIO_PRIO_DATA(ioprio) ((ioprio) & IOPRIO_PRIO_MASK)
-#define IOPRIO_PRIO_VALUE(class,data) ((((class) & IOPRIO_CLASS_MASK) << IOPRIO_CLASS_SHIFT) | ((data) & IOPRIO_PRIO_MASK))
 enum {
-  IOPRIO_CLASS_NONE,
-  IOPRIO_CLASS_RT,
-  IOPRIO_CLASS_BE,
-  IOPRIO_CLASS_IDLE,
+  IOPRIO_CLASS_NONE = 0,
+  IOPRIO_CLASS_RT = 1,
+  IOPRIO_CLASS_BE = 2,
+  IOPRIO_CLASS_IDLE = 3,
+  IOPRIO_CLASS_INVALID = 7,
 };
-#define IOPRIO_NR_LEVELS 8
+#define IOPRIO_LEVEL_NR_BITS 3
+#define IOPRIO_NR_LEVELS (1 << IOPRIO_LEVEL_NR_BITS)
+#define IOPRIO_LEVEL_MASK (IOPRIO_NR_LEVELS - 1)
+#define IOPRIO_PRIO_LEVEL(ioprio) ((ioprio) & IOPRIO_LEVEL_MASK)
 #define IOPRIO_BE_NR IOPRIO_NR_LEVELS
 enum {
   IOPRIO_WHO_PROCESS = 1,
@@ -39,4 +33,26 @@
 };
 #define IOPRIO_NORM 4
 #define IOPRIO_BE_NORM IOPRIO_NORM
+#define IOPRIO_HINT_SHIFT IOPRIO_LEVEL_NR_BITS
+#define IOPRIO_HINT_NR_BITS 10
+#define IOPRIO_NR_HINTS (1 << IOPRIO_HINT_NR_BITS)
+#define IOPRIO_HINT_MASK (IOPRIO_NR_HINTS - 1)
+#define IOPRIO_PRIO_HINT(ioprio) (((ioprio) >> IOPRIO_HINT_SHIFT) & IOPRIO_HINT_MASK)
+enum {
+  IOPRIO_HINT_NONE = 0,
+  IOPRIO_HINT_DEV_DURATION_LIMIT_1 = 1,
+  IOPRIO_HINT_DEV_DURATION_LIMIT_2 = 2,
+  IOPRIO_HINT_DEV_DURATION_LIMIT_3 = 3,
+  IOPRIO_HINT_DEV_DURATION_LIMIT_4 = 4,
+  IOPRIO_HINT_DEV_DURATION_LIMIT_5 = 5,
+  IOPRIO_HINT_DEV_DURATION_LIMIT_6 = 6,
+  IOPRIO_HINT_DEV_DURATION_LIMIT_7 = 7,
+};
+#define IOPRIO_BAD_VALUE(val,max) ((val) < 0 || (val) >= (max))
+static __always_inline __u16 ioprio_value(int prioclass, int priolevel, int priohint) {
+  if(IOPRIO_BAD_VALUE(prioclass, IOPRIO_NR_CLASSES) || IOPRIO_BAD_VALUE(priolevel, IOPRIO_NR_LEVELS) || IOPRIO_BAD_VALUE(priohint, IOPRIO_NR_HINTS)) return IOPRIO_CLASS_INVALID << IOPRIO_CLASS_SHIFT;
+  return(prioclass << IOPRIO_CLASS_SHIFT) | (priohint << IOPRIO_HINT_SHIFT) | priolevel;
+}
+#define IOPRIO_PRIO_VALUE(prioclass,priolevel) ioprio_value(prioclass, priolevel, IOPRIO_HINT_NONE)
+#define IOPRIO_PRIO_VALUE_HINT(prioclass,priolevel,priohint) ioprio_value(prioclass, priolevel, priohint)
 #endif
diff --git a/libc/kernel/uapi/linux/ip.h b/libc/kernel/uapi/linux/ip.h
index 9249f5c..332c447 100644
--- a/libc/kernel/uapi/linux/ip.h
+++ b/libc/kernel/uapi/linux/ip.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_IP_H
 #define _UAPI_LINUX_IP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/ip6_tunnel.h b/libc/kernel/uapi/linux/ip6_tunnel.h
index ba59235..54a379c 100644
--- a/libc/kernel/uapi/linux/ip6_tunnel.h
+++ b/libc/kernel/uapi/linux/ip6_tunnel.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IP6_TUNNEL_H
 #define _IP6_TUNNEL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/ip_vs.h b/libc/kernel/uapi/linux/ip_vs.h
index 916fcf0..4c95a2a 100644
--- a/libc/kernel/uapi/linux/ip_vs.h
+++ b/libc/kernel/uapi/linux/ip_vs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IP_VS_H
 #define _IP_VS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/ipc.h b/libc/kernel/uapi/linux/ipc.h
index 4ca9ee1..66529c4 100644
--- a/libc/kernel/uapi/linux/ipc.h
+++ b/libc/kernel/uapi/linux/ipc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_IPC_H
 #define _UAPI_LINUX_IPC_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/ipmi.h b/libc/kernel/uapi/linux/ipmi.h
index bd73b3c..7a949f0 100644
--- a/libc/kernel/uapi/linux/ipmi.h
+++ b/libc/kernel/uapi/linux/ipmi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_IPMI_H
 #define _UAPI__LINUX_IPMI_H
 #include <linux/ipmi_msgdefs.h>
diff --git a/libc/kernel/uapi/linux/ipmi_bmc.h b/libc/kernel/uapi/linux/ipmi_bmc.h
index 18f8b9d..5891a5a 100644
--- a/libc/kernel/uapi/linux/ipmi_bmc.h
+++ b/libc/kernel/uapi/linux/ipmi_bmc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_IPMI_BMC_H
 #define _UAPI_LINUX_IPMI_BMC_H
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/linux/ipmi_msgdefs.h b/libc/kernel/uapi/linux/ipmi_msgdefs.h
index cfd435f..3989b66 100644
--- a/libc/kernel/uapi/linux/ipmi_msgdefs.h
+++ b/libc/kernel/uapi/linux/ipmi_msgdefs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_IPMI_MSGDEFS_H
 #define __LINUX_IPMI_MSGDEFS_H
 #define IPMI_NETFN_SENSOR_EVENT_REQUEST 0x04
diff --git a/libc/kernel/uapi/linux/ipmi_ssif_bmc.h b/libc/kernel/uapi/linux/ipmi_ssif_bmc.h
index 866ed17..0082296 100644
--- a/libc/kernel/uapi/linux/ipmi_ssif_bmc.h
+++ b/libc/kernel/uapi/linux/ipmi_ssif_bmc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_IPMI_SSIF_BMC_H
 #define _UAPI_LINUX_IPMI_SSIF_BMC_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/ipsec.h b/libc/kernel/uapi/linux/ipsec.h
index 4fef750..3fe7a1b 100644
--- a/libc/kernel/uapi/linux/ipsec.h
+++ b/libc/kernel/uapi/linux/ipsec.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_IPSEC_H
 #define _LINUX_IPSEC_H
 #include <linux/pfkeyv2.h>
diff --git a/libc/kernel/uapi/linux/ipv6.h b/libc/kernel/uapi/linux/ipv6.h
index d62d269..c7e4d67 100644
--- a/libc/kernel/uapi/linux/ipv6.h
+++ b/libc/kernel/uapi/linux/ipv6.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_IPV6_H
 #define _UAPI_IPV6_H
 #include <linux/libc-compat.h>
@@ -62,7 +50,7 @@
 struct rt0_hdr {
   struct ipv6_rt_hdr rt_hdr;
   __u32 reserved;
-  struct in6_addr addr[0];
+  struct in6_addr addr[];
 #define rt0_type rt_hdr.type
 };
 struct rt2_hdr {
@@ -151,6 +139,7 @@
   DEVCONF_IOAM6_ID_WIDE,
   DEVCONF_NDISC_EVICT_NOCARRIER,
   DEVCONF_ACCEPT_UNTRACKED_NA,
+  DEVCONF_ACCEPT_RA_MIN_LFT,
   DEVCONF_MAX
 };
 #endif
diff --git a/libc/kernel/uapi/linux/ipv6_route.h b/libc/kernel/uapi/linux/ipv6_route.h
index b7271a7..3fec186 100644
--- a/libc/kernel/uapi/linux/ipv6_route.h
+++ b/libc/kernel/uapi/linux/ipv6_route.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_IPV6_ROUTE_H
 #define _UAPI_LINUX_IPV6_ROUTE_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/irqnr.h b/libc/kernel/uapi/linux/irqnr.h
index 878419c..02e56b8 100644
--- a/libc/kernel/uapi/linux/irqnr.h
+++ b/libc/kernel/uapi/linux/irqnr.h
@@ -1,18 +1,6 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
diff --git a/libc/kernel/uapi/linux/isdn/capicmd.h b/libc/kernel/uapi/linux/isdn/capicmd.h
index 419b278..95069d9 100644
--- a/libc/kernel/uapi/linux/isdn/capicmd.h
+++ b/libc/kernel/uapi/linux/isdn/capicmd.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __CAPICMD_H__
 #define __CAPICMD_H__
 #define CAPI_MSG_BASELEN 8
diff --git a/libc/kernel/uapi/linux/iso_fs.h b/libc/kernel/uapi/linux/iso_fs.h
index f9c4f48..cbe547d 100644
--- a/libc/kernel/uapi/linux/iso_fs.h
+++ b/libc/kernel/uapi/linux/iso_fs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ISOFS_FS_H
 #define _ISOFS_FS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/isst_if.h b/libc/kernel/uapi/linux/isst_if.h
index 322f70d..8d0b64a 100644
--- a/libc/kernel/uapi/linux/isst_if.h
+++ b/libc/kernel/uapi/linux/isst_if.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ISST_IF_H
 #define __ISST_IF_H
 #include <linux/types.h>
@@ -67,10 +55,136 @@
   __u32 cmd_count;
   struct isst_if_msr_cmd msr_cmd[1];
 };
+struct isst_core_power {
+  __u8 get_set;
+  __u8 socket_id;
+  __u8 power_domain_id;
+  __u8 enable;
+  __u8 supported;
+  __u8 priority_type;
+};
+struct isst_clos_param {
+  __u8 get_set;
+  __u8 socket_id;
+  __u8 power_domain_id;
+  __u8 clos;
+  __u16 min_freq_mhz;
+  __u16 max_freq_mhz;
+  __u8 prop_prio;
+};
+struct isst_if_clos_assoc {
+  __u8 socket_id;
+  __u8 power_domain_id;
+  __u16 logical_cpu;
+  __u16 clos;
+};
+struct isst_if_clos_assoc_cmds {
+  __u16 cmd_count;
+  __u16 get_set;
+  __u16 punit_cpu_map;
+  struct isst_if_clos_assoc assoc_info[1];
+};
+struct isst_tpmi_instance_count {
+  __u8 socket_id;
+  __u8 count;
+  __u16 valid_mask;
+};
+struct isst_perf_level_info {
+  __u8 socket_id;
+  __u8 power_domain_id;
+  __u8 max_level;
+  __u8 feature_rev;
+  __u8 level_mask;
+  __u8 current_level;
+  __u8 feature_state;
+  __u8 locked;
+  __u8 enabled;
+  __u8 sst_tf_support;
+  __u8 sst_bf_support;
+};
+struct isst_perf_level_control {
+  __u8 socket_id;
+  __u8 power_domain_id;
+  __u8 level;
+};
+struct isst_perf_feature_control {
+  __u8 socket_id;
+  __u8 power_domain_id;
+  __u8 feature;
+};
+#define TRL_MAX_BUCKETS 8
+#define TRL_MAX_LEVELS 6
+struct isst_perf_level_data_info {
+  __u8 socket_id;
+  __u8 power_domain_id;
+  __u16 level;
+  __u16 tdp_ratio;
+  __u16 base_freq_mhz;
+  __u16 base_freq_avx2_mhz;
+  __u16 base_freq_avx512_mhz;
+  __u16 base_freq_amx_mhz;
+  __u16 thermal_design_power_w;
+  __u16 tjunction_max_c;
+  __u16 max_memory_freq_mhz;
+  __u16 cooling_type;
+  __u16 p0_freq_mhz;
+  __u16 p1_freq_mhz;
+  __u16 pn_freq_mhz;
+  __u16 pm_freq_mhz;
+  __u16 p0_fabric_freq_mhz;
+  __u16 p1_fabric_freq_mhz;
+  __u16 pn_fabric_freq_mhz;
+  __u16 pm_fabric_freq_mhz;
+  __u16 max_buckets;
+  __u16 max_trl_levels;
+  __u16 bucket_core_counts[TRL_MAX_BUCKETS];
+  __u16 trl_freq_mhz[TRL_MAX_LEVELS][TRL_MAX_BUCKETS];
+};
+struct isst_perf_level_cpu_mask {
+  __u8 socket_id;
+  __u8 power_domain_id;
+  __u8 level;
+  __u8 punit_cpu_map;
+  __u64 mask;
+  __u16 cpu_buffer_size;
+  __s8 cpu_buffer[1];
+};
+struct isst_base_freq_info {
+  __u8 socket_id;
+  __u8 power_domain_id;
+  __u16 level;
+  __u16 high_base_freq_mhz;
+  __u16 low_base_freq_mhz;
+  __u16 tjunction_max_c;
+  __u16 thermal_design_power_w;
+};
+struct isst_turbo_freq_info {
+  __u8 socket_id;
+  __u8 power_domain_id;
+  __u16 level;
+  __u16 max_clip_freqs;
+  __u16 max_buckets;
+  __u16 max_trl_levels;
+  __u16 lp_clip_freq_mhz[TRL_MAX_LEVELS];
+  __u16 bucket_core_counts[TRL_MAX_BUCKETS];
+  __u16 trl_freq_mhz[TRL_MAX_LEVELS][TRL_MAX_BUCKETS];
+};
 #define ISST_IF_MAGIC 0xFE
 #define ISST_IF_GET_PLATFORM_INFO _IOR(ISST_IF_MAGIC, 0, struct isst_if_platform_info *)
 #define ISST_IF_GET_PHY_ID _IOWR(ISST_IF_MAGIC, 1, struct isst_if_cpu_map *)
 #define ISST_IF_IO_CMD _IOW(ISST_IF_MAGIC, 2, struct isst_if_io_regs *)
 #define ISST_IF_MBOX_COMMAND _IOWR(ISST_IF_MAGIC, 3, struct isst_if_mbox_cmds *)
 #define ISST_IF_MSR_COMMAND _IOWR(ISST_IF_MAGIC, 4, struct isst_if_msr_cmds *)
+#define ISST_IF_COUNT_TPMI_INSTANCES _IOR(ISST_IF_MAGIC, 5, struct isst_tpmi_instance_count *)
+#define ISST_IF_CORE_POWER_STATE _IOWR(ISST_IF_MAGIC, 6, struct isst_core_power *)
+#define ISST_IF_CLOS_PARAM _IOWR(ISST_IF_MAGIC, 7, struct isst_clos_param *)
+#define ISST_IF_CLOS_ASSOC _IOWR(ISST_IF_MAGIC, 8, struct isst_if_clos_assoc_cmds *)
+#define ISST_IF_PERF_LEVELS _IOWR(ISST_IF_MAGIC, 9, struct isst_perf_level_info *)
+#define ISST_IF_PERF_SET_LEVEL _IOW(ISST_IF_MAGIC, 10, struct isst_perf_level_control *)
+#define ISST_IF_PERF_SET_FEATURE _IOW(ISST_IF_MAGIC, 11, struct isst_perf_feature_control *)
+#define ISST_IF_GET_PERF_LEVEL_INFO _IOR(ISST_IF_MAGIC, 12, struct isst_perf_level_data_info *)
+#define ISST_IF_GET_PERF_LEVEL_CPU_MASK _IOR(ISST_IF_MAGIC, 13, struct isst_perf_level_cpu_mask *)
+#define ISST_IF_GET_BASE_FREQ_INFO _IOR(ISST_IF_MAGIC, 14, struct isst_base_freq_info *)
+#define ISST_IF_GET_BASE_FREQ_CPU_MASK _IOR(ISST_IF_MAGIC, 15, struct isst_perf_level_cpu_mask *)
+#define ISST_IF_GET_TURBO_FREQ_INFO _IOR(ISST_IF_MAGIC, 16, struct isst_turbo_freq_info *)
 #endif
diff --git a/libc/kernel/uapi/linux/ivtv.h b/libc/kernel/uapi/linux/ivtv.h
index bdd526e..e41203d 100644
--- a/libc/kernel/uapi/linux/ivtv.h
+++ b/libc/kernel/uapi/linux/ivtv.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_IVTV_H__
 #define __LINUX_IVTV_H__
 #include <linux/compiler.h>
diff --git a/libc/kernel/uapi/linux/ivtvfb.h b/libc/kernel/uapi/linux/ivtvfb.h
index 171be74..c00658e 100644
--- a/libc/kernel/uapi/linux/ivtvfb.h
+++ b/libc/kernel/uapi/linux/ivtvfb.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_IVTVFB_H__
 #define __LINUX_IVTVFB_H__
 #include <linux/compiler.h>
diff --git a/libc/kernel/uapi/linux/jffs2.h b/libc/kernel/uapi/linux/jffs2.h
index 643aa2e..f2ea901 100644
--- a/libc/kernel/uapi/linux/jffs2.h
+++ b/libc/kernel/uapi/linux/jffs2.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_JFFS2_H__
 #define __LINUX_JFFS2_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/joystick.h b/libc/kernel/uapi/linux/joystick.h
index 3f16f11..69952ef 100644
--- a/libc/kernel/uapi/linux/joystick.h
+++ b/libc/kernel/uapi/linux/joystick.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_JOYSTICK_H
 #define _UAPI_LINUX_JOYSTICK_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/kcm.h b/libc/kernel/uapi/linux/kcm.h
index 04bf5f5..23a95c2 100644
--- a/libc/kernel/uapi/linux/kcm.h
+++ b/libc/kernel/uapi/linux/kcm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef KCM_KERNEL_H
 #define KCM_KERNEL_H
 struct kcm_attach {
diff --git a/libc/kernel/uapi/linux/kcmp.h b/libc/kernel/uapi/linux/kcmp.h
index d185c0a..22769ca 100644
--- a/libc/kernel/uapi/linux/kcmp.h
+++ b/libc/kernel/uapi/linux/kcmp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_KCMP_H
 #define _UAPI_LINUX_KCMP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/kcov.h b/libc/kernel/uapi/linux/kcov.h
index 5b6f6b1..f7ee9d1 100644
--- a/libc/kernel/uapi/linux/kcov.h
+++ b/libc/kernel/uapi/linux/kcov.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_KCOV_IOCTLS_H
 #define _LINUX_KCOV_IOCTLS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/kd.h b/libc/kernel/uapi/linux/kd.h
index 903681b..441e4dc 100644
--- a/libc/kernel/uapi/linux/kd.h
+++ b/libc/kernel/uapi/linux/kd.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_KD_H
 #define _UAPI_LINUX_KD_H
 #include <linux/types.h>
@@ -158,5 +146,7 @@
 #define KD_FONT_OP_GET 1
 #define KD_FONT_OP_SET_DEFAULT 2
 #define KD_FONT_OP_COPY 3
+#define KD_FONT_OP_SET_TALL 4
+#define KD_FONT_OP_GET_TALL 5
 #define KD_FONT_FLAG_DONT_RECALC 1
 #endif
diff --git a/libc/kernel/uapi/linux/kdev_t.h b/libc/kernel/uapi/linux/kdev_t.h
index 7dfceca..4affdab 100644
--- a/libc/kernel/uapi/linux/kdev_t.h
+++ b/libc/kernel/uapi/linux/kdev_t.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_KDEV_T_H
 #define _UAPI_LINUX_KDEV_T_H
 #define MAJOR(dev) ((dev) >> 8)
diff --git a/libc/kernel/uapi/linux/kernel-page-flags.h b/libc/kernel/uapi/linux/kernel-page-flags.h
index d66cd7f..05ebed3 100644
--- a/libc/kernel/uapi/linux/kernel-page-flags.h
+++ b/libc/kernel/uapi/linux/kernel-page-flags.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPILINUX_KERNEL_PAGE_FLAGS_H
 #define _UAPILINUX_KERNEL_PAGE_FLAGS_H
 #define KPF_LOCKED 0
diff --git a/libc/kernel/uapi/linux/kernel.h b/libc/kernel/uapi/linux/kernel.h
index 7506a41..b257960 100644
--- a/libc/kernel/uapi/linux/kernel.h
+++ b/libc/kernel/uapi/linux/kernel.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_KERNEL_H
 #define _UAPI_LINUX_KERNEL_H
 #include <linux/sysinfo.h>
diff --git a/libc/kernel/uapi/linux/kernelcapi.h b/libc/kernel/uapi/linux/kernelcapi.h
index 519a043..daab01f 100644
--- a/libc/kernel/uapi/linux/kernelcapi.h
+++ b/libc/kernel/uapi/linux/kernelcapi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__KERNELCAPI_H__
 #define _UAPI__KERNELCAPI_H__
 #define CAPI_MAXAPPL 240
diff --git a/libc/kernel/uapi/linux/kexec.h b/libc/kernel/uapi/linux/kexec.h
index 438c07b..d34f065 100644
--- a/libc/kernel/uapi/linux/kexec.h
+++ b/libc/kernel/uapi/linux/kexec.h
@@ -1,30 +1,21 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPILINUX_KEXEC_H
 #define _UAPILINUX_KEXEC_H
 #include <linux/types.h>
 #define KEXEC_ON_CRASH 0x00000001
 #define KEXEC_PRESERVE_CONTEXT 0x00000002
+#define KEXEC_UPDATE_ELFCOREHDR 0x00000004
+#define KEXEC_CRASH_HOTPLUG_SUPPORT 0x00000008
 #define KEXEC_ARCH_MASK 0xffff0000
 #define KEXEC_FILE_UNLOAD 0x00000001
 #define KEXEC_FILE_ON_CRASH 0x00000002
 #define KEXEC_FILE_NO_INITRAMFS 0x00000004
+#define KEXEC_FILE_DEBUG 0x00000008
 #define KEXEC_ARCH_DEFAULT (0 << 16)
 #define KEXEC_ARCH_386 (3 << 16)
 #define KEXEC_ARCH_68K (4 << 16)
diff --git a/libc/kernel/uapi/linux/keyboard.h b/libc/kernel/uapi/linux/keyboard.h
index a05438b..6036ae2 100644
--- a/libc/kernel/uapi/linux/keyboard.h
+++ b/libc/kernel/uapi/linux/keyboard.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_KEYBOARD_H
 #define _UAPI__LINUX_KEYBOARD_H
 #include <linux/wait.h>
diff --git a/libc/kernel/uapi/linux/keyctl.h b/libc/kernel/uapi/linux/keyctl.h
index b534f5e..0ca3272 100644
--- a/libc/kernel/uapi/linux/keyctl.h
+++ b/libc/kernel/uapi/linux/keyctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_KEYCTL_H
 #define _LINUX_KEYCTL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/kfd_ioctl.h b/libc/kernel/uapi/linux/kfd_ioctl.h
index d21e0fc..193dd8e 100644
--- a/libc/kernel/uapi/linux/kfd_ioctl.h
+++ b/libc/kernel/uapi/linux/kfd_ioctl.h
@@ -1,27 +1,15 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef KFD_IOCTL_H_INCLUDED
 #define KFD_IOCTL_H_INCLUDED
 #include <drm/drm.h>
 #include <linux/ioctl.h>
 #define KFD_IOCTL_MAJOR_VERSION 1
-#define KFD_IOCTL_MINOR_VERSION 11
+#define KFD_IOCTL_MINOR_VERSION 16
 struct kfd_ioctl_get_version_args {
   __u32 major_version;
   __u32 minor_version;
@@ -77,6 +65,31 @@
   __u32 gpu_id;
   __u32 pad;
 };
+struct kfd_dbg_device_info_entry {
+  __u64 exception_status;
+  __u64 lds_base;
+  __u64 lds_limit;
+  __u64 scratch_base;
+  __u64 scratch_limit;
+  __u64 gpuvm_base;
+  __u64 gpuvm_limit;
+  __u32 gpu_id;
+  __u32 location_id;
+  __u32 vendor_id;
+  __u32 device_id;
+  __u32 revision_id;
+  __u32 subsystem_vendor_id;
+  __u32 subsystem_device_id;
+  __u32 fw_version;
+  __u32 gfx_target_version;
+  __u32 simd_count;
+  __u32 max_waves_per_simd;
+  __u32 array_count;
+  __u32 simd_arrays_per_engine;
+  __u32 num_xcc;
+  __u32 capability;
+  __u32 debug_prop;
+};
 #define KFD_IOC_CACHE_POLICY_COHERENT 0
 #define KFD_IOC_CACHE_POLICY_NONCOHERENT 1
 struct kfd_ioctl_set_memory_policy_args {
@@ -198,10 +211,14 @@
   __u32 memory_lost;
   __u32 gpu_id;
 };
+struct kfd_hsa_signal_event_data {
+  __u64 last_event_age;
+};
 struct kfd_event_data {
   union {
     struct kfd_hsa_memory_exception_data memory_exception_data;
     struct kfd_hsa_hw_exception_data hw_exception_data;
+    struct kfd_hsa_signal_event_data signal_event_data;
   };
   __u64 kfd_event_data_ext;
   __u32 event_id;
@@ -251,6 +268,8 @@
 #define KFD_IOC_ALLOC_MEM_FLAGS_AQL_QUEUE_MEM (1 << 27)
 #define KFD_IOC_ALLOC_MEM_FLAGS_COHERENT (1 << 26)
 #define KFD_IOC_ALLOC_MEM_FLAGS_UNCACHED (1 << 25)
+#define KFD_IOC_ALLOC_MEM_FLAGS_EXT_COHERENT (1 << 24)
+#define KFD_IOC_ALLOC_MEM_FLAGS_CONTIGUOUS (1 << 23)
 struct kfd_ioctl_alloc_memory_of_gpu_args {
   __u64 va_addr;
   __u64 size;
@@ -294,6 +313,11 @@
   __u32 gpu_id;
   __u32 dmabuf_fd;
 };
+struct kfd_ioctl_export_dmabuf_args {
+  __u64 handle;
+  __u32 flags;
+  __u32 dmabuf_fd;
+};
 enum kfd_smi_event {
   KFD_SMI_EVENT_NONE = 0,
   KFD_SMI_EVENT_VMFAULT = 1,
@@ -379,6 +403,7 @@
 #define KFD_IOCTL_SVM_FLAG_GPU_EXEC 0x00000010
 #define KFD_IOCTL_SVM_FLAG_GPU_READ_MOSTLY 0x00000020
 #define KFD_IOCTL_SVM_FLAG_GPU_ALWAYS_MAPPED 0x00000040
+#define KFD_IOCTL_SVM_FLAG_EXT_COHERENT 0x00000080
 enum kfd_ioctl_svm_op {
   KFD_IOCTL_SVM_OP_SET_ATTR,
   KFD_IOCTL_SVM_OP_GET_ATTR
@@ -411,6 +436,234 @@
 struct kfd_ioctl_set_xnack_mode_args {
   __s32 xnack_enabled;
 };
+enum kfd_dbg_trap_override_mode {
+  KFD_DBG_TRAP_OVERRIDE_OR = 0,
+  KFD_DBG_TRAP_OVERRIDE_REPLACE = 1
+};
+enum kfd_dbg_trap_mask {
+  KFD_DBG_TRAP_MASK_FP_INVALID = 1,
+  KFD_DBG_TRAP_MASK_FP_INPUT_DENORMAL = 2,
+  KFD_DBG_TRAP_MASK_FP_DIVIDE_BY_ZERO = 4,
+  KFD_DBG_TRAP_MASK_FP_OVERFLOW = 8,
+  KFD_DBG_TRAP_MASK_FP_UNDERFLOW = 16,
+  KFD_DBG_TRAP_MASK_FP_INEXACT = 32,
+  KFD_DBG_TRAP_MASK_INT_DIVIDE_BY_ZERO = 64,
+  KFD_DBG_TRAP_MASK_DBG_ADDRESS_WATCH = 128,
+  KFD_DBG_TRAP_MASK_DBG_MEMORY_VIOLATION = 256,
+  KFD_DBG_TRAP_MASK_TRAP_ON_WAVE_START = (1 << 30),
+  KFD_DBG_TRAP_MASK_TRAP_ON_WAVE_END = (1 << 31)
+};
+enum kfd_dbg_trap_wave_launch_mode {
+  KFD_DBG_TRAP_WAVE_LAUNCH_MODE_NORMAL = 0,
+  KFD_DBG_TRAP_WAVE_LAUNCH_MODE_HALT = 1,
+  KFD_DBG_TRAP_WAVE_LAUNCH_MODE_DEBUG = 3
+};
+enum kfd_dbg_trap_address_watch_mode {
+  KFD_DBG_TRAP_ADDRESS_WATCH_MODE_READ = 0,
+  KFD_DBG_TRAP_ADDRESS_WATCH_MODE_NONREAD = 1,
+  KFD_DBG_TRAP_ADDRESS_WATCH_MODE_ATOMIC = 2,
+  KFD_DBG_TRAP_ADDRESS_WATCH_MODE_ALL = 3
+};
+enum kfd_dbg_trap_flags {
+  KFD_DBG_TRAP_FLAG_SINGLE_MEM_OP = 1,
+  KFD_DBG_TRAP_FLAG_SINGLE_ALU_OP = 2,
+};
+enum kfd_dbg_trap_exception_code {
+  EC_NONE = 0,
+  EC_QUEUE_WAVE_ABORT = 1,
+  EC_QUEUE_WAVE_TRAP = 2,
+  EC_QUEUE_WAVE_MATH_ERROR = 3,
+  EC_QUEUE_WAVE_ILLEGAL_INSTRUCTION = 4,
+  EC_QUEUE_WAVE_MEMORY_VIOLATION = 5,
+  EC_QUEUE_WAVE_APERTURE_VIOLATION = 6,
+  EC_QUEUE_PACKET_DISPATCH_DIM_INVALID = 16,
+  EC_QUEUE_PACKET_DISPATCH_GROUP_SEGMENT_SIZE_INVALID = 17,
+  EC_QUEUE_PACKET_DISPATCH_CODE_INVALID = 18,
+  EC_QUEUE_PACKET_RESERVED = 19,
+  EC_QUEUE_PACKET_UNSUPPORTED = 20,
+  EC_QUEUE_PACKET_DISPATCH_WORK_GROUP_SIZE_INVALID = 21,
+  EC_QUEUE_PACKET_DISPATCH_REGISTER_INVALID = 22,
+  EC_QUEUE_PACKET_VENDOR_UNSUPPORTED = 23,
+  EC_QUEUE_PREEMPTION_ERROR = 30,
+  EC_QUEUE_NEW = 31,
+  EC_DEVICE_QUEUE_DELETE = 32,
+  EC_DEVICE_MEMORY_VIOLATION = 33,
+  EC_DEVICE_RAS_ERROR = 34,
+  EC_DEVICE_FATAL_HALT = 35,
+  EC_DEVICE_NEW = 36,
+  EC_PROCESS_RUNTIME = 48,
+  EC_PROCESS_DEVICE_REMOVE = 49,
+  EC_MAX
+};
+#define KFD_EC_MASK(ecode) (1ULL << (ecode - 1))
+#define KFD_EC_MASK_QUEUE (KFD_EC_MASK(EC_QUEUE_WAVE_ABORT) | KFD_EC_MASK(EC_QUEUE_WAVE_TRAP) | KFD_EC_MASK(EC_QUEUE_WAVE_MATH_ERROR) | KFD_EC_MASK(EC_QUEUE_WAVE_ILLEGAL_INSTRUCTION) | KFD_EC_MASK(EC_QUEUE_WAVE_MEMORY_VIOLATION) | KFD_EC_MASK(EC_QUEUE_WAVE_APERTURE_VIOLATION) | KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_DIM_INVALID) | KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_GROUP_SEGMENT_SIZE_INVALID) | KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_CODE_INVALID) | KFD_EC_MASK(EC_QUEUE_PACKET_RESERVED) | KFD_EC_MASK(EC_QUEUE_PACKET_UNSUPPORTED) | KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_WORK_GROUP_SIZE_INVALID) | KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_REGISTER_INVALID) | KFD_EC_MASK(EC_QUEUE_PACKET_VENDOR_UNSUPPORTED) | KFD_EC_MASK(EC_QUEUE_PREEMPTION_ERROR) | KFD_EC_MASK(EC_QUEUE_NEW))
+#define KFD_EC_MASK_DEVICE (KFD_EC_MASK(EC_DEVICE_QUEUE_DELETE) | KFD_EC_MASK(EC_DEVICE_RAS_ERROR) | KFD_EC_MASK(EC_DEVICE_FATAL_HALT) | KFD_EC_MASK(EC_DEVICE_MEMORY_VIOLATION) | KFD_EC_MASK(EC_DEVICE_NEW))
+#define KFD_EC_MASK_PROCESS (KFD_EC_MASK(EC_PROCESS_RUNTIME) | KFD_EC_MASK(EC_PROCESS_DEVICE_REMOVE))
+#define KFD_EC_MASK_PACKET (KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_DIM_INVALID) | KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_GROUP_SEGMENT_SIZE_INVALID) | KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_CODE_INVALID) | KFD_EC_MASK(EC_QUEUE_PACKET_RESERVED) | KFD_EC_MASK(EC_QUEUE_PACKET_UNSUPPORTED) | KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_WORK_GROUP_SIZE_INVALID) | KFD_EC_MASK(EC_QUEUE_PACKET_DISPATCH_REGISTER_INVALID) | KFD_EC_MASK(EC_QUEUE_PACKET_VENDOR_UNSUPPORTED))
+#define KFD_DBG_EC_IS_VALID(ecode) (ecode > EC_NONE && ecode < EC_MAX)
+#define KFD_DBG_EC_TYPE_IS_QUEUE(ecode) (KFD_DBG_EC_IS_VALID(ecode) && ! ! (KFD_EC_MASK(ecode) & KFD_EC_MASK_QUEUE))
+#define KFD_DBG_EC_TYPE_IS_DEVICE(ecode) (KFD_DBG_EC_IS_VALID(ecode) && ! ! (KFD_EC_MASK(ecode) & KFD_EC_MASK_DEVICE))
+#define KFD_DBG_EC_TYPE_IS_PROCESS(ecode) (KFD_DBG_EC_IS_VALID(ecode) && ! ! (KFD_EC_MASK(ecode) & KFD_EC_MASK_PROCESS))
+#define KFD_DBG_EC_TYPE_IS_PACKET(ecode) (KFD_DBG_EC_IS_VALID(ecode) && ! ! (KFD_EC_MASK(ecode) & KFD_EC_MASK_PACKET))
+enum kfd_dbg_runtime_state {
+  DEBUG_RUNTIME_STATE_DISABLED = 0,
+  DEBUG_RUNTIME_STATE_ENABLED = 1,
+  DEBUG_RUNTIME_STATE_ENABLED_BUSY = 2,
+  DEBUG_RUNTIME_STATE_ENABLED_ERROR = 3
+};
+struct kfd_runtime_info {
+  __u64 r_debug;
+  __u32 runtime_state;
+  __u32 ttmp_setup;
+};
+#define KFD_RUNTIME_ENABLE_MODE_ENABLE_MASK 1
+#define KFD_RUNTIME_ENABLE_MODE_TTMP_SAVE_MASK 2
+struct kfd_ioctl_runtime_enable_args {
+  __u64 r_debug;
+  __u32 mode_mask;
+  __u32 capabilities_mask;
+};
+struct kfd_queue_snapshot_entry {
+  __u64 exception_status;
+  __u64 ring_base_address;
+  __u64 write_pointer_address;
+  __u64 read_pointer_address;
+  __u64 ctx_save_restore_address;
+  __u32 queue_id;
+  __u32 gpu_id;
+  __u32 ring_size;
+  __u32 queue_type;
+  __u32 ctx_save_restore_area_size;
+  __u32 reserved;
+};
+#define KFD_DBG_QUEUE_ERROR_BIT 30
+#define KFD_DBG_QUEUE_INVALID_BIT 31
+#define KFD_DBG_QUEUE_ERROR_MASK (1 << KFD_DBG_QUEUE_ERROR_BIT)
+#define KFD_DBG_QUEUE_INVALID_MASK (1 << KFD_DBG_QUEUE_INVALID_BIT)
+struct kfd_context_save_area_header {
+  struct {
+    __u32 control_stack_offset;
+    __u32 control_stack_size;
+    __u32 wave_state_offset;
+    __u32 wave_state_size;
+  } wave_state;
+  __u32 debug_offset;
+  __u32 debug_size;
+  __u64 err_payload_addr;
+  __u32 err_event_id;
+  __u32 reserved1;
+};
+enum kfd_dbg_trap_operations {
+  KFD_IOC_DBG_TRAP_ENABLE = 0,
+  KFD_IOC_DBG_TRAP_DISABLE = 1,
+  KFD_IOC_DBG_TRAP_SEND_RUNTIME_EVENT = 2,
+  KFD_IOC_DBG_TRAP_SET_EXCEPTIONS_ENABLED = 3,
+  KFD_IOC_DBG_TRAP_SET_WAVE_LAUNCH_OVERRIDE = 4,
+  KFD_IOC_DBG_TRAP_SET_WAVE_LAUNCH_MODE = 5,
+  KFD_IOC_DBG_TRAP_SUSPEND_QUEUES = 6,
+  KFD_IOC_DBG_TRAP_RESUME_QUEUES = 7,
+  KFD_IOC_DBG_TRAP_SET_NODE_ADDRESS_WATCH = 8,
+  KFD_IOC_DBG_TRAP_CLEAR_NODE_ADDRESS_WATCH = 9,
+  KFD_IOC_DBG_TRAP_SET_FLAGS = 10,
+  KFD_IOC_DBG_TRAP_QUERY_DEBUG_EVENT = 11,
+  KFD_IOC_DBG_TRAP_QUERY_EXCEPTION_INFO = 12,
+  KFD_IOC_DBG_TRAP_GET_QUEUE_SNAPSHOT = 13,
+  KFD_IOC_DBG_TRAP_GET_DEVICE_SNAPSHOT = 14
+};
+struct kfd_ioctl_dbg_trap_enable_args {
+  __u64 exception_mask;
+  __u64 rinfo_ptr;
+  __u32 rinfo_size;
+  __u32 dbg_fd;
+};
+struct kfd_ioctl_dbg_trap_send_runtime_event_args {
+  __u64 exception_mask;
+  __u32 gpu_id;
+  __u32 queue_id;
+};
+struct kfd_ioctl_dbg_trap_set_exceptions_enabled_args {
+  __u64 exception_mask;
+};
+struct kfd_ioctl_dbg_trap_set_wave_launch_override_args {
+  __u32 override_mode;
+  __u32 enable_mask;
+  __u32 support_request_mask;
+  __u32 pad;
+};
+struct kfd_ioctl_dbg_trap_set_wave_launch_mode_args {
+  __u32 launch_mode;
+  __u32 pad;
+};
+struct kfd_ioctl_dbg_trap_suspend_queues_args {
+  __u64 exception_mask;
+  __u64 queue_array_ptr;
+  __u32 num_queues;
+  __u32 grace_period;
+};
+struct kfd_ioctl_dbg_trap_resume_queues_args {
+  __u64 queue_array_ptr;
+  __u32 num_queues;
+  __u32 pad;
+};
+struct kfd_ioctl_dbg_trap_set_node_address_watch_args {
+  __u64 address;
+  __u32 mode;
+  __u32 mask;
+  __u32 gpu_id;
+  __u32 id;
+};
+struct kfd_ioctl_dbg_trap_clear_node_address_watch_args {
+  __u32 gpu_id;
+  __u32 id;
+};
+struct kfd_ioctl_dbg_trap_set_flags_args {
+  __u32 flags;
+  __u32 pad;
+};
+struct kfd_ioctl_dbg_trap_query_debug_event_args {
+  __u64 exception_mask;
+  __u32 gpu_id;
+  __u32 queue_id;
+};
+struct kfd_ioctl_dbg_trap_query_exception_info_args {
+  __u64 info_ptr;
+  __u32 info_size;
+  __u32 source_id;
+  __u32 exception_code;
+  __u32 clear_exception;
+};
+struct kfd_ioctl_dbg_trap_queue_snapshot_args {
+  __u64 exception_mask;
+  __u64 snapshot_buf_ptr;
+  __u32 num_queues;
+  __u32 entry_size;
+};
+struct kfd_ioctl_dbg_trap_device_snapshot_args {
+  __u64 exception_mask;
+  __u64 snapshot_buf_ptr;
+  __u32 num_devices;
+  __u32 entry_size;
+};
+struct kfd_ioctl_dbg_trap_args {
+  __u32 pid;
+  __u32 op;
+  union {
+    struct kfd_ioctl_dbg_trap_enable_args enable;
+    struct kfd_ioctl_dbg_trap_send_runtime_event_args send_runtime_event;
+    struct kfd_ioctl_dbg_trap_set_exceptions_enabled_args set_exceptions_enabled;
+    struct kfd_ioctl_dbg_trap_set_wave_launch_override_args launch_override;
+    struct kfd_ioctl_dbg_trap_set_wave_launch_mode_args launch_mode;
+    struct kfd_ioctl_dbg_trap_suspend_queues_args suspend_queues;
+    struct kfd_ioctl_dbg_trap_resume_queues_args resume_queues;
+    struct kfd_ioctl_dbg_trap_set_node_address_watch_args set_node_address_watch;
+    struct kfd_ioctl_dbg_trap_clear_node_address_watch_args clear_node_address_watch;
+    struct kfd_ioctl_dbg_trap_set_flags_args set_flags;
+    struct kfd_ioctl_dbg_trap_query_debug_event_args query_debug_event;
+    struct kfd_ioctl_dbg_trap_query_exception_info_args query_exception_info;
+    struct kfd_ioctl_dbg_trap_queue_snapshot_args queue_snapshot;
+    struct kfd_ioctl_dbg_trap_device_snapshot_args device_snapshot;
+  };
+};
 #define AMDKFD_IOCTL_BASE 'K'
 #define AMDKFD_IO(nr) _IO(AMDKFD_IOCTL_BASE, nr)
 #define AMDKFD_IOR(nr,type) _IOR(AMDKFD_IOCTL_BASE, nr, type)
@@ -451,6 +704,9 @@
 #define AMDKFD_IOC_SET_XNACK_MODE AMDKFD_IOWR(0x21, struct kfd_ioctl_set_xnack_mode_args)
 #define AMDKFD_IOC_CRIU_OP AMDKFD_IOWR(0x22, struct kfd_ioctl_criu_args)
 #define AMDKFD_IOC_AVAILABLE_MEMORY AMDKFD_IOWR(0x23, struct kfd_ioctl_get_available_memory_args)
+#define AMDKFD_IOC_EXPORT_DMABUF AMDKFD_IOWR(0x24, struct kfd_ioctl_export_dmabuf_args)
+#define AMDKFD_IOC_RUNTIME_ENABLE AMDKFD_IOWR(0x25, struct kfd_ioctl_runtime_enable_args)
+#define AMDKFD_IOC_DBG_TRAP AMDKFD_IOWR(0x26, struct kfd_ioctl_dbg_trap_args)
 #define AMDKFD_COMMAND_START 0x01
-#define AMDKFD_COMMAND_END 0x24
+#define AMDKFD_COMMAND_END 0x27
 #endif
diff --git a/libc/kernel/uapi/linux/kfd_sysfs.h b/libc/kernel/uapi/linux/kfd_sysfs.h
index 9604b03..7771582 100644
--- a/libc/kernel/uapi/linux/kfd_sysfs.h
+++ b/libc/kernel/uapi/linux/kfd_sysfs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef KFD_SYSFS_H_INCLUDED
 #define KFD_SYSFS_H_INCLUDED
 #define HSA_CAP_HOT_PLUGGABLE 0x00000001
@@ -34,6 +22,10 @@
 #define HSA_CAP_DOORBELL_TYPE_1_0 0x1
 #define HSA_CAP_DOORBELL_TYPE_2_0 0x2
 #define HSA_CAP_AQL_QUEUE_DOUBLE_MAP 0x00004000
+#define HSA_CAP_TRAP_DEBUG_SUPPORT 0x00008000
+#define HSA_CAP_TRAP_DEBUG_WAVE_LAUNCH_TRAP_OVERRIDE_SUPPORTED 0x00010000
+#define HSA_CAP_TRAP_DEBUG_WAVE_LAUNCH_MODE_SUPPORTED 0x00020000
+#define HSA_CAP_TRAP_DEBUG_PRECISE_MEMORY_OPERATIONS_SUPPORTED 0x00040000
 #define HSA_CAP_RESERVED_WAS_SRAM_EDCSUPPORTED 0x00080000
 #define HSA_CAP_MEM_EDCSUPPORTED 0x00100000
 #define HSA_CAP_RASEVENTNOTIFY 0x00200000
@@ -42,7 +34,16 @@
 #define HSA_CAP_SRAM_EDCSUPPORTED 0x04000000
 #define HSA_CAP_SVMAPI_SUPPORTED 0x08000000
 #define HSA_CAP_FLAGS_COHERENTHOSTACCESS 0x10000000
-#define HSA_CAP_RESERVED 0xe00f8000
+#define HSA_CAP_TRAP_DEBUG_FIRMWARE_SUPPORTED 0x20000000
+#define HSA_CAP_TRAP_DEBUG_PRECISE_ALU_OPERATIONS_SUPPORTED 0x40000000
+#define HSA_CAP_RESERVED 0x800f8000
+#define HSA_DBG_WATCH_ADDR_MASK_LO_BIT_MASK 0x0000000f
+#define HSA_DBG_WATCH_ADDR_MASK_LO_BIT_SHIFT 0
+#define HSA_DBG_WATCH_ADDR_MASK_HI_BIT_MASK 0x000003f0
+#define HSA_DBG_WATCH_ADDR_MASK_HI_BIT_SHIFT 4
+#define HSA_DBG_DISPATCH_INFO_ALWAYS_VALID 0x00000400
+#define HSA_DBG_WATCHPOINTS_EXCLUSIVE 0x00000800
+#define HSA_DBG_RESERVED 0xfffffffffffff000ull
 #define HSA_MEM_HEAP_TYPE_SYSTEM 0
 #define HSA_MEM_HEAP_TYPE_FB_PUBLIC 1
 #define HSA_MEM_HEAP_TYPE_FB_PRIVATE 2
diff --git a/libc/kernel/uapi/linux/kvm.h b/libc/kernel/uapi/linux/kvm.h
index 9d33399..297a09d 100644
--- a/libc/kernel/uapi/linux/kvm.h
+++ b/libc/kernel/uapi/linux/kvm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_KVM_H
 #define __LINUX_KVM_H
 #include <linux/const.h>
@@ -24,59 +12,7 @@
 #include <linux/ioctl.h>
 #include <asm/kvm.h>
 #define KVM_API_VERSION 12
-#define KVM_TRC_SHIFT 16
-#define KVM_TRC_ENTRYEXIT (1 << KVM_TRC_SHIFT)
-#define KVM_TRC_HANDLER (1 << (KVM_TRC_SHIFT + 1))
-#define KVM_TRC_VMENTRY (KVM_TRC_ENTRYEXIT + 0x01)
-#define KVM_TRC_VMEXIT (KVM_TRC_ENTRYEXIT + 0x02)
-#define KVM_TRC_PAGE_FAULT (KVM_TRC_HANDLER + 0x01)
-#define KVM_TRC_HEAD_SIZE 12
-#define KVM_TRC_CYCLE_SIZE 8
-#define KVM_TRC_EXTRA_MAX 7
-#define KVM_TRC_INJ_VIRQ (KVM_TRC_HANDLER + 0x02)
-#define KVM_TRC_REDELIVER_EVT (KVM_TRC_HANDLER + 0x03)
-#define KVM_TRC_PEND_INTR (KVM_TRC_HANDLER + 0x04)
-#define KVM_TRC_IO_READ (KVM_TRC_HANDLER + 0x05)
-#define KVM_TRC_IO_WRITE (KVM_TRC_HANDLER + 0x06)
-#define KVM_TRC_CR_READ (KVM_TRC_HANDLER + 0x07)
-#define KVM_TRC_CR_WRITE (KVM_TRC_HANDLER + 0x08)
-#define KVM_TRC_DR_READ (KVM_TRC_HANDLER + 0x09)
-#define KVM_TRC_DR_WRITE (KVM_TRC_HANDLER + 0x0A)
-#define KVM_TRC_MSR_READ (KVM_TRC_HANDLER + 0x0B)
-#define KVM_TRC_MSR_WRITE (KVM_TRC_HANDLER + 0x0C)
-#define KVM_TRC_CPUID (KVM_TRC_HANDLER + 0x0D)
-#define KVM_TRC_INTR (KVM_TRC_HANDLER + 0x0E)
-#define KVM_TRC_NMI (KVM_TRC_HANDLER + 0x0F)
-#define KVM_TRC_VMMCALL (KVM_TRC_HANDLER + 0x10)
-#define KVM_TRC_HLT (KVM_TRC_HANDLER + 0x11)
-#define KVM_TRC_CLTS (KVM_TRC_HANDLER + 0x12)
-#define KVM_TRC_LMSW (KVM_TRC_HANDLER + 0x13)
-#define KVM_TRC_APIC_ACCESS (KVM_TRC_HANDLER + 0x14)
-#define KVM_TRC_TDP_FAULT (KVM_TRC_HANDLER + 0x15)
-#define KVM_TRC_GTLB_WRITE (KVM_TRC_HANDLER + 0x16)
-#define KVM_TRC_STLB_WRITE (KVM_TRC_HANDLER + 0x17)
-#define KVM_TRC_STLB_INVAL (KVM_TRC_HANDLER + 0x18)
-#define KVM_TRC_PPC_INSTR (KVM_TRC_HANDLER + 0x19)
-struct kvm_user_trace_setup {
-  __u32 buf_size;
-  __u32 buf_nr;
-};
-#define __KVM_DEPRECATED_MAIN_W_0x06 _IOW(KVMIO, 0x06, struct kvm_user_trace_setup)
-#define __KVM_DEPRECATED_MAIN_0x07 _IO(KVMIO, 0x07)
-#define __KVM_DEPRECATED_MAIN_0x08 _IO(KVMIO, 0x08)
-#define __KVM_DEPRECATED_VM_R_0x70 _IOR(KVMIO, 0x70, struct kvm_assigned_irq)
-struct kvm_breakpoint {
-  __u32 enabled;
-  __u32 padding;
-  __u64 address;
-};
-struct kvm_debug_guest {
-  __u32 enabled;
-  __u32 pad;
-  struct kvm_breakpoint breakpoints[4];
-  __u32 singlestep;
-};
-#define __KVM_DEPRECATED_VCPU_W_0x87 _IOW(KVMIO, 0x87, struct kvm_debug_guest)
+#define __KVM_HAVE_GUEST_DEBUG
 struct kvm_userspace_memory_region {
   __u32 slot;
   __u32 flags;
@@ -84,8 +20,20 @@
   __u64 memory_size;
   __u64 userspace_addr;
 };
+struct kvm_userspace_memory_region2 {
+  __u32 slot;
+  __u32 flags;
+  __u64 guest_phys_addr;
+  __u64 memory_size;
+  __u64 userspace_addr;
+  __u64 guest_memfd_offset;
+  __u32 guest_memfd;
+  __u32 pad1;
+  __u64 pad2[14];
+};
 #define KVM_MEM_LOG_DIRTY_PAGES (1UL << 0)
 #define KVM_MEM_READONLY (1UL << 1)
+#define KVM_MEM_GUEST_MEMFD (1UL << 2)
 struct kvm_irq_level {
   union {
     __u32 irq;
@@ -111,24 +59,6 @@
   __u32 pad[15];
 };
 #define KVM_PIT_SPEAKER_DUMMY 1
-struct kvm_s390_skeys {
-  __u64 start_gfn;
-  __u64 count;
-  __u64 skeydata_addr;
-  __u32 flags;
-  __u32 reserved[9];
-};
-#define KVM_S390_CMMA_PEEK (1 << 0)
-struct kvm_s390_cmma_log {
-  __u64 start_gfn;
-  __u32 count;
-  __u32 flags;
-  union {
-    __u64 remaining;
-    __u64 mask;
-  };
-  __u64 values;
-};
 struct kvm_hyperv_exit {
 #define KVM_EXIT_HYPERV_SYNIC 1
 #define KVM_EXIT_HYPERV_HCALL 2
@@ -212,14 +142,17 @@
 #define KVM_EXIT_RISCV_SBI 35
 #define KVM_EXIT_RISCV_CSR 36
 #define KVM_EXIT_NOTIFY 37
+#define KVM_EXIT_LOONGARCH_IOCSR 38
+#define KVM_EXIT_MEMORY_FAULT 39
 #define KVM_INTERNAL_ERROR_EMULATION 1
 #define KVM_INTERNAL_ERROR_SIMUL_EX 2
 #define KVM_INTERNAL_ERROR_DELIVERY_EV 3
 #define KVM_INTERNAL_ERROR_UNEXPECTED_EXIT_REASON 4
 #define KVM_INTERNAL_ERROR_EMULATION_FLAG_INSTRUCTION_BYTES (1ULL << 0)
+#define HINT_UNSAFE_IN_KVM(_symbol) _symbol
 struct kvm_run {
   __u8 request_interrupt_window;
-  __u8 immediate_exit;
+  __u8 HINT_UNSAFE_IN_KVM(immediate_exit);
   __u8 padding1[6];
   __u32 exit_reason;
   __u8 ready_for_interrupt_injection;
@@ -262,11 +195,19 @@
       __u8 is_write;
     } mmio;
     struct {
+      __u64 phys_addr;
+      __u8 data[8];
+      __u32 len;
+      __u8 is_write;
+    } iocsr_io;
+    struct {
       __u64 nr;
       __u64 args[6];
       __u64 ret;
-      __u32 longmode;
-      __u32 pad;
+      union {
+        __u32 longmode;
+        __u64 flags;
+      };
     } hypercall;
     struct {
       __u64 rip;
@@ -278,11 +219,6 @@
       __u16 ipa;
       __u32 ipb;
     } s390_sieic;
-#define KVM_S390_RESET_POR 1
-#define KVM_S390_RESET_CLEAR 2
-#define KVM_S390_RESET_SUBSYSTEM 4
-#define KVM_S390_RESET_CPU_INIT 8
-#define KVM_S390_RESET_IPL 16
     __u64 s390_reset_flags;
     struct {
       __u64 trans_exc_code;
@@ -386,6 +322,12 @@
 #define KVM_NOTIFY_CONTEXT_INVALID (1 << 0)
       __u32 flags;
     } notify;
+    struct {
+#define KVM_MEMORY_EXIT_FLAG_PRIVATE (1ULL << 3)
+      __u64 flags;
+      __u64 gpa;
+      __u64 size;
+    } memory_fault;
     char padding[256];
   };
 #define SYNC_REGS_SIZE_BYTES 2048
@@ -426,30 +368,6 @@
   __u8 usermode;
   __u8 pad[5];
 };
-struct kvm_s390_mem_op {
-  __u64 gaddr;
-  __u64 flags;
-  __u32 size;
-  __u32 op;
-  __u64 buf;
-  union {
-    struct {
-      __u8 ar;
-      __u8 key;
-    };
-    __u32 sida_offset;
-    __u8 reserved[32];
-  };
-};
-#define KVM_S390_MEMOP_LOGICAL_READ 0
-#define KVM_S390_MEMOP_LOGICAL_WRITE 1
-#define KVM_S390_MEMOP_SIDA_READ 2
-#define KVM_S390_MEMOP_SIDA_WRITE 3
-#define KVM_S390_MEMOP_ABSOLUTE_READ 4
-#define KVM_S390_MEMOP_ABSOLUTE_WRITE 5
-#define KVM_S390_MEMOP_F_CHECK_ONLY (1ULL << 0)
-#define KVM_S390_MEMOP_F_INJECT_EXCEPTION (1ULL << 1)
-#define KVM_S390_MEMOP_F_SKEY_PROTECTION (1ULL << 2)
 struct kvm_interrupt {
   __u32 irq;
 };
@@ -496,104 +414,6 @@
 struct kvm_mp_state {
   __u32 mp_state;
 };
-struct kvm_s390_psw {
-  __u64 mask;
-  __u64 addr;
-};
-#define KVM_S390_SIGP_STOP 0xfffe0000u
-#define KVM_S390_PROGRAM_INT 0xfffe0001u
-#define KVM_S390_SIGP_SET_PREFIX 0xfffe0002u
-#define KVM_S390_RESTART 0xfffe0003u
-#define KVM_S390_INT_PFAULT_INIT 0xfffe0004u
-#define KVM_S390_INT_PFAULT_DONE 0xfffe0005u
-#define KVM_S390_MCHK 0xfffe1000u
-#define KVM_S390_INT_CLOCK_COMP 0xffff1004u
-#define KVM_S390_INT_CPU_TIMER 0xffff1005u
-#define KVM_S390_INT_VIRTIO 0xffff2603u
-#define KVM_S390_INT_SERVICE 0xffff2401u
-#define KVM_S390_INT_EMERGENCY 0xffff1201u
-#define KVM_S390_INT_EXTERNAL_CALL 0xffff1202u
-#define KVM_S390_INT_IO(ai,cssid,ssid,schid) (((schid)) | ((ssid) << 16) | ((cssid) << 18) | ((ai) << 26))
-#define KVM_S390_INT_IO_MIN 0x00000000u
-#define KVM_S390_INT_IO_MAX 0xfffdffffu
-#define KVM_S390_INT_IO_AI_MASK 0x04000000u
-struct kvm_s390_interrupt {
-  __u32 type;
-  __u32 parm;
-  __u64 parm64;
-};
-struct kvm_s390_io_info {
-  __u16 subchannel_id;
-  __u16 subchannel_nr;
-  __u32 io_int_parm;
-  __u32 io_int_word;
-};
-struct kvm_s390_ext_info {
-  __u32 ext_params;
-  __u32 pad;
-  __u64 ext_params2;
-};
-struct kvm_s390_pgm_info {
-  __u64 trans_exc_code;
-  __u64 mon_code;
-  __u64 per_address;
-  __u32 data_exc_code;
-  __u16 code;
-  __u16 mon_class_nr;
-  __u8 per_code;
-  __u8 per_atmid;
-  __u8 exc_access_id;
-  __u8 per_access_id;
-  __u8 op_access_id;
-#define KVM_S390_PGM_FLAGS_ILC_VALID 0x01
-#define KVM_S390_PGM_FLAGS_ILC_0 0x02
-#define KVM_S390_PGM_FLAGS_ILC_1 0x04
-#define KVM_S390_PGM_FLAGS_ILC_MASK 0x06
-#define KVM_S390_PGM_FLAGS_NO_REWIND 0x08
-  __u8 flags;
-  __u8 pad[2];
-};
-struct kvm_s390_prefix_info {
-  __u32 address;
-};
-struct kvm_s390_extcall_info {
-  __u16 code;
-};
-struct kvm_s390_emerg_info {
-  __u16 code;
-};
-#define KVM_S390_STOP_FLAG_STORE_STATUS 0x01
-struct kvm_s390_stop_info {
-  __u32 flags;
-};
-struct kvm_s390_mchk_info {
-  __u64 cr14;
-  __u64 mcic;
-  __u64 failing_storage_address;
-  __u32 ext_damage_code;
-  __u32 pad;
-  __u8 fixed_logout[16];
-};
-struct kvm_s390_irq {
-  __u64 type;
-  union {
-    struct kvm_s390_io_info io;
-    struct kvm_s390_ext_info ext;
-    struct kvm_s390_pgm_info pgm;
-    struct kvm_s390_emerg_info emerg;
-    struct kvm_s390_extcall_info extcall;
-    struct kvm_s390_prefix_info prefix;
-    struct kvm_s390_stop_info stop;
-    struct kvm_s390_mchk_info mchk;
-    char reserved[64];
-  } u;
-};
-struct kvm_s390_irq_state {
-  __u64 buf;
-  __u32 flags;
-  __u32 len;
-  __u32 reserved[4];
-};
 #define KVM_GUESTDBG_ENABLE 0x00000001
 #define KVM_GUESTDBG_SINGLESTEP 0x00000002
 struct kvm_guest_debug {
@@ -633,37 +453,6 @@
   __u64 args[4];
   __u8 pad[64];
 };
-#define KVM_PPC_PVINFO_FLAGS_EV_IDLE (1 << 0)
-struct kvm_ppc_pvinfo {
-  __u32 flags;
-  __u32 hcall[4];
-  __u8 pad[108];
-};
-#define KVM_PPC_PAGE_SIZES_MAX_SZ 8
-struct kvm_ppc_one_page_size {
-  __u32 page_shift;
-  __u32 pte_enc;
-};
-struct kvm_ppc_one_seg_page_size {
-  __u32 page_shift;
-  __u32 slb_enc;
-  struct kvm_ppc_one_page_size enc[KVM_PPC_PAGE_SIZES_MAX_SZ];
-};
-#define KVM_PPC_PAGE_SIZES_REAL 0x00000001
-#define KVM_PPC_1T_SEGMENTS 0x00000002
-#define KVM_PPC_NO_HASH 0x00000004
-struct kvm_ppc_smmu_info {
-  __u64 flags;
-  __u32 slb_size;
-  __u16 data_keys;
-  __u16 instr_keys;
-  struct kvm_ppc_one_seg_page_size sps[KVM_PPC_PAGE_SIZES_MAX_SZ];
-};
-struct kvm_ppc_resize_hpt {
-  __u64 flags;
-  __u32 shift;
-  __u32 pad;
-};
 #define KVMIO 0xAE
 #define KVM_VM_S390_UCONTROL 1
 #define KVM_VM_PPC_HV 1
@@ -681,9 +470,6 @@
 #define KVM_CHECK_EXTENSION _IO(KVMIO, 0x03)
 #define KVM_GET_VCPU_MMAP_SIZE _IO(KVMIO, 0x04)
 #define KVM_GET_SUPPORTED_CPUID _IOWR(KVMIO, 0x05, struct kvm_cpuid2)
-#define KVM_TRACE_ENABLE __KVM_DEPRECATED_MAIN_W_0x06
-#define KVM_TRACE_PAUSE __KVM_DEPRECATED_MAIN_0x07
-#define KVM_TRACE_DISABLE __KVM_DEPRECATED_MAIN_0x08
 #define KVM_GET_EMULATED_CPUID _IOWR(KVMIO, 0x09, struct kvm_cpuid2)
 #define KVM_GET_MSR_FEATURE_INDEX_LIST _IOWR(KVMIO, 0x0a, struct kvm_msr_list)
 #define KVM_CAP_IRQCHIP 0
@@ -705,9 +491,7 @@
 #define KVM_CAP_IOMMU 18
 #define KVM_CAP_DESTROY_MEMORY_REGION_WORKS 21
 #define KVM_CAP_USER_NMI 22
-#ifdef __KVM_HAVE_GUEST_DEBUG
 #define KVM_CAP_SET_GUEST_DEBUG 23
-#endif
 #ifdef __KVM_HAVE_PIT
 #define KVM_CAP_REINJECT_CONTROL 24
 #endif
@@ -926,7 +710,19 @@
 #define KVM_CAP_DIRTY_LOG_RING_ACQ_REL 223
 #define KVM_CAP_S390_PROTECTED_ASYNC_DISABLE 224
 #define KVM_CAP_DIRTY_LOG_RING_WITH_BITMAP 225
-#ifdef KVM_CAP_IRQ_ROUTING
+#define KVM_CAP_PMU_EVENT_MASKED_EVENTS 226
+#define KVM_CAP_COUNTER_OFFSET 227
+#define KVM_CAP_ARM_EAGER_SPLIT_CHUNK_SIZE 228
+#define KVM_CAP_ARM_SUPPORTED_BLOCK_SIZES 229
+#define KVM_CAP_ARM_SUPPORTED_REG_MASK_RANGES 230
+#define KVM_CAP_USER_MEMORY2 231
+#define KVM_CAP_MEMORY_FAULT_INFO 232
+#define KVM_CAP_MEMORY_ATTRIBUTES 233
+#define KVM_CAP_GUEST_MEMFD 234
+#define KVM_CAP_VM_TYPES 235
+#define KVM_CAP_PRE_FAULT_MEMORY 236
+#define KVM_CAP_X86_APIC_BUS_CYCLES_NS 237
+#define KVM_CAP_X86_GUEST_MODE 238
 struct kvm_irq_routing_irqchip {
   __u32 irqchip;
   __u32 pin;
@@ -981,36 +777,6 @@
   __u32 flags;
   struct kvm_irq_routing_entry entries[];
 };
-#endif
-#ifdef KVM_CAP_MCE
-struct kvm_x86_mce {
-  __u64 status;
-  __u64 addr;
-  __u64 misc;
-  __u64 mcg_status;
-  __u8 bank;
-  __u8 pad1[7];
-  __u64 pad2[3];
-};
-#endif
-#ifdef KVM_CAP_XEN_HVM
-#define KVM_XEN_HVM_CONFIG_HYPERCALL_MSR (1 << 0)
-#define KVM_XEN_HVM_CONFIG_INTERCEPT_HCALL (1 << 1)
-#define KVM_XEN_HVM_CONFIG_SHARED_INFO (1 << 2)
-#define KVM_XEN_HVM_CONFIG_RUNSTATE (1 << 3)
-#define KVM_XEN_HVM_CONFIG_EVTCHN_2LEVEL (1 << 4)
-#define KVM_XEN_HVM_CONFIG_EVTCHN_SEND (1 << 5)
-#define KVM_XEN_HVM_CONFIG_RUNSTATE_UPDATE_FLAG (1 << 6)
-struct kvm_xen_hvm_config {
-  __u32 flags;
-  __u32 msr;
-  __u64 blob_addr_32;
-  __u64 blob_addr_64;
-  __u8 blob_size_32;
-  __u8 blob_size_64;
-  __u8 pad2[30];
-};
-#endif
 #define KVM_IRQFD_FLAG_DEASSIGN (1 << 0)
 #define KVM_IRQFD_FLAG_RESAMPLE (1 << 1)
 struct kvm_irqfd {
@@ -1053,6 +819,7 @@
 #define KVM_REG_ARM64 0x6000000000000000ULL
 #define KVM_REG_MIPS 0x7000000000000000ULL
 #define KVM_REG_RISCV 0x8000000000000000ULL
+#define KVM_REG_LOONGARCH 0x9000000000000000ULL
 #define KVM_REG_SIZE_SHIFT 52
 #define KVM_REG_SIZE_MASK 0x00f0000000000000ULL
 #define KVM_REG_SIZE_U8 0x0000000000000000ULL
@@ -1097,9 +864,12 @@
   __u64 attr;
   __u64 addr;
 };
-#define KVM_DEV_VFIO_GROUP 1
-#define KVM_DEV_VFIO_GROUP_ADD 1
-#define KVM_DEV_VFIO_GROUP_DEL 2
+#define KVM_DEV_VFIO_FILE 1
+#define KVM_DEV_VFIO_FILE_ADD 1
+#define KVM_DEV_VFIO_FILE_DEL 2
+#define KVM_DEV_VFIO_GROUP KVM_DEV_VFIO_FILE
+#define KVM_DEV_VFIO_GROUP_ADD KVM_DEV_VFIO_FILE_ADD
+#define KVM_DEV_VFIO_GROUP_DEL KVM_DEV_VFIO_FILE_DEL
 #define KVM_DEV_VFIO_GROUP_SET_SPAPR_TCE 3
 enum kvm_device_type {
   KVM_DEV_TYPE_FSL_MPIC_20 = 1,
@@ -1122,6 +892,8 @@
 #define KVM_DEV_TYPE_XIVE KVM_DEV_TYPE_XIVE
   KVM_DEV_TYPE_ARM_PV_TIME,
 #define KVM_DEV_TYPE_ARM_PV_TIME KVM_DEV_TYPE_ARM_PV_TIME
+  KVM_DEV_TYPE_RISCV_AIA,
+#define KVM_DEV_TYPE_RISCV_AIA KVM_DEV_TYPE_RISCV_AIA
   KVM_DEV_TYPE_MAX,
 };
 struct kvm_vfio_spapr_tce {
@@ -1135,11 +907,7 @@
 #define KVM_SET_USER_MEMORY_REGION _IOW(KVMIO, 0x46, struct kvm_userspace_memory_region)
 #define KVM_SET_TSS_ADDR _IO(KVMIO, 0x47)
 #define KVM_SET_IDENTITY_MAP_ADDR _IOW(KVMIO, 0x48, __u64)
-struct kvm_s390_ucas_mapping {
-  __u64 user_addr;
-  __u64 vcpu_addr;
-  __u64 length;
-};
+#define KVM_SET_USER_MEMORY_REGION2 _IOW(KVMIO, 0x49, struct kvm_userspace_memory_region2)
 #define KVM_S390_UCAS_MAP _IOW(KVMIO, 0x50, struct kvm_s390_ucas_mapping)
 #define KVM_S390_UCAS_UNMAP _IOW(KVMIO, 0x51, struct kvm_s390_ucas_mapping)
 #define KVM_S390_VCPU_FAULT _IOW(KVMIO, 0x52, unsigned long)
@@ -1153,15 +921,8 @@
 #define KVM_IRQ_LINE_STATUS _IOWR(KVMIO, 0x67, struct kvm_irq_level)
 #define KVM_REGISTER_COALESCED_MMIO _IOW(KVMIO, 0x67, struct kvm_coalesced_mmio_zone)
 #define KVM_UNREGISTER_COALESCED_MMIO _IOW(KVMIO, 0x68, struct kvm_coalesced_mmio_zone)
-#define KVM_ASSIGN_PCI_DEVICE _IOR(KVMIO, 0x69, struct kvm_assigned_pci_dev)
 #define KVM_SET_GSI_ROUTING _IOW(KVMIO, 0x6a, struct kvm_irq_routing)
-#define KVM_ASSIGN_IRQ __KVM_DEPRECATED_VM_R_0x70
-#define KVM_ASSIGN_DEV_IRQ _IOW(KVMIO, 0x70, struct kvm_assigned_irq)
 #define KVM_REINJECT_CONTROL _IO(KVMIO, 0x71)
-#define KVM_DEASSIGN_PCI_DEVICE _IOW(KVMIO, 0x72, struct kvm_assigned_pci_dev)
-#define KVM_ASSIGN_SET_MSIX_NR _IOW(KVMIO, 0x73, struct kvm_assigned_msix_nr)
-#define KVM_ASSIGN_SET_MSIX_ENTRY _IOW(KVMIO, 0x74, struct kvm_assigned_msix_entry)
-#define KVM_DEASSIGN_DEV_IRQ _IOW(KVMIO, 0x75, struct kvm_assigned_irq)
 #define KVM_IRQFD _IOW(KVMIO, 0x76, struct kvm_irqfd)
 #define KVM_CREATE_PIT2 _IOW(KVMIO, 0x77, struct kvm_pit_config)
 #define KVM_SET_BOOT_CPU_ID _IO(KVMIO, 0x78)
@@ -1174,7 +935,6 @@
 #define KVM_PPC_GET_PVINFO _IOW(KVMIO, 0xa1, struct kvm_ppc_pvinfo)
 #define KVM_SET_TSC_KHZ _IO(KVMIO, 0xa2)
 #define KVM_GET_TSC_KHZ _IO(KVMIO, 0xa3)
-#define KVM_ASSIGN_SET_INTX_MASK _IOW(KVMIO, 0xa4, struct kvm_assigned_pci_dev)
 #define KVM_SIGNAL_MSI _IOW(KVMIO, 0xa5, struct kvm_msi)
 #define KVM_PPC_GET_SMMU_INFO _IOR(KVMIO, 0xa6, struct kvm_ppc_smmu_info)
 #define KVM_PPC_ALLOCATE_HTAB _IOWR(KVMIO, 0xa7, __u32)
@@ -1192,6 +952,8 @@
 #define KVM_SET_PMU_EVENT_FILTER _IOW(KVMIO, 0xb2, struct kvm_pmu_event_filter)
 #define KVM_PPC_SVM_OFF _IO(KVMIO, 0xb3)
 #define KVM_ARM_MTE_COPY_TAGS _IOR(KVMIO, 0xb4, struct kvm_arm_copy_mte_tags)
+#define KVM_ARM_SET_COUNTER_OFFSET _IOW(KVMIO, 0xb5, struct kvm_arm_counter_offset)
+#define KVM_ARM_GET_REG_WRITABLE_MASKS _IOR(KVMIO, 0xb6, struct reg_mask_range)
 #define KVM_CREATE_DEVICE _IOWR(KVMIO, 0xe0, struct kvm_create_device)
 #define KVM_SET_DEVICE_ATTR _IOW(KVMIO, 0xe1, struct kvm_device_attr)
 #define KVM_GET_DEVICE_ATTR _IOW(KVMIO, 0xe2, struct kvm_device_attr)
@@ -1203,7 +965,6 @@
 #define KVM_SET_SREGS _IOW(KVMIO, 0x84, struct kvm_sregs)
 #define KVM_TRANSLATE _IOWR(KVMIO, 0x85, struct kvm_translation)
 #define KVM_INTERRUPT _IOW(KVMIO, 0x86, struct kvm_interrupt)
-#define KVM_DEBUG_GUEST __KVM_DEPRECATED_VCPU_W_0x87
 #define KVM_GET_MSRS _IOWR(KVMIO, 0x88, struct kvm_msrs)
 #define KVM_SET_MSRS _IOW(KVMIO, 0x89, struct kvm_msrs)
 #define KVM_SET_CPUID _IOW(KVMIO, 0x8a, struct kvm_cpuid)
@@ -1269,322 +1030,16 @@
 #define KVM_ARM_VCPU_FINALIZE _IOW(KVMIO, 0xc2, int)
 #define KVM_S390_NORMAL_RESET _IO(KVMIO, 0xc3)
 #define KVM_S390_CLEAR_RESET _IO(KVMIO, 0xc4)
-struct kvm_s390_pv_sec_parm {
-  __u64 origin;
-  __u64 length;
-};
-struct kvm_s390_pv_unp {
-  __u64 addr;
-  __u64 size;
-  __u64 tweak;
-};
-enum pv_cmd_dmp_id {
-  KVM_PV_DUMP_INIT,
-  KVM_PV_DUMP_CONFIG_STOR_STATE,
-  KVM_PV_DUMP_COMPLETE,
-  KVM_PV_DUMP_CPU,
-};
-struct kvm_s390_pv_dmp {
-  __u64 subcmd;
-  __u64 buff_addr;
-  __u64 buff_len;
-  __u64 gaddr;
-  __u64 reserved[4];
-};
-enum pv_cmd_info_id {
-  KVM_PV_INFO_VM,
-  KVM_PV_INFO_DUMP,
-};
-struct kvm_s390_pv_info_dump {
-  __u64 dump_cpu_buffer_len;
-  __u64 dump_config_mem_buffer_per_1m;
-  __u64 dump_config_finalize_len;
-};
-struct kvm_s390_pv_info_vm {
-  __u64 inst_calls_list[4];
-  __u64 max_cpus;
-  __u64 max_guests;
-  __u64 max_guest_addr;
-  __u64 feature_indication;
-};
-struct kvm_s390_pv_info_header {
-  __u32 id;
-  __u32 len_max;
-  __u32 len_written;
-  __u32 reserved;
-};
-struct kvm_s390_pv_info {
-  struct kvm_s390_pv_info_header header;
-  union {
-    struct kvm_s390_pv_info_dump dump;
-    struct kvm_s390_pv_info_vm vm;
-  };
-};
-enum pv_cmd_id {
-  KVM_PV_ENABLE,
-  KVM_PV_DISABLE,
-  KVM_PV_SET_SEC_PARMS,
-  KVM_PV_UNPACK,
-  KVM_PV_VERIFY,
-  KVM_PV_PREP_RESET,
-  KVM_PV_UNSHARE_ALL,
-  KVM_PV_INFO,
-  KVM_PV_DUMP,
-  KVM_PV_ASYNC_CLEANUP_PREPARE,
-  KVM_PV_ASYNC_CLEANUP_PERFORM,
-};
-struct kvm_pv_cmd {
-  __u32 cmd;
-  __u16 rc;
-  __u16 rrc;
-  __u64 data;
-  __u32 flags;
-  __u32 reserved[3];
-};
 #define KVM_S390_PV_COMMAND _IOWR(KVMIO, 0xc5, struct kvm_pv_cmd)
 #define KVM_X86_SET_MSR_FILTER _IOW(KVMIO, 0xc6, struct kvm_msr_filter)
 #define KVM_RESET_DIRTY_RINGS _IO(KVMIO, 0xc7)
 #define KVM_XEN_HVM_GET_ATTR _IOWR(KVMIO, 0xc8, struct kvm_xen_hvm_attr)
 #define KVM_XEN_HVM_SET_ATTR _IOW(KVMIO, 0xc9, struct kvm_xen_hvm_attr)
-struct kvm_xen_hvm_attr {
-  __u16 type;
-  __u16 pad[3];
-  union {
-    __u8 long_mode;
-    __u8 vector;
-    __u8 runstate_update_flag;
-    struct {
-      __u64 gfn;
-#define KVM_XEN_INVALID_GFN ((__u64) - 1)
-    } shared_info;
-    struct {
-      __u32 send_port;
-      __u32 type;
-      __u32 flags;
-#define KVM_XEN_EVTCHN_DEASSIGN (1 << 0)
-#define KVM_XEN_EVTCHN_UPDATE (1 << 1)
-#define KVM_XEN_EVTCHN_RESET (1 << 2)
-      union {
-        struct {
-          __u32 port;
-          __u32 vcpu;
-          __u32 priority;
-        } port;
-        struct {
-          __u32 port;
-          __s32 fd;
-        } eventfd;
-        __u32 padding[4];
-      } deliver;
-    } evtchn;
-    __u32 xen_version;
-    __u64 pad[8];
-  } u;
-};
-#define KVM_XEN_ATTR_TYPE_LONG_MODE 0x0
-#define KVM_XEN_ATTR_TYPE_SHARED_INFO 0x1
-#define KVM_XEN_ATTR_TYPE_UPCALL_VECTOR 0x2
-#define KVM_XEN_ATTR_TYPE_EVTCHN 0x3
-#define KVM_XEN_ATTR_TYPE_XEN_VERSION 0x4
-#define KVM_XEN_ATTR_TYPE_RUNSTATE_UPDATE_FLAG 0x5
 #define KVM_XEN_VCPU_GET_ATTR _IOWR(KVMIO, 0xca, struct kvm_xen_vcpu_attr)
 #define KVM_XEN_VCPU_SET_ATTR _IOW(KVMIO, 0xcb, struct kvm_xen_vcpu_attr)
 #define KVM_XEN_HVM_EVTCHN_SEND _IOW(KVMIO, 0xd0, struct kvm_irq_routing_xen_evtchn)
 #define KVM_GET_SREGS2 _IOR(KVMIO, 0xcc, struct kvm_sregs2)
 #define KVM_SET_SREGS2 _IOW(KVMIO, 0xcd, struct kvm_sregs2)
-struct kvm_xen_vcpu_attr {
-  __u16 type;
-  __u16 pad[3];
-  union {
-    __u64 gpa;
-#define KVM_XEN_INVALID_GPA ((__u64) - 1)
-    __u64 pad[8];
-    struct {
-      __u64 state;
-      __u64 state_entry_time;
-      __u64 time_running;
-      __u64 time_runnable;
-      __u64 time_blocked;
-      __u64 time_offline;
-    } runstate;
-    __u32 vcpu_id;
-    struct {
-      __u32 port;
-      __u32 priority;
-      __u64 expires_ns;
-    } timer;
-    __u8 vector;
-  } u;
-};
-#define KVM_XEN_VCPU_ATTR_TYPE_VCPU_INFO 0x0
-#define KVM_XEN_VCPU_ATTR_TYPE_VCPU_TIME_INFO 0x1
-#define KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_ADDR 0x2
-#define KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_CURRENT 0x3
-#define KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_DATA 0x4
-#define KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_ADJUST 0x5
-#define KVM_XEN_VCPU_ATTR_TYPE_VCPU_ID 0x6
-#define KVM_XEN_VCPU_ATTR_TYPE_TIMER 0x7
-#define KVM_XEN_VCPU_ATTR_TYPE_UPCALL_VECTOR 0x8
-enum sev_cmd_id {
-  KVM_SEV_INIT = 0,
-  KVM_SEV_ES_INIT,
-  KVM_SEV_LAUNCH_START,
-  KVM_SEV_LAUNCH_UPDATE_DATA,
-  KVM_SEV_LAUNCH_UPDATE_VMSA,
-  KVM_SEV_LAUNCH_SECRET,
-  KVM_SEV_LAUNCH_MEASURE,
-  KVM_SEV_LAUNCH_FINISH,
-  KVM_SEV_SEND_START,
-  KVM_SEV_SEND_UPDATE_DATA,
-  KVM_SEV_SEND_UPDATE_VMSA,
-  KVM_SEV_SEND_FINISH,
-  KVM_SEV_RECEIVE_START,
-  KVM_SEV_RECEIVE_UPDATE_DATA,
-  KVM_SEV_RECEIVE_UPDATE_VMSA,
-  KVM_SEV_RECEIVE_FINISH,
-  KVM_SEV_GUEST_STATUS,
-  KVM_SEV_DBG_DECRYPT,
-  KVM_SEV_DBG_ENCRYPT,
-  KVM_SEV_CERT_EXPORT,
-  KVM_SEV_GET_ATTESTATION_REPORT,
-  KVM_SEV_SEND_CANCEL,
-  KVM_SEV_NR_MAX,
-};
-struct kvm_sev_cmd {
-  __u32 id;
-  __u64 data;
-  __u32 error;
-  __u32 sev_fd;
-};
-struct kvm_sev_launch_start {
-  __u32 handle;
-  __u32 policy;
-  __u64 dh_uaddr;
-  __u32 dh_len;
-  __u64 session_uaddr;
-  __u32 session_len;
-};
-struct kvm_sev_launch_update_data {
-  __u64 uaddr;
-  __u32 len;
-};
-struct kvm_sev_launch_secret {
-  __u64 hdr_uaddr;
-  __u32 hdr_len;
-  __u64 guest_uaddr;
-  __u32 guest_len;
-  __u64 trans_uaddr;
-  __u32 trans_len;
-};
-struct kvm_sev_launch_measure {
-  __u64 uaddr;
-  __u32 len;
-};
-struct kvm_sev_guest_status {
-  __u32 handle;
-  __u32 policy;
-  __u32 state;
-};
-struct kvm_sev_dbg {
-  __u64 src_uaddr;
-  __u64 dst_uaddr;
-  __u32 len;
-};
-struct kvm_sev_attestation_report {
-  __u8 mnonce[16];
-  __u64 uaddr;
-  __u32 len;
-};
-struct kvm_sev_send_start {
-  __u32 policy;
-  __u64 pdh_cert_uaddr;
-  __u32 pdh_cert_len;
-  __u64 plat_certs_uaddr;
-  __u32 plat_certs_len;
-  __u64 amd_certs_uaddr;
-  __u32 amd_certs_len;
-  __u64 session_uaddr;
-  __u32 session_len;
-};
-struct kvm_sev_send_update_data {
-  __u64 hdr_uaddr;
-  __u32 hdr_len;
-  __u64 guest_uaddr;
-  __u32 guest_len;
-  __u64 trans_uaddr;
-  __u32 trans_len;
-};
-struct kvm_sev_receive_start {
-  __u32 handle;
-  __u32 policy;
-  __u64 pdh_uaddr;
-  __u32 pdh_len;
-  __u64 session_uaddr;
-  __u32 session_len;
-};
-struct kvm_sev_receive_update_data {
-  __u64 hdr_uaddr;
-  __u32 hdr_len;
-  __u64 guest_uaddr;
-  __u32 guest_len;
-  __u64 trans_uaddr;
-  __u32 trans_len;
-};
-#define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0)
-#define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1)
-#define KVM_DEV_ASSIGN_MASK_INTX (1 << 2)
-struct kvm_assigned_pci_dev {
-  __u32 assigned_dev_id;
-  __u32 busnr;
-  __u32 devfn;
-  __u32 flags;
-  __u32 segnr;
-  union {
-    __u32 reserved[11];
-  };
-};
-#define KVM_DEV_IRQ_HOST_INTX (1 << 0)
-#define KVM_DEV_IRQ_HOST_MSI (1 << 1)
-#define KVM_DEV_IRQ_HOST_MSIX (1 << 2)
-#define KVM_DEV_IRQ_GUEST_INTX (1 << 8)
-#define KVM_DEV_IRQ_GUEST_MSI (1 << 9)
-#define KVM_DEV_IRQ_GUEST_MSIX (1 << 10)
-#define KVM_DEV_IRQ_HOST_MASK 0x00ff
-#define KVM_DEV_IRQ_GUEST_MASK 0xff00
-struct kvm_assigned_irq {
-  __u32 assigned_dev_id;
-  __u32 host_irq;
-  __u32 guest_irq;
-  __u32 flags;
-  union {
-    __u32 reserved[12];
-  };
-};
-struct kvm_assigned_msix_nr {
-  __u32 assigned_dev_id;
-  __u16 entry_nr;
-  __u16 padding;
-};
-#define KVM_MAX_MSIX_PER_DEV 256
-struct kvm_assigned_msix_entry {
-  __u32 assigned_dev_id;
-  __u32 gsi;
-  __u16 entry;
-  __u16 padding[3];
-};
-#define KVM_X2APIC_API_USE_32BIT_IDS (1ULL << 0)
-#define KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK (1ULL << 1)
-#define KVM_ARM_DEV_EL1_VTIMER (1 << 0)
-#define KVM_ARM_DEV_EL1_PTIMER (1 << 1)
-#define KVM_ARM_DEV_PMU (1 << 2)
-struct kvm_hyperv_eventfd {
-  __u32 conn_id;
-  __s32 fd;
-  __u32 flags;
-  __u32 padding[3];
-};
-#define KVM_HYPERV_CONN_ID_MASK 0x00ffffff
-#define KVM_HYPERV_EVENTFD_DEASSIGN (1 << 0)
 #define KVM_DIRTY_LOG_MANUAL_PROTECT_ENABLE (1 << 0)
 #define KVM_DIRTY_LOG_INITIALLY_SET (1 << 1)
 #ifndef KVM_DIRTY_LOG_PAGE_OFFSET
@@ -1644,24 +1099,25 @@
 #define KVM_X86_NOTIFY_VMEXIT_ENABLED (1ULL << 0)
 #define KVM_X86_NOTIFY_VMEXIT_USER (1ULL << 1)
 #define KVM_S390_ZPCI_OP _IOW(KVMIO, 0xd1, struct kvm_s390_zpci_op)
-struct kvm_s390_zpci_op {
-  __u32 fh;
-  __u8 op;
-  __u8 pad[3];
-  union {
-    struct {
-      __u64 ibv;
-      __u64 sb;
-      __u32 flags;
-      __u32 noi;
-      __u8 isc;
-      __u8 sbo;
-      __u16 pad;
-    } reg_aen;
-    __u64 reserved[8];
-  } u;
+#define KVM_SET_MEMORY_ATTRIBUTES _IOW(KVMIO, 0xd2, struct kvm_memory_attributes)
+struct kvm_memory_attributes {
+  __u64 address;
+  __u64 size;
+  __u64 attributes;
+  __u64 flags;
 };
-#define KVM_S390_ZPCIOP_REG_AEN 0
-#define KVM_S390_ZPCIOP_DEREG_AEN 1
-#define KVM_S390_ZPCIOP_REGAEN_HOST (1 << 0)
+#define KVM_MEMORY_ATTRIBUTE_PRIVATE (1ULL << 3)
+#define KVM_CREATE_GUEST_MEMFD _IOWR(KVMIO, 0xd4, struct kvm_create_guest_memfd)
+struct kvm_create_guest_memfd {
+  __u64 size;
+  __u64 flags;
+  __u64 reserved[6];
+};
+#define KVM_PRE_FAULT_MEMORY _IOWR(KVMIO, 0xd5, struct kvm_pre_fault_memory)
+struct kvm_pre_fault_memory {
+  __u64 gpa;
+  __u64 size;
+  __u64 flags;
+  __u64 padding[5];
+};
 #endif
diff --git a/libc/kernel/uapi/linux/kvm_para.h b/libc/kernel/uapi/linux/kvm_para.h
index 85084c2..762bd9c 100644
--- a/libc/kernel/uapi/linux/kvm_para.h
+++ b/libc/kernel/uapi/linux/kvm_para.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_KVM_PARA_H
 #define _UAPI__LINUX_KVM_PARA_H
 #define KVM_ENOSYS 1000
diff --git a/libc/kernel/uapi/linux/l2tp.h b/libc/kernel/uapi/linux/l2tp.h
index dee634e..d814716 100644
--- a/libc/kernel/uapi/linux/l2tp.h
+++ b/libc/kernel/uapi/linux/l2tp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_L2TP_H_
 #define _UAPI_LINUX_L2TP_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/landlock.h b/libc/kernel/uapi/linux/landlock.h
index c284ea4..f903ae6 100644
--- a/libc/kernel/uapi/linux/landlock.h
+++ b/libc/kernel/uapi/linux/landlock.h
@@ -1,35 +1,29 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_LANDLOCK_H
 #define _UAPI_LINUX_LANDLOCK_H
 #include <linux/types.h>
 struct landlock_ruleset_attr {
   __u64 handled_access_fs;
+  __u64 handled_access_net;
 };
 #define LANDLOCK_CREATE_RULESET_VERSION (1U << 0)
 enum landlock_rule_type {
   LANDLOCK_RULE_PATH_BENEATH = 1,
+  LANDLOCK_RULE_NET_PORT,
 };
 struct landlock_path_beneath_attr {
   __u64 allowed_access;
   __s32 parent_fd;
 } __attribute__((packed));
+struct landlock_net_port_attr {
+  __u64 allowed_access;
+  __u64 port;
+};
 #define LANDLOCK_ACCESS_FS_EXECUTE (1ULL << 0)
 #define LANDLOCK_ACCESS_FS_WRITE_FILE (1ULL << 1)
 #define LANDLOCK_ACCESS_FS_READ_FILE (1ULL << 2)
@@ -45,4 +39,7 @@
 #define LANDLOCK_ACCESS_FS_MAKE_SYM (1ULL << 12)
 #define LANDLOCK_ACCESS_FS_REFER (1ULL << 13)
 #define LANDLOCK_ACCESS_FS_TRUNCATE (1ULL << 14)
+#define LANDLOCK_ACCESS_FS_IOCTL_DEV (1ULL << 15)
+#define LANDLOCK_ACCESS_NET_BIND_TCP (1ULL << 0)
+#define LANDLOCK_ACCESS_NET_CONNECT_TCP (1ULL << 1)
 #endif
diff --git a/libc/kernel/uapi/linux/libc-compat.h b/libc/kernel/uapi/linux/libc-compat.h
index 447a46a..289b7c5 100644
--- a/libc/kernel/uapi/linux/libc-compat.h
+++ b/libc/kernel/uapi/linux/libc-compat.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LIBC_COMPAT_H
 #define _UAPI_LIBC_COMPAT_H
 #ifdef __GLIBC__
diff --git a/libc/kernel/uapi/linux/limits.h b/libc/kernel/uapi/linux/limits.h
index 101b7aa..e2d5103 100644
--- a/libc/kernel/uapi/linux/limits.h
+++ b/libc/kernel/uapi/linux/limits.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_LIMITS_H
 #define _UAPI_LINUX_LIMITS_H
 #define NR_OPEN 1024
diff --git a/libc/kernel/uapi/linux/lirc.h b/libc/kernel/uapi/linux/lirc.h
index dff0b63..2dea732 100644
--- a/libc/kernel/uapi/linux/lirc.h
+++ b/libc/kernel/uapi/linux/lirc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_LIRC_H
 #define _LINUX_LIRC_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/llc.h b/libc/kernel/uapi/linux/llc.h
index e6f778f..9e2d632 100644
--- a/libc/kernel/uapi/linux/llc.h
+++ b/libc/kernel/uapi/linux/llc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_LLC_H
 #define _UAPI__LINUX_LLC_H
 #include <linux/socket.h>
diff --git a/libc/kernel/uapi/linux/loadpin.h b/libc/kernel/uapi/linux/loadpin.h
index 2641939..69b9507 100644
--- a/libc/kernel/uapi/linux/loadpin.h
+++ b/libc/kernel/uapi/linux/loadpin.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_LOOP_LOADPIN_H
 #define _UAPI_LINUX_LOOP_LOADPIN_H
 #define LOADPIN_IOC_MAGIC 'L'
diff --git a/libc/kernel/uapi/linux/loop.h b/libc/kernel/uapi/linux/loop.h
index 56eba91..eb6ba1b 100644
--- a/libc/kernel/uapi/linux/loop.h
+++ b/libc/kernel/uapi/linux/loop.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_LOOP_H
 #define _UAPI_LINUX_LOOP_H
 #define LO_NAME_SIZE 64
diff --git a/libc/kernel/uapi/linux/lp.h b/libc/kernel/uapi/linux/lp.h
index 35d5d5a..277b3de 100644
--- a/libc/kernel/uapi/linux/lp.h
+++ b/libc/kernel/uapi/linux/lp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_LP_H
 #define _UAPI_LINUX_LP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/lsm.h b/libc/kernel/uapi/linux/lsm.h
new file mode 100644
index 0000000..3a3f152
--- /dev/null
+++ b/libc/kernel/uapi/linux/lsm.h
@@ -0,0 +1,41 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_LINUX_LSM_H
+#define _UAPI_LINUX_LSM_H
+#include <linux/stddef.h>
+#include <linux/types.h>
+#include <linux/unistd.h>
+struct lsm_ctx {
+  __u64 id;
+  __u64 flags;
+  __u64 len;
+  __u64 ctx_len;
+  __u8 ctx[] __counted_by(ctx_len);
+};
+#define LSM_ID_UNDEF 0
+#define LSM_ID_CAPABILITY 100
+#define LSM_ID_SELINUX 101
+#define LSM_ID_SMACK 102
+#define LSM_ID_TOMOYO 103
+#define LSM_ID_APPARMOR 104
+#define LSM_ID_YAMA 105
+#define LSM_ID_LOADPIN 106
+#define LSM_ID_SAFESETID 107
+#define LSM_ID_LOCKDOWN 108
+#define LSM_ID_BPF 109
+#define LSM_ID_LANDLOCK 110
+#define LSM_ID_IMA 111
+#define LSM_ID_EVM 112
+#define LSM_ATTR_UNDEF 0
+#define LSM_ATTR_CURRENT 100
+#define LSM_ATTR_EXEC 101
+#define LSM_ATTR_FSCREATE 102
+#define LSM_ATTR_KEYCREATE 103
+#define LSM_ATTR_PREV 104
+#define LSM_ATTR_SOCKCREATE 105
+#define LSM_FLAG_SINGLE 0x0001
+#endif
diff --git a/libc/kernel/uapi/linux/lwtunnel.h b/libc/kernel/uapi/linux/lwtunnel.h
index 94011dd..5cb0901 100644
--- a/libc/kernel/uapi/linux/lwtunnel.h
+++ b/libc/kernel/uapi/linux/lwtunnel.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LWTUNNEL_H_
 #define _UAPI_LWTUNNEL_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/magic.h b/libc/kernel/uapi/linux/magic.h
index ac2a0f3..5f2a2a2 100644
--- a/libc/kernel/uapi/linux/magic.h
+++ b/libc/kernel/uapi/linux/magic.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_MAGIC_H__
 #define __LINUX_MAGIC_H__
 #define ADFS_SUPER_MAGIC 0xadf5
@@ -53,6 +41,7 @@
 #define HOSTFS_SUPER_MAGIC 0x00c0ffee
 #define OVERLAYFS_SUPER_MAGIC 0x794c7630
 #define FUSE_SUPER_MAGIC 0x65735546
+#define BCACHEFS_SUPER_MAGIC 0xca451a4e
 #define MINIX_SUPER_MAGIC 0x137F
 #define MINIX_SUPER_MAGIC2 0x138F
 #define MINIX2_SUPER_MAGIC 0x2468
@@ -102,4 +91,5 @@
 #define DMA_BUF_MAGIC 0x444d4142
 #define DEVMEM_MAGIC 0x454d444d
 #define SECRETMEM_MAGIC 0x5345434d
+#define PID_FS_MAGIC 0x50494446
 #endif
diff --git a/libc/kernel/uapi/linux/major.h b/libc/kernel/uapi/linux/major.h
index f5e2cfb..24667ea 100644
--- a/libc/kernel/uapi/linux/major.h
+++ b/libc/kernel/uapi/linux/major.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_MAJOR_H
 #define _LINUX_MAJOR_H
 #define UNNAMED_MAJOR 0
diff --git a/libc/kernel/uapi/linux/map_to_14segment.h b/libc/kernel/uapi/linux/map_to_14segment.h
index 657df6c..9e4baa6 100644
--- a/libc/kernel/uapi/linux/map_to_14segment.h
+++ b/libc/kernel/uapi/linux/map_to_14segment.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef MAP_TO_14SEGMENT_H
 #define MAP_TO_14SEGMENT_H
 #include <linux/errno.h>
diff --git a/libc/kernel/uapi/linux/map_to_7segment.h b/libc/kernel/uapi/linux/map_to_7segment.h
index ccb76d3..cd2053b 100644
--- a/libc/kernel/uapi/linux/map_to_7segment.h
+++ b/libc/kernel/uapi/linux/map_to_7segment.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef MAP_TO_7SEGMENT_H
 #define MAP_TO_7SEGMENT_H
 #include <linux/errno.h>
diff --git a/libc/kernel/uapi/linux/matroxfb.h b/libc/kernel/uapi/linux/matroxfb.h
index 37f6322..fe854ce 100644
--- a/libc/kernel/uapi/linux/matroxfb.h
+++ b/libc/kernel/uapi/linux/matroxfb.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_MATROXFB_H__
 #define __LINUX_MATROXFB_H__
 #include <asm/ioctl.h>
diff --git a/libc/kernel/uapi/linux/max2175.h b/libc/kernel/uapi/linux/max2175.h
index e6998e1..995a9ba 100644
--- a/libc/kernel/uapi/linux/max2175.h
+++ b/libc/kernel/uapi/linux/max2175.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_MAX2175_H_
 #define __UAPI_MAX2175_H_
 #include <linux/v4l2-controls.h>
diff --git a/libc/kernel/uapi/linux/mctp.h b/libc/kernel/uapi/linux/mctp.h
index f02c12f..0057842 100644
--- a/libc/kernel/uapi/linux/mctp.h
+++ b/libc/kernel/uapi/linux/mctp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_MCTP_H
 #define __UAPI_MCTP_H
 #include <linux/types.h>
@@ -50,9 +38,18 @@
 #define MCTP_OPT_ADDR_EXT 1
 #define SIOCMCTPALLOCTAG (SIOCPROTOPRIVATE + 0)
 #define SIOCMCTPDROPTAG (SIOCPROTOPRIVATE + 1)
+#define SIOCMCTPALLOCTAG2 (SIOCPROTOPRIVATE + 2)
+#define SIOCMCTPDROPTAG2 (SIOCPROTOPRIVATE + 3)
 struct mctp_ioc_tag_ctl {
   mctp_eid_t peer_addr;
   __u8 tag;
   __u16 flags;
 };
+struct mctp_ioc_tag_ctl2 {
+  unsigned int net;
+  mctp_eid_t peer_addr;
+  mctp_eid_t local_addr;
+  __u16 flags;
+  __u8 tag;
+};
 #endif
diff --git a/libc/kernel/uapi/linux/mdio.h b/libc/kernel/uapi/linux/mdio.h
index 7a2c9af..7b51b73 100644
--- a/libc/kernel/uapi/linux/mdio.h
+++ b/libc/kernel/uapi/linux/mdio.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_MDIO_H__
 #define _UAPI__LINUX_MDIO_H__
 #include <linux/types.h>
@@ -78,7 +66,11 @@
 #define MDIO_AN_T1_LP_L 517
 #define MDIO_AN_T1_LP_M 518
 #define MDIO_AN_T1_LP_H 519
+#define MDIO_AN_10BT1_AN_CTRL 526
+#define MDIO_AN_10BT1_AN_STAT 527
 #define MDIO_PMA_PMD_BT1_CTRL 2100
+#define MDIO_PCS_1000BT1_CTRL 2304
+#define MDIO_PCS_1000BT1_STAT 2305
 #define MDIO_PMA_LASI_RXCTRL 0x9000
 #define MDIO_PMA_LASI_TXCTRL 0x9001
 #define MDIO_PMA_LASI_CTRL 0x9002
@@ -118,6 +110,8 @@
 #define MDIO_PMA_SPEED_1000 0x0010
 #define MDIO_PMA_SPEED_100 0x0020
 #define MDIO_PMA_SPEED_10 0x0040
+#define MDIO_PMA_SPEED_2_5G 0x2000
+#define MDIO_PMA_SPEED_5G 0x4000
 #define MDIO_PCS_SPEED_10P2B 0x0002
 #define MDIO_PCS_SPEED_2_5G 0x0040
 #define MDIO_PCS_SPEED_5G 0x0080
@@ -200,6 +194,28 @@
 #define MDIO_PMA_EXTABLE_10BT 0x0100
 #define MDIO_PMA_EXTABLE_BT1 0x0800
 #define MDIO_PMA_EXTABLE_NBT 0x4000
+#define MDIO_AN_C73_0_S_MASK GENMASK(4, 0)
+#define MDIO_AN_C73_0_E_MASK GENMASK(9, 5)
+#define MDIO_AN_C73_0_PAUSE BIT(10)
+#define MDIO_AN_C73_0_ASM_DIR BIT(11)
+#define MDIO_AN_C73_0_C2 BIT(12)
+#define MDIO_AN_C73_0_RF BIT(13)
+#define MDIO_AN_C73_0_ACK BIT(14)
+#define MDIO_AN_C73_0_NP BIT(15)
+#define MDIO_AN_C73_1_T_MASK GENMASK(4, 0)
+#define MDIO_AN_C73_1_1000BASE_KX BIT(5)
+#define MDIO_AN_C73_1_10GBASE_KX4 BIT(6)
+#define MDIO_AN_C73_1_10GBASE_KR BIT(7)
+#define MDIO_AN_C73_1_40GBASE_KR4 BIT(8)
+#define MDIO_AN_C73_1_40GBASE_CR4 BIT(9)
+#define MDIO_AN_C73_1_100GBASE_CR10 BIT(10)
+#define MDIO_AN_C73_1_100GBASE_KP4 BIT(11)
+#define MDIO_AN_C73_1_100GBASE_KR4 BIT(12)
+#define MDIO_AN_C73_1_100GBASE_CR4 BIT(13)
+#define MDIO_AN_C73_1_25GBASE_R_S BIT(14)
+#define MDIO_AN_C73_1_25GBASE_R BIT(15)
+#define MDIO_AN_C73_2_2500BASE_KX BIT(0)
+#define MDIO_AN_C73_2_5GBASE_KR BIT(1)
 #define MDIO_PHYXS_LNSTAT_SYNC0 0x0001
 #define MDIO_PHYXS_LNSTAT_SYNC1 0x0002
 #define MDIO_PHYXS_LNSTAT_SYNC2 0x0004
@@ -249,6 +265,8 @@
 #define MDIO_PMA_10T1L_STAT_LB_ABLE 0x2000
 #define MDIO_PCS_10T1L_CTRL_LB 0x4000
 #define MDIO_PCS_10T1L_CTRL_RESET 0x8000
+#define MDIO_PMA_PMD_BT1_B100_ABLE 0x0001
+#define MDIO_PMA_PMD_BT1_B1000_ABLE 0x0002
 #define MDIO_PMA_PMD_BT1_B10L_ABLE 0x0004
 #define MDIO_AN_T1_ADV_L_PAUSE_CAP ADVERTISE_PAUSE_CAP
 #define MDIO_AN_T1_ADV_L_PAUSE_ASYM ADVERTISE_PAUSE_ASYM
@@ -257,6 +275,8 @@
 #define MDIO_AN_T1_ADV_L_ACK ADVERTISE_LPACK
 #define MDIO_AN_T1_ADV_L_NEXT_PAGE_REQ ADVERTISE_NPAGE
 #define MDIO_AN_T1_ADV_M_B10L 0x4000
+#define MDIO_AN_T1_ADV_M_1000BT1 0x0080
+#define MDIO_AN_T1_ADV_M_100BT1 0x0020
 #define MDIO_AN_T1_ADV_M_MST 0x0010
 #define MDIO_AN_T1_ADV_H_10L_TX_HI_REQ 0x1000
 #define MDIO_AN_T1_ADV_H_10L_TX_HI 0x2000
@@ -270,7 +290,16 @@
 #define MDIO_AN_T1_LP_M_B10L 0x4000
 #define MDIO_AN_T1_LP_H_10L_TX_HI_REQ 0x1000
 #define MDIO_AN_T1_LP_H_10L_TX_HI 0x2000
+#define MDIO_AN_10BT1_AN_CTRL_ADV_EEE_T1L 0x4000
+#define MDIO_AN_10BT1_AN_STAT_LPA_EEE_T1L 0x4000
+#define MDIO_PMA_PMD_BT1_CTRL_STRAP 0x000F
+#define MDIO_PMA_PMD_BT1_CTRL_STRAP_B1000 0x0001
 #define MDIO_PMA_PMD_BT1_CTRL_CFG_MST 0x4000
+#define MDIO_PCS_1000BT1_CTRL_LOW_POWER 0x0800
+#define MDIO_PCS_1000BT1_CTRL_DISABLE_TX 0x4000
+#define MDIO_PCS_1000BT1_CTRL_RESET 0x8000
+#define MDIO_PCS_1000BT1_STAT_LINK 0x0004
+#define MDIO_PCS_1000BT1_STAT_FAULT 0x0080
 #define MDIO_AN_EEE_ADV_100TX 0x0002
 #define MDIO_AN_EEE_ADV_1000T 0x0004
 #define MDIO_EEE_100TX MDIO_AN_EEE_ADV_100TX
diff --git a/libc/kernel/uapi/linux/media-bus-format.h b/libc/kernel/uapi/linux/media-bus-format.h
index 87614cf..cb36554 100644
--- a/libc/kernel/uapi/linux/media-bus-format.h
+++ b/libc/kernel/uapi/linux/media-bus-format.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_MEDIA_BUS_FORMAT_H
 #define __LINUX_MEDIA_BUS_FORMAT_H
 #define MEDIA_BUS_FMT_FIXED 0x0001
@@ -30,8 +18,12 @@
 #define MEDIA_BUS_FMT_RGB565_2X8_BE 0x1007
 #define MEDIA_BUS_FMT_RGB565_2X8_LE 0x1008
 #define MEDIA_BUS_FMT_RGB666_1X18 0x1009
+#define MEDIA_BUS_FMT_RGB666_2X9_BE 0x1025
+#define MEDIA_BUS_FMT_BGR666_1X18 0x1023
 #define MEDIA_BUS_FMT_RBG888_1X24 0x100e
 #define MEDIA_BUS_FMT_RGB666_1X24_CPADHI 0x1015
+#define MEDIA_BUS_FMT_BGR666_1X24_CPADHI 0x1024
+#define MEDIA_BUS_FMT_RGB565_1X24_CPADHI 0x1022
 #define MEDIA_BUS_FMT_RGB666_1X7X3_SPWG 0x1010
 #define MEDIA_BUS_FMT_BGR888_1X24 0x1013
 #define MEDIA_BUS_FMT_BGR888_3X8 0x101b
@@ -134,4 +126,11 @@
 #define MEDIA_BUS_FMT_S5C_UYVY_JPEG_1X8 0x5001
 #define MEDIA_BUS_FMT_AHSV8888_1X32 0x6001
 #define MEDIA_BUS_FMT_METADATA_FIXED 0x7001
+#define MEDIA_BUS_FMT_META_8 0x8001
+#define MEDIA_BUS_FMT_META_10 0x8002
+#define MEDIA_BUS_FMT_META_12 0x8003
+#define MEDIA_BUS_FMT_META_14 0x8004
+#define MEDIA_BUS_FMT_META_16 0x8005
+#define MEDIA_BUS_FMT_META_20 0x8006
+#define MEDIA_BUS_FMT_META_24 0x8007
 #endif
diff --git a/libc/kernel/uapi/linux/media.h b/libc/kernel/uapi/linux/media.h
index fe97e90..a8c40c4 100644
--- a/libc/kernel/uapi/linux/media.h
+++ b/libc/kernel/uapi/linux/media.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_MEDIA_H
 #define __LINUX_MEDIA_H
 #include <linux/ioctl.h>
@@ -66,8 +54,8 @@
 #define MEDIA_ENT_F_ATV_DECODER (MEDIA_ENT_F_OLD_SUBDEV_BASE + 4)
 #define MEDIA_ENT_F_DV_DECODER (MEDIA_ENT_F_BASE + 0x6001)
 #define MEDIA_ENT_F_DV_ENCODER (MEDIA_ENT_F_BASE + 0x6002)
-#define MEDIA_ENT_FL_DEFAULT (1 << 0)
-#define MEDIA_ENT_FL_CONNECTOR (1 << 1)
+#define MEDIA_ENT_FL_DEFAULT (1U << 0)
+#define MEDIA_ENT_FL_CONNECTOR (1U << 1)
 #define MEDIA_ENT_ID_FLAG_NEXT (1U << 31)
 struct media_entity_desc {
   __u32 id;
@@ -101,22 +89,22 @@
     __u8 raw[184];
   };
 };
-#define MEDIA_PAD_FL_SINK (1 << 0)
-#define MEDIA_PAD_FL_SOURCE (1 << 1)
-#define MEDIA_PAD_FL_MUST_CONNECT (1 << 2)
+#define MEDIA_PAD_FL_SINK (1U << 0)
+#define MEDIA_PAD_FL_SOURCE (1U << 1)
+#define MEDIA_PAD_FL_MUST_CONNECT (1U << 2)
 struct media_pad_desc {
   __u32 entity;
   __u16 index;
   __u32 flags;
   __u32 reserved[2];
 };
-#define MEDIA_LNK_FL_ENABLED (1 << 0)
-#define MEDIA_LNK_FL_IMMUTABLE (1 << 1)
-#define MEDIA_LNK_FL_DYNAMIC (1 << 2)
+#define MEDIA_LNK_FL_ENABLED (1U << 0)
+#define MEDIA_LNK_FL_IMMUTABLE (1U << 1)
+#define MEDIA_LNK_FL_DYNAMIC (1U << 2)
 #define MEDIA_LNK_FL_LINK_TYPE (0xf << 28)
-#define MEDIA_LNK_FL_DATA_LINK (0 << 28)
-#define MEDIA_LNK_FL_INTERFACE_LINK (1 << 28)
-#define MEDIA_LNK_FL_ANCILLARY_LINK (2 << 28)
+#define MEDIA_LNK_FL_DATA_LINK (0U << 28)
+#define MEDIA_LNK_FL_INTERFACE_LINK (1U << 28)
+#define MEDIA_LNK_FL_ANCILLARY_LINK (2U << 28)
 struct media_link_desc {
   struct media_pad_desc source;
   struct media_pad_desc sink;
@@ -146,7 +134,7 @@
 #define MEDIA_INTF_T_ALSA_PCM_CAPTURE (MEDIA_INTF_T_ALSA_BASE)
 #define MEDIA_INTF_T_ALSA_PCM_PLAYBACK (MEDIA_INTF_T_ALSA_BASE + 1)
 #define MEDIA_INTF_T_ALSA_CONTROL (MEDIA_INTF_T_ALSA_BASE + 2)
-#define MEDIA_V2_ENTITY_HAS_FLAGS(media_version) ((media_version) >= ((4 << 16) | (19 << 8) | 0))
+#define MEDIA_V2_ENTITY_HAS_FLAGS(media_version) ((media_version) >= ((4U << 16) | (19U << 8) | 0U))
 struct media_v2_entity {
   __u32 id;
   char name[64];
@@ -168,7 +156,7 @@
     __u32 raw[16];
   };
 } __attribute__((packed));
-#define MEDIA_V2_PAD_HAS_INDEX(media_version) ((media_version) >= ((4 << 16) | (19 << 8) | 0))
+#define MEDIA_V2_PAD_HAS_INDEX(media_version) ((media_version) >= ((4U << 16) | (19U << 8) | 0U))
 struct media_v2_pad {
   __u32 id;
   __u32 entity_id;
@@ -229,5 +217,5 @@
 #define MEDIA_INTF_T_ALSA_HWDEP (MEDIA_INTF_T_ALSA_BASE + 5)
 #define MEDIA_INTF_T_ALSA_SEQUENCER (MEDIA_INTF_T_ALSA_BASE + 6)
 #define MEDIA_INTF_T_ALSA_TIMER (MEDIA_INTF_T_ALSA_BASE + 7)
-#define MEDIA_API_VERSION ((0 << 16) | (1 << 8) | 0)
+#define MEDIA_API_VERSION ((0U << 16) | (1U << 8) | 0U)
 #endif
diff --git a/libc/kernel/uapi/linux/media/raspberrypi/pisp_be_config.h b/libc/kernel/uapi/linux/media/raspberrypi/pisp_be_config.h
new file mode 100644
index 0000000..2e981ad
--- /dev/null
+++ b/libc/kernel/uapi/linux/media/raspberrypi/pisp_be_config.h
@@ -0,0 +1,418 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_PISP_BE_CONFIG_H_
+#define _UAPI_PISP_BE_CONFIG_H_
+#include <linux/types.h>
+#include "pisp_common.h"
+#define PISP_BACK_END_INPUT_ALIGN 4u
+#define PISP_BACK_END_COMPRESSED_ALIGN 8u
+#define PISP_BACK_END_OUTPUT_MIN_ALIGN 16u
+#define PISP_BACK_END_OUTPUT_MAX_ALIGN 64u
+#define PISP_BACK_END_MIN_TILE_WIDTH 16u
+#define PISP_BACK_END_MIN_TILE_HEIGHT 16u
+#define PISP_BACK_END_NUM_OUTPUTS 2
+#define PISP_BACK_END_HOG_OUTPUT 1
+#define PISP_BACK_END_NUM_TILES 64
+enum pisp_be_bayer_enable {
+  PISP_BE_BAYER_ENABLE_INPUT = 0x000001,
+  PISP_BE_BAYER_ENABLE_DECOMPRESS = 0x000002,
+  PISP_BE_BAYER_ENABLE_DPC = 0x000004,
+  PISP_BE_BAYER_ENABLE_GEQ = 0x000008,
+  PISP_BE_BAYER_ENABLE_TDN_INPUT = 0x000010,
+  PISP_BE_BAYER_ENABLE_TDN_DECOMPRESS = 0x000020,
+  PISP_BE_BAYER_ENABLE_TDN = 0x000040,
+  PISP_BE_BAYER_ENABLE_TDN_COMPRESS = 0x000080,
+  PISP_BE_BAYER_ENABLE_TDN_OUTPUT = 0x000100,
+  PISP_BE_BAYER_ENABLE_SDN = 0x000200,
+  PISP_BE_BAYER_ENABLE_BLC = 0x000400,
+  PISP_BE_BAYER_ENABLE_STITCH_INPUT = 0x000800,
+  PISP_BE_BAYER_ENABLE_STITCH_DECOMPRESS = 0x001000,
+  PISP_BE_BAYER_ENABLE_STITCH = 0x002000,
+  PISP_BE_BAYER_ENABLE_STITCH_COMPRESS = 0x004000,
+  PISP_BE_BAYER_ENABLE_STITCH_OUTPUT = 0x008000,
+  PISP_BE_BAYER_ENABLE_WBG = 0x010000,
+  PISP_BE_BAYER_ENABLE_CDN = 0x020000,
+  PISP_BE_BAYER_ENABLE_LSC = 0x040000,
+  PISP_BE_BAYER_ENABLE_TONEMAP = 0x080000,
+  PISP_BE_BAYER_ENABLE_CAC = 0x100000,
+  PISP_BE_BAYER_ENABLE_DEBIN = 0x200000,
+  PISP_BE_BAYER_ENABLE_DEMOSAIC = 0x400000,
+};
+enum pisp_be_rgb_enable {
+  PISP_BE_RGB_ENABLE_INPUT = 0x000001,
+  PISP_BE_RGB_ENABLE_CCM = 0x000002,
+  PISP_BE_RGB_ENABLE_SAT_CONTROL = 0x000004,
+  PISP_BE_RGB_ENABLE_YCBCR = 0x000008,
+  PISP_BE_RGB_ENABLE_FALSE_COLOUR = 0x000010,
+  PISP_BE_RGB_ENABLE_SHARPEN = 0x000020,
+  PISP_BE_RGB_ENABLE_YCBCR_INVERSE = 0x000080,
+  PISP_BE_RGB_ENABLE_GAMMA = 0x000100,
+  PISP_BE_RGB_ENABLE_CSC0 = 0x000200,
+  PISP_BE_RGB_ENABLE_CSC1 = 0x000400,
+  PISP_BE_RGB_ENABLE_DOWNSCALE0 = 0x001000,
+  PISP_BE_RGB_ENABLE_DOWNSCALE1 = 0x002000,
+  PISP_BE_RGB_ENABLE_RESAMPLE0 = 0x008000,
+  PISP_BE_RGB_ENABLE_RESAMPLE1 = 0x010000,
+  PISP_BE_RGB_ENABLE_OUTPUT0 = 0x040000,
+  PISP_BE_RGB_ENABLE_OUTPUT1 = 0x080000,
+  PISP_BE_RGB_ENABLE_HOG = 0x200000
+};
+#define PISP_BE_RGB_ENABLE_CSC(i) (PISP_BE_RGB_ENABLE_CSC0 << (i))
+#define PISP_BE_RGB_ENABLE_DOWNSCALE(i) (PISP_BE_RGB_ENABLE_DOWNSCALE0 << (i))
+#define PISP_BE_RGB_ENABLE_RESAMPLE(i) (PISP_BE_RGB_ENABLE_RESAMPLE0 << (i))
+#define PISP_BE_RGB_ENABLE_OUTPUT(i) (PISP_BE_RGB_ENABLE_OUTPUT0 << (i))
+enum pisp_be_dirty {
+  PISP_BE_DIRTY_GLOBAL = 0x0001,
+  PISP_BE_DIRTY_SH_FC_COMBINE = 0x0002,
+  PISP_BE_DIRTY_CROP = 0x0004
+};
+struct pisp_be_global_config {
+  __u32 bayer_enables;
+  __u32 rgb_enables;
+  __u8 bayer_order;
+  __u8 pad[3];
+} __attribute__((packed));
+struct pisp_be_input_buffer_config {
+  __u32 addr[3][2];
+} __attribute__((packed));
+struct pisp_be_dpc_config {
+  __u8 coeff_level;
+  __u8 coeff_range;
+  __u8 pad;
+#define PISP_BE_DPC_FLAG_FOLDBACK 1
+  __u8 flags;
+} __attribute__((packed));
+struct pisp_be_geq_config {
+  __u16 offset;
+#define PISP_BE_GEQ_SHARPER (1U << 15)
+#define PISP_BE_GEQ_SLOPE ((1 << 10) - 1)
+  __u16 slope_sharper;
+  __u16 min;
+  __u16 max;
+} __attribute__((packed));
+struct pisp_be_tdn_input_buffer_config {
+  __u32 addr[2];
+} __attribute__((packed));
+struct pisp_be_tdn_config {
+  __u16 black_level;
+  __u16 ratio;
+  __u16 noise_constant;
+  __u16 noise_slope;
+  __u16 threshold;
+  __u8 reset;
+  __u8 pad;
+} __attribute__((packed));
+struct pisp_be_tdn_output_buffer_config {
+  __u32 addr[2];
+} __attribute__((packed));
+struct pisp_be_sdn_config {
+  __u16 black_level;
+  __u8 leakage;
+  __u8 pad;
+  __u16 noise_constant;
+  __u16 noise_slope;
+  __u16 noise_constant2;
+  __u16 noise_slope2;
+} __attribute__((packed));
+struct pisp_be_stitch_input_buffer_config {
+  __u32 addr[2];
+} __attribute__((packed));
+#define PISP_BE_STITCH_STREAMING_LONG 0x8000
+#define PISP_BE_STITCH_EXPOSURE_RATIO_MASK 0x7fff
+struct pisp_be_stitch_config {
+  __u16 threshold_lo;
+  __u8 threshold_diff_power;
+  __u8 pad;
+  __u16 exposure_ratio;
+  __u8 motion_threshold_256;
+  __u8 motion_threshold_recip;
+} __attribute__((packed));
+struct pisp_be_stitch_output_buffer_config {
+  __u32 addr[2];
+} __attribute__((packed));
+struct pisp_be_cdn_config {
+  __u16 thresh;
+  __u8 iir_strength;
+  __u8 g_adjust;
+} __attribute__((packed));
+#define PISP_BE_LSC_LOG_GRID_SIZE 5
+#define PISP_BE_LSC_GRID_SIZE (1 << PISP_BE_LSC_LOG_GRID_SIZE)
+#define PISP_BE_LSC_STEP_PRECISION 18
+struct pisp_be_lsc_config {
+  __u16 grid_step_x;
+  __u16 grid_step_y;
+#define PISP_BE_LSC_LUT_SIZE (PISP_BE_LSC_GRID_SIZE + 1)
+  __u32 lut_packed[PISP_BE_LSC_LUT_SIZE][PISP_BE_LSC_LUT_SIZE];
+} __attribute__((packed));
+struct pisp_be_lsc_extra {
+  __u16 offset_x;
+  __u16 offset_y;
+} __attribute__((packed));
+#define PISP_BE_CAC_LOG_GRID_SIZE 3
+#define PISP_BE_CAC_GRID_SIZE (1 << PISP_BE_CAC_LOG_GRID_SIZE)
+#define PISP_BE_CAC_STEP_PRECISION 20
+struct pisp_be_cac_config {
+  __u16 grid_step_x;
+  __u16 grid_step_y;
+#define PISP_BE_CAC_LUT_SIZE (PISP_BE_CAC_GRID_SIZE + 1)
+  __s8 lut[PISP_BE_CAC_LUT_SIZE][PISP_BE_CAC_LUT_SIZE][2][2];
+} __attribute__((packed));
+struct pisp_be_cac_extra {
+  __u16 offset_x;
+  __u16 offset_y;
+} __attribute__((packed));
+#define PISP_BE_DEBIN_NUM_COEFFS 4
+struct pisp_be_debin_config {
+  __s8 coeffs[PISP_BE_DEBIN_NUM_COEFFS];
+  __s8 h_enable;
+  __s8 v_enable;
+  __s8 pad[2];
+} __attribute__((packed));
+#define PISP_BE_TONEMAP_LUT_SIZE 64
+struct pisp_be_tonemap_config {
+  __u16 detail_constant;
+  __u16 detail_slope;
+  __u16 iir_strength;
+  __u16 strength;
+  __u32 lut[PISP_BE_TONEMAP_LUT_SIZE];
+} __attribute__((packed));
+struct pisp_be_demosaic_config {
+  __u8 sharper;
+  __u8 fc_mode;
+  __u8 pad[2];
+} __attribute__((packed));
+struct pisp_be_ccm_config {
+  __s16 coeffs[9];
+  __u8 pad[2];
+  __s32 offsets[3];
+} __attribute__((packed));
+struct pisp_be_sat_control_config {
+  __u8 shift_r;
+  __u8 shift_g;
+  __u8 shift_b;
+  __u8 pad;
+} __attribute__((packed));
+struct pisp_be_false_colour_config {
+  __u8 distance;
+  __u8 pad[3];
+} __attribute__((packed));
+#define PISP_BE_SHARPEN_SIZE 5
+#define PISP_BE_SHARPEN_FUNC_NUM_POINTS 9
+struct pisp_be_sharpen_config {
+  __s8 kernel0[PISP_BE_SHARPEN_SIZE * PISP_BE_SHARPEN_SIZE];
+  __s8 pad0[3];
+  __s8 kernel1[PISP_BE_SHARPEN_SIZE * PISP_BE_SHARPEN_SIZE];
+  __s8 pad1[3];
+  __s8 kernel2[PISP_BE_SHARPEN_SIZE * PISP_BE_SHARPEN_SIZE];
+  __s8 pad2[3];
+  __s8 kernel3[PISP_BE_SHARPEN_SIZE * PISP_BE_SHARPEN_SIZE];
+  __s8 pad3[3];
+  __s8 kernel4[PISP_BE_SHARPEN_SIZE * PISP_BE_SHARPEN_SIZE];
+  __s8 pad4[3];
+  __u16 threshold_offset0;
+  __u16 threshold_slope0;
+  __u16 scale0;
+  __u16 pad5;
+  __u16 threshold_offset1;
+  __u16 threshold_slope1;
+  __u16 scale1;
+  __u16 pad6;
+  __u16 threshold_offset2;
+  __u16 threshold_slope2;
+  __u16 scale2;
+  __u16 pad7;
+  __u16 threshold_offset3;
+  __u16 threshold_slope3;
+  __u16 scale3;
+  __u16 pad8;
+  __u16 threshold_offset4;
+  __u16 threshold_slope4;
+  __u16 scale4;
+  __u16 pad9;
+  __u16 positive_strength;
+  __u16 positive_pre_limit;
+  __u16 positive_func[PISP_BE_SHARPEN_FUNC_NUM_POINTS];
+  __u16 positive_limit;
+  __u16 negative_strength;
+  __u16 negative_pre_limit;
+  __u16 negative_func[PISP_BE_SHARPEN_FUNC_NUM_POINTS];
+  __u16 negative_limit;
+  __u8 enables;
+  __u8 white;
+  __u8 black;
+  __u8 grey;
+} __attribute__((packed));
+struct pisp_be_sh_fc_combine_config {
+  __u8 y_factor;
+  __u8 c1_factor;
+  __u8 c2_factor;
+  __u8 pad;
+} __attribute__((packed));
+#define PISP_BE_GAMMA_LUT_SIZE 64
+struct pisp_be_gamma_config {
+  __u32 lut[PISP_BE_GAMMA_LUT_SIZE];
+} __attribute__((packed));
+struct pisp_be_crop_config {
+  __u16 offset_x, offset_y;
+  __u16 width, height;
+} __attribute__((packed));
+#define PISP_BE_RESAMPLE_FILTER_SIZE 96
+struct pisp_be_resample_config {
+  __u16 scale_factor_h, scale_factor_v;
+  __s16 coef[PISP_BE_RESAMPLE_FILTER_SIZE];
+} __attribute__((packed));
+struct pisp_be_resample_extra {
+  __u16 scaled_width;
+  __u16 scaled_height;
+  __s16 initial_phase_h[3];
+  __s16 initial_phase_v[3];
+} __attribute__((packed));
+struct pisp_be_downscale_config {
+  __u16 scale_factor_h;
+  __u16 scale_factor_v;
+  __u16 scale_recip_h;
+  __u16 scale_recip_v;
+} __attribute__((packed));
+struct pisp_be_downscale_extra {
+  __u16 scaled_width;
+  __u16 scaled_height;
+} __attribute__((packed));
+struct pisp_be_hog_config {
+  __u8 compute_signed;
+  __u8 channel_mix[3];
+  __u32 stride;
+} __attribute__((packed));
+struct pisp_be_axi_config {
+  __u8 r_qos;
+  __u8 r_cache_prot;
+  __u8 w_qos;
+  __u8 w_cache_prot;
+} __attribute__((packed));
+enum pisp_be_transform {
+  PISP_BE_TRANSFORM_NONE = 0x0,
+  PISP_BE_TRANSFORM_HFLIP = 0x1,
+  PISP_BE_TRANSFORM_VFLIP = 0x2,
+  PISP_BE_TRANSFORM_ROT180 = (PISP_BE_TRANSFORM_HFLIP | PISP_BE_TRANSFORM_VFLIP)
+};
+struct pisp_be_output_format_config {
+  struct pisp_image_format_config image;
+  __u8 transform;
+  __u8 pad[3];
+  __u16 lo;
+  __u16 hi;
+  __u16 lo2;
+  __u16 hi2;
+} __attribute__((packed));
+struct pisp_be_output_buffer_config {
+  __u32 addr[3][2];
+} __attribute__((packed));
+struct pisp_be_hog_buffer_config {
+  __u32 addr[2];
+} __attribute__((packed));
+struct pisp_be_config {
+  struct pisp_be_input_buffer_config input_buffer;
+  struct pisp_be_tdn_input_buffer_config tdn_input_buffer;
+  struct pisp_be_stitch_input_buffer_config stitch_input_buffer;
+  struct pisp_be_tdn_output_buffer_config tdn_output_buffer;
+  struct pisp_be_stitch_output_buffer_config stitch_output_buffer;
+  struct pisp_be_output_buffer_config output_buffer[PISP_BACK_END_NUM_OUTPUTS];
+  struct pisp_be_hog_buffer_config hog_buffer;
+  struct pisp_be_global_config global;
+  struct pisp_image_format_config input_format;
+  struct pisp_decompress_config decompress;
+  struct pisp_be_dpc_config dpc;
+  struct pisp_be_geq_config geq;
+  struct pisp_image_format_config tdn_input_format;
+  struct pisp_decompress_config tdn_decompress;
+  struct pisp_be_tdn_config tdn;
+  struct pisp_compress_config tdn_compress;
+  struct pisp_image_format_config tdn_output_format;
+  struct pisp_be_sdn_config sdn;
+  struct pisp_bla_config blc;
+  struct pisp_compress_config stitch_compress;
+  struct pisp_image_format_config stitch_output_format;
+  struct pisp_image_format_config stitch_input_format;
+  struct pisp_decompress_config stitch_decompress;
+  struct pisp_be_stitch_config stitch;
+  struct pisp_be_lsc_config lsc;
+  struct pisp_wbg_config wbg;
+  struct pisp_be_cdn_config cdn;
+  struct pisp_be_cac_config cac;
+  struct pisp_be_debin_config debin;
+  struct pisp_be_tonemap_config tonemap;
+  struct pisp_be_demosaic_config demosaic;
+  struct pisp_be_ccm_config ccm;
+  struct pisp_be_sat_control_config sat_control;
+  struct pisp_be_ccm_config ycbcr;
+  struct pisp_be_sharpen_config sharpen;
+  struct pisp_be_false_colour_config false_colour;
+  struct pisp_be_sh_fc_combine_config sh_fc_combine;
+  struct pisp_be_ccm_config ycbcr_inverse;
+  struct pisp_be_gamma_config gamma;
+  struct pisp_be_ccm_config csc[PISP_BACK_END_NUM_OUTPUTS];
+  struct pisp_be_downscale_config downscale[PISP_BACK_END_NUM_OUTPUTS];
+  struct pisp_be_resample_config resample[PISP_BACK_END_NUM_OUTPUTS];
+  struct pisp_be_output_format_config output_format[PISP_BACK_END_NUM_OUTPUTS];
+  struct pisp_be_hog_config hog;
+  struct pisp_be_axi_config axi;
+  struct pisp_be_lsc_extra lsc_extra;
+  struct pisp_be_cac_extra cac_extra;
+  struct pisp_be_downscale_extra downscale_extra[PISP_BACK_END_NUM_OUTPUTS];
+  struct pisp_be_resample_extra resample_extra[PISP_BACK_END_NUM_OUTPUTS];
+  struct pisp_be_crop_config crop;
+  struct pisp_image_format_config hog_format;
+  __u32 dirty_flags_bayer;
+  __u32 dirty_flags_rgb;
+  __u32 dirty_flags_extra;
+} __attribute__((packed));
+enum pisp_tile_edge {
+  PISP_LEFT_EDGE = (1 << 0),
+  PISP_RIGHT_EDGE = (1 << 1),
+  PISP_TOP_EDGE = (1 << 2),
+  PISP_BOTTOM_EDGE = (1 << 3)
+};
+struct pisp_tile {
+  __u8 edge;
+  __u8 pad0[3];
+  __u32 input_addr_offset;
+  __u32 input_addr_offset2;
+  __u16 input_offset_x;
+  __u16 input_offset_y;
+  __u16 input_width;
+  __u16 input_height;
+  __u32 tdn_input_addr_offset;
+  __u32 tdn_output_addr_offset;
+  __u32 stitch_input_addr_offset;
+  __u32 stitch_output_addr_offset;
+  __u32 lsc_grid_offset_x;
+  __u32 lsc_grid_offset_y;
+  __u32 cac_grid_offset_x;
+  __u32 cac_grid_offset_y;
+  __u16 crop_x_start[PISP_BACK_END_NUM_OUTPUTS];
+  __u16 crop_x_end[PISP_BACK_END_NUM_OUTPUTS];
+  __u16 crop_y_start[PISP_BACK_END_NUM_OUTPUTS];
+  __u16 crop_y_end[PISP_BACK_END_NUM_OUTPUTS];
+  __u16 downscale_phase_x[3 * PISP_BACK_END_NUM_OUTPUTS];
+  __u16 downscale_phase_y[3 * PISP_BACK_END_NUM_OUTPUTS];
+  __u16 resample_in_width[PISP_BACK_END_NUM_OUTPUTS];
+  __u16 resample_in_height[PISP_BACK_END_NUM_OUTPUTS];
+  __u16 resample_phase_x[3 * PISP_BACK_END_NUM_OUTPUTS];
+  __u16 resample_phase_y[3 * PISP_BACK_END_NUM_OUTPUTS];
+  __u16 output_offset_x[PISP_BACK_END_NUM_OUTPUTS];
+  __u16 output_offset_y[PISP_BACK_END_NUM_OUTPUTS];
+  __u16 output_width[PISP_BACK_END_NUM_OUTPUTS];
+  __u16 output_height[PISP_BACK_END_NUM_OUTPUTS];
+  __u32 output_addr_offset[PISP_BACK_END_NUM_OUTPUTS];
+  __u32 output_addr_offset2[PISP_BACK_END_NUM_OUTPUTS];
+  __u32 output_hog_addr_offset;
+} __attribute__((packed));
+struct pisp_be_tiles_config {
+  struct pisp_be_config config;
+  struct pisp_tile tiles[PISP_BACK_END_NUM_TILES];
+  __u32 num_tiles;
+} __attribute__((packed));
+#endif
diff --git a/libc/kernel/uapi/linux/media/raspberrypi/pisp_common.h b/libc/kernel/uapi/linux/media/raspberrypi/pisp_common.h
new file mode 100644
index 0000000..0e0b23f
--- /dev/null
+++ b/libc/kernel/uapi/linux/media/raspberrypi/pisp_common.h
@@ -0,0 +1,119 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_PISP_COMMON_H_
+#define _UAPI_PISP_COMMON_H_
+#include <linux/types.h>
+struct pisp_image_format_config {
+  __u16 width;
+  __u16 height;
+  __u32 format;
+  __s32 stride;
+  __s32 stride2;
+} __attribute__((packed));
+enum pisp_bayer_order {
+  PISP_BAYER_ORDER_RGGB = 0,
+  PISP_BAYER_ORDER_GBRG = 1,
+  PISP_BAYER_ORDER_BGGR = 2,
+  PISP_BAYER_ORDER_GRBG = 3,
+  PISP_BAYER_ORDER_GREYSCALE = 128
+};
+enum pisp_image_format {
+  PISP_IMAGE_FORMAT_BPS_8 = 0x00000000,
+  PISP_IMAGE_FORMAT_BPS_10 = 0x00000001,
+  PISP_IMAGE_FORMAT_BPS_12 = 0x00000002,
+  PISP_IMAGE_FORMAT_BPS_16 = 0x00000003,
+  PISP_IMAGE_FORMAT_BPS_MASK = 0x00000003,
+  PISP_IMAGE_FORMAT_PLANARITY_INTERLEAVED = 0x00000000,
+  PISP_IMAGE_FORMAT_PLANARITY_SEMI_PLANAR = 0x00000010,
+  PISP_IMAGE_FORMAT_PLANARITY_PLANAR = 0x00000020,
+  PISP_IMAGE_FORMAT_PLANARITY_MASK = 0x00000030,
+  PISP_IMAGE_FORMAT_SAMPLING_444 = 0x00000000,
+  PISP_IMAGE_FORMAT_SAMPLING_422 = 0x00000100,
+  PISP_IMAGE_FORMAT_SAMPLING_420 = 0x00000200,
+  PISP_IMAGE_FORMAT_SAMPLING_MASK = 0x00000300,
+  PISP_IMAGE_FORMAT_ORDER_NORMAL = 0x00000000,
+  PISP_IMAGE_FORMAT_ORDER_SWAPPED = 0x00001000,
+  PISP_IMAGE_FORMAT_SHIFT_0 = 0x00000000,
+  PISP_IMAGE_FORMAT_SHIFT_1 = 0x00010000,
+  PISP_IMAGE_FORMAT_SHIFT_2 = 0x00020000,
+  PISP_IMAGE_FORMAT_SHIFT_3 = 0x00030000,
+  PISP_IMAGE_FORMAT_SHIFT_4 = 0x00040000,
+  PISP_IMAGE_FORMAT_SHIFT_5 = 0x00050000,
+  PISP_IMAGE_FORMAT_SHIFT_6 = 0x00060000,
+  PISP_IMAGE_FORMAT_SHIFT_7 = 0x00070000,
+  PISP_IMAGE_FORMAT_SHIFT_8 = 0x00080000,
+  PISP_IMAGE_FORMAT_SHIFT_MASK = 0x000f0000,
+  PISP_IMAGE_FORMAT_BPP_32 = 0x00100000,
+  PISP_IMAGE_FORMAT_UNCOMPRESSED = 0x00000000,
+  PISP_IMAGE_FORMAT_COMPRESSION_MODE_1 = 0x01000000,
+  PISP_IMAGE_FORMAT_COMPRESSION_MODE_2 = 0x02000000,
+  PISP_IMAGE_FORMAT_COMPRESSION_MODE_3 = 0x03000000,
+  PISP_IMAGE_FORMAT_COMPRESSION_MASK = 0x03000000,
+  PISP_IMAGE_FORMAT_HOG_SIGNED = 0x04000000,
+  PISP_IMAGE_FORMAT_HOG_UNSIGNED = 0x08000000,
+  PISP_IMAGE_FORMAT_INTEGRAL_IMAGE = 0x10000000,
+  PISP_IMAGE_FORMAT_WALLPAPER_ROLL = 0x20000000,
+  PISP_IMAGE_FORMAT_THREE_CHANNEL = 0x40000000,
+  PISP_IMAGE_FORMAT_SINGLE_16 = PISP_IMAGE_FORMAT_BPS_16,
+  PISP_IMAGE_FORMAT_THREE_16 = PISP_IMAGE_FORMAT_BPS_16 | PISP_IMAGE_FORMAT_THREE_CHANNEL
+};
+#define PISP_IMAGE_FORMAT_BPS_8(fmt) (((fmt) & PISP_IMAGE_FORMAT_BPS_MASK) == PISP_IMAGE_FORMAT_BPS_8)
+#define PISP_IMAGE_FORMAT_BPS_10(fmt) (((fmt) & PISP_IMAGE_FORMAT_BPS_MASK) == PISP_IMAGE_FORMAT_BPS_10)
+#define PISP_IMAGE_FORMAT_BPS_12(fmt) (((fmt) & PISP_IMAGE_FORMAT_BPS_MASK) == PISP_IMAGE_FORMAT_BPS_12)
+#define PISP_IMAGE_FORMAT_BPS_16(fmt) (((fmt) & PISP_IMAGE_FORMAT_BPS_MASK) == PISP_IMAGE_FORMAT_BPS_16)
+#define PISP_IMAGE_FORMAT_BPS(fmt) (((fmt) & PISP_IMAGE_FORMAT_BPS_MASK) ? 8 + (2 << (((fmt) & PISP_IMAGE_FORMAT_BPS_MASK) - 1)) : 8)
+#define PISP_IMAGE_FORMAT_SHIFT(fmt) (((fmt) & PISP_IMAGE_FORMAT_SHIFT_MASK) / PISP_IMAGE_FORMAT_SHIFT_1)
+#define PISP_IMAGE_FORMAT_THREE_CHANNEL(fmt) ((fmt) & PISP_IMAGE_FORMAT_THREE_CHANNEL)
+#define PISP_IMAGE_FORMAT_SINGLE_CHANNEL(fmt) (! ((fmt) & PISP_IMAGE_FORMAT_THREE_CHANNEL))
+#define PISP_IMAGE_FORMAT_COMPRESSED(fmt) (((fmt) & PISP_IMAGE_FORMAT_COMPRESSION_MASK) != PISP_IMAGE_FORMAT_UNCOMPRESSED)
+#define PISP_IMAGE_FORMAT_SAMPLING_444(fmt) (((fmt) & PISP_IMAGE_FORMAT_SAMPLING_MASK) == PISP_IMAGE_FORMAT_SAMPLING_444)
+#define PISP_IMAGE_FORMAT_SAMPLING_422(fmt) (((fmt) & PISP_IMAGE_FORMAT_SAMPLING_MASK) == PISP_IMAGE_FORMAT_SAMPLING_422)
+#define PISP_IMAGE_FORMAT_SAMPLING_420(fmt) (((fmt) & PISP_IMAGE_FORMAT_SAMPLING_MASK) == PISP_IMAGE_FORMAT_SAMPLING_420)
+#define PISP_IMAGE_FORMAT_ORDER_NORMAL(fmt) (! ((fmt) & PISP_IMAGE_FORMAT_ORDER_SWAPPED))
+#define PISP_IMAGE_FORMAT_ORDER_SWAPPED(fmt) ((fmt) & PISP_IMAGE_FORMAT_ORDER_SWAPPED)
+#define PISP_IMAGE_FORMAT_INTERLEAVED(fmt) (((fmt) & PISP_IMAGE_FORMAT_PLANARITY_MASK) == PISP_IMAGE_FORMAT_PLANARITY_INTERLEAVED)
+#define PISP_IMAGE_FORMAT_SEMIPLANAR(fmt) (((fmt) & PISP_IMAGE_FORMAT_PLANARITY_MASK) == PISP_IMAGE_FORMAT_PLANARITY_SEMI_PLANAR)
+#define PISP_IMAGE_FORMAT_PLANAR(fmt) (((fmt) & PISP_IMAGE_FORMAT_PLANARITY_MASK) == PISP_IMAGE_FORMAT_PLANARITY_PLANAR)
+#define PISP_IMAGE_FORMAT_WALLPAPER(fmt) ((fmt) & PISP_IMAGE_FORMAT_WALLPAPER_ROLL)
+#define PISP_IMAGE_FORMAT_BPP_32(fmt) ((fmt) & PISP_IMAGE_FORMAT_BPP_32)
+#define PISP_IMAGE_FORMAT_HOG(fmt) ((fmt) & (PISP_IMAGE_FORMAT_HOG_SIGNED | PISP_IMAGE_FORMAT_HOG_UNSIGNED))
+#define PISP_WALLPAPER_WIDTH 128
+struct pisp_bla_config {
+  __u16 black_level_r;
+  __u16 black_level_gr;
+  __u16 black_level_gb;
+  __u16 black_level_b;
+  __u16 output_black_level;
+  __u8 pad[2];
+} __attribute__((packed));
+struct pisp_wbg_config {
+  __u16 gain_r;
+  __u16 gain_g;
+  __u16 gain_b;
+  __u8 pad[2];
+} __attribute__((packed));
+struct pisp_compress_config {
+  __u16 offset;
+  __u8 pad;
+  __u8 mode;
+} __attribute__((packed));
+struct pisp_decompress_config {
+  __u16 offset;
+  __u8 pad;
+  __u8 mode;
+} __attribute__((packed));
+enum pisp_axi_flags {
+  PISP_AXI_FLAG_ALIGN = 128,
+  PISP_AXI_FLAG_PAD = 64,
+  PISP_AXI_FLAG_PANIC = 32,
+};
+struct pisp_axi_config {
+  __u8 maxlen_flags;
+  __u8 cache_prot;
+  __u16 qos;
+} __attribute__((packed));
+#endif
diff --git a/libc/kernel/uapi/linux/mei.h b/libc/kernel/uapi/linux/mei.h
index ed37abd..f99def1 100644
--- a/libc/kernel/uapi/linux/mei.h
+++ b/libc/kernel/uapi/linux/mei.h
@@ -1,24 +1,12 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_MEI_H
 #define _LINUX_MEI_H
-#include <linux/uuid.h>
+#include <linux/mei_uuid.h>
 #define IOCTL_MEI_CONNECT_CLIENT _IOWR('H', 0x01, struct mei_connect_client_data)
 struct mei_client {
   __u32 max_msg_length;
diff --git a/libc/kernel/uapi/linux/mei_uuid.h b/libc/kernel/uapi/linux/mei_uuid.h
new file mode 100644
index 0000000..a862f6f
--- /dev/null
+++ b/libc/kernel/uapi/linux/mei_uuid.h
@@ -0,0 +1,17 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_LINUX_MEI_UUID_H_
+#define _UAPI_LINUX_MEI_UUID_H_
+#include <linux/types.h>
+typedef struct {
+  __u8 b[16];
+} uuid_le;
+#define UUID_LE(a,b,c,d0,d1,d2,d3,d4,d5,d6,d7) \
+((uuid_le) \
+{ { (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, (b) & 0xff, ((b) >> 8) & 0xff, (c) & 0xff, ((c) >> 8) & 0xff, (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) } })
+#define NULL_UUID_LE UUID_LE(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
+#endif
diff --git a/libc/kernel/uapi/linux/membarrier.h b/libc/kernel/uapi/linux/membarrier.h
index 43c103b..febca56 100644
--- a/libc/kernel/uapi/linux/membarrier.h
+++ b/libc/kernel/uapi/linux/membarrier.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_MEMBARRIER_H
 #define _UAPI_LINUX_MEMBARRIER_H
 enum membarrier_cmd {
@@ -29,6 +17,7 @@
   MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE = (1 << 6),
   MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ = (1 << 7),
   MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ = (1 << 8),
+  MEMBARRIER_CMD_GET_REGISTRATIONS = (1 << 9),
   MEMBARRIER_CMD_SHARED = MEMBARRIER_CMD_GLOBAL,
 };
 enum membarrier_cmd_flag {
diff --git a/libc/kernel/uapi/linux/memfd.h b/libc/kernel/uapi/linux/memfd.h
index 914c076..5403c7a 100644
--- a/libc/kernel/uapi/linux/memfd.h
+++ b/libc/kernel/uapi/linux/memfd.h
@@ -1,27 +1,17 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_MEMFD_H
 #define _UAPI_LINUX_MEMFD_H
 #include <asm-generic/hugetlb_encode.h>
 #define MFD_CLOEXEC 0x0001U
 #define MFD_ALLOW_SEALING 0x0002U
 #define MFD_HUGETLB 0x0004U
+#define MFD_NOEXEC_SEAL 0x0008U
+#define MFD_EXEC 0x0010U
 #define MFD_HUGE_SHIFT HUGETLB_FLAG_ENCODE_SHIFT
 #define MFD_HUGE_MASK HUGETLB_FLAG_ENCODE_MASK
 #define MFD_HUGE_64KB HUGETLB_FLAG_ENCODE_64KB
diff --git a/libc/kernel/uapi/linux/mempolicy.h b/libc/kernel/uapi/linux/mempolicy.h
index f92970f..09ce41e 100644
--- a/libc/kernel/uapi/linux/mempolicy.h
+++ b/libc/kernel/uapi/linux/mempolicy.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_MEMPOLICY_H
 #define _UAPI_LINUX_MEMPOLICY_H
 #include <linux/errno.h>
@@ -26,6 +14,7 @@
   MPOL_INTERLEAVE,
   MPOL_LOCAL,
   MPOL_PREFERRED_MANY,
+  MPOL_WEIGHTED_INTERLEAVE,
   MPOL_MAX,
 };
 #define MPOL_F_STATIC_NODES (1 << 15)
diff --git a/libc/kernel/uapi/linux/meye.h b/libc/kernel/uapi/linux/meye.h
deleted file mode 100644
index a1112c4..0000000
--- a/libc/kernel/uapi/linux/meye.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef _MEYE_H_
-#define _MEYE_H_
-struct meye_params {
-  unsigned char subsample;
-  unsigned char quality;
-  unsigned char sharpness;
-  unsigned char agc;
-  unsigned char picture;
-  unsigned char framerate;
-};
-#define MEYEIOC_G_PARAMS _IOR('v', BASE_VIDIOC_PRIVATE + 0, struct meye_params)
-#define MEYEIOC_S_PARAMS _IOW('v', BASE_VIDIOC_PRIVATE + 1, struct meye_params)
-#define MEYEIOC_QBUF_CAPT _IOW('v', BASE_VIDIOC_PRIVATE + 2, int)
-#define MEYEIOC_SYNC _IOWR('v', BASE_VIDIOC_PRIVATE + 3, int)
-#define MEYEIOC_STILLCAPT _IO('v', BASE_VIDIOC_PRIVATE + 4)
-#define MEYEIOC_STILLJCAPT _IOR('v', BASE_VIDIOC_PRIVATE + 5, int)
-#define V4L2_CID_MEYE_AGC (V4L2_CID_USER_MEYE_BASE + 0)
-#define V4L2_CID_MEYE_PICTURE (V4L2_CID_USER_MEYE_BASE + 1)
-#define V4L2_CID_MEYE_FRAMERATE (V4L2_CID_USER_MEYE_BASE + 2)
-#endif
diff --git a/libc/kernel/uapi/linux/mii.h b/libc/kernel/uapi/linux/mii.h
index a489015..6db2710 100644
--- a/libc/kernel/uapi/linux/mii.h
+++ b/libc/kernel/uapi/linux/mii.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_MII_H__
 #define _UAPI__LINUX_MII_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/minix_fs.h b/libc/kernel/uapi/linux/minix_fs.h
index 0878efe..0e6c271 100644
--- a/libc/kernel/uapi/linux/minix_fs.h
+++ b/libc/kernel/uapi/linux/minix_fs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_MINIX_FS_H
 #define _LINUX_MINIX_FS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/misc/bcm_vk.h b/libc/kernel/uapi/linux/misc/bcm_vk.h
index b1b966d..5ee9723 100644
--- a/libc/kernel/uapi/linux/misc/bcm_vk.h
+++ b/libc/kernel/uapi/linux/misc/bcm_vk.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_LINUX_MISC_BCM_VK_H
 #define __UAPI_LINUX_MISC_BCM_VK_H
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/linux/mman.h b/libc/kernel/uapi/linux/mman.h
index 9fdccf6..f50b51c 100644
--- a/libc/kernel/uapi/linux/mman.h
+++ b/libc/kernel/uapi/linux/mman.h
@@ -1,25 +1,14 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_MMAN_H
 #define _UAPI_LINUX_MMAN_H
 #include <asm/mman.h>
 #include <asm-generic/hugetlb_encode.h>
+#include <linux/types.h>
 #define MREMAP_MAYMOVE 1
 #define MREMAP_FIXED 2
 #define MREMAP_DONTUNMAP 4
@@ -29,6 +18,7 @@
 #define MAP_SHARED 0x01
 #define MAP_PRIVATE 0x02
 #define MAP_SHARED_VALIDATE 0x03
+#define MAP_DROPPABLE 0x08
 #define MAP_HUGE_SHIFT HUGETLB_FLAG_ENCODE_SHIFT
 #define MAP_HUGE_MASK HUGETLB_FLAG_ENCODE_MASK
 #define MAP_HUGE_16KB HUGETLB_FLAG_ENCODE_16KB
@@ -44,4 +34,15 @@
 #define MAP_HUGE_1GB HUGETLB_FLAG_ENCODE_1GB
 #define MAP_HUGE_2GB HUGETLB_FLAG_ENCODE_2GB
 #define MAP_HUGE_16GB HUGETLB_FLAG_ENCODE_16GB
+struct cachestat_range {
+  __u64 off;
+  __u64 len;
+};
+struct cachestat {
+  __u64 nr_cache;
+  __u64 nr_dirty;
+  __u64 nr_writeback;
+  __u64 nr_evicted;
+  __u64 nr_recently_evicted;
+};
 #endif
diff --git a/libc/kernel/uapi/linux/mmc/ioctl.h b/libc/kernel/uapi/linux/mmc/ioctl.h
index 451134b..1989981 100644
--- a/libc/kernel/uapi/linux/mmc/ioctl.h
+++ b/libc/kernel/uapi/linux/mmc/ioctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef LINUX_MMC_IOCTL_H
 #define LINUX_MMC_IOCTL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/mmtimer.h b/libc/kernel/uapi/linux/mmtimer.h
index babdb24..867ddd6 100644
--- a/libc/kernel/uapi/linux/mmtimer.h
+++ b/libc/kernel/uapi/linux/mmtimer.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_MMTIMER_H
 #define _LINUX_MMTIMER_H
 #define MMTIMER_IOCTL_BASE 'm'
diff --git a/libc/kernel/uapi/linux/module.h b/libc/kernel/uapi/linux/module.h
index 34a4c56..17c103f 100644
--- a/libc/kernel/uapi/linux/module.h
+++ b/libc/kernel/uapi/linux/module.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_MODULE_H
 #define _UAPI_LINUX_MODULE_H
 #define MODULE_INIT_IGNORE_MODVERSIONS 1
diff --git a/libc/kernel/uapi/linux/mount.h b/libc/kernel/uapi/linux/mount.h
index 2099b48..c4278b5 100644
--- a/libc/kernel/uapi/linux/mount.h
+++ b/libc/kernel/uapi/linux/mount.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_MOUNT_H
 #define _UAPI_LINUX_MOUNT_H
 #include <linux/types.h>
@@ -63,7 +51,8 @@
 #define MOVE_MOUNT_T_AUTOMOUNTS 0x00000020
 #define MOVE_MOUNT_T_EMPTY_PATH 0x00000040
 #define MOVE_MOUNT_SET_GROUP 0x00000100
-#define MOVE_MOUNT__MASK 0x00000177
+#define MOVE_MOUNT_BENEATH 0x00000200
+#define MOVE_MOUNT__MASK 0x00000377
 #define FSOPEN_CLOEXEC 0x00000001
 #define FSPICK_CLOEXEC 0x00000001
 #define FSPICK_SYMLINK_NOFOLLOW 0x00000002
@@ -78,6 +67,7 @@
   FSCONFIG_SET_FD = 5,
   FSCONFIG_CMD_CREATE = 6,
   FSCONFIG_CMD_RECONFIGURE = 7,
+  FSCONFIG_CMD_CREATE_EXCL = 8,
 };
 #define FSMOUNT_CLOEXEC 0x00000001
 #define MOUNT_ATTR_RDONLY 0x00000001
@@ -98,4 +88,47 @@
   __u64 userns_fd;
 };
 #define MOUNT_ATTR_SIZE_VER0 32
+struct statmount {
+  __u32 size;
+  __u32 mnt_opts;
+  __u64 mask;
+  __u32 sb_dev_major;
+  __u32 sb_dev_minor;
+  __u64 sb_magic;
+  __u32 sb_flags;
+  __u32 fs_type;
+  __u64 mnt_id;
+  __u64 mnt_parent_id;
+  __u32 mnt_id_old;
+  __u32 mnt_parent_id_old;
+  __u64 mnt_attr;
+  __u64 mnt_propagation;
+  __u64 mnt_peer_group;
+  __u64 mnt_master;
+  __u64 propagate_from;
+  __u32 mnt_root;
+  __u32 mnt_point;
+  __u64 mnt_ns_id;
+  __u64 __spare2[49];
+  char str[];
+};
+struct mnt_id_req {
+  __u32 size;
+  __u32 spare;
+  __u64 mnt_id;
+  __u64 param;
+  __u64 mnt_ns_id;
+};
+#define MNT_ID_REQ_SIZE_VER0 24
+#define MNT_ID_REQ_SIZE_VER1 32
+#define STATMOUNT_SB_BASIC 0x00000001U
+#define STATMOUNT_MNT_BASIC 0x00000002U
+#define STATMOUNT_PROPAGATE_FROM 0x00000004U
+#define STATMOUNT_MNT_ROOT 0x00000008U
+#define STATMOUNT_MNT_POINT 0x00000010U
+#define STATMOUNT_FS_TYPE 0x00000020U
+#define STATMOUNT_MNT_NS_ID 0x00000040U
+#define STATMOUNT_MNT_OPTS 0x00000080U
+#define LSMT_ROOT 0xffffffffffffffff
+#define LISTMOUNT_REVERSE (1 << 0)
 #endif
diff --git a/libc/kernel/uapi/linux/mpls.h b/libc/kernel/uapi/linux/mpls.h
index 86d8e07..0e5a06f 100644
--- a/libc/kernel/uapi/linux/mpls.h
+++ b/libc/kernel/uapi/linux/mpls.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_MPLS_H
 #define _UAPI_MPLS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/mpls_iptunnel.h b/libc/kernel/uapi/linux/mpls_iptunnel.h
index 473cb0d..ea152e8 100644
--- a/libc/kernel/uapi/linux/mpls_iptunnel.h
+++ b/libc/kernel/uapi/linux/mpls_iptunnel.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_MPLS_IPTUNNEL_H
 #define _UAPI_LINUX_MPLS_IPTUNNEL_H
 enum {
diff --git a/libc/kernel/uapi/linux/mptcp.h b/libc/kernel/uapi/linux/mptcp.h
index 9f7215c..03d3691 100644
--- a/libc/kernel/uapi/linux/mptcp.h
+++ b/libc/kernel/uapi/linux/mptcp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_MPTCP_H
 #define _UAPI_MPTCP_H
 #include <netinet/in.h>
@@ -34,71 +22,16 @@
 #define MPTCP_SUBFLOW_FLAG_FULLY_ESTABLISHED _BITUL(6)
 #define MPTCP_SUBFLOW_FLAG_CONNECTED _BITUL(7)
 #define MPTCP_SUBFLOW_FLAG_MAPVALID _BITUL(8)
-enum {
-  MPTCP_SUBFLOW_ATTR_UNSPEC,
-  MPTCP_SUBFLOW_ATTR_TOKEN_REM,
-  MPTCP_SUBFLOW_ATTR_TOKEN_LOC,
-  MPTCP_SUBFLOW_ATTR_RELWRITE_SEQ,
-  MPTCP_SUBFLOW_ATTR_MAP_SEQ,
-  MPTCP_SUBFLOW_ATTR_MAP_SFSEQ,
-  MPTCP_SUBFLOW_ATTR_SSN_OFFSET,
-  MPTCP_SUBFLOW_ATTR_MAP_DATALEN,
-  MPTCP_SUBFLOW_ATTR_FLAGS,
-  MPTCP_SUBFLOW_ATTR_ID_REM,
-  MPTCP_SUBFLOW_ATTR_ID_LOC,
-  MPTCP_SUBFLOW_ATTR_PAD,
-  __MPTCP_SUBFLOW_ATTR_MAX
-};
-#define MPTCP_SUBFLOW_ATTR_MAX (__MPTCP_SUBFLOW_ATTR_MAX - 1)
-#define MPTCP_PM_NAME "mptcp_pm"
 #define MPTCP_PM_CMD_GRP_NAME "mptcp_pm_cmds"
 #define MPTCP_PM_EV_GRP_NAME "mptcp_pm_events"
-#define MPTCP_PM_VER 0x1
-enum {
-  MPTCP_PM_ATTR_UNSPEC,
-  MPTCP_PM_ATTR_ADDR,
-  MPTCP_PM_ATTR_RCV_ADD_ADDRS,
-  MPTCP_PM_ATTR_SUBFLOWS,
-  MPTCP_PM_ATTR_TOKEN,
-  MPTCP_PM_ATTR_LOC_ID,
-  MPTCP_PM_ATTR_ADDR_REMOTE,
-  __MPTCP_PM_ATTR_MAX
-};
-#define MPTCP_PM_ATTR_MAX (__MPTCP_PM_ATTR_MAX - 1)
-enum {
-  MPTCP_PM_ADDR_ATTR_UNSPEC,
-  MPTCP_PM_ADDR_ATTR_FAMILY,
-  MPTCP_PM_ADDR_ATTR_ID,
-  MPTCP_PM_ADDR_ATTR_ADDR4,
-  MPTCP_PM_ADDR_ATTR_ADDR6,
-  MPTCP_PM_ADDR_ATTR_PORT,
-  MPTCP_PM_ADDR_ATTR_FLAGS,
-  MPTCP_PM_ADDR_ATTR_IF_IDX,
-  __MPTCP_PM_ADDR_ATTR_MAX
-};
-#define MPTCP_PM_ADDR_ATTR_MAX (__MPTCP_PM_ADDR_ATTR_MAX - 1)
+#include <linux/mptcp_pm.h>
+#define MPTCP_INFO_FLAG_FALLBACK _BITUL(0)
+#define MPTCP_INFO_FLAG_REMOTE_KEY_RECEIVED _BITUL(1)
 #define MPTCP_PM_ADDR_FLAG_SIGNAL (1 << 0)
 #define MPTCP_PM_ADDR_FLAG_SUBFLOW (1 << 1)
 #define MPTCP_PM_ADDR_FLAG_BACKUP (1 << 2)
 #define MPTCP_PM_ADDR_FLAG_FULLMESH (1 << 3)
 #define MPTCP_PM_ADDR_FLAG_IMPLICIT (1 << 4)
-enum {
-  MPTCP_PM_CMD_UNSPEC,
-  MPTCP_PM_CMD_ADD_ADDR,
-  MPTCP_PM_CMD_DEL_ADDR,
-  MPTCP_PM_CMD_GET_ADDR,
-  MPTCP_PM_CMD_FLUSH_ADDRS,
-  MPTCP_PM_CMD_SET_LIMITS,
-  MPTCP_PM_CMD_GET_LIMITS,
-  MPTCP_PM_CMD_SET_FLAGS,
-  MPTCP_PM_CMD_ANNOUNCE,
-  MPTCP_PM_CMD_REMOVE,
-  MPTCP_PM_CMD_SUBFLOW_CREATE,
-  MPTCP_PM_CMD_SUBFLOW_DESTROY,
-  __MPTCP_PM_CMD_AFTER_LAST
-};
-#define MPTCP_INFO_FLAG_FALLBACK _BITUL(0)
-#define MPTCP_INFO_FLAG_REMOTE_KEY_RECEIVED _BITUL(1)
 struct mptcp_info {
   __u8 mptcpi_subflows;
   __u8 mptcpi_add_addr_signal;
@@ -114,43 +47,17 @@
   __u8 mptcpi_local_addr_used;
   __u8 mptcpi_local_addr_max;
   __u8 mptcpi_csum_enabled;
+  __u32 mptcpi_retransmits;
+  __u64 mptcpi_bytes_retrans;
+  __u64 mptcpi_bytes_sent;
+  __u64 mptcpi_bytes_received;
+  __u64 mptcpi_bytes_acked;
+  __u8 mptcpi_subflows_total;
+  __u8 reserved[3];
+  __u32 mptcpi_last_data_sent;
+  __u32 mptcpi_last_data_recv;
+  __u32 mptcpi_last_ack_recv;
 };
-enum mptcp_event_type {
-  MPTCP_EVENT_UNSPEC = 0,
-  MPTCP_EVENT_CREATED = 1,
-  MPTCP_EVENT_ESTABLISHED = 2,
-  MPTCP_EVENT_CLOSED = 3,
-  MPTCP_EVENT_ANNOUNCED = 6,
-  MPTCP_EVENT_REMOVED = 7,
-  MPTCP_EVENT_SUB_ESTABLISHED = 10,
-  MPTCP_EVENT_SUB_CLOSED = 11,
-  MPTCP_EVENT_SUB_PRIORITY = 13,
-  MPTCP_EVENT_LISTENER_CREATED = 15,
-  MPTCP_EVENT_LISTENER_CLOSED = 16,
-};
-enum mptcp_event_attr {
-  MPTCP_ATTR_UNSPEC = 0,
-  MPTCP_ATTR_TOKEN,
-  MPTCP_ATTR_FAMILY,
-  MPTCP_ATTR_LOC_ID,
-  MPTCP_ATTR_REM_ID,
-  MPTCP_ATTR_SADDR4,
-  MPTCP_ATTR_SADDR6,
-  MPTCP_ATTR_DADDR4,
-  MPTCP_ATTR_DADDR6,
-  MPTCP_ATTR_SPORT,
-  MPTCP_ATTR_DPORT,
-  MPTCP_ATTR_BACKUP,
-  MPTCP_ATTR_ERROR,
-  MPTCP_ATTR_FLAGS,
-  MPTCP_ATTR_TIMEOUT,
-  MPTCP_ATTR_IF_IDX,
-  MPTCP_ATTR_RESET_REASON,
-  MPTCP_ATTR_RESET_FLAGS,
-  MPTCP_ATTR_SERVER_SIDE,
-  __MPTCP_ATTR_AFTER_LAST
-};
-#define MPTCP_ATTR_MAX (__MPTCP_ATTR_AFTER_LAST - 1)
 #define MPTCP_RST_EUNSPEC 0
 #define MPTCP_RST_EMPTCP 1
 #define MPTCP_RST_ERESOURCE 2
@@ -170,16 +77,32 @@
     struct sockaddr sa_local;
     struct sockaddr_in sin_local;
     struct sockaddr_in6 sin6_local;
-    struct __kernel_sockaddr_storage ss_local;
+    struct sockaddr_storage ss_local;
   };
   union {
     struct sockaddr sa_remote;
     struct sockaddr_in sin_remote;
     struct sockaddr_in6 sin6_remote;
-    struct __kernel_sockaddr_storage ss_remote;
+    struct sockaddr_storage ss_remote;
   };
 };
+struct mptcp_subflow_info {
+  __u32 id;
+  struct mptcp_subflow_addrs addrs;
+};
+struct mptcp_full_info {
+  __u32 size_tcpinfo_kernel;
+  __u32 size_tcpinfo_user;
+  __u32 size_sfinfo_kernel;
+  __u32 size_sfinfo_user;
+  __u32 num_subflows;
+  __u32 size_arrays_user;
+  __aligned_u64 subflow_info;
+  __aligned_u64 tcp_info;
+  struct mptcp_info mptcp_info;
+};
 #define MPTCP_INFO 1
 #define MPTCP_TCPINFO 2
 #define MPTCP_SUBFLOW_ADDRS 3
+#define MPTCP_FULL_INFO 4
 #endif
diff --git a/libc/kernel/uapi/linux/mptcp_pm.h b/libc/kernel/uapi/linux/mptcp_pm.h
new file mode 100644
index 0000000..dfabc75
--- /dev/null
+++ b/libc/kernel/uapi/linux/mptcp_pm.h
@@ -0,0 +1,107 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_LINUX_MPTCP_PM_H
+#define _UAPI_LINUX_MPTCP_PM_H
+#define MPTCP_PM_NAME "mptcp_pm"
+#define MPTCP_PM_VER 1
+enum mptcp_event_type {
+  MPTCP_EVENT_UNSPEC,
+  MPTCP_EVENT_CREATED,
+  MPTCP_EVENT_ESTABLISHED,
+  MPTCP_EVENT_CLOSED,
+  MPTCP_EVENT_ANNOUNCED = 6,
+  MPTCP_EVENT_REMOVED,
+  MPTCP_EVENT_SUB_ESTABLISHED = 10,
+  MPTCP_EVENT_SUB_CLOSED,
+  MPTCP_EVENT_SUB_PRIORITY = 13,
+  MPTCP_EVENT_LISTENER_CREATED = 15,
+  MPTCP_EVENT_LISTENER_CLOSED,
+};
+enum {
+  MPTCP_PM_ADDR_ATTR_UNSPEC,
+  MPTCP_PM_ADDR_ATTR_FAMILY,
+  MPTCP_PM_ADDR_ATTR_ID,
+  MPTCP_PM_ADDR_ATTR_ADDR4,
+  MPTCP_PM_ADDR_ATTR_ADDR6,
+  MPTCP_PM_ADDR_ATTR_PORT,
+  MPTCP_PM_ADDR_ATTR_FLAGS,
+  MPTCP_PM_ADDR_ATTR_IF_IDX,
+  __MPTCP_PM_ADDR_ATTR_MAX
+};
+#define MPTCP_PM_ADDR_ATTR_MAX (__MPTCP_PM_ADDR_ATTR_MAX - 1)
+enum {
+  MPTCP_SUBFLOW_ATTR_UNSPEC,
+  MPTCP_SUBFLOW_ATTR_TOKEN_REM,
+  MPTCP_SUBFLOW_ATTR_TOKEN_LOC,
+  MPTCP_SUBFLOW_ATTR_RELWRITE_SEQ,
+  MPTCP_SUBFLOW_ATTR_MAP_SEQ,
+  MPTCP_SUBFLOW_ATTR_MAP_SFSEQ,
+  MPTCP_SUBFLOW_ATTR_SSN_OFFSET,
+  MPTCP_SUBFLOW_ATTR_MAP_DATALEN,
+  MPTCP_SUBFLOW_ATTR_FLAGS,
+  MPTCP_SUBFLOW_ATTR_ID_REM,
+  MPTCP_SUBFLOW_ATTR_ID_LOC,
+  MPTCP_SUBFLOW_ATTR_PAD,
+  __MPTCP_SUBFLOW_ATTR_MAX
+};
+#define MPTCP_SUBFLOW_ATTR_MAX (__MPTCP_SUBFLOW_ATTR_MAX - 1)
+enum {
+  MPTCP_PM_ENDPOINT_ADDR = 1,
+  __MPTCP_PM_ENDPOINT_MAX
+};
+#define MPTCP_PM_ENDPOINT_MAX (__MPTCP_PM_ENDPOINT_MAX - 1)
+enum {
+  MPTCP_PM_ATTR_UNSPEC,
+  MPTCP_PM_ATTR_ADDR,
+  MPTCP_PM_ATTR_RCV_ADD_ADDRS,
+  MPTCP_PM_ATTR_SUBFLOWS,
+  MPTCP_PM_ATTR_TOKEN,
+  MPTCP_PM_ATTR_LOC_ID,
+  MPTCP_PM_ATTR_ADDR_REMOTE,
+  __MPTCP_ATTR_AFTER_LAST
+};
+#define MPTCP_PM_ATTR_MAX (__MPTCP_ATTR_AFTER_LAST - 1)
+enum mptcp_event_attr {
+  MPTCP_ATTR_UNSPEC,
+  MPTCP_ATTR_TOKEN,
+  MPTCP_ATTR_FAMILY,
+  MPTCP_ATTR_LOC_ID,
+  MPTCP_ATTR_REM_ID,
+  MPTCP_ATTR_SADDR4,
+  MPTCP_ATTR_SADDR6,
+  MPTCP_ATTR_DADDR4,
+  MPTCP_ATTR_DADDR6,
+  MPTCP_ATTR_SPORT,
+  MPTCP_ATTR_DPORT,
+  MPTCP_ATTR_BACKUP,
+  MPTCP_ATTR_ERROR,
+  MPTCP_ATTR_FLAGS,
+  MPTCP_ATTR_TIMEOUT,
+  MPTCP_ATTR_IF_IDX,
+  MPTCP_ATTR_RESET_REASON,
+  MPTCP_ATTR_RESET_FLAGS,
+  MPTCP_ATTR_SERVER_SIDE,
+  __MPTCP_ATTR_MAX
+};
+#define MPTCP_ATTR_MAX (__MPTCP_ATTR_MAX - 1)
+enum {
+  MPTCP_PM_CMD_UNSPEC,
+  MPTCP_PM_CMD_ADD_ADDR,
+  MPTCP_PM_CMD_DEL_ADDR,
+  MPTCP_PM_CMD_GET_ADDR,
+  MPTCP_PM_CMD_FLUSH_ADDRS,
+  MPTCP_PM_CMD_SET_LIMITS,
+  MPTCP_PM_CMD_GET_LIMITS,
+  MPTCP_PM_CMD_SET_FLAGS,
+  MPTCP_PM_CMD_ANNOUNCE,
+  MPTCP_PM_CMD_REMOVE,
+  MPTCP_PM_CMD_SUBFLOW_CREATE,
+  MPTCP_PM_CMD_SUBFLOW_DESTROY,
+  __MPTCP_PM_CMD_AFTER_LAST
+};
+#define MPTCP_PM_CMD_MAX (__MPTCP_PM_CMD_AFTER_LAST - 1)
+#endif
diff --git a/libc/kernel/uapi/linux/mqueue.h b/libc/kernel/uapi/linux/mqueue.h
index a540830..fae9a27 100644
--- a/libc/kernel/uapi/linux/mqueue.h
+++ b/libc/kernel/uapi/linux/mqueue.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_MQUEUE_H
 #define _LINUX_MQUEUE_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/mroute.h b/libc/kernel/uapi/linux/mroute.h
index e934d09..0ecce42 100644
--- a/libc/kernel/uapi/linux/mroute.h
+++ b/libc/kernel/uapi/linux/mroute.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_MROUTE_H
 #define _UAPI__LINUX_MROUTE_H
 #include <linux/sockios.h>
diff --git a/libc/kernel/uapi/linux/mroute6.h b/libc/kernel/uapi/linux/mroute6.h
index 68480de..47d2031 100644
--- a/libc/kernel/uapi/linux/mroute6.h
+++ b/libc/kernel/uapi/linux/mroute6.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_MROUTE6_H
 #define _UAPI__LINUX_MROUTE6_H
 #include <linux/const.h>
diff --git a/libc/kernel/uapi/linux/mrp_bridge.h b/libc/kernel/uapi/linux/mrp_bridge.h
index 0f93514..e55fddf 100644
--- a/libc/kernel/uapi/linux/mrp_bridge.h
+++ b/libc/kernel/uapi/linux/mrp_bridge.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_MRP_BRIDGE_H_
 #define _UAPI_LINUX_MRP_BRIDGE_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/msdos_fs.h b/libc/kernel/uapi/linux/msdos_fs.h
index 4b777db..f512cfa 100644
--- a/libc/kernel/uapi/linux/msdos_fs.h
+++ b/libc/kernel/uapi/linux/msdos_fs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_MSDOS_FS_H
 #define _UAPI_LINUX_MSDOS_FS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/msg.h b/libc/kernel/uapi/linux/msg.h
index bb32b93..a973814 100644
--- a/libc/kernel/uapi/linux/msg.h
+++ b/libc/kernel/uapi/linux/msg.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_MSG_H
 #define _UAPI_LINUX_MSG_H
 #include <linux/ipc.h>
diff --git a/libc/kernel/uapi/linux/mtio.h b/libc/kernel/uapi/linux/mtio.h
index b87c1fa..07d998f 100644
--- a/libc/kernel/uapi/linux/mtio.h
+++ b/libc/kernel/uapi/linux/mtio.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_MTIO_H
 #define _LINUX_MTIO_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/nbd-netlink.h b/libc/kernel/uapi/linux/nbd-netlink.h
index dffb077..242cbbe 100644
--- a/libc/kernel/uapi/linux/nbd-netlink.h
+++ b/libc/kernel/uapi/linux/nbd-netlink.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPILINUX_NBD_NETLINK_H
 #define _UAPILINUX_NBD_NETLINK_H
 #define NBD_GENL_FAMILY_NAME "nbd"
diff --git a/libc/kernel/uapi/linux/nbd.h b/libc/kernel/uapi/linux/nbd.h
index 3b74393..d47c28f 100644
--- a/libc/kernel/uapi/linux/nbd.h
+++ b/libc/kernel/uapi/linux/nbd.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPILINUX_NBD_H
 #define _UAPILINUX_NBD_H
 #include <linux/types.h>
@@ -51,13 +39,19 @@
 struct nbd_request {
   __be32 magic;
   __be32 type;
-  char handle[8];
+  union {
+    __be64 cookie;
+    char handle[8];
+  };
   __be64 from;
   __be32 len;
 } __attribute__((packed));
 struct nbd_reply {
   __be32 magic;
   __be32 error;
-  char handle[8];
+  union {
+    __be64 cookie;
+    char handle[8];
+  };
 };
 #endif
diff --git a/libc/kernel/uapi/linux/ncsi.h b/libc/kernel/uapi/linux/ncsi.h
index 6334a8a..7887630 100644
--- a/libc/kernel/uapi/linux/ncsi.h
+++ b/libc/kernel/uapi/linux/ncsi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_NCSI_NETLINK_H__
 #define __UAPI_NCSI_NETLINK_H__
 enum ncsi_nl_commands {
diff --git a/libc/kernel/uapi/linux/ndctl.h b/libc/kernel/uapi/linux/ndctl.h
index 7e0d560..28d8b49 100644
--- a/libc/kernel/uapi/linux/ndctl.h
+++ b/libc/kernel/uapi/linux/ndctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __NDCTL_H__
 #define __NDCTL_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/neighbour.h b/libc/kernel/uapi/linux/neighbour.h
index 4b479a1..7a67601 100644
--- a/libc/kernel/uapi/linux/neighbour.h
+++ b/libc/kernel/uapi/linux/neighbour.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_NEIGHBOUR_H
 #define __LINUX_NEIGHBOUR_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/net.h b/libc/kernel/uapi/linux/net.h
index a53b329..fda0f81 100644
--- a/libc/kernel/uapi/linux/net.h
+++ b/libc/kernel/uapi/linux/net.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_NET_H
 #define _UAPI_LINUX_NET_H
 #include <linux/socket.h>
diff --git a/libc/kernel/uapi/linux/net_dropmon.h b/libc/kernel/uapi/linux/net_dropmon.h
index 4d2c336..2d75388 100644
--- a/libc/kernel/uapi/linux/net_dropmon.h
+++ b/libc/kernel/uapi/linux/net_dropmon.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __NET_DROPMON_H
 #define __NET_DROPMON_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/net_namespace.h b/libc/kernel/uapi/linux/net_namespace.h
index a54c9e1..e3641b5 100644
--- a/libc/kernel/uapi/linux/net_namespace.h
+++ b/libc/kernel/uapi/linux/net_namespace.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_NET_NAMESPACE_H_
 #define _UAPI_LINUX_NET_NAMESPACE_H_
 enum {
diff --git a/libc/kernel/uapi/linux/net_tstamp.h b/libc/kernel/uapi/linux/net_tstamp.h
index d79d98a..9bbd309 100644
--- a/libc/kernel/uapi/linux/net_tstamp.h
+++ b/libc/kernel/uapi/linux/net_tstamp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _NET_TIMESTAMPING_H
 #define _NET_TIMESTAMPING_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netconf.h b/libc/kernel/uapi/linux/netconf.h
index 27d3854..6629950 100644
--- a/libc/kernel/uapi/linux/netconf.h
+++ b/libc/kernel/uapi/linux/netconf.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_NETCONF_H_
 #define _UAPI_LINUX_NETCONF_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netdev.h b/libc/kernel/uapi/linux/netdev.h
new file mode 100644
index 0000000..b084297
--- /dev/null
+++ b/libc/kernel/uapi/linux/netdev.h
@@ -0,0 +1,142 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_LINUX_NETDEV_H
+#define _UAPI_LINUX_NETDEV_H
+#define NETDEV_FAMILY_NAME "netdev"
+#define NETDEV_FAMILY_VERSION 1
+enum netdev_xdp_act {
+  NETDEV_XDP_ACT_BASIC = 1,
+  NETDEV_XDP_ACT_REDIRECT = 2,
+  NETDEV_XDP_ACT_NDO_XMIT = 4,
+  NETDEV_XDP_ACT_XSK_ZEROCOPY = 8,
+  NETDEV_XDP_ACT_HW_OFFLOAD = 16,
+  NETDEV_XDP_ACT_RX_SG = 32,
+  NETDEV_XDP_ACT_NDO_XMIT_SG = 64,
+  NETDEV_XDP_ACT_MASK = 127,
+};
+enum netdev_xdp_rx_metadata {
+  NETDEV_XDP_RX_METADATA_TIMESTAMP = 1,
+  NETDEV_XDP_RX_METADATA_HASH = 2,
+  NETDEV_XDP_RX_METADATA_VLAN_TAG = 4,
+};
+enum netdev_xsk_flags {
+  NETDEV_XSK_FLAGS_TX_TIMESTAMP = 1,
+  NETDEV_XSK_FLAGS_TX_CHECKSUM = 2,
+};
+enum netdev_queue_type {
+  NETDEV_QUEUE_TYPE_RX,
+  NETDEV_QUEUE_TYPE_TX,
+};
+enum netdev_qstats_scope {
+  NETDEV_QSTATS_SCOPE_QUEUE = 1,
+};
+enum {
+  NETDEV_A_DEV_IFINDEX = 1,
+  NETDEV_A_DEV_PAD,
+  NETDEV_A_DEV_XDP_FEATURES,
+  NETDEV_A_DEV_XDP_ZC_MAX_SEGS,
+  NETDEV_A_DEV_XDP_RX_METADATA_FEATURES,
+  NETDEV_A_DEV_XSK_FEATURES,
+  __NETDEV_A_DEV_MAX,
+  NETDEV_A_DEV_MAX = (__NETDEV_A_DEV_MAX - 1)
+};
+enum {
+  NETDEV_A_PAGE_POOL_ID = 1,
+  NETDEV_A_PAGE_POOL_IFINDEX,
+  NETDEV_A_PAGE_POOL_NAPI_ID,
+  NETDEV_A_PAGE_POOL_INFLIGHT,
+  NETDEV_A_PAGE_POOL_INFLIGHT_MEM,
+  NETDEV_A_PAGE_POOL_DETACH_TIME,
+  __NETDEV_A_PAGE_POOL_MAX,
+  NETDEV_A_PAGE_POOL_MAX = (__NETDEV_A_PAGE_POOL_MAX - 1)
+};
+enum {
+  NETDEV_A_PAGE_POOL_STATS_INFO = 1,
+  NETDEV_A_PAGE_POOL_STATS_ALLOC_FAST = 8,
+  NETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW,
+  NETDEV_A_PAGE_POOL_STATS_ALLOC_SLOW_HIGH_ORDER,
+  NETDEV_A_PAGE_POOL_STATS_ALLOC_EMPTY,
+  NETDEV_A_PAGE_POOL_STATS_ALLOC_REFILL,
+  NETDEV_A_PAGE_POOL_STATS_ALLOC_WAIVE,
+  NETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHED,
+  NETDEV_A_PAGE_POOL_STATS_RECYCLE_CACHE_FULL,
+  NETDEV_A_PAGE_POOL_STATS_RECYCLE_RING,
+  NETDEV_A_PAGE_POOL_STATS_RECYCLE_RING_FULL,
+  NETDEV_A_PAGE_POOL_STATS_RECYCLE_RELEASED_REFCNT,
+  __NETDEV_A_PAGE_POOL_STATS_MAX,
+  NETDEV_A_PAGE_POOL_STATS_MAX = (__NETDEV_A_PAGE_POOL_STATS_MAX - 1)
+};
+enum {
+  NETDEV_A_NAPI_IFINDEX = 1,
+  NETDEV_A_NAPI_ID,
+  NETDEV_A_NAPI_IRQ,
+  NETDEV_A_NAPI_PID,
+  __NETDEV_A_NAPI_MAX,
+  NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1)
+};
+enum {
+  NETDEV_A_QUEUE_ID = 1,
+  NETDEV_A_QUEUE_IFINDEX,
+  NETDEV_A_QUEUE_TYPE,
+  NETDEV_A_QUEUE_NAPI_ID,
+  __NETDEV_A_QUEUE_MAX,
+  NETDEV_A_QUEUE_MAX = (__NETDEV_A_QUEUE_MAX - 1)
+};
+enum {
+  NETDEV_A_QSTATS_IFINDEX = 1,
+  NETDEV_A_QSTATS_QUEUE_TYPE,
+  NETDEV_A_QSTATS_QUEUE_ID,
+  NETDEV_A_QSTATS_SCOPE,
+  NETDEV_A_QSTATS_RX_PACKETS = 8,
+  NETDEV_A_QSTATS_RX_BYTES,
+  NETDEV_A_QSTATS_TX_PACKETS,
+  NETDEV_A_QSTATS_TX_BYTES,
+  NETDEV_A_QSTATS_RX_ALLOC_FAIL,
+  NETDEV_A_QSTATS_RX_HW_DROPS,
+  NETDEV_A_QSTATS_RX_HW_DROP_OVERRUNS,
+  NETDEV_A_QSTATS_RX_CSUM_COMPLETE,
+  NETDEV_A_QSTATS_RX_CSUM_UNNECESSARY,
+  NETDEV_A_QSTATS_RX_CSUM_NONE,
+  NETDEV_A_QSTATS_RX_CSUM_BAD,
+  NETDEV_A_QSTATS_RX_HW_GRO_PACKETS,
+  NETDEV_A_QSTATS_RX_HW_GRO_BYTES,
+  NETDEV_A_QSTATS_RX_HW_GRO_WIRE_PACKETS,
+  NETDEV_A_QSTATS_RX_HW_GRO_WIRE_BYTES,
+  NETDEV_A_QSTATS_RX_HW_DROP_RATELIMITS,
+  NETDEV_A_QSTATS_TX_HW_DROPS,
+  NETDEV_A_QSTATS_TX_HW_DROP_ERRORS,
+  NETDEV_A_QSTATS_TX_CSUM_NONE,
+  NETDEV_A_QSTATS_TX_NEEDS_CSUM,
+  NETDEV_A_QSTATS_TX_HW_GSO_PACKETS,
+  NETDEV_A_QSTATS_TX_HW_GSO_BYTES,
+  NETDEV_A_QSTATS_TX_HW_GSO_WIRE_PACKETS,
+  NETDEV_A_QSTATS_TX_HW_GSO_WIRE_BYTES,
+  NETDEV_A_QSTATS_TX_HW_DROP_RATELIMITS,
+  NETDEV_A_QSTATS_TX_STOP,
+  NETDEV_A_QSTATS_TX_WAKE,
+  __NETDEV_A_QSTATS_MAX,
+  NETDEV_A_QSTATS_MAX = (__NETDEV_A_QSTATS_MAX - 1)
+};
+enum {
+  NETDEV_CMD_DEV_GET = 1,
+  NETDEV_CMD_DEV_ADD_NTF,
+  NETDEV_CMD_DEV_DEL_NTF,
+  NETDEV_CMD_DEV_CHANGE_NTF,
+  NETDEV_CMD_PAGE_POOL_GET,
+  NETDEV_CMD_PAGE_POOL_ADD_NTF,
+  NETDEV_CMD_PAGE_POOL_DEL_NTF,
+  NETDEV_CMD_PAGE_POOL_CHANGE_NTF,
+  NETDEV_CMD_PAGE_POOL_STATS_GET,
+  NETDEV_CMD_QUEUE_GET,
+  NETDEV_CMD_NAPI_GET,
+  NETDEV_CMD_QSTATS_GET,
+  __NETDEV_CMD_MAX,
+  NETDEV_CMD_MAX = (__NETDEV_CMD_MAX - 1)
+};
+#define NETDEV_MCGRP_MGMT "mgmt"
+#define NETDEV_MCGRP_PAGE_POOL "page-pool"
+#endif
diff --git a/libc/kernel/uapi/linux/netdevice.h b/libc/kernel/uapi/linux/netdevice.h
index ff2d959..695c1cd 100644
--- a/libc/kernel/uapi/linux/netdevice.h
+++ b/libc/kernel/uapi/linux/netdevice.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_NETDEVICE_H
 #define _UAPI_LINUX_NETDEVICE_H
 #include <linux/if.h>
diff --git a/libc/kernel/uapi/linux/netfilter.h b/libc/kernel/uapi/linux/netfilter.h
index 77b8a91..65b3196 100644
--- a/libc/kernel/uapi/linux/netfilter.h
+++ b/libc/kernel/uapi/linux/netfilter.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_NETFILTER_H
 #define _UAPI__LINUX_NETFILTER_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/ipset/ip_set.h b/libc/kernel/uapi/linux/netfilter/ipset/ip_set.h
index a5aa6bc..0b0fac8 100644
--- a/libc/kernel/uapi/linux/netfilter/ipset/ip_set.h
+++ b/libc/kernel/uapi/linux/netfilter/ipset/ip_set.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_IP_SET_H
 #define _UAPI_IP_SET_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/ipset/ip_set_bitmap.h b/libc/kernel/uapi/linux/netfilter/ipset/ip_set_bitmap.h
index e323396..3188b93 100644
--- a/libc/kernel/uapi/linux/netfilter/ipset/ip_set_bitmap.h
+++ b/libc/kernel/uapi/linux/netfilter/ipset/ip_set_bitmap.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__IP_SET_BITMAP_H
 #define _UAPI__IP_SET_BITMAP_H
 #include <linux/netfilter/ipset/ip_set.h>
diff --git a/libc/kernel/uapi/linux/netfilter/ipset/ip_set_hash.h b/libc/kernel/uapi/linux/netfilter/ipset/ip_set_hash.h
index d4aadcb..2e084cd 100644
--- a/libc/kernel/uapi/linux/netfilter/ipset/ip_set_hash.h
+++ b/libc/kernel/uapi/linux/netfilter/ipset/ip_set_hash.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__IP_SET_HASH_H
 #define _UAPI__IP_SET_HASH_H
 #include <linux/netfilter/ipset/ip_set.h>
diff --git a/libc/kernel/uapi/linux/netfilter/ipset/ip_set_list.h b/libc/kernel/uapi/linux/netfilter/ipset/ip_set_list.h
index d3b5165..d70a277 100644
--- a/libc/kernel/uapi/linux/netfilter/ipset/ip_set_list.h
+++ b/libc/kernel/uapi/linux/netfilter/ipset/ip_set_list.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__IP_SET_LIST_H
 #define _UAPI__IP_SET_LIST_H
 #include <linux/netfilter/ipset/ip_set.h>
diff --git a/libc/kernel/uapi/linux/netfilter/nf_conntrack_common.h b/libc/kernel/uapi/linux/netfilter/nf_conntrack_common.h
index 3ff6030..9f93d34 100644
--- a/libc/kernel/uapi/linux/netfilter/nf_conntrack_common.h
+++ b/libc/kernel/uapi/linux/netfilter/nf_conntrack_common.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_NF_CONNTRACK_COMMON_H
 #define _UAPI_NF_CONNTRACK_COMMON_H
 enum ip_conntrack_info {
diff --git a/libc/kernel/uapi/linux/netfilter/nf_conntrack_ftp.h b/libc/kernel/uapi/linux/netfilter/nf_conntrack_ftp.h
index 0c79774..8961b9e 100644
--- a/libc/kernel/uapi/linux/netfilter/nf_conntrack_ftp.h
+++ b/libc/kernel/uapi/linux/netfilter/nf_conntrack_ftp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_NF_CONNTRACK_FTP_H
 #define _UAPI_NF_CONNTRACK_FTP_H
 enum nf_ct_ftp_type {
diff --git a/libc/kernel/uapi/linux/netfilter/nf_conntrack_sctp.h b/libc/kernel/uapi/linux/netfilter/nf_conntrack_sctp.h
index 060059c..5f248ac 100644
--- a/libc/kernel/uapi/linux/netfilter/nf_conntrack_sctp.h
+++ b/libc/kernel/uapi/linux/netfilter/nf_conntrack_sctp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_NF_CONNTRACK_SCTP_H
 #define _UAPI_NF_CONNTRACK_SCTP_H
 #include <linux/netfilter/nf_conntrack_tuple_common.h>
diff --git a/libc/kernel/uapi/linux/netfilter/nf_conntrack_tcp.h b/libc/kernel/uapi/linux/netfilter/nf_conntrack_tcp.h
index 8894aa1..0995d5f 100644
--- a/libc/kernel/uapi/linux/netfilter/nf_conntrack_tcp.h
+++ b/libc/kernel/uapi/linux/netfilter/nf_conntrack_tcp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_NF_CONNTRACK_TCP_H
 #define _UAPI_NF_CONNTRACK_TCP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/nf_conntrack_tuple_common.h b/libc/kernel/uapi/linux/netfilter/nf_conntrack_tuple_common.h
index b2f795c..bcc698f 100644
--- a/libc/kernel/uapi/linux/netfilter/nf_conntrack_tuple_common.h
+++ b/libc/kernel/uapi/linux/netfilter/nf_conntrack_tuple_common.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _NF_CONNTRACK_TUPLE_COMMON_H
 #define _NF_CONNTRACK_TUPLE_COMMON_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/nf_log.h b/libc/kernel/uapi/linux/netfilter/nf_log.h
index f7a729d..2e5d90e 100644
--- a/libc/kernel/uapi/linux/netfilter/nf_log.h
+++ b/libc/kernel/uapi/linux/netfilter/nf_log.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _NETFILTER_NF_LOG_H
 #define _NETFILTER_NF_LOG_H
 #define NF_LOG_TCPSEQ 0x01
diff --git a/libc/kernel/uapi/linux/netfilter/nf_nat.h b/libc/kernel/uapi/linux/netfilter/nf_nat.h
index 84373ed..2dd14a0 100644
--- a/libc/kernel/uapi/linux/netfilter/nf_nat.h
+++ b/libc/kernel/uapi/linux/netfilter/nf_nat.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _NETFILTER_NF_NAT_H
 #define _NETFILTER_NF_NAT_H
 #include <linux/netfilter.h>
diff --git a/libc/kernel/uapi/linux/netfilter/nf_synproxy.h b/libc/kernel/uapi/linux/netfilter/nf_synproxy.h
index 474838e..9311c56 100644
--- a/libc/kernel/uapi/linux/netfilter/nf_synproxy.h
+++ b/libc/kernel/uapi/linux/netfilter/nf_synproxy.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _NF_SYNPROXY_H
 #define _NF_SYNPROXY_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/nf_tables.h b/libc/kernel/uapi/linux/netfilter/nf_tables.h
index f07d7c7..bfc6e25 100644
--- a/libc/kernel/uapi/linux/netfilter/nf_tables.h
+++ b/libc/kernel/uapi/linux/netfilter/nf_tables.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_NF_TABLES_H
 #define _LINUX_NF_TABLES_H
 #define NFT_NAME_MAXLEN 256
@@ -87,6 +75,14 @@
   NFT_MSG_GETFLOWTABLE,
   NFT_MSG_DELFLOWTABLE,
   NFT_MSG_GETRULE_RESET,
+  NFT_MSG_DESTROYTABLE,
+  NFT_MSG_DESTROYCHAIN,
+  NFT_MSG_DESTROYRULE,
+  NFT_MSG_DESTROYSET,
+  NFT_MSG_DESTROYSETELEM,
+  NFT_MSG_DESTROYOBJ,
+  NFT_MSG_DESTROYFLOWTABLE,
+  NFT_MSG_GETSETELEM_RESET,
   NFT_MSG_MAX,
 };
 enum nft_list_attributes {
@@ -107,8 +103,9 @@
 enum nft_table_flags {
   NFT_TABLE_F_DORMANT = 0x1,
   NFT_TABLE_F_OWNER = 0x2,
+  NFT_TABLE_F_PERSIST = 0x4,
 };
-#define NFT_TABLE_F_MASK (NFT_TABLE_F_DORMANT | NFT_TABLE_F_OWNER)
+#define NFT_TABLE_F_MASK (NFT_TABLE_F_DORMANT | NFT_TABLE_F_OWNER | NFT_TABLE_F_PERSIST)
 enum nft_table_attributes {
   NFTA_TABLE_UNSPEC,
   NFTA_TABLE_NAME,
@@ -161,6 +158,7 @@
 };
 #define NFTA_RULE_MAX (__NFTA_RULE_MAX - 1)
 enum nft_rule_compat_flags {
+  NFT_RULE_COMPAT_F_UNUSED = (1 << 0),
   NFT_RULE_COMPAT_F_INV = (1 << 1),
   NFT_RULE_COMPAT_F_MASK = NFT_RULE_COMPAT_F_INV,
 };
@@ -441,6 +439,7 @@
   NFT_EXTHDR_OP_TCPOPT,
   NFT_EXTHDR_OP_IPV4,
   NFT_EXTHDR_OP_SCTP,
+  NFT_EXTHDR_OP_DCCP,
   __NFT_EXTHDR_OP_MAX
 };
 #define NFT_EXTHDR_OP_MAX (__NFT_EXTHDR_OP_MAX - 1)
@@ -493,6 +492,7 @@
   NFT_META_TIME_HOUR,
   NFT_META_SDIF,
   NFT_META_SDIFNAME,
+  NFT_META_BRI_BROUTE,
   __NFT_META_IIFTYPE,
 };
 enum nft_rt_keys {
@@ -695,7 +695,7 @@
   __NFTA_SECMARK_MAX,
 };
 #define NFTA_SECMARK_MAX (__NFTA_SECMARK_MAX - 1)
-#define NFT_SECMARK_CTX_MAXLEN 256
+#define NFT_SECMARK_CTX_MAXLEN 4096
 enum nft_reject_types {
   NFT_REJECT_ICMP_UNREACH,
   NFT_REJECT_TCP_RST,
diff --git a/libc/kernel/uapi/linux/netfilter/nf_tables_compat.h b/libc/kernel/uapi/linux/netfilter/nf_tables_compat.h
index 32c129d..0359196 100644
--- a/libc/kernel/uapi/linux/netfilter/nf_tables_compat.h
+++ b/libc/kernel/uapi/linux/netfilter/nf_tables_compat.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _NFT_COMPAT_NFNETLINK_H_
 #define _NFT_COMPAT_NFNETLINK_H_
 enum nft_target_attributes {
diff --git a/libc/kernel/uapi/linux/netfilter/nfnetlink.h b/libc/kernel/uapi/linux/netfilter/nfnetlink.h
index 705de74..38696db 100644
--- a/libc/kernel/uapi/linux/netfilter/nfnetlink.h
+++ b/libc/kernel/uapi/linux/netfilter/nfnetlink.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_NFNETLINK_H
 #define _UAPI_NFNETLINK_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/nfnetlink_acct.h b/libc/kernel/uapi/linux/netfilter/nfnetlink_acct.h
index 497337b..4089e6f 100644
--- a/libc/kernel/uapi/linux/netfilter/nfnetlink_acct.h
+++ b/libc/kernel/uapi/linux/netfilter/nfnetlink_acct.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_NFNL_ACCT_H_
 #define _UAPI_NFNL_ACCT_H_
 #ifndef NFACCT_NAME_MAX
diff --git a/libc/kernel/uapi/linux/netfilter/nfnetlink_compat.h b/libc/kernel/uapi/linux/netfilter/nfnetlink_compat.h
index 07110bf..93cb511 100644
--- a/libc/kernel/uapi/linux/netfilter/nfnetlink_compat.h
+++ b/libc/kernel/uapi/linux/netfilter/nfnetlink_compat.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _NFNETLINK_COMPAT_H
 #define _NFNETLINK_COMPAT_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/nfnetlink_conntrack.h b/libc/kernel/uapi/linux/netfilter/nfnetlink_conntrack.h
index 200f1a0..b0a1d41 100644
--- a/libc/kernel/uapi/linux/netfilter/nfnetlink_conntrack.h
+++ b/libc/kernel/uapi/linux/netfilter/nfnetlink_conntrack.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IPCONNTRACK_NETLINK_H
 #define _IPCONNTRACK_NETLINK_H
 #include <linux/netfilter/nfnetlink.h>
diff --git a/libc/kernel/uapi/linux/netfilter/nfnetlink_cthelper.h b/libc/kernel/uapi/linux/netfilter/nfnetlink_cthelper.h
index e8c2825..3145793 100644
--- a/libc/kernel/uapi/linux/netfilter/nfnetlink_cthelper.h
+++ b/libc/kernel/uapi/linux/netfilter/nfnetlink_cthelper.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _NFNL_CTHELPER_H_
 #define _NFNL_CTHELPER_H_
 #define NFCT_HELPER_STATUS_DISABLED 0
diff --git a/libc/kernel/uapi/linux/netfilter/nfnetlink_cttimeout.h b/libc/kernel/uapi/linux/netfilter/nfnetlink_cttimeout.h
index da9fe71..b8bfd31 100644
--- a/libc/kernel/uapi/linux/netfilter/nfnetlink_cttimeout.h
+++ b/libc/kernel/uapi/linux/netfilter/nfnetlink_cttimeout.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _CTTIMEOUT_NETLINK_H
 #define _CTTIMEOUT_NETLINK_H
 #include <linux/netfilter/nfnetlink.h>
diff --git a/libc/kernel/uapi/linux/netfilter/nfnetlink_hook.h b/libc/kernel/uapi/linux/netfilter/nfnetlink_hook.h
index ce1692c..d6ffb3d 100644
--- a/libc/kernel/uapi/linux/netfilter/nfnetlink_hook.h
+++ b/libc/kernel/uapi/linux/netfilter/nfnetlink_hook.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _NFNL_HOOK_H_
 #define _NFNL_HOOK_H_
 enum nfnl_hook_msg_types {
@@ -50,5 +38,12 @@
 #define NFNLA_CHAIN_MAX (__NFNLA_CHAIN_MAX - 1)
 enum nfnl_hook_chaintype {
   NFNL_HOOK_TYPE_NFTABLES = 0x1,
+  NFNL_HOOK_TYPE_BPF,
 };
+enum nfnl_hook_bpf_attributes {
+  NFNLA_HOOK_BPF_UNSPEC,
+  NFNLA_HOOK_BPF_ID,
+  __NFNLA_HOOK_BPF_MAX,
+};
+#define NFNLA_HOOK_BPF_MAX (__NFNLA_HOOK_BPF_MAX - 1)
 #endif
diff --git a/libc/kernel/uapi/linux/netfilter/nfnetlink_log.h b/libc/kernel/uapi/linux/netfilter/nfnetlink_log.h
index f6a2708..08babdc 100644
--- a/libc/kernel/uapi/linux/netfilter/nfnetlink_log.h
+++ b/libc/kernel/uapi/linux/netfilter/nfnetlink_log.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _NFNETLINK_LOG_H
 #define _NFNETLINK_LOG_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/nfnetlink_osf.h b/libc/kernel/uapi/linux/netfilter/nfnetlink_osf.h
index 3f930da..ad6867e 100644
--- a/libc/kernel/uapi/linux/netfilter/nfnetlink_osf.h
+++ b/libc/kernel/uapi/linux/netfilter/nfnetlink_osf.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _NF_OSF_H
 #define _NF_OSF_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/nfnetlink_queue.h b/libc/kernel/uapi/linux/netfilter/nfnetlink_queue.h
index d100dec..314788d 100644
--- a/libc/kernel/uapi/linux/netfilter/nfnetlink_queue.h
+++ b/libc/kernel/uapi/linux/netfilter/nfnetlink_queue.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _NFNETLINK_QUEUE_H
 #define _NFNETLINK_QUEUE_H
 #include <linux/types.h>
@@ -71,6 +59,7 @@
   NFQA_VLAN,
   NFQA_L2HDR,
   NFQA_PRIORITY,
+  NFQA_CGROUP_CLASSID,
   __NFQA_MAX
 };
 #define NFQA_MAX (__NFQA_MAX - 1)
diff --git a/libc/kernel/uapi/linux/netfilter/x_tables.h b/libc/kernel/uapi/linux/netfilter/x_tables.h
index 0993265..b22440a 100644
--- a/libc/kernel/uapi/linux/netfilter/x_tables.h
+++ b/libc/kernel/uapi/linux/netfilter/x_tables.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_X_TABLES_H
 #define _UAPI_X_TABLES_H
 #include <linux/const.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_AUDIT.h b/libc/kernel/uapi/linux/netfilter/xt_AUDIT.h
index a238375..5b64a32 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_AUDIT.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_AUDIT.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_AUDIT_TARGET_H
 #define _XT_AUDIT_TARGET_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_CHECKSUM.h b/libc/kernel/uapi/linux/netfilter/xt_CHECKSUM.h
index ecbce0e..06f9628 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_CHECKSUM.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_CHECKSUM.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_CHECKSUM_TARGET_H
 #define _XT_CHECKSUM_TARGET_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_CLASSIFY.h b/libc/kernel/uapi/linux/netfilter/xt_CLASSIFY.h
index df0fcd2..e53bd4b 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_CLASSIFY.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_CLASSIFY.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_CLASSIFY_H
 #define _XT_CLASSIFY_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_CONNMARK.h b/libc/kernel/uapi/linux/netfilter/xt_CONNMARK.h
index 449511e..9816e4b 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_CONNMARK.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_CONNMARK.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_CONNMARK_H_target
 #define _XT_CONNMARK_H_target
 #include <linux/netfilter/xt_connmark.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_CONNSECMARK.h b/libc/kernel/uapi/linux/netfilter/xt_CONNSECMARK.h
index d58385a..9384bf9 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_CONNSECMARK.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_CONNSECMARK.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_CONNSECMARK_H_target
 #define _XT_CONNSECMARK_H_target
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_CT.h b/libc/kernel/uapi/linux/netfilter/xt_CT.h
index 9c4b255..9425156 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_CT.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_CT.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_CT_H
 #define _XT_CT_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_DSCP.h b/libc/kernel/uapi/linux/netfilter/xt_DSCP.h
index adc3785..ab786a8 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_DSCP.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_DSCP.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_DSCP_TARGET_H
 #define _XT_DSCP_TARGET_H
 #include <linux/netfilter/xt_dscp.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_HMARK.h b/libc/kernel/uapi/linux/netfilter/xt_HMARK.h
index b72c23c..7c411d6 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_HMARK.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_HMARK.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef XT_HMARK_H_
 #define XT_HMARK_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_IDLETIMER.h b/libc/kernel/uapi/linux/netfilter/xt_IDLETIMER.h
index f4defb6..7fd1ec1 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_IDLETIMER.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_IDLETIMER.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_IDLETIMER_H
 #define _XT_IDLETIMER_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_LED.h b/libc/kernel/uapi/linux/netfilter/xt_LED.h
index cbd1522..c43debe 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_LED.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_LED.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_LED_H
 #define _XT_LED_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_LOG.h b/libc/kernel/uapi/linux/netfilter/xt_LOG.h
index c80c936..b19a190 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_LOG.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_LOG.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_LOG_H
 #define _XT_LOG_H
 #define XT_LOG_TCPSEQ 0x01
diff --git a/libc/kernel/uapi/linux/netfilter/xt_MARK.h b/libc/kernel/uapi/linux/netfilter/xt_MARK.h
index e091cc6..c309c28 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_MARK.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_MARK.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_MARK_H_target
 #define _XT_MARK_H_target
 #include <linux/netfilter/xt_mark.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_NFLOG.h b/libc/kernel/uapi/linux/netfilter/xt_NFLOG.h
index 135109c..c05b8bf 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_NFLOG.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_NFLOG.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_NFLOG_TARGET
 #define _XT_NFLOG_TARGET
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_NFQUEUE.h b/libc/kernel/uapi/linux/netfilter/xt_NFQUEUE.h
index 977ba5f..51ecd9c 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_NFQUEUE.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_NFQUEUE.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_NFQ_TARGET_H
 #define _XT_NFQ_TARGET_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_RATEEST.h b/libc/kernel/uapi/linux/netfilter/xt_RATEEST.h
index 0517d79..2f4ade3 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_RATEEST.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_RATEEST.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_RATEEST_TARGET_H
 #define _XT_RATEEST_TARGET_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_SECMARK.h b/libc/kernel/uapi/linux/netfilter/xt_SECMARK.h
index 6dd8dbc..a26c486 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_SECMARK.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_SECMARK.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_SECMARK_H_target
 #define _XT_SECMARK_H_target
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_SYNPROXY.h b/libc/kernel/uapi/linux/netfilter/xt_SYNPROXY.h
index 4d7f436..1178dcb 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_SYNPROXY.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_SYNPROXY.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_SYNPROXY_H
 #define _XT_SYNPROXY_H
 #include <linux/netfilter/nf_synproxy.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_TCPMSS.h b/libc/kernel/uapi/linux/netfilter/xt_TCPMSS.h
index ec6adc6..3c3093a 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_TCPMSS.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_TCPMSS.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_TCPMSS_H
 #define _XT_TCPMSS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_TCPOPTSTRIP.h b/libc/kernel/uapi/linux/netfilter/xt_TCPOPTSTRIP.h
index 7b7a25b..0c1d715 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_TCPOPTSTRIP.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_TCPOPTSTRIP.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_TCPOPTSTRIP_H
 #define _XT_TCPOPTSTRIP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_TEE.h b/libc/kernel/uapi/linux/netfilter/xt_TEE.h
index 4dca1d7..94a9572 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_TEE.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_TEE.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_TEE_TARGET_H
 #define _XT_TEE_TARGET_H
 #include <linux/netfilter.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_TPROXY.h b/libc/kernel/uapi/linux/netfilter/xt_TPROXY.h
index 3cfbc90..5a8c92c 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_TPROXY.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_TPROXY.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_TPROXY_H
 #define _XT_TPROXY_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_addrtype.h b/libc/kernel/uapi/linux/netfilter/xt_addrtype.h
index a4acc5d..f5eefd6 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_addrtype.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_addrtype.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_ADDRTYPE_H
 #define _XT_ADDRTYPE_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_bpf.h b/libc/kernel/uapi/linux/netfilter/xt_bpf.h
index 043af45..b91c2af 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_bpf.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_bpf.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_BPF_H
 #define _XT_BPF_H
 #include <linux/filter.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_cgroup.h b/libc/kernel/uapi/linux/netfilter/xt_cgroup.h
index 6d939ea..1386d1e 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_cgroup.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_cgroup.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_XT_CGROUP_H
 #define _UAPI_XT_CGROUP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_cluster.h b/libc/kernel/uapi/linux/netfilter/xt_cluster.h
index e532f7d..3a2a3ed 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_cluster.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_cluster.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_CLUSTER_MATCH_H
 #define _XT_CLUSTER_MATCH_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_comment.h b/libc/kernel/uapi/linux/netfilter/xt_comment.h
index 2b44718..39c268f 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_comment.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_comment.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_COMMENT_H
 #define _XT_COMMENT_H
 #define XT_MAX_COMMENT_LEN 256
diff --git a/libc/kernel/uapi/linux/netfilter/xt_connbytes.h b/libc/kernel/uapi/linux/netfilter/xt_connbytes.h
index a3efa02..df51bb6 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_connbytes.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_connbytes.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_CONNBYTES_H
 #define _XT_CONNBYTES_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_connlabel.h b/libc/kernel/uapi/linux/netfilter/xt_connlabel.h
index 7548fa1..9c27f98 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_connlabel.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_connlabel.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_XT_CONNLABEL_H
 #define _UAPI_XT_CONNLABEL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_connlimit.h b/libc/kernel/uapi/linux/netfilter/xt_connlimit.h
index 9ff2de9..43603a7 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_connlimit.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_connlimit.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_CONNLIMIT_H
 #define _XT_CONNLIMIT_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_connmark.h b/libc/kernel/uapi/linux/netfilter/xt_connmark.h
index f14474f..95bedf5 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_connmark.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_connmark.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_CONNMARK_H
 #define _XT_CONNMARK_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_conntrack.h b/libc/kernel/uapi/linux/netfilter/xt_conntrack.h
index 5472cc5..dafa665 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_conntrack.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_conntrack.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_CONNTRACK_H
 #define _XT_CONNTRACK_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_cpu.h b/libc/kernel/uapi/linux/netfilter/xt_cpu.h
index 76e8134..800134c 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_cpu.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_cpu.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_CPU_H
 #define _XT_CPU_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_dccp.h b/libc/kernel/uapi/linux/netfilter/xt_dccp.h
index b4e5748..dff62d8 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_dccp.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_dccp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_DCCP_H_
 #define _XT_DCCP_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_devgroup.h b/libc/kernel/uapi/linux/netfilter/xt_devgroup.h
index 639484a..7566c72 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_devgroup.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_devgroup.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_DEVGROUP_H
 #define _XT_DEVGROUP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_dscp.h b/libc/kernel/uapi/linux/netfilter/xt_dscp.h
index f34afc0..8050e12 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_dscp.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_dscp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_DSCP_H
 #define _XT_DSCP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_ecn.h b/libc/kernel/uapi/linux/netfilter/xt_ecn.h
index aee7d84..9a5cc0e 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_ecn.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_ecn.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_ECN_H
 #define _XT_ECN_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_esp.h b/libc/kernel/uapi/linux/netfilter/xt_esp.h
index 22e7632..b565858 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_esp.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_esp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_ESP_H
 #define _XT_ESP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_hashlimit.h b/libc/kernel/uapi/linux/netfilter/xt_hashlimit.h
index 572c85d..4f2ab6a 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_hashlimit.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_hashlimit.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_XT_HASHLIMIT_H
 #define _UAPI_XT_HASHLIMIT_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_helper.h b/libc/kernel/uapi/linux/netfilter/xt_helper.h
index d792274..8051382 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_helper.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_helper.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_HELPER_H
 #define _XT_HELPER_H
 struct xt_helper_info {
diff --git a/libc/kernel/uapi/linux/netfilter/xt_ipcomp.h b/libc/kernel/uapi/linux/netfilter/xt_ipcomp.h
index 4e99d70..a654f1c 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_ipcomp.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_ipcomp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_IPCOMP_H
 #define _XT_IPCOMP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_iprange.h b/libc/kernel/uapi/linux/netfilter/xt_iprange.h
index 57ab108..8e73458 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_iprange.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_iprange.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_NETFILTER_XT_IPRANGE_H
 #define _LINUX_NETFILTER_XT_IPRANGE_H 1
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_ipvs.h b/libc/kernel/uapi/linux/netfilter/xt_ipvs.h
index 6f649b1..414f427 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_ipvs.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_ipvs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_IPVS_H
 #define _XT_IPVS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_l2tp.h b/libc/kernel/uapi/linux/netfilter/xt_l2tp.h
index cad9921..93d0721 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_l2tp.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_l2tp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_NETFILTER_XT_L2TP_H
 #define _LINUX_NETFILTER_XT_L2TP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_length.h b/libc/kernel/uapi/linux/netfilter/xt_length.h
index 4a0792a..4394d06 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_length.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_length.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_LENGTH_H
 #define _XT_LENGTH_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_limit.h b/libc/kernel/uapi/linux/netfilter/xt_limit.h
index 785679f..05f3329 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_limit.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_limit.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_RATE_H
 #define _XT_RATE_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_mac.h b/libc/kernel/uapi/linux/netfilter/xt_mac.h
index bc7b7c8..bbc9980 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_mac.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_mac.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_MAC_H
 #define _XT_MAC_H
 #include <linux/if_ether.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_mark.h b/libc/kernel/uapi/linux/netfilter/xt_mark.h
index 0ec01e9..f828919 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_mark.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_mark.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_MARK_H
 #define _XT_MARK_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_multiport.h b/libc/kernel/uapi/linux/netfilter/xt_multiport.h
index fff7045..b70b0f5 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_multiport.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_multiport.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_MULTIPORT_H
 #define _XT_MULTIPORT_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_nfacct.h b/libc/kernel/uapi/linux/netfilter/xt_nfacct.h
index a2b042e..8686c43 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_nfacct.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_nfacct.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_NFACCT_MATCH_H
 #define _XT_NFACCT_MATCH_H
 #include <linux/netfilter/nfnetlink_acct.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_osf.h b/libc/kernel/uapi/linux/netfilter/xt_osf.h
index 892ad40..8149ed3 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_osf.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_osf.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_OSF_H
 #define _XT_OSF_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_owner.h b/libc/kernel/uapi/linux/netfilter/xt_owner.h
index e077aad..259f288 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_owner.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_owner.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_OWNER_MATCH_H
 #define _XT_OWNER_MATCH_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_physdev.h b/libc/kernel/uapi/linux/netfilter/xt_physdev.h
index be3734c..2c0746c 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_physdev.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_physdev.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_XT_PHYSDEV_H
 #define _UAPI_XT_PHYSDEV_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_pkttype.h b/libc/kernel/uapi/linux/netfilter/xt_pkttype.h
index f9b2f3f..dee4b04 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_pkttype.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_pkttype.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_PKTTYPE_H
 #define _XT_PKTTYPE_H
 struct xt_pkttype_info {
diff --git a/libc/kernel/uapi/linux/netfilter/xt_policy.h b/libc/kernel/uapi/linux/netfilter/xt_policy.h
index 495aeb0..5d36ee6 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_policy.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_policy.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_POLICY_H
 #define _XT_POLICY_H
 #include <linux/netfilter.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_quota.h b/libc/kernel/uapi/linux/netfilter/xt_quota.h
index 96743f4..51322ec 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_quota.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_quota.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_QUOTA_H
 #define _XT_QUOTA_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_rateest.h b/libc/kernel/uapi/linux/netfilter/xt_rateest.h
index 5d509b3..d020f23 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_rateest.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_rateest.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_RATEEST_MATCH_H
 #define _XT_RATEEST_MATCH_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_realm.h b/libc/kernel/uapi/linux/netfilter/xt_realm.h
index 6c78694..cb408eb 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_realm.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_realm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_REALM_H
 #define _XT_REALM_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_recent.h b/libc/kernel/uapi/linux/netfilter/xt_recent.h
index d7b3609..f3b98ef 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_recent.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_recent.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_NETFILTER_XT_RECENT_H
 #define _LINUX_NETFILTER_XT_RECENT_H 1
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_rpfilter.h b/libc/kernel/uapi/linux/netfilter/xt_rpfilter.h
index 958d92a..1751fa9 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_rpfilter.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_rpfilter.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_RPATH_H
 #define _XT_RPATH_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_sctp.h b/libc/kernel/uapi/linux/netfilter/xt_sctp.h
index 98dd0d1..91ef326 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_sctp.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_sctp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_SCTP_H_
 #define _XT_SCTP_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_set.h b/libc/kernel/uapi/linux/netfilter/xt_set.h
index 5374159..c55fff7 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_set.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_set.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_SET_H
 #define _XT_SET_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_socket.h b/libc/kernel/uapi/linux/netfilter/xt_socket.h
index 055b579..eff17cb 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_socket.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_socket.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_SOCKET_H
 #define _XT_SOCKET_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_state.h b/libc/kernel/uapi/linux/netfilter/xt_state.h
index d692e60..5f40f8b 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_state.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_state.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_STATE_H
 #define _XT_STATE_H
 #define XT_STATE_BIT(ctinfo) (1 << ((ctinfo) % IP_CT_IS_REPLY + 1))
diff --git a/libc/kernel/uapi/linux/netfilter/xt_statistic.h b/libc/kernel/uapi/linux/netfilter/xt_statistic.h
index 3aae832..19f9e3c 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_statistic.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_statistic.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_STATISTIC_H
 #define _XT_STATISTIC_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_string.h b/libc/kernel/uapi/linux/netfilter/xt_string.h
index 9296dfb..ee7ef74 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_string.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_string.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_STRING_H
 #define _XT_STRING_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_tcpmss.h b/libc/kernel/uapi/linux/netfilter/xt_tcpmss.h
index 87a9fdd..b256ca2 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_tcpmss.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_tcpmss.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_TCPMSS_MATCH_H
 #define _XT_TCPMSS_MATCH_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_tcpudp.h b/libc/kernel/uapi/linux/netfilter/xt_tcpudp.h
index 4bca77f..8408c48 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_tcpudp.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_tcpudp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_TCPUDP_H
 #define _XT_TCPUDP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_time.h b/libc/kernel/uapi/linux/netfilter/xt_time.h
index ded53b8..81161a8 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_time.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_time.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_TIME_H
 #define _XT_TIME_H 1
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter/xt_u32.h b/libc/kernel/uapi/linux/netfilter/xt_u32.h
index d7de9c9..1af1748 100644
--- a/libc/kernel/uapi/linux/netfilter/xt_u32.h
+++ b/libc/kernel/uapi/linux/netfilter/xt_u32.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _XT_U32_H
 #define _XT_U32_H 1
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_arp.h b/libc/kernel/uapi/linux/netfilter_arp.h
index a5e427c..e0f2579 100644
--- a/libc/kernel/uapi/linux/netfilter_arp.h
+++ b/libc/kernel/uapi/linux/netfilter_arp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_ARP_NETFILTER_H
 #define __LINUX_ARP_NETFILTER_H
 #include <linux/netfilter.h>
diff --git a/libc/kernel/uapi/linux/netfilter_arp/arp_tables.h b/libc/kernel/uapi/linux/netfilter_arp/arp_tables.h
index b1fb537..7b0fddd 100644
--- a/libc/kernel/uapi/linux/netfilter_arp/arp_tables.h
+++ b/libc/kernel/uapi/linux/netfilter_arp/arp_tables.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_ARPTABLES_H
 #define _UAPI_ARPTABLES_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_arp/arpt_mangle.h b/libc/kernel/uapi/linux/netfilter_arp/arpt_mangle.h
index ff07a0a..09e121d 100644
--- a/libc/kernel/uapi/linux/netfilter_arp/arpt_mangle.h
+++ b/libc/kernel/uapi/linux/netfilter_arp/arpt_mangle.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ARPT_MANGLE_H
 #define _ARPT_MANGLE_H
 #include <linux/netfilter_arp/arp_tables.h>
diff --git a/libc/kernel/uapi/linux/netfilter_bridge.h b/libc/kernel/uapi/linux/netfilter_bridge.h
index e1434f4..7aef50b 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_BRIDGE_NETFILTER_H
 #define _UAPI__LINUX_BRIDGE_NETFILTER_H
 #include <linux/in.h>
diff --git a/libc/kernel/uapi/linux/netfilter_bridge/ebt_802_3.h b/libc/kernel/uapi/linux/netfilter_bridge/ebt_802_3.h
index 5f11ba4..f794560 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge/ebt_802_3.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge/ebt_802_3.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_BRIDGE_EBT_802_3_H
 #define _UAPI__LINUX_BRIDGE_EBT_802_3_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_bridge/ebt_among.h b/libc/kernel/uapi/linux/netfilter_bridge/ebt_among.h
index aa39c5b..2df333e 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge/ebt_among.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge/ebt_among.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_BRIDGE_EBT_AMONG_H
 #define __LINUX_BRIDGE_EBT_AMONG_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_bridge/ebt_arp.h b/libc/kernel/uapi/linux/netfilter_bridge/ebt_arp.h
index 17fb19f..0c84f98 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge/ebt_arp.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge/ebt_arp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_BRIDGE_EBT_ARP_H
 #define __LINUX_BRIDGE_EBT_ARP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_bridge/ebt_arpreply.h b/libc/kernel/uapi/linux/netfilter_bridge/ebt_arpreply.h
index c880f01..b28312e 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge/ebt_arpreply.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge/ebt_arpreply.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_BRIDGE_EBT_ARPREPLY_H
 #define __LINUX_BRIDGE_EBT_ARPREPLY_H
 #include <linux/if_ether.h>
diff --git a/libc/kernel/uapi/linux/netfilter_bridge/ebt_ip.h b/libc/kernel/uapi/linux/netfilter_bridge/ebt_ip.h
index 6ee8afb..d1a7888 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge/ebt_ip.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge/ebt_ip.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_BRIDGE_EBT_IP_H
 #define __LINUX_BRIDGE_EBT_IP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_bridge/ebt_ip6.h b/libc/kernel/uapi/linux/netfilter_bridge/ebt_ip6.h
index d49e074..3448145 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge/ebt_ip6.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge/ebt_ip6.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_BRIDGE_EBT_IP6_H
 #define __LINUX_BRIDGE_EBT_IP6_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_bridge/ebt_limit.h b/libc/kernel/uapi/linux/netfilter_bridge/ebt_limit.h
index 80e1a09..c81c9ea 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge/ebt_limit.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge/ebt_limit.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_BRIDGE_EBT_LIMIT_H
 #define __LINUX_BRIDGE_EBT_LIMIT_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_bridge/ebt_log.h b/libc/kernel/uapi/linux/netfilter_bridge/ebt_log.h
index dbe3fec..7e2e123 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge/ebt_log.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge/ebt_log.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_BRIDGE_EBT_LOG_H
 #define __LINUX_BRIDGE_EBT_LOG_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_bridge/ebt_mark_m.h b/libc/kernel/uapi/linux/netfilter_bridge/ebt_mark_m.h
index cc35658..86a9c71 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge/ebt_mark_m.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge/ebt_mark_m.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_BRIDGE_EBT_MARK_M_H
 #define __LINUX_BRIDGE_EBT_MARK_M_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_bridge/ebt_mark_t.h b/libc/kernel/uapi/linux/netfilter_bridge/ebt_mark_t.h
index 5b662f9..c7854c9 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge/ebt_mark_t.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge/ebt_mark_t.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_BRIDGE_EBT_MARK_T_H
 #define __LINUX_BRIDGE_EBT_MARK_T_H
 #define MARK_SET_VALUE (0xfffffff0)
diff --git a/libc/kernel/uapi/linux/netfilter_bridge/ebt_nat.h b/libc/kernel/uapi/linux/netfilter_bridge/ebt_nat.h
index c0b58c0..70b7771 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge/ebt_nat.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge/ebt_nat.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_BRIDGE_EBT_NAT_H
 #define __LINUX_BRIDGE_EBT_NAT_H
 #include <linux/if_ether.h>
diff --git a/libc/kernel/uapi/linux/netfilter_bridge/ebt_nflog.h b/libc/kernel/uapi/linux/netfilter_bridge/ebt_nflog.h
index de50e04..2774821 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge/ebt_nflog.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge/ebt_nflog.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_BRIDGE_EBT_NFLOG_H
 #define __LINUX_BRIDGE_EBT_NFLOG_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_bridge/ebt_pkttype.h b/libc/kernel/uapi/linux/netfilter_bridge/ebt_pkttype.h
index dfb7e70..19df1c9 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge/ebt_pkttype.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge/ebt_pkttype.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_BRIDGE_EBT_PKTTYPE_H
 #define __LINUX_BRIDGE_EBT_PKTTYPE_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_bridge/ebt_redirect.h b/libc/kernel/uapi/linux/netfilter_bridge/ebt_redirect.h
index e329c74..f9950e0 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge/ebt_redirect.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge/ebt_redirect.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_BRIDGE_EBT_REDIRECT_H
 #define __LINUX_BRIDGE_EBT_REDIRECT_H
 struct ebt_redirect_info {
diff --git a/libc/kernel/uapi/linux/netfilter_bridge/ebt_stp.h b/libc/kernel/uapi/linux/netfilter_bridge/ebt_stp.h
index 47565e3..a73c18c 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge/ebt_stp.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge/ebt_stp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_BRIDGE_EBT_STP_H
 #define __LINUX_BRIDGE_EBT_STP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_bridge/ebt_vlan.h b/libc/kernel/uapi/linux/netfilter_bridge/ebt_vlan.h
index 9cc2420..5cdddf5 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge/ebt_vlan.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge/ebt_vlan.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_BRIDGE_EBT_VLAN_H
 #define __LINUX_BRIDGE_EBT_VLAN_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_bridge/ebtables.h b/libc/kernel/uapi/linux/netfilter_bridge/ebtables.h
index d87d65e..b698b8b 100644
--- a/libc/kernel/uapi/linux/netfilter_bridge/ebtables.h
+++ b/libc/kernel/uapi/linux/netfilter_bridge/ebtables.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_BRIDGE_EFF_H
 #define _UAPI__LINUX_BRIDGE_EFF_H
 #include <linux/types.h>
@@ -63,7 +51,7 @@
   unsigned int counter_offset;
   int policy;
   unsigned int nentries;
-  char data[0] __attribute__((aligned(__alignof__(struct ebt_replace))));
+  char data[] __attribute__((aligned(__alignof__(struct ebt_replace))));
 };
 #define EBT_ENTRY_OR_ENTRIES 0x01
 #define EBT_NOPROTO 0x02
@@ -88,7 +76,7 @@
     struct xt_match * match;
   } u;
   unsigned int match_size;
-  unsigned char data[0] __attribute__((aligned(__alignof__(struct ebt_replace))));
+  unsigned char data[] __attribute__((aligned(__alignof__(struct ebt_replace))));
 };
 struct ebt_entry_watcher {
   union {
@@ -99,7 +87,7 @@
     struct xt_target * watcher;
   } u;
   unsigned int watcher_size;
-  unsigned char data[0] __attribute__((aligned(__alignof__(struct ebt_replace))));
+  unsigned char data[] __attribute__((aligned(__alignof__(struct ebt_replace))));
 };
 struct ebt_entry_target {
   union {
@@ -129,10 +117,11 @@
   unsigned char sourcemsk[ETH_ALEN];
   unsigned char destmac[ETH_ALEN];
   unsigned char destmsk[ETH_ALEN];
-  unsigned int watchers_offset;
+  __struct_group(, offsets,, unsigned int watchers_offset;
   unsigned int target_offset;
   unsigned int next_offset;
-  unsigned char elems[0] __attribute__((aligned(__alignof__(struct ebt_replace))));
+ );
+  unsigned char elems[] __attribute__((aligned(__alignof__(struct ebt_replace))));
 };
 #define EBT_BASE_CTL 128
 #define EBT_SO_SET_ENTRIES (EBT_BASE_CTL)
diff --git a/libc/kernel/uapi/linux/netfilter_ipv4.h b/libc/kernel/uapi/linux/netfilter_ipv4.h
index bb2a1d9..2ce710a 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv4.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv4.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_IP_NETFILTER_H
 #define _UAPI__LINUX_IP_NETFILTER_H
 #include <linux/netfilter.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv4/ip_tables.h b/libc/kernel/uapi/linux/netfilter_ipv4/ip_tables.h
index 5179be4..0b9b9eb 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv4/ip_tables.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv4/ip_tables.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_IPTABLES_H
 #define _UAPI_IPTABLES_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_CLUSTERIP.h b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_CLUSTERIP.h
index b5376b8..17320d0 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_CLUSTERIP.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_CLUSTERIP.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IPT_CLUSTERIP_H_target
 #define _IPT_CLUSTERIP_H_target
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ECN.h b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ECN.h
index a67f997..46e14e8 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ECN.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ECN.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IPT_ECN_TARGET_H
 #define _IPT_ECN_TARGET_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_LOG.h b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_LOG.h
index c049244..68870b4 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_LOG.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_LOG.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IPT_LOG_H
 #define _IPT_LOG_H
 #define IPT_LOG_TCPSEQ 0x01
diff --git a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_REJECT.h b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_REJECT.h
index 2650d04..e6bf388 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_REJECT.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_REJECT.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IPT_REJECT_H
 #define _IPT_REJECT_H
 enum ipt_reject_with {
diff --git a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_TTL.h b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_TTL.h
index d4509ac..a2896d8 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_TTL.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_TTL.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IPT_TTL_H
 #define _IPT_TTL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ah.h b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ah.h
index 652db9c..0d8932e 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ah.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ah.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IPT_AH_H
 #define _IPT_AH_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ecn.h b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ecn.h
index a892af5..7fb8cb8 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ecn.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ecn.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IPT_ECN_H
 #define _IPT_ECN_H
 #include <linux/netfilter/xt_ecn.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ttl.h b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ttl.h
index 26c1a4f..14f1a95 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ttl.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv4/ipt_ttl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IPT_TTL_H
 #define _IPT_TTL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6.h b/libc/kernel/uapi/linux/netfilter_ipv6.h
index f454eb6..5f885a2 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv6.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv6.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_IP6_NETFILTER_H
 #define _UAPI__LINUX_IP6_NETFILTER_H
 #include <linux/netfilter.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6_tables.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6_tables.h
index 8c4ec88..6dfe302 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv6/ip6_tables.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6_tables.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_IP6_TABLES_H
 #define _UAPI_IP6_TABLES_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_HL.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_HL.h
index 85983c6..8060e3b 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_HL.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_HL.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IP6T_HL_H
 #define _IP6T_HL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_LOG.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_LOG.h
index eb3f26a..2bf5df0 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_LOG.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_LOG.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IP6T_LOG_H
 #define _IP6T_LOG_H
 #define IP6T_LOG_TCPSEQ 0x01
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_NPT.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_NPT.h
index 4f41cde..5296a5b 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_NPT.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_NPT.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __NETFILTER_IP6T_NPT
 #define __NETFILTER_IP6T_NPT
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_REJECT.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_REJECT.h
index 96fcdbe..2a89f1a 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_REJECT.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_REJECT.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IP6T_REJECT_H
 #define _IP6T_REJECT_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_ah.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_ah.h
index a566e6c..ec24d2b 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_ah.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_ah.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IP6T_AH_H
 #define _IP6T_AH_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_frag.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_frag.h
index accbe18..f4779fa 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_frag.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_frag.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IP6T_FRAG_H
 #define _IP6T_FRAG_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_hl.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_hl.h
index 048636d..27de0c0 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_hl.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_hl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IP6T_HL_H
 #define _IP6T_HL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_ipv6header.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_ipv6header.h
index 3c5dca5..1c6e3a5 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_ipv6header.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_ipv6header.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __IPV6HEADER_H
 #define __IPV6HEADER_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_mh.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_mh.h
index 849119f..c736090 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_mh.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_mh.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IP6T_MH_H
 #define _IP6T_MH_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_opts.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_opts.h
index 21052ee..0c632d4 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_opts.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_opts.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IP6T_OPTS_H
 #define _IP6T_OPTS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_rt.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_rt.h
index 2203b82..d948475 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_rt.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_rt.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IP6T_RT_H
 #define _IP6T_RT_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_srh.h b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_srh.h
index a9474e7..6373231 100644
--- a/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_srh.h
+++ b/libc/kernel/uapi/linux/netfilter_ipv6/ip6t_srh.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _IP6T_SRH_H
 #define _IP6T_SRH_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netlink.h b/libc/kernel/uapi/linux/netlink.h
index 17d5291..7621869 100644
--- a/libc/kernel/uapi/linux/netlink.h
+++ b/libc/kernel/uapi/linux/netlink.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_NETLINK_H
 #define _UAPI__LINUX_NETLINK_H
 #include <linux/const.h>
@@ -180,6 +168,8 @@
   NL_ATTR_TYPE_NESTED,
   NL_ATTR_TYPE_NESTED_ARRAY,
   NL_ATTR_TYPE_BITFIELD32,
+  NL_ATTR_TYPE_SINT,
+  NL_ATTR_TYPE_UINT,
 };
 enum netlink_policy_type_attr {
   NL_POLICY_TYPE_ATTR_UNSPEC,
diff --git a/libc/kernel/uapi/linux/netlink_diag.h b/libc/kernel/uapi/linux/netlink_diag.h
index afe1521..aef637d 100644
--- a/libc/kernel/uapi/linux/netlink_diag.h
+++ b/libc/kernel/uapi/linux/netlink_diag.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __NETLINK_DIAG_H__
 #define __NETLINK_DIAG_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/netrom.h b/libc/kernel/uapi/linux/netrom.h
index 917b850..1a978d5 100644
--- a/libc/kernel/uapi/linux/netrom.h
+++ b/libc/kernel/uapi/linux/netrom.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef NETROM_KERNEL_H
 #define NETROM_KERNEL_H
 #include <linux/ax25.h>
diff --git a/libc/kernel/uapi/linux/nexthop.h b/libc/kernel/uapi/linux/nexthop.h
index 4bc9ff0..5726a66 100644
--- a/libc/kernel/uapi/linux/nexthop.h
+++ b/libc/kernel/uapi/linux/nexthop.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_NEXTHOP_H
 #define _UAPI_LINUX_NEXTHOP_H
 #include <linux/types.h>
@@ -38,6 +26,8 @@
   __NEXTHOP_GRP_TYPE_MAX,
 };
 #define NEXTHOP_GRP_TYPE_MAX (__NEXTHOP_GRP_TYPE_MAX - 1)
+#define NHA_OP_FLAG_DUMP_STATS BIT(0)
+#define NHA_OP_FLAG_DUMP_HW_STATS BIT(1)
 enum {
   NHA_UNSPEC,
   NHA_ID,
@@ -53,6 +43,10 @@
   NHA_FDB,
   NHA_RES_GROUP,
   NHA_RES_BUCKET,
+  NHA_OP_FLAGS,
+  NHA_GROUP_STATS,
+  NHA_HW_STATS_ENABLE,
+  NHA_HW_STATS_USED,
   __NHA_MAX,
 };
 #define NHA_MAX (__NHA_MAX - 1)
@@ -75,4 +69,18 @@
   __NHA_RES_BUCKET_MAX,
 };
 #define NHA_RES_BUCKET_MAX (__NHA_RES_BUCKET_MAX - 1)
+enum {
+  NHA_GROUP_STATS_UNSPEC,
+  NHA_GROUP_STATS_ENTRY,
+  __NHA_GROUP_STATS_MAX,
+};
+#define NHA_GROUP_STATS_MAX (__NHA_GROUP_STATS_MAX - 1)
+enum {
+  NHA_GROUP_STATS_ENTRY_UNSPEC,
+  NHA_GROUP_STATS_ENTRY_ID,
+  NHA_GROUP_STATS_ENTRY_PACKETS,
+  NHA_GROUP_STATS_ENTRY_PACKETS_HW,
+  __NHA_GROUP_STATS_ENTRY_MAX,
+};
+#define NHA_GROUP_STATS_ENTRY_MAX (__NHA_GROUP_STATS_ENTRY_MAX - 1)
 #endif
diff --git a/libc/kernel/uapi/linux/nfc.h b/libc/kernel/uapi/linux/nfc.h
index ff980f4..393ce7c 100644
--- a/libc/kernel/uapi/linux/nfc.h
+++ b/libc/kernel/uapi/linux/nfc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_NFC_H
 #define __LINUX_NFC_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/nfs.h b/libc/kernel/uapi/linux/nfs.h
index e8c0499..7b18f1f 100644
--- a/libc/kernel/uapi/linux/nfs.h
+++ b/libc/kernel/uapi/linux/nfs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_NFS_H
 #define _UAPI_LINUX_NFS_H
 #include <linux/types.h>
@@ -59,7 +47,6 @@
   NFSERR_NOSPC = 28,
   NFSERR_ROFS = 30,
   NFSERR_MLINK = 31,
-  NFSERR_OPNOTSUPP = 45,
   NFSERR_NAMETOOLONG = 63,
   NFSERR_NOTEMPTY = 66,
   NFSERR_DQUOT = 69,
diff --git a/libc/kernel/uapi/linux/nfs2.h b/libc/kernel/uapi/linux/nfs2.h
index 4cbca12..110a816 100644
--- a/libc/kernel/uapi/linux/nfs2.h
+++ b/libc/kernel/uapi/linux/nfs2.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_NFS2_H
 #define _LINUX_NFS2_H
 #define NFS2_PORT 2049
diff --git a/libc/kernel/uapi/linux/nfs3.h b/libc/kernel/uapi/linux/nfs3.h
index af0d668..71ff8ac 100644
--- a/libc/kernel/uapi/linux/nfs3.h
+++ b/libc/kernel/uapi/linux/nfs3.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_NFS3_H
 #define _UAPI_LINUX_NFS3_H
 #define NFS3_PORT 2049
diff --git a/libc/kernel/uapi/linux/nfs4.h b/libc/kernel/uapi/linux/nfs4.h
index ef860e2..6512901 100644
--- a/libc/kernel/uapi/linux/nfs4.h
+++ b/libc/kernel/uapi/linux/nfs4.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_NFS4_H
 #define _UAPI_LINUX_NFS4_H
 #include <linux/types.h>
@@ -46,6 +34,7 @@
 #define NFS4_OPEN_RESULT_CONFIRM 0x0002
 #define NFS4_OPEN_RESULT_LOCKTYPE_POSIX 0x0004
 #define NFS4_OPEN_RESULT_PRESERVE_UNLINKED 0x0008
+#define NFS4_OPEN_RESULT_NO_OPEN_STATEID 0x0010
 #define NFS4_OPEN_RESULT_MAY_NOTIFY_LOCK 0x0020
 #define NFS4_SHARE_ACCESS_MASK 0x000F
 #define NFS4_SHARE_ACCESS_READ 0x0001
@@ -64,6 +53,8 @@
 #define NFS4_SHARE_WHEN_MASK 0xF0000
 #define NFS4_SHARE_SIGNAL_DELEG_WHEN_RESRC_AVAIL 0x10000
 #define NFS4_SHARE_PUSH_DELEG_WHEN_UNCONTENDED 0x20000
+#define NFS4_SHARE_WANT_DELEG_TIMESTAMPS 0x100000
+#define NFS4_SHARE_WANT_OPEN_XOR_DELEGATION 0x200000
 #define NFS4_CDFC4_FORE 0x1
 #define NFS4_CDFC4_BACK 0x2
 #define NFS4_CDFC4_BOTH 0x3
diff --git a/libc/kernel/uapi/linux/nfs4_mount.h b/libc/kernel/uapi/linux/nfs4_mount.h
index 9b9c9f8..3dee4cf 100644
--- a/libc/kernel/uapi/linux/nfs4_mount.h
+++ b/libc/kernel/uapi/linux/nfs4_mount.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_NFS4_MOUNT_H
 #define _LINUX_NFS4_MOUNT_H
 #define NFS4_MOUNT_VERSION 1
diff --git a/libc/kernel/uapi/linux/nfs_fs.h b/libc/kernel/uapi/linux/nfs_fs.h
index f8228ec..7c2b704 100644
--- a/libc/kernel/uapi/linux/nfs_fs.h
+++ b/libc/kernel/uapi/linux/nfs_fs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_NFS_FS_H
 #define _UAPI_LINUX_NFS_FS_H
 #include <linux/magic.h>
diff --git a/libc/kernel/uapi/linux/nfs_idmap.h b/libc/kernel/uapi/linux/nfs_idmap.h
index 6287cc6..01d30c0 100644
--- a/libc/kernel/uapi/linux/nfs_idmap.h
+++ b/libc/kernel/uapi/linux/nfs_idmap.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPINFS_IDMAP_H
 #define _UAPINFS_IDMAP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/nfs_mount.h b/libc/kernel/uapi/linux/nfs_mount.h
index 5b00222..0e33fff 100644
--- a/libc/kernel/uapi/linux/nfs_mount.h
+++ b/libc/kernel/uapi/linux/nfs_mount.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_NFS_MOUNT_H
 #define _LINUX_NFS_MOUNT_H
 #include <linux/in.h>
diff --git a/libc/kernel/uapi/linux/nfsacl.h b/libc/kernel/uapi/linux/nfsacl.h
index 65dccad..c624a58 100644
--- a/libc/kernel/uapi/linux/nfsacl.h
+++ b/libc/kernel/uapi/linux/nfsacl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_NFSACL_H
 #define _UAPI__LINUX_NFSACL_H
 #define NFS_ACL_PROGRAM 100227
diff --git a/libc/kernel/uapi/linux/nfsd/cld.h b/libc/kernel/uapi/linux/nfsd/cld.h
index 92b89c0..35f11e0 100644
--- a/libc/kernel/uapi/linux/nfsd/cld.h
+++ b/libc/kernel/uapi/linux/nfsd/cld.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _NFSD_CLD_H
 #define _NFSD_CLD_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/nfsd/debug.h b/libc/kernel/uapi/linux/nfsd/debug.h
index d4ccf69..9196f28 100644
--- a/libc/kernel/uapi/linux/nfsd/debug.h
+++ b/libc/kernel/uapi/linux/nfsd/debug.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPILINUX_NFSD_DEBUG_H
 #define _UAPILINUX_NFSD_DEBUG_H
 #include <linux/sunrpc/debug.h>
diff --git a/libc/kernel/uapi/linux/nfsd/export.h b/libc/kernel/uapi/linux/nfsd/export.h
index 4716fb1..8b9cfc2 100644
--- a/libc/kernel/uapi/linux/nfsd/export.h
+++ b/libc/kernel/uapi/linux/nfsd/export.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPINFSD_EXPORT_H
 #define _UAPINFSD_EXPORT_H
 #include <linux/types.h>
@@ -41,4 +29,9 @@
 #define NFSEXP_PNFS 0x20000
 #define NFSEXP_ALLFLAGS 0x3FEFF
 #define NFSEXP_SECINFO_FLAGS (NFSEXP_READONLY | NFSEXP_ROOTSQUASH | NFSEXP_ALLSQUASH | NFSEXP_INSECURE_PORT)
+#define NFSEXP_XPRTSEC_NONE 0x0001
+#define NFSEXP_XPRTSEC_TLS 0x0002
+#define NFSEXP_XPRTSEC_MTLS 0x0004
+#define NFSEXP_XPRTSEC_NUM (3)
+#define NFSEXP_XPRTSEC_ALL (NFSEXP_XPRTSEC_NONE | NFSEXP_XPRTSEC_TLS | NFSEXP_XPRTSEC_MTLS)
 #endif
diff --git a/libc/kernel/uapi/linux/nfsd/stats.h b/libc/kernel/uapi/linux/nfsd/stats.h
index 91b4a74..45205a3 100644
--- a/libc/kernel/uapi/linux/nfsd/stats.h
+++ b/libc/kernel/uapi/linux/nfsd/stats.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPILINUX_NFSD_STATS_H
 #define _UAPILINUX_NFSD_STATS_H
 #include <linux/nfs4.h>
diff --git a/libc/kernel/uapi/linux/nfsd_netlink.h b/libc/kernel/uapi/linux/nfsd_netlink.h
new file mode 100644
index 0000000..bd3f02c
--- /dev/null
+++ b/libc/kernel/uapi/linux/nfsd_netlink.h
@@ -0,0 +1,79 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_LINUX_NFSD_NETLINK_H
+#define _UAPI_LINUX_NFSD_NETLINK_H
+#define NFSD_FAMILY_NAME "nfsd"
+#define NFSD_FAMILY_VERSION 1
+enum {
+  NFSD_A_RPC_STATUS_XID = 1,
+  NFSD_A_RPC_STATUS_FLAGS,
+  NFSD_A_RPC_STATUS_PROG,
+  NFSD_A_RPC_STATUS_VERSION,
+  NFSD_A_RPC_STATUS_PROC,
+  NFSD_A_RPC_STATUS_SERVICE_TIME,
+  NFSD_A_RPC_STATUS_PAD,
+  NFSD_A_RPC_STATUS_SADDR4,
+  NFSD_A_RPC_STATUS_DADDR4,
+  NFSD_A_RPC_STATUS_SADDR6,
+  NFSD_A_RPC_STATUS_DADDR6,
+  NFSD_A_RPC_STATUS_SPORT,
+  NFSD_A_RPC_STATUS_DPORT,
+  NFSD_A_RPC_STATUS_COMPOUND_OPS,
+  __NFSD_A_RPC_STATUS_MAX,
+  NFSD_A_RPC_STATUS_MAX = (__NFSD_A_RPC_STATUS_MAX - 1)
+};
+enum {
+  NFSD_A_SERVER_THREADS = 1,
+  NFSD_A_SERVER_GRACETIME,
+  NFSD_A_SERVER_LEASETIME,
+  NFSD_A_SERVER_SCOPE,
+  __NFSD_A_SERVER_MAX,
+  NFSD_A_SERVER_MAX = (__NFSD_A_SERVER_MAX - 1)
+};
+enum {
+  NFSD_A_VERSION_MAJOR = 1,
+  NFSD_A_VERSION_MINOR,
+  NFSD_A_VERSION_ENABLED,
+  __NFSD_A_VERSION_MAX,
+  NFSD_A_VERSION_MAX = (__NFSD_A_VERSION_MAX - 1)
+};
+enum {
+  NFSD_A_SERVER_PROTO_VERSION = 1,
+  __NFSD_A_SERVER_PROTO_MAX,
+  NFSD_A_SERVER_PROTO_MAX = (__NFSD_A_SERVER_PROTO_MAX - 1)
+};
+enum {
+  NFSD_A_SOCK_ADDR = 1,
+  NFSD_A_SOCK_TRANSPORT_NAME,
+  __NFSD_A_SOCK_MAX,
+  NFSD_A_SOCK_MAX = (__NFSD_A_SOCK_MAX - 1)
+};
+enum {
+  NFSD_A_SERVER_SOCK_ADDR = 1,
+  __NFSD_A_SERVER_SOCK_MAX,
+  NFSD_A_SERVER_SOCK_MAX = (__NFSD_A_SERVER_SOCK_MAX - 1)
+};
+enum {
+  NFSD_A_POOL_MODE_MODE = 1,
+  NFSD_A_POOL_MODE_NPOOLS,
+  __NFSD_A_POOL_MODE_MAX,
+  NFSD_A_POOL_MODE_MAX = (__NFSD_A_POOL_MODE_MAX - 1)
+};
+enum {
+  NFSD_CMD_RPC_STATUS_GET = 1,
+  NFSD_CMD_THREADS_SET,
+  NFSD_CMD_THREADS_GET,
+  NFSD_CMD_VERSION_SET,
+  NFSD_CMD_VERSION_GET,
+  NFSD_CMD_LISTENER_SET,
+  NFSD_CMD_LISTENER_GET,
+  NFSD_CMD_POOL_MODE_SET,
+  NFSD_CMD_POOL_MODE_GET,
+  __NFSD_CMD_MAX,
+  NFSD_CMD_MAX = (__NFSD_CMD_MAX - 1)
+};
+#endif
diff --git a/libc/kernel/uapi/linux/nilfs2_api.h b/libc/kernel/uapi/linux/nilfs2_api.h
index d6a6b8f..993f1fd 100644
--- a/libc/kernel/uapi/linux/nilfs2_api.h
+++ b/libc/kernel/uapi/linux/nilfs2_api.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_NILFS2_API_H
 #define _LINUX_NILFS2_API_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/nilfs2_ondisk.h b/libc/kernel/uapi/linux/nilfs2_ondisk.h
index a05e7b7..9df95cb 100644
--- a/libc/kernel/uapi/linux/nilfs2_ondisk.h
+++ b/libc/kernel/uapi/linux/nilfs2_ondisk.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_NILFS2_ONDISK_H
 #define _LINUX_NILFS2_ONDISK_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/nitro_enclaves.h b/libc/kernel/uapi/linux/nitro_enclaves.h
index 20b26ef..5256cf3 100644
--- a/libc/kernel/uapi/linux/nitro_enclaves.h
+++ b/libc/kernel/uapi/linux/nitro_enclaves.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_NITRO_ENCLAVES_H_
 #define _UAPI_LINUX_NITRO_ENCLAVES_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/nl80211-vnd-intel.h b/libc/kernel/uapi/linux/nl80211-vnd-intel.h
index 9ade75a..4a6d94a 100644
--- a/libc/kernel/uapi/linux/nl80211-vnd-intel.h
+++ b/libc/kernel/uapi/linux/nl80211-vnd-intel.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __VENDOR_CMD_INTEL_H__
 #define __VENDOR_CMD_INTEL_H__
 #define INTEL_OUI 0x001735
diff --git a/libc/kernel/uapi/linux/nl80211.h b/libc/kernel/uapi/linux/nl80211.h
index 83fe597..1bad2f2 100644
--- a/libc/kernel/uapi/linux/nl80211.h
+++ b/libc/kernel/uapi/linux/nl80211.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_NL80211_H
 #define __LINUX_NL80211_H
 #include <linux/types.h>
@@ -190,6 +178,9 @@
   NL80211_CMD_ADD_LINK_STA,
   NL80211_CMD_MODIFY_LINK_STA,
   NL80211_CMD_REMOVE_LINK_STA,
+  NL80211_CMD_SET_HW_TIMESTAMP,
+  NL80211_CMD_LINKS_REMOVED,
+  NL80211_CMD_SET_TID_TO_LINK_MAPPING,
   __NL80211_CMD_AFTER_LAST,
   NL80211_CMD_MAX = __NL80211_CMD_AFTER_LAST - 1
 };
@@ -528,6 +519,17 @@
   NL80211_ATTR_TX_HW_TIMESTAMP,
   NL80211_ATTR_RX_HW_TIMESTAMP,
   NL80211_ATTR_TD_BITMAP,
+  NL80211_ATTR_PUNCT_BITMAP,
+  NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS,
+  NL80211_ATTR_HW_TIMESTAMP_ENABLED,
+  NL80211_ATTR_EMA_RNR_ELEMS,
+  NL80211_ATTR_MLO_LINK_DISABLED,
+  NL80211_ATTR_BSS_DUMP_INCLUDE_USE_DATA,
+  NL80211_ATTR_MLO_TTLM_DLINK,
+  NL80211_ATTR_MLO_TTLM_ULINK,
+  NL80211_ATTR_ASSOC_SPP_AMSDU,
+  NL80211_ATTR_WIPHY_RADIOS,
+  NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS,
   __NL80211_ATTR_AFTER_LAST,
   NUM_NL80211_ATTR = __NL80211_ATTR_AFTER_LAST,
   NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1
@@ -603,6 +605,7 @@
   NL80211_STA_FLAG_AUTHENTICATED,
   NL80211_STA_FLAG_TDLS_PEER,
   NL80211_STA_FLAG_ASSOCIATED,
+  NL80211_STA_FLAG_SPP_AMSDU,
   __NL80211_STA_FLAG_AFTER_LAST,
   NL80211_STA_FLAG_MAX = __NL80211_STA_FLAG_AFTER_LAST - 1
 };
@@ -682,6 +685,13 @@
   NL80211_RATE_INFO_EHT_NSS,
   NL80211_RATE_INFO_EHT_GI,
   NL80211_RATE_INFO_EHT_RU_ALLOC,
+  NL80211_RATE_INFO_S1G_MCS,
+  NL80211_RATE_INFO_S1G_NSS,
+  NL80211_RATE_INFO_1_MHZ_WIDTH,
+  NL80211_RATE_INFO_2_MHZ_WIDTH,
+  NL80211_RATE_INFO_4_MHZ_WIDTH,
+  NL80211_RATE_INFO_8_MHZ_WIDTH,
+  NL80211_RATE_INFO_16_MHZ_WIDTH,
   __NL80211_RATE_INFO_AFTER_LAST,
   NL80211_RATE_INFO_MAX = __NL80211_RATE_INFO_AFTER_LAST - 1
 };
@@ -821,6 +831,8 @@
   NL80211_BAND_ATTR_IFTYPE_DATA,
   NL80211_BAND_ATTR_EDMG_CHANNELS,
   NL80211_BAND_ATTR_EDMG_BW_CONFIG,
+  NL80211_BAND_ATTR_S1G_MCS_NSS_SET,
+  NL80211_BAND_ATTR_S1G_CAPA,
   __NL80211_BAND_ATTR_AFTER_LAST,
   NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1
 };
@@ -863,6 +875,12 @@
   NL80211_FREQUENCY_ATTR_16MHZ,
   NL80211_FREQUENCY_ATTR_NO_320MHZ,
   NL80211_FREQUENCY_ATTR_NO_EHT,
+  NL80211_FREQUENCY_ATTR_PSD,
+  NL80211_FREQUENCY_ATTR_DFS_CONCURRENT,
+  NL80211_FREQUENCY_ATTR_NO_6GHZ_VLP_CLIENT,
+  NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT,
+  NL80211_FREQUENCY_ATTR_CAN_MONITOR,
+  NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP,
   __NL80211_FREQUENCY_ATTR_AFTER_LAST,
   NL80211_FREQUENCY_ATTR_MAX = __NL80211_FREQUENCY_ATTR_AFTER_LAST - 1
 };
@@ -871,6 +889,8 @@
 #define NL80211_FREQUENCY_ATTR_NO_IBSS NL80211_FREQUENCY_ATTR_NO_IR
 #define NL80211_FREQUENCY_ATTR_NO_IR NL80211_FREQUENCY_ATTR_NO_IR
 #define NL80211_FREQUENCY_ATTR_GO_CONCURRENT NL80211_FREQUENCY_ATTR_IR_CONCURRENT
+#define NL80211_FREQUENCY_ATTR_NO_UHB_VLP_CLIENT NL80211_FREQUENCY_ATTR_NO_6GHZ_VLP_CLIENT
+#define NL80211_FREQUENCY_ATTR_NO_UHB_AFC_CLIENT NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT
 enum nl80211_bitrate_attr {
   __NL80211_BITRATE_ATTR_INVALID,
   NL80211_BITRATE_ATTR_RATE,
@@ -899,6 +919,7 @@
   NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN,
   NL80211_ATTR_POWER_RULE_MAX_EIRP,
   NL80211_ATTR_DFS_CAC_TIME,
+  NL80211_ATTR_POWER_RULE_PSD,
   __NL80211_REG_RULE_ATTR_AFTER_LAST,
   NL80211_REG_RULE_ATTR_MAX = __NL80211_REG_RULE_ATTR_AFTER_LAST - 1
 };
@@ -932,12 +953,20 @@
   NL80211_RRF_NO_160MHZ = 1 << 16,
   NL80211_RRF_NO_HE = 1 << 17,
   NL80211_RRF_NO_320MHZ = 1 << 18,
+  NL80211_RRF_NO_EHT = 1 << 19,
+  NL80211_RRF_PSD = 1 << 20,
+  NL80211_RRF_DFS_CONCURRENT = 1 << 21,
+  NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1 << 22,
+  NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1 << 23,
+  NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1 << 24,
 };
 #define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
 #define NL80211_RRF_NO_IBSS NL80211_RRF_NO_IR
 #define NL80211_RRF_NO_IR NL80211_RRF_NO_IR
 #define NL80211_RRF_NO_HT40 (NL80211_RRF_NO_HT40MINUS | NL80211_RRF_NO_HT40PLUS)
 #define NL80211_RRF_GO_CONCURRENT NL80211_RRF_IR_CONCURRENT
+#define NL80211_RRF_NO_UHB_VLP_CLIENT NL80211_RRF_NO_6GHZ_VLP_CLIENT
+#define NL80211_RRF_NO_UHB_AFC_CLIENT NL80211_RRF_NO_6GHZ_AFC_CLIENT
 #define NL80211_RRF_NO_IR_ALL (NL80211_RRF_NO_IR | __NL80211_RRF_NO_IBSS)
 enum nl80211_dfs_regions {
   NL80211_DFS_UNSET = 0,
@@ -1096,6 +1125,15 @@
   NL80211_BSS_CHAN_WIDTH_1,
   NL80211_BSS_CHAN_WIDTH_2,
 };
+enum nl80211_bss_use_for {
+  NL80211_BSS_USE_FOR_NORMAL = 1 << 0,
+  NL80211_BSS_USE_FOR_MLD_LINK = 1 << 1,
+};
+enum nl80211_bss_cannot_use_reasons {
+  NL80211_BSS_CANNOT_USE_NSTR_NONPRIMARY = 1 << 0,
+  NL80211_BSS_CANNOT_USE_6GHZ_PWR_MISMATCH = 1 << 1,
+};
+#define NL80211_BSS_CANNOT_USE_UHB_PWR_MISMATCH NL80211_BSS_CANNOT_USE_6GHZ_PWR_MISMATCH
 enum nl80211_bss {
   __NL80211_BSS_INVALID,
   NL80211_BSS_BSSID,
@@ -1120,6 +1158,8 @@
   NL80211_BSS_FREQUENCY_OFFSET,
   NL80211_BSS_MLO_LINK_ID,
   NL80211_BSS_MLD_ADDR,
+  NL80211_BSS_USE_FOR,
+  NL80211_BSS_CANNOT_USE_REASONS,
   __NL80211_BSS_AFTER_LAST,
   NL80211_BSS_MAX = __NL80211_BSS_AFTER_LAST - 1
 };
@@ -1310,6 +1350,7 @@
   NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS,
   NL80211_WOWLAN_TRIG_NET_DETECT,
   NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS,
+  NL80211_WOWLAN_TRIG_UNPROTECTED_DEAUTH_DISASSOC,
   NUM_NL80211_WOWLAN_TRIG,
   MAX_NL80211_WOWLAN_TRIG = NUM_NL80211_WOWLAN_TRIG - 1
 };
@@ -1386,7 +1427,7 @@
   NUM_NL80211_PLINK_STATES,
   MAX_NL80211_PLINK_STATES = NUM_NL80211_PLINK_STATES - 1
 };
-enum plink_actions {
+enum nl80211_plink_action {
   NL80211_PLINK_ACTION_NO_ACTION,
   NL80211_PLINK_ACTION_OPEN,
   NL80211_PLINK_ACTION_BLOCK,
@@ -1396,6 +1437,7 @@
 #define NL80211_KEK_LEN 16
 #define NL80211_KCK_EXT_LEN 24
 #define NL80211_KEK_EXT_LEN 32
+#define NL80211_KCK_EXT_LEN_32 32
 #define NL80211_REPLAY_CTR_LEN 8
 enum nl80211_rekey_data {
   __NL80211_REKEY_DATA_INVALID,
@@ -1533,6 +1575,13 @@
   NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD,
   NL80211_EXT_FEATURE_RADAR_BACKGROUND,
   NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE,
+  NL80211_EXT_FEATURE_PUNCT,
+  NL80211_EXT_FEATURE_SECURE_NAN,
+  NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA,
+  NL80211_EXT_FEATURE_OWE_OFFLOAD,
+  NL80211_EXT_FEATURE_OWE_OFFLOAD_AP,
+  NL80211_EXT_FEATURE_DFS_CONCURRENT,
+  NL80211_EXT_FEATURE_SPP_AMSDU_SUPPORT,
   NUM_NL80211_EXT_FEATURES,
   MAX_NL80211_EXT_FEATURES = NUM_NL80211_EXT_FEATURES - 1
 };
@@ -1928,4 +1977,19 @@
   NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT = 1 << 0,
   NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT = 1 << 1,
 };
+enum nl80211_wiphy_radio_attrs {
+  __NL80211_WIPHY_RADIO_ATTR_INVALID,
+  NL80211_WIPHY_RADIO_ATTR_INDEX,
+  NL80211_WIPHY_RADIO_ATTR_FREQ_RANGE,
+  NL80211_WIPHY_RADIO_ATTR_INTERFACE_COMBINATION,
+  __NL80211_WIPHY_RADIO_ATTR_LAST,
+  NL80211_WIPHY_RADIO_ATTR_MAX = __NL80211_WIPHY_RADIO_ATTR_LAST - 1,
+};
+enum nl80211_wiphy_radio_freq_range {
+  __NL80211_WIPHY_RADIO_FREQ_ATTR_INVALID,
+  NL80211_WIPHY_RADIO_FREQ_ATTR_START,
+  NL80211_WIPHY_RADIO_FREQ_ATTR_END,
+  __NL80211_WIPHY_RADIO_FREQ_ATTR_LAST,
+  NL80211_WIPHY_RADIO_FREQ_ATTR_MAX = __NL80211_WIPHY_RADIO_FREQ_ATTR_LAST - 1,
+};
 #endif
diff --git a/libc/kernel/uapi/linux/npcm-video.h b/libc/kernel/uapi/linux/npcm-video.h
new file mode 100644
index 0000000..64cd3cc
--- /dev/null
+++ b/libc/kernel/uapi/linux/npcm-video.h
@@ -0,0 +1,16 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_LINUX_NPCM_VIDEO_H
+#define _UAPI_LINUX_NPCM_VIDEO_H
+#include <linux/v4l2-controls.h>
+#define V4L2_CID_NPCM_CAPTURE_MODE (V4L2_CID_USER_NPCM_BASE + 0)
+enum v4l2_npcm_capture_mode {
+  V4L2_NPCM_CAPTURE_MODE_COMPLETE = 0,
+  V4L2_NPCM_CAPTURE_MODE_DIFF = 1,
+};
+#define V4L2_CID_NPCM_RECT_COUNT (V4L2_CID_USER_NPCM_BASE + 1)
+#endif
diff --git a/libc/kernel/uapi/linux/nsfs.h b/libc/kernel/uapi/linux/nsfs.h
index d32d31c..c8f2208 100644
--- a/libc/kernel/uapi/linux/nsfs.h
+++ b/libc/kernel/uapi/linux/nsfs.h
@@ -1,27 +1,21 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_NSFS_H
 #define __LINUX_NSFS_H
 #include <linux/ioctl.h>
+#include <linux/types.h>
 #define NSIO 0xb7
 #define NS_GET_USERNS _IO(NSIO, 0x1)
 #define NS_GET_PARENT _IO(NSIO, 0x2)
 #define NS_GET_NSTYPE _IO(NSIO, 0x3)
 #define NS_GET_OWNER_UID _IO(NSIO, 0x4)
+#define NS_GET_MNTNS_ID _IOR(NSIO, 0x5, __u64)
+#define NS_GET_PID_FROM_PIDNS _IOR(NSIO, 0x6, int)
+#define NS_GET_TGID_FROM_PIDNS _IOR(NSIO, 0x7, int)
+#define NS_GET_PID_IN_PIDNS _IOR(NSIO, 0x8, int)
+#define NS_GET_TGID_IN_PIDNS _IOR(NSIO, 0x9, int)
 #endif
diff --git a/libc/kernel/uapi/linux/nsm.h b/libc/kernel/uapi/linux/nsm.h
new file mode 100644
index 0000000..5c8e27d
--- /dev/null
+++ b/libc/kernel/uapi/linux/nsm.h
@@ -0,0 +1,23 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef __UAPI_LINUX_NSM_H
+#define __UAPI_LINUX_NSM_H
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#define NSM_MAGIC 0x0A
+#define NSM_REQUEST_MAX_SIZE 0x1000
+#define NSM_RESPONSE_MAX_SIZE 0x3000
+struct nsm_iovec {
+  __u64 addr;
+  __u64 len;
+};
+struct nsm_raw {
+  struct nsm_iovec request;
+  struct nsm_iovec response;
+};
+#define NSM_IOCTL_RAW _IOWR(NSM_MAGIC, 0x0, struct nsm_raw)
+#endif
diff --git a/libc/kernel/uapi/linux/ntsync.h b/libc/kernel/uapi/linux/ntsync.h
new file mode 100644
index 0000000..857b31b
--- /dev/null
+++ b/libc/kernel/uapi/linux/ntsync.h
@@ -0,0 +1,17 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef __LINUX_NTSYNC_H
+#define __LINUX_NTSYNC_H
+#include <linux/types.h>
+struct ntsync_sem_args {
+  __u32 sem;
+  __u32 count;
+  __u32 max;
+};
+#define NTSYNC_IOC_CREATE_SEM _IOWR('N', 0x80, struct ntsync_sem_args)
+#define NTSYNC_IOC_SEM_POST _IOWR('N', 0x81, __u32)
+#endif
diff --git a/libc/kernel/uapi/linux/nubus.h b/libc/kernel/uapi/linux/nubus.h
index 141c2f2..2170f1f 100644
--- a/libc/kernel/uapi/linux/nubus.h
+++ b/libc/kernel/uapi/linux/nubus.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPILINUX_NUBUS_H
 #define _UAPILINUX_NUBUS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/nvme_ioctl.h b/libc/kernel/uapi/linux/nvme_ioctl.h
index 388e83f..b68cdff 100644
--- a/libc/kernel/uapi/linux/nvme_ioctl.h
+++ b/libc/kernel/uapi/linux/nvme_ioctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_NVME_IOCTL_H
 #define _UAPI_LINUX_NVME_IOCTL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/nvram.h b/libc/kernel/uapi/linux/nvram.h
index 575b49a..221c825 100644
--- a/libc/kernel/uapi/linux/nvram.h
+++ b/libc/kernel/uapi/linux/nvram.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_NVRAM_H
 #define _UAPI_LINUX_NVRAM_H
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/linux/omap3isp.h b/libc/kernel/uapi/linux/omap3isp.h
index 1834658..48bfe63 100644
--- a/libc/kernel/uapi/linux/omap3isp.h
+++ b/libc/kernel/uapi/linux/omap3isp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef OMAP3_ISP_USER_H
 #define OMAP3_ISP_USER_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/omapfb.h b/libc/kernel/uapi/linux/omapfb.h
index 632e468..c69281f 100644
--- a/libc/kernel/uapi/linux/omapfb.h
+++ b/libc/kernel/uapi/linux/omapfb.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_OMAPFB_H__
 #define _UAPI__LINUX_OMAPFB_H__
 #include <linux/fb.h>
diff --git a/libc/kernel/uapi/linux/oom.h b/libc/kernel/uapi/linux/oom.h
index 2fcdd29..192ff92 100644
--- a/libc/kernel/uapi/linux/oom.h
+++ b/libc/kernel/uapi/linux/oom.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__INCLUDE_LINUX_OOM_H
 #define _UAPI__INCLUDE_LINUX_OOM_H
 #define OOM_SCORE_ADJ_MIN (- 1000)
diff --git a/libc/kernel/uapi/linux/openat2.h b/libc/kernel/uapi/linux/openat2.h
index d397a00..085d67d 100644
--- a/libc/kernel/uapi/linux/openat2.h
+++ b/libc/kernel/uapi/linux/openat2.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_OPENAT2_H
 #define _UAPI_LINUX_OPENAT2_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/openvswitch.h b/libc/kernel/uapi/linux/openvswitch.h
index 0226e93..98c8037 100644
--- a/libc/kernel/uapi/linux/openvswitch.h
+++ b/libc/kernel/uapi/linux/openvswitch.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_OPENVSWITCH_H
 #define _UAPI__LINUX_OPENVSWITCH_H 1
 #include <linux/types.h>
@@ -396,6 +384,7 @@
 };
 enum ovs_hash_alg {
   OVS_HASH_ALG_L4,
+  OVS_HASH_ALG_SYM_L4,
 };
 struct ovs_action_hash {
   __u32 hash_alg;
@@ -440,6 +429,13 @@
   __OVS_CHECK_PKT_LEN_ATTR_MAX,
 };
 #define OVS_CHECK_PKT_LEN_ATTR_MAX (__OVS_CHECK_PKT_LEN_ATTR_MAX - 1)
+#define OVS_PSAMPLE_COOKIE_MAX_SIZE 16
+enum ovs_psample_attr {
+  OVS_PSAMPLE_ATTR_GROUP = 1,
+  OVS_PSAMPLE_ATTR_COOKIE,
+  __OVS_PSAMPLE_ATTR_MAX
+};
+#define OVS_PSAMPLE_ATTR_MAX (__OVS_PSAMPLE_ATTR_MAX - 1)
 enum ovs_action_attr {
   OVS_ACTION_ATTR_UNSPEC,
   OVS_ACTION_ATTR_OUTPUT,
@@ -465,6 +461,8 @@
   OVS_ACTION_ATTR_CHECK_PKT_LEN,
   OVS_ACTION_ATTR_ADD_MPLS,
   OVS_ACTION_ATTR_DEC_TTL,
+  OVS_ACTION_ATTR_DROP,
+  OVS_ACTION_ATTR_PSAMPLE,
   __OVS_ACTION_ATTR_MAX,
 };
 #define OVS_ACTION_ATTR_MAX (__OVS_ACTION_ATTR_MAX - 1)
diff --git a/libc/kernel/uapi/linux/packet_diag.h b/libc/kernel/uapi/linux/packet_diag.h
index 35d5413..1d7ef4a 100644
--- a/libc/kernel/uapi/linux/packet_diag.h
+++ b/libc/kernel/uapi/linux/packet_diag.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __PACKET_DIAG_H__
 #define __PACKET_DIAG_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/papr_pdsm.h b/libc/kernel/uapi/linux/papr_pdsm.h
new file mode 100644
index 0000000..f466caa
--- /dev/null
+++ b/libc/kernel/uapi/linux/papr_pdsm.h
@@ -0,0 +1,64 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_ASM_POWERPC_PAPR_PDSM_H_
+#define _UAPI_ASM_POWERPC_PAPR_PDSM_H_
+#include <linux/types.h>
+#include <linux/ndctl.h>
+#define ND_PDSM_PAYLOAD_MAX_SIZE 184
+#define ND_PDSM_HDR_SIZE (sizeof(struct nd_pkg_pdsm) - ND_PDSM_PAYLOAD_MAX_SIZE)
+#define PAPR_PDSM_DIMM_HEALTHY 0
+#define PAPR_PDSM_DIMM_UNHEALTHY 1
+#define PAPR_PDSM_DIMM_CRITICAL 2
+#define PAPR_PDSM_DIMM_FATAL 3
+#define PDSM_DIMM_HEALTH_RUN_GAUGE_VALID 1
+#define PDSM_DIMM_DSC_VALID 2
+struct nd_papr_pdsm_health {
+  union {
+    struct {
+      __u32 extension_flags;
+      __u8 dimm_unarmed;
+      __u8 dimm_bad_shutdown;
+      __u8 dimm_bad_restore;
+      __u8 dimm_scrubbed;
+      __u8 dimm_locked;
+      __u8 dimm_encrypted;
+      __u16 dimm_health;
+      __u16 dimm_fuel_gauge;
+      __u64 dimm_dsc;
+    };
+    __u8 buf[ND_PDSM_PAYLOAD_MAX_SIZE];
+  };
+};
+#define PDSM_SMART_INJECT_HEALTH_FATAL (1 << 0)
+#define PDSM_SMART_INJECT_BAD_SHUTDOWN (1 << 1)
+struct nd_papr_pdsm_smart_inject {
+  union {
+    struct {
+      __u32 flags;
+      __u8 fatal_enable;
+      __u8 unsafe_shutdown_enable;
+    };
+    __u8 buf[ND_PDSM_PAYLOAD_MAX_SIZE];
+  };
+};
+enum papr_pdsm {
+  PAPR_PDSM_MIN = 0x0,
+  PAPR_PDSM_HEALTH,
+  PAPR_PDSM_SMART_INJECT,
+  PAPR_PDSM_MAX,
+};
+union nd_pdsm_payload {
+  struct nd_papr_pdsm_health health;
+  struct nd_papr_pdsm_smart_inject smart_inject;
+  __u8 buf[ND_PDSM_PAYLOAD_MAX_SIZE];
+} __attribute__((__packed__));
+struct nd_pkg_pdsm {
+  __s32 cmd_status;
+  __u16 reserved[2];
+  union nd_pdsm_payload payload;
+} __attribute__((__packed__));
+#endif
diff --git a/libc/kernel/uapi/linux/param.h b/libc/kernel/uapi/linux/param.h
index be5bb63..5f89b3a 100644
--- a/libc/kernel/uapi/linux/param.h
+++ b/libc/kernel/uapi/linux/param.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_PARAM_H
 #define _LINUX_PARAM_H
 #include <asm/param.h>
diff --git a/libc/kernel/uapi/linux/parport.h b/libc/kernel/uapi/linux/parport.h
index 8152224..6fa9766 100644
--- a/libc/kernel/uapi/linux/parport.h
+++ b/libc/kernel/uapi/linux/parport.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_PARPORT_H_
 #define _UAPI_PARPORT_H_
 #define PARPORT_MAX 16
@@ -75,4 +63,7 @@
 #define IEEE1284_DATA 0
 #define PARPORT_EPP_FAST (1 << 0)
 #define PARPORT_W91284PIC (1 << 1)
+#define PARPORT_EPP_FAST_32 PARPORT_EPP_FAST
+#define PARPORT_EPP_FAST_16 (1 << 2)
+#define PARPORT_EPP_FAST_8 (1 << 3)
 #endif
diff --git a/libc/kernel/uapi/linux/patchkey.h b/libc/kernel/uapi/linux/patchkey.h
index 12c2731..bea7149 100644
--- a/libc/kernel/uapi/linux/patchkey.h
+++ b/libc/kernel/uapi/linux/patchkey.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_PATCHKEY_H_INDIRECT
 #error "patchkey.h included directly"
 #endif
diff --git a/libc/kernel/uapi/linux/pci.h b/libc/kernel/uapi/linux/pci.h
index 14a68e4..d318126 100644
--- a/libc/kernel/uapi/linux/pci.h
+++ b/libc/kernel/uapi/linux/pci.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPILINUX_PCI_H
 #define _UAPILINUX_PCI_H
 #include <linux/pci_regs.h>
diff --git a/libc/kernel/uapi/linux/pci_regs.h b/libc/kernel/uapi/linux/pci_regs.h
index f932c18..703d398 100644
--- a/libc/kernel/uapi/linux/pci_regs.h
+++ b/libc/kernel/uapi/linux/pci_regs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef LINUX_PCI_REGS_H
 #define LINUX_PCI_REGS_H
 #define PCI_CFG_SPACE_SIZE 256
@@ -64,6 +52,7 @@
 #define PCI_HEADER_TYPE_NORMAL 0
 #define PCI_HEADER_TYPE_BRIDGE 1
 #define PCI_HEADER_TYPE_CARDBUS 2
+#define PCI_HEADER_TYPE_MFD 0x80
 #define PCI_BIST 0x0f
 #define PCI_BIST_CODE_MASK 0x0f
 #define PCI_BIST_START 0x40
@@ -546,6 +535,7 @@
 #define PCI_EXP_RTCAP 0x1e
 #define PCI_EXP_RTCAP_CRSVIS 0x0001
 #define PCI_EXP_RTSTA 0x20
+#define PCI_EXP_RTSTA_PME_RQ_ID 0x0000ffff
 #define PCI_EXP_RTSTA_PME 0x00010000
 #define PCI_EXP_RTSTA_PENDING 0x00020000
 #define PCI_EXP_DEVCAP2 0x24
@@ -594,6 +584,7 @@
 #define PCI_EXP_LNKCTL2_TX_MARGIN 0x0380
 #define PCI_EXP_LNKCTL2_HASD 0x0020
 #define PCI_EXP_LNKSTA2 0x32
+#define PCI_EXP_LNKSTA2_FLIT 0x0400
 #define PCI_CAP_EXP_ENDPOINT_SIZEOF_V2 0x32
 #define PCI_EXP_SLTCAP2 0x34
 #define PCI_EXP_SLTCAP2_IBPD 0x00000001
@@ -635,6 +626,7 @@
 #define PCI_EXT_CAP_ID_DVSEC 0x23
 #define PCI_EXT_CAP_ID_DLF 0x25
 #define PCI_EXT_CAP_ID_PL_16GT 0x26
+#define PCI_EXT_CAP_ID_PL_32GT 0x2A
 #define PCI_EXT_CAP_ID_DOE 0x2E
 #define PCI_EXT_CAP_ID_MAX PCI_EXT_CAP_ID_DOE
 #define PCI_EXT_CAP_DSN_SIZEOF 12
@@ -794,12 +786,13 @@
 #define PCI_PRI_ALLOC_REQ 0x0c
 #define PCI_EXT_CAP_PRI_SIZEOF 16
 #define PCI_PASID_CAP 0x04
-#define PCI_PASID_CAP_EXEC 0x02
-#define PCI_PASID_CAP_PRIV 0x04
+#define PCI_PASID_CAP_EXEC 0x0002
+#define PCI_PASID_CAP_PRIV 0x0004
+#define PCI_PASID_CAP_WIDTH 0x1f00
 #define PCI_PASID_CTRL 0x06
-#define PCI_PASID_CTRL_ENABLE 0x01
-#define PCI_PASID_CTRL_EXEC 0x02
-#define PCI_PASID_CTRL_PRIV 0x04
+#define PCI_PASID_CTRL_ENABLE 0x0001
+#define PCI_PASID_CTRL_EXEC 0x0002
+#define PCI_PASID_CTRL_PRIV 0x0004
 #define PCI_EXT_CAP_PASID_SIZEOF 8
 #define PCI_SRIOV_CAP 0x04
 #define PCI_SRIOV_CAP_VFM 0x00000001
@@ -836,6 +829,8 @@
 #define PCI_LTR_VALUE_MASK 0x000003ff
 #define PCI_LTR_SCALE_MASK 0x00001c00
 #define PCI_LTR_SCALE_SHIFT 10
+#define PCI_LTR_NOSNOOP_VALUE 0x03ff0000
+#define PCI_LTR_NOSNOOP_SCALE 0x1c000000
 #define PCI_EXT_CAP_LTR_SIZEOF 8
 #define PCI_ACS_CAP 0x04
 #define PCI_ACS_SV 0x0001
@@ -888,9 +883,16 @@
 #define PCI_EXP_DPC_STATUS 0x08
 #define PCI_EXP_DPC_STATUS_TRIGGER 0x0001
 #define PCI_EXP_DPC_STATUS_TRIGGER_RSN 0x0006
+#define PCI_EXP_DPC_STATUS_TRIGGER_RSN_UNCOR 0x0000
+#define PCI_EXP_DPC_STATUS_TRIGGER_RSN_NFE 0x0002
+#define PCI_EXP_DPC_STATUS_TRIGGER_RSN_FE 0x0004
+#define PCI_EXP_DPC_STATUS_TRIGGER_RSN_IN_EXT 0x0006
 #define PCI_EXP_DPC_STATUS_INTERRUPT 0x0008
 #define PCI_EXP_DPC_RP_BUSY 0x0010
 #define PCI_EXP_DPC_STATUS_TRIGGER_RSN_EXT 0x0060
+#define PCI_EXP_DPC_STATUS_TRIGGER_RSN_RP_PIO 0x0000
+#define PCI_EXP_DPC_STATUS_TRIGGER_RSN_SW_TRIGGER 0x0020
+#define PCI_EXP_DPC_RP_PIO_FEP 0x1f00
 #define PCI_EXP_DPC_SOURCE_ID 0x0A
 #define PCI_EXP_DPC_RP_PIO_STATUS 0x0C
 #define PCI_EXP_DPC_RP_PIO_MASK 0x10
@@ -928,6 +930,8 @@
 #define PCI_L1SS_CTL1_LTR_L12_TH_VALUE 0x03ff0000
 #define PCI_L1SS_CTL1_LTR_L12_TH_SCALE 0xe0000000
 #define PCI_L1SS_CTL2 0x0c
+#define PCI_L1SS_CTL2_T_PWR_ON_SCALE 0x00000003
+#define PCI_L1SS_CTL2_T_PWR_ON_VALUE 0x000000f8
 #define PCI_DVSEC_HEADER1 0x4
 #define PCI_DVSEC_HEADER1_VID(x) ((x) & 0xffff)
 #define PCI_DVSEC_HEADER1_REV(x) (((x) >> 16) & 0xf)
@@ -959,7 +963,11 @@
 #define PCI_DOE_DATA_OBJECT_HEADER_1_TYPE 0x00ff0000
 #define PCI_DOE_DATA_OBJECT_HEADER_2_LENGTH 0x0003ffff
 #define PCI_DOE_DATA_OBJECT_DISC_REQ_3_INDEX 0x000000ff
+#define PCI_DOE_DATA_OBJECT_DISC_REQ_3_VER 0x0000ff00
 #define PCI_DOE_DATA_OBJECT_DISC_RSP_3_VID 0x0000ffff
 #define PCI_DOE_DATA_OBJECT_DISC_RSP_3_PROTOCOL 0x00ff0000
 #define PCI_DOE_DATA_OBJECT_DISC_RSP_3_NEXT_INDEX 0xff000000
+#define PCI_DVSEC_CXL_PORT 3
+#define PCI_DVSEC_CXL_PORT_CTL 0x0c
+#define PCI_DVSEC_CXL_PORT_CTL_UNMASK_SBR 0x00000001
 #endif
diff --git a/libc/kernel/uapi/linux/pcitest.h b/libc/kernel/uapi/linux/pcitest.h
index 98248bd..38e498d 100644
--- a/libc/kernel/uapi/linux/pcitest.h
+++ b/libc/kernel/uapi/linux/pcitest.h
@@ -1,25 +1,14 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_LINUX_PCITEST_H
 #define __UAPI_LINUX_PCITEST_H
 #define PCITEST_BAR _IO('P', 0x1)
-#define PCITEST_LEGACY_IRQ _IO('P', 0x2)
+#define PCITEST_INTX_IRQ _IO('P', 0x2)
+#define PCITEST_LEGACY_IRQ PCITEST_INTX_IRQ
 #define PCITEST_MSI _IOW('P', 0x3, int)
 #define PCITEST_WRITE _IOW('P', 0x4, unsigned long)
 #define PCITEST_READ _IOW('P', 0x5, unsigned long)
diff --git a/libc/kernel/uapi/linux/perf_event.h b/libc/kernel/uapi/linux/perf_event.h
index 8f081ed..ec9b856 100644
--- a/libc/kernel/uapi/linux/perf_event.h
+++ b/libc/kernel/uapi/linux/perf_event.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_PERF_EVENT_H
 #define _UAPI_LINUX_PERF_EVENT_H
 #include <linux/types.h>
@@ -130,6 +118,7 @@
   PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT = 16,
   PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT = 17,
   PERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT = 18,
+  PERF_SAMPLE_BRANCH_COUNTERS_SHIFT = 19,
   PERF_SAMPLE_BRANCH_MAX_SHIFT
 };
 enum perf_branch_sample_type {
@@ -152,6 +141,7 @@
   PERF_SAMPLE_BRANCH_TYPE_SAVE = 1U << PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT,
   PERF_SAMPLE_BRANCH_HW_INDEX = 1U << PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT,
   PERF_SAMPLE_BRANCH_PRIV_SAVE = 1U << PERF_SAMPLE_BRANCH_PRIV_SAVE_SHIFT,
+  PERF_SAMPLE_BRANCH_COUNTERS = 1U << PERF_SAMPLE_BRANCH_COUNTERS_SHIFT,
   PERF_SAMPLE_BRANCH_MAX = 1U << PERF_SAMPLE_BRANCH_MAX_SHIFT,
 };
 enum {
@@ -237,6 +227,7 @@
 #define PERF_ATTR_SIZE_VER5 112
 #define PERF_ATTR_SIZE_VER6 120
 #define PERF_ATTR_SIZE_VER7 128
+#define PERF_ATTR_SIZE_VER8 136
 struct perf_event_attr {
   __u32 type;
   __u32 size;
@@ -276,6 +267,7 @@
   __u32 aux_sample_size;
   __u32 __reserved_3;
   __u64 sig_data;
+  __u64 config3;
 };
 struct perf_event_query_bpf {
   __u32 ids_len;
@@ -468,6 +460,9 @@
 #define PERF_MEM_LVLNUM_L2 0x02
 #define PERF_MEM_LVLNUM_L3 0x03
 #define PERF_MEM_LVLNUM_L4 0x04
+#define PERF_MEM_LVLNUM_L2_MHB 0x05
+#define PERF_MEM_LVLNUM_MSC 0x06
+#define PERF_MEM_LVLNUM_UNC 0x08
 #define PERF_MEM_LVLNUM_CXL 0x09
 #define PERF_MEM_LVLNUM_IO 0x0a
 #define PERF_MEM_LVLNUM_ANY_CACHE 0x0b
@@ -511,6 +506,7 @@
   __u64 to;
   __u64 mispred : 1, predicted : 1, in_tx : 1, abort : 1, cycles : 16, type : 4, spec : 2, new_type : 4, priv : 3, reserved : 31;
 };
+#define PERF_BRANCH_ENTRY_INFO_BITS_MAX 33
 union perf_sample_weight {
   __u64 full;
 #ifdef __LITTLE_ENDIAN_BITFIELD
diff --git a/libc/kernel/uapi/linux/personality.h b/libc/kernel/uapi/linux/personality.h
index 1db5026..27424de 100644
--- a/libc/kernel/uapi/linux/personality.h
+++ b/libc/kernel/uapi/linux/personality.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_PERSONALITY_H
 #define _UAPI_LINUX_PERSONALITY_H
 enum {
diff --git a/libc/kernel/uapi/linux/pfkeyv2.h b/libc/kernel/uapi/linux/pfkeyv2.h
index d1e5486..f5e6d22 100644
--- a/libc/kernel/uapi/linux/pfkeyv2.h
+++ b/libc/kernel/uapi/linux/pfkeyv2.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_PFKEY2_H
 #define _LINUX_PFKEY2_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/pfrut.h b/libc/kernel/uapi/linux/pfrut.h
index 14f713f..2bb7058 100644
--- a/libc/kernel/uapi/linux/pfrut.h
+++ b/libc/kernel/uapi/linux/pfrut.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __PFRUT_H__
 #define __PFRUT_H__
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/linux/pg.h b/libc/kernel/uapi/linux/pg.h
index dd52282..6128ab8 100644
--- a/libc/kernel/uapi/linux/pg.h
+++ b/libc/kernel/uapi/linux/pg.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_PG_H
 #define _UAPI_LINUX_PG_H
 #define PG_MAGIC 'P'
diff --git a/libc/kernel/uapi/linux/phantom.h b/libc/kernel/uapi/linux/phantom.h
index 2016cc5..596e43b 100644
--- a/libc/kernel/uapi/linux/phantom.h
+++ b/libc/kernel/uapi/linux/phantom.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __PHANTOM_H
 #define __PHANTOM_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/phonet.h b/libc/kernel/uapi/linux/phonet.h
index 8134016..a98105f 100644
--- a/libc/kernel/uapi/linux/phonet.h
+++ b/libc/kernel/uapi/linux/phonet.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPILINUX_PHONET_H
 #define _UAPILINUX_PHONET_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/pidfd.h b/libc/kernel/uapi/linux/pidfd.h
index cd60118..9068727 100644
--- a/libc/kernel/uapi/linux/pidfd.h
+++ b/libc/kernel/uapi/linux/pidfd.h
@@ -1,24 +1,28 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_PIDFD_H
 #define _UAPI_LINUX_PIDFD_H
 #include <linux/types.h>
 #include <linux/fcntl.h>
+#include <linux/ioctl.h>
 #define PIDFD_NONBLOCK O_NONBLOCK
+#define PIDFD_THREAD O_EXCL
+#define PIDFD_SIGNAL_THREAD (1UL << 0)
+#define PIDFD_SIGNAL_THREAD_GROUP (1UL << 1)
+#define PIDFD_SIGNAL_PROCESS_GROUP (1UL << 2)
+#define PIDFS_IOCTL_MAGIC 0xFF
+#define PIDFD_GET_CGROUP_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 1)
+#define PIDFD_GET_IPC_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 2)
+#define PIDFD_GET_MNT_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 3)
+#define PIDFD_GET_NET_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 4)
+#define PIDFD_GET_PID_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 5)
+#define PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 6)
+#define PIDFD_GET_TIME_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 7)
+#define PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 8)
+#define PIDFD_GET_USER_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 9)
+#define PIDFD_GET_UTS_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 10)
 #endif
diff --git a/libc/kernel/uapi/linux/pkt_cls.h b/libc/kernel/uapi/linux/pkt_cls.h
index 876cb73..bdca553 100644
--- a/libc/kernel/uapi/linux/pkt_cls.h
+++ b/libc/kernel/uapi/linux/pkt_cls.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_PKT_CLS_H
 #define __LINUX_PKT_CLS_H
 #include <linux/types.h>
@@ -217,30 +205,6 @@
 #define TC_U32_EAT 8
 #define TC_U32_MAXDEPTH 8
 enum {
-  TCA_RSVP_UNSPEC,
-  TCA_RSVP_CLASSID,
-  TCA_RSVP_DST,
-  TCA_RSVP_SRC,
-  TCA_RSVP_PINFO,
-  TCA_RSVP_POLICE,
-  TCA_RSVP_ACT,
-  __TCA_RSVP_MAX
-};
-#define TCA_RSVP_MAX (__TCA_RSVP_MAX - 1)
-struct tc_rsvp_gpi {
-  __u32 key;
-  __u32 mask;
-  int offset;
-};
-struct tc_rsvp_pinfo {
-  struct tc_rsvp_gpi dpi;
-  struct tc_rsvp_gpi spi;
-  __u8 protocol;
-  __u8 tunnelid;
-  __u8 tunnelhdr;
-  __u8 pad;
-};
-enum {
   TCA_ROUTE4_UNSPEC,
   TCA_ROUTE4_CLASSID,
   TCA_ROUTE4_TO,
@@ -262,18 +226,6 @@
 };
 #define TCA_FW_MAX (__TCA_FW_MAX - 1)
 enum {
-  TCA_TCINDEX_UNSPEC,
-  TCA_TCINDEX_HASH,
-  TCA_TCINDEX_MASK,
-  TCA_TCINDEX_SHIFT,
-  TCA_TCINDEX_FALL_THROUGH,
-  TCA_TCINDEX_CLASSID,
-  TCA_TCINDEX_POLICE,
-  TCA_TCINDEX_ACT,
-  __TCA_TCINDEX_MAX
-};
-#define TCA_TCINDEX_MAX (__TCA_TCINDEX_MAX - 1)
-enum {
   FLOW_KEY_SRC,
   FLOW_KEY_DST,
   FLOW_KEY_PROTO,
@@ -463,6 +415,12 @@
   TCA_FLOWER_KEY_PPPOE_SID,
   TCA_FLOWER_KEY_PPP_PROTO,
   TCA_FLOWER_KEY_L2TPV3_SID,
+  TCA_FLOWER_L2_MISS,
+  TCA_FLOWER_KEY_CFM,
+  TCA_FLOWER_KEY_SPI,
+  TCA_FLOWER_KEY_SPI_MASK,
+  TCA_FLOWER_KEY_ENC_FLAGS,
+  TCA_FLOWER_KEY_ENC_FLAGS_MASK,
   __TCA_FLOWER_MAX,
 };
 #define TCA_FLOWER_MAX (__TCA_FLOWER_MAX - 1)
@@ -481,6 +439,7 @@
   TCA_FLOWER_KEY_ENC_OPTS_VXLAN,
   TCA_FLOWER_KEY_ENC_OPTS_ERSPAN,
   TCA_FLOWER_KEY_ENC_OPTS_GTP,
+  TCA_FLOWER_KEY_ENC_OPTS_PFCP,
   __TCA_FLOWER_KEY_ENC_OPTS_MAX,
 };
 #define TCA_FLOWER_KEY_ENC_OPTS_MAX (__TCA_FLOWER_KEY_ENC_OPTS_MAX - 1)
@@ -515,6 +474,13 @@
 };
 #define TCA_FLOWER_KEY_ENC_OPT_GTP_MAX (__TCA_FLOWER_KEY_ENC_OPT_GTP_MAX - 1)
 enum {
+  TCA_FLOWER_KEY_ENC_OPT_PFCP_UNSPEC,
+  TCA_FLOWER_KEY_ENC_OPT_PFCP_TYPE,
+  TCA_FLOWER_KEY_ENC_OPT_PFCP_SEID,
+  __TCA_FLOWER_KEY_ENC_OPT_PFCP_MAX,
+};
+#define TCA_FLOWER_KEY_ENC_OPT_PFCP_MAX (__TCA_FLOWER_KEY_ENC_OPT_PFCP_MAX - 1)
+enum {
   TCA_FLOWER_KEY_MPLS_OPTS_UNSPEC,
   TCA_FLOWER_KEY_MPLS_OPTS_LSE,
   __TCA_FLOWER_KEY_MPLS_OPTS_MAX,
@@ -533,7 +499,20 @@
 enum {
   TCA_FLOWER_KEY_FLAGS_IS_FRAGMENT = (1 << 0),
   TCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST = (1 << 1),
+  TCA_FLOWER_KEY_FLAGS_TUNNEL_CSUM = (1 << 2),
+  TCA_FLOWER_KEY_FLAGS_TUNNEL_DONT_FRAGMENT = (1 << 3),
+  TCA_FLOWER_KEY_FLAGS_TUNNEL_OAM = (1 << 4),
+  TCA_FLOWER_KEY_FLAGS_TUNNEL_CRIT_OPT = (1 << 5),
+  __TCA_FLOWER_KEY_FLAGS_MAX,
 };
+#define TCA_FLOWER_KEY_FLAGS_MAX (__TCA_FLOWER_KEY_FLAGS_MAX - 1)
+enum {
+  TCA_FLOWER_KEY_CFM_OPT_UNSPEC,
+  TCA_FLOWER_KEY_CFM_MD_LEVEL,
+  TCA_FLOWER_KEY_CFM_OPCODE,
+  __TCA_FLOWER_KEY_CFM_OPT_MAX,
+};
+#define TCA_FLOWER_KEY_CFM_OPT_MAX (__TCA_FLOWER_KEY_CFM_OPT_MAX - 1)
 #define TCA_FLOWER_MASK_FLAGS_RANGE (1 << 0)
 struct tc_matchall_pcnt {
   __u64 rhit;
diff --git a/libc/kernel/uapi/linux/pkt_sched.h b/libc/kernel/uapi/linux/pkt_sched.h
index c31b8bb..c3488c2 100644
--- a/libc/kernel/uapi/linux/pkt_sched.h
+++ b/libc/kernel/uapi/linux/pkt_sched.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_PKT_SCHED_H
 #define __LINUX_PKT_SCHED_H
 #include <linux/const.h>
@@ -339,95 +327,6 @@
   __TCA_HFSC_MAX,
 };
 #define TCA_HFSC_MAX (__TCA_HFSC_MAX - 1)
-#define TC_CBQ_MAXPRIO 8
-#define TC_CBQ_MAXLEVEL 8
-#define TC_CBQ_DEF_EWMA 5
-struct tc_cbq_lssopt {
-  unsigned char change;
-  unsigned char flags;
-#define TCF_CBQ_LSS_BOUNDED 1
-#define TCF_CBQ_LSS_ISOLATED 2
-  unsigned char ewma_log;
-  unsigned char level;
-#define TCF_CBQ_LSS_FLAGS 1
-#define TCF_CBQ_LSS_EWMA 2
-#define TCF_CBQ_LSS_MAXIDLE 4
-#define TCF_CBQ_LSS_MINIDLE 8
-#define TCF_CBQ_LSS_OFFTIME 0x10
-#define TCF_CBQ_LSS_AVPKT 0x20
-  __u32 maxidle;
-  __u32 minidle;
-  __u32 offtime;
-  __u32 avpkt;
-};
-struct tc_cbq_wrropt {
-  unsigned char flags;
-  unsigned char priority;
-  unsigned char cpriority;
-  unsigned char __reserved;
-  __u32 allot;
-  __u32 weight;
-};
-struct tc_cbq_ovl {
-  unsigned char strategy;
-#define TC_CBQ_OVL_CLASSIC 0
-#define TC_CBQ_OVL_DELAY 1
-#define TC_CBQ_OVL_LOWPRIO 2
-#define TC_CBQ_OVL_DROP 3
-#define TC_CBQ_OVL_RCLASSIC 4
-  unsigned char priority2;
-  __u16 pad;
-  __u32 penalty;
-};
-struct tc_cbq_police {
-  unsigned char police;
-  unsigned char __res1;
-  unsigned short __res2;
-};
-struct tc_cbq_fopt {
-  __u32 split;
-  __u32 defmap;
-  __u32 defchange;
-};
-struct tc_cbq_xstats {
-  __u32 borrows;
-  __u32 overactions;
-  __s32 avgidle;
-  __s32 undertime;
-};
-enum {
-  TCA_CBQ_UNSPEC,
-  TCA_CBQ_LSSOPT,
-  TCA_CBQ_WRROPT,
-  TCA_CBQ_FOPT,
-  TCA_CBQ_OVL_STRATEGY,
-  TCA_CBQ_RATE,
-  TCA_CBQ_RTAB,
-  TCA_CBQ_POLICE,
-  __TCA_CBQ_MAX,
-};
-#define TCA_CBQ_MAX (__TCA_CBQ_MAX - 1)
-enum {
-  TCA_DSMARK_UNSPEC,
-  TCA_DSMARK_INDICES,
-  TCA_DSMARK_DEFAULT_INDEX,
-  TCA_DSMARK_SET_TC_INDEX,
-  TCA_DSMARK_MASK,
-  TCA_DSMARK_VALUE,
-  __TCA_DSMARK_MAX,
-};
-#define TCA_DSMARK_MAX (__TCA_DSMARK_MAX - 1)
-enum {
-  TCA_ATM_UNSPEC,
-  TCA_ATM_FD,
-  TCA_ATM_PTR,
-  TCA_ATM_HDR,
-  TCA_ATM_EXCESS,
-  TCA_ATM_ADDR,
-  TCA_ATM_STATE,
-  __TCA_ATM_MAX,
-};
-#define TCA_ATM_MAX (__TCA_ATM_MAX - 1)
 enum {
   TCA_NETEM_UNSPEC,
   TCA_NETEM_CORR,
@@ -443,6 +342,7 @@
   TCA_NETEM_JITTER64,
   TCA_NETEM_SLOT,
   TCA_NETEM_SLOT_DIST,
+  TCA_NETEM_PRNG_SEED,
   __TCA_NETEM_MAX,
 };
 #define TCA_NETEM_MAX (__TCA_NETEM_MAX - 1)
@@ -532,6 +432,10 @@
   __TC_MQPRIO_SHAPER_MAX
 };
 #define __TC_MQPRIO_SHAPER_MAX (__TC_MQPRIO_SHAPER_MAX - 1)
+enum {
+  TC_FP_EXPRESS = 1,
+  TC_FP_PREEMPTIBLE = 2,
+};
 struct tc_mqprio_qopt {
   __u8 num_tc;
   __u8 prio_tc_map[TC_QOPT_BITMASK + 1];
@@ -544,11 +448,19 @@
 #define TC_MQPRIO_F_MIN_RATE 0x4
 #define TC_MQPRIO_F_MAX_RATE 0x8
 enum {
+  TCA_MQPRIO_TC_ENTRY_UNSPEC,
+  TCA_MQPRIO_TC_ENTRY_INDEX,
+  TCA_MQPRIO_TC_ENTRY_FP,
+  __TCA_MQPRIO_TC_ENTRY_CNT,
+  TCA_MQPRIO_TC_ENTRY_MAX = (__TCA_MQPRIO_TC_ENTRY_CNT - 1)
+};
+enum {
   TCA_MQPRIO_UNSPEC,
   TCA_MQPRIO_MODE,
   TCA_MQPRIO_SHAPER,
   TCA_MQPRIO_MIN_RATE64,
   TCA_MQPRIO_MAX_RATE64,
+  TCA_MQPRIO_TC_ENTRY,
   __TCA_MQPRIO_MAX,
 };
 #define TCA_MQPRIO_MAX (__TCA_MQPRIO_MAX - 1)
@@ -677,9 +589,13 @@
   TCA_FQ_TIMER_SLACK,
   TCA_FQ_HORIZON,
   TCA_FQ_HORIZON_DROP,
+  TCA_FQ_PRIOMAP,
+  TCA_FQ_WEIGHTS,
   __TCA_FQ_MAX
 };
 #define TCA_FQ_MAX (__TCA_FQ_MAX - 1)
+#define FQ_BANDS 3
+#define FQ_MIN_WEIGHT 16384
 struct tc_fq_qd_stats {
   __u64 gc_flows;
   __u64 highprio_packets;
@@ -696,6 +612,10 @@
   __u64 ce_mark;
   __u64 horizon_drops;
   __u64 horizon_caps;
+  __u64 fastpath_packets;
+  __u64 band_drops[FQ_BANDS];
+  __u32 band_pkt_count[FQ_BANDS];
+  __u32 pad;
 };
 enum {
   TCA_HHF_UNSPEC,
@@ -927,10 +847,18 @@
   TCA_TAPRIO_TC_ENTRY_UNSPEC,
   TCA_TAPRIO_TC_ENTRY_INDEX,
   TCA_TAPRIO_TC_ENTRY_MAX_SDU,
+  TCA_TAPRIO_TC_ENTRY_FP,
   __TCA_TAPRIO_TC_ENTRY_CNT,
   TCA_TAPRIO_TC_ENTRY_MAX = (__TCA_TAPRIO_TC_ENTRY_CNT - 1)
 };
 enum {
+  TCA_TAPRIO_OFFLOAD_STATS_PAD = 1,
+  TCA_TAPRIO_OFFLOAD_STATS_WINDOW_DROPS,
+  TCA_TAPRIO_OFFLOAD_STATS_TX_OVERRUNS,
+  __TCA_TAPRIO_OFFLOAD_STATS_CNT,
+  TCA_TAPRIO_OFFLOAD_STATS_MAX = (__TCA_TAPRIO_OFFLOAD_STATS_CNT - 1)
+};
+enum {
   TCA_TAPRIO_ATTR_UNSPEC,
   TCA_TAPRIO_ATTR_PRIOMAP,
   TCA_TAPRIO_ATTR_SCHED_ENTRY_LIST,
diff --git a/libc/kernel/uapi/linux/pktcdvd.h b/libc/kernel/uapi/linux/pktcdvd.h
index eed22f8..cd2b0df 100644
--- a/libc/kernel/uapi/linux/pktcdvd.h
+++ b/libc/kernel/uapi/linux/pktcdvd.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__PKTCDVD_H
 #define _UAPI__PKTCDVD_H
 #include <linux/types.h>
@@ -23,7 +11,6 @@
 #define MAX_WRITERS 8
 #define PKT_RB_POOL_SIZE 512
 #define PACKET_WAIT_TIME (HZ * 5 / 1000)
-#define USE_WCACHING 0
 #define PACKET_CDR 1
 #define PACKET_CDRW 2
 #define PACKET_DVDR 3
diff --git a/libc/kernel/uapi/linux/pmu.h b/libc/kernel/uapi/linux/pmu.h
index d3d08b0..d3c52b6 100644
--- a/libc/kernel/uapi/linux/pmu.h
+++ b/libc/kernel/uapi/linux/pmu.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_PMU_H
 #define _UAPI_LINUX_PMU_H
 #define PMU_DRIVER_VERSION 2
diff --git a/libc/kernel/uapi/linux/poll.h b/libc/kernel/uapi/linux/poll.h
index cd542e6..0572c8e 100644
--- a/libc/kernel/uapi/linux/poll.h
+++ b/libc/kernel/uapi/linux/poll.h
@@ -1,19 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <asm/poll.h>
diff --git a/libc/kernel/uapi/linux/posix_acl.h b/libc/kernel/uapi/linux/posix_acl.h
index 96c302a..865c224 100644
--- a/libc/kernel/uapi/linux/posix_acl.h
+++ b/libc/kernel/uapi/linux/posix_acl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_POSIX_ACL_H
 #define __UAPI_POSIX_ACL_H
 #define ACL_UNDEFINED_ID (- 1)
diff --git a/libc/kernel/uapi/linux/posix_acl_xattr.h b/libc/kernel/uapi/linux/posix_acl_xattr.h
index c66bfa7..3901ca6 100644
--- a/libc/kernel/uapi/linux/posix_acl_xattr.h
+++ b/libc/kernel/uapi/linux/posix_acl_xattr.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_POSIX_ACL_XATTR_H
 #define __UAPI_POSIX_ACL_XATTR_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/posix_types.h b/libc/kernel/uapi/linux/posix_types.h
index 19fdf48..b21f63f 100644
--- a/libc/kernel/uapi/linux/posix_types.h
+++ b/libc/kernel/uapi/linux/posix_types.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_POSIX_TYPES_H
 #define _LINUX_POSIX_TYPES_H
 #include <linux/stddef.h>
diff --git a/libc/kernel/uapi/linux/ppdev.h b/libc/kernel/uapi/linux/ppdev.h
index 450d6fd..a4265bf 100644
--- a/libc/kernel/uapi/linux/ppdev.h
+++ b/libc/kernel/uapi/linux/ppdev.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_PPDEV_H
 #define _UAPI_LINUX_PPDEV_H
 #define PP_IOCTL 'p'
diff --git a/libc/kernel/uapi/linux/ppp-comp.h b/libc/kernel/uapi/linux/ppp-comp.h
index 08aeab3..e33acf9 100644
--- a/libc/kernel/uapi/linux/ppp-comp.h
+++ b/libc/kernel/uapi/linux/ppp-comp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_NET_PPP_COMP_H
 #define _UAPI_NET_PPP_COMP_H
 #define CCP_CONFREQ 1
diff --git a/libc/kernel/uapi/linux/ppp-ioctl.h b/libc/kernel/uapi/linux/ppp-ioctl.h
index 165d447..b34cacc 100644
--- a/libc/kernel/uapi/linux/ppp-ioctl.h
+++ b/libc/kernel/uapi/linux/ppp-ioctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _PPP_IOCTL_H
 #define _PPP_IOCTL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/ppp_defs.h b/libc/kernel/uapi/linux/ppp_defs.h
index 84c23d9..ada8b10 100644
--- a/libc/kernel/uapi/linux/ppp_defs.h
+++ b/libc/kernel/uapi/linux/ppp_defs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <linux/types.h>
 #ifndef _UAPI_PPP_DEFS_H_
 #define _UAPI_PPP_DEFS_H_
diff --git a/libc/kernel/uapi/linux/pps.h b/libc/kernel/uapi/linux/pps.h
index 4bfe30d..2d90c1d 100644
--- a/libc/kernel/uapi/linux/pps.h
+++ b/libc/kernel/uapi/linux/pps.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _PPS_H_
 #define _PPS_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/pr.h b/libc/kernel/uapi/linux/pr.h
index b3128ee..4377692 100644
--- a/libc/kernel/uapi/linux/pr.h
+++ b/libc/kernel/uapi/linux/pr.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_PR_H
 #define _UAPI_PR_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/prctl.h b/libc/kernel/uapi/linux/prctl.h
index 1dac726..136a10f 100644
--- a/libc/kernel/uapi/linux/prctl.h
+++ b/libc/kernel/uapi/linux/prctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_PRCTL_H
 #define _LINUX_PRCTL_H
 #include <linux/types.h>
@@ -184,6 +172,39 @@
 #define PR_SME_GET_VL 64
 #define PR_SME_VL_LEN_MASK 0xffff
 #define PR_SME_VL_INHERIT (1 << 17)
+#define PR_SET_MDWE 65
+#define PR_MDWE_REFUSE_EXEC_GAIN (1UL << 0)
+#define PR_MDWE_NO_INHERIT (1UL << 1)
+#define PR_GET_MDWE 66
 #define PR_SET_VMA 0x53564d41
 #define PR_SET_VMA_ANON_NAME 0
+#define PR_GET_AUXV 0x41555856
+#define PR_SET_MEMORY_MERGE 67
+#define PR_GET_MEMORY_MERGE 68
+#define PR_RISCV_V_SET_CONTROL 69
+#define PR_RISCV_V_GET_CONTROL 70
+#define PR_RISCV_V_VSTATE_CTRL_DEFAULT 0
+#define PR_RISCV_V_VSTATE_CTRL_OFF 1
+#define PR_RISCV_V_VSTATE_CTRL_ON 2
+#define PR_RISCV_V_VSTATE_CTRL_INHERIT (1 << 4)
+#define PR_RISCV_V_VSTATE_CTRL_CUR_MASK 0x3
+#define PR_RISCV_V_VSTATE_CTRL_NEXT_MASK 0xc
+#define PR_RISCV_V_VSTATE_CTRL_MASK 0x1f
+#define PR_RISCV_SET_ICACHE_FLUSH_CTX 71
+#define PR_RISCV_CTX_SW_FENCEI_ON 0
+#define PR_RISCV_CTX_SW_FENCEI_OFF 1
+#define PR_RISCV_SCOPE_PER_PROCESS 0
+#define PR_RISCV_SCOPE_PER_THREAD 1
+#define PR_PPC_GET_DEXCR 72
+#define PR_PPC_SET_DEXCR 73
+#define PR_PPC_DEXCR_SBHE 0
+#define PR_PPC_DEXCR_IBRTPD 1
+#define PR_PPC_DEXCR_SRAPD 2
+#define PR_PPC_DEXCR_NPHIE 3
+#define PR_PPC_DEXCR_CTRL_EDITABLE 0x1
+#define PR_PPC_DEXCR_CTRL_SET 0x2
+#define PR_PPC_DEXCR_CTRL_CLEAR 0x4
+#define PR_PPC_DEXCR_CTRL_SET_ONEXEC 0x8
+#define PR_PPC_DEXCR_CTRL_CLEAR_ONEXEC 0x10
+#define PR_PPC_DEXCR_CTRL_MASK 0x1f
 #endif
diff --git a/libc/kernel/uapi/linux/psample.h b/libc/kernel/uapi/linux/psample.h
index efb1c24..f9f979c 100644
--- a/libc/kernel/uapi/linux/psample.h
+++ b/libc/kernel/uapi/linux/psample.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_PSAMPLE_H
 #define __UAPI_PSAMPLE_H
 enum {
@@ -34,6 +22,8 @@
   PSAMPLE_ATTR_LATENCY,
   PSAMPLE_ATTR_TIMESTAMP,
   PSAMPLE_ATTR_PROTO,
+  PSAMPLE_ATTR_USER_COOKIE,
+  PSAMPLE_ATTR_SAMPLE_PROBABILITY,
   __PSAMPLE_ATTR_MAX
 };
 enum psample_command {
diff --git a/libc/kernel/uapi/linux/psci.h b/libc/kernel/uapi/linux/psci.h
index ea8ce59..343268f 100644
--- a/libc/kernel/uapi/linux/psci.h
+++ b/libc/kernel/uapi/linux/psci.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_PSCI_H
 #define _UAPI_LINUX_PSCI_H
 #define PSCI_0_2_FN_BASE 0x84000000
diff --git a/libc/kernel/uapi/linux/psp-dbc.h b/libc/kernel/uapi/linux/psp-dbc.h
new file mode 100644
index 0000000..b981f97
--- /dev/null
+++ b/libc/kernel/uapi/linux/psp-dbc.h
@@ -0,0 +1,45 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef __PSP_DBC_USER_H__
+#define __PSP_DBC_USER_H__
+#include <linux/types.h>
+#define DBC_NONCE_SIZE 16
+#define DBC_SIG_SIZE 32
+#define DBC_UID_SIZE 16
+struct dbc_user_nonce {
+  __u32 auth_needed;
+  __u8 nonce[DBC_NONCE_SIZE];
+  __u8 signature[DBC_SIG_SIZE];
+} __attribute__((__packed__));
+struct dbc_user_setuid {
+  __u8 uid[DBC_UID_SIZE];
+  __u8 signature[DBC_SIG_SIZE];
+} __attribute__((__packed__));
+struct dbc_user_param {
+  __u32 msg_index;
+  __u32 param;
+  __u8 signature[DBC_SIG_SIZE];
+} __attribute__((__packed__));
+#define DBC_IOC_TYPE 'D'
+#define DBCIOCNONCE _IOWR(DBC_IOC_TYPE, 0x1, struct dbc_user_nonce)
+#define DBCIOCUID _IOW(DBC_IOC_TYPE, 0x2, struct dbc_user_setuid)
+#define DBCIOCPARAM _IOWR(DBC_IOC_TYPE, 0x3, struct dbc_user_param)
+enum dbc_cmd_msg {
+  PARAM_GET_FMAX_CAP = 0x3,
+  PARAM_SET_FMAX_CAP = 0x4,
+  PARAM_GET_PWR_CAP = 0x5,
+  PARAM_SET_PWR_CAP = 0x6,
+  PARAM_GET_GFX_MODE = 0x7,
+  PARAM_SET_GFX_MODE = 0x8,
+  PARAM_GET_CURR_TEMP = 0x9,
+  PARAM_GET_FMAX_MAX = 0xA,
+  PARAM_GET_FMAX_MIN = 0xB,
+  PARAM_GET_SOC_PWR_MAX = 0xC,
+  PARAM_GET_SOC_PWR_MIN = 0xD,
+  PARAM_GET_SOC_PWR_CUR = 0xE,
+};
+#endif
diff --git a/libc/kernel/uapi/linux/psp-sev.h b/libc/kernel/uapi/linux/psp-sev.h
index 8c9ec80..7274081 100644
--- a/libc/kernel/uapi/linux/psp-sev.h
+++ b/libc/kernel/uapi/linux/psp-sev.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __PSP_SEV_USER_H__
 #define __PSP_SEV_USER_H__
 #include <linux/types.h>
@@ -29,13 +17,19 @@
   SEV_PEK_CERT_IMPORT,
   SEV_GET_ID,
   SEV_GET_ID2,
+  SNP_PLATFORM_STATUS,
+  SNP_COMMIT,
+  SNP_SET_CONFIG,
+  SNP_VLEK_LOAD,
   SEV_MAX,
 };
 typedef enum {
+  SEV_RET_NO_FW_CALL = - 1,
   SEV_RET_SUCCESS = 0,
   SEV_RET_INVALID_PLATFORM_STATE,
   SEV_RET_INVALID_GUEST_STATE,
   SEV_RET_INAVLID_CONFIG,
+  SEV_RET_INVALID_CONFIG = SEV_RET_INAVLID_CONFIG,
   SEV_RET_INVALID_LEN,
   SEV_RET_ALREADY_OWNED,
   SEV_RET_INVALID_CERTIFICATE,
@@ -57,6 +51,13 @@
   SEV_RET_INVALID_PARAM,
   SEV_RET_RESOURCE_LIMIT,
   SEV_RET_SECURE_DATA_INVALID,
+  SEV_RET_INVALID_KEY = 0x27,
+  SEV_RET_INVALID_PAGE_SIZE,
+  SEV_RET_INVALID_PAGE_STATE,
+  SEV_RET_INVALID_MDATA_ENTRY,
+  SEV_RET_INVALID_PAGE_OWNER,
+  SEV_RET_INVALID_PAGE_AEAD_OFLOW,
+  SEV_RET_RMP_INIT_REQUIRED,
   SEV_RET_MAX,
 } sev_ret_code;
 struct sev_user_data_status {
@@ -92,6 +93,37 @@
   __u64 address;
   __u32 length;
 } __attribute__((__packed__));
+struct sev_user_data_snp_status {
+  __u8 api_major;
+  __u8 api_minor;
+  __u8 state;
+  __u8 is_rmp_initialized : 1;
+  __u8 rsvd : 7;
+  __u32 build_id;
+  __u32 mask_chip_id : 1;
+  __u32 mask_chip_key : 1;
+  __u32 vlek_en : 1;
+  __u32 rsvd1 : 29;
+  __u32 guest_count;
+  __u64 current_tcb_version;
+  __u64 reported_tcb_version;
+} __attribute__((__packed__));
+struct sev_user_data_snp_config {
+  __u64 reported_tcb;
+  __u32 mask_chip_id : 1;
+  __u32 mask_chip_key : 1;
+  __u32 rsvd : 30;
+  __u8 rsvd1[52];
+} __attribute__((__packed__));
+struct sev_user_data_snp_vlek_load {
+  __u32 len;
+  __u8 vlek_wrapped_version;
+  __u8 rsvd[3];
+  __u64 vlek_wrapped_address;
+} __attribute__((__packed__));
+struct sev_user_data_snp_wrapped_vlek_hashstick {
+  __u8 data[432];
+} __attribute__((__packed__));
 struct sev_issue_cmd {
   __u32 cmd;
   __u64 data;
diff --git a/libc/kernel/uapi/linux/ptp_clock.h b/libc/kernel/uapi/linux/ptp_clock.h
index ca6f3c3..5014936 100644
--- a/libc/kernel/uapi/linux/ptp_clock.h
+++ b/libc/kernel/uapi/linux/ptp_clock.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _PTP_CLOCK_H_
 #define _PTP_CLOCK_H_
 #include <linux/ioctl.h>
@@ -24,9 +12,11 @@
 #define PTP_RISING_EDGE (1 << 1)
 #define PTP_FALLING_EDGE (1 << 2)
 #define PTP_STRICT_FLAGS (1 << 3)
+#define PTP_EXT_OFFSET (1 << 4)
 #define PTP_EXTTS_EDGES (PTP_RISING_EDGE | PTP_FALLING_EDGE)
-#define PTP_EXTTS_VALID_FLAGS (PTP_ENABLE_FEATURE | PTP_RISING_EDGE | PTP_FALLING_EDGE | PTP_STRICT_FLAGS)
+#define PTP_EXTTS_VALID_FLAGS (PTP_ENABLE_FEATURE | PTP_RISING_EDGE | PTP_FALLING_EDGE | PTP_STRICT_FLAGS | PTP_EXT_OFFSET)
 #define PTP_EXTTS_V1_VALID_FLAGS (PTP_ENABLE_FEATURE | PTP_RISING_EDGE | PTP_FALLING_EDGE)
+#define PTP_EXTTS_EVENT_VALID (PTP_ENABLE_FEATURE)
 #define PTP_PEROUT_ONE_SHOT (1 << 0)
 #define PTP_PEROUT_DUTY_CYCLE (1 << 1)
 #define PTP_PEROUT_PHASE (1 << 2)
@@ -46,7 +36,8 @@
   int n_pins;
   int cross_timestamping;
   int adjust_phase;
-  int rsv[12];
+  int max_phase_adj;
+  int rsv[11];
 };
 struct ptp_extts_request {
   unsigned int index;
@@ -115,6 +106,8 @@
 #define PTP_PIN_SETFUNC2 _IOW(PTP_CLK_MAGIC, 16, struct ptp_pin_desc)
 #define PTP_SYS_OFFSET_PRECISE2 _IOWR(PTP_CLK_MAGIC, 17, struct ptp_sys_offset_precise)
 #define PTP_SYS_OFFSET_EXTENDED2 _IOWR(PTP_CLK_MAGIC, 18, struct ptp_sys_offset_extended)
+#define PTP_MASK_CLEAR_ALL _IO(PTP_CLK_MAGIC, 19)
+#define PTP_MASK_EN_SINGLE _IOW(PTP_CLK_MAGIC, 20, unsigned int)
 struct ptp_extts_event {
   struct ptp_clock_time t;
   unsigned int index;
diff --git a/libc/kernel/uapi/linux/ptrace.h b/libc/kernel/uapi/linux/ptrace.h
index 4bfa59a..7bb5b09 100644
--- a/libc/kernel/uapi/linux/ptrace.h
+++ b/libc/kernel/uapi/linux/ptrace.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_PTRACE_H
 #define _UAPI_LINUX_PTRACE_H
 #include <linux/types.h>
@@ -90,6 +78,14 @@
   __u32 flags;
   __u32 pad;
 };
+#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG 0x4210
+#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG 0x4211
+struct ptrace_sud_config {
+  __u64 mode;
+  __u64 selector;
+  __u64 offset;
+  __u64 len;
+};
 #define PTRACE_EVENTMSG_SYSCALL_ENTRY 1
 #define PTRACE_EVENTMSG_SYSCALL_EXIT 2
 #define PTRACE_PEEKSIGINFO_SHARED (1 << 0)
diff --git a/libc/kernel/uapi/linux/qemu_fw_cfg.h b/libc/kernel/uapi/linux/qemu_fw_cfg.h
index 173af1f..2c35275 100644
--- a/libc/kernel/uapi/linux/qemu_fw_cfg.h
+++ b/libc/kernel/uapi/linux/qemu_fw_cfg.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_FW_CFG_H
 #define _LINUX_FW_CFG_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/qnx4_fs.h b/libc/kernel/uapi/linux/qnx4_fs.h
index c6f1a8e..74c4b62 100644
--- a/libc/kernel/uapi/linux/qnx4_fs.h
+++ b/libc/kernel/uapi/linux/qnx4_fs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_QNX4_FS_H
 #define _LINUX_QNX4_FS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/qnxtypes.h b/libc/kernel/uapi/linux/qnxtypes.h
index d313361..c702594 100644
--- a/libc/kernel/uapi/linux/qnxtypes.h
+++ b/libc/kernel/uapi/linux/qnxtypes.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _QNX4TYPES_H
 #define _QNX4TYPES_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/qrtr.h b/libc/kernel/uapi/linux/qrtr.h
index ee56aca..024a5be 100644
--- a/libc/kernel/uapi/linux/qrtr.h
+++ b/libc/kernel/uapi/linux/qrtr.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_QRTR_H
 #define _LINUX_QRTR_H
 #include <linux/socket.h>
diff --git a/libc/kernel/uapi/linux/quota.h b/libc/kernel/uapi/linux/quota.h
index 280b396..9698370 100644
--- a/libc/kernel/uapi/linux/quota.h
+++ b/libc/kernel/uapi/linux/quota.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_QUOTA_
 #define _UAPI_LINUX_QUOTA_
 #include <linux/types.h>
@@ -42,6 +30,7 @@
 #define QFMT_VFS_V0 2
 #define QFMT_OCFS2 3
 #define QFMT_VFS_V1 4
+#define QFMT_SHMEM 5
 #define QIF_DQBLKSIZE_BITS 10
 #define QIF_DQBLKSIZE (1 << QIF_DQBLKSIZE_BITS)
 enum {
diff --git a/libc/kernel/uapi/linux/radeonfb.h b/libc/kernel/uapi/linux/radeonfb.h
index b7a6b9d..83adcd7 100644
--- a/libc/kernel/uapi/linux/radeonfb.h
+++ b/libc/kernel/uapi/linux/radeonfb.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_RADEONFB_H__
 #define __LINUX_RADEONFB_H__
 #include <asm/ioctl.h>
diff --git a/libc/kernel/uapi/linux/raid/md_p.h b/libc/kernel/uapi/linux/raid/md_p.h
index dc3084a..dafeb16 100644
--- a/libc/kernel/uapi/linux/raid/md_p.h
+++ b/libc/kernel/uapi/linux/raid/md_p.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _MD_P_H
 #define _MD_P_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/raid/md_u.h b/libc/kernel/uapi/linux/raid/md_u.h
index 8c7fadc..f291f64 100644
--- a/libc/kernel/uapi/linux/raid/md_u.h
+++ b/libc/kernel/uapi/linux/raid/md_u.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_MD_U_H
 #define _UAPI_MD_U_H
 #define MD_MAJOR_VERSION 0
@@ -69,9 +57,6 @@
   int layout;
   int chunk_size;
 } mdu_array_info_t;
-#define LEVEL_MULTIPATH (- 4)
-#define LEVEL_LINEAR (- 1)
-#define LEVEL_FAULTY (- 5)
 #define LEVEL_NONE (- 1000000)
 typedef struct mdu_disk_info_s {
   int number;
diff --git a/libc/kernel/uapi/linux/random.h b/libc/kernel/uapi/linux/random.h
index 8df411b..64f62d9 100644
--- a/libc/kernel/uapi/linux/random.h
+++ b/libc/kernel/uapi/linux/random.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_RANDOM_H
 #define _UAPI_LINUX_RANDOM_H
 #include <linux/types.h>
@@ -36,4 +24,10 @@
 #define GRND_NONBLOCK 0x0001
 #define GRND_RANDOM 0x0002
 #define GRND_INSECURE 0x0004
+struct vgetrandom_opaque_params {
+  __u32 size_of_opaque_state;
+  __u32 mmap_prot;
+  __u32 mmap_flags;
+  __u32 reserved[13];
+};
 #endif
diff --git a/libc/kernel/uapi/linux/rds.h b/libc/kernel/uapi/linux/rds.h
index 7006c87..e2a7a38 100644
--- a/libc/kernel/uapi/linux/rds.h
+++ b/libc/kernel/uapi/linux/rds.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_RDS_H
 #define _LINUX_RDS_H
 #include <linux/types.h>
@@ -217,7 +205,7 @@
   __u64 flags;
 };
 struct rds_get_mr_for_dest_args {
-  struct __kernel_sockaddr_storage dest_addr;
+  struct sockaddr_storage dest_addr;
   struct rds_iovec vec;
   __u64 cookie_addr;
   __u64 flags;
diff --git a/libc/kernel/uapi/linux/reboot.h b/libc/kernel/uapi/linux/reboot.h
index 6bf017a..b6fde46 100644
--- a/libc/kernel/uapi/linux/reboot.h
+++ b/libc/kernel/uapi/linux/reboot.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_REBOOT_H
 #define _UAPI_LINUX_REBOOT_H
 #define LINUX_REBOOT_MAGIC1 0xfee1dead
diff --git a/libc/kernel/uapi/linux/reiserfs_fs.h b/libc/kernel/uapi/linux/reiserfs_fs.h
index 5485b1f..e0bd0a0 100644
--- a/libc/kernel/uapi/linux/reiserfs_fs.h
+++ b/libc/kernel/uapi/linux/reiserfs_fs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_REISER_FS_H
 #define _LINUX_REISER_FS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/reiserfs_xattr.h b/libc/kernel/uapi/linux/reiserfs_xattr.h
index 16a7a08..2caed30 100644
--- a/libc/kernel/uapi/linux/reiserfs_xattr.h
+++ b/libc/kernel/uapi/linux/reiserfs_xattr.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_REISERFS_XATTR_H
 #define _LINUX_REISERFS_XATTR_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/remoteproc_cdev.h b/libc/kernel/uapi/linux/remoteproc_cdev.h
index a10ff01..ca47e73 100644
--- a/libc/kernel/uapi/linux/remoteproc_cdev.h
+++ b/libc/kernel/uapi/linux/remoteproc_cdev.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_REMOTEPROC_CDEV_H_
 #define _UAPI_REMOTEPROC_CDEV_H_
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/linux/resource.h b/libc/kernel/uapi/linux/resource.h
index 6f531a0..05e201b 100644
--- a/libc/kernel/uapi/linux/resource.h
+++ b/libc/kernel/uapi/linux/resource.h
@@ -1,24 +1,12 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_RESOURCE_H
 #define _UAPI_LINUX_RESOURCE_H
-#include <linux/time.h>
+#include <linux/time_types.h>
 #include <linux/types.h>
 #define RUSAGE_SELF 0
 #define RUSAGE_CHILDREN (- 1)
diff --git a/libc/kernel/uapi/linux/rfkill.h b/libc/kernel/uapi/linux/rfkill.h
index b90e67c..6d435f3 100644
--- a/libc/kernel/uapi/linux/rfkill.h
+++ b/libc/kernel/uapi/linux/rfkill.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__RFKILL_H
 #define _UAPI__RFKILL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/rio_cm_cdev.h b/libc/kernel/uapi/linux/rio_cm_cdev.h
index 39799bc..ce1d026 100644
--- a/libc/kernel/uapi/linux/rio_cm_cdev.h
+++ b/libc/kernel/uapi/linux/rio_cm_cdev.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _RIO_CM_CDEV_H_
 #define _RIO_CM_CDEV_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/rio_mport_cdev.h b/libc/kernel/uapi/linux/rio_mport_cdev.h
index 3e6d6de..1d90f2b 100644
--- a/libc/kernel/uapi/linux/rio_mport_cdev.h
+++ b/libc/kernel/uapi/linux/rio_mport_cdev.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _RIO_MPORT_CDEV_H_
 #define _RIO_MPORT_CDEV_H_
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/linux/rkisp1-config.h b/libc/kernel/uapi/linux/rkisp1-config.h
index 7175c23..d4206a0 100644
--- a/libc/kernel/uapi/linux/rkisp1-config.h
+++ b/libc/kernel/uapi/linux/rkisp1-config.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_RKISP1_CONFIG_H
 #define _UAPI_RKISP1_CONFIG_H
 #include <linux/types.h>
@@ -109,6 +97,7 @@
   RKISP1_V11,
   RKISP1_V12,
   RKISP1_V13,
+  RKISP1_V_IMX8MP,
 };
 enum rkisp1_cif_isp_histogram_mode {
   RKISP1_CIF_ISP_HISTOGRAM_MODE_DISABLE,
diff --git a/libc/kernel/uapi/linux/romfs_fs.h b/libc/kernel/uapi/linux/romfs_fs.h
index bffbaf9..8fcd139 100644
--- a/libc/kernel/uapi/linux/romfs_fs.h
+++ b/libc/kernel/uapi/linux/romfs_fs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_ROMFS_FS_H
 #define __LINUX_ROMFS_FS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/rose.h b/libc/kernel/uapi/linux/rose.h
index fa813c7..3a1d05a 100644
--- a/libc/kernel/uapi/linux/rose.h
+++ b/libc/kernel/uapi/linux/rose.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef ROSE_KERNEL_H
 #define ROSE_KERNEL_H
 #include <linux/socket.h>
diff --git a/libc/kernel/uapi/linux/route.h b/libc/kernel/uapi/linux/route.h
index f33327c..4aa3560 100644
--- a/libc/kernel/uapi/linux/route.h
+++ b/libc/kernel/uapi/linux/route.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_ROUTE_H
 #define _LINUX_ROUTE_H
 #include <linux/if.h>
diff --git a/libc/kernel/uapi/linux/rpl.h b/libc/kernel/uapi/linux/rpl.h
index 3648bfc..90bd60e 100644
--- a/libc/kernel/uapi/linux/rpl.h
+++ b/libc/kernel/uapi/linux/rpl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_RPL_H
 #define _UAPI_LINUX_RPL_H
 #include <asm/byteorder.h>
@@ -34,8 +22,8 @@
 #error "Please fix <asm/byteorder.h>"
 #endif
   union {
-    struct in6_addr addr[0];
-    __u8 data[0];
+    __DECLARE_FLEX_ARRAY(struct in6_addr, addr);
+    __DECLARE_FLEX_ARRAY(__u8, data);
   } segments;
 } __attribute__((packed));
 #define rpl_segaddr segments.addr
diff --git a/libc/kernel/uapi/linux/rpl_iptunnel.h b/libc/kernel/uapi/linux/rpl_iptunnel.h
index c61725d..1dd4378 100644
--- a/libc/kernel/uapi/linux/rpl_iptunnel.h
+++ b/libc/kernel/uapi/linux/rpl_iptunnel.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_RPL_IPTUNNEL_H
 #define _UAPI_LINUX_RPL_IPTUNNEL_H
 enum {
diff --git a/libc/kernel/uapi/linux/rpmsg.h b/libc/kernel/uapi/linux/rpmsg.h
index 9ceccdd..ea75dce 100644
--- a/libc/kernel/uapi/linux/rpmsg.h
+++ b/libc/kernel/uapi/linux/rpmsg.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_RPMSG_H_
 #define _UAPI_RPMSG_H_
 #include <linux/ioctl.h>
@@ -30,4 +18,6 @@
 #define RPMSG_DESTROY_EPT_IOCTL _IO(0xb5, 0x2)
 #define RPMSG_CREATE_DEV_IOCTL _IOW(0xb5, 0x3, struct rpmsg_endpoint_info)
 #define RPMSG_RELEASE_DEV_IOCTL _IOW(0xb5, 0x4, struct rpmsg_endpoint_info)
+#define RPMSG_GET_OUTGOING_FLOWCONTROL _IOR(0xb5, 0x5, int)
+#define RPMSG_SET_INCOMING_FLOWCONTROL _IOR(0xb5, 0x6, int)
 #endif
diff --git a/libc/kernel/uapi/linux/rpmsg_types.h b/libc/kernel/uapi/linux/rpmsg_types.h
index 6599f4c..85cf317 100644
--- a/libc/kernel/uapi/linux/rpmsg_types.h
+++ b/libc/kernel/uapi/linux/rpmsg_types.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_RPMSG_TYPES_H
 #define _UAPI_LINUX_RPMSG_TYPES_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/rseq.h b/libc/kernel/uapi/linux/rseq.h
index 29a9457..54190b6 100644
--- a/libc/kernel/uapi/linux/rseq.h
+++ b/libc/kernel/uapi/linux/rseq.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_RSEQ_H
 #define _UAPI_LINUX_RSEQ_H
 #include <linux/types.h>
@@ -49,5 +37,8 @@
   __u32 cpu_id;
   __u64 rseq_cs;
   __u32 flags;
+  __u32 node_id;
+  __u32 mm_cid;
+  char end[];
 } __attribute__((aligned(4 * sizeof(__u64))));
 #endif
diff --git a/libc/kernel/uapi/linux/rtc.h b/libc/kernel/uapi/linux/rtc.h
index d75bc45..3871f66 100644
--- a/libc/kernel/uapi/linux/rtc.h
+++ b/libc/kernel/uapi/linux/rtc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_RTC_H_
 #define _UAPI_LINUX_RTC_H_
 #include <linux/const.h>
diff --git a/libc/kernel/uapi/linux/rtnetlink.h b/libc/kernel/uapi/linux/rtnetlink.h
index 7201827..70038f2 100644
--- a/libc/kernel/uapi/linux/rtnetlink.h
+++ b/libc/kernel/uapi/linux/rtnetlink.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_RTNETLINK_H
 #define _UAPI__LINUX_RTNETLINK_H
 #include <linux/types.h>
@@ -380,7 +368,8 @@
 #define RTAX_FEATURE_SACK (1 << 1)
 #define RTAX_FEATURE_TIMESTAMP (1 << 2)
 #define RTAX_FEATURE_ALLFRAG (1 << 3)
-#define RTAX_FEATURE_MASK (RTAX_FEATURE_ECN | RTAX_FEATURE_SACK | RTAX_FEATURE_TIMESTAMP | RTAX_FEATURE_ALLFRAG)
+#define RTAX_FEATURE_TCP_USEC_TS (1 << 4)
+#define RTAX_FEATURE_MASK (RTAX_FEATURE_ECN | RTAX_FEATURE_SACK | RTAX_FEATURE_TIMESTAMP | RTAX_FEATURE_ALLFRAG | RTAX_FEATURE_TCP_USEC_TS)
 struct rta_session {
   __u8 proto;
   __u8 pad1;
@@ -463,6 +452,7 @@
   TCA_INGRESS_BLOCK,
   TCA_EGRESS_BLOCK,
   TCA_DUMP_FLAGS,
+  TCA_EXT_WARN_MSG,
   __TCA_MAX
 };
 #define TCA_MAX (__TCA_MAX - 1)
@@ -589,6 +579,7 @@
   TCA_ROOT_FLAGS,
   TCA_ROOT_COUNT,
   TCA_ROOT_TIME_DELTA,
+  TCA_ROOT_EXT_WARN_MSG,
   __TCA_ROOT_MAX,
 #define TCA_ROOT_MAX (__TCA_ROOT_MAX - 1)
 };
diff --git a/libc/kernel/uapi/linux/rxrpc.h b/libc/kernel/uapi/linux/rxrpc.h
index 16207dd..5b60716 100644
--- a/libc/kernel/uapi/linux/rxrpc.h
+++ b/libc/kernel/uapi/linux/rxrpc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_RXRPC_H
 #define _UAPI_LINUX_RXRPC_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/scc.h b/libc/kernel/uapi/linux/scc.h
index a2a5503..f3640d7 100644
--- a/libc/kernel/uapi/linux/scc.h
+++ b/libc/kernel/uapi/linux/scc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_SCC_H
 #define _UAPI_SCC_H
 #include <linux/sockios.h>
diff --git a/libc/kernel/uapi/linux/sched.h b/libc/kernel/uapi/linux/sched.h
index f9c00df..ae914f7 100644
--- a/libc/kernel/uapi/linux/sched.h
+++ b/libc/kernel/uapi/linux/sched.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SCHED_H
 #define _UAPI_LINUX_SCHED_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/sched/types.h b/libc/kernel/uapi/linux/sched/types.h
index 385b21a..e3bcbd2 100644
--- a/libc/kernel/uapi/linux/sched/types.h
+++ b/libc/kernel/uapi/linux/sched/types.h
@@ -1,27 +1,12 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SCHED_TYPES_H
 #define _UAPI_LINUX_SCHED_TYPES_H
 #include <linux/types.h>
-struct sched_param {
-  int sched_priority;
-};
 #define SCHED_ATTR_SIZE_VER0 48
 #define SCHED_ATTR_SIZE_VER1 56
 struct sched_attr {
diff --git a/libc/kernel/uapi/linux/scif_ioctl.h b/libc/kernel/uapi/linux/scif_ioctl.h
index 14e199c..60cff79 100644
--- a/libc/kernel/uapi/linux/scif_ioctl.h
+++ b/libc/kernel/uapi/linux/scif_ioctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef SCIF_IOCTL_H
 #define SCIF_IOCTL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/screen_info.h b/libc/kernel/uapi/linux/screen_info.h
index 7dfadba..e1856c7 100644
--- a/libc/kernel/uapi/linux/screen_info.h
+++ b/libc/kernel/uapi/linux/screen_info.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_SCREEN_INFO_H
 #define _UAPI_SCREEN_INFO_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/sctp.h b/libc/kernel/uapi/linux/sctp.h
index 4bf2412..760309d 100644
--- a/libc/kernel/uapi/linux/sctp.h
+++ b/libc/kernel/uapi/linux/sctp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_SCTP_H
 #define _UAPI_SCTP_H
 #include <linux/types.h>
@@ -709,7 +697,9 @@
   SCTP_SS_DEFAULT = SCTP_SS_FCFS,
   SCTP_SS_PRIO,
   SCTP_SS_RR,
-  SCTP_SS_MAX = SCTP_SS_RR
+  SCTP_SS_FC,
+  SCTP_SS_WFQ,
+  SCTP_SS_MAX = SCTP_SS_WFQ
 };
 struct sctp_probeinterval {
   sctp_assoc_t spi_assoc_id;
diff --git a/libc/kernel/uapi/linux/seccomp.h b/libc/kernel/uapi/linux/seccomp.h
index cc506ae..5264cdd 100644
--- a/libc/kernel/uapi/linux/seccomp.h
+++ b/libc/kernel/uapi/linux/seccomp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SECCOMP_H
 #define _UAPI_LINUX_SECCOMP_H
 #include <linux/compiler.h>
@@ -69,6 +57,7 @@
   __s32 error;
   __u32 flags;
 };
+#define SECCOMP_USER_NOTIF_FD_SYNC_WAKE_UP (1UL << 0)
 #define SECCOMP_ADDFD_FLAG_SETFD (1UL << 0)
 #define SECCOMP_ADDFD_FLAG_SEND (1UL << 1)
 struct seccomp_notif_addfd {
@@ -87,4 +76,5 @@
 #define SECCOMP_IOCTL_NOTIF_SEND SECCOMP_IOWR(1, struct seccomp_notif_resp)
 #define SECCOMP_IOCTL_NOTIF_ID_VALID SECCOMP_IOW(2, __u64)
 #define SECCOMP_IOCTL_NOTIF_ADDFD SECCOMP_IOW(3, struct seccomp_notif_addfd)
+#define SECCOMP_IOCTL_NOTIF_SET_FLAGS SECCOMP_IOW(4, __u64)
 #endif
diff --git a/libc/kernel/uapi/linux/securebits.h b/libc/kernel/uapi/linux/securebits.h
index b73053e..b50eec9 100644
--- a/libc/kernel/uapi/linux/securebits.h
+++ b/libc/kernel/uapi/linux/securebits.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SECUREBITS_H
 #define _UAPI_LINUX_SECUREBITS_H
 #define issecure_mask(X) (1 << (X))
diff --git a/libc/kernel/uapi/linux/sed-opal.h b/libc/kernel/uapi/linux/sed-opal.h
index 4c66231..6274ede 100644
--- a/libc/kernel/uapi/linux/sed-opal.h
+++ b/libc/kernel/uapi/linux/sed-opal.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_SED_OPAL_H
 #define _UAPI_SED_OPAL_H
 #include <linux/types.h>
@@ -49,12 +37,20 @@
 enum opal_lock_flags {
   OPAL_SAVE_FOR_LOCK = 0x01,
 };
+enum opal_key_type {
+  OPAL_INCLUDED = 0,
+  OPAL_KEYRING,
+};
 struct opal_key {
   __u8 lr;
   __u8 key_len;
-  __u8 __align[6];
+  __u8 key_type;
+  __u8 __align[5];
   __u8 key[OPAL_KEY_MAX];
 };
+enum opal_revert_lsp_opts {
+  OPAL_PRESERVE = 0x01,
+};
 struct opal_lr_act {
   struct opal_key key;
   __u32 sum;
@@ -74,6 +70,15 @@
   __u32 WLE;
   struct opal_session_info session;
 };
+struct opal_lr_status {
+  struct opal_session_info session;
+  __u64 range_start;
+  __u64 range_length;
+  __u32 RLE;
+  __u32 WLE;
+  __u32 l_state;
+  __u8 align[4];
+};
 struct opal_lock_unlock {
   struct opal_session_info session;
   __u32 l_state;
@@ -122,10 +127,27 @@
 #define OPAL_FL_LOCKED 0x00000008
 #define OPAL_FL_MBR_ENABLED 0x00000010
 #define OPAL_FL_MBR_DONE 0x00000020
+#define OPAL_FL_SUM_SUPPORTED 0x00000040
 struct opal_status {
   __u32 flags;
   __u32 reserved;
 };
+struct opal_geometry {
+  __u8 align;
+  __u32 logical_block_size;
+  __u64 alignment_granularity;
+  __u64 lowest_aligned_lba;
+  __u8 __align[3];
+};
+struct opal_discovery {
+  __u64 data;
+  __u64 size;
+};
+struct opal_revert_lsp {
+  struct opal_key key;
+  __u32 options;
+  __u32 __pad;
+};
 #define IOC_OPAL_SAVE _IOW('p', 220, struct opal_lock_unlock)
 #define IOC_OPAL_LOCK_UNLOCK _IOW('p', 221, struct opal_lock_unlock)
 #define IOC_OPAL_TAKE_OWNERSHIP _IOW('p', 222, struct opal_key)
@@ -143,4 +165,8 @@
 #define IOC_OPAL_WRITE_SHADOW_MBR _IOW('p', 234, struct opal_shadow_mbr)
 #define IOC_OPAL_GENERIC_TABLE_RW _IOW('p', 235, struct opal_read_write_table)
 #define IOC_OPAL_GET_STATUS _IOR('p', 236, struct opal_status)
+#define IOC_OPAL_GET_LR_STATUS _IOW('p', 237, struct opal_lr_status)
+#define IOC_OPAL_GET_GEOMETRY _IOR('p', 238, struct opal_geometry)
+#define IOC_OPAL_DISCOVERY _IOW('p', 239, struct opal_discovery)
+#define IOC_OPAL_REVERT_LSP _IOW('p', 240, struct opal_revert_lsp)
 #endif
diff --git a/libc/kernel/uapi/linux/seg6.h b/libc/kernel/uapi/linux/seg6.h
index b8206cc..c1958c8 100644
--- a/libc/kernel/uapi/linux/seg6.h
+++ b/libc/kernel/uapi/linux/seg6.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SEG6_H
 #define _UAPI_LINUX_SEG6_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/seg6_genl.h b/libc/kernel/uapi/linux/seg6_genl.h
index bcd5f36..713842e 100644
--- a/libc/kernel/uapi/linux/seg6_genl.h
+++ b/libc/kernel/uapi/linux/seg6_genl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SEG6_GENL_H
 #define _UAPI_LINUX_SEG6_GENL_H
 #define SEG6_GENL_NAME "SEG6"
diff --git a/libc/kernel/uapi/linux/seg6_hmac.h b/libc/kernel/uapi/linux/seg6_hmac.h
index d5ef671..1d44e61 100644
--- a/libc/kernel/uapi/linux/seg6_hmac.h
+++ b/libc/kernel/uapi/linux/seg6_hmac.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SEG6_HMAC_H
 #define _UAPI_LINUX_SEG6_HMAC_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/seg6_iptunnel.h b/libc/kernel/uapi/linux/seg6_iptunnel.h
index 19d8ba4..74499f5 100644
--- a/libc/kernel/uapi/linux/seg6_iptunnel.h
+++ b/libc/kernel/uapi/linux/seg6_iptunnel.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SEG6_IPTUNNEL_H
 #define _UAPI_LINUX_SEG6_IPTUNNEL_H
 #include <linux/seg6.h>
diff --git a/libc/kernel/uapi/linux/seg6_local.h b/libc/kernel/uapi/linux/seg6_local.h
index 4d062e8..4ae2b2c 100644
--- a/libc/kernel/uapi/linux/seg6_local.h
+++ b/libc/kernel/uapi/linux/seg6_local.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SEG6_LOCAL_H
 #define _UAPI_LINUX_SEG6_LOCAL_H
 #include <linux/seg6.h>
diff --git a/libc/kernel/uapi/linux/selinux_netlink.h b/libc/kernel/uapi/linux/selinux_netlink.h
index 16d928d..d3c4e14 100644
--- a/libc/kernel/uapi/linux/selinux_netlink.h
+++ b/libc/kernel/uapi/linux/selinux_netlink.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_SELINUX_NETLINK_H
 #define _LINUX_SELINUX_NETLINK_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/sem.h b/libc/kernel/uapi/linux/sem.h
index c2f25e7..8b173a6 100644
--- a/libc/kernel/uapi/linux/sem.h
+++ b/libc/kernel/uapi/linux/sem.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SEM_H
 #define _UAPI_LINUX_SEM_H
 #include <linux/ipc.h>
diff --git a/libc/kernel/uapi/linux/serial.h b/libc/kernel/uapi/linux/serial.h
index 5a83c62..ed5ed66 100644
--- a/libc/kernel/uapi/linux/serial.h
+++ b/libc/kernel/uapi/linux/serial.h
@@ -1,23 +1,12 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SERIAL_H
 #define _UAPI_LINUX_SERIAL_H
+#include <linux/const.h>
 #include <linux/types.h>
 #include <linux/tty_flags.h>
 struct serial_struct {
@@ -91,14 +80,15 @@
 };
 struct serial_rs485 {
   __u32 flags;
-#define SER_RS485_ENABLED (1 << 0)
-#define SER_RS485_RTS_ON_SEND (1 << 1)
-#define SER_RS485_RTS_AFTER_SEND (1 << 2)
-#define SER_RS485_RX_DURING_TX (1 << 4)
-#define SER_RS485_TERMINATE_BUS (1 << 5)
-#define SER_RS485_ADDRB (1 << 6)
-#define SER_RS485_ADDR_RECV (1 << 7)
-#define SER_RS485_ADDR_DEST (1 << 8)
+#define SER_RS485_ENABLED _BITUL(0)
+#define SER_RS485_RTS_ON_SEND _BITUL(1)
+#define SER_RS485_RTS_AFTER_SEND _BITUL(2)
+#define SER_RS485_RX_DURING_TX _BITUL(4)
+#define SER_RS485_TERMINATE_BUS _BITUL(5)
+#define SER_RS485_ADDRB _BITUL(6)
+#define SER_RS485_ADDR_RECV _BITUL(7)
+#define SER_RS485_ADDR_DEST _BITUL(8)
+#define SER_RS485_MODE_RS422 _BITUL(9)
   __u32 delay_rts_before_send;
   __u32 delay_rts_after_send;
   union {
diff --git a/libc/kernel/uapi/linux/serial_core.h b/libc/kernel/uapi/linux/serial_core.h
index 1e04429..23b049a 100644
--- a/libc/kernel/uapi/linux/serial_core.h
+++ b/libc/kernel/uapi/linux/serial_core.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPILINUX_SERIAL_CORE_H
 #define _UAPILINUX_SERIAL_CORE_H
 #include <linux/serial.h>
@@ -59,32 +47,21 @@
 #define PORT_SCI 52
 #define PORT_SCIF 53
 #define PORT_IRDA 54
-#define PORT_S3C2410 55
 #define PORT_IP22ZILOG 56
-#define PORT_LH7A40X 57
 #define PORT_CPM 58
 #define PORT_MPC52xx 59
 #define PORT_ICOM 60
-#define PORT_S3C2440 61
 #define PORT_IMX 62
-#define PORT_MPSC 63
 #define PORT_TXX9 64
-#define PORT_S3C2400 67
-#define PORT_M32R_SIO 68
 #define PORT_JSM 69
 #define PORT_SUNHV 72
-#define PORT_S3C2412 73
 #define PORT_UARTLITE 74
-#define PORT_BFIN 75
+#define PORT_BCM7271 76
 #define PORT_SB1250_DUART 77
 #define PORT_MCF 78
-#define PORT_BFIN_SPORT 79
-#define PORT_MN10300 80
-#define PORT_MN10300_CTS 81
 #define PORT_SC26XX 82
 #define PORT_SCIFA 83
 #define PORT_S3C6400 84
-#define PORT_NWPSERIAL 85
 #define PORT_MAX3100 86
 #define PORT_TIMBUART 87
 #define PORT_MSM 88
@@ -99,18 +76,17 @@
 #define PORT_VT8500 97
 #define PORT_XUARTPS 98
 #define PORT_AR933X 99
+#define PORT_MCHP16550A 100
 #define PORT_ARC 101
 #define PORT_RP2 102
 #define PORT_LPUART 103
 #define PORT_HSCIF 104
 #define PORT_ASC 105
-#define PORT_TILEGX 106
 #define PORT_MEN_Z135 107
 #define PORT_SC16IS7XX 108
 #define PORT_MESON 109
 #define PORT_DIGICOLOR 110
 #define PORT_SPRD 111
-#define PORT_CRIS 112
 #define PORT_STM32 113
 #define PORT_MVEBU 114
 #define PORT_PIC32 115
@@ -122,4 +98,5 @@
 #define PORT_SUNIX 121
 #define PORT_LINFLEXUART 122
 #define PORT_SUNPLUS 123
+#define PORT_GENERIC (- 1)
 #endif
diff --git a/libc/kernel/uapi/linux/serial_reg.h b/libc/kernel/uapi/linux/serial_reg.h
index e41e649..7f53277 100644
--- a/libc/kernel/uapi/linux/serial_reg.h
+++ b/libc/kernel/uapi/linux/serial_reg.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_SERIAL_REG_H
 #define _LINUX_SERIAL_REG_H
 #define UART_RX 0
@@ -37,6 +25,12 @@
 #define UART_IIR_RX_TIMEOUT 0x0c
 #define UART_IIR_XOFF 0x10
 #define UART_IIR_CTS_RTS_DSR 0x20
+#define UART_IIR_64BYTE_FIFO 0x20
+#define UART_IIR_FIFO_ENABLED 0xc0
+#define UART_IIR_FIFO_ENABLED_8250 0x00
+#define UART_IIR_FIFO_ENABLED_16550 0x80
+#define UART_IIR_FIFO_ENABLED_16550A 0xc0
+#define UART_IIR_FIFO_ENABLED_16750 0xe0
 #define UART_FCR 2
 #define UART_FCR_ENABLE_FIFO 0x01
 #define UART_FCR_CLEAR_RCVR 0x02
diff --git a/libc/kernel/uapi/linux/serio.h b/libc/kernel/uapi/linux/serio.h
index 605a4e4..424144e 100644
--- a/libc/kernel/uapi/linux/serio.h
+++ b/libc/kernel/uapi/linux/serio.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_SERIO_H
 #define _UAPI_SERIO_H
 #include <linux/const.h>
diff --git a/libc/kernel/uapi/linux/sev-guest.h b/libc/kernel/uapi/linux/sev-guest.h
index 796479a..a722641 100644
--- a/libc/kernel/uapi/linux/sev-guest.h
+++ b/libc/kernel/uapi/linux/sev-guest.h
@@ -1,26 +1,15 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_LINUX_SEV_GUEST_H_
 #define __UAPI_LINUX_SEV_GUEST_H_
 #include <linux/types.h>
+#define SNP_REPORT_USER_DATA_SIZE 64
 struct snp_report_req {
-  __u8 user_data[64];
+  __u8 user_data[SNP_REPORT_USER_DATA_SIZE];
   __u32 vmpl;
   __u8 rsvd[28];
 };
@@ -42,7 +31,13 @@
   __u8 msg_version;
   __u64 req_data;
   __u64 resp_data;
-  __u64 fw_err;
+  union {
+    __u64 exitinfo2;
+    struct {
+      __u32 fw_error;
+      __u32 vmm_error;
+    };
+  };
 };
 struct snp_ext_report_req {
   struct snp_report_req data;
@@ -53,4 +48,11 @@
 #define SNP_GET_REPORT _IOWR(SNP_GUEST_REQ_IOC_TYPE, 0x0, struct snp_guest_request_ioctl)
 #define SNP_GET_DERIVED_KEY _IOWR(SNP_GUEST_REQ_IOC_TYPE, 0x1, struct snp_guest_request_ioctl)
 #define SNP_GET_EXT_REPORT _IOWR(SNP_GUEST_REQ_IOC_TYPE, 0x2, struct snp_guest_request_ioctl)
+#define SNP_GUEST_FW_ERR_MASK GENMASK_ULL(31, 0)
+#define SNP_GUEST_VMM_ERR_SHIFT 32
+#define SNP_GUEST_VMM_ERR(x) (((u64) x) << SNP_GUEST_VMM_ERR_SHIFT)
+#define SNP_GUEST_FW_ERR(x) ((x) & SNP_GUEST_FW_ERR_MASK)
+#define SNP_GUEST_ERR(vmm_err,fw_err) (SNP_GUEST_VMM_ERR(vmm_err) | SNP_GUEST_FW_ERR(fw_err))
+#define SNP_GUEST_VMM_ERR_INVALID_LEN 1
+#define SNP_GUEST_VMM_ERR_BUSY 2
 #endif
diff --git a/libc/kernel/uapi/linux/shm.h b/libc/kernel/uapi/linux/shm.h
index 72ee715..10b798a 100644
--- a/libc/kernel/uapi/linux/shm.h
+++ b/libc/kernel/uapi/linux/shm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SHM_H_
 #define _UAPI_LINUX_SHM_H_
 #include <linux/ipc.h>
diff --git a/libc/kernel/uapi/linux/signal.h b/libc/kernel/uapi/linux/signal.h
index dd00a32..1035b54 100644
--- a/libc/kernel/uapi/linux/signal.h
+++ b/libc/kernel/uapi/linux/signal.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SIGNAL_H
 #define _UAPI_LINUX_SIGNAL_H
 #include <asm/signal.h>
diff --git a/libc/kernel/uapi/linux/signalfd.h b/libc/kernel/uapi/linux/signalfd.h
index 5108ef0..928021f 100644
--- a/libc/kernel/uapi/linux/signalfd.h
+++ b/libc/kernel/uapi/linux/signalfd.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SIGNALFD_H
 #define _UAPI_LINUX_SIGNALFD_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/smc.h b/libc/kernel/uapi/linux/smc.h
index 200c9b6..5e75fac 100644
--- a/libc/kernel/uapi/linux/smc.h
+++ b/libc/kernel/uapi/linux/smc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SMC_H_
 #define _UAPI_LINUX_SMC_H_
 enum {
@@ -97,6 +85,8 @@
 enum {
   SMC_NLA_LGR_R_V2_UNSPEC,
   SMC_NLA_LGR_R_V2_DIRECT,
+  SMC_NLA_LGR_R_V2_MAX_CONNS,
+  SMC_NLA_LGR_R_V2_MAX_LINKS,
   __SMC_NLA_LGR_R_V2_MAX,
   SMC_NLA_LGR_R_V2_MAX = __SMC_NLA_LGR_R_V2_MAX - 1
 };
@@ -142,6 +132,8 @@
   SMC_NLA_LGR_D_CHID,
   SMC_NLA_LGR_D_PAD,
   SMC_NLA_LGR_D_V2_COMMON,
+  SMC_NLA_LGR_D_EXT_GID,
+  SMC_NLA_LGR_D_PEER_EXT_GID,
   __SMC_NLA_LGR_D_MAX,
   SMC_NLA_LGR_D_MAX = __SMC_NLA_LGR_D_MAX - 1
 };
diff --git a/libc/kernel/uapi/linux/smc_diag.h b/libc/kernel/uapi/linux/smc_diag.h
index 30e0fa2..b358acf 100644
--- a/libc/kernel/uapi/linux/smc_diag.h
+++ b/libc/kernel/uapi/linux/smc_diag.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_SMC_DIAG_H_
 #define _UAPI_SMC_DIAG_H_
 #include <linux/types.h>
@@ -97,5 +85,7 @@
   __aligned_u64 my_gid;
   __aligned_u64 token;
   __aligned_u64 peer_token;
+  __aligned_u64 peer_gid_ext;
+  __aligned_u64 my_gid_ext;
 };
 #endif
diff --git a/libc/kernel/uapi/linux/smiapp.h b/libc/kernel/uapi/linux/smiapp.h
index 3dd54cc..f04cee4 100644
--- a/libc/kernel/uapi/linux/smiapp.h
+++ b/libc/kernel/uapi/linux/smiapp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_LINUX_SMIAPP_H_
 #define __UAPI_LINUX_SMIAPP_H_
 #define V4L2_SMIAPP_TEST_PATTERN_MODE_DISABLED 0
diff --git a/libc/kernel/uapi/linux/snmp.h b/libc/kernel/uapi/linux/snmp.h
index e3d6ee3..0f72302 100644
--- a/libc/kernel/uapi/linux/snmp.h
+++ b/libc/kernel/uapi/linux/snmp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_SNMP_H
 #define _LINUX_SNMP_H
 enum {
@@ -24,7 +12,7 @@
   IPSTATS_MIB_INOCTETS,
   IPSTATS_MIB_INDELIVERS,
   IPSTATS_MIB_OUTFORWDATAGRAMS,
-  IPSTATS_MIB_OUTPKTS,
+  IPSTATS_MIB_OUTREQUESTS,
   IPSTATS_MIB_OUTOCTETS,
   IPSTATS_MIB_INHDRERRORS,
   IPSTATS_MIB_INTOOBIGERRORS,
@@ -56,6 +44,7 @@
   IPSTATS_MIB_ECT0PKTS,
   IPSTATS_MIB_CEPKTS,
   IPSTATS_MIB_REASM_OVERLAPS,
+  IPSTATS_MIB_OUTPKTS,
   __IPSTATS_MIB_MAX
 };
 enum {
@@ -87,6 +76,8 @@
   ICMP_MIB_OUTADDRMASKS,
   ICMP_MIB_OUTADDRMASKREPS,
   ICMP_MIB_CSUMERRORS,
+  ICMP_MIB_RATELIMITGLOBAL,
+  ICMP_MIB_RATELIMITHOST,
   __ICMP_MIB_MAX
 };
 #define __ICMPMSG_MIB_MAX 512
@@ -97,6 +88,7 @@
   ICMP6_MIB_OUTMSGS,
   ICMP6_MIB_OUTERRORS,
   ICMP6_MIB_CSUMERRORS,
+  ICMP6_MIB_RATELIMITHOST,
   __ICMP6_MIB_MAX
 };
 #define __ICMP6MSG_MIB_MAX 512
@@ -260,6 +252,11 @@
   LINUX_MIB_TCPMIGRATEREQSUCCESS,
   LINUX_MIB_TCPMIGRATEREQFAILURE,
   LINUX_MIB_TCPPLBREHASH,
+  LINUX_MIB_TCPAOREQUIRED,
+  LINUX_MIB_TCPAOBAD,
+  LINUX_MIB_TCPAOKEYNOTFOUND,
+  LINUX_MIB_TCPAOGOOD,
+  LINUX_MIB_TCPAODROPPEDICMPS,
   __LINUX_MIB_MAX
 };
 enum {
@@ -292,6 +289,8 @@
   LINUX_MIB_XFRMFWDHDRERROR,
   LINUX_MIB_XFRMOUTSTATEINVALID,
   LINUX_MIB_XFRMACQUIREERROR,
+  LINUX_MIB_XFRMOUTSTATEDIRERROR,
+  LINUX_MIB_XFRMINSTATEDIRERROR,
   __LINUX_MIB_XFRMMAX
 };
 enum {
diff --git a/libc/kernel/uapi/linux/sock_diag.h b/libc/kernel/uapi/linux/sock_diag.h
index a4e40d9..3430984 100644
--- a/libc/kernel/uapi/linux/sock_diag.h
+++ b/libc/kernel/uapi/linux/sock_diag.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__SOCK_DIAG_H__
 #define _UAPI__SOCK_DIAG_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/socket.h b/libc/kernel/uapi/linux/socket.h
index 4a530a8..27890a4 100644
--- a/libc/kernel/uapi/linux/socket.h
+++ b/libc/kernel/uapi/linux/socket.h
@@ -1,34 +1,14 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SOCKET_H
 #define _UAPI_LINUX_SOCKET_H
+#include <bits/sockaddr_storage.h>
 #define _K_SS_MAXSIZE 128
 typedef unsigned short __kernel_sa_family_t;
-struct __kernel_sockaddr_storage {
-  union {
-    struct {
-      __kernel_sa_family_t ss_family;
-      char __data[_K_SS_MAXSIZE - sizeof(unsigned short)];
-    };
-    void * __align;
-  };
-};
 #define SOCK_SNDBUF_LOCK 1
 #define SOCK_RCVBUF_LOCK 2
 #define SOCK_BUF_LOCK_MASK (SOCK_SNDBUF_LOCK | SOCK_RCVBUF_LOCK)
diff --git a/libc/kernel/uapi/linux/sockios.h b/libc/kernel/uapi/linux/sockios.h
index 2d13d93..4835e7c 100644
--- a/libc/kernel/uapi/linux/sockios.h
+++ b/libc/kernel/uapi/linux/sockios.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_SOCKIOS_H
 #define _LINUX_SOCKIOS_H
 #include <asm/bitsperlong.h>
diff --git a/libc/kernel/uapi/linux/sonet.h b/libc/kernel/uapi/linux/sonet.h
index ca10ec2..0064a68 100644
--- a/libc/kernel/uapi/linux/sonet.h
+++ b/libc/kernel/uapi/linux/sonet.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPILINUX_SONET_H
 #define _UAPILINUX_SONET_H
 #define __SONET_ITEMS __HANDLE_ITEM(section_bip); __HANDLE_ITEM(line_bip); __HANDLE_ITEM(path_bip); __HANDLE_ITEM(line_febe); __HANDLE_ITEM(path_febe); __HANDLE_ITEM(corr_hcs); __HANDLE_ITEM(uncorr_hcs); __HANDLE_ITEM(tx_cells); __HANDLE_ITEM(rx_cells);
diff --git a/libc/kernel/uapi/linux/sonypi.h b/libc/kernel/uapi/linux/sonypi.h
index 84befde..3f9ea20 100644
--- a/libc/kernel/uapi/linux/sonypi.h
+++ b/libc/kernel/uapi/linux/sonypi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_SONYPI_H_
 #define _UAPI_SONYPI_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/sound.h b/libc/kernel/uapi/linux/sound.h
index c303564..3459fe8 100644
--- a/libc/kernel/uapi/linux/sound.h
+++ b/libc/kernel/uapi/linux/sound.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SOUND_H
 #define _UAPI_LINUX_SOUND_H
 #include <linux/fs.h>
diff --git a/libc/kernel/uapi/linux/soundcard.h b/libc/kernel/uapi/linux/soundcard.h
index 1c345bd..7ae13b9 100644
--- a/libc/kernel/uapi/linux/soundcard.h
+++ b/libc/kernel/uapi/linux/soundcard.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPISOUNDCARD_H
 #define _UAPISOUNDCARD_H
 #define SOUND_VERSION 0x030802
diff --git a/libc/kernel/uapi/linux/spi/spi.h b/libc/kernel/uapi/linux/spi/spi.h
index 693e752..45c45cd 100644
--- a/libc/kernel/uapi/linux/spi/spi.h
+++ b/libc/kernel/uapi/linux/spi/spi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_SPI_H
 #define _UAPI_SPI_H
 #include <linux/const.h>
@@ -41,5 +29,6 @@
 #define SPI_RX_OCTAL _BITUL(14)
 #define SPI_3WIRE_HIZ _BITUL(15)
 #define SPI_RX_CPHA_FLIP _BITUL(16)
-#define SPI_MODE_USER_MASK (_BITUL(17) - 1)
+#define SPI_MOSI_IDLE_LOW _BITUL(17)
+#define SPI_MODE_USER_MASK (_BITUL(18) - 1)
 #endif
diff --git a/libc/kernel/uapi/linux/spi/spidev.h b/libc/kernel/uapi/linux/spi/spidev.h
index 19d1d84..2a9320e 100644
--- a/libc/kernel/uapi/linux/spi/spidev.h
+++ b/libc/kernel/uapi/linux/spi/spidev.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef SPIDEV_H
 #define SPIDEV_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/stat.h b/libc/kernel/uapi/linux/stat.h
index 89304ce..aae9ed4 100644
--- a/libc/kernel/uapi/linux/stat.h
+++ b/libc/kernel/uapi/linux/stat.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_STAT_H
 #define _UAPI_LINUX_STAT_H
 #include <linux/types.h>
@@ -80,7 +68,12 @@
   __u64 stx_mnt_id;
   __u32 stx_dio_mem_align;
   __u32 stx_dio_offset_align;
-  __u64 __spare3[12];
+  __u64 stx_subvol;
+  __u32 stx_atomic_write_unit_min;
+  __u32 stx_atomic_write_unit_max;
+  __u32 stx_atomic_write_segments_max;
+  __u32 __spare1[1];
+  __u64 __spare3[9];
 };
 #define STATX_TYPE 0x00000001U
 #define STATX_MODE 0x00000002U
@@ -97,6 +90,9 @@
 #define STATX_BTIME 0x00000800U
 #define STATX_MNT_ID 0x00001000U
 #define STATX_DIOALIGN 0x00002000U
+#define STATX_MNT_ID_UNIQUE 0x00004000U
+#define STATX_SUBVOL 0x00008000U
+#define STATX_WRITE_ATOMIC 0x00010000U
 #define STATX__RESERVED 0x80000000U
 #define STATX_ALL 0x00000fffU
 #define STATX_ATTR_COMPRESSED 0x00000004
@@ -108,4 +104,5 @@
 #define STATX_ATTR_MOUNT_ROOT 0x00002000
 #define STATX_ATTR_VERITY 0x00100000
 #define STATX_ATTR_DAX 0x00200000
+#define STATX_ATTR_WRITE_ATOMIC 0x00400000
 #endif
diff --git a/libc/kernel/uapi/linux/stddef.h b/libc/kernel/uapi/linux/stddef.h
index 6bc6925..dc37c6f 100644
--- a/libc/kernel/uapi/linux/stddef.h
+++ b/libc/kernel/uapi/linux/stddef.h
@@ -1,27 +1,28 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_STDDEF_H
 #define _UAPI_LINUX_STDDEF_H
 #include <linux/compiler_types.h>
 #ifndef __always_inline
 #define __always_inline inline
 #endif
-#define __struct_group(TAG,NAME,ATTRS,MEMBERS...) union { struct { MEMBERS } ATTRS; struct TAG { MEMBERS } ATTRS NAME; }
+#define __struct_group(TAG,NAME,ATTRS,MEMBERS...) union { struct { MEMBERS } ATTRS; struct TAG { MEMBERS } ATTRS NAME; } ATTRS
+#ifdef __cplusplus
+#define __DECLARE_FLEX_ARRAY(T,member) T member[0]
+#else
 #define __DECLARE_FLEX_ARRAY(TYPE,NAME) struct { struct { } __empty_ ##NAME; TYPE NAME[]; }
 #endif
+#ifndef __counted_by
+#define __counted_by(m)
+#endif
+#ifndef __counted_by_le
+#define __counted_by_le(m)
+#endif
+#ifndef __counted_by_be
+#define __counted_by_be(m)
+#endif
+#endif
diff --git a/libc/kernel/uapi/linux/stm.h b/libc/kernel/uapi/linux/stm.h
index b1453f7..4d65e4f 100644
--- a/libc/kernel/uapi/linux/stm.h
+++ b/libc/kernel/uapi/linux/stm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_STM_H
 #define _UAPI_LINUX_STM_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/string.h b/libc/kernel/uapi/linux/string.h
index 2ff62f2..53e2480 100644
--- a/libc/kernel/uapi/linux/string.h
+++ b/libc/kernel/uapi/linux/string.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_STRING_H_
 #define _UAPI_LINUX_STRING_H_
 #include <string.h>
diff --git a/libc/kernel/uapi/linux/sunrpc/debug.h b/libc/kernel/uapi/linux/sunrpc/debug.h
index 86c4d86..80eeefc 100644
--- a/libc/kernel/uapi/linux/sunrpc/debug.h
+++ b/libc/kernel/uapi/linux/sunrpc/debug.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SUNRPC_DEBUG_H_
 #define _UAPI_LINUX_SUNRPC_DEBUG_H_
 #define RPCDBG_XPRT 0x0001
diff --git a/libc/kernel/uapi/linux/surface_aggregator/cdev.h b/libc/kernel/uapi/linux/surface_aggregator/cdev.h
index 2e097f0..46ddec4 100644
--- a/libc/kernel/uapi/linux/surface_aggregator/cdev.h
+++ b/libc/kernel/uapi/linux/surface_aggregator/cdev.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SURFACE_AGGREGATOR_CDEV_H
 #define _UAPI_LINUX_SURFACE_AGGREGATOR_CDEV_H
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/linux/surface_aggregator/dtx.h b/libc/kernel/uapi/linux/surface_aggregator/dtx.h
index dde5ad3..e118e0d 100644
--- a/libc/kernel/uapi/linux/surface_aggregator/dtx.h
+++ b/libc/kernel/uapi/linux/surface_aggregator/dtx.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SURFACE_AGGREGATOR_DTX_H
 #define _UAPI_LINUX_SURFACE_AGGREGATOR_DTX_H
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/linux/suspend_ioctls.h b/libc/kernel/uapi/linux/suspend_ioctls.h
index b011d93..cabff2e 100644
--- a/libc/kernel/uapi/linux/suspend_ioctls.h
+++ b/libc/kernel/uapi/linux/suspend_ioctls.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_SUSPEND_IOCTLS_H
 #define _LINUX_SUSPEND_IOCTLS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/swab.h b/libc/kernel/uapi/linux/swab.h
index 332023a..5d240e1 100644
--- a/libc/kernel/uapi/linux/swab.h
+++ b/libc/kernel/uapi/linux/swab.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SWAB_H
 #define _UAPI_LINUX_SWAB_H
 #include <linux/types.h>
@@ -27,29 +15,14 @@
 #define ___constant_swab64(x) ((__u64) ((((__u64) (x) & (__u64) 0x00000000000000ffULL) << 56) | (((__u64) (x) & (__u64) 0x000000000000ff00ULL) << 40) | (((__u64) (x) & (__u64) 0x0000000000ff0000ULL) << 24) | (((__u64) (x) & (__u64) 0x00000000ff000000ULL) << 8) | (((__u64) (x) & (__u64) 0x000000ff00000000ULL) >> 8) | (((__u64) (x) & (__u64) 0x0000ff0000000000ULL) >> 24) | (((__u64) (x) & (__u64) 0x00ff000000000000ULL) >> 40) | (((__u64) (x) & (__u64) 0xff00000000000000ULL) >> 56)))
 #define ___constant_swahw32(x) ((__u32) ((((__u32) (x) & (__u32) 0x0000ffffUL) << 16) | (((__u32) (x) & (__u32) 0xffff0000UL) >> 16)))
 #define ___constant_swahb32(x) ((__u32) ((((__u32) (x) & (__u32) 0x00ff00ffUL) << 8) | (((__u32) (x) & (__u32) 0xff00ff00UL) >> 8)))
-#ifdef __arch_swab16
-#else
-#endif
-#ifdef __arch_swab32
-#else
-#endif
-#ifdef __arch_swab64
-#elif defined(__SWAB_64_THRU_32__)
+#ifdef __SWAB_64_THRU_32__
 #else
 #endif
 static inline __attribute__((__const__)) __u32 __fswahw32(__u32 val) {
-#ifdef __arch_swahw32
-  return __arch_swahw32(val);
-#else
   return ___constant_swahw32(val);
-#endif
 }
 static inline __attribute__((__const__)) __u32 __fswahb32(__u32 val) {
-#ifdef __arch_swahb32
-  return __arch_swahb32(val);
-#else
   return ___constant_swahb32(val);
-#endif
 }
 #define __swab16(x) (__u16) __builtin_bswap16((__u16) (x))
 #define __swab32(x) (__u32) __builtin_bswap32((__u32) (x))
@@ -60,73 +33,33 @@
 #define __swahw32(x) (__builtin_constant_p((__u32) (x)) ? ___constant_swahw32(x) : __fswahw32(x))
 #define __swahb32(x) (__builtin_constant_p((__u32) (x)) ? ___constant_swahb32(x) : __fswahb32(x))
 static __always_inline __u16 __swab16p(const __u16 * p) {
-#ifdef __arch_swab16p
-  return __arch_swab16p(p);
-#else
   return __swab16(* p);
-#endif
 }
 static __always_inline __u32 __swab32p(const __u32 * p) {
-#ifdef __arch_swab32p
-  return __arch_swab32p(p);
-#else
   return __swab32(* p);
-#endif
 }
 static __always_inline __u64 __swab64p(const __u64 * p) {
-#ifdef __arch_swab64p
-  return __arch_swab64p(p);
-#else
   return __swab64(* p);
-#endif
 }
 static inline __u32 __swahw32p(const __u32 * p) {
-#ifdef __arch_swahw32p
-  return __arch_swahw32p(p);
-#else
   return __swahw32(* p);
-#endif
 }
 static inline __u32 __swahb32p(const __u32 * p) {
-#ifdef __arch_swahb32p
-  return __arch_swahb32p(p);
-#else
   return __swahb32(* p);
-#endif
 }
 static inline void __swab16s(__u16 * p) {
-#ifdef __arch_swab16s
-  __arch_swab16s(p);
-#else
   * p = __swab16p(p);
-#endif
 }
 static __always_inline void __swab32s(__u32 * p) {
-#ifdef __arch_swab32s
-  __arch_swab32s(p);
-#else
   * p = __swab32p(p);
-#endif
 }
 static __always_inline void __swab64s(__u64 * p) {
-#ifdef __arch_swab64s
-  __arch_swab64s(p);
-#else
   * p = __swab64p(p);
-#endif
 }
 static inline void __swahw32s(__u32 * p) {
-#ifdef __arch_swahw32s
-  __arch_swahw32s(p);
-#else
   * p = __swahw32p(p);
-#endif
 }
 static inline void __swahb32s(__u32 * p) {
-#ifdef __arch_swahb32s
-  __arch_swahb32s(p);
-#else
   * p = __swahb32p(p);
-#endif
 }
 #endif
diff --git a/libc/kernel/uapi/linux/switchtec_ioctl.h b/libc/kernel/uapi/linux/switchtec_ioctl.h
index 204839d..e5a1b17 100644
--- a/libc/kernel/uapi/linux/switchtec_ioctl.h
+++ b/libc/kernel/uapi/linux/switchtec_ioctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SWITCHTEC_IOCTL_H
 #define _UAPI_LINUX_SWITCHTEC_IOCTL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/sync_file.h b/libc/kernel/uapi/linux/sync_file.h
index 497300e..bde8c16 100644
--- a/libc/kernel/uapi/linux/sync_file.h
+++ b/libc/kernel/uapi/linux/sync_file.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SYNC_H
 #define _UAPI_LINUX_SYNC_H
 #include <linux/ioctl.h>
@@ -42,7 +30,12 @@
   __u32 pad;
   __u64 sync_fence_info;
 };
+struct sync_set_deadline {
+  __u64 deadline_ns;
+  __u64 pad;
+};
 #define SYNC_IOC_MAGIC '>'
 #define SYNC_IOC_MERGE _IOWR(SYNC_IOC_MAGIC, 3, struct sync_merge_data)
 #define SYNC_IOC_FILE_INFO _IOWR(SYNC_IOC_MAGIC, 4, struct sync_file_info)
+#define SYNC_IOC_SET_DEADLINE _IOW(SYNC_IOC_MAGIC, 5, struct sync_set_deadline)
 #endif
diff --git a/libc/kernel/uapi/linux/synclink.h b/libc/kernel/uapi/linux/synclink.h
index ba8ecb9..d84f6c7 100644
--- a/libc/kernel/uapi/linux/synclink.h
+++ b/libc/kernel/uapi/linux/synclink.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_SYNCLINK_H_
 #define _UAPI_SYNCLINK_H_
 #define SYNCLINK_H_VERSION 3.6
diff --git a/libc/kernel/uapi/linux/sysctl.h b/libc/kernel/uapi/linux/sysctl.h
index 5714323..6768979 100644
--- a/libc/kernel/uapi/linux/sysctl.h
+++ b/libc/kernel/uapi/linux/sysctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SYSCTL_H
 #define _UAPI_LINUX_SYSCTL_H
 #include <linux/const.h>
diff --git a/libc/kernel/uapi/linux/sysinfo.h b/libc/kernel/uapi/linux/sysinfo.h
index 6501a8c..d9b54b0 100644
--- a/libc/kernel/uapi/linux/sysinfo.h
+++ b/libc/kernel/uapi/linux/sysinfo.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_SYSINFO_H
 #define _LINUX_SYSINFO_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/target_core_user.h b/libc/kernel/uapi/linux/target_core_user.h
index 83e155e..d363251 100644
--- a/libc/kernel/uapi/linux/target_core_user.h
+++ b/libc/kernel/uapi/linux/target_core_user.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __TARGET_CORE_USER_H
 #define __TARGET_CORE_USER_H
 #include <linux/types.h>
@@ -61,7 +49,7 @@
       __u64 cdb_off;
       __u64 __pad1;
       __u64 __pad2;
-      struct iovec iov[0];
+      __DECLARE_FLEX_ARRAY(struct iovec, iov);
     } req;
     struct {
       __u8 scsi_status;
diff --git a/libc/kernel/uapi/linux/taskstats.h b/libc/kernel/uapi/linux/taskstats.h
index c1cda52..4914b2f 100644
--- a/libc/kernel/uapi/linux/taskstats.h
+++ b/libc/kernel/uapi/linux/taskstats.h
@@ -1,25 +1,13 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_TASKSTATS_H
 #define _LINUX_TASKSTATS_H
 #include <linux/types.h>
-#define TASKSTATS_VERSION 13
+#define TASKSTATS_VERSION 14
 #define TS_COMM_LEN 32
 struct taskstats {
   __u16 version;
@@ -77,6 +65,8 @@
   __u64 ac_exe_inode;
   __u64 wpcopy_count;
   __u64 wpcopy_delay_total;
+  __u64 irq_count;
+  __u64 irq_delay_total;
 };
 enum {
   TASKSTATS_CMD_UNSPEC = 0,
diff --git a/libc/kernel/uapi/linux/tc_act/tc_bpf.h b/libc/kernel/uapi/linux/tc_act/tc_bpf.h
index 48094d4..a9d59af 100644
--- a/libc/kernel/uapi/linux/tc_act/tc_bpf.h
+++ b/libc/kernel/uapi/linux/tc_act/tc_bpf.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_TC_BPF_H
 #define __LINUX_TC_BPF_H
 #include <linux/pkt_cls.h>
diff --git a/libc/kernel/uapi/linux/tc_act/tc_connmark.h b/libc/kernel/uapi/linux/tc_act/tc_connmark.h
index 5fe979c..a38c351 100644
--- a/libc/kernel/uapi/linux/tc_act/tc_connmark.h
+++ b/libc/kernel/uapi/linux/tc_act/tc_connmark.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_TC_CONNMARK_H
 #define __UAPI_TC_CONNMARK_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/tc_act/tc_csum.h b/libc/kernel/uapi/linux/tc_act/tc_csum.h
index 1fcd00d..ce6b60a 100644
--- a/libc/kernel/uapi/linux/tc_act/tc_csum.h
+++ b/libc/kernel/uapi/linux/tc_act/tc_csum.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_TC_CSUM_H
 #define __LINUX_TC_CSUM_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/tc_act/tc_ct.h b/libc/kernel/uapi/linux/tc_act/tc_ct.h
index be83c60..9563d3e 100644
--- a/libc/kernel/uapi/linux/tc_act/tc_ct.h
+++ b/libc/kernel/uapi/linux/tc_act/tc_ct.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_TC_CT_H
 #define __UAPI_TC_CT_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/tc_act/tc_ctinfo.h b/libc/kernel/uapi/linux/tc_act/tc_ctinfo.h
index 18fdf60..ffccd3e 100644
--- a/libc/kernel/uapi/linux/tc_act/tc_ctinfo.h
+++ b/libc/kernel/uapi/linux/tc_act/tc_ctinfo.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_TC_CTINFO_H
 #define __UAPI_TC_CTINFO_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/tc_act/tc_defact.h b/libc/kernel/uapi/linux/tc_act/tc_defact.h
index f3fb529..40d8d55 100644
--- a/libc/kernel/uapi/linux/tc_act/tc_defact.h
+++ b/libc/kernel/uapi/linux/tc_act/tc_defact.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_TC_DEF_H
 #define __LINUX_TC_DEF_H
 #include <linux/pkt_cls.h>
diff --git a/libc/kernel/uapi/linux/tc_act/tc_gact.h b/libc/kernel/uapi/linux/tc_act/tc_gact.h
index ac96dff..39bf5a4 100644
--- a/libc/kernel/uapi/linux/tc_act/tc_gact.h
+++ b/libc/kernel/uapi/linux/tc_act/tc_gact.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_TC_GACT_H
 #define __LINUX_TC_GACT_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/tc_act/tc_gate.h b/libc/kernel/uapi/linux/tc_act/tc_gate.h
index f0a6412..dca6f29 100644
--- a/libc/kernel/uapi/linux/tc_act/tc_gate.h
+++ b/libc/kernel/uapi/linux/tc_act/tc_gate.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_TC_GATE_H
 #define __LINUX_TC_GATE_H
 #include <linux/pkt_cls.h>
diff --git a/libc/kernel/uapi/linux/tc_act/tc_ife.h b/libc/kernel/uapi/linux/tc_act/tc_ife.h
index 346ebac..61e88e4 100644
--- a/libc/kernel/uapi/linux/tc_act/tc_ife.h
+++ b/libc/kernel/uapi/linux/tc_act/tc_ife.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_TC_IFE_H
 #define __UAPI_TC_IFE_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/tc_act/tc_ipt.h b/libc/kernel/uapi/linux/tc_act/tc_ipt.h
deleted file mode 100644
index d578ce7..0000000
--- a/libc/kernel/uapi/linux/tc_act/tc_ipt.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef __LINUX_TC_IPT_H
-#define __LINUX_TC_IPT_H
-#include <linux/pkt_cls.h>
-enum {
-  TCA_IPT_UNSPEC,
-  TCA_IPT_TABLE,
-  TCA_IPT_HOOK,
-  TCA_IPT_INDEX,
-  TCA_IPT_CNT,
-  TCA_IPT_TM,
-  TCA_IPT_TARG,
-  TCA_IPT_PAD,
-  __TCA_IPT_MAX
-};
-#define TCA_IPT_MAX (__TCA_IPT_MAX - 1)
-#endif
diff --git a/libc/kernel/uapi/linux/tc_act/tc_mirred.h b/libc/kernel/uapi/linux/tc_act/tc_mirred.h
index af04d03..dc51bc7 100644
--- a/libc/kernel/uapi/linux/tc_act/tc_mirred.h
+++ b/libc/kernel/uapi/linux/tc_act/tc_mirred.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_TC_MIR_H
 #define __LINUX_TC_MIR_H
 #include <linux/types.h>
@@ -34,6 +22,7 @@
   TCA_MIRRED_TM,
   TCA_MIRRED_PARMS,
   TCA_MIRRED_PAD,
+  TCA_MIRRED_BLOCKID,
   __TCA_MIRRED_MAX
 };
 #define TCA_MIRRED_MAX (__TCA_MIRRED_MAX - 1)
diff --git a/libc/kernel/uapi/linux/tc_act/tc_mpls.h b/libc/kernel/uapi/linux/tc_act/tc_mpls.h
index 5e23fde..8a45549 100644
--- a/libc/kernel/uapi/linux/tc_act/tc_mpls.h
+++ b/libc/kernel/uapi/linux/tc_act/tc_mpls.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_TC_MPLS_H
 #define __LINUX_TC_MPLS_H
 #include <linux/pkt_cls.h>
diff --git a/libc/kernel/uapi/linux/tc_act/tc_nat.h b/libc/kernel/uapi/linux/tc_act/tc_nat.h
index 14aeffb..9f35f70 100644
--- a/libc/kernel/uapi/linux/tc_act/tc_nat.h
+++ b/libc/kernel/uapi/linux/tc_act/tc_nat.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_TC_NAT_H
 #define __LINUX_TC_NAT_H
 #include <linux/pkt_cls.h>
diff --git a/libc/kernel/uapi/linux/tc_act/tc_pedit.h b/libc/kernel/uapi/linux/tc_act/tc_pedit.h
index cb8bd22..9635370 100644
--- a/libc/kernel/uapi/linux/tc_act/tc_pedit.h
+++ b/libc/kernel/uapi/linux/tc_act/tc_pedit.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_TC_PED_H
 #define __LINUX_TC_PED_H
 #include <linux/types.h>
@@ -65,7 +53,7 @@
   tc_gen;
   unsigned char nkeys;
   unsigned char flags;
-  struct tc_pedit_key keys[0];
+  struct tc_pedit_key keys[] __counted_by(nkeys);
 };
 #define tc_pedit tc_pedit_sel
 #endif
diff --git a/libc/kernel/uapi/linux/tc_act/tc_sample.h b/libc/kernel/uapi/linux/tc_act/tc_sample.h
index 7d9a32e..80c86ed 100644
--- a/libc/kernel/uapi/linux/tc_act/tc_sample.h
+++ b/libc/kernel/uapi/linux/tc_act/tc_sample.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_TC_SAMPLE_H
 #define __LINUX_TC_SAMPLE_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/tc_act/tc_skbedit.h b/libc/kernel/uapi/linux/tc_act/tc_skbedit.h
index b041a6a..853c4ae 100644
--- a/libc/kernel/uapi/linux/tc_act/tc_skbedit.h
+++ b/libc/kernel/uapi/linux/tc_act/tc_skbedit.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_TC_SKBEDIT_H
 #define __LINUX_TC_SKBEDIT_H
 #include <linux/pkt_cls.h>
diff --git a/libc/kernel/uapi/linux/tc_act/tc_skbmod.h b/libc/kernel/uapi/linux/tc_act/tc_skbmod.h
index f0cd928..7eaea38 100644
--- a/libc/kernel/uapi/linux/tc_act/tc_skbmod.h
+++ b/libc/kernel/uapi/linux/tc_act/tc_skbmod.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_TC_SKBMOD_H
 #define __LINUX_TC_SKBMOD_H
 #include <linux/pkt_cls.h>
diff --git a/libc/kernel/uapi/linux/tc_act/tc_tunnel_key.h b/libc/kernel/uapi/linux/tc_act/tc_tunnel_key.h
index e137ae8..bca7cb5 100644
--- a/libc/kernel/uapi/linux/tc_act/tc_tunnel_key.h
+++ b/libc/kernel/uapi/linux/tc_act/tc_tunnel_key.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_TC_TUNNEL_KEY_H
 #define __LINUX_TC_TUNNEL_KEY_H
 #include <linux/pkt_cls.h>
@@ -40,6 +28,7 @@
   TCA_TUNNEL_KEY_ENC_OPTS,
   TCA_TUNNEL_KEY_ENC_TOS,
   TCA_TUNNEL_KEY_ENC_TTL,
+  TCA_TUNNEL_KEY_NO_FRAG,
   __TCA_TUNNEL_KEY_MAX,
 };
 #define TCA_TUNNEL_KEY_MAX (__TCA_TUNNEL_KEY_MAX - 1)
diff --git a/libc/kernel/uapi/linux/tc_act/tc_vlan.h b/libc/kernel/uapi/linux/tc_act/tc_vlan.h
index 004c7ae..c617ea7 100644
--- a/libc/kernel/uapi/linux/tc_act/tc_vlan.h
+++ b/libc/kernel/uapi/linux/tc_act/tc_vlan.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_TC_VLAN_H
 #define __LINUX_TC_VLAN_H
 #include <linux/pkt_cls.h>
diff --git a/libc/kernel/uapi/linux/tc_ematch/tc_em_cmp.h b/libc/kernel/uapi/linux/tc_ematch/tc_em_cmp.h
index 4e01cf5..e686bf2 100644
--- a/libc/kernel/uapi/linux/tc_ematch/tc_em_cmp.h
+++ b/libc/kernel/uapi/linux/tc_ematch/tc_em_cmp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_TC_EM_CMP_H
 #define __LINUX_TC_EM_CMP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/tc_ematch/tc_em_ipt.h b/libc/kernel/uapi/linux/tc_ematch/tc_em_ipt.h
index 8cd06ee..666c905 100644
--- a/libc/kernel/uapi/linux/tc_ematch/tc_em_ipt.h
+++ b/libc/kernel/uapi/linux/tc_ematch/tc_em_ipt.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_TC_EM_IPT_H
 #define __LINUX_TC_EM_IPT_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/tc_ematch/tc_em_meta.h b/libc/kernel/uapi/linux/tc_ematch/tc_em_meta.h
index 1b91cd1..fea9dc0 100644
--- a/libc/kernel/uapi/linux/tc_ematch/tc_em_meta.h
+++ b/libc/kernel/uapi/linux/tc_ematch/tc_em_meta.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_TC_EM_META_H
 #define __LINUX_TC_EM_META_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/tc_ematch/tc_em_nbyte.h b/libc/kernel/uapi/linux/tc_ematch/tc_em_nbyte.h
index cce2d2c..5489bed 100644
--- a/libc/kernel/uapi/linux/tc_ematch/tc_em_nbyte.h
+++ b/libc/kernel/uapi/linux/tc_ematch/tc_em_nbyte.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_TC_EM_NBYTE_H
 #define __LINUX_TC_EM_NBYTE_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/tc_ematch/tc_em_text.h b/libc/kernel/uapi/linux/tc_ematch/tc_em_text.h
index 9d0ab65..794c69a 100644
--- a/libc/kernel/uapi/linux/tc_ematch/tc_em_text.h
+++ b/libc/kernel/uapi/linux/tc_ematch/tc_em_text.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_TC_EM_TEXT_H
 #define __LINUX_TC_EM_TEXT_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/tcp.h b/libc/kernel/uapi/linux/tcp.h
index 7a93208..c71715c 100644
--- a/libc/kernel/uapi/linux/tcp.h
+++ b/libc/kernel/uapi/linux/tcp.h
@@ -1,42 +1,15 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_TCP_H
 #define _UAPI_LINUX_TCP_H
+#include <bits/tcphdr.h>
 #include <linux/types.h>
 #include <asm/byteorder.h>
 #include <linux/socket.h>
-struct tcphdr {
-  __be16 source;
-  __be16 dest;
-  __be32 seq;
-  __be32 ack_seq;
-#ifdef __LITTLE_ENDIAN_BITFIELD
-  __u16 res1 : 4, doff : 4, fin : 1, syn : 1, rst : 1, psh : 1, ack : 1, urg : 1, ece : 1, cwr : 1;
-#elif defined(__BIG_ENDIAN_BITFIELD)
-  __u16 doff : 4, res1 : 4, cwr : 1, ece : 1, urg : 1, ack : 1, psh : 1, rst : 1, syn : 1, fin : 1;
-#else
-#error "Adjust your <asm/byteorder.h> defines"
-#endif
-  __be16 window;
-  __sum16 check;
-  __be16 urg_ptr;
-};
 union tcp_word_hdr {
   struct tcphdr hdr;
   __be32 words[5];
@@ -93,6 +66,12 @@
 #define TCP_INQ 36
 #define TCP_CM_INQ TCP_INQ
 #define TCP_TX_DELAY 37
+#define TCP_AO_ADD_KEY 38
+#define TCP_AO_DEL_KEY 39
+#define TCP_AO_INFO 40
+#define TCP_AO_GET_KEYS 41
+#define TCP_AO_REPAIR 42
+#define TCP_IS_MPTCP 43
 #define TCP_REPAIR_ON 1
 #define TCP_REPAIR_OFF 0
 #define TCP_REPAIR_OFF_NO_WP - 1
@@ -125,6 +104,7 @@
 #define TCPI_OPT_ECN 8
 #define TCPI_OPT_ECN_SEEN 16
 #define TCPI_OPT_SYN_DATA 32
+#define TCPI_OPT_USEC_TS 64
 enum tcp_ca_state {
   TCP_CA_Open = 0,
 #define TCPF_CA_Open (1 << TCP_CA_Open)
@@ -194,6 +174,9 @@
   __u32 tcpi_snd_wnd;
   __u32 tcpi_rcv_wnd;
   __u32 tcpi_rehash;
+  __u16 tcpi_total_rto;
+  __u16 tcpi_total_rto_recoveries;
+  __u32 tcpi_total_rto_time;
 };
 enum {
   TCP_NLA_PAD,
@@ -229,7 +212,7 @@
 #define TCP_MD5SIG_FLAG_PREFIX 0x1
 #define TCP_MD5SIG_FLAG_IFINDEX 0x2
 struct tcp_md5sig {
-  struct __kernel_sockaddr_storage tcpm_addr;
+  struct sockaddr_storage tcpm_addr;
   __u8 tcpm_flags;
   __u8 tcpm_prefixlen;
   __u16 tcpm_keylen;
@@ -243,6 +226,68 @@
   __be32 tcpm_addr[4];
   __u8 tcpm_key[TCP_MD5SIG_MAXKEYLEN];
 };
+#define TCP_AO_MAXKEYLEN 80
+#define TCP_AO_KEYF_IFINDEX (1 << 0)
+#define TCP_AO_KEYF_EXCLUDE_OPT (1 << 1)
+struct tcp_ao_add {
+  struct sockaddr_storage addr;
+  char alg_name[64];
+  __s32 ifindex;
+  __u32 set_current : 1, set_rnext : 1, reserved : 30;
+  __u16 reserved2;
+  __u8 prefix;
+  __u8 sndid;
+  __u8 rcvid;
+  __u8 maclen;
+  __u8 keyflags;
+  __u8 keylen;
+  __u8 key[TCP_AO_MAXKEYLEN];
+} __attribute__((aligned(8)));
+struct tcp_ao_del {
+  struct sockaddr_storage addr;
+  __s32 ifindex;
+  __u32 set_current : 1, set_rnext : 1, del_async : 1, reserved : 29;
+  __u16 reserved2;
+  __u8 prefix;
+  __u8 sndid;
+  __u8 rcvid;
+  __u8 current_key;
+  __u8 rnext;
+  __u8 keyflags;
+} __attribute__((aligned(8)));
+struct tcp_ao_info_opt {
+  __u32 set_current : 1, set_rnext : 1, ao_required : 1, set_counters : 1, accept_icmps : 1, reserved : 27;
+  __u16 reserved2;
+  __u8 current_key;
+  __u8 rnext;
+  __u64 pkt_good;
+  __u64 pkt_bad;
+  __u64 pkt_key_not_found;
+  __u64 pkt_ao_required;
+  __u64 pkt_dropped_icmp;
+} __attribute__((aligned(8)));
+struct tcp_ao_getsockopt {
+  struct sockaddr_storage addr;
+  char alg_name[64];
+  __u8 key[TCP_AO_MAXKEYLEN];
+  __u32 nkeys;
+  __u16 is_current : 1, is_rnext : 1, get_all : 1, reserved : 13;
+  __u8 sndid;
+  __u8 rcvid;
+  __u8 prefix;
+  __u8 maclen;
+  __u8 keyflags;
+  __u8 keylen;
+  __s32 ifindex;
+  __u64 pkt_good;
+  __u64 pkt_bad;
+} __attribute__((aligned(8)));
+struct tcp_ao_repair {
+  __be32 snt_isn;
+  __be32 rcv_isn;
+  __u32 snd_sne;
+  __u32 rcv_sne;
+} __attribute__((aligned(8)));
 #define TCP_RECEIVE_ZEROCOPY_FLAG_TLB_CLEAN_HINT 0x1
 struct tcp_zerocopy_receive {
   __u64 address;
diff --git a/libc/kernel/uapi/linux/tcp_metrics.h b/libc/kernel/uapi/linux/tcp_metrics.h
index b9eb141..46ca141 100644
--- a/libc/kernel/uapi/linux/tcp_metrics.h
+++ b/libc/kernel/uapi/linux/tcp_metrics.h
@@ -1,23 +1,11 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef _LINUX_TCP_METRICS_H
-#define _LINUX_TCP_METRICS_H
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_LINUX_TCP_METRICS_H
+#define _UAPI_LINUX_TCP_METRICS_H
 #include <linux/types.h>
 #define TCP_METRICS_GENL_NAME "tcp_metrics"
 #define TCP_METRICS_GENL_VERSION 0x1
@@ -33,6 +21,17 @@
 };
 #define TCP_METRIC_MAX (__TCP_METRIC_MAX - 1)
 enum {
+  TCP_METRICS_A_METRICS_RTT = 1,
+  TCP_METRICS_A_METRICS_RTTVAR,
+  TCP_METRICS_A_METRICS_SSTHRESH,
+  TCP_METRICS_A_METRICS_CWND,
+  TCP_METRICS_A_METRICS_REODERING,
+  TCP_METRICS_A_METRICS_RTT_US,
+  TCP_METRICS_A_METRICS_RTTVAR_US,
+  __TCP_METRICS_A_METRICS_MAX
+};
+#define TCP_METRICS_A_METRICS_MAX (__TCP_METRICS_A_METRICS_MAX - 1)
+enum {
   TCP_METRICS_ATTR_UNSPEC,
   TCP_METRICS_ATTR_ADDR_IPV4,
   TCP_METRICS_ATTR_ADDR_IPV6,
diff --git a/libc/kernel/uapi/linux/tdx-guest.h b/libc/kernel/uapi/linux/tdx-guest.h
index 50f9c62..3e84a0d 100644
--- a/libc/kernel/uapi/linux/tdx-guest.h
+++ b/libc/kernel/uapi/linux/tdx-guest.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_TDX_GUEST_H_
 #define _UAPI_LINUX_TDX_GUEST_H_
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/linux/tee.h b/libc/kernel/uapi/linux/tee.h
index 404b7b2..6e4cff3 100644
--- a/libc/kernel/uapi/linux/tee.h
+++ b/libc/kernel/uapi/linux/tee.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __TEE_H
 #define __TEE_H
 #include <linux/ioctl.h>
@@ -30,6 +18,7 @@
 #define TEE_MEMREF_NULL (__u64) (- 1)
 #define TEE_IMPL_ID_OPTEE 1
 #define TEE_IMPL_ID_AMDTEE 2
+#define TEE_IMPL_ID_TSTEE 3
 #define TEE_OPTEE_CAP_TZ (1 << 0)
 struct tee_ioctl_version_data {
   __u32 impl_id;
diff --git a/libc/kernel/uapi/linux/termios.h b/libc/kernel/uapi/linux/termios.h
index cde4099..fb693e9 100644
--- a/libc/kernel/uapi/linux/termios.h
+++ b/libc/kernel/uapi/linux/termios.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_TERMIOS_H
 #define _LINUX_TERMIOS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/thermal.h b/libc/kernel/uapi/linux/thermal.h
index 2f9dccb..f9d67c5 100644
--- a/libc/kernel/uapi/linux/thermal.h
+++ b/libc/kernel/uapi/linux/thermal.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_THERMAL_H
 #define _UAPI_LINUX_THERMAL_H
 #define THERMAL_NAME_LENGTH 20
diff --git a/libc/kernel/uapi/linux/thp7312.h b/libc/kernel/uapi/linux/thp7312.h
new file mode 100644
index 0000000..fbd5571
--- /dev/null
+++ b/libc/kernel/uapi/linux/thp7312.h
@@ -0,0 +1,14 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef __UAPI_THP7312_H_
+#define __UAPI_THP7312_H_
+#include <linux/v4l2-controls.h>
+#define V4L2_CID_THP7312_LOW_LIGHT_COMPENSATION (V4L2_CID_USER_THP7312_BASE + 0x01)
+#define V4L2_CID_THP7312_AUTO_FOCUS_METHOD (V4L2_CID_USER_THP7312_BASE + 0x02)
+#define V4L2_CID_THP7312_NOISE_REDUCTION_AUTO (V4L2_CID_USER_THP7312_BASE + 0x03)
+#define V4L2_CID_THP7312_NOISE_REDUCTION_ABSOLUTE (V4L2_CID_USER_THP7312_BASE + 0x04)
+#endif
diff --git a/libc/kernel/uapi/linux/time.h b/libc/kernel/uapi/linux/time.h
index 55d0e6e..a10e586 100644
--- a/libc/kernel/uapi/linux/time.h
+++ b/libc/kernel/uapi/linux/time.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_TIME_H
 #define _UAPI_LINUX_TIME_H
 #include <bits/timespec.h>
diff --git a/libc/kernel/uapi/linux/time_types.h b/libc/kernel/uapi/linux/time_types.h
index 8c70a56..bca8698 100644
--- a/libc/kernel/uapi/linux/time_types.h
+++ b/libc/kernel/uapi/linux/time_types.h
@@ -1,23 +1,12 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_TIME_TYPES_H
 #define _UAPI_LINUX_TIME_TYPES_H
+#include <linux/time.h>
 #include <linux/types.h>
 struct __kernel_timespec {
   __kernel_time64_t tv_sec;
diff --git a/libc/kernel/uapi/linux/timerfd.h b/libc/kernel/uapi/linux/timerfd.h
index eaa415a..efc6219 100644
--- a/libc/kernel/uapi/linux/timerfd.h
+++ b/libc/kernel/uapi/linux/timerfd.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_TIMERFD_H
 #define _UAPI_LINUX_TIMERFD_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/times.h b/libc/kernel/uapi/linux/times.h
index b204b78..30e2e98 100644
--- a/libc/kernel/uapi/linux/times.h
+++ b/libc/kernel/uapi/linux/times.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_TIMES_H
 #define _LINUX_TIMES_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/timex.h b/libc/kernel/uapi/linux/timex.h
index 803eaec..1841e98 100644
--- a/libc/kernel/uapi/linux/timex.h
+++ b/libc/kernel/uapi/linux/timex.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_TIMEX_H
 #define _UAPI_LINUX_TIMEX_H
 #include <linux/time.h>
diff --git a/libc/kernel/uapi/linux/tiocl.h b/libc/kernel/uapi/linux/tiocl.h
index 4649607..c4297ad 100644
--- a/libc/kernel/uapi/linux/tiocl.h
+++ b/libc/kernel/uapi/linux/tiocl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_TIOCL_H
 #define _LINUX_TIOCL_H
 #define TIOCL_SETSEL 2
diff --git a/libc/kernel/uapi/linux/tipc.h b/libc/kernel/uapi/linux/tipc.h
index c66754c..2313af5 100644
--- a/libc/kernel/uapi/linux/tipc.h
+++ b/libc/kernel/uapi/linux/tipc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_TIPC_H_
 #define _LINUX_TIPC_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/tipc_config.h b/libc/kernel/uapi/linux/tipc_config.h
index c6ee1d1..cd781d9 100644
--- a/libc/kernel/uapi/linux/tipc_config.h
+++ b/libc/kernel/uapi/linux/tipc_config.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_TIPC_CONFIG_H_
 #define _LINUX_TIPC_CONFIG_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/tipc_netlink.h b/libc/kernel/uapi/linux/tipc_netlink.h
index 39be948..afc4518 100644
--- a/libc/kernel/uapi/linux/tipc_netlink.h
+++ b/libc/kernel/uapi/linux/tipc_netlink.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_TIPC_NETLINK_H_
 #define _LINUX_TIPC_NETLINK_H_
 #define TIPC_GENL_V2_NAME "TIPCv2"
diff --git a/libc/kernel/uapi/linux/tipc_sockets_diag.h b/libc/kernel/uapi/linux/tipc_sockets_diag.h
index 7d7d016..066d2ec 100644
--- a/libc/kernel/uapi/linux/tipc_sockets_diag.h
+++ b/libc/kernel/uapi/linux/tipc_sockets_diag.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__TIPC_SOCKETS_DIAG_H__
 #define _UAPI__TIPC_SOCKETS_DIAG_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/tls.h b/libc/kernel/uapi/linux/tls.h
index fcab74b..2720476 100644
--- a/libc/kernel/uapi/linux/tls.h
+++ b/libc/kernel/uapi/linux/tls.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_TLS_H
 #define _UAPI_LINUX_TLS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/toshiba.h b/libc/kernel/uapi/linux/toshiba.h
index 5b59d69..775efbb 100644
--- a/libc/kernel/uapi/linux/toshiba.h
+++ b/libc/kernel/uapi/linux/toshiba.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_TOSHIBA_H
 #define _UAPI_LINUX_TOSHIBA_H
 #define TOSH_PROC "/proc/toshiba"
diff --git a/libc/kernel/uapi/linux/tps6594_pfsm.h b/libc/kernel/uapi/linux/tps6594_pfsm.h
new file mode 100644
index 0000000..38788e0
--- /dev/null
+++ b/libc/kernel/uapi/linux/tps6594_pfsm.h
@@ -0,0 +1,24 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef __TPS6594_PFSM_H
+#define __TPS6594_PFSM_H
+#include <linux/const.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+struct pmic_state_opt {
+  __u8 gpio_retention;
+  __u8 ddr_retention;
+  __u8 mcu_only_startup_dest;
+};
+#define PMIC_BASE 'P'
+#define PMIC_GOTO_STANDBY _IO(PMIC_BASE, 0)
+#define PMIC_GOTO_LP_STANDBY _IO(PMIC_BASE, 1)
+#define PMIC_UPDATE_PGM _IO(PMIC_BASE, 2)
+#define PMIC_SET_ACTIVE_STATE _IO(PMIC_BASE, 3)
+#define PMIC_SET_MCU_ONLY_STATE _IOW(PMIC_BASE, 4, struct pmic_state_opt)
+#define PMIC_SET_RETENTION_STATE _IOW(PMIC_BASE, 5, struct pmic_state_opt)
+#endif
diff --git a/libc/kernel/uapi/linux/trace_mmap.h b/libc/kernel/uapi/linux/trace_mmap.h
new file mode 100644
index 0000000..e891a7e
--- /dev/null
+++ b/libc/kernel/uapi/linux/trace_mmap.h
@@ -0,0 +1,28 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _TRACE_MMAP_H_
+#define _TRACE_MMAP_H_
+#include <linux/types.h>
+struct trace_buffer_meta {
+  __u32 meta_page_size;
+  __u32 meta_struct_len;
+  __u32 subbuf_size;
+  __u32 nr_subbufs;
+  struct {
+    __u64 lost_events;
+    __u32 id;
+    __u32 read;
+  } reader;
+  __u64 flags;
+  __u64 entries;
+  __u64 overrun;
+  __u64 read;
+  __u64 Reserved1;
+  __u64 Reserved2;
+};
+#define TRACE_MMAP_IOCTL_GET_READER _IO('R', 0x20)
+#endif
diff --git a/libc/kernel/uapi/linux/tty.h b/libc/kernel/uapi/linux/tty.h
index a94e6e6..9faa842 100644
--- a/libc/kernel/uapi/linux/tty.h
+++ b/libc/kernel/uapi/linux/tty.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_TTY_H
 #define _UAPI_LINUX_TTY_H
 #define N_TTY 0
diff --git a/libc/kernel/uapi/linux/tty_flags.h b/libc/kernel/uapi/linux/tty_flags.h
index b8354cf..b916161 100644
--- a/libc/kernel/uapi/linux/tty_flags.h
+++ b/libc/kernel/uapi/linux/tty_flags.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_TTY_FLAGS_H
 #define _LINUX_TTY_FLAGS_H
 #define ASYNCB_HUP_NOTIFY 0
diff --git a/libc/kernel/uapi/linux/types.h b/libc/kernel/uapi/linux/types.h
index f41d676..2f57e85 100644
--- a/libc/kernel/uapi/linux/types.h
+++ b/libc/kernel/uapi/linux/types.h
@@ -1,26 +1,18 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_TYPES_H
 #define _UAPI_LINUX_TYPES_H
 #include <asm/types.h>
 #ifndef __ASSEMBLY__
 #include <linux/posix_types.h>
+#ifdef __SIZEOF_INT128__
+typedef __signed__ __int128 __s128 __attribute__((aligned(16)));
+typedef unsigned __int128 __u128 __attribute__((aligned(16)));
+#endif
 #define __bitwise
 #define __bitwise__ __bitwise
 typedef __u16 __bitwise __le16;
diff --git a/libc/kernel/uapi/linux/ublk_cmd.h b/libc/kernel/uapi/linux/ublk_cmd.h
index 8c9cbeb..8e7732b 100644
--- a/libc/kernel/uapi/linux/ublk_cmd.h
+++ b/libc/kernel/uapi/linux/ublk_cmd.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef USER_BLK_DRV_CMD_INC_H
 #define USER_BLK_DRV_CMD_INC_H
 #include <linux/types.h>
@@ -29,20 +17,54 @@
 #define UBLK_CMD_GET_PARAMS 0x09
 #define UBLK_CMD_START_USER_RECOVERY 0x10
 #define UBLK_CMD_END_USER_RECOVERY 0x11
+#define UBLK_CMD_GET_DEV_INFO2 0x12
+#define UBLK_U_CMD_GET_QUEUE_AFFINITY _IOR('u', UBLK_CMD_GET_QUEUE_AFFINITY, struct ublksrv_ctrl_cmd)
+#define UBLK_U_CMD_GET_DEV_INFO _IOR('u', UBLK_CMD_GET_DEV_INFO, struct ublksrv_ctrl_cmd)
+#define UBLK_U_CMD_ADD_DEV _IOWR('u', UBLK_CMD_ADD_DEV, struct ublksrv_ctrl_cmd)
+#define UBLK_U_CMD_DEL_DEV _IOWR('u', UBLK_CMD_DEL_DEV, struct ublksrv_ctrl_cmd)
+#define UBLK_U_CMD_START_DEV _IOWR('u', UBLK_CMD_START_DEV, struct ublksrv_ctrl_cmd)
+#define UBLK_U_CMD_STOP_DEV _IOWR('u', UBLK_CMD_STOP_DEV, struct ublksrv_ctrl_cmd)
+#define UBLK_U_CMD_SET_PARAMS _IOWR('u', UBLK_CMD_SET_PARAMS, struct ublksrv_ctrl_cmd)
+#define UBLK_U_CMD_GET_PARAMS _IOR('u', UBLK_CMD_GET_PARAMS, struct ublksrv_ctrl_cmd)
+#define UBLK_U_CMD_START_USER_RECOVERY _IOWR('u', UBLK_CMD_START_USER_RECOVERY, struct ublksrv_ctrl_cmd)
+#define UBLK_U_CMD_END_USER_RECOVERY _IOWR('u', UBLK_CMD_END_USER_RECOVERY, struct ublksrv_ctrl_cmd)
+#define UBLK_U_CMD_GET_DEV_INFO2 _IOR('u', UBLK_CMD_GET_DEV_INFO2, struct ublksrv_ctrl_cmd)
+#define UBLK_U_CMD_GET_FEATURES _IOR('u', 0x13, struct ublksrv_ctrl_cmd)
+#define UBLK_U_CMD_DEL_DEV_ASYNC _IOR('u', 0x14, struct ublksrv_ctrl_cmd)
+#define UBLK_FEATURES_LEN 8
 #define UBLK_IO_FETCH_REQ 0x20
 #define UBLK_IO_COMMIT_AND_FETCH_REQ 0x21
 #define UBLK_IO_NEED_GET_DATA 0x22
+#define UBLK_U_IO_FETCH_REQ _IOWR('u', UBLK_IO_FETCH_REQ, struct ublksrv_io_cmd)
+#define UBLK_U_IO_COMMIT_AND_FETCH_REQ _IOWR('u', UBLK_IO_COMMIT_AND_FETCH_REQ, struct ublksrv_io_cmd)
+#define UBLK_U_IO_NEED_GET_DATA _IOWR('u', UBLK_IO_NEED_GET_DATA, struct ublksrv_io_cmd)
 #define UBLK_IO_RES_OK 0
 #define UBLK_IO_RES_NEED_GET_DATA 1
 #define UBLK_IO_RES_ABORT (- ENODEV)
 #define UBLKSRV_CMD_BUF_OFFSET 0
 #define UBLKSRV_IO_BUF_OFFSET 0x80000000
 #define UBLK_MAX_QUEUE_DEPTH 4096
+#define UBLK_IO_BUF_OFF 0
+#define UBLK_IO_BUF_BITS 25
+#define UBLK_IO_BUF_BITS_MASK ((1ULL << UBLK_IO_BUF_BITS) - 1)
+#define UBLK_TAG_OFF UBLK_IO_BUF_BITS
+#define UBLK_TAG_BITS 16
+#define UBLK_TAG_BITS_MASK ((1ULL << UBLK_TAG_BITS) - 1)
+#define UBLK_QID_OFF (UBLK_TAG_OFF + UBLK_TAG_BITS)
+#define UBLK_QID_BITS 12
+#define UBLK_QID_BITS_MASK ((1ULL << UBLK_QID_BITS) - 1)
+#define UBLK_MAX_NR_QUEUES (1U << UBLK_QID_BITS)
+#define UBLKSRV_IO_BUF_TOTAL_BITS (UBLK_QID_OFF + UBLK_QID_BITS)
+#define UBLKSRV_IO_BUF_TOTAL_SIZE (1ULL << UBLKSRV_IO_BUF_TOTAL_BITS)
 #define UBLK_F_SUPPORT_ZERO_COPY (1ULL << 0)
 #define UBLK_F_URING_CMD_COMP_IN_TASK (1ULL << 1)
 #define UBLK_F_NEED_GET_DATA (1UL << 2)
 #define UBLK_F_USER_RECOVERY (1UL << 3)
 #define UBLK_F_USER_RECOVERY_REISSUE (1UL << 4)
+#define UBLK_F_UNPRIVILEGED_DEV (1UL << 5)
+#define UBLK_F_CMD_IOCTL_ENCODE (1UL << 6)
+#define UBLK_F_USER_COPY (1UL << 7)
+#define UBLK_F_ZONED (1ULL << 8)
 #define UBLK_S_DEV_DEAD 0
 #define UBLK_S_DEV_LIVE 1
 #define UBLK_S_DEV_QUIESCED 2
@@ -51,7 +73,10 @@
   __u16 queue_id;
   __u16 len;
   __u64 addr;
-  __u64 data[2];
+  __u64 data[1];
+  __u16 dev_path_len;
+  __u16 pad;
+  __u32 reserved;
 };
 struct ublksrv_ctrl_dev_info {
   __u16 nr_hw_queues;
@@ -64,7 +89,8 @@
   __u32 pad1;
   __u64 flags;
   __u64 ublksrv_flags;
-  __u64 reserved0;
+  __u32 owner_uid;
+  __u32 owner_gid;
   __u64 reserved1;
   __u64 reserved2;
 };
@@ -74,6 +100,13 @@
 #define UBLK_IO_OP_DISCARD 3
 #define UBLK_IO_OP_WRITE_SAME 4
 #define UBLK_IO_OP_WRITE_ZEROES 5
+#define UBLK_IO_OP_ZONE_OPEN 10
+#define UBLK_IO_OP_ZONE_CLOSE 11
+#define UBLK_IO_OP_ZONE_FINISH 12
+#define UBLK_IO_OP_ZONE_APPEND 13
+#define UBLK_IO_OP_ZONE_RESET_ALL 14
+#define UBLK_IO_OP_ZONE_RESET 15
+#define UBLK_IO_OP_REPORT_ZONES 18
 #define UBLK_IO_F_FAILFAST_DEV (1U << 8)
 #define UBLK_IO_F_FAILFAST_TRANSPORT (1U << 9)
 #define UBLK_IO_F_FAILFAST_DRIVER (1U << 10)
@@ -83,7 +116,10 @@
 #define UBLK_IO_F_SWAP (1U << 16)
 struct ublksrv_io_desc {
   __u32 op_flags;
-  __u32 nr_sectors;
+  union {
+    __u32 nr_sectors;
+    __u32 nr_zones;
+  };
   __u64 start_sector;
   __u64 addr;
 };
@@ -91,7 +127,10 @@
   __u16 q_id;
   __u16 tag;
   __s32 result;
-  __u64 addr;
+  union {
+    __u64 addr;
+    __u64 zone_append_lba;
+  };
 };
 struct ublk_param_basic {
 #define UBLK_ATTR_READ_ONLY (1 << 0)
@@ -116,12 +155,28 @@
   __u16 max_discard_segments;
   __u16 reserved0;
 };
+struct ublk_param_devt {
+  __u32 char_major;
+  __u32 char_minor;
+  __u32 disk_major;
+  __u32 disk_minor;
+};
+struct ublk_param_zoned {
+  __u32 max_open_zones;
+  __u32 max_active_zones;
+  __u32 max_zone_append_sectors;
+  __u8 reserved[20];
+};
 struct ublk_params {
   __u32 len;
 #define UBLK_PARAM_TYPE_BASIC (1 << 0)
 #define UBLK_PARAM_TYPE_DISCARD (1 << 1)
+#define UBLK_PARAM_TYPE_DEVT (1 << 2)
+#define UBLK_PARAM_TYPE_ZONED (1 << 3)
   __u32 types;
   struct ublk_param_basic basic;
   struct ublk_param_discard discard;
+  struct ublk_param_devt devt;
+  struct ublk_param_zoned zoned;
 };
 #endif
diff --git a/libc/kernel/uapi/linux/udf_fs_i.h b/libc/kernel/uapi/linux/udf_fs_i.h
index e175034..73af903 100644
--- a/libc/kernel/uapi/linux/udf_fs_i.h
+++ b/libc/kernel/uapi/linux/udf_fs_i.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UDF_FS_I_H
 #define _UDF_FS_I_H 1
 #define UDF_GETEASIZE _IOR('l', 0x40, int)
diff --git a/libc/kernel/uapi/linux/udmabuf.h b/libc/kernel/uapi/linux/udmabuf.h
index 70cf49f..1c99a05 100644
--- a/libc/kernel/uapi/linux/udmabuf.h
+++ b/libc/kernel/uapi/linux/udmabuf.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_UDMABUF_H
 #define _UAPI_LINUX_UDMABUF_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/udp.h b/libc/kernel/uapi/linux/udp.h
index 802c686..0367ad9 100644
--- a/libc/kernel/uapi/linux/udp.h
+++ b/libc/kernel/uapi/linux/udp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_UDP_H
 #define _UAPI_LINUX_UDP_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/uhid.h b/libc/kernel/uapi/linux/uhid.h
index 1d471f8..12e75bd 100644
--- a/libc/kernel/uapi/linux/uhid.h
+++ b/libc/kernel/uapi/linux/uhid.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UHID_H_
 #define __UHID_H_
 #include <linux/input.h>
diff --git a/libc/kernel/uapi/linux/uinput.h b/libc/kernel/uapi/linux/uinput.h
index 806f962..27e8ee5 100644
--- a/libc/kernel/uapi/linux/uinput.h
+++ b/libc/kernel/uapi/linux/uinput.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__UINPUT_H_
 #define _UAPI__UINPUT_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/uio.h b/libc/kernel/uapi/linux/uio.h
index 04814c7..70d6962 100644
--- a/libc/kernel/uapi/linux/uio.h
+++ b/libc/kernel/uapi/linux/uio.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_UIO_H
 #define _UAPI__LINUX_UIO_H
 #include <linux/compiler.h>
diff --git a/libc/kernel/uapi/linux/uleds.h b/libc/kernel/uapi/linux/uleds.h
index 5605b78..7ee60df 100644
--- a/libc/kernel/uapi/linux/uleds.h
+++ b/libc/kernel/uapi/linux/uleds.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__ULEDS_H_
 #define _UAPI__ULEDS_H_
 #define LED_MAX_NAME_SIZE 64
diff --git a/libc/kernel/uapi/linux/ultrasound.h b/libc/kernel/uapi/linux/ultrasound.h
index 1111891..9c44e75 100644
--- a/libc/kernel/uapi/linux/ultrasound.h
+++ b/libc/kernel/uapi/linux/ultrasound.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _ULTRASOUND_H_
 #define _ULTRASOUND_H_
 #define _GUS_NUMVOICES 0x00
diff --git a/libc/kernel/uapi/linux/um_timetravel.h b/libc/kernel/uapi/linux/um_timetravel.h
index 220324f..49eeb28 100644
--- a/libc/kernel/uapi/linux/um_timetravel.h
+++ b/libc/kernel/uapi/linux/um_timetravel.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_UM_TIMETRAVEL_H
 #define _UAPI_LINUX_UM_TIMETRAVEL_H
 #include <linux/types.h>
@@ -24,6 +12,15 @@
   __u32 seq;
   __u64 time;
 };
+#define UM_TIMETRAVEL_MAX_FDS 2
+enum um_timetravel_shared_mem_fds {
+  UM_TIMETRAVEL_SHARED_MEMFD,
+  UM_TIMETRAVEL_SHARED_LOGFD,
+  UM_TIMETRAVEL_SHARED_MAX_FDS,
+};
+enum um_timetravel_start_ack {
+  UM_TIMETRAVEL_START_ACK_ID = 0xffff,
+};
 enum um_timetravel_ops {
   UM_TIMETRAVEL_ACK = 0,
   UM_TIMETRAVEL_START = 1,
@@ -34,5 +31,36 @@
   UM_TIMETRAVEL_RUN = 6,
   UM_TIMETRAVEL_FREE_UNTIL = 7,
   UM_TIMETRAVEL_GET_TOD = 8,
+  UM_TIMETRAVEL_BROADCAST = 9,
+};
+#define UM_TIMETRAVEL_SCHEDSHM_VERSION 2
+enum um_timetravel_schedshm_cap {
+  UM_TIMETRAVEL_SCHEDSHM_CAP_TIME_SHARE = 0x1,
+};
+enum um_timetravel_schedshm_flags {
+  UM_TIMETRAVEL_SCHEDSHM_FLAGS_REQ_RUN = 0x1,
+};
+union um_timetravel_schedshm_client {
+  struct {
+    __u32 capa;
+    __u32 flags;
+    __u64 req_time;
+    __u64 name;
+  };
+  char reserve[128];
+};
+struct um_timetravel_schedshm {
+  union {
+    struct {
+      __u32 version;
+      __u32 len;
+      __u64 free_until;
+      __u64 current_time;
+      __u16 running_id;
+      __u16 max_clients;
+    };
+    char hdr[4096];
+  };
+  union um_timetravel_schedshm_client clients[];
 };
 #endif
diff --git a/libc/kernel/uapi/linux/un.h b/libc/kernel/uapi/linux/un.h
index fefbf5b..12cf622 100644
--- a/libc/kernel/uapi/linux/un.h
+++ b/libc/kernel/uapi/linux/un.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_UN_H
 #define _LINUX_UN_H
 #include <linux/socket.h>
diff --git a/libc/kernel/uapi/linux/unistd.h b/libc/kernel/uapi/linux/unistd.h
index 0ed4a0f..9001bba 100644
--- a/libc/kernel/uapi/linux/unistd.h
+++ b/libc/kernel/uapi/linux/unistd.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_UNISTD_H_
 #define _LINUX_UNISTD_H_
 #include <asm/unistd.h>
diff --git a/libc/kernel/uapi/linux/unix_diag.h b/libc/kernel/uapi/linux/unix_diag.h
index 4bcc47a..d97ed8e 100644
--- a/libc/kernel/uapi/linux/unix_diag.h
+++ b/libc/kernel/uapi/linux/unix_diag.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UNIX_DIAG_H__
 #define __UNIX_DIAG_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/usb/audio.h b/libc/kernel/uapi/linux/usb/audio.h
index bfda540..b69a2d5 100644
--- a/libc/kernel/uapi/linux/usb/audio.h
+++ b/libc/kernel/uapi/linux/usb/audio.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_USB_AUDIO_H
 #define _UAPI__LINUX_USB_AUDIO_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/usb/cdc-wdm.h b/libc/kernel/uapi/linux/usb/cdc-wdm.h
index 5a86268..b14104b 100644
--- a/libc/kernel/uapi/linux/usb/cdc-wdm.h
+++ b/libc/kernel/uapi/linux/usb/cdc-wdm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_USB_CDC_WDM_H
 #define _UAPI__LINUX_USB_CDC_WDM_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/usb/cdc.h b/libc/kernel/uapi/linux/usb/cdc.h
index bbfc4db..836b616 100644
--- a/libc/kernel/uapi/linux/usb/cdc.h
+++ b/libc/kernel/uapi/linux/usb/cdc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_LINUX_USB_CDC_H
 #define __UAPI_LINUX_USB_CDC_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/usb/ch11.h b/libc/kernel/uapi/linux/usb/ch11.h
index 55387fe..d876729 100644
--- a/libc/kernel/uapi/linux/usb/ch11.h
+++ b/libc/kernel/uapi/linux/usb/ch11.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_CH11_H
 #define __LINUX_CH11_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/usb/ch9.h b/libc/kernel/uapi/linux/usb/ch9.h
index 49eb5fa..6762773 100644
--- a/libc/kernel/uapi/linux/usb/ch9.h
+++ b/libc/kernel/uapi/linux/usb/ch9.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_USB_CH9_H
 #define _UAPI__LINUX_USB_CH9_H
 #include <linux/types.h>
@@ -203,7 +191,10 @@
 struct usb_string_descriptor {
   __u8 bLength;
   __u8 bDescriptorType;
-  __le16 wData[1];
+  union {
+    __le16 legacy_padding;
+    __DECLARE_FLEX_ARRAY(__le16, wData);
+  };
 } __attribute__((packed));
 struct usb_interface_descriptor {
   __u8 bLength;
@@ -295,6 +286,7 @@
 #define USB_OTG_SRP (1 << 0)
 #define USB_OTG_HNP (1 << 1)
 #define USB_OTG_ADP (1 << 2)
+#define USB_OTG_RSP (1 << 3)
 #define OTG_STS_SELECTOR 0xF000
 struct usb_debug_descriptor {
   __u8 bLength;
@@ -417,6 +409,16 @@
   __u8 ContainerID[16];
 } __attribute__((packed));
 #define USB_DT_USB_SS_CONTN_ID_SIZE 20
+#define USB_PLAT_DEV_CAP_TYPE 5
+struct usb_plat_dev_cap_descriptor {
+  __u8 bLength;
+  __u8 bDescriptorType;
+  __u8 bDevCapabilityType;
+  __u8 bReserved;
+  __u8 UUID[16];
+  __u8 CapabilityData[];
+} __attribute__((packed));
+#define USB_DT_USB_PLAT_DEV_CAP_SIZE(capability_data_size) (20 + capability_data_size)
 #define USB_SSP_CAP_TYPE 0xa
 struct usb_ssp_cap_descriptor {
   __u8 bLength;
@@ -431,7 +433,10 @@
 #define USB_SSP_MIN_RX_LANE_COUNT (0xf << 8)
 #define USB_SSP_MIN_TX_LANE_COUNT (0xf << 12)
   __le16 wReserved;
-  __le32 bmSublinkSpeedAttr[1];
+  union {
+    __le32 legacy_padding;
+    __DECLARE_FLEX_ARRAY(__le32, bmSublinkSpeedAttr);
+  };
 #define USB_SSP_SUBLINK_SPEED_SSID (0xf)
 #define USB_SSP_SUBLINK_SPEED_LSE (0x3 << 4)
 #define USB_SSP_SUBLINK_SPEED_LSE_BPS 0
diff --git a/libc/kernel/uapi/linux/usb/charger.h b/libc/kernel/uapi/linux/usb/charger.h
index e53f7d6..342bc74 100644
--- a/libc/kernel/uapi/linux/usb/charger.h
+++ b/libc/kernel/uapi/linux/usb/charger.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_USB_CHARGER_H
 #define _UAPI__LINUX_USB_CHARGER_H
 enum usb_charger_type {
diff --git a/libc/kernel/uapi/linux/usb/f_accessory.h b/libc/kernel/uapi/linux/usb/f_accessory.h
deleted file mode 100644
index d4c5efe..0000000
--- a/libc/kernel/uapi/linux/usb/f_accessory.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef _UAPI_LINUX_USB_F_ACCESSORY_H
-#define _UAPI_LINUX_USB_F_ACCESSORY_H
-#define USB_ACCESSORY_VENDOR_ID 0x18D1
-#define USB_ACCESSORY_PRODUCT_ID 0x2D00
-#define USB_ACCESSORY_ADB_PRODUCT_ID 0x2D01
-#define ACCESSORY_STRING_MANUFACTURER 0
-#define ACCESSORY_STRING_MODEL 1
-#define ACCESSORY_STRING_DESCRIPTION 2
-#define ACCESSORY_STRING_VERSION 3
-#define ACCESSORY_STRING_URI 4
-#define ACCESSORY_STRING_SERIAL 5
-#define ACCESSORY_GET_PROTOCOL 51
-#define ACCESSORY_SEND_STRING 52
-#define ACCESSORY_START 53
-#define ACCESSORY_REGISTER_HID 54
-#define ACCESSORY_UNREGISTER_HID 55
-#define ACCESSORY_SET_HID_REPORT_DESC 56
-#define ACCESSORY_SEND_HID_EVENT 57
-#define ACCESSORY_SET_AUDIO_MODE 58
-#define ACCESSORY_GET_STRING_MANUFACTURER _IOW('M', 1, char[256])
-#define ACCESSORY_GET_STRING_MODEL _IOW('M', 2, char[256])
-#define ACCESSORY_GET_STRING_DESCRIPTION _IOW('M', 3, char[256])
-#define ACCESSORY_GET_STRING_VERSION _IOW('M', 4, char[256])
-#define ACCESSORY_GET_STRING_URI _IOW('M', 5, char[256])
-#define ACCESSORY_GET_STRING_SERIAL _IOW('M', 6, char[256])
-#define ACCESSORY_IS_START_REQUESTED _IO('M', 7)
-#define ACCESSORY_GET_AUDIO_MODE _IO('M', 8)
-#endif
diff --git a/libc/kernel/uapi/linux/usb/functionfs.h b/libc/kernel/uapi/linux/usb/functionfs.h
index 7a5d1a2..095e937 100644
--- a/libc/kernel/uapi/linux/usb/functionfs.h
+++ b/libc/kernel/uapi/linux/usb/functionfs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_FUNCTIONFS_H__
 #define _UAPI__LINUX_FUNCTIONFS_H__
 #include <linux/types.h>
@@ -71,8 +59,9 @@
 struct usb_ext_compat_desc {
   __u8 bFirstInterfaceNumber;
   __u8 Reserved1;
-  __u8 CompatibleID[8];
+  __struct_group(, IDs,, __u8 CompatibleID[8];
   __u8 SubCompatibleID[8];
+ );
   __u8 Reserved2[6];
 };
 struct usb_ext_prop_desc {
@@ -80,6 +69,12 @@
   __le32 dwPropertyDataType;
   __le16 wPropertyNameLength;
 } __attribute__((packed));
+#define USB_FFS_DMABUF_TRANSFER_MASK 0x0
+struct usb_ffs_dmabuf_transfer_req {
+  int fd;
+  __u32 flags;
+  __u64 length;
+} __attribute__((packed));
 struct usb_functionfs_strings_head {
   __le32 magic;
   __le32 length;
@@ -108,4 +103,7 @@
 #define FUNCTIONFS_INTERFACE_REVMAP _IO('g', 128)
 #define FUNCTIONFS_ENDPOINT_REVMAP _IO('g', 129)
 #define FUNCTIONFS_ENDPOINT_DESC _IOR('g', 130, struct usb_endpoint_descriptor)
+#define FUNCTIONFS_DMABUF_ATTACH _IOW('g', 131, int)
+#define FUNCTIONFS_DMABUF_DETACH _IOW('g', 132, int)
+#define FUNCTIONFS_DMABUF_TRANSFER _IOW('g', 133, struct usb_ffs_dmabuf_transfer_req)
 #endif
diff --git a/libc/kernel/uapi/linux/usb/g_printer.h b/libc/kernel/uapi/linux/usb/g_printer.h
index 71200ed..dca14ff 100644
--- a/libc/kernel/uapi/linux/usb/g_printer.h
+++ b/libc/kernel/uapi/linux/usb/g_printer.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_USB_G_PRINTER_H
 #define __LINUX_USB_G_PRINTER_H
 #define PRINTER_NOT_ERROR 0x08
diff --git a/libc/kernel/uapi/linux/usb/g_uvc.h b/libc/kernel/uapi/linux/usb/g_uvc.h
index 40fad1d..ec81da4 100644
--- a/libc/kernel/uapi/linux/usb/g_uvc.h
+++ b/libc/kernel/uapi/linux/usb/g_uvc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_USB_G_UVC_H
 #define __LINUX_USB_G_UVC_H
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/linux/usb/gadgetfs.h b/libc/kernel/uapi/linux/usb/gadgetfs.h
index 7f45889..4fb6a71 100644
--- a/libc/kernel/uapi/linux/usb/gadgetfs.h
+++ b/libc/kernel/uapi/linux/usb/gadgetfs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_USB_GADGETFS_H
 #define __LINUX_USB_GADGETFS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/usb/midi.h b/libc/kernel/uapi/linux/usb/midi.h
index 0431e65..c8af04b 100644
--- a/libc/kernel/uapi/linux/usb/midi.h
+++ b/libc/kernel/uapi/linux/usb/midi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_USB_MIDI_H
 #define __LINUX_USB_MIDI_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/usb/raw_gadget.h b/libc/kernel/uapi/linux/usb/raw_gadget.h
index 8b60c8d..d09dc1d 100644
--- a/libc/kernel/uapi/linux/usb/raw_gadget.h
+++ b/libc/kernel/uapi/linux/usb/raw_gadget.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_USB_RAW_GADGET_H
 #define _UAPI__LINUX_USB_RAW_GADGET_H
 #include <asm/ioctl.h>
@@ -31,6 +19,10 @@
   USB_RAW_EVENT_INVALID = 0,
   USB_RAW_EVENT_CONNECT = 1,
   USB_RAW_EVENT_CONTROL = 2,
+  USB_RAW_EVENT_SUSPEND = 3,
+  USB_RAW_EVENT_RESUME = 4,
+  USB_RAW_EVENT_RESET = 5,
+  USB_RAW_EVENT_DISCONNECT = 6,
 };
 struct usb_raw_event {
   __u32 type;
diff --git a/libc/kernel/uapi/linux/usb/tmc.h b/libc/kernel/uapi/linux/usb/tmc.h
index b267290..05f8442 100644
--- a/libc/kernel/uapi/linux/usb/tmc.h
+++ b/libc/kernel/uapi/linux/usb/tmc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_USB_TMC_H
 #define __LINUX_USB_TMC_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/usb/video.h b/libc/kernel/uapi/linux/usb/video.h
index c3d360a..8b688e1 100644
--- a/libc/kernel/uapi/linux/usb/video.h
+++ b/libc/kernel/uapi/linux/usb/video.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_USB_VIDEO_H
 #define __LINUX_USB_VIDEO_H
 #include <linux/types.h>
@@ -139,6 +127,32 @@
 #define UVC_CONTROL_CAP_DISABLED (1 << 2)
 #define UVC_CONTROL_CAP_AUTOUPDATE (1 << 3)
 #define UVC_CONTROL_CAP_ASYNCHRONOUS (1 << 4)
+enum uvc_color_primaries_values {
+  UVC_COLOR_PRIMARIES_UNSPECIFIED,
+  UVC_COLOR_PRIMARIES_BT_709_SRGB,
+  UVC_COLOR_PRIMARIES_BT_470_2_M,
+  UVC_COLOR_PRIMARIES_BT_470_2_B_G,
+  UVC_COLOR_PRIMARIES_SMPTE_170M,
+  UVC_COLOR_PRIMARIES_SMPTE_240M,
+};
+enum uvc_transfer_characteristics_values {
+  UVC_TRANSFER_CHARACTERISTICS_UNSPECIFIED,
+  UVC_TRANSFER_CHARACTERISTICS_BT_709,
+  UVC_TRANSFER_CHARACTERISTICS_BT_470_2_M,
+  UVC_TRANSFER_CHARACTERISTICS_BT_470_2_B_G,
+  UVC_TRANSFER_CHARACTERISTICS_SMPTE_170M,
+  UVC_TRANSFER_CHARACTERISTICS_SMPTE_240M,
+  UVC_TRANSFER_CHARACTERISTICS_LINEAR,
+  UVC_TRANSFER_CHARACTERISTICS_SRGB,
+};
+enum uvc_matrix_coefficients {
+  UVC_MATRIX_COEFFICIENTS_UNSPECIFIED,
+  UVC_MATRIX_COEFFICIENTS_BT_709,
+  UVC_MATRIX_COEFFICIENTS_FCC,
+  UVC_MATRIX_COEFFICIENTS_BT_470_2_B_G,
+  UVC_MATRIX_COEFFICIENTS_SMPTE_170M,
+  UVC_MATRIX_COEFFICIENTS_SMPTE_240M,
+};
 struct uvc_descriptor_header {
   __u8 bLength;
   __u8 bDescriptorType;
diff --git a/libc/kernel/uapi/linux/usbdevice_fs.h b/libc/kernel/uapi/linux/usbdevice_fs.h
index af8681b..f77ebe3 100644
--- a/libc/kernel/uapi/linux/usbdevice_fs.h
+++ b/libc/kernel/uapi/linux/usbdevice_fs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_USBDEVICE_FS_H
 #define _UAPI_LINUX_USBDEVICE_FS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/usbip.h b/libc/kernel/uapi/linux/usbip.h
index b0c1067..3e96b8f 100644
--- a/libc/kernel/uapi/linux/usbip.h
+++ b/libc/kernel/uapi/linux/usbip.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_USBIP_H
 #define _UAPI_LINUX_USBIP_H
 enum usbip_device_status {
diff --git a/libc/kernel/uapi/linux/user_events.h b/libc/kernel/uapi/linux/user_events.h
new file mode 100644
index 0000000..37bf66b
--- /dev/null
+++ b/libc/kernel/uapi/linux/user_events.h
@@ -0,0 +1,40 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_LINUX_USER_EVENTS_H
+#define _UAPI_LINUX_USER_EVENTS_H
+#include <linux/types.h>
+#include <linux/ioctl.h>
+#define USER_EVENTS_SYSTEM "user_events"
+#define USER_EVENTS_MULTI_SYSTEM "user_events_multi"
+#define USER_EVENTS_PREFIX "u:"
+#define DYN_LOC(offset,size) ((size) << 16 | (offset))
+enum user_reg_flag {
+  USER_EVENT_REG_PERSIST = 1U << 0,
+  USER_EVENT_REG_MULTI_FORMAT = 1U << 1,
+  USER_EVENT_REG_MAX = 1U << 2,
+};
+struct user_reg {
+  __u32 size;
+  __u8 enable_bit;
+  __u8 enable_size;
+  __u16 flags;
+  __u64 enable_addr;
+  __u64 name_args;
+  __u32 write_index;
+} __attribute__((__packed__));
+struct user_unreg {
+  __u32 size;
+  __u8 disable_bit;
+  __u8 __reserved;
+  __u16 __reserved2;
+  __u64 disable_addr;
+} __attribute__((__packed__));
+#define DIAG_IOC_MAGIC '*'
+#define DIAG_IOCSREG _IOWR(DIAG_IOC_MAGIC, 0, struct user_reg *)
+#define DIAG_IOCSDEL _IOW(DIAG_IOC_MAGIC, 1, char *)
+#define DIAG_IOCSUNREG _IOW(DIAG_IOC_MAGIC, 2, struct user_unreg *)
+#endif
diff --git a/libc/kernel/uapi/linux/userfaultfd.h b/libc/kernel/uapi/linux/userfaultfd.h
index 09e0d80..1dc2d79 100644
--- a/libc/kernel/uapi/linux/userfaultfd.h
+++ b/libc/kernel/uapi/linux/userfaultfd.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_USERFAULTFD_H
 #define _LINUX_USERFAULTFD_H
 #include <linux/types.h>
@@ -23,17 +11,19 @@
 #define USERFAULTFD_IOC_NEW _IO(USERFAULTFD_IOC, 0x00)
 #define UFFD_API ((__u64) 0xAA)
 #define UFFD_API_REGISTER_MODES (UFFDIO_REGISTER_MODE_MISSING | UFFDIO_REGISTER_MODE_WP | UFFDIO_REGISTER_MODE_MINOR)
-#define UFFD_API_FEATURES (UFFD_FEATURE_PAGEFAULT_FLAG_WP | UFFD_FEATURE_EVENT_FORK | UFFD_FEATURE_EVENT_REMAP | UFFD_FEATURE_EVENT_REMOVE | UFFD_FEATURE_EVENT_UNMAP | UFFD_FEATURE_MISSING_HUGETLBFS | UFFD_FEATURE_MISSING_SHMEM | UFFD_FEATURE_SIGBUS | UFFD_FEATURE_THREAD_ID | UFFD_FEATURE_MINOR_HUGETLBFS | UFFD_FEATURE_MINOR_SHMEM | UFFD_FEATURE_EXACT_ADDRESS | UFFD_FEATURE_WP_HUGETLBFS_SHMEM)
+#define UFFD_API_FEATURES (UFFD_FEATURE_PAGEFAULT_FLAG_WP | UFFD_FEATURE_EVENT_FORK | UFFD_FEATURE_EVENT_REMAP | UFFD_FEATURE_EVENT_REMOVE | UFFD_FEATURE_EVENT_UNMAP | UFFD_FEATURE_MISSING_HUGETLBFS | UFFD_FEATURE_MISSING_SHMEM | UFFD_FEATURE_SIGBUS | UFFD_FEATURE_THREAD_ID | UFFD_FEATURE_MINOR_HUGETLBFS | UFFD_FEATURE_MINOR_SHMEM | UFFD_FEATURE_EXACT_ADDRESS | UFFD_FEATURE_WP_HUGETLBFS_SHMEM | UFFD_FEATURE_WP_UNPOPULATED | UFFD_FEATURE_POISON | UFFD_FEATURE_WP_ASYNC | UFFD_FEATURE_MOVE)
 #define UFFD_API_IOCTLS ((__u64) 1 << _UFFDIO_REGISTER | (__u64) 1 << _UFFDIO_UNREGISTER | (__u64) 1 << _UFFDIO_API)
-#define UFFD_API_RANGE_IOCTLS ((__u64) 1 << _UFFDIO_WAKE | (__u64) 1 << _UFFDIO_COPY | (__u64) 1 << _UFFDIO_ZEROPAGE | (__u64) 1 << _UFFDIO_WRITEPROTECT | (__u64) 1 << _UFFDIO_CONTINUE)
-#define UFFD_API_RANGE_IOCTLS_BASIC ((__u64) 1 << _UFFDIO_WAKE | (__u64) 1 << _UFFDIO_COPY | (__u64) 1 << _UFFDIO_CONTINUE | (__u64) 1 << _UFFDIO_WRITEPROTECT)
+#define UFFD_API_RANGE_IOCTLS ((__u64) 1 << _UFFDIO_WAKE | (__u64) 1 << _UFFDIO_COPY | (__u64) 1 << _UFFDIO_ZEROPAGE | (__u64) 1 << _UFFDIO_MOVE | (__u64) 1 << _UFFDIO_WRITEPROTECT | (__u64) 1 << _UFFDIO_CONTINUE | (__u64) 1 << _UFFDIO_POISON)
+#define UFFD_API_RANGE_IOCTLS_BASIC ((__u64) 1 << _UFFDIO_WAKE | (__u64) 1 << _UFFDIO_COPY | (__u64) 1 << _UFFDIO_WRITEPROTECT | (__u64) 1 << _UFFDIO_CONTINUE | (__u64) 1 << _UFFDIO_POISON)
 #define _UFFDIO_REGISTER (0x00)
 #define _UFFDIO_UNREGISTER (0x01)
 #define _UFFDIO_WAKE (0x02)
 #define _UFFDIO_COPY (0x03)
 #define _UFFDIO_ZEROPAGE (0x04)
+#define _UFFDIO_MOVE (0x05)
 #define _UFFDIO_WRITEPROTECT (0x06)
 #define _UFFDIO_CONTINUE (0x07)
+#define _UFFDIO_POISON (0x08)
 #define _UFFDIO_API (0x3F)
 #define UFFDIO 0xAA
 #define UFFDIO_API _IOWR(UFFDIO, _UFFDIO_API, struct uffdio_api)
@@ -42,8 +32,10 @@
 #define UFFDIO_WAKE _IOR(UFFDIO, _UFFDIO_WAKE, struct uffdio_range)
 #define UFFDIO_COPY _IOWR(UFFDIO, _UFFDIO_COPY, struct uffdio_copy)
 #define UFFDIO_ZEROPAGE _IOWR(UFFDIO, _UFFDIO_ZEROPAGE, struct uffdio_zeropage)
+#define UFFDIO_MOVE _IOWR(UFFDIO, _UFFDIO_MOVE, struct uffdio_move)
 #define UFFDIO_WRITEPROTECT _IOWR(UFFDIO, _UFFDIO_WRITEPROTECT, struct uffdio_writeprotect)
 #define UFFDIO_CONTINUE _IOWR(UFFDIO, _UFFDIO_CONTINUE, struct uffdio_continue)
+#define UFFDIO_POISON _IOWR(UFFDIO, _UFFDIO_POISON, struct uffdio_poison)
 struct uffd_msg {
   __u8 event;
   __u8 reserved1;
@@ -99,6 +91,10 @@
 #define UFFD_FEATURE_MINOR_SHMEM (1 << 10)
 #define UFFD_FEATURE_EXACT_ADDRESS (1 << 11)
 #define UFFD_FEATURE_WP_HUGETLBFS_SHMEM (1 << 12)
+#define UFFD_FEATURE_WP_UNPOPULATED (1 << 13)
+#define UFFD_FEATURE_POISON (1 << 14)
+#define UFFD_FEATURE_WP_ASYNC (1 << 15)
+#define UFFD_FEATURE_MOVE (1 << 16)
   __u64 features;
   __u64 ioctls;
 };
@@ -138,8 +134,24 @@
 struct uffdio_continue {
   struct uffdio_range range;
 #define UFFDIO_CONTINUE_MODE_DONTWAKE ((__u64) 1 << 0)
+#define UFFDIO_CONTINUE_MODE_WP ((__u64) 1 << 1)
   __u64 mode;
   __s64 mapped;
 };
+struct uffdio_poison {
+  struct uffdio_range range;
+#define UFFDIO_POISON_MODE_DONTWAKE ((__u64) 1 << 0)
+  __u64 mode;
+  __s64 updated;
+};
+struct uffdio_move {
+  __u64 dst;
+  __u64 src;
+  __u64 len;
+#define UFFDIO_MOVE_MODE_DONTWAKE ((__u64) 1 << 0)
+#define UFFDIO_MOVE_MODE_ALLOW_SRC_HOLES ((__u64) 1 << 1)
+  __u64 mode;
+  __s64 move;
+};
 #define UFFD_USER_MODE_ONLY 1
 #endif
diff --git a/libc/kernel/uapi/linux/userio.h b/libc/kernel/uapi/linux/userio.h
index c1040f8..abcbb3c 100644
--- a/libc/kernel/uapi/linux/userio.h
+++ b/libc/kernel/uapi/linux/userio.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _USERIO_H
 #define _USERIO_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/utime.h b/libc/kernel/uapi/linux/utime.h
index 8ed98b9..70deee9 100644
--- a/libc/kernel/uapi/linux/utime.h
+++ b/libc/kernel/uapi/linux/utime.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_UTIME_H
 #define _LINUX_UTIME_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/utsname.h b/libc/kernel/uapi/linux/utsname.h
index f4356d3..520f695 100644
--- a/libc/kernel/uapi/linux/utsname.h
+++ b/libc/kernel/uapi/linux/utsname.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_UTSNAME_H
 #define _UAPI_LINUX_UTSNAME_H
 #define __OLD_UTS_LEN 8
diff --git a/libc/kernel/uapi/linux/uuid.h b/libc/kernel/uapi/linux/uuid.h
index d0f82c1..75140d2 100644
--- a/libc/kernel/uapi/linux/uuid.h
+++ b/libc/kernel/uapi/linux/uuid.h
@@ -1,31 +1,7 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#ifndef _UAPI_LINUX_UUID_H_
-#define _UAPI_LINUX_UUID_H_
-#include <linux/types.h>
-typedef struct {
-  __u8 b[16];
-} guid_t;
-#define GUID_INIT(a,b,c,d0,d1,d2,d3,d4,d5,d6,d7) \
-((guid_t) \
-{ { (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, (b) & 0xff, ((b) >> 8) & 0xff, (c) & 0xff, ((c) >> 8) & 0xff, (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) } })
-typedef guid_t uuid_le;
-#define UUID_LE(a,b,c,d0,d1,d2,d3,d4,d5,d6,d7) GUID_INIT(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7)
-#define NULL_UUID_LE UUID_LE(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00)
-#endif
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#include <linux/mei_uuid.h>
diff --git a/libc/kernel/uapi/linux/uvcvideo.h b/libc/kernel/uapi/linux/uvcvideo.h
index f15ed78..cdaf6a5 100644
--- a/libc/kernel/uapi/linux/uvcvideo.h
+++ b/libc/kernel/uapi/linux/uvcvideo.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_UVCVIDEO_H_
 #define __LINUX_UVCVIDEO_H_
 #include <linux/ioctl.h>
@@ -36,9 +24,10 @@
 #define UVC_CTRL_FLAG_AUTO_UPDATE (1 << 7)
 #define UVC_CTRL_FLAG_ASYNCHRONOUS (1 << 8)
 #define UVC_CTRL_FLAG_GET_RANGE (UVC_CTRL_FLAG_GET_CUR | UVC_CTRL_FLAG_GET_MIN | UVC_CTRL_FLAG_GET_MAX | UVC_CTRL_FLAG_GET_RES | UVC_CTRL_FLAG_GET_DEF)
+#define UVC_MENU_NAME_LEN 32
 struct uvc_menu_info {
   __u32 value;
-  __u8 name[32];
+  __u8 name[UVC_MENU_NAME_LEN];
 };
 struct uvc_xu_control_mapping {
   __u32 id;
diff --git a/libc/kernel/uapi/linux/v4l2-common.h b/libc/kernel/uapi/linux/v4l2-common.h
index 021be85..91f30e7 100644
--- a/libc/kernel/uapi/linux/v4l2-common.h
+++ b/libc/kernel/uapi/linux/v4l2-common.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __V4L2_COMMON__
 #define __V4L2_COMMON__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/v4l2-controls.h b/libc/kernel/uapi/linux/v4l2-controls.h
index a6e70c0..f6ef26c 100644
--- a/libc/kernel/uapi/linux/v4l2-controls.h
+++ b/libc/kernel/uapi/linux/v4l2-controls.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_V4L2_CONTROLS_H
 #define __LINUX_V4L2_CONTROLS_H
 #include <linux/const.h>
@@ -122,6 +110,8 @@
 #define V4L2_CID_USER_ISL7998X_BASE (V4L2_CID_USER_BASE + 0x1180)
 #define V4L2_CID_USER_DW100_BASE (V4L2_CID_USER_BASE + 0x1190)
 #define V4L2_CID_USER_ASPEED_BASE (V4L2_CID_USER_BASE + 0x11a0)
+#define V4L2_CID_USER_NPCM_BASE (V4L2_CID_USER_BASE + 0x11b0)
+#define V4L2_CID_USER_THP7312_BASE (V4L2_CID_USER_BASE + 0x11c0)
 #define V4L2_CID_CODEC_BASE (V4L2_CTRL_CLASS_CODEC | 0x900)
 #define V4L2_CID_CODEC_CLASS (V4L2_CTRL_CLASS_CODEC | 1)
 #define V4L2_CID_MPEG_STREAM_TYPE (V4L2_CID_CODEC_BASE + 0)
@@ -691,6 +681,40 @@
 #define V4L2_CID_MPEG_VIDEO_HEVC_B_FRAME_MAX_QP (V4L2_CID_CODEC_BASE + 652)
 #define V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY (V4L2_CID_CODEC_BASE + 653)
 #define V4L2_CID_MPEG_VIDEO_DEC_DISPLAY_DELAY_ENABLE (V4L2_CID_CODEC_BASE + 654)
+#define V4L2_CID_MPEG_VIDEO_AV1_PROFILE (V4L2_CID_CODEC_BASE + 655)
+enum v4l2_mpeg_video_av1_profile {
+  V4L2_MPEG_VIDEO_AV1_PROFILE_MAIN = 0,
+  V4L2_MPEG_VIDEO_AV1_PROFILE_HIGH = 1,
+  V4L2_MPEG_VIDEO_AV1_PROFILE_PROFESSIONAL = 2,
+};
+#define V4L2_CID_MPEG_VIDEO_AV1_LEVEL (V4L2_CID_CODEC_BASE + 656)
+enum v4l2_mpeg_video_av1_level {
+  V4L2_MPEG_VIDEO_AV1_LEVEL_2_0 = 0,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_2_1 = 1,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_2_2 = 2,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_2_3 = 3,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_3_0 = 4,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_3_1 = 5,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_3_2 = 6,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_3_3 = 7,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_4_0 = 8,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_4_1 = 9,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_4_2 = 10,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_4_3 = 11,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_5_0 = 12,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_5_1 = 13,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_5_2 = 14,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_5_3 = 15,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_6_0 = 16,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_6_1 = 17,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_6_2 = 18,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_6_3 = 19,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_7_0 = 20,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_7_1 = 21,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_7_2 = 22,
+  V4L2_MPEG_VIDEO_AV1_LEVEL_7_3 = 23
+};
+#define V4L2_CID_MPEG_VIDEO_AVERAGE_QP (V4L2_CID_CODEC_BASE + 657)
 #define V4L2_CID_CODEC_CX2341X_BASE (V4L2_CTRL_CLASS_CODEC | 0x1000)
 #define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE (V4L2_CID_CODEC_CX2341X_BASE + 0)
 enum v4l2_mpeg_cx2341x_video_spatial_filter_mode {
@@ -1520,7 +1544,8 @@
   __u8 poc_st_curr_before[V4L2_HEVC_DPB_ENTRIES_NUM_MAX];
   __u8 poc_st_curr_after[V4L2_HEVC_DPB_ENTRIES_NUM_MAX];
   __u8 poc_lt_curr[V4L2_HEVC_DPB_ENTRIES_NUM_MAX];
-  __u8 reserved[4];
+  __u8 num_delta_pocs_of_ref_rps_idx;
+  __u8 reserved[3];
   struct v4l2_hevc_dpb_entry dpb[V4L2_HEVC_DPB_ENTRIES_NUM_MAX];
   __u64 flags;
 };
@@ -1684,6 +1709,271 @@
   __u8 partition[16][3];
   struct v4l2_vp9_mv_probs mv;
 };
+#define V4L2_AV1_TOTAL_REFS_PER_FRAME 8
+#define V4L2_AV1_CDEF_MAX 8
+#define V4L2_AV1_NUM_PLANES_MAX 3
+#define V4L2_AV1_MAX_SEGMENTS 8
+#define V4L2_AV1_MAX_OPERATING_POINTS (1 << 5)
+#define V4L2_AV1_REFS_PER_FRAME 7
+#define V4L2_AV1_MAX_NUM_Y_POINTS (1 << 4)
+#define V4L2_AV1_MAX_NUM_CB_POINTS (1 << 4)
+#define V4L2_AV1_MAX_NUM_CR_POINTS (1 << 4)
+#define V4L2_AV1_AR_COEFFS_SIZE 25
+#define V4L2_AV1_MAX_NUM_PLANES 3
+#define V4L2_AV1_MAX_TILE_COLS 64
+#define V4L2_AV1_MAX_TILE_ROWS 64
+#define V4L2_AV1_MAX_TILE_COUNT 512
+#define V4L2_AV1_SEQUENCE_FLAG_STILL_PICTURE 0x00000001
+#define V4L2_AV1_SEQUENCE_FLAG_USE_128X128_SUPERBLOCK 0x00000002
+#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_FILTER_INTRA 0x00000004
+#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_INTRA_EDGE_FILTER 0x00000008
+#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_INTERINTRA_COMPOUND 0x00000010
+#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_MASKED_COMPOUND 0x00000020
+#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_WARPED_MOTION 0x00000040
+#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_DUAL_FILTER 0x00000080
+#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_ORDER_HINT 0x00000100
+#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_JNT_COMP 0x00000200
+#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_REF_FRAME_MVS 0x00000400
+#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_SUPERRES 0x00000800
+#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_CDEF 0x00001000
+#define V4L2_AV1_SEQUENCE_FLAG_ENABLE_RESTORATION 0x00002000
+#define V4L2_AV1_SEQUENCE_FLAG_MONO_CHROME 0x00004000
+#define V4L2_AV1_SEQUENCE_FLAG_COLOR_RANGE 0x00008000
+#define V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_X 0x00010000
+#define V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_Y 0x00020000
+#define V4L2_AV1_SEQUENCE_FLAG_FILM_GRAIN_PARAMS_PRESENT 0x00040000
+#define V4L2_AV1_SEQUENCE_FLAG_SEPARATE_UV_DELTA_Q 0x00080000
+#define V4L2_CID_STATELESS_AV1_SEQUENCE (V4L2_CID_CODEC_STATELESS_BASE + 500)
+struct v4l2_ctrl_av1_sequence {
+  __u32 flags;
+  __u8 seq_profile;
+  __u8 order_hint_bits;
+  __u8 bit_depth;
+  __u8 reserved;
+  __u16 max_frame_width_minus_1;
+  __u16 max_frame_height_minus_1;
+};
+#define V4L2_CID_STATELESS_AV1_TILE_GROUP_ENTRY (V4L2_CID_CODEC_STATELESS_BASE + 501)
+struct v4l2_ctrl_av1_tile_group_entry {
+  __u32 tile_offset;
+  __u32 tile_size;
+  __u32 tile_row;
+  __u32 tile_col;
+};
+enum v4l2_av1_warp_model {
+  V4L2_AV1_WARP_MODEL_IDENTITY = 0,
+  V4L2_AV1_WARP_MODEL_TRANSLATION = 1,
+  V4L2_AV1_WARP_MODEL_ROTZOOM = 2,
+  V4L2_AV1_WARP_MODEL_AFFINE = 3,
+};
+enum v4l2_av1_reference_frame {
+  V4L2_AV1_REF_INTRA_FRAME = 0,
+  V4L2_AV1_REF_LAST_FRAME = 1,
+  V4L2_AV1_REF_LAST2_FRAME = 2,
+  V4L2_AV1_REF_LAST3_FRAME = 3,
+  V4L2_AV1_REF_GOLDEN_FRAME = 4,
+  V4L2_AV1_REF_BWDREF_FRAME = 5,
+  V4L2_AV1_REF_ALTREF2_FRAME = 6,
+  V4L2_AV1_REF_ALTREF_FRAME = 7,
+};
+#define V4L2_AV1_GLOBAL_MOTION_IS_INVALID(ref) (1 << (ref))
+#define V4L2_AV1_GLOBAL_MOTION_FLAG_IS_GLOBAL 0x1
+#define V4L2_AV1_GLOBAL_MOTION_FLAG_IS_ROT_ZOOM 0x2
+#define V4L2_AV1_GLOBAL_MOTION_FLAG_IS_TRANSLATION 0x4
+struct v4l2_av1_global_motion {
+  __u8 flags[V4L2_AV1_TOTAL_REFS_PER_FRAME];
+  enum v4l2_av1_warp_model type[V4L2_AV1_TOTAL_REFS_PER_FRAME];
+  __s32 params[V4L2_AV1_TOTAL_REFS_PER_FRAME][6];
+  __u8 invalid;
+  __u8 reserved[3];
+};
+enum v4l2_av1_frame_restoration_type {
+  V4L2_AV1_FRAME_RESTORE_NONE = 0,
+  V4L2_AV1_FRAME_RESTORE_WIENER = 1,
+  V4L2_AV1_FRAME_RESTORE_SGRPROJ = 2,
+  V4L2_AV1_FRAME_RESTORE_SWITCHABLE = 3,
+};
+#define V4L2_AV1_LOOP_RESTORATION_FLAG_USES_LR 0x1
+#define V4L2_AV1_LOOP_RESTORATION_FLAG_USES_CHROMA_LR 0x2
+struct v4l2_av1_loop_restoration {
+  __u8 flags;
+  __u8 lr_unit_shift;
+  __u8 lr_uv_shift;
+  __u8 reserved;
+  enum v4l2_av1_frame_restoration_type frame_restoration_type[V4L2_AV1_NUM_PLANES_MAX];
+  __u32 loop_restoration_size[V4L2_AV1_MAX_NUM_PLANES];
+};
+struct v4l2_av1_cdef {
+  __u8 damping_minus_3;
+  __u8 bits;
+  __u8 y_pri_strength[V4L2_AV1_CDEF_MAX];
+  __u8 y_sec_strength[V4L2_AV1_CDEF_MAX];
+  __u8 uv_pri_strength[V4L2_AV1_CDEF_MAX];
+  __u8 uv_sec_strength[V4L2_AV1_CDEF_MAX];
+};
+#define V4L2_AV1_SEGMENTATION_FLAG_ENABLED 0x1
+#define V4L2_AV1_SEGMENTATION_FLAG_UPDATE_MAP 0x2
+#define V4L2_AV1_SEGMENTATION_FLAG_TEMPORAL_UPDATE 0x4
+#define V4L2_AV1_SEGMENTATION_FLAG_UPDATE_DATA 0x8
+#define V4L2_AV1_SEGMENTATION_FLAG_SEG_ID_PRE_SKIP 0x10
+enum v4l2_av1_segment_feature {
+  V4L2_AV1_SEG_LVL_ALT_Q = 0,
+  V4L2_AV1_SEG_LVL_ALT_LF_Y_V = 1,
+  V4L2_AV1_SEG_LVL_REF_FRAME = 5,
+  V4L2_AV1_SEG_LVL_REF_SKIP = 6,
+  V4L2_AV1_SEG_LVL_REF_GLOBALMV = 7,
+  V4L2_AV1_SEG_LVL_MAX = 8
+};
+#define V4L2_AV1_SEGMENT_FEATURE_ENABLED(id) (1 << (id))
+struct v4l2_av1_segmentation {
+  __u8 flags;
+  __u8 last_active_seg_id;
+  __u8 feature_enabled[V4L2_AV1_MAX_SEGMENTS];
+  __s16 feature_data[V4L2_AV1_MAX_SEGMENTS][V4L2_AV1_SEG_LVL_MAX];
+};
+#define V4L2_AV1_LOOP_FILTER_FLAG_DELTA_ENABLED 0x1
+#define V4L2_AV1_LOOP_FILTER_FLAG_DELTA_UPDATE 0x2
+#define V4L2_AV1_LOOP_FILTER_FLAG_DELTA_LF_PRESENT 0x4
+#define V4L2_AV1_LOOP_FILTER_FLAG_DELTA_LF_MULTI 0x8
+struct v4l2_av1_loop_filter {
+  __u8 flags;
+  __u8 level[4];
+  __u8 sharpness;
+  __s8 ref_deltas[V4L2_AV1_TOTAL_REFS_PER_FRAME];
+  __s8 mode_deltas[2];
+  __u8 delta_lf_res;
+};
+#define V4L2_AV1_QUANTIZATION_FLAG_DIFF_UV_DELTA 0x1
+#define V4L2_AV1_QUANTIZATION_FLAG_USING_QMATRIX 0x2
+#define V4L2_AV1_QUANTIZATION_FLAG_DELTA_Q_PRESENT 0x4
+struct v4l2_av1_quantization {
+  __u8 flags;
+  __u8 base_q_idx;
+  __s8 delta_q_y_dc;
+  __s8 delta_q_u_dc;
+  __s8 delta_q_u_ac;
+  __s8 delta_q_v_dc;
+  __s8 delta_q_v_ac;
+  __u8 qm_y;
+  __u8 qm_u;
+  __u8 qm_v;
+  __u8 delta_q_res;
+};
+#define V4L2_AV1_TILE_INFO_FLAG_UNIFORM_TILE_SPACING 0x1
+struct v4l2_av1_tile_info {
+  __u8 flags;
+  __u8 context_update_tile_id;
+  __u8 tile_cols;
+  __u8 tile_rows;
+  __u32 mi_col_starts[V4L2_AV1_MAX_TILE_COLS + 1];
+  __u32 mi_row_starts[V4L2_AV1_MAX_TILE_ROWS + 1];
+  __u32 width_in_sbs_minus_1[V4L2_AV1_MAX_TILE_COLS];
+  __u32 height_in_sbs_minus_1[V4L2_AV1_MAX_TILE_ROWS];
+  __u8 tile_size_bytes;
+  __u8 reserved[3];
+};
+enum v4l2_av1_frame_type {
+  V4L2_AV1_KEY_FRAME = 0,
+  V4L2_AV1_INTER_FRAME = 1,
+  V4L2_AV1_INTRA_ONLY_FRAME = 2,
+  V4L2_AV1_SWITCH_FRAME = 3
+};
+enum v4l2_av1_interpolation_filter {
+  V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP = 0,
+  V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SMOOTH = 1,
+  V4L2_AV1_INTERPOLATION_FILTER_EIGHTTAP_SHARP = 2,
+  V4L2_AV1_INTERPOLATION_FILTER_BILINEAR = 3,
+  V4L2_AV1_INTERPOLATION_FILTER_SWITCHABLE = 4,
+};
+enum v4l2_av1_tx_mode {
+  V4L2_AV1_TX_MODE_ONLY_4X4 = 0,
+  V4L2_AV1_TX_MODE_LARGEST = 1,
+  V4L2_AV1_TX_MODE_SELECT = 2
+};
+#define V4L2_AV1_FRAME_FLAG_SHOW_FRAME 0x00000001
+#define V4L2_AV1_FRAME_FLAG_SHOWABLE_FRAME 0x00000002
+#define V4L2_AV1_FRAME_FLAG_ERROR_RESILIENT_MODE 0x00000004
+#define V4L2_AV1_FRAME_FLAG_DISABLE_CDF_UPDATE 0x00000008
+#define V4L2_AV1_FRAME_FLAG_ALLOW_SCREEN_CONTENT_TOOLS 0x00000010
+#define V4L2_AV1_FRAME_FLAG_FORCE_INTEGER_MV 0x00000020
+#define V4L2_AV1_FRAME_FLAG_ALLOW_INTRABC 0x00000040
+#define V4L2_AV1_FRAME_FLAG_USE_SUPERRES 0x00000080
+#define V4L2_AV1_FRAME_FLAG_ALLOW_HIGH_PRECISION_MV 0x00000100
+#define V4L2_AV1_FRAME_FLAG_IS_MOTION_MODE_SWITCHABLE 0x00000200
+#define V4L2_AV1_FRAME_FLAG_USE_REF_FRAME_MVS 0x00000400
+#define V4L2_AV1_FRAME_FLAG_DISABLE_FRAME_END_UPDATE_CDF 0x00000800
+#define V4L2_AV1_FRAME_FLAG_ALLOW_WARPED_MOTION 0x00001000
+#define V4L2_AV1_FRAME_FLAG_REFERENCE_SELECT 0x00002000
+#define V4L2_AV1_FRAME_FLAG_REDUCED_TX_SET 0x00004000
+#define V4L2_AV1_FRAME_FLAG_SKIP_MODE_ALLOWED 0x00008000
+#define V4L2_AV1_FRAME_FLAG_SKIP_MODE_PRESENT 0x00010000
+#define V4L2_AV1_FRAME_FLAG_FRAME_SIZE_OVERRIDE 0x00020000
+#define V4L2_AV1_FRAME_FLAG_BUFFER_REMOVAL_TIME_PRESENT 0x00040000
+#define V4L2_AV1_FRAME_FLAG_FRAME_REFS_SHORT_SIGNALING 0x00080000
+#define V4L2_CID_STATELESS_AV1_FRAME (V4L2_CID_CODEC_STATELESS_BASE + 502)
+struct v4l2_ctrl_av1_frame {
+  struct v4l2_av1_tile_info tile_info;
+  struct v4l2_av1_quantization quantization;
+  __u8 superres_denom;
+  struct v4l2_av1_segmentation segmentation;
+  struct v4l2_av1_loop_filter loop_filter;
+  struct v4l2_av1_cdef cdef;
+  __u8 skip_mode_frame[2];
+  __u8 primary_ref_frame;
+  struct v4l2_av1_loop_restoration loop_restoration;
+  struct v4l2_av1_global_motion global_motion;
+  __u32 flags;
+  enum v4l2_av1_frame_type frame_type;
+  __u32 order_hint;
+  __u32 upscaled_width;
+  enum v4l2_av1_interpolation_filter interpolation_filter;
+  enum v4l2_av1_tx_mode tx_mode;
+  __u32 frame_width_minus_1;
+  __u32 frame_height_minus_1;
+  __u16 render_width_minus_1;
+  __u16 render_height_minus_1;
+  __u32 current_frame_id;
+  __u32 buffer_removal_time[V4L2_AV1_MAX_OPERATING_POINTS];
+  __u8 reserved[4];
+  __u32 order_hints[V4L2_AV1_TOTAL_REFS_PER_FRAME];
+  __u64 reference_frame_ts[V4L2_AV1_TOTAL_REFS_PER_FRAME];
+  __s8 ref_frame_idx[V4L2_AV1_REFS_PER_FRAME];
+  __u8 refresh_frame_flags;
+};
+#define V4L2_AV1_FILM_GRAIN_FLAG_APPLY_GRAIN 0x1
+#define V4L2_AV1_FILM_GRAIN_FLAG_UPDATE_GRAIN 0x2
+#define V4L2_AV1_FILM_GRAIN_FLAG_CHROMA_SCALING_FROM_LUMA 0x4
+#define V4L2_AV1_FILM_GRAIN_FLAG_OVERLAP 0x8
+#define V4L2_AV1_FILM_GRAIN_FLAG_CLIP_TO_RESTRICTED_RANGE 0x10
+#define V4L2_CID_STATELESS_AV1_FILM_GRAIN (V4L2_CID_CODEC_STATELESS_BASE + 505)
+struct v4l2_ctrl_av1_film_grain {
+  __u8 flags;
+  __u8 cr_mult;
+  __u16 grain_seed;
+  __u8 film_grain_params_ref_idx;
+  __u8 num_y_points;
+  __u8 point_y_value[V4L2_AV1_MAX_NUM_Y_POINTS];
+  __u8 point_y_scaling[V4L2_AV1_MAX_NUM_Y_POINTS];
+  __u8 num_cb_points;
+  __u8 point_cb_value[V4L2_AV1_MAX_NUM_CB_POINTS];
+  __u8 point_cb_scaling[V4L2_AV1_MAX_NUM_CB_POINTS];
+  __u8 num_cr_points;
+  __u8 point_cr_value[V4L2_AV1_MAX_NUM_CR_POINTS];
+  __u8 point_cr_scaling[V4L2_AV1_MAX_NUM_CR_POINTS];
+  __u8 grain_scaling_minus_8;
+  __u8 ar_coeff_lag;
+  __u8 ar_coeffs_y_plus_128[V4L2_AV1_AR_COEFFS_SIZE];
+  __u8 ar_coeffs_cb_plus_128[V4L2_AV1_AR_COEFFS_SIZE];
+  __u8 ar_coeffs_cr_plus_128[V4L2_AV1_AR_COEFFS_SIZE];
+  __u8 ar_coeff_shift_minus_6;
+  __u8 grain_scale_shift;
+  __u8 cb_mult;
+  __u8 cb_luma_mult;
+  __u8 cr_luma_mult;
+  __u16 cb_offset;
+  __u16 cr_offset;
+  __u8 reserved[4];
+};
 #define V4L2_CTRL_CLASS_MPEG V4L2_CTRL_CLASS_CODEC
 #define V4L2_CID_MPEG_CLASS V4L2_CID_CODEC_CLASS
 #define V4L2_CID_MPEG_BASE V4L2_CID_CODEC_BASE
diff --git a/libc/kernel/uapi/linux/v4l2-dv-timings.h b/libc/kernel/uapi/linux/v4l2-dv-timings.h
index 29596d1..5552c5c 100644
--- a/libc/kernel/uapi/linux/v4l2-dv-timings.h
+++ b/libc/kernel/uapi/linux/v4l2-dv-timings.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _V4L2_DV_TIMINGS_H
 #define _V4L2_DV_TIMINGS_H
 #if __GNUC__ < 4 || __GNUC__ == 4 && __GNUC_MINOR__ < 6
diff --git a/libc/kernel/uapi/linux/v4l2-mediabus.h b/libc/kernel/uapi/linux/v4l2-mediabus.h
index 157c0ac..8a52f58 100644
--- a/libc/kernel/uapi/linux/v4l2-mediabus.h
+++ b/libc/kernel/uapi/linux/v4l2-mediabus.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_V4L2_MEDIABUS_H
 #define __LINUX_V4L2_MEDIABUS_H
 #include <linux/media-bus-format.h>
diff --git a/libc/kernel/uapi/linux/v4l2-subdev.h b/libc/kernel/uapi/linux/v4l2-subdev.h
index 2954dc3..b5a0c87 100644
--- a/libc/kernel/uapi/linux/v4l2-subdev.h
+++ b/libc/kernel/uapi/linux/v4l2-subdev.h
@@ -1,23 +1,12 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_V4L2_SUBDEV_H
 #define __LINUX_V4L2_SUBDEV_H
+#include <linux/const.h>
 #include <linux/ioctl.h>
 #include <linux/types.h>
 #include <linux/v4l2-common.h>
@@ -30,13 +19,15 @@
   __u32 which;
   __u32 pad;
   struct v4l2_mbus_framefmt format;
-  __u32 reserved[8];
+  __u32 stream;
+  __u32 reserved[7];
 };
 struct v4l2_subdev_crop {
   __u32 which;
   __u32 pad;
   struct v4l2_rect rect;
-  __u32 reserved[8];
+  __u32 stream;
+  __u32 reserved[7];
 };
 #define V4L2_SUBDEV_MBUS_CODE_CSC_COLORSPACE 0x00000001
 #define V4L2_SUBDEV_MBUS_CODE_CSC_XFER_FUNC 0x00000002
@@ -49,7 +40,8 @@
   __u32 code;
   __u32 which;
   __u32 flags;
-  __u32 reserved[7];
+  __u32 stream;
+  __u32 reserved[6];
 };
 struct v4l2_subdev_frame_size_enum {
   __u32 index;
@@ -60,12 +52,15 @@
   __u32 min_height;
   __u32 max_height;
   __u32 which;
-  __u32 reserved[8];
+  __u32 stream;
+  __u32 reserved[7];
 };
 struct v4l2_subdev_frame_interval {
   __u32 pad;
   struct v4l2_fract interval;
-  __u32 reserved[9];
+  __u32 stream;
+  __u32 which;
+  __u32 reserved[7];
 };
 struct v4l2_subdev_frame_interval_enum {
   __u32 index;
@@ -75,7 +70,8 @@
   __u32 height;
   struct v4l2_fract interval;
   __u32 which;
-  __u32 reserved[8];
+  __u32 stream;
+  __u32 reserved[7];
 };
 struct v4l2_subdev_selection {
   __u32 which;
@@ -83,7 +79,8 @@
   __u32 target;
   __u32 flags;
   struct v4l2_rect r;
-  __u32 reserved[8];
+  __u32 stream;
+  __u32 reserved[7];
 };
 struct v4l2_subdev_capability {
   __u32 version;
@@ -91,6 +88,28 @@
   __u32 reserved[14];
 };
 #define V4L2_SUBDEV_CAP_RO_SUBDEV 0x00000001
+#define V4L2_SUBDEV_CAP_STREAMS 0x00000002
+#define V4L2_SUBDEV_ROUTE_FL_ACTIVE (1U << 0)
+struct v4l2_subdev_route {
+  __u32 sink_pad;
+  __u32 sink_stream;
+  __u32 source_pad;
+  __u32 source_stream;
+  __u32 flags;
+  __u32 reserved[5];
+};
+struct v4l2_subdev_routing {
+  __u32 which;
+  __u32 len_routes;
+  __u64 routes;
+  __u32 num_routes;
+  __u32 reserved[11];
+};
+#define V4L2_SUBDEV_CLIENT_CAP_STREAMS (1ULL << 0)
+#define V4L2_SUBDEV_CLIENT_CAP_INTERVAL_USES_WHICH (1ULL << 1)
+struct v4l2_subdev_client_capability {
+  __u64 capabilities;
+};
 #define v4l2_subdev_edid v4l2_edid
 #define VIDIOC_SUBDEV_QUERYCAP _IOR('V', 0, struct v4l2_subdev_capability)
 #define VIDIOC_SUBDEV_G_FMT _IOWR('V', 4, struct v4l2_subdev_format)
@@ -104,6 +123,10 @@
 #define VIDIOC_SUBDEV_S_CROP _IOWR('V', 60, struct v4l2_subdev_crop)
 #define VIDIOC_SUBDEV_G_SELECTION _IOWR('V', 61, struct v4l2_subdev_selection)
 #define VIDIOC_SUBDEV_S_SELECTION _IOWR('V', 62, struct v4l2_subdev_selection)
+#define VIDIOC_SUBDEV_G_ROUTING _IOWR('V', 38, struct v4l2_subdev_routing)
+#define VIDIOC_SUBDEV_S_ROUTING _IOWR('V', 39, struct v4l2_subdev_routing)
+#define VIDIOC_SUBDEV_G_CLIENT_CAP _IOR('V', 101, struct v4l2_subdev_client_capability)
+#define VIDIOC_SUBDEV_S_CLIENT_CAP _IOWR('V', 102, struct v4l2_subdev_client_capability)
 #define VIDIOC_SUBDEV_G_STD _IOR('V', 23, v4l2_std_id)
 #define VIDIOC_SUBDEV_S_STD _IOW('V', 24, v4l2_std_id)
 #define VIDIOC_SUBDEV_ENUMSTD _IOWR('V', 25, struct v4l2_standard)
diff --git a/libc/kernel/uapi/linux/vbox_err.h b/libc/kernel/uapi/linux/vbox_err.h
index dec3574..ba4a045 100644
--- a/libc/kernel/uapi/linux/vbox_err.h
+++ b/libc/kernel/uapi/linux/vbox_err.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_VBOX_ERR_H__
 #define __UAPI_VBOX_ERR_H__
 #define VINF_SUCCESS 0
diff --git a/libc/kernel/uapi/linux/vbox_vmmdev_types.h b/libc/kernel/uapi/linux/vbox_vmmdev_types.h
index 777a2bb..7123c02 100644
--- a/libc/kernel/uapi/linux/vbox_vmmdev_types.h
+++ b/libc/kernel/uapi/linux/vbox_vmmdev_types.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_VBOX_VMMDEV_TYPES_H__
 #define __UAPI_VBOX_VMMDEV_TYPES_H__
 #include <asm/bitsperlong.h>
diff --git a/libc/kernel/uapi/linux/vboxguest.h b/libc/kernel/uapi/linux/vboxguest.h
index 342c020..edaf71f 100644
--- a/libc/kernel/uapi/linux/vboxguest.h
+++ b/libc/kernel/uapi/linux/vboxguest.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_VBOXGUEST_H__
 #define __UAPI_VBOXGUEST_H__
 #include <asm/bitsperlong.h>
diff --git a/libc/kernel/uapi/linux/vdpa.h b/libc/kernel/uapi/linux/vdpa.h
index 989a61b..462d579 100644
--- a/libc/kernel/uapi/linux/vdpa.h
+++ b/libc/kernel/uapi/linux/vdpa.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_VDPA_H_
 #define _UAPI_LINUX_VDPA_H_
 #define VDPA_GENL_NAME "vdpa"
@@ -53,6 +41,22 @@
   VDPA_ATTR_DEV_VENDOR_ATTR_NAME,
   VDPA_ATTR_DEV_VENDOR_ATTR_VALUE,
   VDPA_ATTR_DEV_FEATURES,
+  VDPA_ATTR_DEV_BLK_CFG_CAPACITY,
+  VDPA_ATTR_DEV_BLK_CFG_SIZE_MAX,
+  VDPA_ATTR_DEV_BLK_CFG_BLK_SIZE,
+  VDPA_ATTR_DEV_BLK_CFG_SEG_MAX,
+  VDPA_ATTR_DEV_BLK_CFG_NUM_QUEUES,
+  VDPA_ATTR_DEV_BLK_CFG_PHY_BLK_EXP,
+  VDPA_ATTR_DEV_BLK_CFG_ALIGN_OFFSET,
+  VDPA_ATTR_DEV_BLK_CFG_MIN_IO_SIZE,
+  VDPA_ATTR_DEV_BLK_CFG_OPT_IO_SIZE,
+  VDPA_ATTR_DEV_BLK_CFG_MAX_DISCARD_SEC,
+  VDPA_ATTR_DEV_BLK_CFG_MAX_DISCARD_SEG,
+  VDPA_ATTR_DEV_BLK_CFG_DISCARD_SEC_ALIGN,
+  VDPA_ATTR_DEV_BLK_CFG_MAX_WRITE_ZEROES_SEC,
+  VDPA_ATTR_DEV_BLK_CFG_MAX_WRITE_ZEROES_SEG,
+  VDPA_ATTR_DEV_BLK_READ_ONLY,
+  VDPA_ATTR_DEV_BLK_FLUSH,
   VDPA_ATTR_MAX,
 };
 #endif
diff --git a/libc/kernel/uapi/linux/vduse.h b/libc/kernel/uapi/linux/vduse.h
index f0b6d6b..934dab7 100644
--- a/libc/kernel/uapi/linux/vduse.h
+++ b/libc/kernel/uapi/linux/vduse.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_VDUSE_H_
 #define _UAPI_VDUSE_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/version.h b/libc/kernel/uapi/linux/version.h
index 0d50613..0cc45cf 100644
--- a/libc/kernel/uapi/linux/version.h
+++ b/libc/kernel/uapi/linux/version.h
@@ -1,23 +1,11 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
-#define LINUX_VERSION_CODE 393728
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#define LINUX_VERSION_CODE 396032
 #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + ((c) > 255 ? 255 : (c)))
 #define LINUX_VERSION_MAJOR 6
-#define LINUX_VERSION_PATCHLEVEL 2
+#define LINUX_VERSION_PATCHLEVEL 11
 #define LINUX_VERSION_SUBLEVEL 0
diff --git a/libc/kernel/uapi/linux/vesa.h b/libc/kernel/uapi/linux/vesa.h
new file mode 100644
index 0000000..1bf9946
--- /dev/null
+++ b/libc/kernel/uapi/linux/vesa.h
@@ -0,0 +1,20 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_LINUX_VESA_H
+#define _UAPI_LINUX_VESA_H
+enum vesa_blank_mode {
+  VESA_NO_BLANKING = 0,
+#define VESA_NO_BLANKING VESA_NO_BLANKING
+  VESA_VSYNC_SUSPEND = 1,
+#define VESA_VSYNC_SUSPEND VESA_VSYNC_SUSPEND
+  VESA_HSYNC_SUSPEND = 2,
+#define VESA_HSYNC_SUSPEND VESA_HSYNC_SUSPEND
+  VESA_POWERDOWN = VESA_VSYNC_SUSPEND | VESA_HSYNC_SUSPEND,
+#define VESA_POWERDOWN VESA_POWERDOWN
+  VESA_BLANK_MAX = VESA_POWERDOWN,
+};
+#endif
diff --git a/libc/kernel/uapi/linux/veth.h b/libc/kernel/uapi/linux/veth.h
index 7f79830..5d457da 100644
--- a/libc/kernel/uapi/linux/veth.h
+++ b/libc/kernel/uapi/linux/veth.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __NET_VETH_H_
 #define __NET_VETH_H_
 enum {
diff --git a/libc/kernel/uapi/linux/vfio.h b/libc/kernel/uapi/linux/vfio.h
index 3c1821c..5910e40 100644
--- a/libc/kernel/uapi/linux/vfio.h
+++ b/libc/kernel/uapi/linux/vfio.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPIVFIO_H
 #define _UAPIVFIO_H
 #include <linux/types.h>
@@ -62,9 +50,11 @@
 #define VFIO_DEVICE_FLAGS_AP (1 << 5)
 #define VFIO_DEVICE_FLAGS_FSL_MC (1 << 6)
 #define VFIO_DEVICE_FLAGS_CAPS (1 << 7)
+#define VFIO_DEVICE_FLAGS_CDX (1 << 8)
   __u32 num_regions;
   __u32 num_irqs;
   __u32 cap_offset;
+  __u32 pad;
 };
 #define VFIO_DEVICE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 7)
 #define VFIO_DEVICE_API_PCI_STRING "vfio-pci"
@@ -76,6 +66,15 @@
 #define VFIO_DEVICE_INFO_CAP_ZPCI_GROUP 2
 #define VFIO_DEVICE_INFO_CAP_ZPCI_UTIL 3
 #define VFIO_DEVICE_INFO_CAP_ZPCI_PFIP 4
+#define VFIO_DEVICE_INFO_CAP_PCI_ATOMIC_COMP 5
+struct vfio_device_info_cap_pci_atomic_comp {
+  struct vfio_info_cap_header header;
+  __u32 flags;
+#define VFIO_PCI_ATOMIC_COMP32 (1 << 0)
+#define VFIO_PCI_ATOMIC_COMP64 (1 << 1)
+#define VFIO_PCI_ATOMIC_COMP128 (1 << 2)
+  __u32 reserved;
+};
 struct vfio_region_info {
   __u32 argsz;
   __u32 flags;
@@ -85,14 +84,14 @@
 #define VFIO_REGION_INFO_FLAG_CAPS (1 << 3)
   __u32 index;
   __u32 cap_offset;
-  __u64 size;
-  __u64 offset;
+  __aligned_u64 size;
+  __aligned_u64 offset;
 };
 #define VFIO_DEVICE_GET_REGION_INFO _IO(VFIO_TYPE, VFIO_BASE + 8)
 #define VFIO_REGION_INFO_CAP_SPARSE_MMAP 1
 struct vfio_region_sparse_mmap_area {
-  __u64 offset;
-  __u64 size;
+  __aligned_u64 offset;
+  __aligned_u64 size;
 };
 struct vfio_region_info_cap_sparse_mmap {
   struct vfio_info_cap_header header;
@@ -142,15 +141,15 @@
 #define VFIO_DEVICE_STATE_IS_ERROR(state) ((state & VFIO_DEVICE_STATE_MASK) == (VFIO_DEVICE_STATE_V1_SAVING | VFIO_DEVICE_STATE_V1_RESUMING))
 #define VFIO_DEVICE_STATE_SET_ERROR(state) ((state & ~VFIO_DEVICE_STATE_MASK) | VFIO_DEVICE_STATE_V1_SAVING | VFIO_DEVICE_STATE_V1_RESUMING)
   __u32 reserved;
-  __u64 pending_bytes;
-  __u64 data_offset;
-  __u64 data_size;
+  __aligned_u64 pending_bytes;
+  __aligned_u64 data_offset;
+  __aligned_u64 data_size;
 };
 #define VFIO_REGION_INFO_CAP_MSIX_MAPPABLE 3
 #define VFIO_REGION_INFO_CAP_NVLINK2_SSATGT 4
 struct vfio_region_info_cap_nvlink2_ssatgt {
   struct vfio_info_cap_header header;
-  __u64 tgt;
+  __aligned_u64 tgt;
 };
 #define VFIO_REGION_INFO_CAP_NVLINK2_LNKSPD 5
 struct vfio_region_info_cap_nvlink2_lnkspd {
@@ -217,8 +216,17 @@
   VFIO_CCW_REQ_IRQ_INDEX,
   VFIO_CCW_NUM_IRQS
 };
+enum {
+  VFIO_AP_REQ_IRQ_INDEX,
+  VFIO_AP_NUM_IRQS
+};
 struct vfio_pci_dependent_device {
-  __u32 group_id;
+  union {
+    __u32 group_id;
+    __u32 devid;
+#define VFIO_PCI_DEVID_OWNED 0
+#define VFIO_PCI_DEVID_NOT_OWNED - 1
+  };
   __u16 segment;
   __u8 bus;
   __u8 devfn;
@@ -226,6 +234,8 @@
 struct vfio_pci_hot_reset_info {
   __u32 argsz;
   __u32 flags;
+#define VFIO_PCI_HOT_RESET_FLAG_DEV_ID (1 << 0)
+#define VFIO_PCI_HOT_RESET_FLAG_DEV_ID_OWNED (1 << 1)
   __u32 count;
   struct vfio_pci_dependent_device devices[];
 };
@@ -245,7 +255,7 @@
 #define VFIO_GFX_PLANE_TYPE_REGION (1 << 2)
   __u32 drm_plane_type;
   __u32 drm_format;
-  __u64 drm_format_mod;
+  __aligned_u64 drm_format_mod;
   __u32 width;
   __u32 height;
   __u32 stride;
@@ -258,6 +268,7 @@
     __u32 region_index;
     __u32 dmabuf_id;
   };
+  __u32 reserved;
 };
 #define VFIO_DEVICE_QUERY_GFX_PLANE _IO(VFIO_TYPE, VFIO_BASE + 14)
 #define VFIO_DEVICE_GET_GFX_DMABUF _IO(VFIO_TYPE, VFIO_BASE + 15)
@@ -269,9 +280,10 @@
 #define VFIO_DEVICE_IOEVENTFD_32 (1 << 2)
 #define VFIO_DEVICE_IOEVENTFD_64 (1 << 3)
 #define VFIO_DEVICE_IOEVENTFD_SIZE_MASK (0xf)
-  __u64 offset;
-  __u64 data;
+  __aligned_u64 offset;
+  __aligned_u64 data;
   __s32 fd;
+  __u32 reserved;
 };
 #define VFIO_DEVICE_IOEVENTFD _IO(VFIO_TYPE, VFIO_BASE + 16)
 struct vfio_device_feature {
@@ -284,6 +296,24 @@
   __u8 data[];
 };
 #define VFIO_DEVICE_FEATURE _IO(VFIO_TYPE, VFIO_BASE + 17)
+struct vfio_device_bind_iommufd {
+  __u32 argsz;
+  __u32 flags;
+  __s32 iommufd;
+  __u32 out_devid;
+};
+#define VFIO_DEVICE_BIND_IOMMUFD _IO(VFIO_TYPE, VFIO_BASE + 18)
+struct vfio_device_attach_iommufd_pt {
+  __u32 argsz;
+  __u32 flags;
+  __u32 pt_id;
+};
+#define VFIO_DEVICE_ATTACH_IOMMUFD_PT _IO(VFIO_TYPE, VFIO_BASE + 19)
+struct vfio_device_detach_iommufd_pt {
+  __u32 argsz;
+  __u32 flags;
+};
+#define VFIO_DEVICE_DETACH_IOMMUFD_PT _IO(VFIO_TYPE, VFIO_BASE + 20)
 #define VFIO_DEVICE_FEATURE_PCI_VF_TOKEN (0)
 struct vfio_device_feature_migration {
   __aligned_u64 flags;
@@ -306,6 +336,7 @@
   VFIO_DEVICE_STATE_RUNNING_P2P = 5,
   VFIO_DEVICE_STATE_PRE_COPY = 6,
   VFIO_DEVICE_STATE_PRE_COPY_P2P = 7,
+  VFIO_DEVICE_STATE_NR,
 };
 struct vfio_precopy_info {
   __u32 argsz;
@@ -344,13 +375,20 @@
   __aligned_u64 stop_copy_length;
 };
 #define VFIO_DEVICE_FEATURE_MIG_DATA_SIZE 9
+struct vfio_device_feature_bus_master {
+  __u32 op;
+#define VFIO_DEVICE_FEATURE_CLEAR_MASTER 0
+#define VFIO_DEVICE_FEATURE_SET_MASTER 1
+};
+#define VFIO_DEVICE_FEATURE_BUS_MASTER 10
 struct vfio_iommu_type1_info {
   __u32 argsz;
   __u32 flags;
 #define VFIO_IOMMU_INFO_PGSIZES (1 << 0)
 #define VFIO_IOMMU_INFO_CAPS (1 << 1)
-  __u64 iova_pgsizes;
+  __aligned_u64 iova_pgsizes;
   __u32 cap_offset;
+  __u32 pad;
 };
 #define VFIO_IOMMU_TYPE1_INFO_CAP_IOVA_RANGE 1
 struct vfio_iova_range {
diff --git a/libc/kernel/uapi/linux/vfio_ccw.h b/libc/kernel/uapi/linux/vfio_ccw.h
index 7bf08f5..aa5a87e 100644
--- a/libc/kernel/uapi/linux/vfio_ccw.h
+++ b/libc/kernel/uapi/linux/vfio_ccw.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _VFIO_CCW_H_
 #define _VFIO_CCW_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/vfio_zdev.h b/libc/kernel/uapi/linux/vfio_zdev.h
index 1c3a943..03efc77 100644
--- a/libc/kernel/uapi/linux/vfio_zdev.h
+++ b/libc/kernel/uapi/linux/vfio_zdev.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _VFIO_ZDEV_H_
 #define _VFIO_ZDEV_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/vhost.h b/libc/kernel/uapi/linux/vhost.h
index e5b1327..a93212e 100644
--- a/libc/kernel/uapi/linux/vhost.h
+++ b/libc/kernel/uapi/linux/vhost.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_VHOST_H
 #define _LINUX_VHOST_H
 #include <linux/vhost_types.h>
@@ -30,6 +18,8 @@
 #define VHOST_SET_MEM_TABLE _IOW(VHOST_VIRTIO, 0x03, struct vhost_memory)
 #define VHOST_SET_LOG_BASE _IOW(VHOST_VIRTIO, 0x04, __u64)
 #define VHOST_SET_LOG_FD _IOW(VHOST_VIRTIO, 0x07, int)
+#define VHOST_NEW_WORKER _IOR(VHOST_VIRTIO, 0x8, struct vhost_worker_state)
+#define VHOST_FREE_WORKER _IOW(VHOST_VIRTIO, 0x9, struct vhost_worker_state)
 #define VHOST_SET_VRING_NUM _IOW(VHOST_VIRTIO, 0x10, struct vhost_vring_state)
 #define VHOST_SET_VRING_ADDR _IOW(VHOST_VIRTIO, 0x11, struct vhost_vring_addr)
 #define VHOST_SET_VRING_BASE _IOW(VHOST_VIRTIO, 0x12, struct vhost_vring_state)
@@ -38,6 +28,8 @@
 #define VHOST_VRING_BIG_ENDIAN 1
 #define VHOST_SET_VRING_ENDIAN _IOW(VHOST_VIRTIO, 0x13, struct vhost_vring_state)
 #define VHOST_GET_VRING_ENDIAN _IOW(VHOST_VIRTIO, 0x14, struct vhost_vring_state)
+#define VHOST_ATTACH_VRING_WORKER _IOW(VHOST_VIRTIO, 0x15, struct vhost_vring_worker)
+#define VHOST_GET_VRING_WORKER _IOWR(VHOST_VIRTIO, 0x16, struct vhost_vring_worker)
 #define VHOST_SET_VRING_KICK _IOW(VHOST_VIRTIO, 0x20, struct vhost_vring_file)
 #define VHOST_SET_VRING_CALL _IOW(VHOST_VIRTIO, 0x21, struct vhost_vring_file)
 #define VHOST_SET_VRING_ERR _IOW(VHOST_VIRTIO, 0x22, struct vhost_vring_file)
@@ -63,10 +55,13 @@
 #define VHOST_VDPA_SET_CONFIG_CALL _IOW(VHOST_VIRTIO, 0x77, int)
 #define VHOST_VDPA_GET_IOVA_RANGE _IOR(VHOST_VIRTIO, 0x78, struct vhost_vdpa_iova_range)
 #define VHOST_VDPA_GET_CONFIG_SIZE _IOR(VHOST_VIRTIO, 0x79, __u32)
-#define VHOST_VDPA_GET_VQS_COUNT _IOR(VHOST_VIRTIO, 0x80, __u32)
-#define VHOST_VDPA_GET_GROUP_NUM _IOR(VHOST_VIRTIO, 0x81, __u32)
 #define VHOST_VDPA_GET_AS_NUM _IOR(VHOST_VIRTIO, 0x7A, unsigned int)
 #define VHOST_VDPA_GET_VRING_GROUP _IOWR(VHOST_VIRTIO, 0x7B, struct vhost_vring_state)
 #define VHOST_VDPA_SET_GROUP_ASID _IOW(VHOST_VIRTIO, 0x7C, struct vhost_vring_state)
 #define VHOST_VDPA_SUSPEND _IO(VHOST_VIRTIO, 0x7D)
+#define VHOST_VDPA_RESUME _IO(VHOST_VIRTIO, 0x7E)
+#define VHOST_VDPA_GET_VRING_DESC_GROUP _IOWR(VHOST_VIRTIO, 0x7F, struct vhost_vring_state)
+#define VHOST_VDPA_GET_VQS_COUNT _IOR(VHOST_VIRTIO, 0x80, __u32)
+#define VHOST_VDPA_GET_GROUP_NUM _IOR(VHOST_VIRTIO, 0x81, __u32)
+#define VHOST_VDPA_GET_VRING_SIZE _IOWR(VHOST_VIRTIO, 0x82, struct vhost_vring_state)
 #endif
diff --git a/libc/kernel/uapi/linux/vhost_types.h b/libc/kernel/uapi/linux/vhost_types.h
index 32efa85..cd9a9fb 100644
--- a/libc/kernel/uapi/linux/vhost_types.h
+++ b/libc/kernel/uapi/linux/vhost_types.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_VHOST_TYPES_H
 #define _LINUX_VHOST_TYPES_H
 #include <linux/types.h>
@@ -39,6 +27,13 @@
   __u64 avail_user_addr;
   __u64 log_guest_addr;
 };
+struct vhost_worker_state {
+  unsigned int worker_id;
+};
+struct vhost_vring_worker {
+  unsigned int index;
+  unsigned int worker_id;
+};
 struct vhost_iotlb_msg {
   __u64 iova;
   __u64 size;
@@ -106,4 +101,8 @@
 #define VHOST_BACKEND_F_IOTLB_BATCH 0x2
 #define VHOST_BACKEND_F_IOTLB_ASID 0x3
 #define VHOST_BACKEND_F_SUSPEND 0x4
+#define VHOST_BACKEND_F_RESUME 0x5
+#define VHOST_BACKEND_F_ENABLE_AFTER_DRIVER_OK 0x6
+#define VHOST_BACKEND_F_DESC_ASID 0x7
+#define VHOST_BACKEND_F_IOTLB_PERSIST 0x8
 #endif
diff --git a/libc/kernel/uapi/linux/videodev2.h b/libc/kernel/uapi/linux/videodev2.h
index 4fb0a25..fb69a8a 100644
--- a/libc/kernel/uapi/linux/videodev2.h
+++ b/libc/kernel/uapi/linux/videodev2.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__LINUX_VIDEODEV2_H
 #define _UAPI__LINUX_VIDEODEV2_H
 #include <sys/time.h>
@@ -244,17 +232,27 @@
 #define V4L2_PIX_FMT_RGBX32 v4l2_fourcc('X', 'B', '2', '4')
 #define V4L2_PIX_FMT_ARGB32 v4l2_fourcc('B', 'A', '2', '4')
 #define V4L2_PIX_FMT_XRGB32 v4l2_fourcc('B', 'X', '2', '4')
+#define V4L2_PIX_FMT_RGBX1010102 v4l2_fourcc('R', 'X', '3', '0')
+#define V4L2_PIX_FMT_RGBA1010102 v4l2_fourcc('R', 'A', '3', '0')
+#define V4L2_PIX_FMT_ARGB2101010 v4l2_fourcc('A', 'R', '3', '0')
+#define V4L2_PIX_FMT_BGR48_12 v4l2_fourcc('B', '3', '1', '2')
+#define V4L2_PIX_FMT_BGR48 v4l2_fourcc('B', 'G', 'R', '6')
+#define V4L2_PIX_FMT_RGB48 v4l2_fourcc('R', 'G', 'B', '6')
+#define V4L2_PIX_FMT_ABGR64_12 v4l2_fourcc('B', '4', '1', '2')
 #define V4L2_PIX_FMT_GREY v4l2_fourcc('G', 'R', 'E', 'Y')
 #define V4L2_PIX_FMT_Y4 v4l2_fourcc('Y', '0', '4', ' ')
 #define V4L2_PIX_FMT_Y6 v4l2_fourcc('Y', '0', '6', ' ')
 #define V4L2_PIX_FMT_Y10 v4l2_fourcc('Y', '1', '0', ' ')
 #define V4L2_PIX_FMT_Y12 v4l2_fourcc('Y', '1', '2', ' ')
+#define V4L2_PIX_FMT_Y012 v4l2_fourcc('Y', '0', '1', '2')
 #define V4L2_PIX_FMT_Y14 v4l2_fourcc('Y', '1', '4', ' ')
 #define V4L2_PIX_FMT_Y16 v4l2_fourcc('Y', '1', '6', ' ')
 #define V4L2_PIX_FMT_Y16_BE v4l2_fourcc_be('Y', '1', '6', ' ')
 #define V4L2_PIX_FMT_Y10BPACK v4l2_fourcc('Y', '1', '0', 'B')
 #define V4L2_PIX_FMT_Y10P v4l2_fourcc('Y', '1', '0', 'P')
 #define V4L2_PIX_FMT_IPU3_Y10 v4l2_fourcc('i', 'p', '3', 'y')
+#define V4L2_PIX_FMT_Y12P v4l2_fourcc('Y', '1', '2', 'P')
+#define V4L2_PIX_FMT_Y14P v4l2_fourcc('Y', '1', '4', 'P')
 #define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8')
 #define V4L2_PIX_FMT_UV8 v4l2_fourcc('U', 'V', '8', ' ')
 #define V4L2_PIX_FMT_YUYV v4l2_fourcc('Y', 'U', 'Y', 'V')
@@ -275,6 +273,10 @@
 #define V4L2_PIX_FMT_YUVA32 v4l2_fourcc('Y', 'U', 'V', 'A')
 #define V4L2_PIX_FMT_YUVX32 v4l2_fourcc('Y', 'U', 'V', 'X')
 #define V4L2_PIX_FMT_M420 v4l2_fourcc('M', '4', '2', '0')
+#define V4L2_PIX_FMT_YUV48_12 v4l2_fourcc('Y', '3', '1', '2')
+#define V4L2_PIX_FMT_Y210 v4l2_fourcc('Y', '2', '1', '0')
+#define V4L2_PIX_FMT_Y212 v4l2_fourcc('Y', '2', '1', '2')
+#define V4L2_PIX_FMT_Y216 v4l2_fourcc('Y', '2', '1', '6')
 #define V4L2_PIX_FMT_NV12 v4l2_fourcc('N', 'V', '1', '2')
 #define V4L2_PIX_FMT_NV21 v4l2_fourcc('N', 'V', '2', '1')
 #define V4L2_PIX_FMT_NV16 v4l2_fourcc('N', 'V', '1', '6')
@@ -282,10 +284,12 @@
 #define V4L2_PIX_FMT_NV24 v4l2_fourcc('N', 'V', '2', '4')
 #define V4L2_PIX_FMT_NV42 v4l2_fourcc('N', 'V', '4', '2')
 #define V4L2_PIX_FMT_P010 v4l2_fourcc('P', '0', '1', '0')
+#define V4L2_PIX_FMT_P012 v4l2_fourcc('P', '0', '1', '2')
 #define V4L2_PIX_FMT_NV12M v4l2_fourcc('N', 'M', '1', '2')
 #define V4L2_PIX_FMT_NV21M v4l2_fourcc('N', 'M', '2', '1')
 #define V4L2_PIX_FMT_NV16M v4l2_fourcc('N', 'M', '1', '6')
 #define V4L2_PIX_FMT_NV61M v4l2_fourcc('N', 'M', '6', '1')
+#define V4L2_PIX_FMT_P012M v4l2_fourcc('P', 'M', '1', '2')
 #define V4L2_PIX_FMT_YUV410 v4l2_fourcc('Y', 'U', 'V', '9')
 #define V4L2_PIX_FMT_YVU410 v4l2_fourcc('Y', 'V', 'U', '9')
 #define V4L2_PIX_FMT_YUV411P v4l2_fourcc('4', '1', '1', 'P')
@@ -301,6 +305,7 @@
 #define V4L2_PIX_FMT_NV12_4L4 v4l2_fourcc('V', 'T', '1', '2')
 #define V4L2_PIX_FMT_NV12_16L16 v4l2_fourcc('H', 'M', '1', '2')
 #define V4L2_PIX_FMT_NV12_32L32 v4l2_fourcc('S', 'T', '1', '2')
+#define V4L2_PIX_FMT_NV15_4L4 v4l2_fourcc('V', 'T', '1', '5')
 #define V4L2_PIX_FMT_P010_4L4 v4l2_fourcc('T', '0', '1', '0')
 #define V4L2_PIX_FMT_NV12_8L128 v4l2_fourcc('A', 'T', '1', '2')
 #define V4L2_PIX_FMT_NV12_10BE_8L128 v4l2_fourcc_be('A', 'X', '1', '2')
@@ -374,6 +379,10 @@
 #define V4L2_PIX_FMT_FWHT_STATELESS v4l2_fourcc('S', 'F', 'W', 'H')
 #define V4L2_PIX_FMT_H264_SLICE v4l2_fourcc('S', '2', '6', '4')
 #define V4L2_PIX_FMT_HEVC_SLICE v4l2_fourcc('S', '2', '6', '5')
+#define V4L2_PIX_FMT_AV1_FRAME v4l2_fourcc('A', 'V', '1', 'F')
+#define V4L2_PIX_FMT_SPK v4l2_fourcc('S', 'P', 'K', '0')
+#define V4L2_PIX_FMT_RV30 v4l2_fourcc('R', 'V', '3', '0')
+#define V4L2_PIX_FMT_RV40 v4l2_fourcc('R', 'V', '4', '0')
 #define V4L2_PIX_FMT_CPIA1 v4l2_fourcc('C', 'P', 'I', 'A')
 #define V4L2_PIX_FMT_WNVA v4l2_fourcc('W', 'N', 'V', 'A')
 #define V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S', '9', '1', '0')
@@ -405,16 +414,29 @@
 #define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ')
 #define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1')
 #define V4L2_PIX_FMT_MM21 v4l2_fourcc('M', 'M', '2', '1')
+#define V4L2_PIX_FMT_MT2110T v4l2_fourcc('M', 'T', '2', 'T')
+#define V4L2_PIX_FMT_MT2110R v4l2_fourcc('M', 'T', '2', 'R')
 #define V4L2_PIX_FMT_INZI v4l2_fourcc('I', 'N', 'Z', 'I')
 #define V4L2_PIX_FMT_CNF4 v4l2_fourcc('C', 'N', 'F', '4')
 #define V4L2_PIX_FMT_HI240 v4l2_fourcc('H', 'I', '2', '4')
 #define V4L2_PIX_FMT_QC08C v4l2_fourcc('Q', '0', '8', 'C')
 #define V4L2_PIX_FMT_QC10C v4l2_fourcc('Q', '1', '0', 'C')
 #define V4L2_PIX_FMT_AJPG v4l2_fourcc('A', 'J', 'P', 'G')
+#define V4L2_PIX_FMT_HEXTILE v4l2_fourcc('H', 'X', 'T', 'L')
 #define V4L2_PIX_FMT_IPU3_SBGGR10 v4l2_fourcc('i', 'p', '3', 'b')
 #define V4L2_PIX_FMT_IPU3_SGBRG10 v4l2_fourcc('i', 'p', '3', 'g')
 #define V4L2_PIX_FMT_IPU3_SGRBG10 v4l2_fourcc('i', 'p', '3', 'G')
 #define V4L2_PIX_FMT_IPU3_SRGGB10 v4l2_fourcc('i', 'p', '3', 'r')
+#define V4L2_PIX_FMT_PISP_COMP1_RGGB v4l2_fourcc('P', 'C', '1', 'R')
+#define V4L2_PIX_FMT_PISP_COMP1_GRBG v4l2_fourcc('P', 'C', '1', 'G')
+#define V4L2_PIX_FMT_PISP_COMP1_GBRG v4l2_fourcc('P', 'C', '1', 'g')
+#define V4L2_PIX_FMT_PISP_COMP1_BGGR v4l2_fourcc('P', 'C', '1', 'B')
+#define V4L2_PIX_FMT_PISP_COMP1_MONO v4l2_fourcc('P', 'C', '1', 'M')
+#define V4L2_PIX_FMT_PISP_COMP2_RGGB v4l2_fourcc('P', 'C', '2', 'R')
+#define V4L2_PIX_FMT_PISP_COMP2_GRBG v4l2_fourcc('P', 'C', '2', 'G')
+#define V4L2_PIX_FMT_PISP_COMP2_GBRG v4l2_fourcc('P', 'C', '2', 'g')
+#define V4L2_PIX_FMT_PISP_COMP2_BGGR v4l2_fourcc('P', 'C', '2', 'B')
+#define V4L2_PIX_FMT_PISP_COMP2_MONO v4l2_fourcc('P', 'C', '2', 'M')
 #define V4L2_SDR_FMT_CU8 v4l2_fourcc('C', 'U', '0', '8')
 #define V4L2_SDR_FMT_CU16LE v4l2_fourcc('C', 'U', '1', '6')
 #define V4L2_SDR_FMT_CS8 v4l2_fourcc('C', 'S', '0', '8')
@@ -434,6 +456,7 @@
 #define V4L2_META_FMT_VIVID v4l2_fourcc('V', 'I', 'V', 'D')
 #define V4L2_META_FMT_RK_ISP1_PARAMS v4l2_fourcc('R', 'K', '1', 'P')
 #define V4L2_META_FMT_RK_ISP1_STAT_3A v4l2_fourcc('R', 'K', '1', 'S')
+#define V4L2_META_FMT_RPI_BE_CFG v4l2_fourcc('R', 'P', 'B', 'C')
 #define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe
 #define V4L2_PIX_FMT_FLAG_PREMUL_ALPHA 0x00000001
 #define V4L2_PIX_FMT_FLAG_SET_CSC 0x00000002
@@ -456,6 +479,7 @@
 #define V4L2_FMT_FLAG_CSC_YCBCR_ENC 0x0080
 #define V4L2_FMT_FLAG_CSC_HSV_ENC V4L2_FMT_FLAG_CSC_YCBCR_ENC
 #define V4L2_FMT_FLAG_CSC_QUANTIZATION 0x0100
+#define V4L2_FMT_FLAG_META_LINE_BASED 0x0200
 enum v4l2_frmsizetypes {
   V4L2_FRMSIZE_TYPE_DISCRETE = 1,
   V4L2_FRMSIZE_TYPE_CONTINUOUS = 2,
@@ -554,6 +578,8 @@
 #define V4L2_BUF_CAP_SUPPORTS_ORPHANED_BUFS (1 << 4)
 #define V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF (1 << 5)
 #define V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS (1 << 6)
+#define V4L2_BUF_CAP_SUPPORTS_MAX_NUM_BUFFERS (1 << 7)
+#define V4L2_BUF_CAP_SUPPORTS_REMOVE_BUFS (1 << 8)
 struct v4l2_plane {
   __u32 bytesused;
   __u32 length;
@@ -899,11 +925,11 @@
     __u8  * p_u8;
     __u16  * p_u16;
     __u32  * p_u32;
-    __u32  * p_s32;
-    __u32  * p_s64;
+    __s32  * p_s32;
+    __s64  * p_s64;
     struct v4l2_area  * p_area;
     struct v4l2_ctrl_h264_sps  * p_h264_sps;
-    struct v4l2_ctrl_h264_pps * p_h264_pps;
+    struct v4l2_ctrl_h264_pps  * p_h264_pps;
     struct v4l2_ctrl_h264_scaling_matrix  * p_h264_scaling_matrix;
     struct v4l2_ctrl_h264_pred_weights  * p_h264_pred_weights;
     struct v4l2_ctrl_h264_slice_params  * p_h264_slice_params;
@@ -920,8 +946,14 @@
     struct v4l2_ctrl_hevc_slice_params  * p_hevc_slice_params;
     struct v4l2_ctrl_hevc_scaling_matrix  * p_hevc_scaling_matrix;
     struct v4l2_ctrl_hevc_decode_params  * p_hevc_decode_params;
+    struct v4l2_ctrl_av1_sequence  * p_av1_sequence;
+    struct v4l2_ctrl_av1_tile_group_entry  * p_av1_tile_group_entry;
+    struct v4l2_ctrl_av1_frame  * p_av1_frame;
+    struct v4l2_ctrl_av1_film_grain  * p_av1_film_grain;
+    struct v4l2_ctrl_hdr10_cll_info  * p_hdr10_cll_info;
+    struct v4l2_ctrl_hdr10_mastering_display  * p_hdr10_mastering_display;
     void  * ptr;
-  };
+  } __attribute__((packed));
 } __attribute__((packed));
 struct v4l2_ext_controls {
   union {
@@ -977,6 +1009,10 @@
   V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS = 0x0272,
   V4L2_CTRL_TYPE_HEVC_SCALING_MATRIX = 0x0273,
   V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS = 0x0274,
+  V4L2_CTRL_TYPE_AV1_SEQUENCE = 0x280,
+  V4L2_CTRL_TYPE_AV1_TILE_GROUP_ENTRY = 0x281,
+  V4L2_CTRL_TYPE_AV1_FRAME = 0x282,
+  V4L2_CTRL_TYPE_AV1_FILM_GRAIN = 0x283,
 };
 struct v4l2_queryctrl {
   __u32 id;
@@ -1292,6 +1328,9 @@
 struct v4l2_meta_format {
   __u32 dataformat;
   __u32 buffersize;
+  __u32 width;
+  __u32 height;
+  __u32 bytesperline;
 } __attribute__((packed));
 struct v4l2_format {
   __u32 type;
@@ -1413,7 +1452,14 @@
   struct v4l2_format format;
   __u32 capabilities;
   __u32 flags;
-  __u32 reserved[6];
+  __u32 max_num_buffers;
+  __u32 reserved[5];
+};
+struct v4l2_remove_buffers {
+  __u32 index;
+  __u32 count;
+  __u32 type;
+  __u32 reserved[13];
 };
 #define VIDIOC_QUERYCAP _IOR('V', 0, struct v4l2_capability)
 #define VIDIOC_ENUM_FMT _IOWR('V', 2, struct v4l2_fmtdesc)
@@ -1497,6 +1543,7 @@
 #define VIDIOC_ENUM_FREQ_BANDS _IOWR('V', 101, struct v4l2_frequency_band)
 #define VIDIOC_DBG_G_CHIP_INFO _IOWR('V', 102, struct v4l2_dbg_chip_info)
 #define VIDIOC_QUERY_EXT_CTRL _IOWR('V', 103, struct v4l2_query_ext_ctrl)
+#define VIDIOC_REMOVE_BUFS _IOWR('V', 104, struct v4l2_remove_buffers)
 #define BASE_VIDIOC_PRIVATE 192
 #define V4L2_PIX_FMT_HM12 V4L2_PIX_FMT_NV12_16L16
 #define V4L2_PIX_FMT_SUNXI_TILED_NV12 V4L2_PIX_FMT_NV12_32L32
diff --git a/libc/kernel/uapi/linux/virtio_9p.h b/libc/kernel/uapi/linux/virtio_9p.h
index 2e05786..519680a 100644
--- a/libc/kernel/uapi/linux/virtio_9p.h
+++ b/libc/kernel/uapi/linux/virtio_9p.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_VIRTIO_9P_H
 #define _LINUX_VIRTIO_9P_H
 #include <linux/virtio_types.h>
diff --git a/libc/kernel/uapi/linux/virtio_balloon.h b/libc/kernel/uapi/linux/virtio_balloon.h
index d145caa..f37c148 100644
--- a/libc/kernel/uapi/linux/virtio_balloon.h
+++ b/libc/kernel/uapi/linux/virtio_balloon.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_VIRTIO_BALLOON_H
 #define _LINUX_VIRTIO_BALLOON_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/virtio_blk.h b/libc/kernel/uapi/linux/virtio_blk.h
index 0dd08c5..7cc5139 100644
--- a/libc/kernel/uapi/linux/virtio_blk.h
+++ b/libc/kernel/uapi/linux/virtio_blk.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_VIRTIO_BLK_H
 #define _LINUX_VIRTIO_BLK_H
 #include <linux/types.h>
@@ -32,6 +20,7 @@
 #define VIRTIO_BLK_F_DISCARD 13
 #define VIRTIO_BLK_F_WRITE_ZEROES 14
 #define VIRTIO_BLK_F_SECURE_ERASE 16
+#define VIRTIO_BLK_F_ZONED 17
 #ifndef VIRTIO_BLK_NO_LEGACY
 #define VIRTIO_BLK_F_BARRIER 0
 #define VIRTIO_BLK_F_SCSI 7
@@ -67,6 +56,15 @@
   __virtio32 max_secure_erase_sectors;
   __virtio32 max_secure_erase_seg;
   __virtio32 secure_erase_sector_alignment;
+  struct virtio_blk_zoned_characteristics {
+    __virtio32 zone_sectors;
+    __virtio32 max_open_zones;
+    __virtio32 max_active_zones;
+    __virtio32 max_append_sectors;
+    __virtio32 write_granularity;
+    __u8 model;
+    __u8 unused2[3];
+  } zoned;
 } __attribute__((packed));
 #define VIRTIO_BLK_T_IN 0
 #define VIRTIO_BLK_T_OUT 1
@@ -78,6 +76,13 @@
 #define VIRTIO_BLK_T_DISCARD 11
 #define VIRTIO_BLK_T_WRITE_ZEROES 13
 #define VIRTIO_BLK_T_SECURE_ERASE 14
+#define VIRTIO_BLK_T_ZONE_APPEND 15
+#define VIRTIO_BLK_T_ZONE_REPORT 16
+#define VIRTIO_BLK_T_ZONE_OPEN 18
+#define VIRTIO_BLK_T_ZONE_CLOSE 20
+#define VIRTIO_BLK_T_ZONE_FINISH 22
+#define VIRTIO_BLK_T_ZONE_RESET 24
+#define VIRTIO_BLK_T_ZONE_RESET_ALL 26
 #ifndef VIRTIO_BLK_NO_LEGACY
 #define VIRTIO_BLK_T_BARRIER 0x80000000
 #endif
@@ -86,6 +91,33 @@
   __virtio32 ioprio;
   __virtio64 sector;
 };
+#define VIRTIO_BLK_Z_NONE 0
+#define VIRTIO_BLK_Z_HM 1
+#define VIRTIO_BLK_Z_HA 2
+struct virtio_blk_zone_descriptor {
+  __virtio64 z_cap;
+  __virtio64 z_start;
+  __virtio64 z_wp;
+  __u8 z_type;
+  __u8 z_state;
+  __u8 reserved[38];
+};
+struct virtio_blk_zone_report {
+  __virtio64 nr_zones;
+  __u8 reserved[56];
+  struct virtio_blk_zone_descriptor zones[];
+};
+#define VIRTIO_BLK_ZT_CONV 1
+#define VIRTIO_BLK_ZT_SWR 2
+#define VIRTIO_BLK_ZT_SWP 3
+#define VIRTIO_BLK_ZS_NOT_WP 0
+#define VIRTIO_BLK_ZS_EMPTY 1
+#define VIRTIO_BLK_ZS_IOPEN 2
+#define VIRTIO_BLK_ZS_EOPEN 3
+#define VIRTIO_BLK_ZS_CLOSED 4
+#define VIRTIO_BLK_ZS_RDONLY 13
+#define VIRTIO_BLK_ZS_FULL 14
+#define VIRTIO_BLK_ZS_OFFLINE 15
 #define VIRTIO_BLK_WRITE_ZEROES_FLAG_UNMAP 0x00000001
 struct virtio_blk_discard_write_zeroes {
   __le64 sector;
@@ -103,4 +135,8 @@
 #define VIRTIO_BLK_S_OK 0
 #define VIRTIO_BLK_S_IOERR 1
 #define VIRTIO_BLK_S_UNSUPP 2
+#define VIRTIO_BLK_S_ZONE_INVALID_CMD 3
+#define VIRTIO_BLK_S_ZONE_UNALIGNED_WP 4
+#define VIRTIO_BLK_S_ZONE_OPEN_RESOURCE 5
+#define VIRTIO_BLK_S_ZONE_ACTIVE_RESOURCE 6
 #endif
diff --git a/libc/kernel/uapi/linux/virtio_bt.h b/libc/kernel/uapi/linux/virtio_bt.h
index 9049adc..8799b66 100644
--- a/libc/kernel/uapi/linux/virtio_bt.h
+++ b/libc/kernel/uapi/linux/virtio_bt.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_VIRTIO_BT_H
 #define _UAPI_LINUX_VIRTIO_BT_H
 #include <linux/virtio_types.h>
@@ -25,7 +13,6 @@
 #define VIRTIO_BT_F_CONFIG_V2 3
 enum virtio_bt_config_type {
   VIRTIO_BT_CONFIG_TYPE_PRIMARY = 0,
-  VIRTIO_BT_CONFIG_TYPE_AMP = 1,
 };
 enum virtio_bt_config_vendor {
   VIRTIO_BT_CONFIG_VENDOR_NONE = 0,
diff --git a/libc/kernel/uapi/linux/virtio_config.h b/libc/kernel/uapi/linux/virtio_config.h
index bdd2e73..021845c 100644
--- a/libc/kernel/uapi/linux/virtio_config.h
+++ b/libc/kernel/uapi/linux/virtio_config.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_VIRTIO_CONFIG_H
 #define _UAPI_LINUX_VIRTIO_CONFIG_H
 #include <linux/types.h>
@@ -26,7 +14,7 @@
 #define VIRTIO_CONFIG_S_NEEDS_RESET 0x40
 #define VIRTIO_CONFIG_S_FAILED 0x80
 #define VIRTIO_TRANSPORT_F_START 28
-#define VIRTIO_TRANSPORT_F_END 41
+#define VIRTIO_TRANSPORT_F_END 42
 #ifndef VIRTIO_CONFIG_NO_LEGACY
 #define VIRTIO_F_NOTIFY_ON_EMPTY 24
 #define VIRTIO_F_ANY_LAYOUT 27
@@ -38,5 +26,8 @@
 #define VIRTIO_F_IN_ORDER 35
 #define VIRTIO_F_ORDER_PLATFORM 36
 #define VIRTIO_F_SR_IOV 37
+#define VIRTIO_F_NOTIFICATION_DATA 38
+#define VIRTIO_F_NOTIF_CONFIG_DATA 39
 #define VIRTIO_F_RING_RESET 40
+#define VIRTIO_F_ADMIN_VQ 41
 #endif
diff --git a/libc/kernel/uapi/linux/virtio_console.h b/libc/kernel/uapi/linux/virtio_console.h
index 6eb4d2a..a16bd5b 100644
--- a/libc/kernel/uapi/linux/virtio_console.h
+++ b/libc/kernel/uapi/linux/virtio_console.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_VIRTIO_CONSOLE_H
 #define _UAPI_LINUX_VIRTIO_CONSOLE_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/virtio_crypto.h b/libc/kernel/uapi/linux/virtio_crypto.h
index 7d7561d..1bd4d73 100644
--- a/libc/kernel/uapi/linux/virtio_crypto.h
+++ b/libc/kernel/uapi/linux/virtio_crypto.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _VIRTIO_CRYPTO_H
 #define _VIRTIO_CRYPTO_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/virtio_fs.h b/libc/kernel/uapi/linux/virtio_fs.h
index 62c57cf..2d857e0 100644
--- a/libc/kernel/uapi/linux/virtio_fs.h
+++ b/libc/kernel/uapi/linux/virtio_fs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_VIRTIO_FS_H
 #define _UAPI_LINUX_VIRTIO_FS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/virtio_gpio.h b/libc/kernel/uapi/linux/virtio_gpio.h
index 543fe76..de25bf9 100644
--- a/libc/kernel/uapi/linux/virtio_gpio.h
+++ b/libc/kernel/uapi/linux/virtio_gpio.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_VIRTIO_GPIO_H
 #define _LINUX_VIRTIO_GPIO_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/virtio_gpu.h b/libc/kernel/uapi/linux/virtio_gpu.h
index 8a21afd..c3f0fcc 100644
--- a/libc/kernel/uapi/linux/virtio_gpu.h
+++ b/libc/kernel/uapi/linux/virtio_gpu.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef VIRTIO_GPU_HW_H
 #define VIRTIO_GPU_HW_H
 #include <linux/types.h>
@@ -206,6 +194,7 @@
 };
 #define VIRTIO_GPU_CAPSET_VIRGL 1
 #define VIRTIO_GPU_CAPSET_VIRGL2 2
+#define VIRTIO_GPU_CAPSET_VENUS 4
 struct virtio_gpu_get_capset_info {
   struct virtio_gpu_ctrl_hdr hdr;
   __le32 capset_index;
diff --git a/libc/kernel/uapi/linux/virtio_i2c.h b/libc/kernel/uapi/linux/virtio_i2c.h
index 9540f26..f33e557 100644
--- a/libc/kernel/uapi/linux/virtio_i2c.h
+++ b/libc/kernel/uapi/linux/virtio_i2c.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_VIRTIO_I2C_H
 #define _UAPI_LINUX_VIRTIO_I2C_H
 #include <linux/const.h>
diff --git a/libc/kernel/uapi/linux/virtio_ids.h b/libc/kernel/uapi/linux/virtio_ids.h
index b31ed93..f8120dc 100644
--- a/libc/kernel/uapi/linux/virtio_ids.h
+++ b/libc/kernel/uapi/linux/virtio_ids.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_VIRTIO_IDS_H
 #define _LINUX_VIRTIO_IDS_H
 #define VIRTIO_ID_NET 1
diff --git a/libc/kernel/uapi/linux/virtio_input.h b/libc/kernel/uapi/linux/virtio_input.h
index 188b0bb..ab5d3ee 100644
--- a/libc/kernel/uapi/linux/virtio_input.h
+++ b/libc/kernel/uapi/linux/virtio_input.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_VIRTIO_INPUT_H
 #define _LINUX_VIRTIO_INPUT_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/virtio_iommu.h b/libc/kernel/uapi/linux/virtio_iommu.h
index ec8def8..2e2b333 100644
--- a/libc/kernel/uapi/linux/virtio_iommu.h
+++ b/libc/kernel/uapi/linux/virtio_iommu.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_VIRTIO_IOMMU_H
 #define _UAPI_LINUX_VIRTIO_IOMMU_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/virtio_mem.h b/libc/kernel/uapi/linux/virtio_mem.h
index 66ffce1..770623a 100644
--- a/libc/kernel/uapi/linux/virtio_mem.h
+++ b/libc/kernel/uapi/linux/virtio_mem.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_VIRTIO_MEM_H
 #define _LINUX_VIRTIO_MEM_H
 #include <linux/types.h>
@@ -24,6 +12,7 @@
 #include <linux/virtio_config.h>
 #define VIRTIO_MEM_F_ACPI_PXM 0
 #define VIRTIO_MEM_F_UNPLUGGED_INACCESSIBLE 1
+#define VIRTIO_MEM_F_PERSISTENT_SUSPEND 2
 #define VIRTIO_MEM_REQ_PLUG 0
 #define VIRTIO_MEM_REQ_UNPLUG 1
 #define VIRTIO_MEM_REQ_UNPLUG_ALL 2
diff --git a/libc/kernel/uapi/linux/virtio_mmio.h b/libc/kernel/uapi/linux/virtio_mmio.h
index a420fdc..a3bc216 100644
--- a/libc/kernel/uapi/linux/virtio_mmio.h
+++ b/libc/kernel/uapi/linux/virtio_mmio.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_VIRTIO_MMIO_H
 #define _LINUX_VIRTIO_MMIO_H
 #define VIRTIO_MMIO_MAGIC_VALUE 0x000
diff --git a/libc/kernel/uapi/linux/virtio_net.h b/libc/kernel/uapi/linux/virtio_net.h
index da7285e..26ff301 100644
--- a/libc/kernel/uapi/linux/virtio_net.h
+++ b/libc/kernel/uapi/linux/virtio_net.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_VIRTIO_NET_H
 #define _UAPI_LINUX_VIRTIO_NET_H
 #include <linux/types.h>
@@ -45,11 +33,14 @@
 #define VIRTIO_NET_F_GUEST_ANNOUNCE 21
 #define VIRTIO_NET_F_MQ 22
 #define VIRTIO_NET_F_CTRL_MAC_ADDR 23
+#define VIRTIO_NET_F_DEVICE_STATS 50
+#define VIRTIO_NET_F_VQ_NOTF_COAL 52
 #define VIRTIO_NET_F_NOTF_COAL 53
 #define VIRTIO_NET_F_GUEST_USO4 54
 #define VIRTIO_NET_F_GUEST_USO6 55
 #define VIRTIO_NET_F_HOST_USO 56
 #define VIRTIO_NET_F_HASH_REPORT 57
+#define VIRTIO_NET_F_GUEST_HDRLEN 59
 #define VIRTIO_NET_F_RSS 60
 #define VIRTIO_NET_F_RSC_EXT 61
 #define VIRTIO_NET_F_STANDBY 62
@@ -140,7 +131,7 @@
 };
 #endif
 struct virtio_net_ctrl_hdr {
-  __u8 class;
+  __u8 __linux_class;
   __u8 cmd;
 } __attribute__((packed));
 typedef __u8 virtio_net_ctrl_ack;
@@ -202,4 +193,114 @@
   __le32 rx_usecs;
 };
 #define VIRTIO_NET_CTRL_NOTF_COAL_RX_SET 1
+#define VIRTIO_NET_CTRL_NOTF_COAL_VQ_SET 2
+#define VIRTIO_NET_CTRL_NOTF_COAL_VQ_GET 3
+struct virtio_net_ctrl_coal {
+  __le32 max_packets;
+  __le32 max_usecs;
+};
+struct virtio_net_ctrl_coal_vq {
+  __le16 vqn;
+  __le16 reserved;
+  struct virtio_net_ctrl_coal coal;
+};
+#define VIRTIO_NET_CTRL_STATS 8
+#define VIRTIO_NET_CTRL_STATS_QUERY 0
+#define VIRTIO_NET_CTRL_STATS_GET 1
+struct virtio_net_stats_capabilities {
+#define VIRTIO_NET_STATS_TYPE_CVQ (1ULL << 32)
+#define VIRTIO_NET_STATS_TYPE_RX_BASIC (1ULL << 0)
+#define VIRTIO_NET_STATS_TYPE_RX_CSUM (1ULL << 1)
+#define VIRTIO_NET_STATS_TYPE_RX_GSO (1ULL << 2)
+#define VIRTIO_NET_STATS_TYPE_RX_SPEED (1ULL << 3)
+#define VIRTIO_NET_STATS_TYPE_TX_BASIC (1ULL << 16)
+#define VIRTIO_NET_STATS_TYPE_TX_CSUM (1ULL << 17)
+#define VIRTIO_NET_STATS_TYPE_TX_GSO (1ULL << 18)
+#define VIRTIO_NET_STATS_TYPE_TX_SPEED (1ULL << 19)
+  __le64 supported_stats_types[1];
+};
+struct virtio_net_ctrl_queue_stats {
+  struct {
+    __le16 vq_index;
+    __le16 reserved[3];
+    __le64 types_bitmap[1];
+  } stats[1];
+};
+struct virtio_net_stats_reply_hdr {
+#define VIRTIO_NET_STATS_TYPE_REPLY_CVQ 32
+#define VIRTIO_NET_STATS_TYPE_REPLY_RX_BASIC 0
+#define VIRTIO_NET_STATS_TYPE_REPLY_RX_CSUM 1
+#define VIRTIO_NET_STATS_TYPE_REPLY_RX_GSO 2
+#define VIRTIO_NET_STATS_TYPE_REPLY_RX_SPEED 3
+#define VIRTIO_NET_STATS_TYPE_REPLY_TX_BASIC 16
+#define VIRTIO_NET_STATS_TYPE_REPLY_TX_CSUM 17
+#define VIRTIO_NET_STATS_TYPE_REPLY_TX_GSO 18
+#define VIRTIO_NET_STATS_TYPE_REPLY_TX_SPEED 19
+  __u8 type;
+  __u8 reserved;
+  __le16 vq_index;
+  __le16 reserved1;
+  __le16 size;
+};
+struct virtio_net_stats_cvq {
+  struct virtio_net_stats_reply_hdr hdr;
+  __le64 command_num;
+  __le64 ok_num;
+};
+struct virtio_net_stats_rx_basic {
+  struct virtio_net_stats_reply_hdr hdr;
+  __le64 rx_notifications;
+  __le64 rx_packets;
+  __le64 rx_bytes;
+  __le64 rx_interrupts;
+  __le64 rx_drops;
+  __le64 rx_drop_overruns;
+};
+struct virtio_net_stats_tx_basic {
+  struct virtio_net_stats_reply_hdr hdr;
+  __le64 tx_notifications;
+  __le64 tx_packets;
+  __le64 tx_bytes;
+  __le64 tx_interrupts;
+  __le64 tx_drops;
+  __le64 tx_drop_malformed;
+};
+struct virtio_net_stats_rx_csum {
+  struct virtio_net_stats_reply_hdr hdr;
+  __le64 rx_csum_valid;
+  __le64 rx_needs_csum;
+  __le64 rx_csum_none;
+  __le64 rx_csum_bad;
+};
+struct virtio_net_stats_tx_csum {
+  struct virtio_net_stats_reply_hdr hdr;
+  __le64 tx_csum_none;
+  __le64 tx_needs_csum;
+};
+struct virtio_net_stats_rx_gso {
+  struct virtio_net_stats_reply_hdr hdr;
+  __le64 rx_gso_packets;
+  __le64 rx_gso_bytes;
+  __le64 rx_gso_packets_coalesced;
+  __le64 rx_gso_bytes_coalesced;
+};
+struct virtio_net_stats_tx_gso {
+  struct virtio_net_stats_reply_hdr hdr;
+  __le64 tx_gso_packets;
+  __le64 tx_gso_bytes;
+  __le64 tx_gso_segments;
+  __le64 tx_gso_segments_bytes;
+  __le64 tx_gso_packets_noseg;
+  __le64 tx_gso_bytes_noseg;
+};
+struct virtio_net_stats_rx_speed {
+  struct virtio_net_stats_reply_hdr hdr;
+  __le64 rx_ratelimit_packets;
+  __le64 rx_ratelimit_bytes;
+};
+struct virtio_net_stats_tx_speed {
+  struct virtio_net_stats_reply_hdr hdr;
+  __le64 tx_ratelimit_packets;
+  __le64 tx_ratelimit_bytes;
+};
 #endif
diff --git a/libc/kernel/uapi/linux/virtio_pci.h b/libc/kernel/uapi/linux/virtio_pci.h
index 94ca0a2..8921155 100644
--- a/libc/kernel/uapi/linux/virtio_pci.h
+++ b/libc/kernel/uapi/linux/virtio_pci.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_VIRTIO_PCI_H
 #define _LINUX_VIRTIO_PCI_H
 #include <linux/types.h>
@@ -86,6 +74,13 @@
   __le32 queue_used_lo;
   __le32 queue_used_hi;
 };
+struct virtio_pci_modern_common_cfg {
+  struct virtio_pci_common_cfg cfg;
+  __le16 queue_notify_data;
+  __le16 queue_reset;
+  __le16 admin_queue_index;
+  __le16 admin_queue_num;
+};
 struct virtio_pci_cfg_cap {
   struct virtio_pci_cap cap;
   __u8 pci_cfg_data[4];
@@ -119,5 +114,48 @@
 #define VIRTIO_PCI_COMMON_Q_USEDHI 52
 #define VIRTIO_PCI_COMMON_Q_NDATA 56
 #define VIRTIO_PCI_COMMON_Q_RESET 58
+#define VIRTIO_PCI_COMMON_ADM_Q_IDX 60
+#define VIRTIO_PCI_COMMON_ADM_Q_NUM 62
 #endif
+#define VIRTIO_ADMIN_STATUS_OK 0
+#define VIRTIO_ADMIN_CMD_LIST_QUERY 0x0
+#define VIRTIO_ADMIN_CMD_LIST_USE 0x1
+#define VIRTIO_ADMIN_GROUP_TYPE_SRIOV 0x1
+#define VIRTIO_ADMIN_CMD_LEGACY_COMMON_CFG_WRITE 0x2
+#define VIRTIO_ADMIN_CMD_LEGACY_COMMON_CFG_READ 0x3
+#define VIRTIO_ADMIN_CMD_LEGACY_DEV_CFG_WRITE 0x4
+#define VIRTIO_ADMIN_CMD_LEGACY_DEV_CFG_READ 0x5
+#define VIRTIO_ADMIN_CMD_LEGACY_NOTIFY_INFO 0x6
+struct virtio_admin_cmd_hdr {
+  __le16 opcode;
+  __le16 group_type;
+  __u8 reserved1[12];
+  __le64 group_member_id;
+};
+struct virtio_admin_cmd_status {
+  __le16 status;
+  __le16 status_qualifier;
+  __u8 reserved2[4];
+};
+struct virtio_admin_cmd_legacy_wr_data {
+  __u8 offset;
+  __u8 reserved[7];
+  __u8 registers[];
+};
+struct virtio_admin_cmd_legacy_rd_data {
+  __u8 offset;
+};
+#define VIRTIO_ADMIN_CMD_NOTIFY_INFO_FLAGS_END 0
+#define VIRTIO_ADMIN_CMD_NOTIFY_INFO_FLAGS_OWNER_DEV 0x1
+#define VIRTIO_ADMIN_CMD_NOTIFY_INFO_FLAGS_OWNER_MEM 0x2
+#define VIRTIO_ADMIN_CMD_MAX_NOTIFY_INFO 4
+struct virtio_admin_cmd_notify_info_data {
+  __u8 flags;
+  __u8 bar;
+  __u8 padding[6];
+  __le64 offset;
+};
+struct virtio_admin_cmd_notify_info_result {
+  struct virtio_admin_cmd_notify_info_data entries[VIRTIO_ADMIN_CMD_MAX_NOTIFY_INFO];
+};
 #endif
diff --git a/libc/kernel/uapi/linux/virtio_pcidev.h b/libc/kernel/uapi/linux/virtio_pcidev.h
index 01c5869..4a67a5d 100644
--- a/libc/kernel/uapi/linux/virtio_pcidev.h
+++ b/libc/kernel/uapi/linux/virtio_pcidev.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_VIRTIO_PCIDEV_H
 #define _UAPI_LINUX_VIRTIO_PCIDEV_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/virtio_pmem.h b/libc/kernel/uapi/linux/virtio_pmem.h
index 838f9d6..da0f764 100644
--- a/libc/kernel/uapi/linux/virtio_pmem.h
+++ b/libc/kernel/uapi/linux/virtio_pmem.h
@@ -1,26 +1,16 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_VIRTIO_PMEM_H
 #define _UAPI_LINUX_VIRTIO_PMEM_H
 #include <linux/types.h>
 #include <linux/virtio_ids.h>
 #include <linux/virtio_config.h>
+#define VIRTIO_PMEM_F_SHMEM_REGION 0
+#define VIRTIO_PMEM_SHMEM_REGION_ID 0
 struct virtio_pmem_config {
   __le64 start;
   __le64 size;
diff --git a/libc/kernel/uapi/linux/virtio_ring.h b/libc/kernel/uapi/linux/virtio_ring.h
index 24cf671..ce26caf 100644
--- a/libc/kernel/uapi/linux/virtio_ring.h
+++ b/libc/kernel/uapi/linux/virtio_ring.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_VIRTIO_RING_H
 #define _UAPI_LINUX_VIRTIO_RING_H
 #include <stdint.h>
diff --git a/libc/kernel/uapi/linux/virtio_rng.h b/libc/kernel/uapi/linux/virtio_rng.h
index b6471fd..76a3735 100644
--- a/libc/kernel/uapi/linux/virtio_rng.h
+++ b/libc/kernel/uapi/linux/virtio_rng.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_VIRTIO_RNG_H
 #define _LINUX_VIRTIO_RNG_H
 #include <linux/virtio_ids.h>
diff --git a/libc/kernel/uapi/linux/virtio_scmi.h b/libc/kernel/uapi/linux/virtio_scmi.h
index 7907ed4..1b77fcb 100644
--- a/libc/kernel/uapi/linux/virtio_scmi.h
+++ b/libc/kernel/uapi/linux/virtio_scmi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_VIRTIO_SCMI_H
 #define _UAPI_LINUX_VIRTIO_SCMI_H
 #include <linux/virtio_types.h>
diff --git a/libc/kernel/uapi/linux/virtio_scsi.h b/libc/kernel/uapi/linux/virtio_scsi.h
index 74e6ac8..83f0030 100644
--- a/libc/kernel/uapi/linux/virtio_scsi.h
+++ b/libc/kernel/uapi/linux/virtio_scsi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_VIRTIO_SCSI_H
 #define _LINUX_VIRTIO_SCSI_H
 #include <linux/virtio_types.h>
diff --git a/libc/kernel/uapi/linux/virtio_snd.h b/libc/kernel/uapi/linux/virtio_snd.h
index 60dfa62..7318e29 100644
--- a/libc/kernel/uapi/linux/virtio_snd.h
+++ b/libc/kernel/uapi/linux/virtio_snd.h
@@ -1,28 +1,20 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef VIRTIO_SND_IF_H
 #define VIRTIO_SND_IF_H
 #include <linux/virtio_types.h>
+enum {
+  VIRTIO_SND_F_CTLS = 0
+};
 struct virtio_snd_config {
   __le32 jacks;
   __le32 streams;
   __le32 chmaps;
+  __le32 controls;
 };
 enum {
   VIRTIO_SND_VQ_CONTROL = 0,
@@ -45,10 +37,18 @@
   VIRTIO_SND_R_PCM_START,
   VIRTIO_SND_R_PCM_STOP,
   VIRTIO_SND_R_CHMAP_INFO = 0x0200,
+  VIRTIO_SND_R_CTL_INFO = 0x0300,
+  VIRTIO_SND_R_CTL_ENUM_ITEMS,
+  VIRTIO_SND_R_CTL_READ,
+  VIRTIO_SND_R_CTL_WRITE,
+  VIRTIO_SND_R_CTL_TLV_READ,
+  VIRTIO_SND_R_CTL_TLV_WRITE,
+  VIRTIO_SND_R_CTL_TLV_COMMAND,
   VIRTIO_SND_EVT_JACK_CONNECTED = 0x1000,
   VIRTIO_SND_EVT_JACK_DISCONNECTED,
   VIRTIO_SND_EVT_PCM_PERIOD_ELAPSED = 0x1100,
   VIRTIO_SND_EVT_PCM_XRUN,
+  VIRTIO_SND_EVT_CTL_NOTIFY = 0x1200,
   VIRTIO_SND_S_OK = 0x8000,
   VIRTIO_SND_S_BAD_MSG,
   VIRTIO_SND_S_NOT_SUPP,
@@ -221,4 +221,83 @@
   __u8 channels;
   __u8 positions[VIRTIO_SND_CHMAP_MAX_SIZE];
 };
+struct virtio_snd_ctl_hdr {
+  struct virtio_snd_hdr hdr;
+  __le32 control_id;
+};
+enum {
+  VIRTIO_SND_CTL_ROLE_UNDEFINED = 0,
+  VIRTIO_SND_CTL_ROLE_VOLUME,
+  VIRTIO_SND_CTL_ROLE_MUTE,
+  VIRTIO_SND_CTL_ROLE_GAIN
+};
+enum {
+  VIRTIO_SND_CTL_TYPE_BOOLEAN = 0,
+  VIRTIO_SND_CTL_TYPE_INTEGER,
+  VIRTIO_SND_CTL_TYPE_INTEGER64,
+  VIRTIO_SND_CTL_TYPE_ENUMERATED,
+  VIRTIO_SND_CTL_TYPE_BYTES,
+  VIRTIO_SND_CTL_TYPE_IEC958
+};
+enum {
+  VIRTIO_SND_CTL_ACCESS_READ = 0,
+  VIRTIO_SND_CTL_ACCESS_WRITE,
+  VIRTIO_SND_CTL_ACCESS_VOLATILE,
+  VIRTIO_SND_CTL_ACCESS_INACTIVE,
+  VIRTIO_SND_CTL_ACCESS_TLV_READ,
+  VIRTIO_SND_CTL_ACCESS_TLV_WRITE,
+  VIRTIO_SND_CTL_ACCESS_TLV_COMMAND
+};
+struct virtio_snd_ctl_info {
+  struct virtio_snd_info hdr;
+  __le32 role;
+  __le32 type;
+  __le32 access;
+  __le32 count;
+  __le32 index;
+  __u8 name[44];
+  union {
+    struct {
+      __le32 min;
+      __le32 max;
+      __le32 step;
+    } integer;
+    struct {
+      __le64 min;
+      __le64 max;
+      __le64 step;
+    } integer64;
+    struct {
+      __le32 items;
+    } enumerated;
+  } value;
+};
+struct virtio_snd_ctl_enum_item {
+  __u8 item[64];
+};
+struct virtio_snd_ctl_iec958 {
+  __u8 status[24];
+  __u8 subcode[147];
+  __u8 pad;
+  __u8 dig_subframe[4];
+};
+struct virtio_snd_ctl_value {
+  union {
+    __le32 integer[128];
+    __le64 integer64[64];
+    __le32 enumerated[128];
+    __u8 bytes[512];
+    struct virtio_snd_ctl_iec958 iec958;
+  } value;
+};
+enum {
+  VIRTIO_SND_CTL_EVT_MASK_VALUE = 0,
+  VIRTIO_SND_CTL_EVT_MASK_INFO,
+  VIRTIO_SND_CTL_EVT_MASK_TLV
+};
+struct virtio_snd_ctl_event {
+  struct virtio_snd_hdr hdr;
+  __le16 control_id;
+  __le16 mask;
+};
 #endif
diff --git a/libc/kernel/uapi/linux/virtio_types.h b/libc/kernel/uapi/linux/virtio_types.h
index b04e6e6..1f023a0 100644
--- a/libc/kernel/uapi/linux/virtio_types.h
+++ b/libc/kernel/uapi/linux/virtio_types.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_VIRTIO_TYPES_H
 #define _UAPI_LINUX_VIRTIO_TYPES_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/virtio_vsock.h b/libc/kernel/uapi/linux/virtio_vsock.h
index 73b5d49..3eac719 100644
--- a/libc/kernel/uapi/linux/virtio_vsock.h
+++ b/libc/kernel/uapi/linux/virtio_vsock.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_VIRTIO_VSOCK_H
 #define _UAPI_LINUX_VIRTIO_VSOCK_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/vm_sockets.h b/libc/kernel/uapi/linux/vm_sockets.h
index 58f720d..bd84f44 100644
--- a/libc/kernel/uapi/linux/vm_sockets.h
+++ b/libc/kernel/uapi/linux/vm_sockets.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_VM_SOCKETS_H
 #define _UAPI_VM_SOCKETS_H
 #include <linux/socket.h>
@@ -52,4 +40,6 @@
   unsigned char svm_zero[sizeof(struct sockaddr) - sizeof(sa_family_t) - sizeof(unsigned short) - sizeof(unsigned int) - sizeof(unsigned int) - sizeof(__u8)];
 };
 #define IOCTL_VM_SOCKETS_GET_LOCAL_CID _IO(7, 0xb9)
+#define SOL_VSOCK 287
+#define VSOCK_RECVERR 1
 #endif
diff --git a/libc/kernel/uapi/linux/vm_sockets_diag.h b/libc/kernel/uapi/linux/vm_sockets_diag.h
index 2f9840b..28a1d17 100644
--- a/libc/kernel/uapi/linux/vm_sockets_diag.h
+++ b/libc/kernel/uapi/linux/vm_sockets_diag.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__VM_SOCKETS_DIAG_H__
 #define _UAPI__VM_SOCKETS_DIAG_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/vmcore.h b/libc/kernel/uapi/linux/vmcore.h
index 3fa7fee..aef56ac 100644
--- a/libc/kernel/uapi/linux/vmcore.h
+++ b/libc/kernel/uapi/linux/vmcore.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_VMCORE_H
 #define _UAPI_VMCORE_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/vsockmon.h b/libc/kernel/uapi/linux/vsockmon.h
index 6435b5a..8e2e902 100644
--- a/libc/kernel/uapi/linux/vsockmon.h
+++ b/libc/kernel/uapi/linux/vsockmon.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_VSOCKMON_H
 #define _UAPI_VSOCKMON_H
 #include <linux/virtio_vsock.h>
diff --git a/libc/kernel/uapi/linux/vt.h b/libc/kernel/uapi/linux/vt.h
index 1a708cc..a89e78c 100644
--- a/libc/kernel/uapi/linux/vt.h
+++ b/libc/kernel/uapi/linux/vt.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_VT_H
 #define _UAPI_LINUX_VT_H
 #define MIN_NR_CONSOLES 1
diff --git a/libc/kernel/uapi/linux/vtpm_proxy.h b/libc/kernel/uapi/linux/vtpm_proxy.h
index 0ab0536..6121c86 100644
--- a/libc/kernel/uapi/linux/vtpm_proxy.h
+++ b/libc/kernel/uapi/linux/vtpm_proxy.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_VTPM_PROXY_H
 #define _UAPI_LINUX_VTPM_PROXY_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/wait.h b/libc/kernel/uapi/linux/wait.h
index 385e882..800135e 100644
--- a/libc/kernel/uapi/linux/wait.h
+++ b/libc/kernel/uapi/linux/wait.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_WAIT_H
 #define _UAPI_LINUX_WAIT_H
 #define WNOHANG 0x00000001
diff --git a/libc/kernel/uapi/linux/watch_queue.h b/libc/kernel/uapi/linux/watch_queue.h
index 4c4fd01..ef5e8ef 100644
--- a/libc/kernel/uapi/linux/watch_queue.h
+++ b/libc/kernel/uapi/linux/watch_queue.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_WATCH_QUEUE_H
 #define _UAPI_LINUX_WATCH_QUEUE_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/watchdog.h b/libc/kernel/uapi/linux/watchdog.h
index cac0816..63c5f5f 100644
--- a/libc/kernel/uapi/linux/watchdog.h
+++ b/libc/kernel/uapi/linux/watchdog.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_WATCHDOG_H
 #define _UAPI_LINUX_WATCHDOG_H
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/linux/wireguard.h b/libc/kernel/uapi/linux/wireguard.h
index 6a4128b..2d3cbfd 100644
--- a/libc/kernel/uapi/linux/wireguard.h
+++ b/libc/kernel/uapi/linux/wireguard.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _WG_UAPI_WIREGUARD_H
 #define _WG_UAPI_WIREGUARD_H
 #define WG_GENL_NAME "wireguard"
diff --git a/libc/kernel/uapi/linux/wireless.h b/libc/kernel/uapi/linux/wireless.h
index eb57fff..a727167 100644
--- a/libc/kernel/uapi/linux/wireless.h
+++ b/libc/kernel/uapi/linux/wireless.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_WIRELESS_H
 #define _UAPI_LINUX_WIRELESS_H
 #include <linux/types.h>
@@ -314,7 +302,7 @@
   struct sockaddr addr;
   __u16 alg;
   __u16 key_len;
-  __u8 key[0];
+  __u8 key[];
 };
 struct iw_mlme {
   __u16 cmd;
diff --git a/libc/kernel/uapi/linux/wmi.h b/libc/kernel/uapi/linux/wmi.h
index 7b72056..052800c 100644
--- a/libc/kernel/uapi/linux/wmi.h
+++ b/libc/kernel/uapi/linux/wmi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_WMI_H
 #define _UAPI_LINUX_WMI_H
 #include <linux/ioctl.h>
diff --git a/libc/kernel/uapi/linux/wwan.h b/libc/kernel/uapi/linux/wwan.h
index 9f68713..d849c14 100644
--- a/libc/kernel/uapi/linux/wwan.h
+++ b/libc/kernel/uapi/linux/wwan.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_WWAN_H_
 #define _UAPI_WWAN_H_
 enum {
diff --git a/libc/kernel/uapi/linux/x25.h b/libc/kernel/uapi/linux/x25.h
index 6655bf9..5a2e40f 100644
--- a/libc/kernel/uapi/linux/x25.h
+++ b/libc/kernel/uapi/linux/x25.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef X25_KERNEL_H
 #define X25_KERNEL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/xattr.h b/libc/kernel/uapi/linux/xattr.h
index fd02159..e126151 100644
--- a/libc/kernel/uapi/linux/xattr.h
+++ b/libc/kernel/uapi/linux/xattr.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #include <linux/libc-compat.h>
 #ifndef _UAPI_LINUX_XATTR_H
 #define _UAPI_LINUX_XATTR_H
diff --git a/libc/kernel/uapi/linux/xdp_diag.h b/libc/kernel/uapi/linux/xdp_diag.h
index 1fe9d49..73a7d18 100644
--- a/libc/kernel/uapi/linux/xdp_diag.h
+++ b/libc/kernel/uapi/linux/xdp_diag.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_XDP_DIAG_H
 #define _LINUX_XDP_DIAG_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/xfrm.h b/libc/kernel/uapi/linux/xfrm.h
index b8a2efc..9509efe 100644
--- a/libc/kernel/uapi/linux/xfrm.h
+++ b/libc/kernel/uapi/linux/xfrm.h
@@ -1,25 +1,14 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX_XFRM_H
 #define _LINUX_XFRM_H
 #include <linux/in6.h>
 #include <linux/types.h>
+#include <linux/stddef.h>
 typedef union {
   __be32 a4;
   __be32 a6[4];
@@ -35,7 +24,7 @@
   __u8 ctx_alg;
   __u16 ctx_len;
   __u32 ctx_sid;
-  char ctx_str[];
+  char ctx_str[] __counted_by(ctx_len);
 };
 #define XFRM_SC_DOI_RESERVED 0
 #define XFRM_SC_DOI_LSM 1
@@ -122,6 +111,10 @@
   XFRM_POLICY_MASK = 3,
   XFRM_POLICY_MAX = 3
 };
+enum xfrm_sa_dir {
+  XFRM_SA_DIR_IN = 1,
+  XFRM_SA_DIR_OUT = 2
+};
 enum {
   XFRM_SHARE_ANY,
   XFRM_SHARE_SESSION,
@@ -266,6 +259,8 @@
   XFRMA_SET_MARK_MASK,
   XFRMA_IF_ID,
   XFRMA_MTIMER_THRESH,
+  XFRMA_SA_DIR,
+  XFRMA_NAT_KEEPALIVE_INTERVAL,
   __XFRMA_MAX
 #define XFRMA_OUTPUT_MARK XFRMA_SET_MARK
 #define XFRMA_MAX (__XFRMA_MAX - 1)
diff --git a/libc/kernel/uapi/linux/xilinx-v4l2-controls.h b/libc/kernel/uapi/linux/xilinx-v4l2-controls.h
index 75c3628..b5c1e3d 100644
--- a/libc/kernel/uapi/linux/xilinx-v4l2-controls.h
+++ b/libc/kernel/uapi/linux/xilinx-v4l2-controls.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_XILINX_V4L2_CONTROLS_H__
 #define __UAPI_XILINX_V4L2_CONTROLS_H__
 #include <linux/v4l2-controls.h>
diff --git a/libc/kernel/uapi/linux/zorro.h b/libc/kernel/uapi/linux/zorro.h
index 86320aa..e27e1ef 100644
--- a/libc/kernel/uapi/linux/zorro.h
+++ b/libc/kernel/uapi/linux/zorro.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_ZORRO_H
 #define _UAPI_LINUX_ZORRO_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/linux/zorro_ids.h b/libc/kernel/uapi/linux/zorro_ids.h
index 99687a3..05239cd 100644
--- a/libc/kernel/uapi/linux/zorro_ids.h
+++ b/libc/kernel/uapi/linux/zorro_ids.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #define ZORRO_MANUF_PACIFIC_PERIPHERALS 0x00D3
 #define ZORRO_PROD_PACIFIC_PERIPHERALS_SE_2000_A500 ZORRO_ID(PACIFIC_PERIPHERALS, 0x00, 0)
 #define ZORRO_PROD_PACIFIC_PERIPHERALS_SCSI ZORRO_ID(PACIFIC_PERIPHERALS, 0x0A, 0)
@@ -366,6 +354,8 @@
 #define ZORRO_MANUF_VMC 0x1389
 #define ZORRO_PROD_VMC_ISDN_BLASTER_Z2 ZORRO_ID(VMC, 0x01, 0)
 #define ZORRO_PROD_VMC_HYPERCOM_4 ZORRO_ID(VMC, 0x02, 0)
+#define ZORRO_MANUF_CSLAB 0x1400
+#define ZORRO_PROD_CSLAB_WARP_1260 ZORRO_ID(CSLAB, 0x65, 0)
 #define ZORRO_MANUF_INFORMATION 0x157C
 #define ZORRO_PROD_INFORMATION_ISDN_ENGINE_I ZORRO_ID(INFORMATION, 0x64, 0)
 #define ZORRO_MANUF_VORTEX 0x2017
diff --git a/libc/kernel/uapi/misc/cxl.h b/libc/kernel/uapi/misc/cxl.h
index 64b5992..d05ef53 100644
--- a/libc/kernel/uapi/misc/cxl.h
+++ b/libc/kernel/uapi/misc/cxl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_MISC_CXL_H
 #define _UAPI_MISC_CXL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/misc/fastrpc.h b/libc/kernel/uapi/misc/fastrpc.h
index 336ecf2..09d21eb 100644
--- a/libc/kernel/uapi/misc/fastrpc.h
+++ b/libc/kernel/uapi/misc/fastrpc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __QCOM_FASTRPC_H__
 #define __QCOM_FASTRPC_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/misc/mrvl_cn10k_dpi.h b/libc/kernel/uapi/misc/mrvl_cn10k_dpi.h
new file mode 100644
index 0000000..7d8671f
--- /dev/null
+++ b/libc/kernel/uapi/misc/mrvl_cn10k_dpi.h
@@ -0,0 +1,26 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef __MRVL_CN10K_DPI_H__
+#define __MRVL_CN10K_DPI_H__
+#include <linux/types.h>
+#define DPI_MAX_ENGINES 6
+struct dpi_mps_mrrs_cfg {
+  __u16 max_read_req_sz;
+  __u16 max_payload_sz;
+  __u16 port;
+  __u16 reserved;
+};
+struct dpi_engine_cfg {
+  __u64 fifo_mask;
+  __u16 molr[DPI_MAX_ENGINES];
+  __u16 update_molr;
+  __u16 reserved;
+};
+#define DPI_MAGIC_NUM 0xB8
+#define DPI_MPS_MRRS_CFG _IOW(DPI_MAGIC_NUM, 1, struct dpi_mps_mrrs_cfg)
+#define DPI_ENGINE_CFG _IOW(DPI_MAGIC_NUM, 2, struct dpi_engine_cfg)
+#endif
diff --git a/libc/kernel/uapi/misc/ocxl.h b/libc/kernel/uapi/misc/ocxl.h
index 676aaf8..a7d3d7f 100644
--- a/libc/kernel/uapi/misc/ocxl.h
+++ b/libc/kernel/uapi/misc/ocxl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_MISC_OCXL_H
 #define _UAPI_MISC_OCXL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/misc/pvpanic.h b/libc/kernel/uapi/misc/pvpanic.h
index 18edcd8..8e1be62 100644
--- a/libc/kernel/uapi/misc/pvpanic.h
+++ b/libc/kernel/uapi/misc/pvpanic.h
@@ -1,23 +1,13 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __PVPANIC_H__
 #define __PVPANIC_H__
-#define PVPANIC_PANICKED (1 << 0)
-#define PVPANIC_CRASH_LOADED (1 << 1)
+#include <linux/const.h>
+#define PVPANIC_PANICKED _BITUL(0)
+#define PVPANIC_CRASH_LOADED _BITUL(1)
+#define PVPANIC_SHUTDOWN _BITUL(2)
 #endif
diff --git a/libc/kernel/uapi/misc/uacce/hisi_qm.h b/libc/kernel/uapi/misc/uacce/hisi_qm.h
index d2509d0..b5611d1 100644
--- a/libc/kernel/uapi/misc/uacce/hisi_qm.h
+++ b/libc/kernel/uapi/misc/uacce/hisi_qm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_HISI_QM_H
 #define _UAPI_HISI_QM_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/misc/uacce/uacce.h b/libc/kernel/uapi/misc/uacce/uacce.h
index 469d188..f6ecfaa 100644
--- a/libc/kernel/uapi/misc/uacce/uacce.h
+++ b/libc/kernel/uapi/misc/uacce/uacce.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPIUUACCE_H
 #define _UAPIUUACCE_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/misc/xilinx_sdfec.h b/libc/kernel/uapi/misc/xilinx_sdfec.h
index 8dde40d..1a42307 100644
--- a/libc/kernel/uapi/misc/xilinx_sdfec.h
+++ b/libc/kernel/uapi/misc/xilinx_sdfec.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __XILINX_SDFEC_H__
 #define __XILINX_SDFEC_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/mtd/inftl-user.h b/libc/kernel/uapi/mtd/inftl-user.h
index 6d5059e..accbccb 100644
--- a/libc/kernel/uapi/mtd/inftl-user.h
+++ b/libc/kernel/uapi/mtd/inftl-user.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __MTD_INFTL_USER_H__
 #define __MTD_INFTL_USER_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/mtd/mtd-abi.h b/libc/kernel/uapi/mtd/mtd-abi.h
index aed2acc..009a8e9 100644
--- a/libc/kernel/uapi/mtd/mtd-abi.h
+++ b/libc/kernel/uapi/mtd/mtd-abi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __MTD_ABI_H__
 #define __MTD_ABI_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/mtd/mtd-user.h b/libc/kernel/uapi/mtd/mtd-user.h
index a7ad6ad..73ac8e1 100644
--- a/libc/kernel/uapi/mtd/mtd-user.h
+++ b/libc/kernel/uapi/mtd/mtd-user.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __MTD_USER_H__
 #define __MTD_USER_H__
 #include <mtd/mtd-abi.h>
diff --git a/libc/kernel/uapi/mtd/nftl-user.h b/libc/kernel/uapi/mtd/nftl-user.h
index 99ac366..a446798 100644
--- a/libc/kernel/uapi/mtd/nftl-user.h
+++ b/libc/kernel/uapi/mtd/nftl-user.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __MTD_NFTL_USER_H__
 #define __MTD_NFTL_USER_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/mtd/ubi-user.h b/libc/kernel/uapi/mtd/ubi-user.h
index db203d5..bb9a6cb 100644
--- a/libc/kernel/uapi/mtd/ubi-user.h
+++ b/libc/kernel/uapi/mtd/ubi-user.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UBI_USER_H__
 #define __UBI_USER_H__
 #include <linux/types.h>
@@ -57,7 +45,8 @@
   __s32 vid_hdr_offset;
   __s16 max_beb_per1024;
   __s8 disable_fm;
-  __s8 padding[9];
+  __s8 need_resv_pool;
+  __s8 padding[8];
 };
 enum {
   UBI_VOL_SKIP_CRC_CHECK_FLG = 0x1,
diff --git a/libc/kernel/uapi/rdma/bnxt_re-abi.h b/libc/kernel/uapi/rdma/bnxt_re-abi.h
index 62ba685..50f8b8a 100644
--- a/libc/kernel/uapi/rdma/bnxt_re-abi.h
+++ b/libc/kernel/uapi/rdma/bnxt_re-abi.h
@@ -1,24 +1,13 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __BNXT_RE_UVERBS_ABI_H__
 #define __BNXT_RE_UVERBS_ABI_H__
 #include <linux/types.h>
+#include <rdma/ib_user_ioctl_cmds.h>
 #define BNXT_RE_ABI_VERSION 1
 #define BNXT_RE_CHIP_ID0_CHIP_NUM_SFT 0x00
 #define BNXT_RE_CHIP_ID0_CHIP_REV_SFT 0x10
@@ -26,12 +15,22 @@
 enum {
   BNXT_RE_UCNTX_CMASK_HAVE_CCTX = 0x1ULL,
   BNXT_RE_UCNTX_CMASK_HAVE_MODE = 0x02ULL,
+  BNXT_RE_UCNTX_CMASK_WC_DPI_ENABLED = 0x04ULL,
+  BNXT_RE_UCNTX_CMASK_DBR_PACING_ENABLED = 0x08ULL,
+  BNXT_RE_UCNTX_CMASK_POW2_DISABLED = 0x10ULL,
+  BNXT_RE_UCNTX_CMASK_MSN_TABLE_ENABLED = 0x40,
 };
 enum bnxt_re_wqe_mode {
   BNXT_QPLIB_WQE_MODE_STATIC = 0x00,
   BNXT_QPLIB_WQE_MODE_VARIABLE = 0x01,
   BNXT_QPLIB_WQE_MODE_INVALID = 0x02,
 };
+enum {
+  BNXT_RE_COMP_MASK_REQ_UCNTX_POW2_SUPPORT = 0x01,
+};
+struct bnxt_re_uctx_req {
+  __aligned_u64 comp_mask;
+};
 struct bnxt_re_uctx_resp {
   __u32 dev_id;
   __u32 max_qp;
@@ -54,11 +53,18 @@
   __aligned_u64 cq_va;
   __aligned_u64 cq_handle;
 };
+enum bnxt_re_cq_mask {
+  BNXT_RE_CQ_TOGGLE_PAGE_SUPPORT = 0x1,
+};
 struct bnxt_re_cq_resp {
   __u32 cqid;
   __u32 tail;
   __u32 phase;
   __u32 rsvd;
+  __aligned_u64 comp_mask;
+};
+struct bnxt_re_resize_cq_req {
+  __aligned_u64 cq_va;
 };
 struct bnxt_re_qp_req {
   __aligned_u64 qpsva;
@@ -82,4 +88,50 @@
   BNXT_RE_AVID_SIZE = 0x04,
   BNXT_RE_END_RESV_OFFT = 0xFF0
 };
+enum bnxt_re_objects {
+  BNXT_RE_OBJECT_ALLOC_PAGE = (1U << UVERBS_ID_NS_SHIFT),
+  BNXT_RE_OBJECT_NOTIFY_DRV,
+  BNXT_RE_OBJECT_GET_TOGGLE_MEM,
+};
+enum bnxt_re_alloc_page_type {
+  BNXT_RE_ALLOC_WC_PAGE = 0,
+  BNXT_RE_ALLOC_DBR_BAR_PAGE,
+  BNXT_RE_ALLOC_DBR_PAGE,
+};
+enum bnxt_re_var_alloc_page_attrs {
+  BNXT_RE_ALLOC_PAGE_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
+  BNXT_RE_ALLOC_PAGE_TYPE,
+  BNXT_RE_ALLOC_PAGE_DPI,
+  BNXT_RE_ALLOC_PAGE_MMAP_OFFSET,
+  BNXT_RE_ALLOC_PAGE_MMAP_LENGTH,
+};
+enum bnxt_re_alloc_page_attrs {
+  BNXT_RE_DESTROY_PAGE_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
+};
+enum bnxt_re_alloc_page_methods {
+  BNXT_RE_METHOD_ALLOC_PAGE = (1U << UVERBS_ID_NS_SHIFT),
+  BNXT_RE_METHOD_DESTROY_PAGE,
+};
+enum bnxt_re_notify_drv_methods {
+  BNXT_RE_METHOD_NOTIFY_DRV = (1U << UVERBS_ID_NS_SHIFT),
+};
+enum bnxt_re_get_toggle_mem_type {
+  BNXT_RE_CQ_TOGGLE_MEM = 0,
+  BNXT_RE_SRQ_TOGGLE_MEM,
+};
+enum bnxt_re_var_toggle_mem_attrs {
+  BNXT_RE_TOGGLE_MEM_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
+  BNXT_RE_TOGGLE_MEM_TYPE,
+  BNXT_RE_TOGGLE_MEM_RES_ID,
+  BNXT_RE_TOGGLE_MEM_MMAP_PAGE,
+  BNXT_RE_TOGGLE_MEM_MMAP_OFFSET,
+  BNXT_RE_TOGGLE_MEM_MMAP_LENGTH,
+};
+enum bnxt_re_toggle_mem_attrs {
+  BNXT_RE_RELEASE_TOGGLE_MEM_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
+};
+enum bnxt_re_toggle_mem_methods {
+  BNXT_RE_METHOD_GET_TOGGLE_MEM = (1U << UVERBS_ID_NS_SHIFT),
+  BNXT_RE_METHOD_RELEASE_TOGGLE_MEM,
+};
 #endif
diff --git a/libc/kernel/uapi/rdma/cxgb4-abi.h b/libc/kernel/uapi/rdma/cxgb4-abi.h
index 5433ce6..5e84fba 100644
--- a/libc/kernel/uapi/rdma/cxgb4-abi.h
+++ b/libc/kernel/uapi/rdma/cxgb4-abi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef CXGB4_ABI_USER_H
 #define CXGB4_ABI_USER_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/rdma/efa-abi.h b/libc/kernel/uapi/rdma/efa-abi.h
index bfb3f18..d4a9089 100644
--- a/libc/kernel/uapi/rdma/efa-abi.h
+++ b/libc/kernel/uapi/rdma/efa-abi.h
@@ -1,24 +1,13 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef EFA_ABI_USER_H
 #define EFA_ABI_USER_H
 #include <linux/types.h>
+#include <rdma/ib_user_ioctl_cmds.h>
 #define EFA_UVERBS_ABI_VERSION 1
 enum {
   EFA_ALLOC_UCONTEXT_CMD_COMP_TX_BATCH = 1 << 0,
@@ -74,11 +63,16 @@
 enum {
   EFA_QP_DRIVER_TYPE_SRD = 0,
 };
+enum {
+  EFA_CREATE_QP_WITH_UNSOLICITED_WRITE_RECV = 1 << 0,
+};
 struct efa_ibv_create_qp {
   __u32 comp_mask;
   __u32 rq_ring_size;
   __u32 sq_ring_size;
   __u32 driver_qp_type;
+  __u16 flags;
+  __u8 reserved_90[6];
 };
 struct efa_ibv_create_qp_resp {
   __u32 comp_mask;
@@ -104,6 +98,9 @@
   EFA_QUERY_DEVICE_CAPS_RNR_RETRY = 1 << 1,
   EFA_QUERY_DEVICE_CAPS_CQ_NOTIFICATIONS = 1 << 2,
   EFA_QUERY_DEVICE_CAPS_CQ_WITH_SGID = 1 << 3,
+  EFA_QUERY_DEVICE_CAPS_DATA_POLLING_128 = 1 << 4,
+  EFA_QUERY_DEVICE_CAPS_RDMA_WRITE = 1 << 5,
+  EFA_QUERY_DEVICE_CAPS_UNSOLICITED_WRITE_RECV = 1 << 6,
 };
 struct efa_ibv_ex_query_device_resp {
   __u32 comp_mask;
@@ -114,4 +111,19 @@
   __u32 max_rdma_size;
   __u32 device_caps;
 };
+enum {
+  EFA_QUERY_MR_VALIDITY_RECV_IC_ID = 1 << 0,
+  EFA_QUERY_MR_VALIDITY_RDMA_READ_IC_ID = 1 << 1,
+  EFA_QUERY_MR_VALIDITY_RDMA_RECV_IC_ID = 1 << 2,
+};
+enum efa_query_mr_attrs {
+  EFA_IB_ATTR_QUERY_MR_HANDLE = (1U << UVERBS_ID_NS_SHIFT),
+  EFA_IB_ATTR_QUERY_MR_RESP_IC_ID_VALIDITY,
+  EFA_IB_ATTR_QUERY_MR_RESP_RECV_IC_ID,
+  EFA_IB_ATTR_QUERY_MR_RESP_RDMA_READ_IC_ID,
+  EFA_IB_ATTR_QUERY_MR_RESP_RDMA_RECV_IC_ID,
+};
+enum efa_mr_methods {
+  EFA_IB_METHOD_MR_QUERY = (1U << UVERBS_ID_NS_SHIFT),
+};
 #endif
diff --git a/libc/kernel/uapi/rdma/erdma-abi.h b/libc/kernel/uapi/rdma/erdma-abi.h
index 4df1757..23afddc 100644
--- a/libc/kernel/uapi/rdma/erdma-abi.h
+++ b/libc/kernel/uapi/rdma/erdma-abi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __ERDMA_USER_H__
 #define __ERDMA_USER_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/rdma/hfi/hfi1_ioctl.h b/libc/kernel/uapi/rdma/hfi/hfi1_ioctl.h
index a430650..783aa6b 100644
--- a/libc/kernel/uapi/rdma/hfi/hfi1_ioctl.h
+++ b/libc/kernel/uapi/rdma/hfi/hfi1_ioctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX__HFI1_IOCTL_H
 #define _LINUX__HFI1_IOCTL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/rdma/hfi/hfi1_user.h b/libc/kernel/uapi/rdma/hfi/hfi1_user.h
index 6d58600..81c3f7f 100644
--- a/libc/kernel/uapi/rdma/hfi/hfi1_user.h
+++ b/libc/kernel/uapi/rdma/hfi/hfi1_user.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _LINUX__HFI1_USER_H
 #define _LINUX__HFI1_USER_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/rdma/hns-abi.h b/libc/kernel/uapi/rdma/hns-abi.h
index 0407571..b76e45c 100644
--- a/libc/kernel/uapi/rdma/hns-abi.h
+++ b/libc/kernel/uapi/rdma/hns-abi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef HNS_ABI_USER_H
 #define HNS_ABI_USER_H
 #include <linux/types.h>
@@ -32,14 +20,31 @@
   __aligned_u64 cqn;
   __aligned_u64 cap_flags;
 };
+enum hns_roce_srq_cap_flags {
+  HNS_ROCE_SRQ_CAP_RECORD_DB = 1 << 0,
+};
+enum hns_roce_srq_cap_flags_resp {
+  HNS_ROCE_RSP_SRQ_CAP_RECORD_DB = 1 << 0,
+};
 struct hns_roce_ib_create_srq {
   __aligned_u64 buf_addr;
   __aligned_u64 db_addr;
   __aligned_u64 que_addr;
+  __u32 req_cap_flags;
+  __u32 reserved;
 };
 struct hns_roce_ib_create_srq_resp {
   __u32 srqn;
-  __u32 reserved;
+  __u32 cap_flags;
+};
+enum hns_roce_congest_type_flags {
+  HNS_ROCE_CREATE_QP_FLAGS_DCQCN,
+  HNS_ROCE_CREATE_QP_FLAGS_LDCP,
+  HNS_ROCE_CREATE_QP_FLAGS_HC3,
+  HNS_ROCE_CREATE_QP_FLAGS_DIP,
+};
+enum hns_roce_create_qp_comp_mask {
+  HNS_ROCE_CREATE_QP_MASK_CONGEST_TYPE = 1 << 0,
 };
 struct hns_roce_ib_create_qp {
   __aligned_u64 buf_addr;
@@ -49,6 +54,9 @@
   __u8 sq_no_prefetch;
   __u8 reserved[5];
   __aligned_u64 sdb_addr;
+  __aligned_u64 comp_mask;
+  __aligned_u64 create_flags;
+  __aligned_u64 cong_type_flags;
 };
 enum hns_roce_qp_cap_flags {
   HNS_ROCE_QP_CAP_RQ_RECORD_DB = 1 << 0,
@@ -60,11 +68,20 @@
   __aligned_u64 cap_flags;
   __aligned_u64 dwqe_mmap_key;
 };
+struct hns_roce_ib_modify_qp_resp {
+  __u8 tc_mode;
+  __u8 priority;
+  __u8 reserved[6];
+};
 enum {
   HNS_ROCE_EXSGE_FLAGS = 1 << 0,
+  HNS_ROCE_RQ_INLINE_FLAGS = 1 << 1,
+  HNS_ROCE_CQE_INLINE_FLAGS = 1 << 2,
 };
 enum {
   HNS_ROCE_RSP_EXSGE_FLAGS = 1 << 0,
+  HNS_ROCE_RSP_RQ_INLINE_FLAGS = 1 << 1,
+  HNS_ROCE_RSP_CQE_INLINE_FLAGS = 1 << 2,
 };
 struct hns_roce_ib_alloc_ucontext_resp {
   __u32 qp_tab_size;
@@ -73,6 +90,8 @@
   __u32 reserved;
   __u32 config;
   __u32 max_inline_data;
+  __u8 congest_type;
+  __u8 reserved0[7];
 };
 struct hns_roce_ib_alloc_ucontext {
   __u32 config;
@@ -81,4 +100,9 @@
 struct hns_roce_ib_alloc_pd_resp {
   __u32 pdn;
 };
+struct hns_roce_ib_create_ah_resp {
+  __u8 dmac[6];
+  __u8 priority;
+  __u8 tc_mode;
+};
 #endif
diff --git a/libc/kernel/uapi/rdma/ib_user_ioctl_cmds.h b/libc/kernel/uapi/rdma/ib_user_ioctl_cmds.h
index f96b4e8..5f5c426 100644
--- a/libc/kernel/uapi/rdma/ib_user_ioctl_cmds.h
+++ b/libc/kernel/uapi/rdma/ib_user_ioctl_cmds.h
@@ -1,27 +1,13 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef IB_USER_IOCTL_CMDS_H
 #define IB_USER_IOCTL_CMDS_H
 #define UVERBS_ID_NS_MASK 0xF000
 #define UVERBS_ID_NS_SHIFT 12
-#define UVERBS_UDATA_DRIVER_DATA_NS 1
-#define UVERBS_UDATA_DRIVER_DATA_FLAG (1UL << UVERBS_ID_NS_SHIFT)
 enum uverbs_default_objects {
   UVERBS_OBJECT_DEVICE,
   UVERBS_OBJECT_PD,
@@ -42,8 +28,10 @@
   UVERBS_OBJECT_ASYNC_EVENT,
 };
 enum {
-  UVERBS_ATTR_UHW_IN = UVERBS_UDATA_DRIVER_DATA_FLAG,
+  UVERBS_ID_DRIVER_NS = 1UL << UVERBS_ID_NS_SHIFT,
+  UVERBS_ATTR_UHW_IN = UVERBS_ID_DRIVER_NS,
   UVERBS_ATTR_UHW_OUT,
+  UVERBS_ID_DRIVER_NS_WITH_UHW,
 };
 enum uverbs_methods_device {
   UVERBS_METHOD_INVOKE_WRITE,
diff --git a/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h b/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h
index 6b9a436..9feec8e 100644
--- a/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h
+++ b/libc/kernel/uapi/rdma/ib_user_ioctl_verbs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef IB_USER_IOCTL_VERBS_H
 #define IB_USER_IOCTL_VERBS_H
 #include <linux/types.h>
@@ -163,7 +151,8 @@
 struct ib_uverbs_query_port_resp_ex {
   struct ib_uverbs_query_port_resp legacy_resp;
   __u16 port_cap_flags2;
-  __u8 reserved[6];
+  __u8 reserved[2];
+  __u32 active_speed_ex;
 };
 struct ib_uverbs_qp_cap {
   __u32 max_send_wr;
diff --git a/libc/kernel/uapi/rdma/ib_user_mad.h b/libc/kernel/uapi/rdma/ib_user_mad.h
index 04b9f08..b0ce93a 100644
--- a/libc/kernel/uapi/rdma/ib_user_mad.h
+++ b/libc/kernel/uapi/rdma/ib_user_mad.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef IB_USER_MAD_H
 #define IB_USER_MAD_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/rdma/ib_user_sa.h b/libc/kernel/uapi/rdma/ib_user_sa.h
index c999320..0254936 100644
--- a/libc/kernel/uapi/rdma/ib_user_sa.h
+++ b/libc/kernel/uapi/rdma/ib_user_sa.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef IB_USER_SA_H
 #define IB_USER_SA_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/rdma/ib_user_verbs.h b/libc/kernel/uapi/rdma/ib_user_verbs.h
index 6894bf1..6e27db4 100644
--- a/libc/kernel/uapi/rdma/ib_user_verbs.h
+++ b/libc/kernel/uapi/rdma/ib_user_verbs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef IB_USER_VERBS_H
 #define IB_USER_VERBS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/rdma/irdma-abi.h b/libc/kernel/uapi/rdma/irdma-abi.h
index b6840cf..32a2190 100644
--- a/libc/kernel/uapi/rdma/irdma-abi.h
+++ b/libc/kernel/uapi/rdma/irdma-abi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef IRDMA_ABI_H
 #define IRDMA_ABI_H
 #include <linux/types.h>
@@ -25,10 +13,15 @@
   IRDMA_MEMREG_TYPE_QP = 1,
   IRDMA_MEMREG_TYPE_CQ = 2,
 };
+enum {
+  IRDMA_ALLOC_UCTX_USE_RAW_ATTR = 1 << 0,
+  IRDMA_ALLOC_UCTX_MIN_HW_WQ_SIZE = 1 << 1,
+};
 struct irdma_alloc_ucontext_req {
   __u32 rsvd32;
   __u8 userspace_ver;
   __u8 rsvd8[3];
+  __aligned_u64 comp_mask;
 };
 struct irdma_alloc_ucontext_resp {
   __u32 max_pds;
@@ -48,6 +41,9 @@
   __u16 max_hw_sq_chunk;
   __u8 hw_rev;
   __u8 rsvd2;
+  __aligned_u64 comp_mask;
+  __u16 min_hw_wq_size;
+  __u8 rsvd3[6];
 };
 struct irdma_alloc_pd_resp {
   __u32 pd_id;
diff --git a/libc/kernel/uapi/rdma/mana-abi.h b/libc/kernel/uapi/rdma/mana-abi.h
index 4f1a73f..02bb061 100644
--- a/libc/kernel/uapi/rdma/mana-abi.h
+++ b/libc/kernel/uapi/rdma/mana-abi.h
@@ -1,28 +1,26 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef MANA_ABI_USER_H
 #define MANA_ABI_USER_H
 #include <linux/types.h>
 #include <rdma/ib_user_ioctl_verbs.h>
 #define MANA_IB_UVERBS_ABI_VERSION 1
+enum mana_ib_create_cq_flags {
+  MANA_IB_CREATE_RNIC_CQ = 1 << 0,
+};
 struct mana_ib_create_cq {
   __aligned_u64 buf_addr;
+  __u16 flags;
+  __u16 reserved0;
+  __u32 reserved1;
+};
+struct mana_ib_create_cq_resp {
+  __u32 cqid;
+  __u32 reserved;
 };
 struct mana_ib_create_qp {
   __aligned_u64 sq_buf_addr;
@@ -35,6 +33,13 @@
   __u32 tx_vp_offset;
   __u32 reserved;
 };
+struct mana_ib_create_rc_qp {
+  __aligned_u64 queue_buf[4];
+  __u32 queue_size[4];
+};
+struct mana_ib_create_rc_qp_resp {
+  __u32 queue_id[4];
+};
 struct mana_ib_create_wq {
   __aligned_u64 wq_buf_addr;
   __u32 wq_buf_size;
diff --git a/libc/kernel/uapi/rdma/mlx4-abi.h b/libc/kernel/uapi/rdma/mlx4-abi.h
index 121762b..4c2055c 100644
--- a/libc/kernel/uapi/rdma/mlx4-abi.h
+++ b/libc/kernel/uapi/rdma/mlx4-abi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef MLX4_ABI_USER_H
 #define MLX4_ABI_USER_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/rdma/mlx5-abi.h b/libc/kernel/uapi/rdma/mlx5-abi.h
index f41c887..22cf99e 100644
--- a/libc/kernel/uapi/rdma/mlx5-abi.h
+++ b/libc/kernel/uapi/rdma/mlx5-abi.h
@@ -1,26 +1,15 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef MLX5_ABI_USER_H
 #define MLX5_ABI_USER_H
 #include <linux/types.h>
 #include <linux/if_ether.h>
 #include <rdma/ib_user_ioctl_verbs.h>
+#include <rdma/mlx5_user_ioctl_verbs.h>
 enum {
   MLX5_QP_FLAG_SIGNATURE = 1 << 0,
   MLX5_QP_FLAG_SCATTER_CQE = 1 << 1,
@@ -198,6 +187,7 @@
   __u32 tunnel_offloads_caps;
   struct mlx5_ib_dci_streams_caps dci_streams_caps;
   __u16 reserved;
+  struct mlx5_ib_uapi_reg reg_c0;
 };
 enum mlx5_ib_create_cq_flags {
   MLX5_IB_CREATE_CQ_FLAGS_CQE_128B_PAD = 1 << 0,
diff --git a/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h b/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h
index c060482..ebafb00 100644
--- a/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h
+++ b/libc/kernel/uapi/rdma/mlx5_user_ioctl_cmds.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef MLX5_USER_IOCTL_CMDS_H
 #define MLX5_USER_IOCTL_CMDS_H
 #include <linux/types.h>
@@ -213,6 +201,9 @@
 enum mlx5_ib_device_query_context_attrs {
   MLX5_IB_ATTR_QUERY_CONTEXT_RESP_UCTX = (1U << UVERBS_ID_NS_SHIFT),
 };
+enum mlx5_ib_create_cq_attrs {
+  MLX5_IB_ATTR_CREATE_CQ_UAR_INDEX = UVERBS_ID_DRIVER_NS_WITH_UHW,
+};
 #define MLX5_IB_DW_MATCH_PARAM 0xA0
 struct mlx5_ib_match_params {
   __u32 match_params[MLX5_IB_DW_MATCH_PARAM];
diff --git a/libc/kernel/uapi/rdma/mlx5_user_ioctl_verbs.h b/libc/kernel/uapi/rdma/mlx5_user_ioctl_verbs.h
index f68c0b3..f087ee8 100644
--- a/libc/kernel/uapi/rdma/mlx5_user_ioctl_verbs.h
+++ b/libc/kernel/uapi/rdma/mlx5_user_ioctl_verbs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef MLX5_USER_IOCTL_VERBS_H
 #define MLX5_USER_IOCTL_VERBS_H
 #include <linux/types.h>
@@ -44,6 +32,7 @@
   MLX5_IB_UAPI_DM_TYPE_STEERING_SW_ICM,
   MLX5_IB_UAPI_DM_TYPE_HEADER_MODIFY_SW_ICM,
   MLX5_IB_UAPI_DM_TYPE_HEADER_MODIFY_PATTERN_SW_ICM,
+  MLX5_IB_UAPI_DM_TYPE_ENCAP_SW_ICM,
 };
 enum mlx5_ib_uapi_devx_create_event_channel_flags {
   MLX5_IB_UAPI_DEVX_CR_EV_CH_FLAGS_OMIT_DATA = 1 << 0,
diff --git a/libc/kernel/uapi/rdma/mthca-abi.h b/libc/kernel/uapi/rdma/mthca-abi.h
index 86224f2..7719d8c 100644
--- a/libc/kernel/uapi/rdma/mthca-abi.h
+++ b/libc/kernel/uapi/rdma/mthca-abi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef MTHCA_ABI_USER_H
 #define MTHCA_ABI_USER_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/rdma/ocrdma-abi.h b/libc/kernel/uapi/rdma/ocrdma-abi.h
index 007f0e1..ae7752b 100644
--- a/libc/kernel/uapi/rdma/ocrdma-abi.h
+++ b/libc/kernel/uapi/rdma/ocrdma-abi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef OCRDMA_ABI_USER_H
 #define OCRDMA_ABI_USER_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/rdma/qedr-abi.h b/libc/kernel/uapi/rdma/qedr-abi.h
index bf6dc76..b9a84bb 100644
--- a/libc/kernel/uapi/rdma/qedr-abi.h
+++ b/libc/kernel/uapi/rdma/qedr-abi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __QEDR_USER_H__
 #define __QEDR_USER_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/rdma/rdma_netlink.h b/libc/kernel/uapi/rdma/rdma_netlink.h
index bdb5fdd..ac027ac 100644
--- a/libc/kernel/uapi/rdma/rdma_netlink.h
+++ b/libc/kernel/uapi/rdma/rdma_netlink.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_RDMA_NETLINK_H
 #define _UAPI_RDMA_NETLINK_H
 #include <linux/types.h>
@@ -210,6 +198,9 @@
   RDMA_NLDEV_CMD_RES_CTX_GET,
   RDMA_NLDEV_CMD_RES_SRQ_GET,
   RDMA_NLDEV_CMD_STAT_GET_STATUS,
+  RDMA_NLDEV_CMD_RES_SRQ_GET_RAW,
+  RDMA_NLDEV_CMD_NEWDEV,
+  RDMA_NLDEV_CMD_DELDEV,
   RDMA_NLDEV_NUM_OPS
 };
 enum rdma_nldev_print_type {
@@ -314,6 +305,12 @@
   RDMA_NLDEV_SYS_ATTR_COPY_ON_FORK,
   RDMA_NLDEV_ATTR_STAT_HWCOUNTER_INDEX,
   RDMA_NLDEV_ATTR_STAT_HWCOUNTER_DYNAMIC,
+  RDMA_NLDEV_SYS_ATTR_PRIVILEGED_QKEY_MODE,
+  RDMA_NLDEV_ATTR_DRIVER_DETAILS,
+  RDMA_NLDEV_ATTR_RES_SUBTYPE,
+  RDMA_NLDEV_ATTR_DEV_TYPE,
+  RDMA_NLDEV_ATTR_PARENT_NAME,
+  RDMA_NLDEV_ATTR_NAME_ASSIGN_TYPE,
   RDMA_NLDEV_ATTR_MAX
 };
 enum rdma_nl_counter_mode {
@@ -326,4 +323,11 @@
   RDMA_COUNTER_MASK_QP_TYPE = 1,
   RDMA_COUNTER_MASK_PID = 1 << 1,
 };
+enum rdma_nl_dev_type {
+  RDMA_DEVICE_TYPE_SMI = 1,
+};
+enum rdma_nl_name_assign_type {
+  RDMA_NAME_ASSIGN_TYPE_UNKNOWN = 0,
+  RDMA_NAME_ASSIGN_TYPE_USER = 1,
+};
 #endif
diff --git a/libc/kernel/uapi/rdma/rdma_user_cm.h b/libc/kernel/uapi/rdma/rdma_user_cm.h
index 37927f8..5228e62 100644
--- a/libc/kernel/uapi/rdma/rdma_user_cm.h
+++ b/libc/kernel/uapi/rdma/rdma_user_cm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef RDMA_USER_CM_H
 #define RDMA_USER_CM_H
 #include <linux/types.h>
@@ -88,7 +76,7 @@
   __u32 id;
   __u16 addr_size;
   __u16 reserved;
-  struct __kernel_sockaddr_storage addr;
+  struct sockaddr_storage addr;
 };
 struct rdma_ucm_resolve_ip {
   struct sockaddr_in6 src_addr;
@@ -102,8 +90,8 @@
   __u16 src_size;
   __u16 dst_size;
   __u32 reserved;
-  struct __kernel_sockaddr_storage src_addr;
-  struct __kernel_sockaddr_storage dst_addr;
+  struct sockaddr_storage src_addr;
+  struct sockaddr_storage dst_addr;
 };
 struct rdma_ucm_resolve_route {
   __u32 id;
@@ -137,8 +125,8 @@
   __u16 pkey;
   __u16 src_size;
   __u16 dst_size;
-  struct __kernel_sockaddr_storage src_addr;
-  struct __kernel_sockaddr_storage dst_addr;
+  struct sockaddr_storage src_addr;
+  struct sockaddr_storage dst_addr;
   __u32 ibdev_index;
   __u32 reserved1;
 };
@@ -225,7 +213,7 @@
   __u32 id;
   __u16 addr_size;
   __u16 join_flags;
-  struct __kernel_sockaddr_storage addr;
+  struct sockaddr_storage addr;
 };
 struct rdma_ucm_get_event {
   __aligned_u64 response;
diff --git a/libc/kernel/uapi/rdma/rdma_user_ioctl.h b/libc/kernel/uapi/rdma/rdma_user_ioctl.h
index 2f532d3..d367547 100644
--- a/libc/kernel/uapi/rdma/rdma_user_ioctl.h
+++ b/libc/kernel/uapi/rdma/rdma_user_ioctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef RDMA_USER_IOCTL_H
 #define RDMA_USER_IOCTL_H
 #include <rdma/ib_user_mad.h>
diff --git a/libc/kernel/uapi/rdma/rdma_user_ioctl_cmds.h b/libc/kernel/uapi/rdma/rdma_user_ioctl_cmds.h
index dbaf9ed..fa67359 100644
--- a/libc/kernel/uapi/rdma/rdma_user_ioctl_cmds.h
+++ b/libc/kernel/uapi/rdma/rdma_user_ioctl_cmds.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef RDMA_USER_IOCTL_CMDS_H
 #define RDMA_USER_IOCTL_CMDS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/rdma/rdma_user_rxe.h b/libc/kernel/uapi/rdma/rdma_user_rxe.h
index e7619d8..57b6467 100644
--- a/libc/kernel/uapi/rdma/rdma_user_rxe.h
+++ b/libc/kernel/uapi/rdma/rdma_user_rxe.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef RDMA_USER_RXE_H
 #define RDMA_USER_RXE_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/rdma/rvt-abi.h b/libc/kernel/uapi/rdma/rvt-abi.h
index 49632ee..13c7a6e 100644
--- a/libc/kernel/uapi/rdma/rvt-abi.h
+++ b/libc/kernel/uapi/rdma/rvt-abi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef RVT_ABI_USER_H
 #define RVT_ABI_USER_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/rdma/siw-abi.h b/libc/kernel/uapi/rdma/siw-abi.h
index e2363a1..297794a 100644
--- a/libc/kernel/uapi/rdma/siw-abi.h
+++ b/libc/kernel/uapi/rdma/siw-abi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _SIW_USER_H
 #define _SIW_USER_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/rdma/vmw_pvrdma-abi.h b/libc/kernel/uapi/rdma/vmw_pvrdma-abi.h
index f4444c4..54fa907 100644
--- a/libc/kernel/uapi/rdma/vmw_pvrdma-abi.h
+++ b/libc/kernel/uapi/rdma/vmw_pvrdma-abi.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __VMW_PVRDMA_ABI_H__
 #define __VMW_PVRDMA_ABI_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/regulator/regulator.h b/libc/kernel/uapi/regulator/regulator.h
new file mode 100644
index 0000000..23ce7c6
--- /dev/null
+++ b/libc/kernel/uapi/regulator/regulator.h
@@ -0,0 +1,47 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef _UAPI_REGULATOR_H
+#define _UAPI_REGULATOR_H
+#include <stdint.h>
+#define REGULATOR_EVENT_UNDER_VOLTAGE 0x01
+#define REGULATOR_EVENT_OVER_CURRENT 0x02
+#define REGULATOR_EVENT_REGULATION_OUT 0x04
+#define REGULATOR_EVENT_FAIL 0x08
+#define REGULATOR_EVENT_OVER_TEMP 0x10
+#define REGULATOR_EVENT_FORCE_DISABLE 0x20
+#define REGULATOR_EVENT_VOLTAGE_CHANGE 0x40
+#define REGULATOR_EVENT_DISABLE 0x80
+#define REGULATOR_EVENT_PRE_VOLTAGE_CHANGE 0x100
+#define REGULATOR_EVENT_ABORT_VOLTAGE_CHANGE 0x200
+#define REGULATOR_EVENT_PRE_DISABLE 0x400
+#define REGULATOR_EVENT_ABORT_DISABLE 0x800
+#define REGULATOR_EVENT_ENABLE 0x1000
+#define REGULATOR_EVENT_UNDER_VOLTAGE_WARN 0x2000
+#define REGULATOR_EVENT_OVER_CURRENT_WARN 0x4000
+#define REGULATOR_EVENT_OVER_VOLTAGE_WARN 0x8000
+#define REGULATOR_EVENT_OVER_TEMP_WARN 0x10000
+#define REGULATOR_EVENT_WARN_MASK 0x1E000
+struct reg_genl_event {
+  char reg_name[32];
+  uint64_t event;
+};
+enum {
+  REG_GENL_ATTR_UNSPEC,
+  REG_GENL_ATTR_EVENT,
+  __REG_GENL_ATTR_MAX,
+};
+#define REG_GENL_ATTR_MAX (__REG_GENL_ATTR_MAX - 1)
+enum {
+  REG_GENL_CMD_UNSPEC,
+  REG_GENL_CMD_EVENT,
+  __REG_GENL_CMD_MAX,
+};
+#define REG_GENL_CMD_MAX (__REG_GENL_CMD_MAX - 1)
+#define REG_GENL_FAMILY_NAME "reg_event"
+#define REG_GENL_VERSION 0x01
+#define REG_GENL_MCAST_GROUP_NAME "reg_mc_group"
+#endif
diff --git a/libc/kernel/uapi/scsi/cxlflash_ioctl.h b/libc/kernel/uapi/scsi/cxlflash_ioctl.h
index 9781905..008b77c 100644
--- a/libc/kernel/uapi/scsi/cxlflash_ioctl.h
+++ b/libc/kernel/uapi/scsi/cxlflash_ioctl.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _CXLFLASH_IOCTL_H
 #define _CXLFLASH_IOCTL_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/scsi/fc/fc_els.h b/libc/kernel/uapi/scsi/fc/fc_els.h
index d29287d..8bd37ea 100644
--- a/libc/kernel/uapi/scsi/fc/fc_els.h
+++ b/libc/kernel/uapi/scsi/fc/fc_els.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _FC_ELS_H_
 #define _FC_ELS_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/scsi/fc/fc_fs.h b/libc/kernel/uapi/scsi/fc/fc_fs.h
index 510d361..4583e97 100644
--- a/libc/kernel/uapi/scsi/fc/fc_fs.h
+++ b/libc/kernel/uapi/scsi/fc/fc_fs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _FC_FS_H_
 #define _FC_FS_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/scsi/fc/fc_gs.h b/libc/kernel/uapi/scsi/fc/fc_gs.h
index bcbf7a3..8f3f6b7 100644
--- a/libc/kernel/uapi/scsi/fc/fc_gs.h
+++ b/libc/kernel/uapi/scsi/fc/fc_gs.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _FC_GS_H_
 #define _FC_GS_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/scsi/fc/fc_ns.h b/libc/kernel/uapi/scsi/fc/fc_ns.h
index 58fee9a..d926b61 100644
--- a/libc/kernel/uapi/scsi/fc/fc_ns.h
+++ b/libc/kernel/uapi/scsi/fc/fc_ns.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _FC_NS_H_
 #define _FC_NS_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/scsi/scsi_bsg_fc.h b/libc/kernel/uapi/scsi/scsi_bsg_fc.h
index 2647249..78a2e5d 100644
--- a/libc/kernel/uapi/scsi/scsi_bsg_fc.h
+++ b/libc/kernel/uapi/scsi/scsi_bsg_fc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef SCSI_BSG_FC_H
 #define SCSI_BSG_FC_H
 #include <linux/types.h>
@@ -69,7 +57,7 @@
   __u32 vendor_cmd[];
 };
 struct fc_bsg_host_vendor_reply {
-  __u32 vendor_rsp[0];
+  __DECLARE_FLEX_ARRAY(__u32, vendor_rsp);
 };
 struct fc_bsg_rport_els {
   __u8 els_code;
diff --git a/libc/kernel/uapi/scsi/scsi_bsg_mpi3mr.h b/libc/kernel/uapi/scsi/scsi_bsg_mpi3mr.h
index fcba8cd..fe3094e 100644
--- a/libc/kernel/uapi/scsi/scsi_bsg_mpi3mr.h
+++ b/libc/kernel/uapi/scsi/scsi_bsg_mpi3mr.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef SCSI_BSG_MPI3MR_H_INCLUDED
 #define SCSI_BSG_MPI3MR_H_INCLUDED
 #include <linux/types.h>
@@ -156,7 +144,7 @@
 };
 struct mpi3mr_bsg_in_hdb_status {
   __u8 num_hdb_types;
-  __u8 rsvd1;
+  __u8 element_trigger_format;
   __u16 rsvd2;
   __u32 rsvd3;
   struct mpi3mr_hdb_entry entry[1];
@@ -188,7 +176,7 @@
   __u8 mpi_reply_type;
   __u8 rsvd1;
   __u16 rsvd2;
-  __u8 reply_buf[1];
+  __u8 reply_buf[];
 };
 struct mpi3mr_buf_entry {
   __u8 buf_type;
@@ -220,9 +208,6 @@
     struct mpi3mr_bsg_mptcmd mptcmd;
   } cmd;
 };
-#ifndef MPI3_NVME_ENCAP_CMD_MAX
-#define MPI3_NVME_ENCAP_CMD_MAX (1)
-#endif
 struct mpi3_nvme_encapsulated_request {
   __le16 host_tag;
   __u8 ioc_use_only02;
@@ -236,7 +221,7 @@
   __le16 flags;
   __le32 data_length;
   __le32 reserved14[3];
-  __le32 command[MPI3_NVME_ENCAP_CMD_MAX];
+  __le32 command[];
 };
 struct mpi3_nvme_encapsulated_error_reply {
   __le16 host_tag;
@@ -257,6 +242,8 @@
 #define MPI3MR_NVME_DATA_FORMAT_PRP 0
 #define MPI3MR_NVME_DATA_FORMAT_SGL1 1
 #define MPI3MR_NVME_DATA_FORMAT_SGL2 2
+#define MPI3MR_NVMESGL_DATA_SEGMENT 0x00
+#define MPI3MR_NVMESGL_LAST_SEGMENT 0x03
 struct mpi3_scsi_task_mgmt_request {
   __le16 host_tag;
   __u8 ioc_use_only02;
diff --git a/libc/kernel/uapi/scsi/scsi_bsg_ufs.h b/libc/kernel/uapi/scsi/scsi_bsg_ufs.h
index ae5c757..5a4b1b2 100644
--- a/libc/kernel/uapi/scsi/scsi_bsg_ufs.h
+++ b/libc/kernel/uapi/scsi/scsi_bsg_ufs.h
@@ -1,31 +1,62 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef SCSI_BSG_UFS_H
 #define SCSI_BSG_UFS_H
+#include <asm/byteorder.h>
 #include <linux/types.h>
 #define UFS_CDB_SIZE 16
-#define UPIU_TRANSACTION_UIC_CMD 0x1F
 #define UIC_CMD_SIZE (sizeof(__u32) * 4)
+enum ufs_bsg_msg_code {
+  UPIU_TRANSACTION_UIC_CMD = 0x1F,
+  UPIU_TRANSACTION_ARPMB_CMD,
+};
+enum ufs_rpmb_op_type {
+  UFS_RPMB_WRITE_KEY = 0x01,
+  UFS_RPMB_READ_CNT = 0x02,
+  UFS_RPMB_WRITE = 0x03,
+  UFS_RPMB_READ = 0x04,
+  UFS_RPMB_READ_RESP = 0x05,
+  UFS_RPMB_SEC_CONF_WRITE = 0x06,
+  UFS_RPMB_SEC_CONF_READ = 0x07,
+  UFS_RPMB_PURGE_ENABLE = 0x08,
+  UFS_RPMB_PURGE_STATUS_READ = 0x09,
+};
 struct utp_upiu_header {
-  __be32 dword_0;
-  __be32 dword_1;
-  __be32 dword_2;
+  union {
+    struct {
+      __be32 dword_0;
+      __be32 dword_1;
+      __be32 dword_2;
+    };
+    struct {
+      __u8 transaction_code;
+      __u8 flags;
+      __u8 lun;
+      __u8 task_tag;
+#ifdef __BIG_ENDIAN
+      __u8 iid : 4;
+      __u8 command_set_type : 4;
+#elif defined(__LITTLE_ENDIAN)
+      __u8 command_set_type : 4;
+      __u8 iid : 4;
+#else
+#error 
+#endif
+      union {
+        __u8 tm_function;
+        __u8 query_function;
+      } __attribute__((packed));
+      __u8 response;
+      __u8 status;
+      __u8 ehs_length;
+      __u8 device_information;
+      __be16 data_segment_length;
+    };
+  };
 };
 struct utp_upiu_query {
   __u8 opcode;
@@ -37,6 +68,18 @@
   __be32 value;
   __be32 reserved[2];
 };
+struct utp_upiu_query_v4_0 {
+  __u8 opcode;
+  __u8 idn;
+  __u8 index;
+  __u8 selector;
+  __u8 osf3;
+  __u8 osf4;
+  __be16 osf5;
+  __be32 osf6;
+  __be32 osf7;
+  __be32 reserved;
+};
 struct utp_upiu_cmd {
   __be32 exp_data_transfer_len;
   __u8 cdb[UFS_CDB_SIZE];
@@ -49,13 +92,36 @@
     struct utp_upiu_query uc;
   };
 };
+struct ufs_arpmb_meta {
+  __be16 req_resp_type;
+  __u8 nonce[16];
+  __be32 write_counter;
+  __be16 addr_lun;
+  __be16 block_count;
+  __be16 result;
+} __attribute__((__packed__));
+struct ufs_ehs {
+  __u8 length;
+  __u8 ehs_type;
+  __be16 ehssub_type;
+  struct ufs_arpmb_meta meta;
+  __u8 mac_key[32];
+} __attribute__((__packed__));
 struct ufs_bsg_request {
   __u32 msgcode;
   struct utp_upiu_req upiu_req;
 };
 struct ufs_bsg_reply {
-  __u32 result;
+  int result;
   __u32 reply_payload_rcv_len;
   struct utp_upiu_req upiu_rsp;
 };
+struct ufs_rpmb_request {
+  struct ufs_bsg_request bsg_request;
+  struct ufs_ehs ehs_req;
+};
+struct ufs_rpmb_reply {
+  struct ufs_bsg_reply bsg_reply;
+  struct ufs_ehs ehs_rsp;
+};
 #endif
diff --git a/libc/kernel/uapi/scsi/scsi_netlink.h b/libc/kernel/uapi/scsi/scsi_netlink.h
index 2e1b6cf..154a934 100644
--- a/libc/kernel/uapi/scsi/scsi_netlink.h
+++ b/libc/kernel/uapi/scsi/scsi_netlink.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef SCSI_NETLINK_H
 #define SCSI_NETLINK_H
 #include <linux/netlink.h>
diff --git a/libc/kernel/uapi/scsi/scsi_netlink_fc.h b/libc/kernel/uapi/scsi/scsi_netlink_fc.h
index 6eeb866..5d82af4 100644
--- a/libc/kernel/uapi/scsi/scsi_netlink_fc.h
+++ b/libc/kernel/uapi/scsi/scsi_netlink_fc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef SCSI_NETLINK_FC_H
 #define SCSI_NETLINK_FC_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/sound/asequencer.h b/libc/kernel/uapi/sound/asequencer.h
index 01a5058..a3826a5 100644
--- a/libc/kernel/uapi/sound/asequencer.h
+++ b/libc/kernel/uapi/sound/asequencer.h
@@ -1,25 +1,13 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__SOUND_ASEQUENCER_H
 #define _UAPI__SOUND_ASEQUENCER_H
 #include <sound/asound.h>
-#define SNDRV_SEQ_VERSION SNDRV_PROTOCOL_VERSION(1, 0, 2)
+#define SNDRV_SEQ_VERSION SNDRV_PROTOCOL_VERSION(1, 0, 4)
 #define SNDRV_SEQ_EVENT_SYSTEM 0
 #define SNDRV_SEQ_EVENT_RESULT 1
 #define SNDRV_SEQ_EVENT_NOTE 5
@@ -106,6 +94,7 @@
 #define SNDRV_SEQ_PRIORITY_NORMAL (0 << 4)
 #define SNDRV_SEQ_PRIORITY_HIGH (1 << 4)
 #define SNDRV_SEQ_PRIORITY_MASK (1 << 4)
+#define SNDRV_SEQ_EVENT_UMP (1 << 5)
 struct snd_seq_ev_note {
   unsigned char channel;
   unsigned char note;
@@ -128,7 +117,7 @@
 struct snd_seq_ev_ext {
   unsigned int len;
   void * ptr;
-} __attribute__((packed));
+} __attribute__((__packed__));
 struct snd_seq_result {
   int event;
   int result;
@@ -162,7 +151,20 @@
   struct snd_seq_addr origin;
   unsigned short value;
   struct snd_seq_event * event;
-} __attribute__((packed));
+} __attribute__((__packed__));
+union snd_seq_event_data {
+  struct snd_seq_ev_note note;
+  struct snd_seq_ev_ctrl control;
+  struct snd_seq_ev_raw8 raw8;
+  struct snd_seq_ev_raw32 raw32;
+  struct snd_seq_ev_ext ext;
+  struct snd_seq_ev_queue_control queue;
+  union snd_seq_timestamp time;
+  struct snd_seq_addr addr;
+  struct snd_seq_connect connect;
+  struct snd_seq_result result;
+  struct snd_seq_ev_quote quote;
+};
 struct snd_seq_event {
   snd_seq_event_type_t type;
   unsigned char flags;
@@ -171,19 +173,20 @@
   union snd_seq_timestamp time;
   struct snd_seq_addr source;
   struct snd_seq_addr dest;
+  union snd_seq_event_data data;
+};
+struct snd_seq_ump_event {
+  snd_seq_event_type_t type;
+  unsigned char flags;
+  char tag;
+  unsigned char queue;
+  union snd_seq_timestamp time;
+  struct snd_seq_addr source;
+  struct snd_seq_addr dest;
   union {
-    struct snd_seq_ev_note note;
-    struct snd_seq_ev_ctrl control;
-    struct snd_seq_ev_raw8 raw8;
-    struct snd_seq_ev_raw32 raw32;
-    struct snd_seq_ev_ext ext;
-    struct snd_seq_ev_queue_control queue;
-    union snd_seq_timestamp time;
-    struct snd_seq_addr addr;
-    struct snd_seq_connect connect;
-    struct snd_seq_result result;
-    struct snd_seq_ev_quote quote;
-  } data;
+    union snd_seq_event_data data;
+    unsigned int ump[4];
+  };
 };
 struct snd_seq_event_bounce {
   int err;
@@ -215,6 +218,7 @@
 #define SNDRV_SEQ_FILTER_BROADCAST (1U << 0)
 #define SNDRV_SEQ_FILTER_MULTICAST (1U << 1)
 #define SNDRV_SEQ_FILTER_BOUNCE (1U << 2)
+#define SNDRV_SEQ_FILTER_NO_CONVERT (1U << 30)
 #define SNDRV_SEQ_FILTER_USE_EVENT (1U << 31)
 struct snd_seq_client_info {
   int client;
@@ -227,8 +231,13 @@
   int event_lost;
   int card;
   int pid;
-  char reserved[56];
+  unsigned int midi_version;
+  unsigned int group_filter;
+  char reserved[48];
 };
+#define SNDRV_SEQ_CLIENT_LEGACY_MIDI 0
+#define SNDRV_SEQ_CLIENT_UMP_MIDI_1_0 1
+#define SNDRV_SEQ_CLIENT_UMP_MIDI_2_0 2
 struct snd_seq_client_pool {
   int client;
   int output_pool;
@@ -268,6 +277,8 @@
 #define SNDRV_SEQ_PORT_CAP_SUBS_READ (1 << 5)
 #define SNDRV_SEQ_PORT_CAP_SUBS_WRITE (1 << 6)
 #define SNDRV_SEQ_PORT_CAP_NO_EXPORT (1 << 7)
+#define SNDRV_SEQ_PORT_CAP_INACTIVE (1 << 8)
+#define SNDRV_SEQ_PORT_CAP_UMP_ENDPOINT (1 << 9)
 #define SNDRV_SEQ_PORT_TYPE_SPECIFIC (1 << 0)
 #define SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC (1 << 1)
 #define SNDRV_SEQ_PORT_TYPE_MIDI_GM (1 << 2)
@@ -275,6 +286,7 @@
 #define SNDRV_SEQ_PORT_TYPE_MIDI_XG (1 << 4)
 #define SNDRV_SEQ_PORT_TYPE_MIDI_MT32 (1 << 5)
 #define SNDRV_SEQ_PORT_TYPE_MIDI_GM2 (1 << 6)
+#define SNDRV_SEQ_PORT_TYPE_MIDI_UMP (1 << 7)
 #define SNDRV_SEQ_PORT_TYPE_SYNTH (1 << 10)
 #define SNDRV_SEQ_PORT_TYPE_DIRECT_SAMPLE (1 << 11)
 #define SNDRV_SEQ_PORT_TYPE_SAMPLE (1 << 12)
@@ -286,6 +298,10 @@
 #define SNDRV_SEQ_PORT_FLG_GIVEN_PORT (1 << 0)
 #define SNDRV_SEQ_PORT_FLG_TIMESTAMP (1 << 1)
 #define SNDRV_SEQ_PORT_FLG_TIME_REAL (1 << 2)
+#define SNDRV_SEQ_PORT_DIR_UNKNOWN 0
+#define SNDRV_SEQ_PORT_DIR_INPUT 1
+#define SNDRV_SEQ_PORT_DIR_OUTPUT 2
+#define SNDRV_SEQ_PORT_DIR_BIDIRECTION 3
 struct snd_seq_port_info {
   struct snd_seq_addr addr;
   char name[64];
@@ -299,7 +315,9 @@
   void * kernel;
   unsigned int flags;
   unsigned char time_queue;
-  char reserved[59];
+  unsigned char direction;
+  unsigned char ump_group;
+  char reserved[57];
 };
 #define SNDRV_SEQ_QUEUE_FLG_SYNC (1 << 0)
 struct snd_seq_queue_info {
@@ -325,7 +343,8 @@
   int ppq;
   unsigned int skew_value;
   unsigned int skew_base;
-  char reserved[24];
+  unsigned short tempo_base;
+  char reserved[22];
 };
 #define SNDRV_SEQ_TIMER_ALSA 0
 #define SNDRV_SEQ_TIMER_MIDI_CLOCK 1
@@ -371,12 +390,22 @@
   unsigned int flags;
   char reserved[64];
 };
+#define SNDRV_SEQ_CLIENT_UMP_INFO_ENDPOINT 0
+#define SNDRV_SEQ_CLIENT_UMP_INFO_BLOCK 1
+struct snd_seq_client_ump_info {
+  int client;
+  int type;
+  unsigned char info[512];
+} __attribute__((__packed__));
 #define SNDRV_SEQ_IOCTL_PVERSION _IOR('S', 0x00, int)
 #define SNDRV_SEQ_IOCTL_CLIENT_ID _IOR('S', 0x01, int)
 #define SNDRV_SEQ_IOCTL_SYSTEM_INFO _IOWR('S', 0x02, struct snd_seq_system_info)
 #define SNDRV_SEQ_IOCTL_RUNNING_MODE _IOWR('S', 0x03, struct snd_seq_running_info)
+#define SNDRV_SEQ_IOCTL_USER_PVERSION _IOW('S', 0x04, int)
 #define SNDRV_SEQ_IOCTL_GET_CLIENT_INFO _IOWR('S', 0x10, struct snd_seq_client_info)
 #define SNDRV_SEQ_IOCTL_SET_CLIENT_INFO _IOW('S', 0x11, struct snd_seq_client_info)
+#define SNDRV_SEQ_IOCTL_GET_CLIENT_UMP_INFO _IOWR('S', 0x12, struct snd_seq_client_ump_info)
+#define SNDRV_SEQ_IOCTL_SET_CLIENT_UMP_INFO _IOWR('S', 0x13, struct snd_seq_client_ump_info)
 #define SNDRV_SEQ_IOCTL_CREATE_PORT _IOWR('S', 0x20, struct snd_seq_port_info)
 #define SNDRV_SEQ_IOCTL_DELETE_PORT _IOW('S', 0x21, struct snd_seq_port_info)
 #define SNDRV_SEQ_IOCTL_GET_PORT_INFO _IOWR('S', 0x22, struct snd_seq_port_info)
diff --git a/libc/kernel/uapi/sound/asoc.h b/libc/kernel/uapi/sound/asoc.h
index 1940e5d..f7992cb 100644
--- a/libc/kernel/uapi/sound/asoc.h
+++ b/libc/kernel/uapi/sound/asoc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_UAPI_SND_ASOC_H
 #define __LINUX_UAPI_SND_ASOC_H
 #include <linux/types.h>
@@ -149,9 +137,9 @@
   __le32 type;
   __le32 num_elems;
   union {
-    struct snd_soc_tplg_vendor_uuid_elem uuid[0];
-    struct snd_soc_tplg_vendor_value_elem value[0];
-    struct snd_soc_tplg_vendor_string_elem string[0];
+    __DECLARE_FLEX_ARRAY(struct snd_soc_tplg_vendor_uuid_elem, uuid);
+    __DECLARE_FLEX_ARRAY(struct snd_soc_tplg_vendor_value_elem, value);
+    __DECLARE_FLEX_ARRAY(struct snd_soc_tplg_vendor_string_elem, string);
   };
 } __attribute__((packed));
 struct snd_soc_tplg_private {
@@ -348,48 +336,4 @@
   __le32 flags;
   struct snd_soc_tplg_private priv;
 } __attribute__((packed));
-struct snd_soc_tplg_manifest_v4 {
-  __le32 size;
-  __le32 control_elems;
-  __le32 widget_elems;
-  __le32 graph_elems;
-  __le32 pcm_elems;
-  __le32 dai_link_elems;
-  struct snd_soc_tplg_private priv;
-} __attribute__((__packed__));
-struct snd_soc_tplg_stream_caps_v4 {
-  __le32 size;
-  char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
-  __le64 formats;
-  __le32 rates;
-  __le32 rate_min;
-  __le32 rate_max;
-  __le32 channels_min;
-  __le32 channels_max;
-  __le32 periods_min;
-  __le32 periods_max;
-  __le32 period_size_min;
-  __le32 period_size_max;
-  __le32 buffer_size_min;
-  __le32 buffer_size_max;
-} __attribute__((__packed__));
-struct snd_soc_tplg_pcm_v4 {
-  __le32 size;
-  char pcm_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
-  char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
-  __le32 pcm_id;
-  __le32 dai_id;
-  __le32 playback;
-  __le32 capture;
-  __le32 compress;
-  struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX];
-  __le32 num_streams;
-  struct snd_soc_tplg_stream_caps_v4 caps[2];
-} __attribute__((__packed__));
-struct snd_soc_tplg_link_config_v4 {
-  __le32 size;
-  __le32 id;
-  struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX];
-  __le32 num_streams;
-} __attribute__((__packed__));
 #endif
diff --git a/libc/kernel/uapi/sound/asound.h b/libc/kernel/uapi/sound/asound.h
index 9c1a3ae..cfe9f66 100644
--- a/libc/kernel/uapi/sound/asound.h
+++ b/libc/kernel/uapi/sound/asound.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__SOUND_ASOUND_H
 #define _UAPI__SOUND_ASOUND_H
 #ifdef __linux__
@@ -104,7 +92,7 @@
 #define SNDRV_HWDEP_IOCTL_INFO _IOR('H', 0x01, struct snd_hwdep_info)
 #define SNDRV_HWDEP_IOCTL_DSP_STATUS _IOR('H', 0x02, struct snd_hwdep_dsp_status)
 #define SNDRV_HWDEP_IOCTL_DSP_LOAD _IOW('H', 0x03, struct snd_hwdep_dsp_image)
-#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 15)
+#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 18)
 typedef unsigned long snd_pcm_uframes_t;
 typedef signed long snd_pcm_sframes_t;
 enum {
@@ -213,12 +201,16 @@
 #endif
 typedef int __bitwise snd_pcm_subformat_t;
 #define SNDRV_PCM_SUBFORMAT_STD (( snd_pcm_subformat_t) 0)
-#define SNDRV_PCM_SUBFORMAT_LAST SNDRV_PCM_SUBFORMAT_STD
+#define SNDRV_PCM_SUBFORMAT_MSBITS_MAX (( snd_pcm_subformat_t) 1)
+#define SNDRV_PCM_SUBFORMAT_MSBITS_20 (( snd_pcm_subformat_t) 2)
+#define SNDRV_PCM_SUBFORMAT_MSBITS_24 (( snd_pcm_subformat_t) 3)
+#define SNDRV_PCM_SUBFORMAT_LAST SNDRV_PCM_SUBFORMAT_MSBITS_24
 #define SNDRV_PCM_INFO_MMAP 0x00000001
 #define SNDRV_PCM_INFO_MMAP_VALID 0x00000002
 #define SNDRV_PCM_INFO_DOUBLE 0x00000004
 #define SNDRV_PCM_INFO_BATCH 0x00000010
 #define SNDRV_PCM_INFO_SYNC_APPLPTR 0x00000020
+#define SNDRV_PCM_INFO_PERFECT_DRAIN 0x00000040
 #define SNDRV_PCM_INFO_INTERLEAVED 0x00000100
 #define SNDRV_PCM_INFO_NONINTERLEAVED 0x00000200
 #define SNDRV_PCM_INFO_COMPLEX 0x00000400
@@ -271,7 +263,7 @@
   unsigned char id[16];
   unsigned short id16[8];
   unsigned int id32[4];
-};
+} __attribute__((deprecated));
 struct snd_pcm_info {
   unsigned int device;
   unsigned int subdevice;
@@ -284,7 +276,7 @@
   int dev_subclass;
   unsigned int subdevices_count;
   unsigned int subdevices_avail;
-  union snd_pcm_sync_id sync;
+  unsigned char pad1[16];
   unsigned char reserved[64];
 };
 typedef int snd_pcm_hw_param_t;
@@ -310,6 +302,7 @@
 #define SNDRV_PCM_HW_PARAMS_NORESAMPLE (1 << 0)
 #define SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER (1 << 1)
 #define SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP (1 << 2)
+#define SNDRV_PCM_HW_PARAMS_NO_DRAIN_SILENCE (1 << 3)
 struct snd_interval {
   unsigned int min, max;
   unsigned int openmin : 1, openmax : 1, integer : 1, empty : 1;
@@ -331,7 +324,8 @@
   unsigned int rate_num;
   unsigned int rate_den;
   snd_pcm_uframes_t fifo_size;
-  unsigned char reserved[64];
+  unsigned char sync[16];
+  unsigned char reserved[48];
 };
 enum {
   SNDRV_PCM_TSTAMP_NONE = 0,
@@ -565,7 +559,7 @@
 #define SNDRV_PCM_IOCTL_READN_FRAMES _IOR('A', 0x53, struct snd_xfern)
 #define SNDRV_PCM_IOCTL_LINK _IOW('A', 0x60, int)
 #define SNDRV_PCM_IOCTL_UNLINK _IO('A', 0x61)
-#define SNDRV_RAWMIDI_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 2)
+#define SNDRV_RAWMIDI_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 4)
 enum {
   SNDRV_RAWMIDI_STREAM_OUTPUT = 0,
   SNDRV_RAWMIDI_STREAM_INPUT,
@@ -574,6 +568,7 @@
 #define SNDRV_RAWMIDI_INFO_OUTPUT 0x00000001
 #define SNDRV_RAWMIDI_INFO_INPUT 0x00000002
 #define SNDRV_RAWMIDI_INFO_DUPLEX 0x00000004
+#define SNDRV_RAWMIDI_INFO_UMP 0x00000008
 struct snd_rawmidi_info {
   unsigned int device;
   unsigned int subdevice;
@@ -622,6 +617,56 @@
   size_t xruns;
   unsigned char reserved[16];
 };
+#define SNDRV_UMP_EP_INFO_STATIC_BLOCKS 0x01
+#define SNDRV_UMP_EP_INFO_PROTO_MIDI_MASK 0x0300
+#define SNDRV_UMP_EP_INFO_PROTO_MIDI1 0x0100
+#define SNDRV_UMP_EP_INFO_PROTO_MIDI2 0x0200
+#define SNDRV_UMP_EP_INFO_PROTO_JRTS_MASK 0x0003
+#define SNDRV_UMP_EP_INFO_PROTO_JRTS_TX 0x0001
+#define SNDRV_UMP_EP_INFO_PROTO_JRTS_RX 0x0002
+struct snd_ump_endpoint_info {
+  int card;
+  int device;
+  unsigned int flags;
+  unsigned int protocol_caps;
+  unsigned int protocol;
+  unsigned int num_blocks;
+  unsigned short version;
+  unsigned short family_id;
+  unsigned short model_id;
+  unsigned int manufacturer_id;
+  unsigned char sw_revision[4];
+  unsigned short padding;
+  unsigned char name[128];
+  unsigned char product_id[128];
+  unsigned char reserved[32];
+} __attribute__((__packed__));
+#define SNDRV_UMP_DIR_INPUT 0x01
+#define SNDRV_UMP_DIR_OUTPUT 0x02
+#define SNDRV_UMP_DIR_BIDIRECTION 0x03
+#define SNDRV_UMP_BLOCK_IS_MIDI1 (1U << 0)
+#define SNDRV_UMP_BLOCK_IS_LOWSPEED (1U << 1)
+#define SNDRV_UMP_BLOCK_UI_HINT_UNKNOWN 0x00
+#define SNDRV_UMP_BLOCK_UI_HINT_RECEIVER 0x01
+#define SNDRV_UMP_BLOCK_UI_HINT_SENDER 0x02
+#define SNDRV_UMP_BLOCK_UI_HINT_BOTH 0x03
+#define SNDRV_UMP_MAX_GROUPS 16
+#define SNDRV_UMP_MAX_BLOCKS 32
+struct snd_ump_block_info {
+  int card;
+  int device;
+  unsigned char block_id;
+  unsigned char direction;
+  unsigned char active;
+  unsigned char first_group;
+  unsigned char num_groups;
+  unsigned char midi_ci_version;
+  unsigned char sysex8_streams;
+  unsigned char ui_hint;
+  unsigned int flags;
+  unsigned char name[128];
+  unsigned char reserved[32];
+} __attribute__((__packed__));
 #define SNDRV_RAWMIDI_IOCTL_PVERSION _IOR('W', 0x00, int)
 #define SNDRV_RAWMIDI_IOCTL_INFO _IOR('W', 0x01, struct snd_rawmidi_info)
 #define SNDRV_RAWMIDI_IOCTL_USER_PVERSION _IOW('W', 0x02, int)
@@ -629,6 +674,8 @@
 #define SNDRV_RAWMIDI_IOCTL_STATUS _IOWR('W', 0x20, struct snd_rawmidi_status)
 #define SNDRV_RAWMIDI_IOCTL_DROP _IOW('W', 0x30, int)
 #define SNDRV_RAWMIDI_IOCTL_DRAIN _IOW('W', 0x31, int)
+#define SNDRV_UMP_IOCTL_ENDPOINT_INFO _IOR('W', 0x40, struct snd_ump_endpoint_info)
+#define SNDRV_UMP_IOCTL_BLOCK_INFO _IOR('W', 0x41, struct snd_ump_block_info)
 #define SNDRV_TIMER_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 7)
 enum {
   SNDRV_TIMER_CLASS_NONE = - 1,
@@ -763,7 +810,7 @@
   unsigned int val;
   __time_pad pad2;
 };
-#define SNDRV_CTL_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 8)
+#define SNDRV_CTL_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 9)
 struct snd_ctl_card_info {
   int card;
   int pad;
@@ -909,6 +956,9 @@
 #define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE _IOWR('U', 0x40, int)
 #define SNDRV_CTL_IOCTL_RAWMIDI_INFO _IOWR('U', 0x41, struct snd_rawmidi_info)
 #define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE _IOW('U', 0x42, int)
+#define SNDRV_CTL_IOCTL_UMP_NEXT_DEVICE _IOWR('U', 0x43, int)
+#define SNDRV_CTL_IOCTL_UMP_ENDPOINT_INFO _IOWR('U', 0x44, struct snd_ump_endpoint_info)
+#define SNDRV_CTL_IOCTL_UMP_BLOCK_INFO _IOWR('U', 0x45, struct snd_ump_block_info)
 #define SNDRV_CTL_IOCTL_POWER _IOWR('U', 0xd0, int)
 #define SNDRV_CTL_IOCTL_POWER_STATE _IOR('U', 0xd1, int)
 enum sndrv_ctl_event_type {
diff --git a/libc/kernel/uapi/sound/asound_fm.h b/libc/kernel/uapi/sound/asound_fm.h
index 03909ae..2c2c833 100644
--- a/libc/kernel/uapi/sound/asound_fm.h
+++ b/libc/kernel/uapi/sound/asound_fm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __SOUND_ASOUND_FM_H
 #define __SOUND_ASOUND_FM_H
 #define SNDRV_DM_FM_MODE_OPL2 0x00
diff --git a/libc/kernel/uapi/sound/compress_offload.h b/libc/kernel/uapi/sound/compress_offload.h
index 60688bc..db72c29 100644
--- a/libc/kernel/uapi/sound/compress_offload.h
+++ b/libc/kernel/uapi/sound/compress_offload.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __COMPRESS_OFFLOAD_H
 #define __COMPRESS_OFFLOAD_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/sound/compress_params.h b/libc/kernel/uapi/sound/compress_params.h
index ee6c000..800f8f9 100644
--- a/libc/kernel/uapi/sound/compress_params.h
+++ b/libc/kernel/uapi/sound/compress_params.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __SND_COMPRESS_PARAMS_H
 #define __SND_COMPRESS_PARAMS_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/sound/emu10k1.h b/libc/kernel/uapi/sound/emu10k1.h
index 483309e..9b1fab6 100644
--- a/libc/kernel/uapi/sound/emu10k1.h
+++ b/libc/kernel/uapi/sound/emu10k1.h
@@ -1,28 +1,14 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__SOUND_EMU10K1_H
 #define _UAPI__SOUND_EMU10K1_H
 #ifdef __linux__
 #include <linux/types.h>
 #endif
-#define EMU10K1_CARD_CREATIVE 0x00000000
-#define EMU10K1_CARD_EMUAPS 0x00000001
 #define EMU10K1_FX8010_PCM_COUNT 8
 #define __EMU10K1_DECLARE_BITMAP(name,bits) unsigned long name[(bits) / (sizeof(unsigned long) * 8)]
 #define iMAC0 0x00
@@ -41,10 +27,29 @@
 #define iEXP 0x0d
 #define iINTERP 0x0e
 #define iSKIP 0x0f
+#define LOWORD_OPX_MASK 0x000ffc00
+#define LOWORD_OPY_MASK 0x000003ff
+#define HIWORD_OPCODE_MASK 0x00f00000
+#define HIWORD_RESULT_MASK 0x000ffc00
+#define HIWORD_OPA_MASK 0x000003ff
+#define A_LOWORD_OPX_MASK 0x007ff000
+#define A_LOWORD_OPY_MASK 0x000007ff
+#define A_HIWORD_OPCODE_MASK 0x0f000000
+#define A_HIWORD_RESULT_MASK 0x007ff000
+#define A_HIWORD_OPA_MASK 0x000007ff
 #define FXBUS(x) (0x00 + (x))
 #define EXTIN(x) (0x10 + (x))
 #define EXTOUT(x) (0x20 + (x))
 #define FXBUS2(x) (0x30 + (x))
+#define A_FXBUS(x) (0x00 + (x))
+#define A_EXTIN(x) (0x40 + (x))
+#define A_P16VIN(x) (0x50 + (x))
+#define A_EXTOUT(x) (0x60 + (x))
+#define A_FXBUS2(x) (0x80 + (x))
+#define A_EMU32OUTH(x) (0xa0 + (x))
+#define A_EMU32OUTL(x) (0xb0 + (x))
+#define A3_EMU32IN(x) (0x160 + (x))
+#define A3_EMU32OUT(x) (0x1E0 + (x))
 #define C_00000000 0x40
 #define C_00000001 0x41
 #define C_00000002 0x42
@@ -73,33 +78,71 @@
 #define GPR_NOISE1 0x59
 #define GPR_IRQ 0x5a
 #define GPR_DBAC 0x5b
+#define A_C_00000000 0xc0
+#define A_C_00000001 0xc1
+#define A_C_00000002 0xc2
+#define A_C_00000003 0xc3
+#define A_C_00000004 0xc4
+#define A_C_00000008 0xc5
+#define A_C_00000010 0xc6
+#define A_C_00000020 0xc7
+#define A_C_00000100 0xc8
+#define A_C_00010000 0xc9
+#define A_C_00000800 0xca
+#define A_C_10000000 0xcb
+#define A_C_20000000 0xcc
+#define A_C_40000000 0xcd
+#define A_C_80000000 0xce
+#define A_C_7fffffff 0xcf
+#define A_C_ffffffff 0xd0
+#define A_C_fffffffe 0xd1
+#define A_C_c0000000 0xd2
+#define A_C_4f1bbcdc 0xd3
+#define A_C_5a7ef9db 0xd4
+#define A_C_00100000 0xd5
+#define A_GPR_ACCU 0xd6
+#define A_GPR_COND 0xd7
+#define A_GPR_NOISE0 0xd8
+#define A_GPR_NOISE1 0xd9
+#define A_GPR_IRQ 0xda
+#define A_GPR_DBAC 0xdb
+#define A_GPR_DBACE 0xde
+#define FXGPREGBASE 0x100
+#define A_FXGPREGBASE 0x400
+#define A_TANKMEMCTLREGBASE 0x100
+#define A_TANKMEMCTLREG_MASK 0x1f
+#define TANKMEMDATAREGBASE 0x200
+#define TANKMEMDATAREG_MASK 0x000fffff
+#define TANKMEMADDRREGBASE 0x300
+#define TANKMEMADDRREG_ADDR_MASK 0x000fffff
+#define TANKMEMADDRREG_CLEAR 0x00800000
+#define TANKMEMADDRREG_ALIGN 0x00400000
+#define TANKMEMADDRREG_WRITE 0x00200000
+#define TANKMEMADDRREG_READ 0x00100000
 #define GPR(x) (FXGPREGBASE + (x))
 #define ITRAM_DATA(x) (TANKMEMDATAREGBASE + 0x00 + (x))
 #define ETRAM_DATA(x) (TANKMEMDATAREGBASE + 0x80 + (x))
 #define ITRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x00 + (x))
 #define ETRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x80 + (x))
+#define A_GPR(x) (A_FXGPREGBASE + (x))
 #define A_ITRAM_DATA(x) (TANKMEMDATAREGBASE + 0x00 + (x))
 #define A_ETRAM_DATA(x) (TANKMEMDATAREGBASE + 0xc0 + (x))
 #define A_ITRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x00 + (x))
 #define A_ETRAM_ADDR(x) (TANKMEMADDRREGBASE + 0xc0 + (x))
 #define A_ITRAM_CTL(x) (A_TANKMEMCTLREGBASE + 0x00 + (x))
 #define A_ETRAM_CTL(x) (A_TANKMEMCTLREGBASE + 0xc0 + (x))
-#define A_FXBUS(x) (0x00 + (x))
-#define A_EXTIN(x) (0x40 + (x))
-#define A_P16VIN(x) (0x50 + (x))
-#define A_EXTOUT(x) (0x60 + (x))
-#define A_FXBUS2(x) (0x80 + (x))
-#define A_EMU32OUTH(x) (0xa0 + (x))
-#define A_EMU32OUTL(x) (0xb0 + (x))
-#define A3_EMU32IN(x) (0x160 + (x))
-#define A3_EMU32OUT(x) (0x1E0 + (x))
-#define A_GPR(x) (A_FXGPREGBASE + (x))
 #define CC_REG_NORMALIZED C_00000001
 #define CC_REG_BORROW C_00000002
 #define CC_REG_MINUS C_00000004
 #define CC_REG_ZERO C_00000008
 #define CC_REG_SATURATE C_00000010
 #define CC_REG_NONZERO C_00000100
+#define A_CC_REG_NORMALIZED A_C_00000001
+#define A_CC_REG_BORROW A_C_00000002
+#define A_CC_REG_MINUS A_C_00000004
+#define A_CC_REG_ZERO A_C_00000008
+#define A_CC_REG_SATURATE A_C_00000010
+#define A_CC_REG_NONZERO A_C_00000100
 #define FXBUS_PCM_LEFT 0x00
 #define FXBUS_PCM_RIGHT 0x01
 #define FXBUS_PCM_LEFT_REAR 0x02
@@ -180,35 +223,6 @@
 #define A_EXTOUT_ADC_CAP_L 0x16
 #define A_EXTOUT_ADC_CAP_R 0x17
 #define A_EXTOUT_MIC_CAP 0x18
-#define A_C_00000000 0xc0
-#define A_C_00000001 0xc1
-#define A_C_00000002 0xc2
-#define A_C_00000003 0xc3
-#define A_C_00000004 0xc4
-#define A_C_00000008 0xc5
-#define A_C_00000010 0xc6
-#define A_C_00000020 0xc7
-#define A_C_00000100 0xc8
-#define A_C_00010000 0xc9
-#define A_C_00000800 0xca
-#define A_C_10000000 0xcb
-#define A_C_20000000 0xcc
-#define A_C_40000000 0xcd
-#define A_C_80000000 0xce
-#define A_C_7fffffff 0xcf
-#define A_C_ffffffff 0xd0
-#define A_C_fffffffe 0xd1
-#define A_C_c0000000 0xd2
-#define A_C_4f1bbcdc 0xd3
-#define A_C_5a7ef9db 0xd4
-#define A_C_00100000 0xd5
-#define A_GPR_ACCU 0xd6
-#define A_GPR_COND 0xd7
-#define A_GPR_NOISE0 0xd8
-#define A_GPR_NOISE1 0xd9
-#define A_GPR_IRQ 0xda
-#define A_GPR_DBAC 0xdb
-#define A_GPR_DBACE 0xde
 #define EMU10K1_DBG_ZC 0x80000000
 #define EMU10K1_DBG_SATURATION_OCCURED 0x02000000
 #define EMU10K1_DBG_SATURATION_ADDR 0x01ff0000
@@ -216,11 +230,13 @@
 #define EMU10K1_DBG_STEP 0x00004000
 #define EMU10K1_DBG_CONDITION_CODE 0x00003e00
 #define EMU10K1_DBG_SINGLE_STEP_ADDR 0x000001ff
-#define TANKMEMADDRREG_ADDR_MASK 0x000fffff
-#define TANKMEMADDRREG_CLEAR 0x00800000
-#define TANKMEMADDRREG_ALIGN 0x00400000
-#define TANKMEMADDRREG_WRITE 0x00200000
-#define TANKMEMADDRREG_READ 0x00100000
+#define A_DBG_ZC 0x40000000
+#define A_DBG_SATURATION_OCCURED 0x20000000
+#define A_DBG_SATURATION_ADDR 0x0ffc0000
+#define A_DBG_SINGLE_STEP 0x00020000
+#define A_DBG_STEP 0x00010000
+#define A_DBG_CONDITION_CODE 0x0000f800
+#define A_DBG_STEP_ADDR 0x000003ff
 struct snd_emu10k1_fx8010_info {
   unsigned int internal_tram_size;
   unsigned int external_tram_size;
@@ -234,6 +250,8 @@
 #define EMU10K1_GPR_TRANSLATION_BASS 2
 #define EMU10K1_GPR_TRANSLATION_TREBLE 3
 #define EMU10K1_GPR_TRANSLATION_ONOFF 4
+#define EMU10K1_GPR_TRANSLATION_NEGATE 5
+#define EMU10K1_GPR_TRANSLATION_NEG_TABLE100 6
 enum emu10k1_ctl_elem_iface {
   EMU10K1_CTL_ELEM_IFACE_MIXER = 2,
   EMU10K1_CTL_ELEM_IFACE_PCM = 3,
@@ -251,9 +269,9 @@
   unsigned int vcount;
   unsigned int count;
   unsigned short gpr[32];
-  unsigned int value[32];
-  unsigned int min;
-  unsigned int max;
+  int value[32];
+  int min;
+  int max;
   unsigned int translation;
   const unsigned int * tlv;
 };
diff --git a/libc/kernel/uapi/sound/firewire.h b/libc/kernel/uapi/sound/firewire.h
index d26d722..99cf3d4 100644
--- a/libc/kernel/uapi/sound/firewire.h
+++ b/libc/kernel/uapi/sound/firewire.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_SOUND_FIREWIRE_H_INCLUDED
 #define _UAPI_SOUND_FIREWIRE_H_INCLUDED
 #include <linux/ioctl.h>
@@ -27,6 +15,7 @@
 #define SNDRV_FIREWIRE_EVENT_MOTU_NOTIFICATION 0x64776479
 #define SNDRV_FIREWIRE_EVENT_TASCAM_CONTROL 0x7473636d
 #define SNDRV_FIREWIRE_EVENT_MOTU_REGISTER_DSP_CHANGE 0x4d545244
+#define SNDRV_FIREWIRE_EVENT_FF400_MESSAGE 0x4f6c6761
 struct snd_firewire_event_common {
   unsigned int type;
 };
@@ -74,6 +63,14 @@
   __u32 count;
   __u32 changes[];
 };
+struct snd_firewire_event_ff400_message {
+  unsigned int type;
+  unsigned int message_count;
+  struct {
+    __u32 message;
+    __u32 tstamp;
+  } messages[];
+};
 union snd_firewire_event {
   struct snd_firewire_event_common common;
   struct snd_firewire_event_lock_status lock_status;
@@ -83,6 +80,7 @@
   struct snd_firewire_event_tascam_control tascam_control;
   struct snd_firewire_event_motu_notification motu_notification;
   struct snd_firewire_event_motu_register_dsp_change motu_register_dsp_change;
+  struct snd_firewire_event_ff400_message ff400_message;
 };
 #define SNDRV_FIREWIRE_IOCTL_GET_INFO _IOR('H', 0xf8, struct snd_firewire_get_info)
 #define SNDRV_FIREWIRE_IOCTL_LOCK _IO('H', 0xf9)
diff --git a/libc/kernel/uapi/sound/hdsp.h b/libc/kernel/uapi/sound/hdsp.h
index 2fec371..6a673d4 100644
--- a/libc/kernel/uapi/sound/hdsp.h
+++ b/libc/kernel/uapi/sound/hdsp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __SOUND_HDSP_H
 #define __SOUND_HDSP_H
 #ifdef __linux__
diff --git a/libc/kernel/uapi/sound/hdspm.h b/libc/kernel/uapi/sound/hdspm.h
index bd28e8c..546f466 100644
--- a/libc/kernel/uapi/sound/hdspm.h
+++ b/libc/kernel/uapi/sound/hdspm.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __SOUND_HDSPM_H
 #define __SOUND_HDSPM_H
 #ifdef __linux__
diff --git a/libc/kernel/uapi/sound/intel/avs/tokens.h b/libc/kernel/uapi/sound/intel/avs/tokens.h
index b6b3002..01b20a5 100644
--- a/libc/kernel/uapi/sound/intel/avs/tokens.h
+++ b/libc/kernel/uapi/sound/intel/avs/tokens.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_SOUND_INTEL_AVS_TOKENS_H
 #define __UAPI_SOUND_INTEL_AVS_TOKENS_H
 enum avs_tplg_token {
@@ -27,6 +15,8 @@
   AVS_TKN_MANIFEST_NUM_MODCFGS_EXT_U32 = 6,
   AVS_TKN_MANIFEST_NUM_PPLCFGS_U32 = 7,
   AVS_TKN_MANIFEST_NUM_BINDINGS_U32 = 8,
+  AVS_TKN_MANIFEST_NUM_CONDPATH_TMPLS_U32 = 9,
+  AVS_TKN_MANIFEST_NUM_INIT_CONFIGS_U32 = 10,
   AVS_TKN_LIBRARY_ID_U32 = 101,
   AVS_TKN_LIBRARY_NAME_STRING = 102,
   AVS_TKN_AFMT_ID_U32 = 201,
@@ -100,6 +90,9 @@
   AVS_TKN_MOD_CORE_ID_U8 = 1704,
   AVS_TKN_MOD_PROC_DOMAIN_U8 = 1705,
   AVS_TKN_MOD_MODCFG_EXT_ID_U32 = 1706,
+  AVS_TKN_MOD_KCONTROL_ID_U32 = 1707,
+  AVS_TKN_MOD_INIT_CONFIG_NUM_IDS_U32 = 1708,
+  AVS_TKN_MOD_INIT_CONFIG_ID_U32 = 1709,
   AVS_TKN_PATH_TMPL_ID_U32 = 1801,
   AVS_TKN_PATH_ID_U32 = 1901,
   AVS_TKN_PATH_FE_FMT_ID_U32 = 1902,
@@ -107,5 +100,9 @@
   AVS_TKN_PIN_FMT_INDEX_U32 = 2201,
   AVS_TKN_PIN_FMT_IOBS_U32 = 2202,
   AVS_TKN_PIN_FMT_AFMT_ID_U32 = 2203,
+  AVS_TKN_KCONTROL_ID_U32 = 2301,
+  AVS_TKN_INIT_CONFIG_ID_U32 = 2401,
+  AVS_TKN_INIT_CONFIG_PARAM_U8 = 2402,
+  AVS_TKN_INIT_CONFIG_LENGTH_U32 = 2403,
 };
 #endif
diff --git a/libc/kernel/uapi/sound/sb16_csp.h b/libc/kernel/uapi/sound/sb16_csp.h
index 31f7064..5082a5e 100644
--- a/libc/kernel/uapi/sound/sb16_csp.h
+++ b/libc/kernel/uapi/sound/sb16_csp.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__SOUND_SB16_CSP_H
 #define _UAPI__SOUND_SB16_CSP_H
 #define SNDRV_SB_CSP_MODE_NONE 0x00
diff --git a/libc/kernel/uapi/sound/scarlett2.h b/libc/kernel/uapi/sound/scarlett2.h
new file mode 100644
index 0000000..13e6abe
--- /dev/null
+++ b/libc/kernel/uapi/sound/scarlett2.h
@@ -0,0 +1,30 @@
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
+#ifndef __UAPI_SOUND_SCARLETT2_H
+#define __UAPI_SOUND_SCARLETT2_H
+#include <linux/types.h>
+#include <linux/ioctl.h>
+#define SCARLETT2_HWDEP_MAJOR 1
+#define SCARLETT2_HWDEP_MINOR 0
+#define SCARLETT2_HWDEP_SUBMINOR 0
+#define SCARLETT2_HWDEP_VERSION ((SCARLETT2_HWDEP_MAJOR << 16) | (SCARLETT2_HWDEP_MINOR << 8) | SCARLETT2_HWDEP_SUBMINOR)
+#define SCARLETT2_HWDEP_VERSION_MAJOR(v) (((v) >> 16) & 0xFF)
+#define SCARLETT2_HWDEP_VERSION_MINOR(v) (((v) >> 8) & 0xFF)
+#define SCARLETT2_HWDEP_VERSION_SUBMINOR(v) ((v) & 0xFF)
+#define SCARLETT2_IOCTL_PVERSION _IOR('S', 0x60, int)
+#define SCARLETT2_IOCTL_REBOOT _IO('S', 0x61)
+#define SCARLETT2_SEGMENT_ID_SETTINGS 0
+#define SCARLETT2_SEGMENT_ID_FIRMWARE 1
+#define SCARLETT2_SEGMENT_ID_COUNT 2
+#define SCARLETT2_IOCTL_SELECT_FLASH_SEGMENT _IOW('S', 0x62, int)
+#define SCARLETT2_IOCTL_ERASE_FLASH_SEGMENT _IO('S', 0x63)
+struct scarlett2_flash_segment_erase_progress {
+  unsigned char progress;
+  unsigned char num_blocks;
+};
+#define SCARLETT2_IOCTL_GET_ERASE_PROGRESS _IOR('S', 0x64, struct scarlett2_flash_segment_erase_progress)
+#endif
diff --git a/libc/kernel/uapi/sound/sfnt_info.h b/libc/kernel/uapi/sound/sfnt_info.h
index 87e1738..accdfd2 100644
--- a/libc/kernel/uapi/sound/sfnt_info.h
+++ b/libc/kernel/uapi/sound/sfnt_info.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __SOUND_SFNT_INFO_H
 #define __SOUND_SFNT_INFO_H
 #include <sound/asound.h>
diff --git a/libc/kernel/uapi/sound/skl-tplg-interface.h b/libc/kernel/uapi/sound/skl-tplg-interface.h
index 6dd9655..d613c7f 100644
--- a/libc/kernel/uapi/sound/skl-tplg-interface.h
+++ b/libc/kernel/uapi/sound/skl-tplg-interface.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __HDA_TPLG_INTERFACE_H__
 #define __HDA_TPLG_INTERFACE_H__
 #include <linux/types.h>
@@ -47,7 +35,8 @@
   SKL_CH_CFG_DUAL_MONO = 9,
   SKL_CH_CFG_I2S_DUAL_STEREO_0 = 10,
   SKL_CH_CFG_I2S_DUAL_STEREO_1 = 11,
-  SKL_CH_CFG_4_CHANNEL = 12,
+  SKL_CH_CFG_7_1 = 12,
+  SKL_CH_CFG_4_CHANNEL = SKL_CH_CFG_7_1,
   SKL_CH_CFG_INVALID
 };
 enum skl_module_type {
@@ -120,66 +109,4 @@
   SKL_TYPE_TUPLE,
   SKL_TYPE_DATA
 };
-struct skl_dfw_v4_module_pin {
-  __u16 module_id;
-  __u16 instance_id;
-} __attribute__((__packed__));
-struct skl_dfw_v4_module_fmt {
-  __u32 channels;
-  __u32 freq;
-  __u32 bit_depth;
-  __u32 valid_bit_depth;
-  __u32 ch_cfg;
-  __u32 interleaving_style;
-  __u32 sample_type;
-  __u32 ch_map;
-} __attribute__((__packed__));
-struct skl_dfw_v4_module_caps {
-  __u32 set_params : 2;
-  __u32 rsvd : 30;
-  __u32 param_id;
-  __u32 caps_size;
-  __u32 caps[HDA_SST_CFG_MAX];
-} __attribute__((__packed__));
-struct skl_dfw_v4_pipe {
-  __u8 pipe_id;
-  __u8 pipe_priority;
-  __u16 conn_type : 4;
-  __u16 rsvd : 4;
-  __u16 memory_pages : 8;
-} __attribute__((__packed__));
-struct skl_dfw_v4_module {
-  char uuid[SKL_UUID_STR_SZ];
-  __u16 module_id;
-  __u16 instance_id;
-  __u32 max_mcps;
-  __u32 mem_pages;
-  __u32 obs;
-  __u32 ibs;
-  __u32 vbus_id;
-  __u32 max_in_queue : 8;
-  __u32 max_out_queue : 8;
-  __u32 time_slot : 8;
-  __u32 core_id : 4;
-  __u32 rsvd1 : 4;
-  __u32 module_type : 8;
-  __u32 conn_type : 4;
-  __u32 dev_type : 4;
-  __u32 hw_conn_type : 4;
-  __u32 rsvd2 : 12;
-  __u32 params_fixup : 8;
-  __u32 converter : 8;
-  __u32 input_pin_type : 1;
-  __u32 output_pin_type : 1;
-  __u32 is_dynamic_in_pin : 1;
-  __u32 is_dynamic_out_pin : 1;
-  __u32 is_loadable : 1;
-  __u32 rsvd3 : 11;
-  struct skl_dfw_v4_pipe pipe;
-  struct skl_dfw_v4_module_fmt in_fmt[MAX_IN_QUEUE];
-  struct skl_dfw_v4_module_fmt out_fmt[MAX_OUT_QUEUE];
-  struct skl_dfw_v4_module_pin in_pin[MAX_IN_QUEUE];
-  struct skl_dfw_v4_module_pin out_pin[MAX_OUT_QUEUE];
-  struct skl_dfw_v4_module_caps caps;
-} __attribute__((__packed__));
 #endif
diff --git a/libc/kernel/uapi/sound/snd_ar_tokens.h b/libc/kernel/uapi/sound/snd_ar_tokens.h
index 7b87caa..57d2886 100644
--- a/libc/kernel/uapi/sound/snd_ar_tokens.h
+++ b/libc/kernel/uapi/sound/snd_ar_tokens.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __SND_AR_TOKENS_H__
 #define __SND_AR_TOKENS_H__
 #define APM_SUB_GRAPH_PERF_MODE_LOW_POWER 0x1
diff --git a/libc/kernel/uapi/sound/snd_sst_tokens.h b/libc/kernel/uapi/sound/snd_sst_tokens.h
index bf012fa..1f49810 100644
--- a/libc/kernel/uapi/sound/snd_sst_tokens.h
+++ b/libc/kernel/uapi/sound/snd_sst_tokens.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __SND_SST_TOKENS_H__
 #define __SND_SST_TOKENS_H__
 enum SKL_TKNS {
diff --git a/libc/kernel/uapi/sound/sof/abi.h b/libc/kernel/uapi/sound/sof/abi.h
index dc4e525..ed66131 100644
--- a/libc/kernel/uapi/sound/sof/abi.h
+++ b/libc/kernel/uapi/sound/sof/abi.h
@@ -1,27 +1,15 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __INCLUDE_UAPI_SOUND_SOF_ABI_H__
 #define __INCLUDE_UAPI_SOUND_SOF_ABI_H__
 #include <linux/types.h>
 #define SOF_ABI_MAJOR 3
 #define SOF_ABI_MINOR 23
-#define SOF_ABI_PATCH 0
+#define SOF_ABI_PATCH 1
 #define SOF_ABI_MAJOR_SHIFT 24
 #define SOF_ABI_MAJOR_MASK 0xff
 #define SOF_ABI_MINOR_SHIFT 12
@@ -35,4 +23,5 @@
 #define SOF_ABI_VERSION_INCOMPATIBLE(sof_ver,client_ver) (SOF_ABI_VERSION_MAJOR((sof_ver)) != SOF_ABI_VERSION_MAJOR((client_ver)))
 #define SOF_ABI_VERSION SOF_ABI_VER(SOF_ABI_MAJOR, SOF_ABI_MINOR, SOF_ABI_PATCH)
 #define SOF_ABI_MAGIC 0x00464F53
+#define SOF_IPC4_ABI_MAGIC 0x34464F53
 #endif
diff --git a/libc/kernel/uapi/sound/sof/fw.h b/libc/kernel/uapi/sound/sof/fw.h
index 97b7de3..3d94024 100644
--- a/libc/kernel/uapi/sound/sof/fw.h
+++ b/libc/kernel/uapi/sound/sof/fw.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __INCLUDE_UAPI_SOF_FW_H__
 #define __INCLUDE_UAPI_SOF_FW_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/sound/sof/header.h b/libc/kernel/uapi/sound/sof/header.h
index 7514550..56bad86 100644
--- a/libc/kernel/uapi/sound/sof/header.h
+++ b/libc/kernel/uapi/sound/sof/header.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __INCLUDE_UAPI_SOUND_SOF_USER_HEADER_H__
 #define __INCLUDE_UAPI_SOUND_SOF_USER_HEADER_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/sound/sof/tokens.h b/libc/kernel/uapi/sound/sof/tokens.h
index 3726546..c4257d9 100644
--- a/libc/kernel/uapi/sound/sof/tokens.h
+++ b/libc/kernel/uapi/sound/sof/tokens.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __INCLUDE_UAPI_SOF_TOPOLOGY_H__
 #define __INCLUDE_UAPI_SOF_TOPOLOGY_H__
 #define SOF_TPLG_KCTL_VOL_ID 256
@@ -27,6 +15,7 @@
 #define SOF_TPLG_KCTL_BYTES_WO_ID 262
 #define SOF_TKN_BUF_SIZE 100
 #define SOF_TKN_BUF_CAPS 101
+#define SOF_TKN_BUF_FLAGS 102
 #define SOF_TKN_DAI_TYPE 154
 #define SOF_TKN_DAI_INDEX 155
 #define SOF_TKN_DAI_DIRECTION 156
@@ -39,6 +28,7 @@
 #define SOF_TKN_SCHED_DYNAMIC_PIPELINE 206
 #define SOF_TKN_SCHED_LP_MODE 207
 #define SOF_TKN_SCHED_MEM_USAGE 208
+#define SOF_TKN_SCHED_USE_CHAIN_DMA 209
 #define SOF_TKN_VOLUME_RAMP_STEP_TYPE 250
 #define SOF_TKN_VOLUME_RAMP_STEP_MS 251
 #define SOF_TKN_GAIN_RAMP_TYPE 260
@@ -59,10 +49,13 @@
 #define SOF_TKN_COMP_CPC 406
 #define SOF_TKN_COMP_IS_PAGES 409
 #define SOF_TKN_COMP_NUM_AUDIO_FORMATS 410
-#define SOF_TKN_COMP_NUM_SINK_PINS 411
-#define SOF_TKN_COMP_NUM_SOURCE_PINS 412
-#define SOF_TKN_COMP_SINK_PIN_BINDING_WNAME 413
-#define SOF_TKN_COMP_SRC_PIN_BINDING_WNAME 414
+#define SOF_TKN_COMP_NUM_INPUT_PINS 411
+#define SOF_TKN_COMP_NUM_OUTPUT_PINS 412
+#define SOF_TKN_COMP_INPUT_PIN_BINDING_WNAME 413
+#define SOF_TKN_COMP_OUTPUT_PIN_BINDING_WNAME 414
+#define SOF_TKN_COMP_NUM_INPUT_AUDIO_FORMATS 415
+#define SOF_TKN_COMP_NUM_OUTPUT_AUDIO_FORMATS 416
+#define SOF_TKN_COMP_NO_WNAME_IN_KCONTROL_NAME 417
 #define SOF_TKN_INTEL_SSP_CLKS_CONTROL 500
 #define SOF_TKN_INTEL_SSP_MCLK_ID 501
 #define SOF_TKN_INTEL_SSP_SAMPLE_BITS 502
@@ -107,27 +100,34 @@
 #define SOF_TKN_AMD_ACPDMIC_CH 1801
 #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_RATE 1900
 #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_BIT_DEPTH 1901
-#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_VALID_BIT 1902
+#define SOF_TKN_CAVS_AUDIO_FORMAT_IN_VALID_BIT_DEPTH 1902
 #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_CHANNELS 1903
 #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_CH_MAP 1904
 #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_CH_CFG 1905
 #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_INTERLEAVING_STYLE 1906
 #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_FMT_CFG 1907
 #define SOF_TKN_CAVS_AUDIO_FORMAT_IN_SAMPLE_TYPE 1908
+#define SOF_TKN_CAVS_AUDIO_FORMAT_INPUT_PIN_INDEX 1909
 #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_RATE 1930
 #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_BIT_DEPTH 1931
-#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_VALID_BIT 1932
+#define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_VALID_BIT_DEPTH 1932
 #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_CHANNELS 1933
 #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_CH_MAP 1934
 #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_CH_CFG 1935
 #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_INTERLEAVING_STYLE 1936
 #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_FMT_CFG 1937
 #define SOF_TKN_CAVS_AUDIO_FORMAT_OUT_SAMPLE_TYPE 1938
+#define SOF_TKN_CAVS_AUDIO_FORMAT_OUTPUT_PIN_INDEX 1939
 #define SOF_TKN_CAVS_AUDIO_FORMAT_IBS 1970
 #define SOF_TKN_CAVS_AUDIO_FORMAT_OBS 1971
 #define SOF_TKN_CAVS_AUDIO_FORMAT_DMA_BUFFER_SIZE 1972
 #define SOF_TKN_INTEL_COPIER_NODE_TYPE 1980
+#define SOF_TKN_INTEL_COPIER_DEEP_BUFFER_DMA_MS 1981
 #define SOF_TKN_AMD_ACPI2S_RATE 1700
 #define SOF_TKN_AMD_ACPI2S_CH 1701
 #define SOF_TKN_AMD_ACPI2S_TDM_MODE 1702
+#define SOF_TKN_IMX_MICFIL_RATE 2000
+#define SOF_TKN_IMX_MICFIL_CH 2001
+#define SOF_TKN_AMD_ACP_SDW_RATE 2100
+#define SOF_TKN_AMD_ACP_SDW_CH 2101
 #endif
diff --git a/libc/kernel/uapi/sound/tlv.h b/libc/kernel/uapi/sound/tlv.h
index 0822429..d9df82f 100644
--- a/libc/kernel/uapi/sound/tlv.h
+++ b/libc/kernel/uapi/sound/tlv.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __UAPI_SOUND_TLV_H
 #define __UAPI_SOUND_TLV_H
 #define SNDRV_CTL_TLVT_CONTAINER 0
diff --git a/libc/kernel/uapi/sound/usb_stream.h b/libc/kernel/uapi/sound/usb_stream.h
index ac87c31..1f8dc2a 100644
--- a/libc/kernel/uapi/sound/usb_stream.h
+++ b/libc/kernel/uapi/sound/usb_stream.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__SOUND_USB_STREAM_H
 #define _UAPI__SOUND_USB_STREAM_H
 #define USB_STREAM_INTERFACE_VERSION 2
diff --git a/libc/kernel/uapi/video/edid.h b/libc/kernel/uapi/video/edid.h
index 0269d64..ed08315 100644
--- a/libc/kernel/uapi/video/edid.h
+++ b/libc/kernel/uapi/video/edid.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI__linux_video_edid_h__
 #define _UAPI__linux_video_edid_h__
 struct edid_info {
diff --git a/libc/kernel/uapi/video/sisfb.h b/libc/kernel/uapi/video/sisfb.h
index 1feeda0..cbe525a 100644
--- a/libc/kernel/uapi/video/sisfb.h
+++ b/libc/kernel/uapi/video/sisfb.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_LINUX_SISFB_H_
 #define _UAPI_LINUX_SISFB_H_
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/video/uvesafb.h b/libc/kernel/uapi/video/uvesafb.h
index d0dca96..6a8b2bf 100644
--- a/libc/kernel/uapi/video/uvesafb.h
+++ b/libc/kernel/uapi/video/uvesafb.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef _UAPI_UVESAFB_H
 #define _UAPI_UVESAFB_H
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/xen/evtchn.h b/libc/kernel/uapi/xen/evtchn.h
index aa4aaaf..4a12c8c 100644
--- a/libc/kernel/uapi/xen/evtchn.h
+++ b/libc/kernel/uapi/xen/evtchn.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_PUBLIC_EVTCHN_H__
 #define __LINUX_PUBLIC_EVTCHN_H__
 #define IOCTL_EVTCHN_BIND_VIRQ _IOC(_IOC_NONE, 'E', 0, sizeof(struct ioctl_evtchn_bind_virq))
@@ -43,4 +31,8 @@
 struct ioctl_evtchn_restrict_domid {
   domid_t domid;
 };
+#define IOCTL_EVTCHN_BIND_STATIC _IOC(_IOC_NONE, 'E', 7, sizeof(struct ioctl_evtchn_bind))
+struct ioctl_evtchn_bind {
+  unsigned int port;
+};
 #endif
diff --git a/libc/kernel/uapi/xen/gntalloc.h b/libc/kernel/uapi/xen/gntalloc.h
index d306b22..4f0e7b8 100644
--- a/libc/kernel/uapi/xen/gntalloc.h
+++ b/libc/kernel/uapi/xen/gntalloc.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_PUBLIC_GNTALLOC_H__
 #define __LINUX_PUBLIC_GNTALLOC_H__
 #include <linux/types.h>
@@ -25,7 +13,10 @@
   __u16 flags;
   __u32 count;
   __u64 index;
-  __u32 gref_ids[1];
+  union {
+    __u32 gref_ids[1];
+    __DECLARE_FLEX_ARRAY(__u32, gref_ids_flex);
+  };
 };
 #define GNTALLOC_FLAG_WRITABLE 1
 #define IOCTL_GNTALLOC_DEALLOC_GREF _IOC(_IOC_NONE, 'G', 6, sizeof(struct ioctl_gntalloc_dealloc_gref))
diff --git a/libc/kernel/uapi/xen/gntdev.h b/libc/kernel/uapi/xen/gntdev.h
index eada73c..bda1ad6 100644
--- a/libc/kernel/uapi/xen/gntdev.h
+++ b/libc/kernel/uapi/xen/gntdev.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_PUBLIC_GNTDEV_H__
 #define __LINUX_PUBLIC_GNTDEV_H__
 #include <linux/types.h>
diff --git a/libc/kernel/uapi/xen/privcmd.h b/libc/kernel/uapi/xen/privcmd.h
index 21d9f84..0597247 100644
--- a/libc/kernel/uapi/xen/privcmd.h
+++ b/libc/kernel/uapi/xen/privcmd.h
@@ -1,21 +1,9 @@
-/****************************************************************************
- ****************************************************************************
- ***
- ***   This header was automatically generated from a Linux kernel header
- ***   of the same name, to make information necessary for userspace to
- ***   call into the kernel available to libc.  It contains only constants,
- ***   structures, and macros generated from the original header, and thus,
- ***   contains no copyrightable information.
- ***
- ***   To edit the content of this header, modify the corresponding
- ***   source file (e.g. under external/kernel-headers/original/) then
- ***   run bionic/libc/kernel/tools/update_all.py
- ***
- ***   Any manual change here will be lost the next time this script will
- ***   be run. You've been warned!
- ***
- ****************************************************************************
- ****************************************************************************/
+/*
+ * This file is auto-generated. Modifications will be lost.
+ *
+ * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
+ * for more information.
+ */
 #ifndef __LINUX_PUBLIC_PRIVCMD_H__
 #define __LINUX_PUBLIC_PRIVCMD_H__
 #include <linux/types.h>
@@ -67,6 +55,28 @@
   __u64 num;
   __u64 addr;
 };
+#define PRIVCMD_IRQFD_FLAG_DEASSIGN (1 << 0)
+struct privcmd_irqfd {
+  __u64 dm_op;
+  __u32 size;
+  __u32 fd;
+  __u32 flags;
+  domid_t dom;
+  __u8 pad[2];
+};
+#define PRIVCMD_IOEVENTFD_FLAG_DEASSIGN (1 << 0)
+struct privcmd_ioeventfd {
+  __u64 ioreq;
+  __u64 ports;
+  __u64 addr;
+  __u32 addr_len;
+  __u32 event_fd;
+  __u32 vcpus;
+  __u32 vq;
+  __u32 flags;
+  domid_t dom;
+  __u8 pad[2];
+};
 #define IOCTL_PRIVCMD_HYPERCALL _IOC(_IOC_NONE, 'P', 0, sizeof(struct privcmd_hypercall))
 #define IOCTL_PRIVCMD_MMAP _IOC(_IOC_NONE, 'P', 2, sizeof(struct privcmd_mmap))
 #define IOCTL_PRIVCMD_MMAPBATCH _IOC(_IOC_NONE, 'P', 3, sizeof(struct privcmd_mmapbatch))
@@ -74,4 +84,6 @@
 #define IOCTL_PRIVCMD_DM_OP _IOC(_IOC_NONE, 'P', 5, sizeof(struct privcmd_dm_op))
 #define IOCTL_PRIVCMD_RESTRICT _IOC(_IOC_NONE, 'P', 6, sizeof(domid_t))
 #define IOCTL_PRIVCMD_MMAP_RESOURCE _IOC(_IOC_NONE, 'P', 7, sizeof(struct privcmd_mmap_resource))
+#define IOCTL_PRIVCMD_IRQFD _IOW('P', 8, struct privcmd_irqfd)
+#define IOCTL_PRIVCMD_IOEVENTFD _IOW('P', 9, struct privcmd_ioeventfd)
 #endif
diff --git a/libc/libc.map.txt b/libc/libc.map.txt
index c75b13a..86dcc39 100644
--- a/libc/libc.map.txt
+++ b/libc/libc.map.txt
@@ -8,29 +8,29 @@
     __atomic_swap; # arm
     __b64_ntop;
     __b64_pton;
-    __cmsg_nxthdr; # introduced=21
-    __connect; # arm x86 introduced=21
-    __ctype_get_mb_cur_max; # introduced=21
+    __cmsg_nxthdr;
+    __connect; # arm x86
+    __ctype_get_mb_cur_max;
     __cxa_atexit;
     __cxa_finalize;
     __cxa_thread_atexit_impl; # introduced=23
     __dn_comp;
     __dn_count_labels;
     __dn_skipname;
-    __epoll_pwait; # arm x86 introduced=21
+    __epoll_pwait; # arm x86
     __errno;
-    __exit; # arm x86 introduced=21
-    __fadvise64; # x86 introduced=21
+    __exit; # arm x86
+    __fadvise64; # x86
     __fbufsize; # introduced=23
     __fcntl64; # arm x86
-    __FD_CLR_chk; # introduced=21
-    __FD_ISSET_chk; # introduced=21
-    __FD_SET_chk; # introduced=21
-    __fgets_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
+    __FD_CLR_chk;
+    __FD_ISSET_chk;
+    __FD_SET_chk;
+    __fgets_chk;
     __flbf; # introduced=23
     __fp_nquery;
     __fp_query;
-    __fpclassify; # introduced=21
+    __fpclassify;
     __fpclassifyd;
     __fpclassifyf;
     __fpclassifyl;
@@ -41,9 +41,9 @@
     __fstatfs64; # arm x86
     __fwritable; # introduced=23
     __get_h_errno;
-    __getcpu; # arm x86 introduced-arm=12 introduced-x86=12
+    __getcpu; # arm x86
     __getcwd; # arm x86
-    __getpid; # arm x86 introduced=21
+    __getpid; # arm x86
     __getpriority; # arm x86
     __gnu_basename; # introduced=23
     __gnu_strerror_r; # introduced=23
@@ -55,50 +55,50 @@
     __isinf;
     __isinff;
     __isinfl;
-    __isnan; # introduced=21
-    __isnanf; # introduced=21
+    __isnan;
+    __isnanf;
     __isnanl;
     __isnormal;
     __isnormalf;
     __isnormall;
     __isthreaded; # arm x86 var
-    __libc_current_sigrtmax; # introduced=21
-    __libc_current_sigrtmin; # introduced=21
+    __libc_current_sigrtmax;
+    __libc_current_sigrtmin;
     __libc_init;
     __llseek; # arm x86
     __loc_aton;
     __loc_ntoa;
     __memchr_chk; # introduced=23
-    __memcpy_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
-    __memmove_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
+    __memcpy_chk;
+    __memmove_chk;
     __memrchr_chk; # introduced=23
-    __memset_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
+    __memset_chk;
     __mmap2; # arm x86
-    __ns_format_ttl; # arm x86
-    __ns_get16; # arm x86
-    __ns_get32; # arm x86
-    __ns_initparse; # arm x86
-    __ns_makecanon; # arm x86
-    __ns_msg_getflag; # arm x86
-    __ns_name_compress; # arm x86
-    __ns_name_ntol; # arm x86
-    __ns_name_ntop; # arm x86
-    __ns_name_pack; # arm x86
-    __ns_name_pton; # arm x86
-    __ns_name_rollback; # arm x86
-    __ns_name_skip; # arm x86
-    __ns_name_uncompress; # arm x86
-    __ns_name_unpack; # arm x86
-    __ns_parserr; # arm x86
-    __ns_put16; # arm x86
-    __ns_put32; # arm x86
-    __ns_samename; # arm x86
-    __ns_skiprr; # arm x86
-    __ns_sprintrr; # arm x86
-    __ns_sprintrrf; # arm x86
-    __open_2; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
+    __ns_format_ttl; # arm x86 introduced=22
+    __ns_get16; # arm x86 introduced=22
+    __ns_get32; # arm x86 introduced=22
+    __ns_initparse; # arm x86 introduced=22
+    __ns_makecanon; # arm x86 introduced=22
+    __ns_msg_getflag; # arm x86 introduced=22
+    __ns_name_compress; # arm x86 introduced=22
+    __ns_name_ntol; # arm x86 introduced=22
+    __ns_name_ntop; # arm x86 introduced=22
+    __ns_name_pack; # arm x86 introduced=22
+    __ns_name_pton; # arm x86 introduced=22
+    __ns_name_rollback; # arm x86 introduced=22
+    __ns_name_skip; # arm x86 introduced=22
+    __ns_name_uncompress; # arm x86 introduced=22
+    __ns_name_unpack; # arm x86 introduced=22
+    __ns_parserr; # arm x86 introduced=22
+    __ns_put16; # arm x86 introduced=22
+    __ns_put32; # arm x86 introduced=22
+    __ns_samename; # arm x86 introduced=22
+    __ns_skiprr; # arm x86 introduced=22
+    __ns_sprintrr; # arm x86 introduced=22
+    __ns_sprintrrf; # arm x86 introduced=22
+    __open_2;
     __openat; # arm x86
-    __openat_2; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
+    __openat_2;
     __p_cdname;
     __p_cdnname;
     __p_class;
@@ -113,23 +113,23 @@
     __p_type;
     __p_type_syms; # var
     __poll_chk; # introduced=23
-    __ppoll; # arm x86 introduced=21
+    __ppoll; # arm x86
     __ppoll_chk; # introduced=23
     __ppoll64_chk; # introduced=28
     __pread64_chk; # introduced=23
     __pread_chk; # introduced=23
     __progname; # var
-    __pselect6; # arm x86 introduced=21
+    __pselect6; # arm x86
     __pthread_cleanup_pop;
     __pthread_cleanup_push;
     __ptrace; # arm x86
     __putlong;
     __putshort;
-    __read_chk; # introduced=21
+    __read_chk;
     __readlink_chk; # introduced=23
     __readlinkat_chk; # introduced=23
     __reboot; # arm x86
-    __recvfrom_chk; # introduced=21
+    __recvfrom_chk;
     __register_atfork; # introduced=23
     __res_close;
     __res_dnok;
@@ -152,83 +152,83 @@
     __res_send_setqhook;
     __res_send_setrhook;
     __rt_sigaction; # arm x86
-    __rt_sigpending; # arm x86 introduced=21
+    __rt_sigpending; # arm x86
     __rt_sigprocmask; # arm x86
-    __rt_sigsuspend; # arm x86 introduced=21
+    __rt_sigsuspend; # arm x86
     __rt_sigtimedwait; # arm x86
-    __sched_cpualloc; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
-    __sched_cpucount; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
-    __sched_cpufree; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
-    __sched_getaffinity; # arm x86 introduced=12
+    __sched_cpualloc;
+    __sched_cpucount;
+    __sched_cpufree;
+    __sched_getaffinity; # arm x86
     __set_thread_area; # x86
-    __set_tid_address; # arm x86 introduced=21
+    __set_tid_address; # arm x86
     __set_tls; # arm
     __sF; # var
-    __sigaction; # arm x86 introduced=21
-    __snprintf_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
-    __socket; # arm x86 introduced=21
-    __sprintf_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
+    __sigaction; # arm x86
+    __snprintf_chk;
+    __socket; # arm x86
+    __sprintf_chk;
     __stack_chk_fail;
     __stack_chk_guard; # var
     __statfs64; # arm x86
-    __stpcpy_chk; # introduced=21
-    __stpncpy_chk; # introduced=21
-    __stpncpy_chk2; # introduced=21
-    __strcat_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
-    __strchr_chk; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
-    __strcpy_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
-    __strlcat_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
-    __strlcpy_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
-    __strlen_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
-    __strncat_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
-    __strncpy_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
-    __strncpy_chk2; # introduced=21
-    __strrchr_chk; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
+    __stpcpy_chk;
+    __stpncpy_chk;
+    __stpncpy_chk2;
+    __strcat_chk;
+    __strchr_chk;
+    __strcpy_chk;
+    __strlcat_chk;
+    __strlcpy_chk;
+    __strlen_chk;
+    __strncat_chk;
+    __strncpy_chk;
+    __strncpy_chk2;
+    __strrchr_chk;
     __sym_ntop;
     __sym_ntos;
     __sym_ston;
     __system_property_area_serial; # introduced=23
     __system_property_find;
     __system_property_find_nth;
-    __system_property_foreach; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
+    __system_property_foreach;
     __system_property_get;
     __system_property_read;
-    __system_property_serial; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
-    __system_property_set; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
+    __system_property_serial;
+    __system_property_set;
     __timer_create; # arm x86
     __timer_delete; # arm x86
     __timer_getoverrun; # arm x86
     __timer_gettime; # arm x86
     __timer_settime; # arm x86
-    __umask_chk; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
-    __vsnprintf_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
-    __vsprintf_chk; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
+    __umask_chk;
+    __vsnprintf_chk;
+    __vsprintf_chk;
     __waitid; # arm x86
     _ctype_; # var
-    _Exit; # introduced=21
+    _Exit;
     _exit;
     _flushlbf; # introduced=23
     _getlong;
     _getshort;
     _longjmp;
-    _resolv_delete_cache_for_net; # introduced=21
-    _resolv_flush_cache_for_net; # introduced=21
-    _resolv_set_nameservers_for_net; # introduced=21
+    _resolv_delete_cache_for_net;
+    _resolv_flush_cache_for_net;
+    _resolv_set_nameservers_for_net;
     _setjmp;
-    _tolower; # introduced=21
+    _tolower;
     _tolower_tab_; # arm x86 var
-    _toupper; # introduced=21
+    _toupper;
     _toupper_tab_; # arm x86 var
     abort;
-    abs; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
+    abs;
     accept;
-    accept4; # introduced=21
+    accept4;
     access;
     acct;
     alarm;
     alphasort;
-    alphasort64; # introduced=21
-    android_set_abort_message; # introduced=21
+    alphasort64;
+    android_set_abort_message;
     arc4random;
     arc4random_buf;
     arc4random_uniform;
@@ -237,8 +237,8 @@
     asctime64_r; # arm x86
     asctime_r;
     asprintf;
-    at_quick_exit; # introduced=21
-    atof; # introduced=21
+    at_quick_exit;
+    atof;
     atoi;
     atol;
     atoll;
@@ -249,18 +249,18 @@
     brk;
     bsearch;
     btowc;
-    c16rtomb; # introduced=21
-    c32rtomb; # introduced=21
+    c16rtomb;
+    c32rtomb;
     cacheflush; # arm
     calloc;
     capget;
     capset;
-    cfgetispeed; # introduced=21
-    cfgetospeed; # introduced=21
-    cfmakeraw; # introduced=21
-    cfsetispeed; # introduced=21
-    cfsetospeed; # introduced=21
-    cfsetspeed; # introduced=21
+    cfgetispeed;
+    cfgetospeed;
+    cfmakeraw;
+    cfsetispeed;
+    cfsetospeed;
+    cfsetspeed;
     chdir;
     chmod;
     chown;
@@ -274,13 +274,13 @@
     clock_gettime;
     clock_nanosleep;
     clock_settime;
-    clone; # introduced-arm=9 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
+    clone;
     close;
     closedir;
     closelog;
     connect;
     creat;
-    creat64; # introduced=21
+    creat64;
     ctime;
     ctime64; # arm x86
     ctime64_r; # arm x86
@@ -294,20 +294,20 @@
     dirname_r; # arm x86
     div;
     dn_expand;
-    dprintf; # introduced=21
+    dprintf;
     drand48;
     dup;
     dup2;
-    dup3; # introduced=21
-    duplocale; # introduced=21
-    endmntent; # introduced=21
+    dup3;
+    duplocale;
+    endmntent;
     endservent;
     endutent;
     environ; # var
     epoll_create;
-    epoll_create1; # introduced=21
+    epoll_create1;
     epoll_ctl;
-    epoll_pwait; # introduced=21
+    epoll_pwait;
     epoll_wait;
     erand48;
     err;
@@ -317,10 +317,10 @@
     error_one_per_line; # var introduced=23
     error_print_progname; # var introduced=23
     errx;
-    ether_aton; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
-    ether_aton_r; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
-    ether_ntoa; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
-    ether_ntoa_r; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
+    ether_aton;
+    ether_aton_r;
+    ether_ntoa;
+    ether_ntoa_r;
     eventfd;
     eventfd_read;
     eventfd_write;
@@ -330,11 +330,11 @@
     execv;
     execve;
     execvp;
-    execvpe; # introduced=21
+    execvpe;
     exit;
     faccessat;
-    fallocate; # introduced=21
-    fallocate64; # introduced=21
+    fallocate;
+    fallocate64;
     fchdir;
     fchmod;
     fchmodat;
@@ -351,7 +351,7 @@
     ferror;
     ferror_unlocked; # introduced=23
     fflush;
-    ffs; # introduced-arm=9 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
+    ffs;
     fgetc;
     fgetln;
     fgetpos;
@@ -378,7 +378,7 @@
     fread;
     free;
     freeaddrinfo;
-    freelocale; # introduced=21
+    freelocale;
     fremovexattr;
     freopen;
     fscanf;
@@ -387,30 +387,30 @@
     fsetpos;
     fsetxattr;
     fstat;
-    fstat64; # introduced=21
+    fstat64;
     fstatat;
-    fstatat64; # introduced=21
+    fstatat64;
     fstatfs;
-    fstatfs64; # introduced=21
-    fstatvfs; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
-    fstatvfs64; # introduced=21
+    fstatfs64;
+    fstatvfs;
+    fstatvfs64;
     fsync;
     ftell;
     ftello;
     ftok;
     ftruncate;
-    ftruncate64; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
+    ftruncate64;
     ftrylockfile;
-    fts_children; # introduced=21
-    fts_close; # introduced=21
-    fts_open; # introduced=21
-    fts_read; # introduced=21
-    fts_set; # introduced=21
-    ftw; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
-    ftw64; # introduced=21
+    fts_children;
+    fts_close;
+    fts_open;
+    fts_read;
+    fts_set;
+    ftw;
+    ftw64;
     funlockfile;
     funopen;
-    futimens; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
+    futimens;
     fwide;
     fwprintf;
     fwrite;
@@ -421,13 +421,13 @@
     get_nprocs_conf; # introduced=23
     get_phys_pages; # introduced=23
     getaddrinfo;
-    getauxval; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
+    getauxval;
     getc;
     getc_unlocked;
     getchar;
     getchar_unlocked;
     getcwd;
-    getdelim; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
+    getdelim;
     getegid;
     getenv;
     geteuid;
@@ -445,41 +445,41 @@
     gethostent;
     gethostname;
     getitimer;
-    getline; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
+    getline;
     getlogin;
     getmntent;
-    getmntent_r; # introduced=21
+    getmntent_r;
     getnameinfo;
     getnetbyaddr;
     getnetbyname;
     getopt;
     getopt_long;
     getopt_long_only;
-    getpagesize; # introduced=21
+    getpagesize;
     getpeername;
     getpgid;
     getpgrp;
     getpid;
     getppid;
     getpriority;
-    getprogname; # introduced=21
+    getprogname;
     getprotobyname;
     getprotobynumber;
     getpt;
     getpwnam;
-    getpwnam_r; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
+    getpwnam_r;
     getpwuid;
-    getpwuid_r; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
+    getpwuid_r;
     getresgid;
     getresuid;
     getrlimit;
-    getrlimit64; # introduced=21
+    getrlimit64;
     getrusage;
     gets;
     getservbyname;
     getservbyport;
     getservent;
-    getsid; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
+    getsid;
     getsockname;
     getsockopt;
     gettid;
@@ -493,21 +493,21 @@
     gmtime64; # arm x86
     gmtime64_r; # arm x86
     gmtime_r;
-    grantpt; # introduced=21
+    grantpt;
     herror;
     hstrerror;
-    htonl; # introduced=21
-    htons; # introduced=21
+    htonl;
+    htons;
     if_indextoname;
     if_nametoindex;
-    imaxabs; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
-    imaxdiv; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
+    imaxabs;
+    imaxdiv;
     inet_addr;
     inet_aton;
-    inet_lnaof; # introduced=21
-    inet_makeaddr; # introduced=21
-    inet_netof; # introduced=21
-    inet_network; # introduced=21
+    inet_lnaof;
+    inet_makeaddr;
+    inet_netof;
+    inet_network;
     inet_nsap_addr;
     inet_nsap_ntoa;
     inet_ntoa;
@@ -515,96 +515,96 @@
     inet_pton;
     init_module;
     initgroups;
-    initstate; # introduced=21
+    initstate;
     inotify_add_watch;
     inotify_init;
-    inotify_init1; # introduced=21
+    inotify_init1;
     inotify_rm_watch;
-    insque; # introduced=21
+    insque;
     ioctl;
     isalnum;
-    isalnum_l; # introduced=21
+    isalnum_l;
     isalpha;
-    isalpha_l; # introduced=21
+    isalpha_l;
     isascii;
     isatty;
     isblank;
-    isblank_l; # introduced=21
+    isblank_l;
     iscntrl;
-    iscntrl_l; # introduced=21
+    iscntrl_l;
     isdigit;
-    isdigit_l; # introduced=21
-    isfinite; # introduced=21
-    isfinitef; # introduced=21
-    isfinitel; # introduced=21
+    isdigit_l;
+    isfinite;
+    isfinitef;
+    isfinitel;
     isgraph;
-    isgraph_l; # introduced=21
-    isinf; # introduced=21
-    isinff; # introduced=21
-    isinfl; # introduced=21
+    isgraph_l;
+    isinf;
+    isinff;
+    isinfl;
     islower;
-    islower_l; # introduced=21
+    islower_l;
     isnan;
     isnanf;
-    isnanl; # introduced=21
-    isnormal; # introduced=21
-    isnormalf; # introduced=21
-    isnormall; # introduced=21
+    isnanl;
+    isnormal;
+    isnormalf;
+    isnormall;
     isprint;
-    isprint_l; # introduced=21
+    isprint_l;
     ispunct;
-    ispunct_l; # introduced=21
+    ispunct_l;
     isspace;
-    isspace_l; # introduced=21
+    isspace_l;
     isupper;
-    isupper_l; # introduced=21
+    isupper_l;
     iswalnum;
-    iswalnum_l; # introduced=21
+    iswalnum_l;
     iswalpha;
-    iswalpha_l; # introduced=21
-    iswblank; # introduced=21
-    iswblank_l; # introduced=21
+    iswalpha_l;
+    iswblank;
+    iswblank_l;
     iswcntrl;
-    iswcntrl_l; # introduced=21
+    iswcntrl_l;
     iswctype;
-    iswctype_l; # introduced=21
+    iswctype_l;
     iswdigit;
-    iswdigit_l; # introduced=21
+    iswdigit_l;
     iswgraph;
-    iswgraph_l; # introduced=21
+    iswgraph_l;
     iswlower;
-    iswlower_l; # introduced=21
+    iswlower_l;
     iswprint;
-    iswprint_l; # introduced=21
+    iswprint_l;
     iswpunct;
-    iswpunct_l; # introduced=21
+    iswpunct_l;
     iswspace;
-    iswspace_l; # introduced=21
+    iswspace_l;
     iswupper;
-    iswupper_l; # introduced=21
+    iswupper_l;
     iswxdigit;
-    iswxdigit_l; # introduced=21
+    iswxdigit_l;
     isxdigit;
-    isxdigit_l; # introduced=21
+    isxdigit_l;
     jrand48;
     kill;
     killpg;
     klogctl;
-    labs; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
+    labs;
     lchown;
     lcong48; # introduced=23
     ldexp;
     ldiv;
-    lfind; # introduced=21
+    lfind;
     lgetxattr;
     link;
-    linkat; # introduced=21
+    linkat;
     listen;
     listxattr;
-    llabs; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
+    llabs;
     lldiv;
     llistxattr;
-    localeconv; # introduced=21
+    localeconv;
     localtime;
     localtime64; # arm x86
     localtime64_r; # arm x86
@@ -613,26 +613,26 @@
     longjmp;
     lrand48;
     lremovexattr;
-    lsearch; # introduced=21
+    lsearch;
     lseek;
     lseek64;
     lsetxattr;
     lstat;
-    lstat64; # introduced=21
+    lstat64;
     madvise;
     mallinfo;
     malloc;
     malloc_info; # introduced=23
-    malloc_usable_size; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
+    malloc_usable_size;
     mbrlen;
-    mbrtoc16; # introduced=21
-    mbrtoc32; # introduced=21
+    mbrtoc16;
+    mbrtoc32;
     mbrtowc;
     mbsinit;
-    mbsnrtowcs; # introduced=21
+    mbsnrtowcs;
     mbsrtowcs;
-    mbstowcs; # introduced=21
-    mbtowc; # introduced=21
+    mbstowcs;
+    mbtowc;
     memalign;
     memccpy;
     memchr;
@@ -647,37 +647,37 @@
     mkdir;
     mkdirat;
     mkdtemp;
-    mkfifo; # introduced=21
+    mkfifo;
     mkfifoat; # introduced=23
     mknod;
-    mknodat; # introduced=21
+    mknodat;
     mkostemp; # introduced=23
     mkostemp64; # introduced=23
     mkostemps; # introduced=23
     mkostemps64; # introduced=23
     mkstemp;
-    mkstemp64; # introduced=21
+    mkstemp64;
     mkstemps;
     mkstemps64; # introduced=23
     mktemp;
     mktime;
     mktime64; # arm x86
     mlock;
-    mlockall; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
+    mlockall;
     mmap;
-    mmap64; # introduced=21
+    mmap64;
     mount;
     mprotect;
     mrand48;
     mremap;
     msync;
     munlock;
-    munlockall; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
+    munlockall;
     munmap;
     nanosleep;
-    newlocale; # introduced=21
-    nftw; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
-    nftw64; # introduced=21
+    newlocale;
+    nftw;
+    nftw64;
     nice;
     nrand48;
     ns_format_ttl; # arm64 x86_64 riscv64 introduced=22
@@ -703,14 +703,14 @@
     ns_sprintrr; # arm64 x86_64 riscv64 introduced=22
     ns_sprintrrf; # arm64 x86_64 riscv64 introduced=22
     nsdispatch;
-    ntohl; # introduced=21
-    ntohs; # introduced=21
+    ntohl;
+    ntohs;
     open;
-    open64; # introduced=21
+    open64;
     open_memstream; # introduced=23
     open_wmemstream; # introduced=23
     openat;
-    openat64; # introduced=21
+    openat64;
     opendir;
     openlog;
     openpty; # introduced=23
@@ -728,26 +728,26 @@
     pipe2;
     poll;
     popen;
-    posix_fadvise; # introduced=21
-    posix_fadvise64; # introduced=21
-    posix_fallocate; # introduced=21
-    posix_fallocate64; # introduced=21
+    posix_fadvise;
+    posix_fadvise64;
+    posix_fallocate;
+    posix_fallocate64;
     posix_madvise; # introduced=23
-    posix_memalign; # introduced=17
-    posix_openpt; # introduced=21
-    ppoll; # introduced=21
+    posix_memalign;
+    posix_openpt;
+    ppoll;
     prctl;
     pread;
-    pread64; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
+    pread64;
     printf;
     prlimit; # arm64 x86_64 riscv64
-    prlimit64; # introduced=21
+    prlimit64;
     process_vm_readv; # introduced=23
     process_vm_writev; # introduced=23
     pselect;
-    psiginfo; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
-    psignal; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
-    pthread_atfork; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
+    psiginfo;
+    psignal;
+    pthread_atfork;
     pthread_attr_destroy;
     pthread_attr_getdetachstate;
     pthread_attr_getguardsize;
@@ -770,15 +770,15 @@
     pthread_cond_signal;
     pthread_cond_timedwait;
     pthread_cond_timedwait_monotonic; # arm x86
-    pthread_cond_timedwait_monotonic_np; # introduced-arm=9 introduced-x86=9 introduced-arm64=28 introduced-x64_64=28
+    pthread_cond_timedwait_monotonic_np; # introduced-arm=9 introduced-x86=9 introduced-arm64=28 introduced-x64_64=28 introduced-riscv64=28
     pthread_cond_timedwait_relative_np; # arm x86
     pthread_cond_timeout_np; # arm x86
     pthread_cond_wait;
     pthread_condattr_destroy;
-    pthread_condattr_getclock; # introduced=21
+    pthread_condattr_getclock;
     pthread_condattr_getpshared;
     pthread_condattr_init;
-    pthread_condattr_setclock; # introduced=21
+    pthread_condattr_setclock;
     pthread_condattr_setpshared;
     pthread_create;
     pthread_detach;
@@ -788,7 +788,7 @@
     pthread_getcpuclockid;
     pthread_getschedparam;
     pthread_getspecific;
-    pthread_gettid_np; # introduced=21
+    pthread_gettid_np;
     pthread_join;
     pthread_key_create;
     pthread_key_delete;
@@ -797,7 +797,7 @@
     pthread_mutex_init;
     pthread_mutex_lock;
     pthread_mutex_lock_timeout_np; # arm x86
-    pthread_mutex_timedlock; # introduced=21
+    pthread_mutex_timedlock;
     pthread_mutex_trylock;
     pthread_mutex_unlock;
     pthread_mutexattr_destroy;
@@ -840,30 +840,30 @@
     putw; # arm x86
     putwc;
     putwchar;
-    pvalloc; # arm x86 introduced=17
+    pvalloc; # arm x86
     pwrite;
-    pwrite64; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
+    pwrite64;
     qsort;
-    quick_exit; # introduced=21
+    quick_exit;
     raise;
-    rand; # introduced=21
-    rand_r; # introduced=21
-    random; # introduced=21
+    rand;
+    rand_r;
+    random;
     read;
     readahead;
     readdir;
-    readdir64; # introduced=21
-    readdir64_r; # introduced=21
+    readdir64;
+    readdir64_r;
     readdir_r;
     readlink;
-    readlinkat; # introduced=21
+    readlinkat;
     readv;
     realloc;
     realpath;
     reboot;
     recv;
     recvfrom;
-    recvmmsg; # introduced=21
+    recvmmsg;
     recvmsg;
     regcomp;
     regerror;
@@ -871,7 +871,7 @@
     regfree;
     remove;
     removexattr;
-    remque; # introduced=21
+    remque;
     rename;
     renameat;
     res_init;
@@ -883,16 +883,16 @@
     rmdir;
     sbrk;
     scandir;
-    scandir64; # introduced=21
+    scandir64;
     scanf;
     sched_get_priority_max;
     sched_get_priority_min;
-    sched_getaffinity; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
-    sched_getcpu; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
+    sched_getaffinity;
+    sched_getcpu;
     sched_getparam;
     sched_getscheduler;
     sched_rr_get_interval;
-    sched_setaffinity; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
+    sched_setaffinity;
     sched_setparam;
     sched_setscheduler;
     sched_yield;
@@ -911,8 +911,8 @@
     sem_wait;
     send;
     sendfile;
-    sendfile64; # introduced=21
-    sendmmsg; # introduced=21
+    sendfile64;
+    sendmmsg;
     sendmsg;
     sendto;
     setbuf;
@@ -920,8 +920,8 @@
     setegid;
     setenv;
     seteuid;
-    setfsgid; # introduced=21
-    setfsuid; # introduced=21
+    setfsgid;
+    setfsuid;
     setgid;
     setgroups;
     sethostname; # introduced=23
@@ -930,22 +930,22 @@
     setlinebuf;
     setlocale;
     setlogmask;
-    setmntent; # introduced=21
-    setns; # introduced=21
+    setmntent;
+    setns;
     setpgid;
     setpgrp;
     setpriority;
-    setprogname; # introduced=21
+    setprogname;
     setregid;
     setresgid;
     setresuid;
     setreuid;
     setrlimit;
-    setrlimit64; # introduced=21
+    setrlimit64;
     setservent;
     setsid;
     setsockopt;
-    setstate; # introduced=21
+    setstate;
     settimeofday;
     setuid;
     setutent;
@@ -953,21 +953,21 @@
     setxattr;
     shutdown;
     sigaction;
-    sigaddset; # introduced=21
+    sigaddset;
     sigaltstack;
     sigblock;
-    sigdelset; # introduced=21
-    sigemptyset; # introduced=21
-    sigfillset; # introduced=21
+    sigdelset;
+    sigemptyset;
+    sigfillset;
     siginterrupt;
-    sigismember; # introduced=21
-    siglongjmp; # introduced-arm=9 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
-    signal; # introduced=21
-    signalfd; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
+    sigismember;
+    siglongjmp;
+    signal;
+    signalfd;
     sigpending;
     sigprocmask;
     sigqueue; # introduced=23
-    sigsetjmp; # introduced-arm=9 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
+    sigsetjmp;
     sigsetmask;
     sigsuspend;
     sigtimedwait; # introduced=23
@@ -977,23 +977,23 @@
     snprintf;
     socket;
     socketpair;
-    splice; # introduced=21
+    splice;
     sprintf;
-    srand; # introduced=21
+    srand;
     srand48;
-    srandom; # introduced=21
+    srandom;
     sscanf;
     stat;
-    stat64; # introduced=21
+    stat64;
     statfs;
-    statfs64; # introduced=21
-    statvfs; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
-    statvfs64; # introduced=21
+    statfs64;
+    statvfs;
+    statvfs64;
     stderr; # var introduced=23
     stdin; # var introduced=23
     stdout; # var introduced=23
-    stpcpy; # introduced=21
-    stpncpy; # introduced=21
+    stpcpy;
+    stpncpy;
     strcasecmp;
     strcasecmp_l; # introduced=23
     strcasestr;
@@ -1001,7 +1001,7 @@
     strchr;
     strcmp;
     strcoll;
-    strcoll_l; # introduced=21
+    strcoll_l;
     strcpy;
     strcspn;
     strdup;
@@ -1009,7 +1009,7 @@
     strerror_l; # introduced=23
     strerror_r;
     strftime;
-    strftime_l; # introduced=21
+    strftime_l;
     strlcat;
     strlcpy;
     strlen;
@@ -1028,27 +1028,27 @@
     strspn;
     strstr;
     strtod;
-    strtof; # introduced=21
+    strtof;
     strtoimax;
     strtok;
     strtok_r;
     strtol;
-    strtold; # introduced=21
-    strtold_l; # introduced=21
+    strtold;
+    strtold_l;
     strtoll;
-    strtoll_l; # introduced=21
+    strtoll_l;
     strtoul;
     strtoull;
-    strtoull_l; # introduced=21
+    strtoull_l;
     strtoumax;
     strxfrm;
-    strxfrm_l; # introduced=21
-    swapoff; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
-    swapon; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
+    strxfrm_l;
+    swapoff;
+    swapon;
     swprintf;
     swscanf;
     symlink;
-    symlinkat; # introduced=21
+    symlinkat;
     sync;
     sys_siglist; # var
     sys_signame; # var
@@ -1057,54 +1057,54 @@
     sysinfo;
     syslog;
     system;
-    tcdrain; # introduced=21
-    tcflow; # introduced=21
-    tcflush; # introduced=21
-    tcgetattr; # introduced=21
+    tcdrain;
+    tcflow;
+    tcflush;
+    tcgetattr;
     tcgetpgrp;
-    tcgetsid; # introduced=21
-    tcsendbreak; # introduced=21
-    tcsetattr; # introduced=21
+    tcgetsid;
+    tcsendbreak;
+    tcsetattr;
     tcsetpgrp;
     tdelete;
     tdestroy;
-    tee; # introduced=21
+    tee;
     telldir; # introduced=23
     tempnam;
     tfind;
     tgkill;
     time;
-    timegm; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
+    timegm;
     timegm64; # arm x86
-    timelocal; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
+    timelocal;
     timelocal64; # arm x86
     timer_create;
     timer_delete;
     timer_getoverrun;
     timer_gettime;
     timer_settime;
-    timerfd_create; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
-    timerfd_gettime; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
-    timerfd_settime; # introduced-arm=19 introduced-arm64=21 introduced-x86=19 introduced-x86_64=21
+    timerfd_create;
+    timerfd_gettime;
+    timerfd_settime;
     times;
     timezone; # var
     tmpfile;
     tmpnam;
     toascii;
     tolower;
-    tolower_l; # introduced=21
+    tolower_l;
     toupper;
-    toupper_l; # introduced=21
+    toupper_l;
     towlower;
-    towlower_l; # introduced=21
+    towlower_l;
     towupper;
-    towupper_l; # introduced=21
+    towupper_l;
     truncate;
-    truncate64; # introduced=21
+    truncate64;
     tsearch;
     ttyname;
     ttyname_r;
-    twalk; # introduced=21
+    twalk;
     tzname; # var
     tzset;
     umask;
@@ -1117,16 +1117,16 @@
     unlinkat;
     unlockpt;
     unsetenv;
-    unshare; # introduced-arm=17 introduced-arm64=21 introduced-x86=17 introduced-x86_64=21
-    uselocale; # introduced=21
+    unshare;
+    uselocale;
     usleep;
     utime;
-    utimensat; # introduced-arm=12 introduced-arm64=21 introduced-x86=12 introduced-x86_64=21
+    utimensat;
     utimes;
     utmpname;
     valloc; # arm x86
     vasprintf;
-    vdprintf; # introduced=21
+    vdprintf;
     verr;
     verrx;
     vfdprintf; # arm x86 versioned=28
@@ -1134,22 +1134,22 @@
     vfprintf;
     vfscanf;
     vfwprintf;
-    vfwscanf; # introduced=21
-    vmsplice; # introduced=21
+    vfwscanf;
+    vmsplice;
     vprintf;
     vscanf;
     vsnprintf;
     vsprintf;
     vsscanf;
     vswprintf;
-    vswscanf; # introduced=21
+    vswscanf;
     vsyslog;
     vwarn;
     vwarnx;
     vwprintf;
-    vwscanf; # introduced=21
+    vwscanf;
     wait;
-    wait4; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
+    wait4;
     waitid;
     waitpid;
     warn;
@@ -1163,7 +1163,7 @@
     wcschr;
     wcscmp;
     wcscoll;
-    wcscoll_l; # introduced=21
+    wcscoll_l;
     wcscpy;
     wcscspn;
     wcsdup;
@@ -1177,33 +1177,33 @@
     wcsncmp;
     wcsncpy;
     wcsnlen;
-    wcsnrtombs; # introduced=21
+    wcsnrtombs;
     wcspbrk;
     wcsrchr;
     wcsrtombs;
     wcsspn;
     wcsstr;
     wcstod;
-    wcstof; # introduced=21
-    wcstoimax; # introduced=21
+    wcstof;
+    wcstoimax;
     wcstok;
     wcstol;
-    wcstold; # introduced=21
-    wcstold_l; # introduced=21
-    wcstoll; # introduced=21
-    wcstoll_l; # introduced=21
-    wcstombs; # introduced=21
+    wcstold;
+    wcstold_l;
+    wcstoll;
+    wcstoll_l;
+    wcstombs;
     wcstoul;
-    wcstoull; # introduced=21
-    wcstoull_l; # introduced=21
-    wcstoumax; # introduced=21
+    wcstoull;
+    wcstoull_l;
+    wcstoumax;
     wcswidth;
     wcsxfrm;
-    wcsxfrm_l; # introduced=21
+    wcsxfrm_l;
     wctob;
-    wctomb; # introduced=21
+    wctomb;
     wctype;
-    wctype_l; # introduced=21
+    wctype_l;
     wcwidth;
     wmemchr;
     wmemcmp;
@@ -1341,7 +1341,7 @@
     wctrans_l; # introduced=26
 } LIBC_N;
 
-LIBC_P { # introduced=P
+LIBC_P { # introduced=28
   global:
     __freading;
     __free_hook;
@@ -1442,7 +1442,7 @@
     wcstoul_l;
 } LIBC_O;
 
-LIBC_Q { # introduced=Q
+LIBC_Q { # introduced=29
   global:
     ___tls_get_addr; # x86
     __aeabi_read_tp; # arm
@@ -1478,7 +1478,7 @@
     android_mallopt; # apex llndk
 } LIBC_P;
 
-LIBC_R { # introduced=R
+LIBC_R { # introduced=30
   global:
     __mempcpy_chk;
     __tls_get_addr; # arm64
@@ -1548,7 +1548,7 @@
     _Unwind_VRS_Set; # arm
 } LIBC_Q;
 
-LIBC_S { # introduced=S
+LIBC_S { # introduced=31
   global:
     __libc_get_static_tls_bounds;
     __libc_register_thread_exit_callback;
@@ -1563,7 +1563,7 @@
     process_madvise;
 } LIBC_R;
 
-LIBC_T { # introduced=Tiramisu
+LIBC_T { # introduced=33
   global:
     backtrace;
     backtrace_symbols;
@@ -1574,7 +1574,7 @@
     pwritev64v2;
 } LIBC_S;
 
-LIBC_U { # introduced=UpsideDownCake
+LIBC_U { # introduced=34
   global:
     __freadahead;
     close_range;
@@ -1584,6 +1584,41 @@
     posix_spawn_file_actions_addfchdir_np;
 } LIBC_T;
 
+LIBC_V { # introduced=35
+  global:
+    android_crash_detail_register;
+    android_crash_detail_unregister;
+    android_crash_detail_replace_name;
+    android_crash_detail_replace_data;
+    epoll_pwait2;
+    epoll_pwait2_64;
+    _Fork;
+    localtime_rz;
+    mbsrtowcs_l;
+    mktime_z;
+    __riscv_flush_icache; # riscv64
+    __riscv_hwprobe; # riscv64
+    strerrorname_np;
+    tcgetwinsize;
+    tcsetwinsize;
+    timespec_getres;
+    tzalloc;
+    tzfree;
+    wcsrtombs_l;
+    __system_properties_zygote_reload; # apex
+} LIBC_U;
+
+LIBC_36 { # introduced=36
+  global:
+    lchmod;
+    mseal;
+    pthread_getaffinity_np;
+    pthread_setaffinity_np;
+    qsort_r;
+    sig2str;
+    str2sig;
+} LIBC_V;
+
 LIBC_PRIVATE {
   global:
     __accept4; # arm x86
diff --git a/libc/malloc_debug/Android.bp b/libc/malloc_debug/Android.bp
index 373d497..5d61801 100644
--- a/libc/malloc_debug/Android.bp
+++ b/libc/malloc_debug/Android.bp
@@ -3,6 +3,7 @@
 // ==============================================================
 // Used by libmemunreachable
 package {
+    default_team: "trendy_team_native_tools_libraries",
     // See: http://go/android-license-faq
     // A large-scale-change added 'default_applicable_licenses' to import
     // all of the 'license_kinds' from "bionic_libc_license"
@@ -61,6 +62,7 @@
         "DebugData.cpp",
         "debug_disable.cpp",
         "GuardData.cpp",
+        "LogAllocatorStats.cpp",
         "malloc_debug.cpp",
         "PointerData.cpp",
         "RecordData.cpp",
@@ -77,6 +79,10 @@
         "libmemunreachable",
     ],
 
+    whole_static_libs: [
+        "libmemory_trace",
+    ],
+
     shared_libs: [
         "libunwindstack",
     ],
@@ -197,4 +203,5 @@
         "-O0",
     ],
     test_suites: ["general-tests"],
+    test_config: "tests/AndroidTest.xml",
 }
diff --git a/libc/malloc_debug/Config.cpp b/libc/malloc_debug/Config.cpp
index be577bc..6be899d 100644
--- a/libc/malloc_debug/Config.cpp
+++ b/libc/malloc_debug/Config.cpp
@@ -187,6 +187,10 @@
         "record_allocs_file",
         {0, &Config::SetRecordAllocsFile},
     },
+    {
+        "record_allocs_on_exit",
+        {0, &Config::SetRecordAllocsOnExit},
+    },
 
     {
         "verify_pointers",
@@ -204,6 +208,14 @@
         "check_unreachable_on_signal",
         {CHECK_UNREACHABLE_ON_SIGNAL, &Config::VerifyValueEmpty},
     },
+    {
+        "log_allocator_stats_on_signal",
+        {LOG_ALLOCATOR_STATS_ON_SIGNAL, &Config::VerifyValueEmpty},
+    },
+    {
+        "log_allocator_stats_on_exit",
+        {LOG_ALLOCATOR_STATS_ON_EXIT, &Config::VerifyValueEmpty},
+    },
 };
 
 bool Config::ParseValue(const std::string& option, const std::string& value, size_t min_value,
@@ -397,6 +409,14 @@
   return true;
 }
 
+bool Config::SetRecordAllocsOnExit(const std::string& option, const std::string& value) {
+  if (Config::VerifyValueEmpty(option, value)) {
+    record_allocs_on_exit_ = true;
+    return true;
+  }
+  return false;
+}
+
 bool Config::VerifyValueEmpty(const std::string& option, const std::string& value) {
   if (!value.empty()) {
     // This is not valid.
@@ -409,7 +429,8 @@
 
 void Config::LogUsage() const {
   error_log("For malloc debug option descriptions go to:");
-  error_log("  https://android.googlesource.com/platform/bionic/+/master/libc/malloc_debug/README.md");
+  error_log(
+      "  https://android.googlesource.com/platform/bionic/+/main/libc/malloc_debug/README.md");
 }
 
 bool Config::GetOption(const char** options_str, std::string* option, std::string* value) {
@@ -466,6 +487,7 @@
   backtrace_min_size_bytes_ = 0;
   backtrace_max_size_bytes_ = SIZE_MAX;
   check_unreachable_signal_ = SIGRTMAX - 16;
+  log_allocator_stats_signal_ = SIGRTMAX - 15;
 
   // Process each option name we can find.
   std::string option;
diff --git a/libc/malloc_debug/Config.h b/libc/malloc_debug/Config.h
index ef1d2a9..4840d43 100644
--- a/libc/malloc_debug/Config.h
+++ b/libc/malloc_debug/Config.h
@@ -48,6 +48,8 @@
 constexpr uint64_t VERBOSE = 0x1000;
 constexpr uint64_t CHECK_UNREACHABLE_ON_SIGNAL = 0x2000;
 constexpr uint64_t BACKTRACE_SPECIFIC_SIZES = 0x4000;
+constexpr uint64_t LOG_ALLOCATOR_STATS_ON_SIGNAL = 0x8000;
+constexpr uint64_t LOG_ALLOCATOR_STATS_ON_EXIT = 0x10000;
 
 // In order to guarantee posix compliance, set the minimum alignment
 // to 8 bytes for 32 bit systems and 16 bytes for 64 bit systems.
@@ -97,9 +99,12 @@
   int record_allocs_signal() const { return record_allocs_signal_; }
   size_t record_allocs_num_entries() const { return record_allocs_num_entries_; }
   const std::string& record_allocs_file() const { return record_allocs_file_; }
+  bool record_allocs_on_exit() const { return record_allocs_on_exit_; }
 
   int check_unreachable_signal() const { return check_unreachable_signal_; }
 
+  int log_allocator_stats_signal() const { return log_allocator_stats_signal_; }
+
  private:
   struct OptionInfo {
     uint64_t option;
@@ -136,6 +141,7 @@
 
   bool SetRecordAllocs(const std::string& option, const std::string& value);
   bool SetRecordAllocsFile(const std::string& option, const std::string& value);
+  bool SetRecordAllocsOnExit(const std::string& option, const std::string& value);
 
   bool VerifyValueEmpty(const std::string& option, const std::string& value);
 
@@ -167,6 +173,7 @@
   int record_allocs_signal_ = 0;
   size_t record_allocs_num_entries_ = 0;
   std::string record_allocs_file_;
+  bool record_allocs_on_exit_ = false;
 
   uint64_t options_ = 0;
   uint8_t fill_alloc_value_;
@@ -175,4 +182,5 @@
   uint8_t rear_guard_value_;
 
   int check_unreachable_signal_ = 0;
+  int log_allocator_stats_signal_ = 0;
 };
diff --git a/libc/malloc_debug/DebugData.cpp b/libc/malloc_debug/DebugData.cpp
index 44c4a10..885cc95 100644
--- a/libc/malloc_debug/DebugData.cpp
+++ b/libc/malloc_debug/DebugData.cpp
@@ -31,6 +31,7 @@
 #include "Config.h"
 #include "DebugData.h"
 #include "GuardData.h"
+#include "LogAllocatorStats.h"
 #include "PointerData.h"
 #include "debug_disable.h"
 #include "malloc_debug.h"
@@ -75,6 +76,13 @@
   if (config_.options() & EXPAND_ALLOC) {
     extra_bytes_ += config_.expand_alloc_bytes();
   }
+
+  if (config_.options() & LOG_ALLOCATOR_STATS_ON_SIGNAL) {
+    if (!LogAllocatorStats::Initialize(config_)) {
+      return false;
+    }
+  }
+
   return true;
 }
 
diff --git a/libc/malloc_debug/LogAllocatorStats.cpp b/libc/malloc_debug/LogAllocatorStats.cpp
new file mode 100644
index 0000000..ee6bfdf
--- /dev/null
+++ b/libc/malloc_debug/LogAllocatorStats.cpp
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <errno.h>
+#include <malloc.h>
+#include <signal.h>
+#include <unistd.h>
+
+#include "Config.h"
+#include "LogAllocatorStats.h"
+#include "debug_log.h"
+
+namespace LogAllocatorStats {
+
+static std::atomic_bool g_call_mallopt = {};
+
+static void CallMalloptLogStats(int, struct siginfo*, void*) {
+  g_call_mallopt = true;
+}
+
+void Log() {
+  info_log("Logging allocator stats...");
+  if (mallopt(M_LOG_STATS, 0) == 0) {
+    error_log("mallopt(M_LOG_STATS, 0) call failed.");
+  }
+}
+
+void CheckIfShouldLog() {
+  bool expected = true;
+  if (g_call_mallopt.compare_exchange_strong(expected, false)) {
+    Log();
+  }
+}
+
+bool Initialize(const Config& config) {
+  struct sigaction64 log_stats_act = {};
+  log_stats_act.sa_sigaction = CallMalloptLogStats;
+  log_stats_act.sa_flags = SA_RESTART | SA_SIGINFO | SA_ONSTACK;
+  if (sigaction64(config.log_allocator_stats_signal(), &log_stats_act, nullptr) != 0) {
+    error_log("Unable to set up log allocator stats signal function: %s", strerror(errno));
+    return false;
+  }
+
+  if (config.options() & VERBOSE) {
+    info_log("%s: Run: 'kill -%d %d' to log allocator stats.", getprogname(),
+             config.log_allocator_stats_signal(), getpid());
+  }
+
+  return true;
+}
+
+}  // namespace LogAllocatorStats
diff --git a/libm/fenv-access.h b/libc/malloc_debug/LogAllocatorStats.h
similarity index 84%
copy from libm/fenv-access.h
copy to libc/malloc_debug/LogAllocatorStats.h
index 7acb34d..ded4f94 100644
--- a/libm/fenv-access.h
+++ b/libc/malloc_debug/LogAllocatorStats.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2023 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,15 @@
 
 #pragma once
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
-#endif
+// Forward declarations
+class ConfigData;
+
+namespace LogAllocatorStats {
+
+bool Initialize(const Config& config);
+
+void Log();
+
+void CheckIfShouldLog();
+
+}  // namespace LogAllocatorStats
diff --git a/libc/malloc_debug/MapData.cpp b/libc/malloc_debug/MapData.cpp
index b22c109..c58882a 100644
--- a/libc/malloc_debug/MapData.cpp
+++ b/libc/malloc_debug/MapData.cpp
@@ -34,6 +34,8 @@
 #include <stdlib.h>
 #include <string.h>
 #include <sys/mman.h>
+#include <sys/uio.h>
+#include <unistd.h>
 
 #include <vector>
 
@@ -69,148 +71,132 @@
 
   MapEntry* entry = new MapEntry(start, end, offset, name, name_len, flags);
   if (!(flags & PROT_READ)) {
-    // Any unreadable map will just get a zero load bias.
-    entry->load_bias = 0;
-    entry->init = true;
-    entry->valid = false;
+    // This will make sure that an unreadable map will prevent attempts to read
+    // elf data from the map.
+    entry->SetInvalid();
   }
   return entry;
 }
 
-template <typename T>
-static inline bool get_val(MapEntry* entry, uintptr_t addr, T* store) {
-  if (!(entry->flags & PROT_READ) || addr < entry->start || addr + sizeof(T) > entry->end) {
-    return false;
+void MapEntry::Init() {
+  if (init_) {
+    return;
   }
-  // Make sure the address is aligned properly.
-  if (addr & (sizeof(T) - 1)) {
-    return false;
-  }
-  *store = *reinterpret_cast<T*>(addr);
-  return true;
-}
+  init_ = true;
 
-static bool valid_elf(MapEntry* entry) {
-  uintptr_t addr = entry->start;
-  uintptr_t end;
-  if (__builtin_add_overflow(addr, SELFMAG, &end) || end >= entry->end) {
-    return false;
+  uintptr_t end_addr;
+  if (__builtin_add_overflow(start_, SELFMAG, &end_addr) || end_addr >= end_) {
+    return;
   }
 
-  return memcmp(reinterpret_cast<void*>(addr), ELFMAG, SELFMAG) == 0;
-}
-
-static void read_loadbias(MapEntry* entry) {
-  entry->load_bias = 0;
-  uintptr_t addr = entry->start;
   ElfW(Ehdr) ehdr;
-  if (!get_val<ElfW(Half)>(entry, addr + offsetof(ElfW(Ehdr), e_phnum), &ehdr.e_phnum)) {
-    return;
+  struct iovec src_io = {.iov_base = reinterpret_cast<void*>(start_), .iov_len = SELFMAG};
+  struct iovec dst_io = {.iov_base = ehdr.e_ident, .iov_len = SELFMAG};
+  ssize_t rc = process_vm_readv(getpid(), &dst_io, 1, &src_io, 1, 0);
+  valid_ = rc == SELFMAG && IS_ELF(ehdr);
+}
+
+uintptr_t MapEntry::GetLoadBias() {
+  if (!valid_) {
+    return 0;
   }
-  if (!get_val<ElfW(Off)>(entry, addr + offsetof(ElfW(Ehdr), e_phoff), &ehdr.e_phoff)) {
-    return;
+
+  if (load_bias_read_) {
+    return load_bias_;
   }
-  addr += ehdr.e_phoff;
+
+  load_bias_read_ = true;
+
+  ElfW(Ehdr) ehdr;
+  struct iovec src_io = {.iov_base = reinterpret_cast<void*>(start_), .iov_len = sizeof(ehdr)};
+  struct iovec dst_io = {.iov_base = &ehdr, .iov_len = sizeof(ehdr)};
+  ssize_t rc = process_vm_readv(getpid(), &dst_io, 1, &src_io, 1, 0);
+  if (rc != sizeof(ehdr)) {
+    return 0;
+  }
+
+  uintptr_t addr = start_ + ehdr.e_phoff;
   for (size_t i = 0; i < ehdr.e_phnum; i++) {
     ElfW(Phdr) phdr;
-    if (!get_val<ElfW(Word)>(entry, addr + offsetof(ElfW(Phdr), p_type), &phdr.p_type)) {
-      return;
-    }
-    if (!get_val<ElfW(Word)>(entry, addr + offsetof(ElfW(Phdr), p_flags), &phdr.p_flags)) {
-      return;
-    }
-    if (!get_val<ElfW(Off)>(entry, addr + offsetof(ElfW(Phdr), p_offset), &phdr.p_offset)) {
-      return;
+
+    src_io.iov_base = reinterpret_cast<void*>(addr);
+    src_io.iov_len = sizeof(phdr);
+    dst_io.iov_base = &phdr;
+    dst_io.iov_len = sizeof(phdr);
+    rc = process_vm_readv(getpid(), &dst_io, 1, &src_io, 1, 0);
+    if (rc != sizeof(phdr)) {
+      return 0;
     }
     if ((phdr.p_type == PT_LOAD) && (phdr.p_flags & PF_X) ) {
-      if (!get_val<ElfW(Addr)>(entry, addr + offsetof(ElfW(Phdr), p_vaddr), &phdr.p_vaddr)) {
-        return;
-      }
-      entry->load_bias = phdr.p_vaddr - phdr.p_offset;
-      return;
+      load_bias_ = phdr.p_vaddr - phdr.p_offset;
+      return load_bias_;
     }
     addr += sizeof(phdr);
   }
+  return 0;
 }
 
-static void inline init(MapEntry* entry) {
-  if (entry->init) {
-    return;
-  }
-  entry->init = true;
-  if (valid_elf(entry)) {
-    entry->valid = true;
-    read_loadbias(entry);
-  }
-}
-
-bool MapData::ReadMaps() {
+void MapData::ReadMaps() {
+  std::lock_guard<std::mutex> lock(m_);
   FILE* fp = fopen("/proc/self/maps", "re");
   if (fp == nullptr) {
-    return false;
+    return;
   }
 
+  ClearEntries();
+
   std::vector<char> buffer(1024);
   while (fgets(buffer.data(), buffer.size(), fp) != nullptr) {
     MapEntry* entry = parse_line(buffer.data());
     if (entry == nullptr) {
-      fclose(fp);
-      return false;
+      break;
     }
-
-    auto it = entries_.find(entry);
-    if (it == entries_.end()) {
-      entries_.insert(entry);
-    } else {
-      delete entry;
-    }
+    entries_.insert(entry);
   }
   fclose(fp);
-  return true;
 }
 
-MapData::~MapData() {
+void MapData::ClearEntries() {
   for (auto* entry : entries_) {
     delete entry;
   }
   entries_.clear();
 }
 
+MapData::~MapData() {
+  ClearEntries();
+}
+
 // Find the containing map info for the PC.
 const MapEntry* MapData::find(uintptr_t pc, uintptr_t* rel_pc) {
   MapEntry pc_entry(pc);
 
   std::lock_guard<std::mutex> lock(m_);
-
   auto it = entries_.find(&pc_entry);
   if (it == entries_.end()) {
-    ReadMaps();
-  }
-  it = entries_.find(&pc_entry);
-  if (it == entries_.end()) {
     return nullptr;
   }
 
   MapEntry* entry = *it;
-  init(entry);
+  entry->Init();
 
   if (rel_pc != nullptr) {
     // Need to check to see if this is a read-execute map and the read-only
     // map is the previous one.
-    if (!entry->valid && it != entries_.begin()) {
+    if (!entry->valid() && it != entries_.begin()) {
       MapEntry* prev_entry = *--it;
-      if (prev_entry->flags == PROT_READ && prev_entry->offset < entry->offset &&
-          prev_entry->name == entry->name) {
-        init(prev_entry);
+      if (prev_entry->flags() == PROT_READ && prev_entry->offset() < entry->offset() &&
+          prev_entry->name() == entry->name()) {
+        prev_entry->Init();
 
-        if (prev_entry->valid) {
-          entry->elf_start_offset = prev_entry->offset;
-          *rel_pc = pc - entry->start + entry->offset + prev_entry->load_bias;
+        if (prev_entry->valid()) {
+          entry->set_elf_start_offset(prev_entry->offset());
+          *rel_pc = pc - entry->start() + entry->offset() + prev_entry->GetLoadBias();
           return entry;
         }
       }
     }
-    *rel_pc = pc - entry->start + entry->offset + entry->load_bias;
+    *rel_pc = pc - entry->start() + entry->offset() + entry->GetLoadBias();
   }
   return entry;
 }
diff --git a/libc/malloc_debug/MapData.h b/libc/malloc_debug/MapData.h
index f2b3c1c..13bf9cb 100644
--- a/libc/malloc_debug/MapData.h
+++ b/libc/malloc_debug/MapData.h
@@ -36,26 +36,50 @@
 
 #include <platform/bionic/macros.h>
 
-struct MapEntry {
-  MapEntry(uintptr_t start, uintptr_t end, uintptr_t offset, const char* name, size_t name_len, int flags)
-      : start(start), end(end), offset(offset), name(name, name_len), flags(flags) {}
+class MapEntry {
+ public:
+  MapEntry() = default;
+  MapEntry(uintptr_t start, uintptr_t end, uintptr_t offset, const char* name, size_t name_len,
+           int flags)
+      : start_(start), end_(end), offset_(offset), name_(name, name_len), flags_(flags) {}
 
-  explicit MapEntry(uintptr_t pc) : start(pc), end(pc) {}
+  explicit MapEntry(uintptr_t pc) : start_(pc), end_(pc) {}
 
-  uintptr_t start;
-  uintptr_t end;
-  uintptr_t offset;
-  uintptr_t load_bias;
-  uintptr_t elf_start_offset = 0;
-  std::string name;
-  int flags;
-  bool init = false;
-  bool valid = false;
+  void Init();
+
+  uintptr_t GetLoadBias();
+
+  void SetInvalid() {
+    valid_ = false;
+    init_ = true;
+    load_bias_read_ = true;
+  }
+
+  bool valid() { return valid_; }
+  uintptr_t start() const { return start_; }
+  uintptr_t end() const { return end_; }
+  uintptr_t offset() const { return offset_; }
+  uintptr_t elf_start_offset() const { return elf_start_offset_; }
+  void set_elf_start_offset(uintptr_t elf_start_offset) { elf_start_offset_ = elf_start_offset; }
+  const std::string& name() const { return name_; }
+  int flags() const { return flags_; }
+
+ private:
+  uintptr_t start_;
+  uintptr_t end_;
+  uintptr_t offset_;
+  uintptr_t load_bias_ = 0;
+  uintptr_t elf_start_offset_ = 0;
+  std::string name_;
+  int flags_;
+  bool init_ = false;
+  bool valid_ = false;
+  bool load_bias_read_ = false;
 };
 
 // Ordering comparator that returns equivalence for overlapping entries
 struct compare_entries {
-  bool operator()(const MapEntry* a, const MapEntry* b) const { return a->end <= b->start; }
+  bool operator()(const MapEntry* a, const MapEntry* b) const { return a->end() <= b->start(); }
 };
 
 class MapData {
@@ -65,11 +89,15 @@
 
   const MapEntry* find(uintptr_t pc, uintptr_t* rel_pc = nullptr);
 
- private:
-  bool ReadMaps();
+  size_t NumMaps() { return entries_.size(); }
 
+  void ReadMaps();
+
+ private:
   std::mutex m_;
   std::set<MapEntry*, compare_entries> entries_;
 
+  void ClearEntries();
+
   BIONIC_DISALLOW_COPY_AND_ASSIGN(MapData);
 };
diff --git a/libm/fenv-access.h b/libc/malloc_debug/Nanotime.h
similarity index 82%
copy from libm/fenv-access.h
copy to libc/malloc_debug/Nanotime.h
index 7acb34d..d7c3f60 100644
--- a/libm/fenv-access.h
+++ b/libc/malloc_debug/Nanotime.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2012 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,11 @@
 
 #pragma once
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
-#endif
+#include <stdint.h>
+#include <time.h>
+
+static inline __always_inline uint64_t Nanotime() {
+  struct timespec t = {};
+  clock_gettime(CLOCK_MONOTONIC, &t);
+  return static_cast<uint64_t>(t.tv_sec) * 1000000000LL + t.tv_nsec;
+}
diff --git a/libc/malloc_debug/README.md b/libc/malloc_debug/README.md
index fddc4a3..750a469 100644
--- a/libc/malloc_debug/README.md
+++ b/libc/malloc_debug/README.md
@@ -170,7 +170,7 @@
 overrides this option, and should not be used at the same time.
 
 This option can also be used in combination with other tools such
-as [libmemunreachable](https://android.googlesource.com/platform/system/memory/libmemunreachable/+/master/README.md)
+as [libmemunreachable](https://android.googlesource.com/platform/system/memory/libmemunreachable/+/main/README.md)
 to only get backtraces for sizes of allocations listed as being leaked.
 
 ### backtrace\_max\_size=ALLOCATION\_SIZE\_BYTES
@@ -183,7 +183,7 @@
 overrides this option, and should not be used at the same time.
 
 This option can also be used in combination with other tools such
-as [libmemunreachable](https://android.googlesource.com/platform/system/memory/libmemunreachable/+/master/README.md)
+as [libmemunreachable](https://android.googlesource.com/platform/system/memory/libmemunreachable/+/main/README.md)
 to only get backtraces for sizes of allocations listed as being leaked.
 
 ### backtrace\_size=ALLOCATION\_SIZE\_BYTES
@@ -192,7 +192,7 @@
 This option overrides the backtrace\_min\_size and the backtrace\_max\_size.
 
 This option can also be used in combination with other tools such
-as [libmemunreachable](https://android.googlesource.com/platform/system/memory/libmemunreachable/+/master/README.md)
+as [libmemunreachable](https://android.googlesource.com/platform/system/memory/libmemunreachable/+/main/README.md)
 to only get backtraces for sizes of allocations listed as being leaked.
 
 ### backtrace\_full
@@ -340,6 +340,16 @@
     04-15 12:35:33.305  7412  7412 E malloc_debug:           #02  pc 000a9e38  /system/lib/libc++.so
     04-15 12:35:33.305  7412  7412 E malloc_debug:           #03  pc 000a28a8  /system/lib/libc++.so
 
+### log\_allocator\_stats\_on\_signal
+As of Android V, this option will trigger a call to:
+
+    mallopt(M_LOG_STATS, 0);
+
+When a process receives the signal SIGRTMAX - 15 (which is 49 on Android
+devices). The mallopt call is not async safe and is not called from the
+signal handler directly. Instead, the next time any allocation call occurs,
+the mallopt is called.
+
 ### record\_allocs[=TOTAL\_ENTRIES]
 Keep track of every allocation/free made on every thread and dump them
 to a file when the signal SIGRTMAX - 18 (which is 46 on Android devices)
@@ -446,6 +456,19 @@
 
 **NOTE**: This option is not available until the O release of Android.
 
+### record\_allocs\_on\_exit
+This option only has meaning if record\_allocs is set. It indicates that
+when the process terminates, the record file should be created
+automatically.
+
+The only caveat to this option is that when the process terminates,
+the file that will contain the records will be the normal file name
+with **.PID** appended. Where PID is the pid of the process that has
+terminated. This is to avoid cases where a number of processes exit
+at the same time and attempt to write to the same file.
+
+**NOTE**: This option is not available until the V release of Android.
+
 ### verify\_pointers
 Track all live allocations to determine if a pointer is used that does not
 exist. This option is a lightweight way to verify that all
diff --git a/libc/malloc_debug/RecordData.cpp b/libc/malloc_debug/RecordData.cpp
index 8a77170..1641732 100644
--- a/libc/malloc_debug/RecordData.cpp
+++ b/libc/malloc_debug/RecordData.cpp
@@ -39,72 +39,19 @@
 #include <mutex>
 
 #include <android-base/stringprintf.h>
+#include <memory_trace/MemoryTrace.h>
 
 #include "Config.h"
 #include "DebugData.h"
+#include "Nanotime.h"
 #include "RecordData.h"
 #include "debug_disable.h"
 #include "debug_log.h"
 
-RecordEntry::RecordEntry() : tid_(gettid()) {
-}
-
-bool ThreadCompleteEntry::Write(int fd) const {
-  return dprintf(fd, "%d: thread_done 0x0\n", tid_) > 0;
-}
-
-AllocEntry::AllocEntry(void* pointer, uint64_t start_ns, uint64_t end_ns)
-    : pointer_(pointer), start_ns_(start_ns), end_ns_(end_ns) {}
-
-MallocEntry::MallocEntry(void* pointer, size_t size, uint64_t start_ns, uint64_t end_ns)
-    : AllocEntry(pointer, start_ns, end_ns), size_(size) {}
-
-bool MallocEntry::Write(int fd) const {
-  return dprintf(fd, "%d: malloc %p %zu %" PRIu64 " %" PRIu64 "\n", tid_, pointer_, size_,
-                 start_ns_, end_ns_) > 0;
-}
-
-FreeEntry::FreeEntry(void* pointer, uint64_t start_ns, uint64_t end_ns)
-    : AllocEntry(pointer, start_ns, end_ns) {}
-
-bool FreeEntry::Write(int fd) const {
-  return dprintf(fd, "%d: free %p %" PRIu64 " %" PRIu64 "\n", tid_, pointer_, start_ns_, end_ns_) >
-         0;
-}
-
-CallocEntry::CallocEntry(void* pointer, size_t nmemb, size_t size, uint64_t start_ns,
-                         uint64_t end_ns)
-    : MallocEntry(pointer, size, start_ns, end_ns), nmemb_(nmemb) {}
-
-bool CallocEntry::Write(int fd) const {
-  return dprintf(fd, "%d: calloc %p %zu %zu %" PRIu64 " %" PRIu64 "\n", tid_, pointer_, nmemb_,
-                 size_, start_ns_, end_ns_) > 0;
-}
-
-ReallocEntry::ReallocEntry(void* pointer, size_t size, void* old_pointer, uint64_t start_ns,
-                           uint64_t end_ns)
-    : MallocEntry(pointer, size, start_ns, end_ns), old_pointer_(old_pointer) {}
-
-bool ReallocEntry::Write(int fd) const {
-  return dprintf(fd, "%d: realloc %p %p %zu %" PRIu64 " %" PRIu64 "\n", tid_, pointer_,
-                 old_pointer_, size_, start_ns_, end_ns_) > 0;
-}
-
-// aligned_alloc, posix_memalign, memalign, pvalloc, valloc all recorded with this class.
-MemalignEntry::MemalignEntry(void* pointer, size_t size, size_t alignment, uint64_t start_ns,
-                             uint64_t end_ns)
-    : MallocEntry(pointer, size, start_ns, end_ns), alignment_(alignment) {}
-
-bool MemalignEntry::Write(int fd) const {
-  return dprintf(fd, "%d: memalign %p %zu %zu %" PRIu64 " %" PRIu64 "\n", tid_, pointer_,
-                 alignment_, size_, start_ns_, end_ns_) > 0;
-}
-
 struct ThreadData {
-  ThreadData(RecordData* record_data, ThreadCompleteEntry* entry)
-      : record_data(record_data), entry(entry) {}
-  RecordData* record_data;
-  ThreadCompleteEntry* entry;
+  ThreadData(RecordData* record_data) : record_data(record_data) {}
+
+  RecordData* record_data = nullptr;
   size_t count = 0;
 };
 
@@ -117,7 +64,8 @@
   if (thread_data->count == 4) {
     ScopedDisableDebugCalls disable;
 
-    thread_data->record_data->AddEntryOnly(thread_data->entry);
+    thread_data->record_data->AddEntryOnly(memory_trace::Entry{
+        .tid = gettid(), .type = memory_trace::THREAD_DONE, .end_ns = Nanotime()});
     delete thread_data;
   } else {
     pthread_setspecific(thread_data->record_data->key(), data);
@@ -131,22 +79,35 @@
   record_obj_->WriteEntries();
 }
 
+void RecordData::WriteEntriesOnExit() {
+  if (record_obj_ == nullptr) return;
+
+  // Append the current pid to the file name to avoid multiple processes
+  // writing to the same file.
+  std::string file(record_obj_->file());
+  file += "." + std::to_string(getpid());
+  record_obj_->WriteEntries(file);
+}
+
 void RecordData::WriteEntries() {
+  WriteEntries(file_);
+}
+
+void RecordData::WriteEntries(const std::string& file) {
   std::lock_guard<std::mutex> entries_lock(entries_lock_);
   if (cur_index_ == 0) {
     info_log("No alloc entries to write.");
     return;
   }
 
-  int dump_fd =
-      open(dump_file_.c_str(), O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC | O_NOFOLLOW, 0755);
+  int dump_fd = open(file.c_str(), O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC | O_NOFOLLOW, 0755);
   if (dump_fd == -1) {
-    error_log("Cannot create record alloc file %s: %s", dump_file_.c_str(), strerror(errno));
+    error_log("Cannot create record alloc file %s: %s", file.c_str(), strerror(errno));
     return;
   }
 
   for (size_t i = 0; i < cur_index_; i++) {
-    if (!entries_[i]->Write(dump_fd)) {
+    if (!memory_trace::WriteEntryToFd(dump_fd, entries_[i])) {
       error_log("Failed to write record alloc information: %s", strerror(errno));
       break;
     }
@@ -179,7 +140,7 @@
 
   entries_.resize(config.record_allocs_num_entries());
   cur_index_ = 0U;
-  dump_file_ = config.record_allocs_file();
+  file_ = config.record_allocs_file();
 
   return true;
 }
@@ -188,23 +149,23 @@
   pthread_key_delete(key_);
 }
 
-void RecordData::AddEntryOnly(const RecordEntry* entry) {
+void RecordData::AddEntryOnly(const memory_trace::Entry& entry) {
   std::lock_guard<std::mutex> entries_lock(entries_lock_);
   if (cur_index_ == entries_.size()) {
     // Maxed out, throw the entry away.
     return;
   }
 
-  entries_[cur_index_++].reset(entry);
+  entries_[cur_index_++] = entry;
   if (cur_index_ == entries_.size()) {
     info_log("Maximum number of records added, all new operations will be dropped.");
   }
 }
 
-void RecordData::AddEntry(const RecordEntry* entry) {
+void RecordData::AddEntry(const memory_trace::Entry& entry) {
   void* data = pthread_getspecific(key_);
   if (data == nullptr) {
-    ThreadData* thread_data = new ThreadData(this, new ThreadCompleteEntry());
+    ThreadData* thread_data = new ThreadData(this);
     pthread_setspecific(key_, thread_data);
   }
 
diff --git a/libc/malloc_debug/RecordData.h b/libc/malloc_debug/RecordData.h
index a02c956..f4b0d82 100644
--- a/libc/malloc_debug/RecordData.h
+++ b/libc/malloc_debug/RecordData.h
@@ -39,117 +39,9 @@
 #include <string>
 #include <vector>
 
+#include <memory_trace/MemoryTrace.h>
 #include <platform/bionic/macros.h>
 
-class RecordEntry {
- public:
-  RecordEntry();
-  virtual ~RecordEntry() = default;
-
-  virtual bool Write(int fd) const = 0;
-
- protected:
-  pid_t tid_;
-
- private:
-  BIONIC_DISALLOW_COPY_AND_ASSIGN(RecordEntry);
-};
-
-class ThreadCompleteEntry : public RecordEntry {
- public:
-  ThreadCompleteEntry() = default;
-  virtual ~ThreadCompleteEntry() = default;
-
-  bool Write(int fd) const override;
-
- private:
-  BIONIC_DISALLOW_COPY_AND_ASSIGN(ThreadCompleteEntry);
-};
-
-class AllocEntry : public RecordEntry {
- public:
-  explicit AllocEntry(void* pointer, uint64_t st, uint64_t et);
-  virtual ~AllocEntry() = default;
-
- protected:
-  void* pointer_;
-
-  // The start/end time of this operation.
-  uint64_t start_ns_;
-  uint64_t end_ns_;
-
- private:
-  BIONIC_DISALLOW_COPY_AND_ASSIGN(AllocEntry);
-};
-
-class MallocEntry : public AllocEntry {
- public:
-  MallocEntry(void* pointer, size_t size, uint64_t st, uint64_t et);
-  virtual ~MallocEntry() = default;
-
-  bool Write(int fd) const override;
-
- protected:
-  size_t size_;
-
- private:
-  BIONIC_DISALLOW_COPY_AND_ASSIGN(MallocEntry);
-};
-
-class FreeEntry : public AllocEntry {
- public:
-  explicit FreeEntry(void* pointer, uint64_t st, uint64_t et);
-  virtual ~FreeEntry() = default;
-
-  bool Write(int fd) const override;
-
- private:
-  BIONIC_DISALLOW_COPY_AND_ASSIGN(FreeEntry);
-};
-
-class CallocEntry : public MallocEntry {
- public:
-  CallocEntry(void* pointer, size_t nmemb, size_t size, uint64_t st, uint64_t et);
-  virtual ~CallocEntry() = default;
-
-  bool Write(int fd) const override;
-
- protected:
-  size_t nmemb_;
-
- private:
-  BIONIC_DISALLOW_COPY_AND_ASSIGN(CallocEntry);
-};
-
-class ReallocEntry : public MallocEntry {
- public:
-  ReallocEntry(void* pointer, size_t size, void* old_pointer, uint64_t st, uint64_t et);
-  virtual ~ReallocEntry() = default;
-
-  bool Write(int fd) const override;
-
- protected:
-  void* old_pointer_;
-
- private:
-  BIONIC_DISALLOW_COPY_AND_ASSIGN(ReallocEntry);
-};
-
-// aligned_alloc, posix_memalign, memalign, pvalloc, valloc all recorded with this class.
-class MemalignEntry : public MallocEntry {
- public:
-  MemalignEntry(void* pointer, size_t size, size_t alignment, uint64_t st, uint64_t et);
-  virtual ~MemalignEntry() = default;
-
-  bool Write(int fd) const override;
-
- protected:
-  size_t alignment_;
-
- private:
-  BIONIC_DISALLOW_COPY_AND_ASSIGN(MemalignEntry);
-};
-
 class Config;
 
 class RecordData {
@@ -159,22 +51,26 @@
 
   bool Initialize(const Config& config);
 
-  void AddEntry(const RecordEntry* entry);
-  void AddEntryOnly(const RecordEntry* entry);
+  void AddEntry(const memory_trace::Entry& entry);
+  void AddEntryOnly(const memory_trace::Entry& entry);
 
+  const std::string& file() { return file_; }
   pthread_key_t key() { return key_; }
 
+  static void WriteEntriesOnExit();
+
  private:
   static void WriteData(int, siginfo_t*, void*);
   static RecordData* record_obj_;
 
   void WriteEntries();
+  void WriteEntries(const std::string& file);
 
   std::mutex entries_lock_;
   pthread_key_t key_;
-  std::vector<std::unique_ptr<const RecordEntry>> entries_;
+  std::vector<memory_trace::Entry> entries_;
   size_t cur_index_;
-  std::string dump_file_;
+  std::string file_;
 
   BIONIC_DISALLOW_COPY_AND_ASSIGN(RecordData);
 };
diff --git a/libc/malloc_debug/backtrace.cpp b/libc/malloc_debug/backtrace.cpp
index ecb3a80..6a32fca 100644
--- a/libc/malloc_debug/backtrace.cpp
+++ b/libc/malloc_debug/backtrace.cpp
@@ -50,7 +50,7 @@
 typedef struct _Unwind_Context __unwind_context;
 
 static MapData g_map_data;
-static const MapEntry* g_current_code_map = nullptr;
+static MapEntry g_current_code_map;
 
 static _Unwind_Reason_Code find_current_map(__unwind_context* context, void*) {
   uintptr_t ip = _Unwind_GetIP(context);
@@ -58,11 +58,15 @@
   if (ip == 0) {
     return _URC_END_OF_STACK;
   }
-  g_current_code_map = g_map_data.find(ip);
+  auto map = g_map_data.find(ip);
+  if (map != nullptr) {
+    g_current_code_map = *map;
+  }
   return _URC_END_OF_STACK;
 }
 
 void backtrace_startup() {
+  g_map_data.ReadMaps();
   _Unwind_Backtrace(find_current_map, nullptr);
 }
 
@@ -98,7 +102,8 @@
   }
 
   // Do not record the frames that fall in our own shared library.
-  if (g_current_code_map && (ip >= g_current_code_map->start) && ip < g_current_code_map->end) {
+  if (g_current_code_map.start() != 0 && (ip >= g_current_code_map.start()) &&
+      ip < g_current_code_map.end()) {
     return _URC_NO_REASON;
   }
 
@@ -113,6 +118,10 @@
 }
 
 std::string backtrace_string(const uintptr_t* frames, size_t frame_count) {
+  if (g_map_data.NumMaps() == 0) {
+    g_map_data.ReadMaps();
+  }
+
   std::string str;
 
   for (size_t frame_num = 0; frame_num < frame_count; frame_num++) {
@@ -130,14 +139,15 @@
     uintptr_t rel_pc = offset;
     const MapEntry* entry = g_map_data.find(frames[frame_num], &rel_pc);
 
-    const char* soname = (entry != nullptr) ? entry->name.c_str() : info.dli_fname;
+    const char* soname = (entry != nullptr) ? entry->name().c_str() : info.dli_fname;
     if (soname == nullptr) {
       soname = "<unknown>";
     }
 
     char offset_buf[128];
-    if (entry != nullptr && entry->elf_start_offset != 0) {
-      snprintf(offset_buf, sizeof(offset_buf), " (offset 0x%" PRIxPTR ")", entry->elf_start_offset);
+    if (entry != nullptr && entry->elf_start_offset() != 0) {
+      snprintf(offset_buf, sizeof(offset_buf), " (offset 0x%" PRIxPTR ")",
+               entry->elf_start_offset());
     } else {
       offset_buf[0] = '\0';
     }
@@ -167,5 +177,6 @@
 }
 
 void backtrace_log(const uintptr_t* frames, size_t frame_count) {
+  g_map_data.ReadMaps();
   error_log_string(backtrace_string(frames, frame_count).c_str());
 }
diff --git a/libc/malloc_debug/malloc_debug.cpp b/libc/malloc_debug/malloc_debug.cpp
index b06ec9e..c183897 100644
--- a/libc/malloc_debug/malloc_debug.cpp
+++ b/libc/malloc_debug/malloc_debug.cpp
@@ -53,6 +53,8 @@
 
 #include "Config.h"
 #include "DebugData.h"
+#include "LogAllocatorStats.h"
+#include "Nanotime.h"
 #include "Unreachable.h"
 #include "UnwindBacktrace.h"
 #include "backtrace.h"
@@ -69,12 +71,6 @@
 
 const MallocDispatch* g_dispatch;
 
-static __always_inline uint64_t Nanotime() {
-  struct timespec t = {};
-  clock_gettime(CLOCK_MONOTONIC, &t);
-  return static_cast<uint64_t>(t.tv_sec) * 1000000000LL + t.tv_nsec;
-}
-
 namespace {
 // A TimedResult contains the result of from malloc end_ns al. functions and the
 // start/end timestamps.
@@ -450,12 +446,20 @@
     PointerData::LogLeaks();
   }
 
+  if ((g_debug->config().options() & RECORD_ALLOCS) && g_debug->config().record_allocs_on_exit()) {
+    RecordData::WriteEntriesOnExit();
+  }
+
   if ((g_debug->config().options() & BACKTRACE) && g_debug->config().backtrace_dump_on_exit()) {
     debug_dump_heap(android::base::StringPrintf("%s.%d.exit.txt",
                                                 g_debug->config().backtrace_dump_prefix().c_str(),
                                                 getpid()).c_str());
   }
 
+  if (g_debug->config().options() & LOG_ALLOCATOR_STATS_ON_EXIT) {
+    LogAllocatorStats::Log();
+  }
+
   backtrace_shutdown();
 
   // In order to prevent any issues of threads freeing previous pointers
@@ -517,11 +521,15 @@
 }
 
 static TimedResult InternalMalloc(size_t size) {
-  if ((g_debug->config().options() & BACKTRACE) && g_debug->pointer->ShouldDumpAndReset()) {
+  uint64_t options = g_debug->config().options();
+  if ((options & BACKTRACE) && g_debug->pointer->ShouldDumpAndReset()) {
     debug_dump_heap(android::base::StringPrintf(
                         "%s.%d.txt", g_debug->config().backtrace_dump_prefix().c_str(), getpid())
                         .c_str());
   }
+  if (options & LOG_ALLOCATOR_STATS_ON_SIGNAL) {
+    LogAllocatorStats::CheckIfShouldLog();
+  }
 
   if (size == 0) {
     size = 1;
@@ -585,19 +593,28 @@
   TimedResult result = InternalMalloc(size);
 
   if (g_debug->config().options() & RECORD_ALLOCS) {
-    g_debug->record->AddEntry(new MallocEntry(result.getValue<void*>(), size,
-                                              result.GetStartTimeNS(), result.GetEndTimeNS()));
+    g_debug->record->AddEntry(
+        memory_trace::Entry{.tid = gettid(),
+                            .type = memory_trace::MALLOC,
+                            .ptr = reinterpret_cast<uint64_t>(result.getValue<void*>()),
+                            .size = size,
+                            .start_ns = result.GetStartTimeNS(),
+                            .end_ns = result.GetEndTimeNS()});
   }
 
   return result.getValue<void*>();
 }
 
 static TimedResult InternalFree(void* pointer) {
-  if ((g_debug->config().options() & BACKTRACE) && g_debug->pointer->ShouldDumpAndReset()) {
+  uint64_t options = g_debug->config().options();
+  if ((options & BACKTRACE) && g_debug->pointer->ShouldDumpAndReset()) {
     debug_dump_heap(android::base::StringPrintf(
                         "%s.%d.txt", g_debug->config().backtrace_dump_prefix().c_str(), getpid())
                         .c_str());
   }
+  if (options & LOG_ALLOCATOR_STATS_ON_SIGNAL) {
+    LogAllocatorStats::CheckIfShouldLog();
+  }
 
   void* free_pointer = pointer;
   size_t bytes;
@@ -670,8 +687,11 @@
   TimedResult result = InternalFree(pointer);
 
   if (g_debug->config().options() & RECORD_ALLOCS) {
-    g_debug->record->AddEntry(
-        new FreeEntry(pointer, result.GetStartTimeNS(), result.GetEndTimeNS()));
+    g_debug->record->AddEntry(memory_trace::Entry{.tid = gettid(),
+                                                  .type = memory_trace::FREE,
+                                                  .ptr = reinterpret_cast<uint64_t>(pointer),
+                                                  .start_ns = result.GetStartTimeNS(),
+                                                  .end_ns = result.GetEndTimeNS()});
   }
 }
 
@@ -754,8 +774,13 @@
     }
 
     if (g_debug->config().options() & RECORD_ALLOCS) {
-      g_debug->record->AddEntry(new MemalignEntry(pointer, bytes, alignment,
-                                                  result.GetStartTimeNS(), result.GetEndTimeNS()));
+      g_debug->record->AddEntry(memory_trace::Entry{.tid = gettid(),
+                                                    .type = memory_trace::MEMALIGN,
+                                                    .ptr = reinterpret_cast<uint64_t>(pointer),
+                                                    .size = bytes,
+                                                    .u.align = alignment,
+                                                    .start_ns = result.GetStartTimeNS(),
+                                                    .end_ns = result.GetEndTimeNS()});
     }
   }
 
@@ -774,11 +799,16 @@
 
   if (pointer == nullptr) {
     TimedResult result = InternalMalloc(bytes);
-    if (g_debug->config().options() & RECORD_ALLOCS) {
-      g_debug->record->AddEntry(new ReallocEntry(result.getValue<void*>(), bytes, nullptr,
-                                                 result.GetStartTimeNS(), result.GetEndTimeNS()));
-    }
     pointer = result.getValue<void*>();
+    if (g_debug->config().options() & RECORD_ALLOCS) {
+      g_debug->record->AddEntry(memory_trace::Entry{.tid = gettid(),
+                                                    .type = memory_trace::REALLOC,
+                                                    .ptr = reinterpret_cast<uint64_t>(pointer),
+                                                    .size = bytes,
+                                                    .u.old_ptr = 0,
+                                                    .start_ns = result.GetStartTimeNS(),
+                                                    .end_ns = result.GetEndTimeNS()});
+    }
     return pointer;
   }
 
@@ -790,8 +820,14 @@
     TimedResult result = InternalFree(pointer);
 
     if (g_debug->config().options() & RECORD_ALLOCS) {
-      g_debug->record->AddEntry(new ReallocEntry(nullptr, bytes, pointer, result.GetStartTimeNS(),
-                                                 result.GetEndTimeNS()));
+      g_debug->record->AddEntry(
+          memory_trace::Entry{.tid = gettid(),
+                              .type = memory_trace::REALLOC,
+                              .ptr = 0,
+                              .size = 0,
+                              .u.old_ptr = reinterpret_cast<uint64_t>(pointer),
+                              .start_ns = result.GetStartTimeNS(),
+                              .end_ns = result.GetEndTimeNS()});
     }
 
     return nullptr;
@@ -888,8 +924,13 @@
   }
 
   if (g_debug->config().options() & RECORD_ALLOCS) {
-    g_debug->record->AddEntry(new ReallocEntry(new_pointer, bytes, pointer, result.GetStartTimeNS(),
-                                               result.GetEndTimeNS()));
+    g_debug->record->AddEntry(memory_trace::Entry{.tid = gettid(),
+                                                  .type = memory_trace::REALLOC,
+                                                  .ptr = reinterpret_cast<uint64_t>(new_pointer),
+                                                  .size = bytes,
+                                                  .u.old_ptr = reinterpret_cast<uint64_t>(pointer),
+                                                  .start_ns = result.GetStartTimeNS(),
+                                                  .end_ns = result.GetEndTimeNS()});
   }
 
   return new_pointer;
@@ -945,8 +986,13 @@
   }
 
   if (g_debug->config().options() & RECORD_ALLOCS) {
-    g_debug->record->AddEntry(
-        new CallocEntry(pointer, nmemb, bytes, result.GetStartTimeNS(), result.GetEndTimeNS()));
+    g_debug->record->AddEntry(memory_trace::Entry{.tid = gettid(),
+                                                  .type = memory_trace::CALLOC,
+                                                  .ptr = reinterpret_cast<uint64_t>(pointer),
+                                                  .size = bytes,
+                                                  .u.n_elements = nmemb,
+                                                  .start_ns = result.GetStartTimeNS(),
+                                                  .end_ns = result.GetEndTimeNS()});
   }
 
   if (pointer != nullptr && g_debug->TrackPointers()) {
diff --git a/libc/malloc_debug/tests/AndroidTest.xml b/libc/malloc_debug/tests/AndroidTest.xml
new file mode 100644
index 0000000..c89cbb5
--- /dev/null
+++ b/libc/malloc_debug/tests/AndroidTest.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<configuration description="Runs malloc_debug_system_tests.">
+    <option name="test-suite-tag" value="apct" />
+    <option name="test-suite-tag" value="apct-native" />
+
+    <!-- cannot be autogenerated: b/153565474 -->
+    <target_preparer class="com.android.tradefed.targetprep.RebootTargetPreparer">
+        <!-- flake mitigation, in case device is in bad state-->
+        <option name="pre-reboot" value="true" />
+        <!-- This test can become flaky if there are lots of other tests
+          running at the same time so do this to attempt to run this test
+          as isolated as possible.
+          tests. -->
+        <option name="post-reboot" value="true" />
+    </target_preparer>
+
+    <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"/>
+
+    <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer">
+        <option name="cleanup" value="true" />
+        <option name="push" value="malloc_debug_system_tests->/data/local/tests/unrestricted/malloc_debug_system_tests" />
+    </target_preparer>
+
+    <test class="com.android.tradefed.testtype.GTest" >
+        <option name="native-test-device-path" value="/data/local/tests/unrestricted/" />
+        <option name="module-name" value="malloc_debug_system_tests" />
+    </test>
+</configuration>
diff --git a/libc/malloc_debug/tests/malloc_debug_config_tests.cpp b/libc/malloc_debug/tests/malloc_debug_config_tests.cpp
index bc7af6d..d33f9cd 100644
--- a/libc/malloc_debug/tests/malloc_debug_config_tests.cpp
+++ b/libc/malloc_debug/tests/malloc_debug_config_tests.cpp
@@ -40,8 +40,9 @@
 };
 
 std::string usage_string(
-  "6 malloc_debug For malloc debug option descriptions go to:\n"
-  "6 malloc_debug   https://android.googlesource.com/platform/bionic/+/master/libc/malloc_debug/README.md\n");
+    "6 malloc_debug For malloc debug option descriptions go to:\n"
+    "6 malloc_debug   "
+    "https://android.googlesource.com/platform/bionic/+/main/libc/malloc_debug/README.md\n");
 
 TEST_F(MallocDebugConfigTest, unknown_option) {
 
@@ -570,6 +571,25 @@
   ASSERT_STREQ("", getFakeLogPrint().c_str());
 }
 
+TEST_F(MallocDebugConfigTest, record_allocs_on_exit) {
+  ASSERT_TRUE(InitConfig("record_allocs_on_exit")) << getFakeLogPrint();
+  ASSERT_EQ(0U, config->options());
+  ASSERT_TRUE(config->record_allocs_on_exit());
+
+  ASSERT_STREQ("", getFakeLogBuf().c_str());
+  ASSERT_STREQ("", getFakeLogPrint().c_str());
+}
+
+TEST_F(MallocDebugConfigTest, record_allocs_on_exit_error) {
+  ASSERT_FALSE(InitConfig("record_allocs_on_exit=something")) << getFakeLogPrint();
+
+  ASSERT_STREQ("", getFakeLogBuf().c_str());
+  std::string log_msg(
+      "6 malloc_debug malloc_testing: value set for option 'record_allocs_on_exit' "
+      "which does not take a value\n");
+  ASSERT_STREQ((log_msg + usage_string).c_str(), getFakeLogPrint().c_str());
+}
+
 TEST_F(MallocDebugConfigTest, guard_min_error) {
   ASSERT_FALSE(InitConfig("guard=0"));
 
@@ -823,6 +843,42 @@
   ASSERT_STREQ((log_msg + usage_string).c_str(), getFakeLogPrint().c_str());
 }
 
+TEST_F(MallocDebugConfigTest, log_allocator_stats_on_signal) {
+  ASSERT_TRUE(InitConfig("log_allocator_stats_on_signal")) << getFakeLogPrint();
+  ASSERT_EQ(LOG_ALLOCATOR_STATS_ON_SIGNAL, config->options());
+
+  ASSERT_STREQ("", getFakeLogBuf().c_str());
+  ASSERT_STREQ("", getFakeLogPrint().c_str());
+}
+
+TEST_F(MallocDebugConfigTest, trigger_log_allocator_stats_on_signal_fail) {
+  ASSERT_FALSE(InitConfig("log_allocator_stats_on_signal=200")) << getFakeLogPrint();
+
+  ASSERT_STREQ("", getFakeLogBuf().c_str());
+  std::string log_msg(
+      "6 malloc_debug malloc_testing: value set for option 'log_allocator_stats_on_signal' "
+      "which does not take a value\n");
+  ASSERT_STREQ((log_msg + usage_string).c_str(), getFakeLogPrint().c_str());
+}
+
+TEST_F(MallocDebugConfigTest, log_allocator_stats_on_exit) {
+  ASSERT_TRUE(InitConfig("log_allocator_stats_on_exit")) << getFakeLogPrint();
+  ASSERT_EQ(LOG_ALLOCATOR_STATS_ON_EXIT, config->options());
+
+  ASSERT_STREQ("", getFakeLogBuf().c_str());
+  ASSERT_STREQ("", getFakeLogPrint().c_str());
+}
+
+TEST_F(MallocDebugConfigTest, trigger_log_allocator_stats_on_exit_fail) {
+  ASSERT_FALSE(InitConfig("log_allocator_stats_on_exit=200")) << getFakeLogPrint();
+
+  ASSERT_STREQ("", getFakeLogBuf().c_str());
+  std::string log_msg(
+      "6 malloc_debug malloc_testing: value set for option 'log_allocator_stats_on_exit' "
+      "which does not take a value\n");
+  ASSERT_STREQ((log_msg + usage_string).c_str(), getFakeLogPrint().c_str());
+}
+
 TEST_F(MallocDebugConfigTest, size) {
   ASSERT_TRUE(InitConfig("backtrace_size=37")) << getFakeLogPrint();
   ASSERT_EQ(BACKTRACE_SPECIFIC_SIZES, config->options());
diff --git a/libc/malloc_debug/tests/malloc_debug_system_tests.cpp b/libc/malloc_debug/tests/malloc_debug_system_tests.cpp
index aee2572..d7a7a4f 100644
--- a/libc/malloc_debug/tests/malloc_debug_system_tests.cpp
+++ b/libc/malloc_debug/tests/malloc_debug_system_tests.cpp
@@ -77,7 +77,7 @@
       // This avoids accidentally grabbing data from a previous process with
       // the same pid.
       log_start_time_ = {};
-      logger_list* list = android_logger_list_open(LOG_ID_MAIN, ANDROID_LOG_NONBLOCK, 1000, 0);
+      logger_list* list = android_logger_list_open(LOG_ID_MAIN, ANDROID_LOG_NONBLOCK, INT_MAX, 0);
       if (list == nullptr) {
         return;
       }
@@ -111,7 +111,7 @@
       while (true) {
         // Do not use non-blocking mode so that the two threads
         // are essentially asleep and not consuming any cpu.
-        list = android_logger_list_open(log, 0, 1000, pid);
+        list = android_logger_list_open(log, 0, INT_MAX, pid);
         if (list != nullptr) {
           break;
         }
diff --git a/libc/malloc_debug/tests/malloc_debug_unit_tests.cpp b/libc/malloc_debug/tests/malloc_debug_unit_tests.cpp
index bf3ed14..c808dc0 100644
--- a/libc/malloc_debug/tests/malloc_debug_unit_tests.cpp
+++ b/libc/malloc_debug/tests/malloc_debug_unit_tests.cpp
@@ -185,6 +185,7 @@
 }
 
 static void VerifyRecords(std::vector<std::string>& expected, std::string& actual) {
+  ASSERT_TRUE(expected.size() != 0);
   size_t offset = 0;
   for (std::string& str : expected) {
     ASSERT_STREQ(str.c_str(), actual.substr(offset, str.size()).c_str());
@@ -267,6 +268,9 @@
         "4 malloc_debug malloc_testing: Run: 'kill -%d %d' to dump the allocation records.\n",
         SIGRTMAX - 18, getpid());
     expected_log += android::base::StringPrintf(
+        "4 malloc_debug malloc_testing: Run: 'kill -%d %d' to log allocator stats.\n",
+        SIGRTMAX - 15, getpid());
+    expected_log += android::base::StringPrintf(
         "4 malloc_debug malloc_testing: Run: 'kill -%d %d' to check for unreachable memory.\n",
         SIGRTMAX - 16, getpid());
   }
@@ -348,6 +352,16 @@
   ASSERT_STREQ(expected_log.c_str(), getFakeLogPrint().c_str());
 }
 
+TEST_F(MallocDebugTest, verbose_log_allocator_stats_on_signal) {
+  Init("verbose log_allocator_stats_on_signal");
+
+  std::string expected_log = android::base::StringPrintf(
+      "4 malloc_debug malloc_testing: Run: 'kill -%d %d' to log allocator stats.\n", SIGRTMAX - 15,
+      getpid());
+  expected_log += "4 malloc_debug malloc_testing: malloc debug enabled\n";
+  ASSERT_STREQ(expected_log.c_str(), getFakeLogPrint().c_str());
+}
+
 TEST_F(MallocDebugTest, fill_on_free) {
   Init("fill_on_free free_track free_track_backtrace_num_frames=0");
 
@@ -411,7 +425,8 @@
 TEST_F(MallocDebugTest, all_options) {
   Init(
       "guard backtrace backtrace_enable_on_signal fill expand_alloc free_track leak_track "
-      "record_allocs verify_pointers abort_on_error verbose check_unreachable_on_signal");
+      "record_allocs verify_pointers abort_on_error verbose check_unreachable_on_signal "
+      "log_allocator_stats_on_signal log_allocator_stats_on_exit");
   VerifyAllocCalls(true);
 }
 
@@ -1498,7 +1513,7 @@
 
     // Call the exit function manually.
     debug_finalize();
-    exit(0);
+    _exit(0);
   }
   ASSERT_NE(-1, pid);
   ASSERT_EQ(pid, TEMP_FAILURE_RETRY(waitpid(pid, nullptr, 0)));
@@ -1547,7 +1562,7 @@
 
     // Call the exit function manually.
     debug_finalize();
-    exit(0);
+    _exit(0);
   }
   ASSERT_NE(-1, pid);
   ASSERT_EQ(pid, TEMP_FAILURE_RETRY(waitpid(pid, nullptr, 0)));
@@ -1605,7 +1620,7 @@
 
     // Call the exit function manually.
     debug_finalize();
-    exit(0);
+    _exit(0);
   }
   ASSERT_NE(-1, pid);
   ASSERT_EQ(pid, TEMP_FAILURE_RETRY(waitpid(pid, nullptr, 0)));
@@ -2415,6 +2430,33 @@
   ASSERT_STREQ("", getFakeLogPrint().c_str());
 }
 
+TEST_F(MallocDebugTest, record_allocs_on_exit) {
+  InitRecordAllocs("record_allocs record_allocs_on_exit");
+
+  // The filename created on exit always appends the pid.
+  // Modify the variable so the file is deleted at the end of the test.
+  record_filename += '.' + std::to_string(getpid());
+
+  std::vector<std::string> expected;
+  void* ptr = debug_malloc(100);
+  expected.push_back(android::base::StringPrintf("%d: malloc %p 100", getpid(), ptr));
+  ptr = debug_malloc(200);
+  expected.push_back(android::base::StringPrintf("%d: malloc %p 200", getpid(), ptr));
+  ptr = debug_malloc(400);
+  expected.push_back(android::base::StringPrintf("%d: malloc %p 400", getpid(), ptr));
+
+  // Call the exit function manually.
+  debug_finalize();
+
+  // Read all of the contents.
+  std::string actual;
+  ASSERT_TRUE(android::base::ReadFileToString(record_filename, &actual));
+  VerifyRecords(expected, actual);
+
+  ASSERT_STREQ("", getFakeLogBuf().c_str());
+  ASSERT_STREQ("", getFakeLogPrint().c_str());
+}
+
 TEST_F(MallocDebugTest, verify_pointers) {
   Init("verify_pointers");
 
@@ -2781,6 +2823,46 @@
       getFakeLogPrint().c_str());
 }
 
+TEST_F(MallocDebugTest, log_allocator_stats_on_signal) {
+  Init("log_allocator_stats_on_signal");
+
+  ASSERT_TRUE(kill(getpid(), SIGRTMAX - 15) == 0);
+  sleep(1);
+
+  // The first unreachable check will pass.
+  void* pointer = debug_malloc(110);
+  ASSERT_TRUE(pointer != nullptr);
+  debug_free(pointer);
+
+  ASSERT_STREQ("", getFakeLogBuf().c_str());
+  if (!running_with_hwasan()) {
+    // Do an exact match because the mallopt should not fail in normal operation.
+    ASSERT_STREQ("4 malloc_debug Logging allocator stats...\n", getFakeLogPrint().c_str());
+  } else {
+    // mallopt fails with hwasan, so just verify that the message is present.
+    ASSERT_MATCH(getFakeLogPrint(), "4 malloc_debug Logging allocator stats...\\n");
+  }
+}
+
+TEST_F(MallocDebugTest, log_allocator_stats_on_exit) {
+  Init("log_allocator_stats_on_exit");
+
+  void* pointer = debug_malloc(110);
+  ASSERT_TRUE(pointer != nullptr);
+  debug_free(pointer);
+
+  debug_finalize();
+
+  ASSERT_STREQ("", getFakeLogBuf().c_str());
+  if (!running_with_hwasan()) {
+    // Do an exact match because the mallopt should not fail in normal operation.
+    ASSERT_STREQ("4 malloc_debug Logging allocator stats...\n", getFakeLogPrint().c_str());
+  } else {
+    // mallopt fails with hwasan, so just verify that the message is present.
+    ASSERT_MATCH(getFakeLogPrint(), "4 malloc_debug Logging allocator stats...\\n");
+  }
+}
+
 TEST_F(MallocDebugTest, backtrace_only_some_sizes_with_backtrace_size) {
   Init("leak_track backtrace backtrace_size=120");
 
diff --git a/libc/malloc_hooks/Android.bp b/libc/malloc_hooks/Android.bp
index 6b4e606..3f0640b 100644
--- a/libc/malloc_hooks/Android.bp
+++ b/libc/malloc_hooks/Android.bp
@@ -2,6 +2,7 @@
 // libc_malloc_hooks.so
 // ==============================================================
 package {
+    default_team: "trendy_team_native_tools_libraries",
     // See: http://go/android-license-faq
     // A large-scale-change added 'default_applicable_licenses' to import
     // all of the 'license_kinds' from "bionic_libc_license"
@@ -75,7 +76,7 @@
     local_include_dirs: ["tests"],
     include_dirs: [
         "bionic/libc",
-        "bionic"
+        "bionic",
     ],
     header_libs: [
         "bionic_libc_platform_headers",
@@ -84,7 +85,7 @@
     cflags: [
         "-Wall",
         "-Werror",
-        "-O1",  // FIXME: http://b/169206016 - issues with aligned_alloc and -O2
+        "-O1", // FIXME: http://b/169206016 - issues with aligned_alloc and -O2
     ],
     test_suites: ["general-tests"],
 }
diff --git a/libc/platform/bionic/android_unsafe_frame_pointer_chase.h b/libc/platform/bionic/android_unsafe_frame_pointer_chase.h
index 2b9a32f..406ad92 100644
--- a/libc/platform/bionic/android_unsafe_frame_pointer_chase.h
+++ b/libc/platform/bionic/android_unsafe_frame_pointer_chase.h
@@ -44,4 +44,4 @@
  * take stack traces efficiently. Normal applications should use APIs such as libunwindstack or
  * _Unwind_Backtrace.
  */
-extern "C" size_t android_unsafe_frame_pointer_chase(uintptr_t* buf, size_t num_entries);
+extern "C" size_t android_unsafe_frame_pointer_chase(uintptr_t* _Nonnull buf, size_t num_entries);
diff --git a/libm/fenv-access.h b/libc/platform/bionic/crash_detail_internal.h
similarity index 74%
copy from libm/fenv-access.h
copy to libc/platform/bionic/crash_detail_internal.h
index 7acb34d..d8508a5 100644
--- a/libm/fenv-access.h
+++ b/libc/platform/bionic/crash_detail_internal.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,22 @@
 
 #pragma once
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
-#endif
+#include <android/crash_detail.h>
+#include <stddef.h>
+#include <sys/cdefs.h>
+
+struct crash_detail_t {
+  const char* name;
+  size_t name_size;
+  const char* data;
+  size_t data_size;
+  crash_detail_t* prev_free;
+};
+
+constexpr auto kNumCrashDetails = 128;
+
+struct crash_detail_page_t {
+  struct crash_detail_page_t* prev;
+  size_t used;
+  struct crash_detail_t crash_details[kNumCrashDetails];
+};
diff --git a/libc/platform/bionic/fdtrack.h b/libc/platform/bionic/fdtrack.h
index fe6ca84..7fc304a 100644
--- a/libc/platform/bionic/fdtrack.h
+++ b/libc/platform/bionic/fdtrack.h
@@ -43,6 +43,8 @@
   ANDROID_FDTRACK_EVENT_TYPE_CLOSE,
 };
 
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnullability-completeness"
 struct android_fdtrack_event {
   // File descriptor for which this event occurred.
   int fd;
@@ -57,12 +59,15 @@
     } create;
   } data;
 };
+#pragma clang diagnostic pop
 
 // Callback invoked upon file descriptor creation/closure.
-typedef void (*android_fdtrack_hook_t)(struct android_fdtrack_event*);
+typedef void (*_Nullable android_fdtrack_hook_t)(struct android_fdtrack_event* _Nullable);
 
 // Register a hook which is called to track fd lifecycle events.
-bool android_fdtrack_compare_exchange_hook(android_fdtrack_hook_t* expected, android_fdtrack_hook_t value) __INTRODUCED_IN(30);
+// Set value to null to disable tracking.
+bool android_fdtrack_compare_exchange_hook(android_fdtrack_hook_t* _Nonnull expected,
+                                           android_fdtrack_hook_t value) __INTRODUCED_IN(30);
 
 // Enable/disable fdtrack *on the current thread*.
 // This is primarily useful when performing operations which you don't want to track
diff --git a/libc/platform/bionic/macros.h b/libc/platform/bionic/macros.h
index 9e13e0d..b2d6f96 100644
--- a/libc/platform/bionic/macros.h
+++ b/libc/platform/bionic/macros.h
@@ -40,12 +40,12 @@
 }
 
 template <typename T>
-static inline T* align_down(T* p, size_t align) {
+static inline T* _Nonnull align_down(T* _Nonnull p, size_t align) {
   return reinterpret_cast<T*>(align_down(reinterpret_cast<uintptr_t>(p), align));
 }
 
 template <typename T>
-static inline T* align_up(T* p, size_t align) {
+static inline T* _Nonnull align_up(T* _Nonnull p, size_t align) {
   return reinterpret_cast<T*>(align_up(reinterpret_cast<uintptr_t>(p), align));
 }
 
@@ -94,6 +94,29 @@
 }
 
 template <typename T>
-static inline T* untag_address(T* p) {
+static inline T* _Nonnull untag_address(T* _Nonnull p) {
   return reinterpret_cast<T*>(untag_address(reinterpret_cast<uintptr_t>(p)));
 }
+
+// MTE globals protects internal and external global variables. One of the main
+// things that MTE globals does is force all global variable accesses to go
+// through the GOT. In the linker though, some global variables are accessed (or
+// address-taken) prior to relocations being processed. Because relocations
+// haven't run yet, the GOT entry hasn't been populated, and this leads to
+// crashes. Thus, any globals used by the linker prior to relocation should be
+// annotated with this attribute, which suppresses tagging of this global
+// variable, restoring the pc-relative address computation.
+//
+// A way to find global variables that need this attribute is to build the
+// linker/libc with `SANITIZE_TARGET=memtag_globals`, push them onto a device
+// (it doesn't have to be MTE capable), and then run an executable using
+// LD_LIBRARY_PATH and using the linker in interpreter mode (e.g.
+// `LD_LIBRARY_PATH=/data/tmp/ /data/tmp/linker64 /data/tmp/my_binary`). A
+// good heuristic is that the global variable is in a file that should be
+// compiled with `-ffreestanding` (but there are global variables there that
+// don't need this attribute).
+#if __has_feature(memtag_globals)
+#define BIONIC_USED_BEFORE_LINKER_RELOCATES __attribute__((no_sanitize("memtag")))
+#else  // __has_feature(memtag_globals)
+#define BIONIC_USED_BEFORE_LINKER_RELOCATES
+#endif  // __has_feature(memtag_globals)
diff --git a/libc/platform/bionic/malloc.h b/libc/platform/bionic/malloc.h
index 3c290fc..da85cf5 100644
--- a/libc/platform/bionic/malloc.h
+++ b/libc/platform/bionic/malloc.h
@@ -33,7 +33,8 @@
 #include <stdint.h>
 
 // Structures for android_mallopt.
-
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnullability-completeness"
 typedef struct {
   // Pointer to the buffer allocated by a call to M_GET_MALLOC_LEAK_INFO.
   uint8_t* buffer;
@@ -47,7 +48,7 @@
   // The maximum number of backtrace entries.
   size_t backtrace_size;
 } android_mallopt_leak_info_t;
-
+#pragma clang diagnostic pop
 // Opcodes for android_mallopt.
 
 enum {
@@ -103,8 +104,17 @@
   // Query whether memtag stack is enabled for this process.
   M_MEMTAG_STACK_IS_ON = 11,
 #define M_MEMTAG_STACK_IS_ON M_MEMTAG_STACK_IS_ON
+  // Query whether the current process has the decay time enabled so that
+  // the memory from allocations are not immediately released to the OS.
+  // Result is assigned to the arg pointer's destination.
+  //   arg = bool*
+  //   arg_size = sizeof(bool)
+  M_GET_DECAY_TIME_ENABLED = 12,
+#define M_GET_DECAY_TIME_ENABLED M_GET_DECAY_TIME_ENABLED
 };
 
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnullability-completeness"
 typedef struct {
   // The null-terminated name that the zygote is spawning. Because native
   // SpecializeCommon (where the GWP-ASan mallopt() is called from) happens
@@ -120,36 +130,59 @@
   // Worth noting, the "libc.debug.gwp_asan.*.app_default" sysprops *do not*
   // apply to system apps. They use the "libc.debug.gwp_asan.*.system_default"
   // sysprops.
-  enum Action {
-    // Enable GWP-ASan. This is used by apps that have `gwpAsanMode=always` in
-    // the manifest.
-    TURN_ON_FOR_APP,
-    // Enable GWP-ASan, but only a small percentage of the time. This is used by
-    // system processes and system apps, and we use a lottery to determine which
-    // processes have GWP-ASan enabled. This allows us to mitigate system-wide
-    // memory overhead concerns, as each GWP-ASan enabled process uses ~70KiB of
-    // extra memory.
-    TURN_ON_WITH_SAMPLING,
-    // Don't enable GWP-ASan, unless overwritten by a system property or
-    // environment variable. This is used by apps that have `gwpAsanMode=never`
-    // in the manifest. Prior to Android 14, this also was used by non-system
-    // apps that didn't specify a `gwpAsanMode` in their manifest.
-    DONT_TURN_ON_UNLESS_OVERRIDDEN,
-    // Enable GWP-ASan, but only a small percentage of the time, and enable it
-    // in the non-crashing ("recoverable") mode. In Android 14, this is used by
-    // apps that don't specify `gwpAsanMode` (or use `gwpAsanMode=default`) in
-    // their manifest. GWP-ASan will detect heap memory safety bugs in this
-    // mode, and bug reports will be created by debuggerd, however the process
-    // will recover and continue to function as if the memory safety bug wasn't
-    // detected.
-    TURN_ON_FOR_APP_SAMPLED_NON_CRASHING,
+  //
+  // In recoverable mode, GWP-ASan will detect heap memory safety bugs, and bug
+  // reports will be created by debuggerd, however the process will recover and
+  // continue to function as if the memory safety bug wasn't detected. This
+  // prevents any user-visible impact as apps and processes don't crash, and
+  // probably saves us some CPU time in restarting the process.
+  //
+  // Process sampling enables GWP-ASan, but only a small percentage of the time
+  // (~1%). This helps mitigate any recurring high-frequency problems in certain
+  // processes, as it's highly likely the next restart of said process won't
+  // have GWP-ASan. In addition, for system processes and system apps, this
+  // allows us to mitigate system-wide memory overhead concerns, as each
+  // GWP-ASan enabled process uses ~70KiB of extra memory.
+  enum Mode {
+    // Used by default for apps, or by those that have an explicit
+    // `gwpAsanMode=default` in the manifest.
+    //
+    // Result:
+    //  - Android 13 and before: GWP-ASan is not enabled.
+    //  - Android 14 and after: Enables GWP-ASan with process sampling in
+    //    recoverable mode.
+    APP_MANIFEST_DEFAULT = 3,
+    // This is used by apps that have `gwpAsanMode=always` in the manifest.
+    //
+    // Result:
+    //  - Android 14 and before: Enables GWP-ASan in non-recoverable mode,
+    //    without process sampling.
+    //  - Android 15 and after: Enables GWP-ASan in recoverable mode, without
+    //    process sampling.
+    APP_MANIFEST_ALWAYS = 0,
+    // This is used by apps that have `gwpAsanMode=never` in the manifest.
+    //
+    // Result:
+    //  - GWP-ASan is not enabled, unless it's force-enabled by a system
+    //    property or environment variable.
+    APP_MANIFEST_NEVER = 2,
+    // Used by system processes and system apps.
+    //
+    // Result:
+    //  - Android 14 and before: Enables GWP-ASan with process sampling in
+    //    non-recoverable mode.
+    //  - Android 15 and after: Enables GWP-ASan with process sampling in
+    //    recoverable mode.
+    SYSTEM_PROCESS_OR_SYSTEM_APP = 1,
+    // Next enum value = 4. Numbered non-sequentially above to preserve ABI
+    // stability, but now ordered more logically.
   };
 
-  Action desire = DONT_TURN_ON_UNLESS_OVERRIDDEN;
+  Mode mode = APP_MANIFEST_NEVER;
 } android_mallopt_gwp_asan_options_t;
-
+#pragma clang diagnostic pop
 // Manipulates bionic-specific handling of memory allocation APIs such as
 // malloc. Only for use by the Android platform and APEXes.
 //
 // On success, returns true. On failure, returns false and sets errno.
-extern "C" bool android_mallopt(int opcode, void* arg, size_t arg_size);
+extern "C" bool android_mallopt(int opcode, void* _Nullable arg, size_t arg_size);
diff --git a/libc/platform/bionic/mte.h b/libc/platform/bionic/mte.h
index 73cd821..610cb45 100644
--- a/libc/platform/bionic/mte.h
+++ b/libc/platform/bionic/mte.h
@@ -28,9 +28,13 @@
 
 #pragma once
 
+#include <stddef.h>
 #include <sys/auxv.h>
+#include <sys/mman.h>
 #include <sys/prctl.h>
 
+#include "page.h"
+
 // Note: Most PR_MTE_* constants come from the upstream kernel. This tag mask
 // allows for the hardware to provision any nonzero tag. Zero tags are reserved
 // for scudo to use for the chunk headers in order to prevent linear heap
@@ -46,6 +50,36 @@
   return supported;
 }
 
+inline void* get_tagged_address(const void* ptr) {
+#if defined(__aarch64__)
+  if (mte_supported()) {
+    __asm__ __volatile__(".arch_extension mte; ldg %0, [%0]" : "+r"(ptr));
+  }
+#endif  // aarch64
+  return const_cast<void*>(ptr);
+}
+
+// Inserts a random tag tag to `ptr`, using any of the set lower 16 bits in
+// `mask` to exclude the corresponding tag from being generated. Note: This does
+// not tag memory. This generates a pointer to be used with set_memory_tag.
+inline void* insert_random_tag(const void* ptr, __attribute__((unused)) uint64_t mask = 0) {
+#if defined(__aarch64__)
+  if (mte_supported() && ptr) {
+    __asm__ __volatile__(".arch_extension mte; irg %0, %0, %1" : "+r"(ptr) : "r"(mask));
+  }
+#endif  // aarch64
+  return const_cast<void*>(ptr);
+}
+
+// Stores the address tag in `ptr` to memory, at `ptr`.
+inline void set_memory_tag(__attribute__((unused)) void* ptr) {
+#if defined(__aarch64__)
+  if (mte_supported()) {
+    __asm__ __volatile__(".arch_extension mte; stg %0, [%0]" : "+r"(ptr));
+  }
+#endif  // aarch64
+}
+
 #ifdef __aarch64__
 class ScopedDisableMTE {
   size_t prev_tco_;
@@ -63,6 +97,71 @@
     }
   }
 };
+
+// N.B. that this is NOT the pagesize, but 4096. This is hardcoded in the codegen.
+// See
+// https://github.com/search?q=repo%3Allvm/llvm-project%20AArch64StackTagging%3A%3AinsertBaseTaggedPointer&type=code
+constexpr size_t kStackMteRingbufferSizeMultiplier = 4096;
+
+inline size_t stack_mte_ringbuffer_size(uintptr_t size_cls) {
+  return kStackMteRingbufferSizeMultiplier * (1 << size_cls);
+}
+
+inline size_t stack_mte_ringbuffer_size_from_pointer(uintptr_t ptr) {
+  // The size in the top byte is not the size_cls, but the number of "pages" (not OS pages, but
+  // kStackMteRingbufferSizeMultiplier).
+  return kStackMteRingbufferSizeMultiplier * (ptr >> 56ULL);
+}
+
+inline uintptr_t stack_mte_ringbuffer_size_add_to_pointer(uintptr_t ptr, uintptr_t size_cls) {
+  return ptr | ((1ULL << size_cls) << 56ULL);
+}
+
+inline void stack_mte_free_ringbuffer(uintptr_t stack_mte_tls) {
+  size_t size = stack_mte_ringbuffer_size_from_pointer(stack_mte_tls);
+  void* ptr = reinterpret_cast<void*>(stack_mte_tls & ((1ULL << 56ULL) - 1ULL));
+  munmap(ptr, size);
+}
+
+inline void* stack_mte_ringbuffer_allocate(size_t n, const char* name) {
+  if (n > 7) return nullptr;
+  // Allocation needs to be aligned to 2*size to make the fancy code-gen work.
+  // So we allocate 3*size - pagesz bytes, which will always contain size bytes
+  // aligned to 2*size, and unmap the unneeded part.
+  // See
+  // https://github.com/search?q=repo%3Allvm/llvm-project%20AArch64StackTagging%3A%3AinsertBaseTaggedPointer&type=code
+  //
+  // In the worst case, we get an allocation that is one page past the properly
+  // aligned address, in which case we have to unmap the previous
+  // 2*size - pagesz bytes. In that case, we still have size properly aligned
+  // bytes left.
+  size_t size = stack_mte_ringbuffer_size(n);
+  size_t pgsize = page_size();
+
+  size_t alloc_size = __BIONIC_ALIGN(3 * size - pgsize, pgsize);
+  void* allocation_ptr =
+      mmap(nullptr, alloc_size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+  if (allocation_ptr == MAP_FAILED)
+    return nullptr;
+  uintptr_t allocation = reinterpret_cast<uintptr_t>(allocation_ptr);
+
+  size_t alignment = 2 * size;
+  uintptr_t aligned_allocation = __BIONIC_ALIGN(allocation, alignment);
+  if (allocation != aligned_allocation) {
+    munmap(reinterpret_cast<void*>(allocation), aligned_allocation - allocation);
+  }
+  if (aligned_allocation + size != allocation + alloc_size) {
+    munmap(reinterpret_cast<void*>(aligned_allocation + size),
+           (allocation + alloc_size) - (aligned_allocation + size));
+  }
+
+  if (name) {
+    prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, reinterpret_cast<void*>(aligned_allocation), size, name);
+  }
+
+  // We store the size in the top byte of the pointer (which is ignored)
+  return reinterpret_cast<void*>(stack_mte_ringbuffer_size_add_to_pointer(aligned_allocation, n));
+}
 #else
 struct ScopedDisableMTE {
   // Silence unused variable warnings in non-aarch64 builds.
diff --git a/libc/platform/bionic/page.h b/libc/platform/bionic/page.h
index d063a98..4dbe4ba 100644
--- a/libc/platform/bionic/page.h
+++ b/libc/platform/bionic/page.h
@@ -16,15 +16,44 @@
 
 #pragma once
 
-// Get PAGE_SIZE and PAGE_MASK.
+#include <stddef.h>
+#include <stdint.h>
+#include <sys/auxv.h>
+
+// For PAGE_SIZE.
 #include <sys/user.h>
 
+inline size_t page_size() {
+#if defined(PAGE_SIZE)
+  return PAGE_SIZE;
+#else
+  static const size_t page_size = getauxval(AT_PAGESZ);
+  return page_size;
+#endif
+}
+
+// The maximum page size supported on any Android device. As
+// of API level 35, this is limited by ART.
+constexpr size_t max_android_page_size() {
+#if defined(PAGE_SIZE)
+  return PAGE_SIZE;
+#else
+  return 16384;
+#endif
+}
+
 // Returns the address of the page containing address 'x'.
-#define PAGE_START(x) ((x) & PAGE_MASK)
+inline uintptr_t page_start(uintptr_t x) {
+  return x & ~(page_size() - 1);
+}
 
 // Returns the offset of address 'x' in its page.
-#define PAGE_OFFSET(x) ((x) & ~PAGE_MASK)
+inline uintptr_t page_offset(uintptr_t x) {
+  return x & (page_size() - 1);
+}
 
 // Returns the address of the next page after address 'x', unless 'x' is
 // itself at the start of a page.
-#define PAGE_END(x) PAGE_START((x) + (PAGE_SIZE-1))
+inline uintptr_t page_end(uintptr_t x) {
+  return page_start(x + page_size() - 1);
+}
diff --git a/libc/platform/bionic/reserved_signals.h b/libc/platform/bionic/reserved_signals.h
index dab58af..eb423f6 100644
--- a/libc/platform/bionic/reserved_signals.h
+++ b/libc/platform/bionic/reserved_signals.h
@@ -44,6 +44,7 @@
 //   38 (__SIGRTMIN + 6)        heapprofd ART managed heap dumps
 //   39 (__SIGRTMIN + 7)        fdtrack
 //   40 (__SIGRTMIN + 8)        android_run_on_all_threads (bionic/pthread_internal.cpp)
+//   41 (__SIGRTMIN + 9)        re-enable MTE on thread
 
 #define BIONIC_SIGNAL_POSIX_TIMERS (__SIGRTMIN + 0)
 #define BIONIC_SIGNAL_BACKTRACE (__SIGRTMIN + 1)
@@ -52,8 +53,9 @@
 #define BIONIC_SIGNAL_ART_PROFILER (__SIGRTMIN + 6)
 #define BIONIC_SIGNAL_FDTRACK (__SIGRTMIN + 7)
 #define BIONIC_SIGNAL_RUN_ON_ALL_THREADS (__SIGRTMIN + 8)
+#define BIONIC_ENABLE_MTE (__SIGRTMIN + 9)
 
-#define __SIGRT_RESERVED 9
+#define __SIGRT_RESERVED 10
 static inline __always_inline sigset64_t filter_reserved_signals(sigset64_t sigset, int how) {
   int (*block)(sigset64_t*, int);
   int (*unblock)(sigset64_t*, int);
@@ -83,5 +85,6 @@
   unblock(&sigset, __SIGRTMIN + 6);
   unblock(&sigset, __SIGRTMIN + 7);
   unblock(&sigset, __SIGRTMIN + 8);
+  unblock(&sigset, __SIGRTMIN + 9);
   return sigset;
 }
diff --git a/libc/platform/bionic/tls_defines.h b/libc/platform/bionic/tls_defines.h
index 3e2efa3..06c6617 100644
--- a/libc/platform/bionic/tls_defines.h
+++ b/libc/platform/bionic/tls_defines.h
@@ -68,6 +68,11 @@
 //
 //  - TLS_SLOT_APP: Available for use by apps in Android Q and later. (This slot
 //    was used for errno in P and earlier.)
+//
+//  - TLS_SLOT_NATIVE_BRIDGE_GUEST_STATE: Pointer to the guest state for native
+//    bridge implementations. It is (to be) used by debuggerd to access this
+//    state for guest aware crash reporting of the binary translated code.
+//    (Introduced in V)
 
 #if defined(__arm__) || defined(__aarch64__)
 
@@ -80,7 +85,9 @@
 // [1] "Addenda to, and Errata in, the ABI for the ARM Architecture". Section 3.
 // http://infocenter.arm.com/help/topic/com.arm.doc.ihi0045e/IHI0045E_ABI_addenda.pdf
 
-#define MIN_TLS_SLOT            (-1) // update this value when reserving a slot
+#define MIN_TLS_SLOT (-3)  // update this value when reserving a slot
+#define TLS_SLOT_STACK_MTE (-3)
+#define TLS_SLOT_NATIVE_BRIDGE_GUEST_STATE (-2)
 #define TLS_SLOT_BIONIC_TLS     (-1)
 #define TLS_SLOT_DTV              0
 #define TLS_SLOT_THREAD_ID        1
@@ -112,7 +119,8 @@
 #define TLS_SLOT_ART_THREAD_SELF  7
 #define TLS_SLOT_DTV              8
 #define TLS_SLOT_BIONIC_TLS       9
-#define MAX_TLS_SLOT              9 // update this value when reserving a slot
+#define TLS_SLOT_NATIVE_BRIDGE_GUEST_STATE 10
+#define MAX_TLS_SLOT 10  // update this value when reserving a slot
 
 #elif defined(__riscv)
 
@@ -123,8 +131,9 @@
 // [1]: RISC-V ELF Specification. Section: Thread Local Storage
 // https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#thread-local-storage
 
-#define MIN_TLS_SLOT             (-9) // update this value when reserving a slot
+#define MIN_TLS_SLOT (-10)  // update this value when reserving a slot
 
+#define TLS_SLOT_NATIVE_BRIDGE_GUEST_STATE (-10)
 #define TLS_SLOT_BIONIC_TLS      (-9)
 #define TLS_SLOT_DTV             (-8)
 #define TLS_SLOT_THREAD_ID       (-7)
diff --git a/libc/platform/scudo_platform_tls_slot.h b/libc/platform/scudo_platform_tls_slot.h
index 9d017c0..a86b828 100644
--- a/libc/platform/scudo_platform_tls_slot.h
+++ b/libc/platform/scudo_platform_tls_slot.h
@@ -30,6 +30,6 @@
 
 #include "bionic/tls.h"
 
-inline uintptr_t *getPlatformAllocatorTlsSlot() {
+inline uintptr_t* _Nonnull getPlatformAllocatorTlsSlot() {
   return reinterpret_cast<uintptr_t*>(&__get_tls()[TLS_SLOT_SANITIZER]);
 }
diff --git a/libc/private/CFIShadow.h b/libc/private/CFIShadow.h
index ec87e3c..cbdf0f7 100644
--- a/libc/private/CFIShadow.h
+++ b/libc/private/CFIShadow.h
@@ -68,8 +68,7 @@
 #endif
 
   // Shadow is 2 -> 2**kShadowGranularity.
-  static constexpr uintptr_t kShadowSize =
-      align_up((kMaxTargetAddr >> (kShadowGranularity - 1)), PAGE_SIZE);
+  static constexpr uintptr_t kShadowSize = kMaxTargetAddr >> (kShadowGranularity - 1);
 
   // Returns offset inside the shadow region for an address.
   static constexpr uintptr_t MemToShadowOffset(uintptr_t x) {
diff --git a/libc/private/CachedProperty.h b/libc/private/CachedProperty.h
index bd67d74..7accdb3 100644
--- a/libc/private/CachedProperty.h
+++ b/libc/private/CachedProperty.h
@@ -29,9 +29,7 @@
 #pragma once
 
 #include <string.h>
-
-#define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
-#include <sys/_system_properties.h>
+#include <sys/system_properties.h>
 
 // Cached system property lookup. For code that needs to read the same property multiple times,
 // this class helps optimize those lookups.
diff --git a/libc/private/KernelArgumentBlock.h b/libc/private/KernelArgumentBlock.h
index ee28d69..e1f655a 100644
--- a/libc/private/KernelArgumentBlock.h
+++ b/libc/private/KernelArgumentBlock.h
@@ -29,7 +29,7 @@
 // constituents for easy access.
 class KernelArgumentBlock {
  public:
-  explicit KernelArgumentBlock(void* raw_args) {
+  __attribute__((no_sanitize("hwaddress"))) explicit KernelArgumentBlock(void* raw_args) {
     uintptr_t* args = reinterpret_cast<uintptr_t*>(raw_args);
     argc = static_cast<int>(*args);
     argv = reinterpret_cast<char**>(args + 1);
@@ -48,7 +48,7 @@
 
   // Similar to ::getauxval but doesn't require the libc global variables to be set up,
   // so it's safe to call this really early on.
-  unsigned long getauxval(unsigned long type) {
+  __attribute__((no_sanitize("hwaddress"))) unsigned long getauxval(unsigned long type) {
     for (ElfW(auxv_t)* v = auxv; v->a_type != AT_NULL; ++v) {
       if (v->a_type == type) {
         return v->a_un.a_val;
diff --git a/libc/private/SigSetConverter.h b/libc/private/SigSetConverter.h
index 7d0b215..9e9df73 100644
--- a/libc/private/SigSetConverter.h
+++ b/libc/private/SigSetConverter.h
@@ -28,8 +28,45 @@
 
 #pragma once
 
-union SigSetConverter {
-  int bsd;
-  sigset_t sigset;
-  sigset64_t sigset64;
+// Android's 32-bit ABI shipped with a sigset_t too small to include any
+// of the realtime signals, so we have both sigset_t and sigset64_t. Many
+// new system calls only accept a sigset64_t, so this helps paper over
+// the difference at zero cost to LP64 in most cases after the optimizer
+// removes the unnecessary temporary `ptr`.
+struct SigSetConverter {
+ public:
+  SigSetConverter(const sigset_t* s) : SigSetConverter(const_cast<sigset_t*>(s)) {}
+
+  SigSetConverter(sigset_t* s) {
+#if defined(__LP64__)
+    // sigset_t == sigset64_t on LP64.
+    ptr = s;
+#else
+    sigset64 = {};
+    if (s != nullptr) {
+      original_ptr = s;
+      sigset = *s;
+      ptr = &sigset64;
+    } else {
+      ptr = nullptr;
+    }
+#endif
+  }
+
+  void copy_out() {
+#if defined(__LP64__)
+    // We used the original pointer directly, so no copy needed.
+#else
+    *original_ptr = sigset;
+#endif
+  }
+
+  sigset64_t* ptr;
+
+ private:
+  [[maybe_unused]] sigset_t* original_ptr;
+  union {
+    sigset_t sigset;
+    sigset64_t sigset64;
+  };
 };
diff --git a/libc/private/WriteProtected.h b/libc/private/WriteProtected.h
index 746f72a..f269125 100644
--- a/libc/private/WriteProtected.h
+++ b/libc/private/WriteProtected.h
@@ -25,15 +25,16 @@
 #include <async_safe/log.h>
 
 #include "platform/bionic/macros.h"
+#include "platform/bionic/page.h"
 
 template <typename T>
 union WriteProtectedContents {
   T value;
-  char padding[PAGE_SIZE];
+  char padding[max_android_page_size()];
 
   WriteProtectedContents() = default;
   BIONIC_DISALLOW_COPY_AND_ASSIGN(WriteProtectedContents);
-} __attribute__((aligned(PAGE_SIZE)));
+} __attribute__((aligned(max_android_page_size())));
 
 // Write protected wrapper class that aligns its contents to a page boundary,
 // and sets the memory protection to be non-writable, except when being modified
@@ -41,9 +42,8 @@
 template <typename T>
 class WriteProtected {
  public:
-  static_assert(sizeof(T) < PAGE_SIZE,
-                "WriteProtected only supports contents up to PAGE_SIZE");
-  static_assert(__is_pod(T), "WriteProtected only supports POD contents");
+  static_assert(sizeof(T) < max_android_page_size(),
+                "WriteProtected only supports contents up to max_android_page_size()");
 
   WriteProtected() = default;
   BIONIC_DISALLOW_COPY_AND_ASSIGN(WriteProtected);
@@ -51,36 +51,45 @@
   void initialize() {
     // Not strictly necessary, but this will hopefully segfault if we initialize
     // multiple times by accident.
-    memset(&contents, 0, sizeof(contents));
+    memset(contents_addr(), 0, sizeof(contents));
     set_protection(PROT_READ);
   }
 
   const T* operator->() {
-    return &contents.value;
+    return &contents_addr()->value;
   }
 
   const T& operator*() {
-    return contents.value;
+    return contents_addr()->value;
   }
 
   template <typename Mutator>
   void mutate(Mutator mutator) {
     set_protection(PROT_READ | PROT_WRITE);
-    mutator(&contents.value);
+    mutator(&contents_addr()->value);
     set_protection(PROT_READ);
   }
 
  private:
   WriteProtectedContents<T> contents;
 
-  void set_protection(int prot) {
+  WriteProtectedContents<T>* contents_addr() {
     auto addr = &contents;
+    // Hide the fact that we're returning the address of contents from the compiler.
+    // Otherwise it may generate code assuming alignment of 64KB even though the
+    // variable is only guaranteed to have 4KB alignment.
+    __asm__ __volatile__("" : "+r"(addr));
+    return addr;
+  }
+
+  void set_protection(int prot) {
+    auto addr = contents_addr();
 #if __has_feature(hwaddress_sanitizer)
     // The mprotect system call does not currently untag pointers, so do it
     // ourselves.
     addr = untag_address(addr);
 #endif
-    if (mprotect(reinterpret_cast<void*>(addr), PAGE_SIZE, prot) == -1) {
+    if (mprotect(reinterpret_cast<void*>(addr), max_android_page_size(), prot) == -1) {
       async_safe_fatal("WriteProtected mprotect %x failed: %s", prot, strerror(errno));
     }
   }
diff --git a/libc/private/bionic_allocator.h b/libc/private/bionic_allocator.h
index 342fd51..9872669 100644
--- a/libc/private/bionic_allocator.h
+++ b/libc/private/bionic_allocator.h
@@ -28,13 +28,9 @@
 
 #pragma once
 
-#include <errno.h>
-#include <stdlib.h>
 #include <sys/cdefs.h>
-#include <sys/mman.h>
-#include <sys/prctl.h>
 #include <stddef.h>
-#include <unistd.h>
+#include <stdint.h>
 
 const uint32_t kSmallObjectMaxSizeLog2 = 10;
 const uint32_t kSmallObjectMinSizeLog2 = 4;
@@ -120,7 +116,8 @@
   inline void* alloc_impl(size_t align, size_t size);
   inline page_info* get_page_info_unchecked(void* ptr);
   inline page_info* get_page_info(void* ptr);
-  BionicSmallObjectAllocator* get_small_object_allocator(uint32_t type);
+  BionicSmallObjectAllocator* get_small_object_allocator_unchecked(uint32_t type);
+  BionicSmallObjectAllocator* get_small_object_allocator(page_info* pi, void* ptr);
   void initialize_allocators();
 
   BionicSmallObjectAllocator* allocators_;
diff --git a/libc/private/bionic_asm.h b/libc/private/bionic_asm.h
index 78e5046..b3b2b47 100644
--- a/libc/private/bionic_asm.h
+++ b/libc/private/bionic_asm.h
@@ -51,42 +51,63 @@
 #include <private/bionic_asm_x86_64.h>
 #endif
 
-#define ENTRY_NO_DWARF(f) \
-    .text; \
-    .globl f; \
-    .balign __bionic_asm_align; \
-    .type f, __bionic_asm_function_type; \
-    f: \
-    __bionic_asm_custom_entry(f); \
+// Starts a normal assembler routine.
+#define ENTRY(__f) __ENTRY_WITH_BINDING(__f, .globl)
 
-#define ENTRY(f) \
-    ENTRY_NO_DWARF(f) \
-    .cfi_startproc \
+// Starts an assembler routine with hidden visibility.
+#define ENTRY_PRIVATE(__f)           \
+  __ENTRY_WITH_BINDING(__f, .globl); \
+  .hidden __f;
 
-#define END_NO_DWARF(f) \
-    .size f, .-f; \
-    __bionic_asm_custom_end(f) \
+// Starts an assembler routine that's weak so native bridges can override it.
+#define ENTRY_WEAK_FOR_NATIVE_BRIDGE(__f) __ENTRY_WITH_BINDING(__f, .weak)
 
-#define END(f) \
-    .cfi_endproc; \
-    END_NO_DWARF(f) \
+// Starts an assembler routine with hidden visibility and no DWARF information.
+// Only used for internal functions passed via sa_restorer.
+// TODO: can't we just delete all those and let the kernel do its thing?
+#define ENTRY_NO_DWARF_PRIVATE(__f) \
+  __ENTRY_NO_DWARF(__f, .globl);    \
+  .hidden __f;
 
-/* Like ENTRY, but with hidden visibility. */
-#define ENTRY_PRIVATE(f) \
-    ENTRY(f); \
-    .hidden f \
+// (Implementation detail.)
+#define __ENTRY_NO_DWARF(__f, __binding) \
+  .text;                                 \
+  __binding __f;                         \
+  .balign __bionic_asm_align;            \
+  .type __f, __bionic_asm_function_type; \
+  __f:                                   \
+  __bionic_asm_custom_entry(__f);
 
-/* Like ENTRY_NO_DWARF, but with hidden visibility. */
-#define ENTRY_PRIVATE_NO_DWARF(f) \
-    ENTRY_NO_DWARF(f); \
-    .hidden f \
+// (Implementation detail.)
+#define __ENTRY_WITH_BINDING(__f, __binding) \
+  __ENTRY_NO_DWARF(__f, __binding);          \
+  .cfi_startproc;
 
-#define __BIONIC_WEAK_ASM_FOR_NATIVE_BRIDGE(f) \
-    .weak f; \
+// Ends a normal assembler routine.
+#define END(__f) \
+  .cfi_endproc;  \
+  END_NO_DWARF(__f)
 
+// Ends an assembler routine with no DWARF information.
+// Only used for internal functions passed via sa_restorer.
+// TODO: can't we just delete all those and let the kernel do its thing?
+#define END_NO_DWARF(__f) \
+  .size __f, .- __f;      \
+  __bionic_asm_custom_end(__f)
+
+// Creates an alias `alias` for the symbol `original`.
 #define ALIAS_SYMBOL(alias, original) \
-    .globl alias; \
-    .equ alias, original
+  .globl alias;                       \
+  .equ alias, original
 
-#define NOTE_GNU_PROPERTY() \
-    __bionic_asm_custom_note_gnu_section()
+// Creates an alias `alias` for the symbol `original` that's weak so it can be
+// separately overridden by native bridges.
+#define ALIAS_SYMBOL_WEAK_FOR_NATIVE_BRIDGE(alias, original) \
+  .weak alias;                                               \
+  .equ alias, original
+
+// Adds a GNU property ELF note. Important on arm64 to declare PAC/BTI support.
+#define NOTE_GNU_PROPERTY() __bionic_asm_custom_note_gnu_section()
+
+// Gives local labels a more convenient and readable syntax.
+#define L(__label) .L##__label
diff --git a/libc/private/bionic_asm_arm.h b/libc/private/bionic_asm_arm.h
index d8381d3..9ca5f38 100644
--- a/libc/private/bionic_asm_arm.h
+++ b/libc/private/bionic_asm_arm.h
@@ -37,7 +37,7 @@
 
 #pragma once
 
-#define __bionic_asm_align 0
+#define __bionic_asm_align 64
 
 #undef __bionic_asm_custom_entry
 #undef __bionic_asm_custom_end
diff --git a/libc/private/bionic_asm_arm64.h b/libc/private/bionic_asm_arm64.h
index ffc7181..1e907a1 100644
--- a/libc/private/bionic_asm_arm64.h
+++ b/libc/private/bionic_asm_arm64.h
@@ -37,7 +37,7 @@
 
 #pragma once
 
-#define __bionic_asm_align 16
+#define __bionic_asm_align 64
 
 #undef __bionic_asm_function_type
 #define __bionic_asm_function_type %function
diff --git a/libc/private/bionic_asm_note.h b/libc/private/bionic_asm_note.h
index d8559ff..9a533c0 100644
--- a/libc/private/bionic_asm_note.h
+++ b/libc/private/bionic_asm_note.h
@@ -31,3 +31,4 @@
 #define NT_ANDROID_TYPE_IDENT 1
 #define NT_ANDROID_TYPE_KUSER 3
 #define NT_ANDROID_TYPE_MEMTAG 4
+#define NT_ANDROID_TYPE_PAD_SEGMENT 5
diff --git a/libc/private/bionic_constants.h b/libc/private/bionic_constants.h
index d7f4474..ce484d8 100644
--- a/libc/private/bionic_constants.h
+++ b/libc/private/bionic_constants.h
@@ -16,12 +16,15 @@
 
 #pragma once
 
-#define NS_PER_S 1000000000
+#define US_PER_S 1'000'000LL
+#define NS_PER_S 1'000'000'000LL
 
 // Size of the shadow call stack. This can be small because these stacks only
 // contain return addresses. This must be a power of 2 so the mask trick works.
 // See the SCS commentary in pthread_internal.h for more detail.
-#define SCS_SIZE (8 * 1024)
+// SCS_SIZE must be a multiple of page size.
+// We used 8KiB until V but switched to 16KiB in V to experiment with 16KiB pages.
+#define SCS_SIZE (16 * 1024)
 #define SCS_MASK (SCS_SIZE - 1)
 
 // The shadow call stack is allocated at an aligned address within a guard region of this size. The
diff --git a/libm/fenv-access.h b/libc/private/bionic_elf_dtv_offset.h
similarity index 66%
copy from libm/fenv-access.h
copy to libc/private/bionic_elf_dtv_offset.h
index 7acb34d..8d9f3b9 100644
--- a/libm/fenv-access.h
+++ b/libc/private/bionic_elf_dtv_offset.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,17 @@
 
 #pragma once
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
+#if defined(__riscv)
+// TLS_DTV_OFFSET is a constant used in relocation fields, defined in RISC-V ELF Specification[1]
+// The front of the TCB contains a pointer to the DTV, and each pointer in DTV
+// points to 0x800 past the start of a TLS block to make full use of the range
+// of load/store instructions, refer to [2].
+//
+// [1]: RISC-V ELF Specification.
+// https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#constants
+// [2]: Documentation of TLS data structures
+// https://github.com/riscv-non-isa/riscv-elf-psabi-doc/issues/53
+#define TLS_DTV_OFFSET 0x800
+#else
+#define TLS_DTV_OFFSET 0
 #endif
diff --git a/libc/private/bionic_elf_tls.h b/libc/private/bionic_elf_tls.h
index 79ffcc4..04297ad 100644
--- a/libc/private/bionic_elf_tls.h
+++ b/libc/private/bionic_elf_tls.h
@@ -34,11 +34,32 @@
 #include <stdint.h>
 #include <sys/cdefs.h>
 
+#include "bionic_elf_dtv_offset.h"
+
 __LIBC_HIDDEN__ extern _Atomic(size_t) __libc_tls_generation_copy;
 
-struct TlsSegment {
+struct TlsAlign {
+  size_t value = 1;
+  size_t skew = 0;  // p_vaddr % p_align
+
+  template <typename T>
+  static constexpr TlsAlign of_type() {
+    return TlsAlign{.value = alignof(T)};
+  }
+};
+
+struct TlsAlignedSize {
   size_t size = 0;
-  size_t alignment = 1;
+  TlsAlign align;
+
+  template <typename T>
+  static constexpr TlsAlignedSize of_type() {
+    return TlsAlignedSize{.size = sizeof(T), .align = TlsAlign::of_type<T>()};
+  }
+};
+
+struct TlsSegment {
+  TlsAlignedSize aligned_size;
   const void* init_ptr = "";    // Field is non-null even when init_size is 0.
   size_t init_size = 0;
 };
@@ -46,44 +67,50 @@
 __LIBC_HIDDEN__ bool __bionic_get_tls_segment(const ElfW(Phdr)* phdr_table, size_t phdr_count,
                                               ElfW(Addr) load_bias, TlsSegment* out);
 
-__LIBC_HIDDEN__ bool __bionic_check_tls_alignment(size_t* alignment);
+__LIBC_HIDDEN__ bool __bionic_check_tls_align(size_t align);
 
 struct StaticTlsLayout {
   constexpr StaticTlsLayout() {}
 
-private:
-  size_t offset_ = 0;
-  size_t alignment_ = 1;
-  bool overflowed_ = false;
-
-  // Offsets to various Bionic TLS structs from the beginning of static TLS.
-  size_t offset_bionic_tcb_ = SIZE_MAX;
-  size_t offset_bionic_tls_ = SIZE_MAX;
-
 public:
   size_t offset_bionic_tcb() const { return offset_bionic_tcb_; }
   size_t offset_bionic_tls() const { return offset_bionic_tls_; }
   size_t offset_thread_pointer() const;
+  size_t offset_exe() const { return offset_exe_; }
 
-  size_t size() const { return offset_; }
-  size_t alignment() const { return alignment_; }
-  bool overflowed() const { return overflowed_; }
+  size_t size() const { return cursor_; }
 
   size_t reserve_exe_segment_and_tcb(const TlsSegment* exe_segment, const char* progname);
-  void reserve_bionic_tls();
-  size_t reserve_solib_segment(const TlsSegment& segment) {
-    return reserve(segment.size, segment.alignment);
-  }
+  size_t reserve_bionic_tls();
+  size_t reserve_solib_segment(const TlsSegment& segment) { return reserve(segment.aligned_size); }
   void finish_layout();
 
-private:
-  size_t reserve(size_t size, size_t alignment);
+#if !defined(STATIC_TLS_LAYOUT_TEST)
+ private:
+#endif
+  size_t cursor_ = 0;
+  size_t align_ = 1;
+
+  // Offsets to various Bionic TLS structs from the beginning of static TLS.
+  size_t offset_bionic_tcb_ = SIZE_MAX;
+  size_t offset_bionic_tls_ = SIZE_MAX;
+
+  size_t offset_exe_ = SIZE_MAX;
+
+  struct TpAllocations {
+    size_t before;
+    size_t tp;
+    size_t after;
+  };
+
+  size_t align_cursor(TlsAlign align);
+  size_t align_cursor_unskewed(size_t align);
+  size_t reserve(TlsAlignedSize aligned_size);
+  TpAllocations reserve_tp_pair(TlsAlignedSize before, TlsAlignedSize after);
 
   template <typename T> size_t reserve_type() {
-    return reserve(sizeof(T), alignof(T));
+    return reserve(TlsAlignedSize::of_type<T>());
   }
-
-  size_t round_up_with_overflow_check(size_t value, size_t alignment);
 };
 
 static constexpr size_t kTlsGenerationNone = 0;
@@ -189,30 +216,16 @@
 };
 
 #if defined(__i386__)
-#define TLS_GET_ADDR_CCONV __attribute__((regparm(1)))
+#define TLS_GET_ADDR_CALLING_CONVENTION __attribute__((regparm(1)))
 #define TLS_GET_ADDR ___tls_get_addr
 #else
-#define TLS_GET_ADDR_CCONV
+#define TLS_GET_ADDR_CALLING_CONVENTION
 #define TLS_GET_ADDR __tls_get_addr
 #endif
 
-extern "C" void* TLS_GET_ADDR(const TlsIndex* ti) TLS_GET_ADDR_CCONV;
+extern "C" void* TLS_GET_ADDR(const TlsIndex* ti) TLS_GET_ADDR_CALLING_CONVENTION;
 
 struct bionic_tcb;
 void __free_dynamic_tls(bionic_tcb* tcb);
 void __notify_thread_exit_callbacks();
 
-#if defined(__riscv)
-// TLS_DTV_OFFSET is a constant used in relocation fields, defined in RISC-V ELF Specification[1]
-// The front of the TCB contains a pointer to the DTV, and each pointer in DTV
-// points to 0x800 past the start of a TLS block to make full use of the range
-// of load/store instructions, refer to [2].
-//
-// [1]: RISC-V ELF Specification.
-// https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#constants
-// [2]: Documentation of TLS data structures
-// https://github.com/riscv-non-isa/riscv-elf-psabi-doc/issues/53
-#define TLS_DTV_OFFSET 0x800
-#else
-#define TLS_DTV_OFFSET 0
-#endif
diff --git a/libc/private/bionic_errdefs.h b/libc/private/bionic_errdefs.h
new file mode 100644
index 0000000..435d49b
--- /dev/null
+++ b/libc/private/bionic_errdefs.h
@@ -0,0 +1,171 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/*
+ * This header is used to define error constants and names;
+ * it might be included several times.
+ */
+
+#ifndef __BIONIC_ERRDEF
+#error __BIONIC_ERRDEF not defined
+#endif
+
+__BIONIC_ERRDEF(0, "Success")
+__BIONIC_ERRDEF(EPERM, "Operation not permitted")
+__BIONIC_ERRDEF(ENOENT, "No such file or directory")
+__BIONIC_ERRDEF(ESRCH, "No such process")
+__BIONIC_ERRDEF(EINTR, "Interrupted system call")
+__BIONIC_ERRDEF(EIO, "I/O error")
+__BIONIC_ERRDEF(ENXIO, "No such device or address")
+__BIONIC_ERRDEF(E2BIG, "Argument list too long")
+__BIONIC_ERRDEF(ENOEXEC, "Exec format error")
+__BIONIC_ERRDEF(EBADF, "Bad file descriptor")
+__BIONIC_ERRDEF(ECHILD, "No child processes")
+__BIONIC_ERRDEF(EAGAIN, "Try again")
+__BIONIC_ERRDEF(ENOMEM, "Out of memory")
+__BIONIC_ERRDEF(EACCES, "Permission denied")
+__BIONIC_ERRDEF(EFAULT, "Bad address")
+__BIONIC_ERRDEF(ENOTBLK, "Block device required")
+__BIONIC_ERRDEF(EBUSY, "Device or resource busy")
+__BIONIC_ERRDEF(EEXIST, "File exists")
+__BIONIC_ERRDEF(EXDEV, "Cross-device link")
+__BIONIC_ERRDEF(ENODEV, "No such device")
+__BIONIC_ERRDEF(ENOTDIR, "Not a directory")
+__BIONIC_ERRDEF(EISDIR, "Is a directory")
+__BIONIC_ERRDEF(EINVAL, "Invalid argument")
+__BIONIC_ERRDEF(ENFILE, "File table overflow")
+__BIONIC_ERRDEF(EMFILE, "Too many open files")
+__BIONIC_ERRDEF(ENOTTY, "Inappropriate ioctl for device")
+__BIONIC_ERRDEF(ETXTBSY, "Text file busy")
+__BIONIC_ERRDEF(EFBIG, "File too large")
+__BIONIC_ERRDEF(ENOSPC, "No space left on device")
+__BIONIC_ERRDEF(ESPIPE, "Illegal seek")
+__BIONIC_ERRDEF(EROFS, "Read-only file system")
+__BIONIC_ERRDEF(EMLINK, "Too many links")
+__BIONIC_ERRDEF(EPIPE, "Broken pipe")
+__BIONIC_ERRDEF(EDOM, "Math argument out of domain of func")
+__BIONIC_ERRDEF(ERANGE, "Math result not representable")
+__BIONIC_ERRDEF(EDEADLK, "Resource deadlock would occur")
+__BIONIC_ERRDEF(ENAMETOOLONG, "File name too long")
+__BIONIC_ERRDEF(ENOLCK, "No record locks available")
+__BIONIC_ERRDEF(ENOSYS, "Function not implemented")
+__BIONIC_ERRDEF(ENOTEMPTY, "Directory not empty")
+__BIONIC_ERRDEF(ELOOP, "Too many symbolic links encountered")
+__BIONIC_ERRDEF(ENOMSG, "No message of desired type")
+__BIONIC_ERRDEF(EIDRM, "Identifier removed")
+__BIONIC_ERRDEF(ECHRNG, "Channel number out of range")
+__BIONIC_ERRDEF(EL2NSYNC, "Level 2 not synchronized")
+__BIONIC_ERRDEF(EL3HLT, "Level 3 halted")
+__BIONIC_ERRDEF(EL3RST, "Level 3 reset")
+__BIONIC_ERRDEF(ELNRNG, "Link number out of range")
+__BIONIC_ERRDEF(EUNATCH, "Protocol driver not attached")
+__BIONIC_ERRDEF(ENOCSI, "No CSI structure available")
+__BIONIC_ERRDEF(EL2HLT, "Level 2 halted")
+__BIONIC_ERRDEF(EBADE, "Invalid exchange")
+__BIONIC_ERRDEF(EBADR, "Invalid request descriptor")
+__BIONIC_ERRDEF(EXFULL, "Exchange full")
+__BIONIC_ERRDEF(ENOANO, "No anode")
+__BIONIC_ERRDEF(EBADRQC, "Invalid request code")
+__BIONIC_ERRDEF(EBADSLT, "Invalid slot")
+__BIONIC_ERRDEF(EBFONT, "Bad font file format")
+__BIONIC_ERRDEF(ENOSTR, "Device not a stream")
+__BIONIC_ERRDEF(ENODATA, "No data available")
+__BIONIC_ERRDEF(ETIME, "Timer expired")
+__BIONIC_ERRDEF(ENOSR, "Out of streams resources")
+__BIONIC_ERRDEF(ENONET, "Machine is not on the network")
+__BIONIC_ERRDEF(ENOPKG, "Package not installed")
+__BIONIC_ERRDEF(EREMOTE, "Object is remote")
+__BIONIC_ERRDEF(ENOLINK, "Link has been severed")
+__BIONIC_ERRDEF(EADV, "Advertise error")
+__BIONIC_ERRDEF(ESRMNT, "Srmount error")
+__BIONIC_ERRDEF(ECOMM, "Communication error on send")
+__BIONIC_ERRDEF(EPROTO, "Protocol error")
+__BIONIC_ERRDEF(EMULTIHOP, "Multihop attempted")
+__BIONIC_ERRDEF(EDOTDOT, "RFS specific error")
+__BIONIC_ERRDEF(EBADMSG, "Not a data message")
+__BIONIC_ERRDEF(EOVERFLOW, "Value too large for defined data type")
+__BIONIC_ERRDEF(ENOTUNIQ, "Name not unique on network")
+__BIONIC_ERRDEF(EBADFD, "File descriptor in bad state")
+__BIONIC_ERRDEF(EREMCHG, "Remote address changed")
+__BIONIC_ERRDEF(ELIBACC, "Can not access a needed shared library")
+__BIONIC_ERRDEF(ELIBBAD, "Accessing a corrupted shared library")
+__BIONIC_ERRDEF(ELIBSCN, ".lib section in a.out corrupted")
+__BIONIC_ERRDEF(ELIBMAX, "Attempting to link in too many shared libraries")
+__BIONIC_ERRDEF(ELIBEXEC, "Cannot exec a shared library directly")
+__BIONIC_ERRDEF(EILSEQ, "Illegal byte sequence")
+__BIONIC_ERRDEF(ERESTART, "Interrupted system call should be restarted")
+__BIONIC_ERRDEF(ESTRPIPE, "Streams pipe error")
+__BIONIC_ERRDEF(EUSERS, "Too many users")
+__BIONIC_ERRDEF(ENOTSOCK, "Socket operation on non-socket")
+__BIONIC_ERRDEF(EDESTADDRREQ, "Destination address required")
+__BIONIC_ERRDEF(EMSGSIZE, "Message too long")
+__BIONIC_ERRDEF(EPROTOTYPE, "Protocol wrong type for socket")
+__BIONIC_ERRDEF(ENOPROTOOPT, "Protocol not available")
+__BIONIC_ERRDEF(EPROTONOSUPPORT, "Protocol not supported")
+__BIONIC_ERRDEF(ESOCKTNOSUPPORT, "Socket type not supported")
+__BIONIC_ERRDEF(EOPNOTSUPP, "Operation not supported on transport endpoint")
+__BIONIC_ERRDEF(EPFNOSUPPORT, "Protocol family not supported")
+__BIONIC_ERRDEF(EAFNOSUPPORT, "Address family not supported by protocol")
+__BIONIC_ERRDEF(EADDRINUSE, "Address already in use")
+__BIONIC_ERRDEF(EADDRNOTAVAIL, "Cannot assign requested address")
+__BIONIC_ERRDEF(ENETDOWN, "Network is down")
+__BIONIC_ERRDEF(ENETUNREACH, "Network is unreachable")
+__BIONIC_ERRDEF(ENETRESET, "Network dropped connection because of reset")
+__BIONIC_ERRDEF(ECONNABORTED, "Software caused connection abort")
+__BIONIC_ERRDEF(ECONNRESET, "Connection reset by peer")
+__BIONIC_ERRDEF(ENOBUFS, "No buffer space available")
+__BIONIC_ERRDEF(EISCONN, "Transport endpoint is already connected")
+__BIONIC_ERRDEF(ENOTCONN, "Transport endpoint is not connected")
+__BIONIC_ERRDEF(ESHUTDOWN, "Cannot send after transport endpoint shutdown")
+__BIONIC_ERRDEF(ETOOMANYREFS, "Too many references: cannot splice")
+__BIONIC_ERRDEF(ETIMEDOUT, "Connection timed out")
+__BIONIC_ERRDEF(ECONNREFUSED, "Connection refused")
+__BIONIC_ERRDEF(EHOSTDOWN, "Host is down")
+__BIONIC_ERRDEF(EHOSTUNREACH, "No route to host")
+__BIONIC_ERRDEF(EALREADY, "Operation already in progress")
+__BIONIC_ERRDEF(EINPROGRESS, "Operation now in progress")
+__BIONIC_ERRDEF(ESTALE, "Stale NFS file handle")
+__BIONIC_ERRDEF(EUCLEAN, "Structure needs cleaning")
+__BIONIC_ERRDEF(ENOTNAM, "Not a XENIX named type file")
+__BIONIC_ERRDEF(ENAVAIL, "No XENIX semaphores available")
+__BIONIC_ERRDEF(EISNAM, "Is a named type file")
+__BIONIC_ERRDEF(EREMOTEIO, "Remote I/O error")
+__BIONIC_ERRDEF(EDQUOT, "Quota exceeded")
+__BIONIC_ERRDEF(ENOMEDIUM, "No medium found")
+__BIONIC_ERRDEF(EMEDIUMTYPE, "Wrong medium type")
+__BIONIC_ERRDEF(ECANCELED, "Operation Canceled")
+__BIONIC_ERRDEF(ENOKEY, "Required key not available")
+__BIONIC_ERRDEF(EKEYEXPIRED, "Key has expired")
+__BIONIC_ERRDEF(EKEYREVOKED, "Key has been revoked")
+__BIONIC_ERRDEF(EKEYREJECTED, "Key was rejected by service")
+__BIONIC_ERRDEF(EOWNERDEAD, "Owner died")
+__BIONIC_ERRDEF(ENOTRECOVERABLE, "State not recoverable")
+__BIONIC_ERRDEF(ERFKILL, "Operation not possible due to RF-kill")
+__BIONIC_ERRDEF(EHWPOISON, "Memory page has hardware error")
+
+#undef __BIONIC_ERRDEF
diff --git a/libc/private/bionic_globals.h b/libc/private/bionic_globals.h
index c375cc4..cd6dca9 100644
--- a/libc/private/bionic_globals.h
+++ b/libc/private/bionic_globals.h
@@ -47,7 +47,8 @@
   vdso_entry vdso[VDSO_END];
   long setjmp_cookie;
   uintptr_t heap_pointer_tag;
-  _Atomic(bool) memtag_stack;
+  _Atomic(bool) decay_time_enabled;
+  _Atomic(bool) memtag;
 
   // In order to allow a complete switch between dispatch tables without
   // the need for copying each function by function in the structure,
@@ -65,9 +66,36 @@
   MallocDispatch malloc_dispatch_table;
 };
 
+struct memtag_dynamic_entries_t {
+  void* memtag_globals;
+  size_t memtag_globalssz;
+  bool has_memtag_mode;
+  unsigned memtag_mode;
+  bool memtag_heap;
+  bool memtag_stack;
+};
+
 __LIBC_HIDDEN__ extern WriteProtected<libc_globals> __libc_globals;
+// These cannot be in __libc_globals, because we cannot access the
+// WriteProtected in a thread-safe way.
+// See b/328256432.
+//
+// __libc_memtag_stack says whether stack MTE is enabled on the process, i.e.
+// whether the stack pages are mapped with PROT_MTE. This is always false if
+// MTE is disabled for the process (i.e. libc_globals.memtag is false).
+__LIBC_HIDDEN__ extern _Atomic(bool) __libc_memtag_stack;
+// __libc_memtag_stack_abi says whether the process contains any code that was
+// compiled with memtag-stack. This is true even if the process does not have
+// MTE enabled (e.g. because it was overridden using MEMTAG_OPTIONS, or because
+// MTE is disabled for the device).
+// Code compiled with memtag-stack needs a stack history buffer in
+// TLS_SLOT_STACK_MTE, because the codegen will emit an unconditional
+// (to keep the code branchless) write to it.
+// Protected by g_heap_creation_lock.
+__LIBC_HIDDEN__ extern bool __libc_memtag_stack_abi;
 
 struct abort_msg_t;
+struct crash_detail_page_t;
 namespace gwp_asan {
 struct AllocatorState;
 struct AllocationMetadata;
@@ -115,13 +143,24 @@
   const char* scudo_region_info = nullptr;
   const char* scudo_ring_buffer = nullptr;
   size_t scudo_ring_buffer_size = 0;
+  size_t scudo_stack_depot_size = 0;
 
   HeapTaggingLevel initial_heap_tagging_level = M_HEAP_TAGGING_LEVEL_NONE;
+  // See comments for __libc_memtag_stack / __libc_memtag_stack_abi above.
   bool initial_memtag_stack = false;
+  bool initial_memtag_stack_abi = false;
   int64_t heap_tagging_upgrade_timer_sec = 0;
+
+  void (*memtag_stack_dlopen_callback)() = nullptr;
+  pthread_mutex_t crash_detail_page_lock = PTHREAD_MUTEX_INITIALIZER;
+  crash_detail_page_t* crash_detail_page = nullptr;
 };
 
 __LIBC_HIDDEN__ libc_shared_globals* __libc_shared_globals();
+__LIBC_HIDDEN__ bool __libc_mte_enabled();
+__LIBC_HIDDEN__ void __libc_init_mte(const memtag_dynamic_entries_t*, const void*, size_t,
+                                     uintptr_t);
+__LIBC_HIDDEN__ void __libc_init_mte_stack(void*);
 __LIBC_HIDDEN__ void __libc_init_fdsan();
 __LIBC_HIDDEN__ void __libc_init_fdtrack();
 __LIBC_HIDDEN__ void __libc_init_profiling_handlers();
diff --git a/libc/private/bionic_ifuncs.h b/libc/private/bionic_ifuncs.h
index e6b349a..b31c903 100644
--- a/libc/private/bionic_ifuncs.h
+++ b/libc/private/bionic_ifuncs.h
@@ -31,6 +31,8 @@
 #include <stdint.h>
 #include <sys/ifunc.h>
 
+#include <private/bionic_call_ifunc_resolver.h>
+
 #if defined(__aarch64__)
 #define IFUNC_ARGS (uint64_t hwcap __attribute__((unused)), \
                     __ifunc_arg_t* arg __attribute__((unused)))
@@ -40,14 +42,6 @@
 #define IFUNC_ARGS ()
 #endif
 
-// We can't have HWASAN enabled in resolvers because they may be called before HWASAN is
-// initialized.
-#define DEFINE_IFUNC_FOR(name) \
-    name##_func name __attribute__((ifunc(#name "_resolver"))); \
-    __attribute__((visibility("hidden"))) \
-    __attribute__((no_sanitize("hwaddress"))) \
-    name##_func* name##_resolver IFUNC_ARGS
-
 #define DECLARE_FUNC(type, name) \
     __attribute__((visibility("hidden"))) \
     type name
@@ -56,3 +50,137 @@
         DECLARE_FUNC(type, name); \
         return name; \
     }
+
+#if defined(BIONIC_DYNAMIC_DISPATCH)
+
+// We can't have HWASAN enabled in resolvers because they may be called before
+// HWASAN is initialized.
+#define DEFINE_IFUNC_FOR(name)                                  \
+  name##_func_t name __attribute__((ifunc(#name "_resolver"))); \
+  __attribute__((visibility("hidden")))                         \
+  __attribute__((no_sanitize("hwaddress"))) name##_func_t* name##_resolver IFUNC_ARGS
+
+#define DEFINE_STATIC_SHIM(x)
+
+#elif defined(BIONIC_STATIC_DISPATCH)
+
+#define DEFINE_IFUNC_FOR(name)               \
+  name##_func_t* name##_resolver IFUNC_ARGS; \
+  __attribute__((visibility("hidden")))      \
+  __attribute__((no_sanitize("hwaddress"))) name##_func_t* name##_resolver IFUNC_ARGS
+
+#define DEFINE_STATIC_SHIM(x) x
+
+#define FORWARD(name)                                                               \
+  static name##_func_t* fn = reinterpret_cast<name##_func_t*>(                      \
+      __bionic_call_ifunc_resolver(reinterpret_cast<ElfW(Addr)>(name##_resolver))); \
+  return fn
+
+#else
+#error neither dynamic nor static dispatch?!
+#endif
+
+typedef void* memchr_func_t(const void*, int, size_t);
+#define MEMCHR_SHIM()                                                  \
+  DEFINE_STATIC_SHIM(void* memchr(const void* src, int ch, size_t n) { \
+    FORWARD(memchr)(src, ch, n);                                       \
+  })
+
+typedef int memcmp_func_t(const void*, const void*, size_t);
+#define MEMCMP_SHIM()                                                         \
+  DEFINE_STATIC_SHIM(int memcmp(const void* lhs, const void* rhs, size_t n) { \
+    FORWARD(memcmp)(lhs, rhs, n);                                             \
+  })
+
+typedef void* memcpy_func_t(void*, const void*, size_t);
+#define MEMCPY_SHIM()                                                     \
+  DEFINE_STATIC_SHIM(void* memcpy(void* dst, const void* src, size_t n) { \
+    FORWARD(memcpy)(dst, src, n);                                         \
+  })
+
+typedef void* memmove_func_t(void*, const void*, size_t);
+#define MEMMOVE_SHIM()                                                     \
+  DEFINE_STATIC_SHIM(void* memmove(void* dst, const void* src, size_t n) { \
+    FORWARD(memmove)(dst, src, n);                                         \
+  })
+
+typedef int memrchr_func_t(const void*, int, size_t);
+#define MEMRCHR_SHIM()                                                \
+  DEFINE_STATIC_SHIM(int memrchr(const void* src, int ch, size_t n) { \
+    FORWARD(memrchr)(src, ch, n);                                     \
+  })
+
+typedef void* memset_func_t(void*, int, size_t);
+#define MEMSET_SHIM() \
+  DEFINE_STATIC_SHIM(void* memset(void* dst, int ch, size_t n) { FORWARD(memset)(dst, ch, n); })
+
+typedef void* __memset_chk_func_t(void*, int, size_t, size_t);
+#define __MEMSET_CHK_SHIM()                                                       \
+  DEFINE_STATIC_SHIM(void* __memset_chk(void* dst, int ch, size_t n, size_t n2) { \
+    FORWARD(__memset_chk)(dst, ch, n, n2);                                        \
+  })
+
+typedef char* stpcpy_func_t(char*, const char*);
+#define STPCPY_SHIM() \
+  DEFINE_STATIC_SHIM(char* stpcpy(char* dst, const char* src) { FORWARD(stpcpy)(dst, src); })
+
+typedef char* strcat_func_t(char*, const char*);
+#define STRCAT_SHIM() \
+  DEFINE_STATIC_SHIM(char* strcat(char* dst, const char* src) { FORWARD(strcat)(dst, src); })
+
+typedef char* __strcat_chk_func_t(char*, const char*, size_t);
+#define __STRCAT_CHK_SHIM()                                                                \
+  DEFINE_STATIC_SHIM(char* __strcat_chk(char* dst, const char* src, size_t dst_buf_size) { \
+    FORWARD(__strcat_chk)(dst, src, dst_buf_size);                                         \
+  })
+
+typedef char* strchr_func_t(const char*, int);
+#define STRCHR_SHIM() \
+  DEFINE_STATIC_SHIM(char* strchr(const char* src, int ch) { FORWARD(strchr)(src, ch); })
+
+typedef char* strchrnul_func_t(const char*, int);
+#define STRCHRNUL_SHIM() \
+  DEFINE_STATIC_SHIM(char* strchrnul(const char* src, int ch) { FORWARD(strchrnul)(src, ch); })
+
+typedef int strcmp_func_t(const char*, const char*);
+#define STRCMP_SHIM() \
+  DEFINE_STATIC_SHIM(int strcmp(char* lhs, const char* rhs) { FORWARD(strcmp)(lhs, rhs); })
+
+typedef char* strcpy_func_t(char*, const char*);
+#define STRCPY_SHIM() \
+  DEFINE_STATIC_SHIM(char* strcpy(char* dst, const char* src) { FORWARD(strcpy)(dst, src); })
+
+typedef char* __strcpy_chk_func_t(char*, const char*, size_t);
+#define __STRCPY_CHK_SHIM()                                                           \
+  DEFINE_STATIC_SHIM(char* __strcpy_chk(char* dst, const char* src, size_t dst_len) { \
+    FORWARD(__strcpy_chk)(dst, src, dst_len);                                         \
+  })
+
+typedef size_t strlen_func_t(const char*);
+#define STRLEN_SHIM() DEFINE_STATIC_SHIM(size_t strlen(const char* s) { FORWARD(strlen)(s); })
+
+typedef char* strncat_func_t(char*, const char*, size_t);
+#define STRNCAT_SHIM()                                                     \
+  DEFINE_STATIC_SHIM(char* strncat(char* dst, const char* src, size_t n) { \
+    FORWARD(strncat)(dst, src, n);                                         \
+  })
+
+typedef int strncmp_func_t(const char*, const char*, size_t);
+#define STRNCMP_SHIM()                                                         \
+  DEFINE_STATIC_SHIM(int strncmp(const char* lhs, const char* rhs, size_t n) { \
+    FORWARD(strncmp)(lhs, rhs, n);                                             \
+  })
+
+typedef char* strncpy_func_t(char*, const char*, size_t);
+#define STRNCPY_SHIM()                                                     \
+  DEFINE_STATIC_SHIM(char* strncpy(char* dst, const char* src, size_t n) { \
+    FORWARD(strncpy)(dst, src, n);                                         \
+  })
+
+typedef size_t strnlen_func_t(const char*, size_t);
+#define STRNLEN_SHIM() \
+  DEFINE_STATIC_SHIM(size_t strnlen(const char* s, size_t n) { FORWARD(strnlen)(s, n); })
+
+typedef char* strrchr_func_t(const char*, int);
+#define STRRCHR_SHIM() \
+  DEFINE_STATIC_SHIM(char* strrchr(const char* src, int ch) { FORWARD(strrchr)(src, ch); })
diff --git a/libc/private/bionic_inline_raise.h b/libc/private/bionic_inline_raise.h
index 8565c80..82a564d 100644
--- a/libc/private/bionic_inline_raise.h
+++ b/libc/private/bionic_inline_raise.h
@@ -60,6 +60,13 @@
   register long x3 __asm__("x3") = reinterpret_cast<long>(&info);
   register long x8 __asm__("x8") = __NR_rt_tgsigqueueinfo;
   __asm__("svc #0" : "=r"(x0) : "r"(x0), "r"(x1), "r"(x2), "r"(x3), "r"(x8) : "memory");
+#elif defined(__riscv)
+  register long a0 __asm__("a0") = pid;
+  register long a1 __asm__("a1") = tid;
+  register long a2 __asm__("a2") = sig;
+  register long a3 __asm__("a3") = reinterpret_cast<long>(&info);
+  register long a7 __asm__("a7") = __NR_rt_tgsigqueueinfo;
+  __asm__("ecall" : "=r"(a0) : "r"(a0), "r"(a1), "r"(a2), "r"(a3), "r"(a7) : "memory");
 #elif defined(__x86_64__)
   register long rax __asm__("rax") = __NR_rt_tgsigqueueinfo;
   register long rdi __asm__("rdi") = pid;
diff --git a/libc/private/bionic_lock.h b/libc/private/bionic_lock.h
index 8ed4939..d0c6d5e 100644
--- a/libc/private/bionic_lock.h
+++ b/libc/private/bionic_lock.h
@@ -46,7 +46,7 @@
 
  public:
   void init(bool process_shared) {
-    atomic_init(&state, Unlocked);
+    atomic_store_explicit(&state, Unlocked, memory_order_relaxed);
     this->process_shared = process_shared;
   }
 
diff --git a/libc/private/bionic_mbstate.h b/libc/private/bionic_mbstate.h
index 243b220..fb85775 100644
--- a/libc/private/bionic_mbstate.h
+++ b/libc/private/bionic_mbstate.h
@@ -34,21 +34,15 @@
 
 __BEGIN_DECLS
 
-/*
- * These return values are specified by POSIX for multibyte conversion
- * functions.
- */
-#define __MB_ERR_ILLEGAL_SEQUENCE static_cast<size_t>(-1)
-#define __MB_ERR_INCOMPLETE_SEQUENCE static_cast<size_t>(-2)
+#define __MB_IS_ERR(rv)                              \
+  (rv == BIONIC_MULTIBYTE_RESULT_ILLEGAL_SEQUENCE || \
+   rv == BIONIC_MULTIBYTE_RESULT_INCOMPLETE_SEQUENCE)
 
-#define __MB_IS_ERR(rv) (rv == __MB_ERR_ILLEGAL_SEQUENCE || \
-                         rv == __MB_ERR_INCOMPLETE_SEQUENCE)
-
-static inline __wur bool mbstate_is_initial(const mbstate_t* ps) {
+static inline __nodiscard bool mbstate_is_initial(const mbstate_t* ps) {
   return *(reinterpret_cast<const uint32_t*>(ps->__seq)) == 0;
 }
 
-static inline __wur size_t mbstate_bytes_so_far(const mbstate_t* ps) {
+static inline __nodiscard size_t mbstate_bytes_so_far(const mbstate_t* ps) {
   return
       (ps->__seq[2] != 0) ? 3 :
       (ps->__seq[1] != 0) ? 2 :
@@ -59,18 +53,22 @@
   ps->__seq[i] = static_cast<uint8_t>(byte);
 }
 
-static inline __wur uint8_t mbstate_get_byte(const mbstate_t* ps, int n) {
+static inline __nodiscard uint8_t mbstate_get_byte(const mbstate_t* ps, int n) {
   return ps->__seq[n];
 }
 
-static inline __wur size_t mbstate_reset_and_return_illegal(int _errno, mbstate_t* ps) {
-  errno = _errno;
+static inline void mbstate_reset(mbstate_t* ps) {
   *(reinterpret_cast<uint32_t*>(ps->__seq)) = 0;
-  return __MB_ERR_ILLEGAL_SEQUENCE;
 }
 
-static inline __wur size_t mbstate_reset_and_return(int _return, mbstate_t* ps) {
-  *(reinterpret_cast<uint32_t*>(ps->__seq)) = 0;
+static inline __nodiscard size_t mbstate_reset_and_return_illegal(int _errno, mbstate_t* ps) {
+  errno = _errno;
+  mbstate_reset(ps);
+  return BIONIC_MULTIBYTE_RESULT_ILLEGAL_SEQUENCE;
+}
+
+static inline __nodiscard size_t mbstate_reset_and_return(size_t _return, mbstate_t* ps) {
+  mbstate_reset(ps);
   return _return;
 }
 
diff --git a/libc/private/bionic_sigdefs.h b/libc/private/bionic_sigdefs.h
index 44d60d9..7e1b477 100644
--- a/libc/private/bionic_sigdefs.h
+++ b/libc/private/bionic_sigdefs.h
@@ -27,8 +27,8 @@
  */
 
 /*
- * this header is used to define signal constants and names;
- * it might be included several times
+ * This header is used to define signal constants and names;
+ * it might be included several times.
  */
 
 #ifndef __BIONIC_SIGDEF
@@ -41,9 +41,6 @@
 __BIONIC_SIGDEF(SIGILL,    "Illegal instruction")
 __BIONIC_SIGDEF(SIGTRAP,   "Trap")
 __BIONIC_SIGDEF(SIGABRT,   "Aborted")
-#ifdef SIGEMT
-__BIONIC_SIGDEF(SIGEMT,    "EMT")
-#endif
 __BIONIC_SIGDEF(SIGFPE,    "Floating point exception")
 __BIONIC_SIGDEF(SIGKILL,   "Killed")
 __BIONIC_SIGDEF(SIGBUS,    "Bus error")
@@ -67,9 +64,7 @@
 __BIONIC_SIGDEF(SIGPROF,   "Profiling timer expired")
 __BIONIC_SIGDEF(SIGXCPU,   "CPU time limit exceeded")
 __BIONIC_SIGDEF(SIGXFSZ,   "File size limit exceeded")
-#if defined(SIGSTKFLT)
 __BIONIC_SIGDEF(SIGSTKFLT, "Stack fault")
-#endif
 __BIONIC_SIGDEF(SIGSYS,    "Bad system call")
 
 #undef __BIONIC_SIGDEF
diff --git a/libc/private/bionic_time_conversions.h b/libc/private/bionic_time_conversions.h
index fb049f2..ce7de0d 100644
--- a/libc/private/bionic_time_conversions.h
+++ b/libc/private/bionic_time_conversions.h
@@ -26,8 +26,7 @@
  * SUCH DAMAGE.
  */
 
-#ifndef _BIONIC_TIME_CONVERSIONS_H
-#define _BIONIC_TIME_CONVERSIONS_H
+#pragma once
 
 #include <errno.h>
 #include <time.h>
@@ -35,17 +34,21 @@
 
 #include "private/bionic_constants.h"
 
-__BEGIN_DECLS
+bool timespec_from_timeval(timespec& ts, const timeval& tv);
+void timespec_from_ms(timespec& ts, const int ms);
 
-__LIBC_HIDDEN__ bool timespec_from_timeval(timespec& ts, const timeval& tv);
-__LIBC_HIDDEN__ void timespec_from_ms(timespec& ts, const int ms);
+void timeval_from_timespec(timeval& tv, const timespec& ts);
 
-__LIBC_HIDDEN__ void timeval_from_timespec(timeval& tv, const timespec& ts);
+void monotonic_time_from_realtime_time(timespec& monotonic_time, const timespec& realtime_time);
+void realtime_time_from_monotonic_time(timespec& realtime_time, const timespec& monotonic_time);
 
-__LIBC_HIDDEN__ void monotonic_time_from_realtime_time(timespec& monotonic_time,
-                                                       const timespec& realtime_time);
+static inline int64_t to_ns(const timespec& ts) {
+  return ts.tv_sec * NS_PER_S + ts.tv_nsec;
+}
 
-__END_DECLS
+static inline int64_t to_us(const timeval& tv) {
+  return tv.tv_sec * US_PER_S + tv.tv_usec;
+}
 
 static inline int check_timespec(const timespec* ts, bool null_allowed) {
   if (null_allowed && ts == nullptr) {
@@ -73,5 +76,3 @@
   }
 }
 #endif
-
-#endif
diff --git a/libc/private/bionic_vdso.h b/libc/private/bionic_vdso.h
index da19b29..406b064 100644
--- a/libc/private/bionic_vdso.h
+++ b/libc/private/bionic_vdso.h
@@ -26,26 +26,23 @@
  * SUCH DAMAGE.
  */
 
-#ifndef _PRIVATE_BIONIC_VDSO_H
-#define _PRIVATE_BIONIC_VDSO_H
-
-#include <time.h>
+#pragma once
 
 #if defined(__aarch64__)
 #define VDSO_CLOCK_GETTIME_SYMBOL "__kernel_clock_gettime"
-#define VDSO_CLOCK_GETRES_SYMBOL  "__kernel_clock_getres"
-#define VDSO_GETTIMEOFDAY_SYMBOL  "__kernel_gettimeofday"
-#define VDSO_TIME_SYMBOL          "__kernel_time"
+#define VDSO_CLOCK_GETRES_SYMBOL "__kernel_clock_getres"
+#define VDSO_GETTIMEOFDAY_SYMBOL "__kernel_gettimeofday"
 #else
 #define VDSO_CLOCK_GETTIME_SYMBOL "__vdso_clock_gettime"
-#define VDSO_CLOCK_GETRES_SYMBOL  "__vdso_clock_getres"
-#define VDSO_GETTIMEOFDAY_SYMBOL  "__vdso_gettimeofday"
-#define VDSO_TIME_SYMBOL          "__vdso_time"
+#define VDSO_CLOCK_GETRES_SYMBOL "__vdso_clock_getres"
+#define VDSO_GETTIMEOFDAY_SYMBOL "__vdso_gettimeofday"
 #endif
-
-extern "C" int __clock_gettime(int, timespec*);
-extern "C" int __clock_getres(int, timespec*);
-extern "C" int __gettimeofday(timeval*, struct timezone*);
+#if defined(__riscv)
+#define VDSO_RISCV_HWPROBE_SYMBOL "__vdso_riscv_hwprobe"
+#endif
+#if defined(__i386__) || defined(__x86_64__)
+#define VDSO_TIME_SYMBOL "__vdso_time"
+#endif
 
 struct vdso_entry {
   const char* name;
@@ -56,8 +53,11 @@
   VDSO_CLOCK_GETTIME = 0,
   VDSO_CLOCK_GETRES,
   VDSO_GETTIMEOFDAY,
+#if defined(VDSO_TIME_SYMBOL)
   VDSO_TIME,
+#endif
+#if defined(VDSO_RISCV_HWPROBE_SYMBOL)
+  VDSO_RISCV_HWPROBE,
+#endif
   VDSO_END
 };
-
-#endif  // _PRIVATE_BIONIC_VDSO_H
diff --git a/libc/private/bsd_sys_param.h b/libc/private/bsd_sys_param.h
deleted file mode 100644
index be5f692..0000000
--- a/libc/private/bsd_sys_param.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <inttypes.h>
-
-/* OpenBSD has these in <sys/param.h>, but "ALIGN" isn't something we want to reserve. */
-#define ALIGNBYTES (sizeof(uintptr_t) - 1)
-#define ALIGN(p) (((uintptr_t)(p) + ALIGNBYTES) & ~ALIGNBYTES)
diff --git a/libm/fenv-access.h b/libc/private/elf_note.h
similarity index 66%
copy from libm/fenv-access.h
copy to libc/private/elf_note.h
index 7acb34d..6a9399b 100644
--- a/libm/fenv-access.h
+++ b/libc/private/elf_note.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,15 @@
 
 #pragma once
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
-#endif
+#include <elf.h>
+#include <link.h>
+
+// Get desired ELF note (Nhdr/desc) from mmapped PT_NOTE
+bool __get_elf_note(unsigned note_type, const char* note_name, const ElfW(Addr) note_addr,
+                    const ElfW(Phdr)* phdr_note, const ElfW(Nhdr)** note_hdr,
+                    const char** note_desc);
+
+// Search all mapped PT_NOTE's for the desired ELF note (Nhdr/desc)
+bool __find_elf_note(unsigned int note_type, const char* note_name, const ElfW(Phdr)* phdr_start,
+                     size_t phdr_ct, const ElfW(Nhdr)** note_hdr, const char** note_desc,
+                     const ElfW(Addr) load_bias);
diff --git a/libc/private/icu.h b/libc/private/icu.h
index a671e98..8e4aa80 100644
--- a/libc/private/icu.h
+++ b/libc/private/icu.h
@@ -80,7 +80,8 @@
 
 int8_t __icu_charType(wint_t wc);
 int32_t __icu_getIntPropertyValue(wint_t wc, UProperty property);
-bool __icu_hasBinaryProperty(wint_t wc, UProperty property, int (*fallback)(int));
+
+typedef UBool (*u_hasBinaryProperty_t)(UChar32, UProperty);
 
 void* __find_icu_symbol(const char* symbol_name);
 
diff --git a/libc/private/thread_private.h b/libc/private/thread_private.h
index 1f9eeb6..1a13690 100644
--- a/libc/private/thread_private.h
+++ b/libc/private/thread_private.h
@@ -29,7 +29,6 @@
 
 #define _ARC4_LOCK() _thread_arc4_lock()
 #define _ARC4_UNLOCK() _thread_arc4_unlock()
-#define _ARC4_ATFORK(f) pthread_atfork(NULL, NULL, (f))
 
 extern volatile sig_atomic_t _rs_forked;
 
diff --git a/libc/stdio/fmemopen.cpp b/libc/stdio/fmemopen.cpp
index 6e333ba..f069da4 100644
--- a/libc/stdio/fmemopen.cpp
+++ b/libc/stdio/fmemopen.cpp
@@ -33,8 +33,8 @@
 
 #include "local.h"
 
-// See http://pubs.opengroup.org/onlinepubs/9699919799/functions/fmemopen.html
-// and http://man7.org/linux/man-pages/man3/fmemopen.3.html for documentation.
+// See https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/functions/fmemopen.html
+// and https://man7.org/linux/man-pages/man3/fmemopen.3.html for documentation.
 
 struct fmemopen_cookie {
   char* buf;
diff --git a/libc/stdio/local.h b/libc/stdio/local.h
index 2fc12a0..a60468e 100644
--- a/libc/stdio/local.h
+++ b/libc/stdio/local.h
@@ -51,11 +51,7 @@
 
 struct __sbuf {
   unsigned char* _base;
-#if defined(__LP64__)
   size_t _size;
-#else
-  int _size;
-#endif
 };
 
 struct __sFILE {
@@ -236,7 +232,7 @@
 /* OpenBSD exposes these in <stdio.h>, but we only want them exposed to the implementation. */
 #define __sferror(p) (((p)->_flags & __SERR) != 0)
 #define __sclearerr(p) ((void)((p)->_flags &= ~(__SERR | __SEOF)))
-#define __sgetc(p) (--(p)->_r < 0 ? __srget(p) : (int)(*(p)->_p++))
+#define __sgetc(p) (--(p)->_r < 0 ? __srget(p) : __BIONIC_CAST(static_cast, int, *(p)->_p++))
 
 /* OpenBSD declares these in fvwrite.h, but we share them with C++ parts of the implementation. */
 struct __siov {
@@ -288,19 +284,23 @@
 char* __hldtoa(long double, const char*, int, int*, int*, char**);
 char* __ldtoa(long double*, int, int, int*, int*, char**);
 
-#define WCIO_GET(fp) (_EXT(fp) ? &(_EXT(fp)->_wcio) : (struct wchar_io_data*)0)
+#define WCIO_GET(fp) (_EXT(fp) ? &(_EXT(fp)->_wcio) : NULL)
 
-#define _SET_ORIENTATION(fp, mode)                                 \
-  do {                                                             \
-    struct wchar_io_data* _wcio = WCIO_GET(fp);                    \
-    if (_wcio && _wcio->wcio_mode == 0) _wcio->wcio_mode = (mode); \
+#define ORIENT_BYTES (-1)
+#define ORIENT_UNKNOWN 0
+#define ORIENT_CHARS 1
+
+#define _SET_ORIENTATION(fp, mode)                                              \
+  do {                                                                          \
+    struct wchar_io_data* _wcio = WCIO_GET(fp);                                 \
+    if (_wcio && _wcio->wcio_mode == ORIENT_UNKNOWN) _wcio->wcio_mode = (mode); \
   } while (0)
 
 #define WCIO_FREE(fp)                           \
   do {                                          \
     struct wchar_io_data* _wcio = WCIO_GET(fp); \
     if (_wcio) {                                \
-      _wcio->wcio_mode = 0;                     \
+      _wcio->wcio_mode = ORIENT_UNKNOWN;        \
       _wcio->wcio_ungetwc_inbuf = 0;            \
     }                                           \
   } while (0)
diff --git a/libc/stdio/printf_common.h b/libc/stdio/printf_common.h
index b0055f0..653bba2 100644
--- a/libc/stdio/printf_common.h
+++ b/libc/stdio/printf_common.h
@@ -85,6 +85,10 @@
 // Helper function for `fprintf to unbuffered unix file': creates a
 // temporary buffer.  We only work on write-only files; this avoids
 // worries about ungetc buffers and so forth.
+//
+// We prevent inlining because this massively increases the printf()
+// family's stack usage to support a rare case.
+__attribute__((__noinline__))
 static int __sbprintf(FILE* fp, const CHAR_TYPE* fmt, va_list ap) {
   FILE fake;
   struct __sfileext fakeext;
@@ -528,17 +532,29 @@
       case 'b':
         ADDUARG();
         break;
-      case 'w':
+      case 'w': {
         n = 0;
+        bool fast = false;
         ch = *fmt++;
+        if (ch == 'f') {
+          fast = true;
+          ch = *fmt++;
+        }
         while (is_digit(ch)) {
           APPEND_DIGIT(n, ch);
           ch = *fmt++;
         }
         if (n == 64) {
           flags |= LLONGINT;
+        } else {
+          if (n != 8 && fast) {
+#if defined(__LP64__)
+            flags |= LLONGINT;
+#endif
+          }
         }
         goto reswitch;
+      }
       default: /* "%?" prints ?, unless ? is NUL */
         if (ch == '\0') goto done;
         break;
@@ -774,7 +790,7 @@
   //
   // Returns NULL on failure.
   // To find out what happened check errno for ENOMEM, EILSEQ and EINVAL.
-  static wchar_t* mbsconv(char* mbsarg, int prec) {
+  static wchar_t* mbsconv(const char* mbsarg, int prec) {
     mbstate_t mbs;
     const char* p;
     size_t insize, nchars, nconv;
@@ -824,4 +840,15 @@
     return convbuf;
   }
 
+  // Trasnlate a fixed size integer argument for the %w/%wf format to a
+  // flag representation. Supported sizes are 8, 16, 32, and 64 so far.
+  // See details in bionic/libc/include/stdint.h
+  static int w_to_flag(int size, bool fast) {
+    static constexpr int fast_size = sizeof(void*) == 8 ? LLONGINT : 0;
+    if (size == 8) return CHARINT;
+    if (size == 16) return fast ? fast_size : SHORTINT;
+    if (size == 32) return fast ? fast_size : 0;
+    if (size == 64) return LLONGINT;
+    __fortify_fatal("%%w%s%d is unsupported", fast ? "f" : "", size);
+  }
 };
diff --git a/libc/stdio/scanf_common.h b/libc/stdio/scanf_common.h
new file mode 100644
index 0000000..1b6b87f
--- /dev/null
+++ b/libc/stdio/scanf_common.h
@@ -0,0 +1,115 @@
+/*	$OpenBSD: vfscanf.c,v 1.31 2014/03/19 05:17:01 guenther Exp $ */
+/*-
+ * Copyright (c) 1990, 1993
+ *	The Regents of the University of California.  All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Chris Torek.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <ctype.h>
+#include <inttypes.h>
+#include <limits.h>
+#include <locale.h>
+#include <stdarg.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/param.h>
+#include <wctype.h>
+#include "local.h"
+
+#include <platform/bionic/macros.h>
+#include <private/bionic_fortify.h>
+#include <private/bionic_mbstate.h>
+
+#define BUF 513 /* Maximum length of numeric string. */
+
+// Flags used during conversion.
+// Size/type:
+#define LONG 0x00001        // l: long or double
+#define LONGDBL 0x00002     // L: long double
+#define SHORT 0x00004       // h: short
+#define SHORTSHORT 0x00008  // hh: 8 bit integer
+#define LLONG 0x00010       // ll: long long (+ deprecated q: quad)
+#define POINTER 0x00020     // p: void* (as hex)
+#define SIZEINT 0x00040     // z: (signed) size_t
+#define MAXINT 0x00080      // j: intmax_t
+#define PTRINT 0x00100      // t: ptrdiff_t
+#define NOSKIP 0x00200      // [ or c: do not skip blanks
+// Modifiers:
+#define SUPPRESS 0x00400  // *: suppress assignment
+#define UNSIGNED 0x00800  // %[oupxX] conversions
+#define ALLOCATE 0x01000  // m: allocate a char*
+// Internal use during integer parsing:
+#define SIGNOK 0x02000    // +/- is (still) legal
+#define HAVESIGN 0x04000  // Sign detected
+#define NDIGITS 0x08000   // No digits detected
+#define PFXOK 0x10000     // "0x" prefix is (still) legal
+#define PFBOK 0x20000     // "0b" prefix is (still) legal
+#define NZDIGITS 0x40000  // No zero digits detected
+
+// Conversion types.
+#define CT_CHAR 0    // %c conversion
+#define CT_CCL 1     // %[...] conversion
+#define CT_STRING 2  // %s conversion
+#define CT_INT 3     // Integer: strtoimax/strtoumax
+#define CT_FLOAT 4   // Float: strtod
+
+#define to_digit(c) static_cast<int>((c) - '0')
+#define is_digit(c) (static_cast<unsigned>(to_digit(c)) <= 9)
+
+// Append a digit to a value and check for overflow.
+#define APPEND_DIGIT(val, dig)               \
+  do {                                       \
+    if ((val) > INT_MAX / 10)                \
+      errno = ENOMEM;                        \
+    else {                                   \
+      (val) *= 10;                           \
+      if ((val) > INT_MAX - to_digit((dig))) \
+        errno = ENOMEM;                      \
+      else                                   \
+        (val) += to_digit((dig));            \
+    }                                        \
+  } while (0)
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunused-function"
+// Trasnlate a fixed size integer argument for the %w/%wf format to a
+// flag representation. Supported sizes are 8, 16, 32, and 64 so far.
+// See details in bionic/libc/include/stdint.h
+static int w_to_flag(int size, bool fast) {
+  static constexpr int fast_size = sizeof(void*) == 8 ? LLONG : 0;
+  if (size == 8) return SHORTSHORT;
+  if (size == 16) return fast ? fast_size : SHORT;
+  if (size == 32) return fast ? fast_size : 0;
+  if (size == 64) return LLONG;
+  __fortify_fatal("%%w%s%d is unsupported", fast ? "f" : "", size);
+}
+
+#pragma clang diagnostic pop
diff --git a/libc/stdio/stdio.cpp b/libc/stdio/stdio.cpp
index 645aefa..a5f2f81 100644
--- a/libc/stdio/stdio.cpp
+++ b/libc/stdio/stdio.cpp
@@ -58,8 +58,6 @@
 #include "private/bionic_fortify.h"
 #include "private/thread_private.h"
 
-#include "private/bsd_sys_param.h" // For ALIGN/ALIGNBYTES.
-
 #define	NDYNAMIC 10		/* add ten more whenever necessary */
 
 #define PRINTF_IMPL(expr) \
@@ -135,12 +133,14 @@
 };
 
 static glue* moreglue(int n) {
-  char* data = new char[sizeof(glue) + ALIGNBYTES + n * sizeof(FILE) + n * sizeof(__sfileext)];
+  char* data = new char[sizeof(glue) +
+                        alignof(FILE) + n * sizeof(FILE) +
+                        alignof(__sfileext) + n * sizeof(__sfileext)];
   if (data == nullptr) return nullptr;
 
   glue* g = reinterpret_cast<glue*>(data);
-  FILE* p = reinterpret_cast<FILE*>(ALIGN(data + sizeof(*g)));
-  __sfileext* pext = reinterpret_cast<__sfileext*>(ALIGN(data + sizeof(*g)) + n * sizeof(FILE));
+  FILE* p = reinterpret_cast<FILE*>(__builtin_align_up(g + 1, alignof(FILE)));
+  __sfileext* pext = reinterpret_cast<__sfileext*>(__builtin_align_up(p + n, alignof(__sfileext)));
   g->next = nullptr;
   g->niobs = n;
   g->iobs = p;
@@ -773,7 +773,7 @@
 char* fgets_unlocked(char* buf, int n, FILE* fp) {
   if (n <= 0) __fortify_fatal("fgets: buffer size %d <= 0", n);
 
-  _SET_ORIENTATION(fp, -1);
+  _SET_ORIENTATION(fp, ORIENT_BYTES);
 
   char* s = buf;
   n--; // Leave space for NUL.
@@ -903,7 +903,7 @@
     errno = EBADF;
     return EOF;
   }
-  _SET_ORIENTATION(fp, -1);
+  _SET_ORIENTATION(fp, ORIENT_BYTES);
   if (--fp->_w >= 0 || (fp->_w >= fp->_lbfsize && c != '\n')) {
     return (*fp->_p++ = c);
   }
@@ -1079,6 +1079,26 @@
   return __sflush(fp);
 }
 
+int fpurge(FILE* fp) {
+  CHECK_FP(fp);
+
+  ScopedFileLock sfl(fp);
+
+  if (fp->_flags == 0) {
+    // Already freed!
+    errno = EBADF;
+    return EOF;
+  }
+
+  if (HASUB(fp)) FREEUB(fp);
+  WCIO_FREE(fp);
+  fp->_p = fp->_bf._base;
+  fp->_r = 0;
+  fp->_w = fp->_flags & (__SLBF | __SNBF) ? 0 : fp->_bf._size;
+  return 0;
+}
+__strong_alias(__fpurge, fpurge);
+
 size_t fread(void* buf, size_t size, size_t count, FILE* fp) {
   CHECK_FP(fp);
   ScopedFileLock sfl(fp);
@@ -1098,7 +1118,7 @@
   size_t total = desired_total;
   if (total == 0) return 0;
 
-  _SET_ORIENTATION(fp, -1);
+  _SET_ORIENTATION(fp, ORIENT_BYTES);
 
   // TODO: how can this ever happen?!
   if (fp->_r < 0) fp->_r = 0;
@@ -1165,7 +1185,7 @@
   __siov iov = { .iov_base = const_cast<void*>(buf), .iov_len = n };
   __suio uio = { .uio_iov = &iov, .uio_iovcnt = 1, .uio_resid = n };
 
-  _SET_ORIENTATION(fp, -1);
+  _SET_ORIENTATION(fp, ORIENT_BYTES);
 
   // The usual case is success (__sfvwrite returns 0); skip the divide if this happens,
   // since divides are generally slow.
diff --git a/libc/stdio/stdio_ext.cpp b/libc/stdio/stdio_ext.cpp
index 99a8af7..3eb2f33 100644
--- a/libc/stdio/stdio_ext.cpp
+++ b/libc/stdio/stdio_ext.cpp
@@ -59,10 +59,6 @@
   return (fp->_flags & __SLBF) != 0;
 }
 
-void __fpurge(FILE* fp) {
-  fpurge(fp);
-}
-
 size_t __fpending(FILE* fp) {
   return fp->_p - fp->_bf._base;
 }
diff --git a/libc/stdio/vfprintf.cpp b/libc/stdio/vfprintf.cpp
index b7c68dd..354317c 100644
--- a/libc/stdio/vfprintf.cpp
+++ b/libc/stdio/vfprintf.cpp
@@ -39,7 +39,27 @@
 #define CHAR_TYPE_inf "inf"
 #define CHAR_TYPE_NAN "NAN"
 #define CHAR_TYPE_nan "nan"
-#define CHAR_TYPE_ORIENTATION -1
+#define CHAR_TYPE_ORIENTATION ORIENT_BYTES
+
+#define PRINT(ptr, len)                          \
+  do {                                           \
+    iovp->iov_base = (void*)(ptr);               \
+    iovp->iov_len = (len);                       \
+    uio.uio_resid += (len);                      \
+    iovp++;                                      \
+    if (++uio.uio_iovcnt >= NIOV) {              \
+      if (helpers::sprint(fp, &uio)) goto error; \
+      iovp = iov;                                \
+    }                                            \
+  } while (0)
+
+#define FLUSH()                                                 \
+  do {                                                          \
+    if (uio.uio_resid && helpers::sprint(fp, &uio)) goto error; \
+    uio.uio_iovcnt = 0;                                         \
+    iovp = iov;                                                 \
+  } while (0)
+
 #include "printf_common.h"
 
 int FUNCTION_NAME(FILE* fp, const CHAR_TYPE* fmt0, va_list ap) {
@@ -105,34 +125,16 @@
    * below longer.
    */
 #define PADSIZE 16 /* pad chunk size */
-  static CHAR_TYPE blanks[PADSIZE] = {
+  static const CHAR_TYPE blanks[PADSIZE] = {
     ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
   };
-  static CHAR_TYPE zeroes[PADSIZE] = {
+  static const CHAR_TYPE zeroes[PADSIZE] = {
     '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0'
   };
 
   static const char xdigs_lower[] = "0123456789abcdef";
   static const char xdigs_upper[] = "0123456789ABCDEF";
 
-#define PRINT(ptr, len)                   \
-  do {                                    \
-    iovp->iov_base = (ptr);               \
-    iovp->iov_len = (len);                \
-    uio.uio_resid += (len);               \
-    iovp++;                               \
-    if (++uio.uio_iovcnt >= NIOV) {       \
-      if (helpers::sprint(fp, &uio)) goto error; \
-      iovp = iov;                         \
-    }                                     \
-  } while (0)
-#define FLUSH()                                          \
-  do {                                                   \
-    if (uio.uio_resid && helpers::sprint(fp, &uio)) goto error; \
-    uio.uio_iovcnt = 0;                                  \
-    iovp = iov;                                          \
-  } while (0)
-
   _SET_ORIENTATION(fp, CHAR_TYPE_ORIENTATION);
 
   // Writing "" to a read only file returns EOF, not 0.
@@ -338,6 +340,7 @@
       case 'd':
       case 'i':
         _umax = SARG();
+signed_decimal:
         if ((intmax_t)_umax < 0) {
           _umax = -_umax;
           sign = '-';
@@ -359,14 +362,14 @@
         if (dtoaresult) __freedtoa(dtoaresult);
         if (flags & LONGDBL) {
           fparg.ldbl = GETARG(long double);
-          dtoaresult = cp = __hldtoa(fparg.ldbl, xdigs, prec, &expt, &signflag, &dtoaend);
+          dtoaresult = __hldtoa(fparg.ldbl, xdigs, prec, &expt, &signflag, &dtoaend);
           if (dtoaresult == nullptr) {
             errno = ENOMEM;
             goto error;
           }
         } else {
           fparg.dbl = GETARG(double);
-          dtoaresult = cp = __hdtoa(fparg.dbl, xdigs, prec, &expt, &signflag, &dtoaend);
+          dtoaresult = __hdtoa(fparg.dbl, xdigs, prec, &expt, &signflag, &dtoaend);
           if (dtoaresult == nullptr) {
             errno = ENOMEM;
             goto error;
@@ -396,14 +399,14 @@
         if (dtoaresult) __freedtoa(dtoaresult);
         if (flags & LONGDBL) {
           fparg.ldbl = GETARG(long double);
-          dtoaresult = cp = __ldtoa(&fparg.ldbl, expchar ? 2 : 3, prec, &expt, &signflag, &dtoaend);
+          dtoaresult = __ldtoa(&fparg.ldbl, expchar ? 2 : 3, prec, &expt, &signflag, &dtoaend);
           if (dtoaresult == nullptr) {
             errno = ENOMEM;
             goto error;
           }
         } else {
           fparg.dbl = GETARG(double);
-          dtoaresult = cp = __dtoa(fparg.dbl, expchar ? 2 : 3, prec, &expt, &signflag, &dtoaend);
+          dtoaresult = __dtoa(fparg.dbl, expchar ? 2 : 3, prec, &expt, &signflag, &dtoaend);
           if (dtoaresult == nullptr) {
             errno = ENOMEM;
             goto error;
@@ -411,6 +414,13 @@
           if (expt == 9999) expt = INT_MAX;
         }
       fp_common:
+#if CHAR_TYPE_ORIENTATION == ORIENT_BYTES
+        cp = dtoaresult;
+#else
+        free(convbuf);
+        cp = convbuf = helpers::mbsconv(dtoaresult, -1);
+        if (cp == nullptr) goto error;
+#endif
         if (signflag) sign = '-';
         if (expt == INT_MAX) { /* inf or nan */
           if (*cp == 'N') {
@@ -423,7 +433,7 @@
           break;
         }
         flags |= FPT;
-        ndig = dtoaend - cp;
+        ndig = dtoaend - dtoaresult;
         if (ch == 'g' || ch == 'G') {
           if (expt > -4 && expt <= prec) {
             /* Make %[gG] smell like %[fF] */
@@ -459,7 +469,15 @@
       case 'n':
         __fortify_fatal("%%n not allowed on Android");
       case 'm':
-        cp = strerror_r(caller_errno, buf, sizeof(buf));
+        if (flags & ALT) {
+          cp = const_cast<char*>(strerrorname_np(caller_errno));
+          if (cp == nullptr) {
+            _umax = caller_errno;
+            goto signed_decimal;
+          }
+        } else {
+          cp = strerror_r(caller_errno, buf, sizeof(buf));
+        }
         goto string;
       case 'O':
         flags |= LONGINT;
@@ -521,34 +539,21 @@
         _umax = UARG();
         base = DEC;
         goto nosign;
-      case 'w':
+      case 'w': {
         n = 0;
+        bool fast = false;
         ch = *fmt++;
+        if (ch == 'f') {
+          fast = true;
+          ch = *fmt++;
+        }
         while (is_digit(ch)) {
           APPEND_DIGIT(n, ch);
           ch = *fmt++;
         }
-        switch (n) {
-          case 8: {
-            flags |= CHARINT;
-            goto reswitch;
-          }
-          case 16: {
-            flags |= SHORTINT;
-            goto reswitch;
-          }
-          case 32: {
-            goto reswitch;
-          }
-          case 64: {
-            flags |= LLONGINT;
-            goto reswitch;
-          }
-          default: {
-            __fortify_fatal("%%w%d is unsupported", n);
-            break;
-          }
-        }
+        flags |= helpers::w_to_flag(n, fast);
+        goto reswitch;
+      }
       case 'X':
         xdigs = xdigs_upper;
         goto hex;
@@ -673,6 +678,7 @@
     } else { /* glue together f_p fragments */
       if (decimal_point == nullptr) decimal_point = nl_langinfo(RADIXCHAR);
       if (!expchar) { /* %[fF] or sufficiently short %[gG] */
+        CHAR_TYPE* end = cp + ndig;
         if (expt <= 0) {
           PRINT(zeroes, 1);
           if (prec || flags & ALT) PRINT(decimal_point, 1);
@@ -680,11 +686,11 @@
           /* already handled initial 0's */
           prec += expt;
         } else {
-          PRINTANDPAD(cp, dtoaend, lead, zeroes);
+          PRINTANDPAD(cp, end, lead, zeroes);
           cp += lead;
           if (prec || flags & ALT) PRINT(decimal_point, 1);
         }
-        PRINTANDPAD(cp, dtoaend, prec, zeroes);
+        PRINTANDPAD(cp, end, prec, zeroes);
       } else { /* %[eE] or sufficiently long %[gG] */
         if (prec > 1 || flags & ALT) {
           buf[0] = *cp++;
diff --git a/libc/stdio/vfscanf.cpp b/libc/stdio/vfscanf.cpp
index d05a3a6..92ff541 100644
--- a/libc/stdio/vfscanf.cpp
+++ b/libc/stdio/vfscanf.cpp
@@ -31,53 +31,7 @@
  * SUCH DAMAGE.
  */
 
-#include <ctype.h>
-#include <inttypes.h>
-#include <stdarg.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/param.h>
-#include <wctype.h>
-#include "local.h"
-
-#include <private/bionic_fortify.h>
-#include <platform/bionic/macros.h>
-#include <private/bionic_mbstate.h>
-
-#define BUF 513 /* Maximum length of numeric string. */
-
-// Flags used during conversion.
-// Size/type:
-#define LONG       0x00001 // l: long or double
-#define LONGDBL    0x00002 // L: long double
-#define SHORT      0x00004 // h: short
-#define SHORTSHORT 0x00008 // hh: 8 bit integer
-#define LLONG      0x00010 // ll: long long (+ deprecated q: quad)
-#define POINTER    0x00020 // p: void* (as hex)
-#define SIZEINT    0x00040 // z: (signed) size_t
-#define MAXINT     0x00080 // j: intmax_t
-#define PTRINT     0x00100 // t: ptrdiff_t
-#define NOSKIP     0x00200 // [ or c: do not skip blanks
-// Modifiers:
-#define SUPPRESS   0x00400 // *: suppress assignment
-#define UNSIGNED   0x00800 // %[oupxX] conversions
-#define ALLOCATE   0x01000 // m: allocate a char*
-// Internal use during integer parsing:
-#define SIGNOK     0x02000 // +/- is (still) legal
-#define HAVESIGN   0x04000 // Sign detected
-#define NDIGITS    0x08000 // No digits detected
-#define PFXOK      0x10000 // "0x" prefix is (still) legal
-#define PFBOK      0x20000 // "0b" prefix is (still) legal
-#define NZDIGITS   0x40000 // No zero digits detected
-
-// Conversion types.
-#define CT_CHAR 0   // %c conversion
-#define CT_CCL 1    // %[...] conversion
-#define CT_STRING 2 // %s conversion
-#define CT_INT 3    // Integer: strtoimax/strtoumax
-#define CT_FLOAT 4  // Float: strtod
+#include "scanf_common.h"
 
 static const unsigned char* __sccl(char*, const unsigned char*);
 
@@ -102,7 +56,7 @@
   void* allocation = nullptr; // Allocated but unassigned result for %mc/%ms/%m[.
   size_t capacity = 0; // Number of char/wchar_t units allocated in `allocation`.
 
-  _SET_ORIENTATION(fp, -1);
+  _SET_ORIENTATION(fp, ORIENT_BYTES);
 
   nassigned = 0;
   nread = 0;
@@ -122,6 +76,7 @@
      */
 again:
     c = *fmt++;
+reswitch:
     switch (c) {
       case '%':
 literal:
@@ -220,6 +175,22 @@
         base = 10;
         break;
 
+      case 'w': {
+        int size = 0;
+        bool fast = false;
+        c = *fmt++;
+        if (c == 'f') {
+          fast = true;
+          c = *fmt++;
+        }
+        while (is_digit(c)) {
+          APPEND_DIGIT(size, c);
+          c = *fmt++;
+        }
+        flags |= w_to_flag(size, fast);
+        goto reswitch;
+      }
+
       case 'X':
       case 'x':
         flags |= PFXOK; /* enable 0x prefixing */
@@ -356,12 +327,12 @@
             fp->_r--;
             memset(&mbs, 0, sizeof(mbs));
             nconv = mbrtowc(wcp, buf, bytes, &mbs);
-            if (nconv == __MB_ERR_ILLEGAL_SEQUENCE) {
+            if (nconv == BIONIC_MULTIBYTE_RESULT_ILLEGAL_SEQUENCE) {
               fp->_flags |= __SERR;
               goto input_failure;
             }
             if (nconv == 0 && !(flags & SUPPRESS)) *wcp = L'\0';
-            if (nconv != __MB_ERR_INCOMPLETE_SEQUENCE) {
+            if (nconv != BIONIC_MULTIBYTE_RESULT_INCOMPLETE_SEQUENCE) {
               nread += bytes;
               width--;
               if (!(flags & SUPPRESS)) wcp++;
@@ -446,11 +417,11 @@
             wchar_t wc = L'\0';
             memset(&mbs, 0, sizeof(mbs));
             nconv = mbrtowc(&wc, buf, bytes, &mbs);
-            if (nconv == __MB_ERR_ILLEGAL_SEQUENCE) {
+            if (nconv == BIONIC_MULTIBYTE_RESULT_ILLEGAL_SEQUENCE) {
               fp->_flags |= __SERR;
               goto input_failure;
             }
-            if (nconv != __MB_ERR_INCOMPLETE_SEQUENCE) {
+            if (nconv != BIONIC_MULTIBYTE_RESULT_INCOMPLETE_SEQUENCE) {
               if ((c == CT_CCL && wctob(wc) != EOF && !ccltab[wctob(wc)]) || (c == CT_STRING && iswspace(wc))) {
                 while (bytes != 0) {
                   bytes--;
@@ -658,10 +629,10 @@
          * as `[-+]0`.
          */
         if (flags & NDIGITS) {
-          if (p > buf) (void)ungetc(*(u_char*)--p, fp);
+          if (p > buf) ungetc(*reinterpret_cast<u_char*>(--p), fp);
           goto match_failure;
         }
-        c = ((u_char*)p)[-1];
+        c = reinterpret_cast<u_char*>(p)[-1];
         if ((base == 2 && (c == 'b' || c == 'B')) || c == 'x' || c == 'X') {
           --p;
           (void)ungetc(c, fp);
@@ -676,7 +647,7 @@
             res = strtoimax(buf, nullptr, base);
           }
           if (flags & POINTER) {
-            *va_arg(ap, void**) = (void*)(uintptr_t)res;
+            *va_arg(ap, void**) = reinterpret_cast<void*>(res);
           } else if (flags & MAXINT) {
             *va_arg(ap, intmax_t*) = res;
           } else if (flags & LLONG) {
@@ -714,7 +685,7 @@
             float res = strtof(buf, &p);
             *va_arg(ap, float*) = res;
           }
-          if ((size_t)(p - buf) != width) abort();
+          if (static_cast<size_t>(p - buf) != width) abort();
           nassigned++;
         }
         nread += width;
diff --git a/libc/stdio/vfwprintf.cpp b/libc/stdio/vfwprintf.cpp
index 52ae64b..89e889e 100644
--- a/libc/stdio/vfwprintf.cpp
+++ b/libc/stdio/vfwprintf.cpp
@@ -39,9 +39,32 @@
 #define CHAR_TYPE_inf L"inf"
 #define CHAR_TYPE_NAN L"NAN"
 #define CHAR_TYPE_nan L"nan"
-#define CHAR_TYPE_ORIENTATION 1
+#define CHAR_TYPE_ORIENTATION ORIENT_CHARS
+
+#define PRINT(ptr, len)                                          \
+  do {                                                           \
+    for (int n3 = 0; n3 < (len); n3++) {                         \
+      if ((helpers::xfputwc((ptr)[n3], fp)) == WEOF) goto error; \
+    }                                                            \
+  } while (0)
+
+#define FLUSH()
+
 #include "printf_common.h"
 
+#define print_utf8(utf8, prec) \
+  do { \
+    free(convbuf); \
+    convbuf = helpers::mbsconv(utf8, prec); \
+    if (convbuf == nullptr) { \
+      fp->_flags |= __SERR; \
+      goto error; \
+    } else { \
+      cp = convbuf; \
+    } \
+    goto string; \
+  } while (0)
+
 int FUNCTION_NAME(FILE* fp, const CHAR_TYPE* fmt0, va_list ap) {
   int caller_errno = errno;
   int n, n2;
@@ -105,23 +128,16 @@
    * below longer.
    */
 #define PADSIZE 16 /* pad chunk size */
-  static CHAR_TYPE blanks[PADSIZE] = {
+  static const CHAR_TYPE blanks[PADSIZE] = {
     ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '
   };
-  static CHAR_TYPE zeroes[PADSIZE] = {
+  static const CHAR_TYPE zeroes[PADSIZE] = {
     '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0'
   };
 
   static const char xdigs_lower[] = "0123456789abcdef";
   static const char xdigs_upper[] = "0123456789ABCDEF";
 
-#define PRINT(ptr, len)                                   \
-  do {                                                    \
-    for (int n3 = 0; n3 < (len); n3++) {                      \
-      if ((helpers::xfputwc((ptr)[n3], fp)) == WEOF) goto error; \
-    }                                                     \
-  } while (0)
-
   _SET_ORIENTATION(fp, CHAR_TYPE_ORIENTATION);
 
   // Writing "" to a read only file returns EOF, not 0.
@@ -316,6 +332,7 @@
       case 'd':
       case 'i':
         _umax = SARG();
+signed_decimal:
         if ((intmax_t)_umax < 0) {
           _umax = -_umax;
           sign = '-';
@@ -352,10 +369,6 @@
         }
         if (prec < 0) prec = dtoaend - dtoaresult;
         if (expt == INT_MAX) ox[1] = '\0';
-        free(convbuf);
-        cp = convbuf = helpers::mbsconv(dtoaresult, -1);
-        if (cp == nullptr) goto error;
-        ndig = dtoaend - dtoaresult;
         goto fp_common;
       case 'e':
       case 'E':
@@ -392,11 +405,14 @@
           }
           if (expt == 9999) expt = INT_MAX;
         }
+      fp_common:
+#if CHAR_TYPE_ORIENTATION == ORIENT_BYTES
+        cp = dtoaresult;
+#else
         free(convbuf);
         cp = convbuf = helpers::mbsconv(dtoaresult, -1);
         if (cp == nullptr) goto error;
-        ndig = dtoaend - dtoaresult;
-      fp_common:
+#endif
         if (signflag) sign = '-';
         if (expt == INT_MAX) { /* inf or nan */
           if (*cp == 'N') {
@@ -409,6 +425,7 @@
           break;
         }
         flags |= FPT;
+        ndig = dtoaend - dtoaresult;
         if (ch == 'g' || ch == 'G') {
           if (expt > -4 && expt <= prec) {
             /* Make %[gG] smell like %[fF] */
@@ -444,16 +461,13 @@
       case 'n':
         __fortify_fatal("%%n not allowed on Android");
       case 'm':
-        free(convbuf);
-        convbuf = helpers::mbsconv(strerror_r(caller_errno,
-                                              reinterpret_cast<char*>(buf), sizeof(buf)), prec);
-        if (convbuf == nullptr) {
-            fp->_flags |= __SERR;
-            goto error;
-        } else {
-            cp = convbuf;
+        if (flags & ALT) {
+          const char* name = strerrorname_np(caller_errno);
+          if (name) print_utf8(name, prec);
+          _umax = caller_errno;
+          goto signed_decimal;
         }
-        goto string;
+        print_utf8(strerror_r(caller_errno, reinterpret_cast<char*>(buf), sizeof(buf)), prec);
       case 'O':
         flags |= LONGINT;
         __BIONIC_FALLTHROUGH;
@@ -483,14 +497,7 @@
         } else {
           char* mbsarg;
           if ((mbsarg = GETARG(char*)) == nullptr) mbsarg = const_cast<char*>("(null)");
-          free(convbuf);
-          convbuf = helpers::mbsconv(mbsarg, prec);
-          if (convbuf == nullptr) {
-            fp->_flags |= __SERR;
-            goto error;
-          } else {
-            cp = convbuf;
-          }
+          print_utf8(mbsarg, prec);
         }
   string:
         if (prec >= 0) {
@@ -510,34 +517,21 @@
         _umax = UARG();
         base = DEC;
         goto nosign;
-      case 'w':
+      case 'w': {
         n = 0;
+        bool fast = false;
         ch = *fmt++;
+        if (ch == 'f') {
+          fast = true;
+          ch = *fmt++;
+        }
         while (is_digit(ch)) {
           APPEND_DIGIT(n, ch);
           ch = *fmt++;
         }
-        switch (n) {
-          case 8: {
-            flags |= CHARINT;
-            goto reswitch;
-          }
-          case 16: {
-            flags |= SHORTINT;
-            goto reswitch;
-          }
-          case 32: {
-            goto reswitch;
-          }
-          case 64: {
-            flags |= LLONGINT;
-            goto reswitch;
-          }
-          default: {
-            __fortify_fatal("%%w%d is unsupported", n);
-            break;
-          }
-        }
+        flags |= helpers::w_to_flag(n, fast);
+        goto reswitch;
+      }
       case 'X':
         xdigs = xdigs_upper;
         goto hex;
@@ -662,6 +656,7 @@
     } else { /* glue together f_p fragments */
       if (decimal_point == nullptr) decimal_point = nl_langinfo(RADIXCHAR);
       if (!expchar) { /* %[fF] or sufficiently short %[gG] */
+        CHAR_TYPE* end = cp + ndig;
         if (expt <= 0) {
           PRINT(zeroes, 1);
           if (prec || flags & ALT) PRINT(decimal_point, 1);
@@ -669,11 +664,11 @@
           /* already handled initial 0's */
           prec += expt;
         } else {
-          PRINTANDPAD(cp, convbuf + ndig, lead, zeroes);
+          PRINTANDPAD(cp, end, lead, zeroes);
           cp += lead;
           if (prec || flags & ALT) PRINT(decimal_point, 1);
         }
-        PRINTANDPAD(cp, convbuf + ndig, prec, zeroes);
+        PRINTANDPAD(cp, end, prec, zeroes);
       } else { /* %[eE] or sufficiently long %[gG] */
         if (prec > 1 || flags & ALT) {
           buf[0] = *cp++;
@@ -694,8 +689,11 @@
     if (width < realsz) width = realsz;
     if (width > INT_MAX - ret) goto overflow;
     ret += width;
+
+    FLUSH(); /* copy out the I/O vectors */
   }
 done:
+  FLUSH();
 error:
   va_end(orgap);
   if (__sferror(fp)) ret = -1;
diff --git a/libc/stdio/vfwscanf.cpp b/libc/stdio/vfwscanf.cpp
index 06f706a..21d1783 100644
--- a/libc/stdio/vfwscanf.cpp
+++ b/libc/stdio/vfwscanf.cpp
@@ -31,61 +31,7 @@
  * SUCH DAMAGE.
  */
 
-#include <inttypes.h>
-#include <limits.h>
-#include <locale.h>
-#include <stdarg.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <wctype.h>
-#include "local.h"
-
-#include <platform/bionic/macros.h>
-
-#define BUF 513 /* Maximum length of numeric string. */
-
-/*
- * Flags used during conversion.
- */
-#define LONG 0x00001       /* l: long or double */
-#define LONGDBL 0x00002    /* L: long double */
-#define SHORT 0x00004      /* h: short */
-#define SHORTSHORT 0x00008 /* hh: 8 bit integer */
-#define LLONG 0x00010      /* ll: long long (+ deprecated q: quad) */
-#define POINTER 0x00020    /* p: void * (as hex) */
-#define SIZEINT 0x00040    /* z: (signed) size_t */
-#define MAXINT 0x00080     /* j: intmax_t */
-#define PTRINT 0x00100     /* t: ptrdiff_t */
-#define NOSKIP 0x00200     /* [ or c: do not skip blanks */
-#define SUPPRESS 0x00400   /* *: suppress assignment */
-#define UNSIGNED 0x00800   /* %[oupxX] conversions */
-
-/*
- * The following are used in numeric conversions only:
- * SIGNOK, HAVESIGN, NDIGITS, DPTOK, and EXPOK are for floating point;
- * SIGNOK, HAVESIGN, NDIGITS, PFXOK, and NZDIGITS are for integral.
- */
-#define SIGNOK   0x01000  /* +/- is (still) legal */
-#define HAVESIGN 0x02000 /* sign detected */
-#define NDIGITS  0x04000 /* no digits detected */
-
-#define DPTOK    0x08000 /* (float) decimal point is still legal */
-#define EXPOK    0x10000 /* (float) exponent (e+3, etc) still legal */
-
-#define PFBOK    0x20000 /* 0x prefix is (still) legal */
-#define PFXOK    0x40000 /* 0x prefix is (still) legal */
-#define NZDIGITS 0x80000 /* no zero digits detected */
-
-/*
- * Conversion types.
- */
-#define CT_CHAR 0   /* %c conversion */
-#define CT_CCL 1    /* %[...] conversion */
-#define CT_STRING 2 /* %s conversion */
-#define CT_INT 3    /* integer, i.e., strtoimax or strtoumax */
-#define CT_FLOAT 4  /* floating, i.e., strtod */
+#include "scanf_common.h"
 
 // An interpretive version of __sccl from vfscanf.c --- a table of all wchar_t values would
 // be a little too expensive, and some kind of compressed version isn't worth the trouble.
@@ -150,7 +96,7 @@
   char mbbuf[MB_LEN_MAX]; /* temporary mb. character buffer */
   mbstate_t mbs;
 
-  _SET_ORIENTATION(fp, 1);
+  _SET_ORIENTATION(fp, ORIENT_CHARS);
 
   nassigned = 0;
   nconversions = 0;
@@ -176,6 +122,7 @@
      */
   again:
     c = *fmt++;
+  reswitch:
     switch (c) {
       case '%':
       literal:
@@ -273,6 +220,22 @@
         base = 10;
         break;
 
+      case 'w': {
+        int size = 0;
+        bool fast = false;
+        c = *fmt++;
+        if (c == 'f') {
+          fast = true;
+          c = *fmt++;
+        }
+        while (is_digit(c)) {
+          APPEND_DIGIT(size, c);
+          c = *fmt++;
+        }
+        flags |= w_to_flag(size, fast);
+        goto reswitch;
+      }
+
       case 'X':
       case 'x':
         flags |= PFXOK; /* enable 0x prefixing */
@@ -373,7 +336,7 @@
           if (!(flags & SUPPRESS)) p = va_arg(ap, wchar_t*);
           n = 0;
           while (width-- != 0 && (wi = __fgetwc_unlock(fp)) != WEOF) {
-            if (!(flags & SUPPRESS)) *p++ = (wchar_t)wi;
+            if (!(flags & SUPPRESS)) *p++ = static_cast<wchar_t>(wi);
             n++;
           }
           if (n == 0) goto input_failure;
@@ -386,10 +349,10 @@
           while (width != 0 && (wi = __fgetwc_unlock(fp)) != WEOF) {
             if (width >= MB_CUR_MAX && !(flags & SUPPRESS)) {
               nconv = wcrtomb(mbp, wi, &mbs);
-              if (nconv == (size_t)-1) goto input_failure;
+              if (nconv == static_cast<size_t>(-1)) goto input_failure;
             } else {
               nconv = wcrtomb(mbbuf, wi, &mbs);
-              if (nconv == (size_t)-1) goto input_failure;
+              if (nconv == static_cast<size_t>(-1)) goto input_failure;
               if (nconv > width) {
                 __ungetwc(wi, fp);
                 break;
@@ -411,7 +374,7 @@
       case CT_STRING:
         // CT_CCL: scan a (nonempty) character class (sets NOSKIP).
         // CT_STRING: like CCL, but zero-length string OK, & no NOSKIP.
-        if (width == 0) width = (size_t)~0; // 'infinity'.
+        if (width == 0) width = SIZE_MAX; // 'infinity'.
         if ((flags & SUPPRESS) && (flags & LONG)) {
           n = 0;
           while ((wi = __fgetwc_unlock(fp)) != WEOF && width-- != 0 && ((c == CT_CCL && in_ccl(wi, ccl)) || (c == CT_STRING && !iswspace(wi)))) n++;
@@ -419,7 +382,7 @@
         } else if (flags & LONG) {
           p0 = p = va_arg(ap, wchar_t*);
           while ((wi = __fgetwc_unlock(fp)) != WEOF && width-- != 0 && ((c == CT_CCL && in_ccl(wi, ccl)) || (c == CT_STRING && !iswspace(wi)))) {
-            *p++ = (wchar_t)wi;
+            *p++ = static_cast<wchar_t>(wi);
           }
           if (wi != WEOF) __ungetwc(wi, fp);
           n = p - p0;
@@ -430,10 +393,10 @@
           while ((wi = __fgetwc_unlock(fp)) != WEOF && width != 0 && ((c == CT_CCL && in_ccl(wi, ccl)) || (c == CT_STRING && !iswspace(wi)))) {
             if (width >= MB_CUR_MAX && !(flags & SUPPRESS)) {
               nconv = wcrtomb(mbp, wi, &mbs);
-              if (nconv == (size_t)-1) goto input_failure;
+              if (nconv == static_cast<size_t>(-1)) goto input_failure;
             } else {
               nconv = wcrtomb(mbbuf, wi, &mbs);
-              if (nconv == (size_t)-1) goto input_failure;
+              if (nconv == static_cast<size_t>(-1)) goto input_failure;
               if (nconv > width) break;
               if (!(flags & SUPPRESS)) memcpy(mbp, mbbuf, nconv);
             }
@@ -523,7 +486,7 @@
             case 'e':
             case 'f':
               if (base == 0) base = 10;
-              if (base != 16 && (int)(c - '0') >= base) break; /* not legal here */
+              if (base != 16 && static_cast<int>(c - '0') >= base) break; /* not legal here */
               flags &= ~(SIGNOK | PFBOK | PFXOK | NDIGITS);
               goto ok;
 
@@ -561,7 +524,7 @@
           /*
            * c is legal: store it and look at the next.
            */
-          *p++ = (wchar_t)c;
+          *p++ = static_cast<wchar_t>(c);
         }
         /*
          * If we had only a sign, it is no good; push back the sign.
@@ -586,7 +549,7 @@
           else
             res = wcstoumax(buf, NULL, base);
           if (flags & POINTER)
-            *va_arg(ap, void**) = (void*)(uintptr_t)res;
+            *va_arg(ap, void**) = reinterpret_cast<void*>(res);
           else if (flags & MAXINT)
             *va_arg(ap, intmax_t*) = res;
           else if (flags & LLONG)
@@ -625,7 +588,7 @@
             float res = wcstof(buf, &p);
             *va_arg(ap, float*) = res;
           }
-          if (p - buf != (ptrdiff_t)width) abort();
+          if (static_cast<size_t>(p - buf) != width) abort();
           nassigned++;
         }
         nread += width;
diff --git a/libc/system_properties/Android.bp b/libc/system_properties/Android.bp
index af8bda9..e2fce34 100644
--- a/libc/system_properties/Android.bp
+++ b/libc/system_properties/Android.bp
@@ -1,4 +1,5 @@
 package {
+    default_team: "trendy_team_native_tools_libraries",
     // See: http://go/android-license-faq
     // A large-scale-change added 'default_applicable_licenses' to import
     // all of the 'license_kinds' from "bionic_libc_license"
@@ -10,7 +11,10 @@
 
 cc_library_static {
     name: "libsystemproperties",
-    defaults: ["libc_defaults"],
+    defaults: [
+        "libc_defaults",
+        "large_system_property_node_defaults",
+    ],
     native_bridge_supported: true,
     srcs: [
         "context_node.cpp",
@@ -32,6 +36,9 @@
         "bionic/libstdc++/include",
     ],
     export_include_dirs: ["include"],
+    apex_available: [
+        "com.android.runtime",
+    ],
 }
 
 cc_benchmark {
@@ -50,3 +57,11 @@
         "libasync_safe",
     ],
 }
+
+cc_defaults {
+    name: "large_system_property_node_defaults",
+    cflags: select(release_flag("RELEASE_LARGE_SYSTEM_PROPERTY_NODE"), {
+        true: ["-DLARGE_SYSTEM_PROPERTY_NODE=1"],
+        default: [],
+    }),
+}
diff --git a/libc/system_properties/context_lookup_benchmark_data.h b/libc/system_properties/context_lookup_benchmark_data.h
index b928875..1d7250c 100644
--- a/libc/system_properties/context_lookup_benchmark_data.h
+++ b/libc/system_properties/context_lookup_benchmark_data.h
@@ -321,7 +321,7 @@
 persist.vendor.         u:object_r:vendor_default_prop:s0
 vendor.                 u:object_r:vendor_default_prop:s0
 
-# Properties that relate to time / time zone detection behavior.
+# Properties that relate to time / timezone detection behavior.
 persist.time.           u:object_r:time_prop:s0
 
 # Properties that relate to server configurable flags
diff --git a/libc/system_properties/context_node.cpp b/libc/system_properties/context_node.cpp
index d392c0a..572bf97 100644
--- a/libc/system_properties/context_node.cpp
+++ b/libc/system_properties/context_node.cpp
@@ -49,17 +49,11 @@
     return true;
   }
 
-  char filename[PROP_FILENAME_MAX];
-  int len = async_safe_format_buffer(filename, sizeof(filename), "%s/%s", filename_, context_);
-  if (len < 0 || len >= PROP_FILENAME_MAX) {
-    lock_.unlock();
-    return false;
-  }
-
+  PropertiesFilename filename(filename_, context_);
   if (access_rw) {
-    pa_ = prop_area::map_prop_area_rw(filename, context_, fsetxattr_failed);
+    pa_ = prop_area::map_prop_area_rw(filename.c_str(), context_, fsetxattr_failed);
   } else {
-    pa_ = prop_area::map_prop_area(filename);
+    pa_ = prop_area::map_prop_area(filename.c_str());
   }
   lock_.unlock();
   return pa_;
@@ -84,13 +78,8 @@
 }
 
 bool ContextNode::CheckAccess() {
-  char filename[PROP_FILENAME_MAX];
-  int len = async_safe_format_buffer(filename, sizeof(filename), "%s/%s", filename_, context_);
-  if (len < 0 || len >= PROP_FILENAME_MAX) {
-    return false;
-  }
-
-  return access(filename, R_OK) == 0;
+  PropertiesFilename filename(filename_, context_);
+  return access(filename.c_str(), R_OK) == 0;
 }
 
 void ContextNode::Unmap() {
diff --git a/libc/system_properties/contexts_serialized.cpp b/libc/system_properties/contexts_serialized.cpp
index 6ccd46c..73c9136 100644
--- a/libc/system_properties/contexts_serialized.cpp
+++ b/libc/system_properties/contexts_serialized.cpp
@@ -38,6 +38,7 @@
 #include <new>
 
 #include <async_safe/log.h>
+#include <private/android_filesystem_config.h>
 
 #include "system_properties/system_properties.h"
 
@@ -59,31 +60,28 @@
   context_nodes_mmap_size_ = context_nodes_mmap_size;
 
   for (size_t i = 0; i < num_context_nodes; ++i) {
-    new (&context_nodes_[i]) ContextNode(property_info_area_file_->context(i), filename_);
+    new (&context_nodes_[i]) ContextNode(property_info_area_file_->context(i), dirname_);
   }
 
   return true;
 }
 
 bool ContextsSerialized::MapSerialPropertyArea(bool access_rw, bool* fsetxattr_failed) {
-  char filename[PROP_FILENAME_MAX];
-  int len = async_safe_format_buffer(filename, sizeof(filename), "%s/properties_serial", filename_);
-  if (len < 0 || len >= PROP_FILENAME_MAX) {
-    serial_prop_area_ = nullptr;
-    return false;
-  }
-
   if (access_rw) {
-    serial_prop_area_ =
-        prop_area::map_prop_area_rw(filename, "u:object_r:properties_serial:s0", fsetxattr_failed);
+    serial_prop_area_ = prop_area::map_prop_area_rw(
+        serial_filename_.c_str(), "u:object_r:properties_serial:s0", fsetxattr_failed);
   } else {
-    serial_prop_area_ = prop_area::map_prop_area(filename);
+    serial_prop_area_ = prop_area::map_prop_area(serial_filename_.c_str());
   }
   return serial_prop_area_;
 }
 
-bool ContextsSerialized::InitializeProperties() {
-  if (!property_info_area_file_.LoadDefaultPath()) {
+// Note: load_default_path is only used for testing, as it will cause properties to be loaded from
+// one file (specified by PropertyInfoAreaFile.LoadDefaultPath), but be written to "filename".
+bool ContextsSerialized::InitializeProperties(bool load_default_path) {
+  if (load_default_path && !property_info_area_file_.LoadDefaultPath()) {
+    return false;
+  } else if (!load_default_path && !property_info_area_file_.LoadPath(tree_filename_.c_str())) {
     return false;
   }
 
@@ -95,14 +93,20 @@
   return true;
 }
 
-bool ContextsSerialized::Initialize(bool writable, const char* filename, bool* fsetxattr_failed) {
-  filename_ = filename;
-  if (!InitializeProperties()) {
+// Note: load_default_path is only used for testing, as it will cause properties to be loaded from
+// one file (specified by PropertyInfoAreaFile.LoadDefaultPath), but be written to "filename".
+bool ContextsSerialized::Initialize(bool writable, const char* dirname, bool* fsetxattr_failed,
+                                    bool load_default_path) {
+  dirname_ = dirname;
+  tree_filename_ = PropertiesFilename(dirname, "property_info");
+  serial_filename_ = PropertiesFilename(dirname, "properties_serial");
+
+  if (!InitializeProperties(load_default_path)) {
     return false;
   }
 
   if (writable) {
-    mkdir(filename_, S_IRWXU | S_IXGRP | S_IXOTH);
+    mkdir(dirname_, S_IRWXU | S_IXGRP | S_IXOTH);
     bool open_failed = false;
     if (fsetxattr_failed) {
       *fsetxattr_failed = false;
diff --git a/libc/system_properties/contexts_split.cpp b/libc/system_properties/contexts_split.cpp
index 7ba835a..78bdc64 100644
--- a/libc/system_properties/contexts_split.cpp
+++ b/libc/system_properties/contexts_split.cpp
@@ -192,18 +192,12 @@
 }
 
 bool ContextsSplit::MapSerialPropertyArea(bool access_rw, bool* fsetxattr_failed) {
-  char filename[PROP_FILENAME_MAX];
-  int len = async_safe_format_buffer(filename, sizeof(filename), "%s/properties_serial", filename_);
-  if (len < 0 || len >= PROP_FILENAME_MAX) {
-    serial_prop_area_ = nullptr;
-    return false;
-  }
-
+  PropertiesFilename filename(filename_, "properties_serial");
   if (access_rw) {
-    serial_prop_area_ =
-        prop_area::map_prop_area_rw(filename, "u:object_r:properties_serial:s0", fsetxattr_failed);
+    serial_prop_area_ = prop_area::map_prop_area_rw(
+        filename.c_str(), "u:object_r:properties_serial:s0", fsetxattr_failed);
   } else {
-    serial_prop_area_ = prop_area::map_prop_area(filename);
+    serial_prop_area_ = prop_area::map_prop_area(filename.c_str());
   }
   return serial_prop_area_;
 }
@@ -287,7 +281,7 @@
   return true;
 }
 
-bool ContextsSplit::Initialize(bool writable, const char* filename, bool* fsetxattr_failed) {
+bool ContextsSplit::Initialize(bool writable, const char* filename, bool* fsetxattr_failed, bool) {
   filename_ = filename;
   if (!InitializeProperties()) {
     return false;
diff --git a/libc/system_properties/include/system_properties/contexts.h b/libc/system_properties/include/system_properties/contexts.h
index 670f808..df8c5a2 100644
--- a/libc/system_properties/include/system_properties/contexts.h
+++ b/libc/system_properties/include/system_properties/contexts.h
@@ -36,7 +36,8 @@
   virtual ~Contexts() {
   }
 
-  virtual bool Initialize(bool writable, const char* filename, bool* fsetxattr_failed) = 0;
+  virtual bool Initialize(bool writable, const char* filename, bool* fsetxattr_failed,
+                          bool load_default_path = false) = 0;
   virtual prop_area* GetPropAreaForName(const char* name) = 0;
   virtual prop_area* GetSerialPropArea() = 0;
   virtual void ForEach(void (*propfn)(const prop_info* pi, void* cookie), void* cookie) = 0;
diff --git a/libc/system_properties/include/system_properties/contexts_pre_split.h b/libc/system_properties/include/system_properties/contexts_pre_split.h
index 6e695e9..a6cd039 100644
--- a/libc/system_properties/include/system_properties/contexts_pre_split.h
+++ b/libc/system_properties/include/system_properties/contexts_pre_split.h
@@ -38,7 +38,7 @@
   }
 
   // We'll never initialize this legacy option as writable, so don't even check the arg.
-  virtual bool Initialize(bool, const char* filename, bool*) override {
+  virtual bool Initialize(bool, const char* filename, bool*, bool) override {
     pre_split_prop_area_ = prop_area::map_prop_area(filename);
     return pre_split_prop_area_ != nullptr;
   }
diff --git a/libc/system_properties/include/system_properties/contexts_serialized.h b/libc/system_properties/include/system_properties/contexts_serialized.h
index 93d6ac1..8bb0b11 100644
--- a/libc/system_properties/include/system_properties/contexts_serialized.h
+++ b/libc/system_properties/include/system_properties/contexts_serialized.h
@@ -32,13 +32,15 @@
 
 #include "context_node.h"
 #include "contexts.h"
+#include "properties_filename.h"
 
 class ContextsSerialized : public Contexts {
  public:
   virtual ~ContextsSerialized() override {
   }
 
-  virtual bool Initialize(bool writable, const char* filename, bool* fsetxattr_failed) override;
+  virtual bool Initialize(bool writable, const char* dirname, bool* fsetxattr_failed,
+                          bool load_default_path) override;
   virtual prop_area* GetPropAreaForName(const char* name) override;
   virtual prop_area* GetSerialPropArea() override {
     return serial_prop_area_;
@@ -49,10 +51,12 @@
 
  private:
   bool InitializeContextNodes();
-  bool InitializeProperties();
+  bool InitializeProperties(bool load_default_path);
   bool MapSerialPropertyArea(bool access_rw, bool* fsetxattr_failed);
 
-  const char* filename_;
+  const char* dirname_;
+  PropertiesFilename tree_filename_;
+  PropertiesFilename serial_filename_;
   android::properties::PropertyInfoAreaFile property_info_area_file_;
   ContextNode* context_nodes_ = nullptr;
   size_t num_context_nodes_ = 0;
diff --git a/libc/system_properties/include/system_properties/contexts_split.h b/libc/system_properties/include/system_properties/contexts_split.h
index 1d954cc..321cfd2 100644
--- a/libc/system_properties/include/system_properties/contexts_split.h
+++ b/libc/system_properties/include/system_properties/contexts_split.h
@@ -38,7 +38,8 @@
   virtual ~ContextsSplit() override {
   }
 
-  virtual bool Initialize(bool writable, const char* filename, bool* fsetxattr_failed) override;
+  virtual bool Initialize(bool writable, const char* filename, bool* fsetxattr_failed,
+                          bool) override;
   virtual prop_area* GetPropAreaForName(const char* name) override;
   virtual prop_area* GetSerialPropArea() override {
     return serial_prop_area_;
diff --git a/libc/system_properties/include/system_properties/prop_area.h b/libc/system_properties/include/system_properties/prop_area.h
index e32a8d7..089cf52 100644
--- a/libc/system_properties/include/system_properties/prop_area.h
+++ b/libc/system_properties/include/system_properties/prop_area.h
@@ -53,14 +53,14 @@
 //                  +-----+   +-----+     +-----+            +===========+
 
 // Represents a node in the trie.
-struct prop_bt {
+struct prop_trie_node {
   uint32_t namelen;
 
   // The property trie is updated only by the init process (single threaded) which provides
   // property service. And it can be read by multiple threads at the same time.
   // As the property trie is not protected by locks, we use atomic_uint_least32_t types for the
   // left, right, children "pointers" in the trie node. To make sure readers who see the
-  // change of "pointers" can also notice the change of prop_bt structure contents pointed by
+  // change of "pointers" can also notice the change of prop_trie_node structure contents pointed by
   // the "pointers", we always use release-consume ordering pair when accessing these "pointers".
 
   // prop "points" to prop_info structure if there is a propery associated with the trie node.
@@ -79,14 +79,14 @@
 
   char name[0];
 
-  prop_bt(const char* name, const uint32_t name_length) {
+  prop_trie_node(const char* name, const uint32_t name_length) {
     this->namelen = name_length;
     memcpy(this->name, name, name_length);
     this->name[name_length] = '\0';
   }
 
  private:
-  BIONIC_DISALLOW_COPY_AND_ASSIGN(prop_bt);
+  BIONIC_DISALLOW_COPY_AND_ASSIGN(prop_trie_node);
 };
 
 class prop_area {
@@ -102,10 +102,10 @@
   }
 
   prop_area(const uint32_t magic, const uint32_t version) : magic_(magic), version_(version) {
-    atomic_init(&serial_, 0u);
+    atomic_store_explicit(&serial_, 0u, memory_order_relaxed);
     memset(reserved_, 0, sizeof(reserved_));
     // Allocate enough space for the root node.
-    bytes_used_ = sizeof(prop_bt);
+    bytes_used_ = sizeof(prop_trie_node);
     // To make property reads wait-free, we reserve a
     // PROP_VALUE_MAX-sized block of memory, the "dirty backup area",
     // just after the root node. When we're about to modify a
@@ -136,30 +136,29 @@
   uint32_t version() const {
     return version_;
   }
-  char* dirty_backup_area() {
-    return data_ + sizeof (prop_bt);
-  }
+  char* dirty_backup_area() { return data_ + sizeof(prop_trie_node); }
 
  private:
   static prop_area* map_fd_ro(const int fd);
 
   void* allocate_obj(const size_t size, uint_least32_t* const off);
-  prop_bt* new_prop_bt(const char* name, uint32_t namelen, uint_least32_t* const off);
+  prop_trie_node* new_prop_trie_node(const char* name, uint32_t namelen, uint_least32_t* const off);
   prop_info* new_prop_info(const char* name, uint32_t namelen, const char* value, uint32_t valuelen,
                            uint_least32_t* const off);
   void* to_prop_obj(uint_least32_t off);
-  prop_bt* to_prop_bt(atomic_uint_least32_t* off_p);
+  prop_trie_node* to_prop_trie_node(atomic_uint_least32_t* off_p);
   prop_info* to_prop_info(atomic_uint_least32_t* off_p);
 
-  prop_bt* root_node();
+  prop_trie_node* root_node();
 
-  prop_bt* find_prop_bt(prop_bt* const bt, const char* name, uint32_t namelen, bool alloc_if_needed);
+  prop_trie_node* find_prop_trie_node(prop_trie_node* const trie, const char* name,
+                                      uint32_t namelen, bool alloc_if_needed);
 
-  const prop_info* find_property(prop_bt* const trie, const char* name, uint32_t namelen,
+  const prop_info* find_property(prop_trie_node* const trie, const char* name, uint32_t namelen,
                                  const char* value, uint32_t valuelen, bool alloc_if_needed);
 
-  bool foreach_property(prop_bt* const trie, void (*propfn)(const prop_info* pi, void* cookie),
-                        void* cookie);
+  bool foreach_property(prop_trie_node* const trie,
+                        void (*propfn)(const prop_info* pi, void* cookie), void* cookie);
 
   // The original design doesn't include pa_size or pa_data_size in the prop_area struct itself.
   // Since we'll need to be backwards compatible with that design, we don't gain much by adding it
diff --git a/libc/system_properties/include/system_properties/prop_info.h b/libc/system_properties/include/system_properties/prop_info.h
index 3ebe7c5..e2236b0 100644
--- a/libc/system_properties/include/system_properties/prop_info.h
+++ b/libc/system_properties/include/system_properties/prop_info.h
@@ -45,14 +45,14 @@
   // Read only properties will not set anything but the bottom most bit of serial and the top byte.
   // We borrow the 2nd from the top byte for extra flags, and use the bottom most bit of that for
   // our first user, kLongFlag.
-  constexpr static uint32_t kLongFlag = 1 << 16;
+  static constexpr uint32_t kLongFlag = 1 << 16;
 
   // The error message fits in part of a union with the previous 92 char property value so there
   // must be room left over after the error message for the offset to the new longer property value
   // and future expansion fields if needed. Note that this value cannot ever increase.  The offset
   // to the new longer property value appears immediately after it, so an increase of this size will
   // break compatibility.
-  constexpr static size_t kLongLegacyErrorBufferSize = 56;
+  static constexpr size_t kLongLegacyErrorBufferSize = 56;
 
  public:
   atomic_uint_least32_t serial;
diff --git a/libm/fenv-access.h b/libc/system_properties/include/system_properties/properties_filename.h
similarity index 63%
copy from libm/fenv-access.h
copy to libc/system_properties/include/system_properties/properties_filename.h
index 7acb34d..743d291 100644
--- a/libm/fenv-access.h
+++ b/libc/system_properties/include/system_properties/properties_filename.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2023 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,26 @@
 
 #pragma once
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
-#endif
+#include <stdint.h>
+
+class PropertiesFilename {
+ public:
+  PropertiesFilename() = default;
+  PropertiesFilename(const char* dir, const char* file) {
+    if (snprintf(filename_, sizeof(filename_), "%s/%s", dir, file) >=
+        static_cast<int>(sizeof(filename_))) {
+      abort();
+    }
+  }
+  void operator=(const char* value) {
+    if (strlen(value) >= sizeof(filename_)) abort();
+    strcpy(filename_, value);
+  }
+  const char* c_str() { return filename_; }
+
+ private:
+  // Typically something like "/dev/__properties__/properties_serial", but can be as long as
+  // "/data/local/tmp/TemporaryDir-fntJb8/appcompat_override/u:object_r:PROPERTY_NAME_prop:s0"
+  // when running CTS.
+  char filename_[256];
+};
diff --git a/libc/system_properties/include/system_properties/system_properties.h b/libc/system_properties/include/system_properties/system_properties.h
index 0666e28..ea4f339 100644
--- a/libc/system_properties/include/system_properties/system_properties.h
+++ b/libc/system_properties/include/system_properties/system_properties.h
@@ -28,7 +28,6 @@
 
 #pragma once
 
-#include <stdint.h>
 #include <sys/param.h>
 #include <sys/system_properties.h>
 
@@ -37,8 +36,6 @@
 #include "contexts_serialized.h"
 #include "contexts_split.h"
 
-constexpr int PROP_FILENAME_MAX = 1024;
-
 class SystemProperties {
  public:
   friend struct LocalPropertyTestState;
@@ -55,7 +52,9 @@
   BIONIC_DISALLOW_COPY_AND_ASSIGN(SystemProperties);
 
   bool Init(const char* filename);
+  bool Reload(bool load_default_path);
   bool AreaInit(const char* filename, bool* fsetxattr_failed);
+  bool AreaInit(const char* filename, bool* fsetxattr_failed, bool load_default_path);
   uint32_t AreaSerial();
   const prop_info* Find(const char* name);
   int Read(const prop_info* pi, char* name, char* value);
@@ -83,8 +82,14 @@
   static constexpr size_t kMaxContextsSize =
       MAX(sizeof(ContextsSerialized), MAX(sizeof(ContextsSplit), sizeof(ContextsPreSplit)));
   alignas(kMaxContextsAlign) char contexts_data_[kMaxContextsSize];
+  alignas(kMaxContextsAlign) char appcompat_override_contexts_data_[kMaxContextsSize];
   Contexts* contexts_;
+  // See http://b/291816546#comment#3 for more explanation of appcompat_override
+  Contexts* appcompat_override_contexts_;
+
+  bool InitContexts(bool load_default_path);
 
   bool initialized_;
-  char property_filename_[PROP_FILENAME_MAX];
+  PropertiesFilename properties_filename_;
+  PropertiesFilename appcompat_filename_;
 };
diff --git a/libc/system_properties/prop_area.cpp b/libc/system_properties/prop_area.cpp
index 42bee9f..9b153ca 100644
--- a/libc/system_properties/prop_area.cpp
+++ b/libc/system_properties/prop_area.cpp
@@ -41,7 +41,11 @@
 
 #include <async_safe/log.h>
 
+#ifdef LARGE_SYSTEM_PROPERTY_NODE
+constexpr size_t PA_SIZE = 1024 * 1024;
+#else
 constexpr size_t PA_SIZE = 128 * 1024;
+#endif
 constexpr uint32_t PROP_AREA_MAGIC = 0x504f5250;
 constexpr uint32_t PROP_AREA_VERSION = 0xfc6ed0ab;
 
@@ -154,16 +158,15 @@
   return data_ + *off;
 }
 
-prop_bt* prop_area::new_prop_bt(const char* name, uint32_t namelen, uint_least32_t* const off) {
+prop_trie_node* prop_area::new_prop_trie_node(const char* name, uint32_t namelen,
+                                              uint_least32_t* const off) {
   uint_least32_t new_offset;
-  void* const p = allocate_obj(sizeof(prop_bt) + namelen + 1, &new_offset);
-  if (p != nullptr) {
-    prop_bt* bt = new (p) prop_bt(name, namelen);
-    *off = new_offset;
-    return bt;
-  }
+  void* const p = allocate_obj(sizeof(prop_trie_node) + namelen + 1, &new_offset);
+  if (p == nullptr) return nullptr;
 
-  return nullptr;
+  prop_trie_node* node = new (p) prop_trie_node(name, namelen);
+  *off = new_offset;
+  return node;
 }
 
 prop_info* prop_area::new_prop_info(const char* name, uint32_t namelen, const char* value,
@@ -200,9 +203,9 @@
   return (data_ + off);
 }
 
-inline prop_bt* prop_area::to_prop_bt(atomic_uint_least32_t* off_p) {
+inline prop_trie_node* prop_area::to_prop_trie_node(atomic_uint_least32_t* off_p) {
   uint_least32_t off = atomic_load_explicit(off_p, memory_order_consume);
-  return reinterpret_cast<prop_bt*>(to_prop_obj(off));
+  return reinterpret_cast<prop_trie_node*>(to_prop_obj(off));
 }
 
 inline prop_info* prop_area::to_prop_info(atomic_uint_least32_t* off_p) {
@@ -210,8 +213,8 @@
   return reinterpret_cast<prop_info*>(to_prop_obj(off));
 }
 
-inline prop_bt* prop_area::root_node() {
-  return reinterpret_cast<prop_bt*>(to_prop_obj(0));
+inline prop_trie_node* prop_area::root_node() {
+  return reinterpret_cast<prop_trie_node*>(to_prop_obj(0));
 }
 
 static int cmp_prop_name(const char* one, uint32_t one_len, const char* two, uint32_t two_len) {
@@ -223,9 +226,9 @@
     return strncmp(one, two, one_len);
 }
 
-prop_bt* prop_area::find_prop_bt(prop_bt* const bt, const char* name, uint32_t namelen,
-                                 bool alloc_if_needed) {
-  prop_bt* current = bt;
+prop_trie_node* prop_area::find_prop_trie_node(prop_trie_node* const trie, const char* name,
+                                               uint32_t namelen, bool alloc_if_needed) {
+  prop_trie_node* current = trie;
   while (true) {
     if (!current) {
       return nullptr;
@@ -239,46 +242,46 @@
     if (ret < 0) {
       uint_least32_t left_offset = atomic_load_explicit(&current->left, memory_order_relaxed);
       if (left_offset != 0) {
-        current = to_prop_bt(&current->left);
+        current = to_prop_trie_node(&current->left);
       } else {
         if (!alloc_if_needed) {
           return nullptr;
         }
 
         uint_least32_t new_offset;
-        prop_bt* new_bt = new_prop_bt(name, namelen, &new_offset);
-        if (new_bt) {
+        prop_trie_node* new_node = new_prop_trie_node(name, namelen, &new_offset);
+        if (new_node) {
           atomic_store_explicit(&current->left, new_offset, memory_order_release);
         }
-        return new_bt;
+        return new_node;
       }
     } else {
       uint_least32_t right_offset = atomic_load_explicit(&current->right, memory_order_relaxed);
       if (right_offset != 0) {
-        current = to_prop_bt(&current->right);
+        current = to_prop_trie_node(&current->right);
       } else {
         if (!alloc_if_needed) {
           return nullptr;
         }
 
         uint_least32_t new_offset;
-        prop_bt* new_bt = new_prop_bt(name, namelen, &new_offset);
-        if (new_bt) {
+        prop_trie_node* new_node = new_prop_trie_node(name, namelen, &new_offset);
+        if (new_node) {
           atomic_store_explicit(&current->right, new_offset, memory_order_release);
         }
-        return new_bt;
+        return new_node;
       }
     }
   }
 }
 
-const prop_info* prop_area::find_property(prop_bt* const trie, const char* name, uint32_t namelen,
-                                          const char* value, uint32_t valuelen,
+const prop_info* prop_area::find_property(prop_trie_node* const trie, const char* name,
+                                          uint32_t namelen, const char* value, uint32_t valuelen,
                                           bool alloc_if_needed) {
   if (!trie) return nullptr;
 
   const char* remaining_name = name;
-  prop_bt* current = trie;
+  prop_trie_node* current = trie;
   while (true) {
     const char* sep = strchr(remaining_name, '.');
     const bool want_subtree = (sep != nullptr);
@@ -288,13 +291,13 @@
       return nullptr;
     }
 
-    prop_bt* root = nullptr;
+    prop_trie_node* root = nullptr;
     uint_least32_t children_offset = atomic_load_explicit(&current->children, memory_order_relaxed);
     if (children_offset != 0) {
-      root = to_prop_bt(&current->children);
+      root = to_prop_trie_node(&current->children);
     } else if (alloc_if_needed) {
       uint_least32_t new_offset;
-      root = new_prop_bt(remaining_name, substr_size, &new_offset);
+      root = new_prop_trie_node(remaining_name, substr_size, &new_offset);
       if (root) {
         atomic_store_explicit(&current->children, new_offset, memory_order_release);
       }
@@ -304,7 +307,7 @@
       return nullptr;
     }
 
-    current = find_prop_bt(root, remaining_name, substr_size, alloc_if_needed);
+    current = find_prop_trie_node(root, remaining_name, substr_size, alloc_if_needed);
     if (!current) {
       return nullptr;
     }
@@ -330,14 +333,13 @@
   }
 }
 
-bool prop_area::foreach_property(prop_bt* const trie,
+bool prop_area::foreach_property(prop_trie_node* const trie,
                                  void (*propfn)(const prop_info* pi, void* cookie), void* cookie) {
   if (!trie) return false;
 
   uint_least32_t left_offset = atomic_load_explicit(&trie->left, memory_order_relaxed);
   if (left_offset != 0) {
-    const int err = foreach_property(to_prop_bt(&trie->left), propfn, cookie);
-    if (err < 0) return false;
+    if (!foreach_property(to_prop_trie_node(&trie->left), propfn, cookie)) return false;
   }
   uint_least32_t prop_offset = atomic_load_explicit(&trie->prop, memory_order_relaxed);
   if (prop_offset != 0) {
@@ -347,13 +349,11 @@
   }
   uint_least32_t children_offset = atomic_load_explicit(&trie->children, memory_order_relaxed);
   if (children_offset != 0) {
-    const int err = foreach_property(to_prop_bt(&trie->children), propfn, cookie);
-    if (err < 0) return false;
+    if (!foreach_property(to_prop_trie_node(&trie->children), propfn, cookie)) return false;
   }
   uint_least32_t right_offset = atomic_load_explicit(&trie->right, memory_order_relaxed);
   if (right_offset != 0) {
-    const int err = foreach_property(to_prop_bt(&trie->right), propfn, cookie);
-    if (err < 0) return false;
+    if (!foreach_property(to_prop_trie_node(&trie->right), propfn, cookie)) return false;
   }
 
   return true;
@@ -368,6 +368,6 @@
   return find_property(root_node(), name, namelen, value, valuelen, true);
 }
 
-bool prop_area::foreach (void (*propfn)(const prop_info* pi, void* cookie), void* cookie) {
+bool prop_area::foreach(void (*propfn)(const prop_info* pi, void* cookie), void* cookie) {
   return foreach_property(root_node(), propfn, cookie);
 }
diff --git a/libc/system_properties/prop_info.cpp b/libc/system_properties/prop_info.cpp
index 890d1cf..499b36a 100644
--- a/libc/system_properties/prop_info.cpp
+++ b/libc/system_properties/prop_info.cpp
@@ -30,7 +30,7 @@
 
 #include <string.h>
 
-constexpr static const char kLongLegacyError[] =
+static constexpr const char kLongLegacyError[] =
     "Must use __system_property_read_callback() to read";
 static_assert(sizeof(kLongLegacyError) < prop_info::kLongLegacyErrorBufferSize,
               "Error message for long properties read by legacy libc must fit within 56 chars");
@@ -38,7 +38,7 @@
 prop_info::prop_info(const char* name, uint32_t namelen, const char* value, uint32_t valuelen) {
   memcpy(this->name, name, namelen);
   this->name[namelen] = '\0';
-  atomic_init(&this->serial, valuelen << 24);
+  atomic_store_explicit(&this->serial, valuelen << 24, memory_order_relaxed);
   memcpy(this->value, value, valuelen);
   this->value[valuelen] = '\0';
 }
@@ -48,7 +48,7 @@
   this->name[namelen] = '\0';
 
   auto error_value_len = sizeof(kLongLegacyError) - 1;
-  atomic_init(&this->serial, error_value_len << 24 | kLongFlag);
+  atomic_store_explicit(&this->serial, error_value_len << 24 | kLongFlag, memory_order_relaxed);
   memcpy(this->long_property.error_message, kLongLegacyError, sizeof(kLongLegacyError));
 
   this->long_property.offset = long_offset;
diff --git a/libc/system_properties/system_properties.cpp b/libc/system_properties/system_properties.cpp
index 1cb15c3..e0d38a8 100644
--- a/libc/system_properties/system_properties.cpp
+++ b/libc/system_properties/system_properties.cpp
@@ -29,6 +29,7 @@
 #include "system_properties/system_properties.h"
 
 #include <errno.h>
+#include <private/android_filesystem_config.h>
 #include <stdatomic.h>
 #include <stdlib.h>
 #include <string.h>
@@ -38,6 +39,7 @@
 
 #include <new>
 
+#include <async_safe/CHECK.h>
 #include <async_safe/log.h>
 
 #include "private/ErrnoRestorer.h"
@@ -49,6 +51,7 @@
 
 #define SERIAL_DIRTY(serial) ((serial)&1)
 #define SERIAL_VALUE_LEN(serial) ((serial) >> 24)
+#define APPCOMPAT_PREFIX "ro.appcompat_override."
 
 static bool is_dir(const char* pathname) {
   struct stat info;
@@ -67,47 +70,81 @@
     return true;
   }
 
-  if (strlen(filename) >= PROP_FILENAME_MAX) {
+  properties_filename_ = filename;
+
+  if (!InitContexts(false)) {
     return false;
   }
-  strcpy(property_filename_, filename);
 
-  if (is_dir(property_filename_)) {
-    if (access("/dev/__properties__/property_info", R_OK) == 0) {
-      contexts_ = new (contexts_data_) ContextsSerialized();
-      if (!contexts_->Initialize(false, property_filename_, nullptr)) {
+  initialized_ = true;
+  return true;
+}
+
+bool SystemProperties::InitContexts(bool load_default_path) {
+  if (is_dir(properties_filename_.c_str())) {
+    if (access(PROP_TREE_FILE, R_OK) == 0) {
+      auto serial_contexts = new (contexts_data_) ContextsSerialized();
+      contexts_ = serial_contexts;
+      if (!serial_contexts->Initialize(false, properties_filename_.c_str(), nullptr,
+                                       load_default_path)) {
         return false;
       }
     } else {
       contexts_ = new (contexts_data_) ContextsSplit();
-      if (!contexts_->Initialize(false, property_filename_, nullptr)) {
+      if (!contexts_->Initialize(false, properties_filename_.c_str(), nullptr)) {
         return false;
       }
     }
   } else {
     contexts_ = new (contexts_data_) ContextsPreSplit();
-    if (!contexts_->Initialize(false, property_filename_, nullptr)) {
+    if (!contexts_->Initialize(false, properties_filename_.c_str(), nullptr)) {
       return false;
     }
   }
-  initialized_ = true;
   return true;
 }
 
 bool SystemProperties::AreaInit(const char* filename, bool* fsetxattr_failed) {
-  if (strlen(filename) >= PROP_FILENAME_MAX) {
-    return false;
-  }
-  strcpy(property_filename_, filename);
+  return AreaInit(filename, fsetxattr_failed, false);
+}
 
-  contexts_ = new (contexts_data_) ContextsSerialized();
-  if (!contexts_->Initialize(true, property_filename_, fsetxattr_failed)) {
+// Note: load_default_path is only used for testing, as it will cause properties to be loaded from
+// one file (specified by PropertyInfoAreaFile.LoadDefaultPath), but be written to "filename".
+bool SystemProperties::AreaInit(const char* filename, bool* fsetxattr_failed,
+                                bool load_default_path) {
+  properties_filename_ = filename;
+  auto serial_contexts = new (contexts_data_) ContextsSerialized();
+  contexts_ = serial_contexts;
+  if (!serial_contexts->Initialize(true, properties_filename_.c_str(), fsetxattr_failed,
+                                   load_default_path)) {
     return false;
   }
+
+  appcompat_filename_ = PropertiesFilename(properties_filename_.c_str(), "appcompat_override");
+  appcompat_override_contexts_ = nullptr;
+  if (access(appcompat_filename_.c_str(), F_OK) != -1) {
+    auto* appcompat_contexts = new (appcompat_override_contexts_data_) ContextsSerialized();
+    if (!appcompat_contexts->Initialize(true, appcompat_filename_.c_str(), fsetxattr_failed,
+                                        load_default_path)) {
+      // The appcompat folder exists, but initializing it failed
+      return false;
+    } else {
+      appcompat_override_contexts_ = appcompat_contexts;
+    }
+  }
+
   initialized_ = true;
   return true;
 }
 
+bool SystemProperties::Reload(bool load_default_path) {
+  if (!initialized_) {
+    return true;
+  }
+
+  return InitContexts(load_default_path);
+}
+
 uint32_t SystemProperties::AreaSerial() {
   if (!initialized_) {
     return -1;
@@ -136,6 +173,10 @@
   return pa->find(name);
 }
 
+static bool is_appcompat_override(const char* name) {
+  return strncmp(name, APPCOMPAT_PREFIX, strlen(APPCOMPAT_PREFIX)) == 0;
+}
+
 static bool is_read_only(const char* name) {
   return strncmp(name, "ro.", 3) == 0;
 }
@@ -234,16 +275,24 @@
   if (!initialized_) {
     return -1;
   }
+  bool have_override = appcompat_override_contexts_ != nullptr;
 
   prop_area* serial_pa = contexts_->GetSerialPropArea();
+  prop_area* override_serial_pa =
+      have_override ? appcompat_override_contexts_->GetSerialPropArea() : nullptr;
   if (!serial_pa) {
     return -1;
   }
   prop_area* pa = contexts_->GetPropAreaForName(pi->name);
+  prop_area* override_pa =
+      have_override ? appcompat_override_contexts_->GetPropAreaForName(pi->name) : nullptr;
   if (__predict_false(!pa)) {
     async_safe_format_log(ANDROID_LOG_ERROR, "libc", "Could not find area for \"%s\"", pi->name);
     return -1;
   }
+  CHECK(!have_override || (override_pa && override_serial_pa));
+
+  auto* override_pi = const_cast<prop_info*>(have_override ? override_pa->find(pi->name) : nullptr);
 
   uint32_t serial = atomic_load_explicit(&pi->serial, memory_order_relaxed);
   unsigned int old_len = SERIAL_VALUE_LEN(serial);
@@ -253,18 +302,34 @@
   // that we publish our dirty area update before allowing readers to see a
   // dirty serial.
   memcpy(pa->dirty_backup_area(), pi->value, old_len + 1);
+  if (have_override) {
+    memcpy(override_pa->dirty_backup_area(), override_pi->value, old_len + 1);
+  }
   atomic_thread_fence(memory_order_release);
   serial |= 1;
   atomic_store_explicit(&pi->serial, serial, memory_order_relaxed);
   strlcpy(pi->value, value, len + 1);
+  if (have_override) {
+    atomic_store_explicit(&override_pi->serial, serial, memory_order_relaxed);
+    strlcpy(override_pi->value, value, len + 1);
+  }
   // Now the primary value property area is up-to-date. Let readers know that they should
   // look at the property value instead of the backup area.
   atomic_thread_fence(memory_order_release);
-  atomic_store_explicit(&pi->serial, (len << 24) | ((serial + 1) & 0xffffff), memory_order_relaxed);
+  int new_serial = (len << 24) | ((serial + 1) & 0xffffff);
+  atomic_store_explicit(&pi->serial, new_serial, memory_order_relaxed);
+  if (have_override) {
+    atomic_store_explicit(&override_pi->serial, new_serial, memory_order_relaxed);
+  }
   __futex_wake(&pi->serial, INT32_MAX);  // Fence by side effect
   atomic_store_explicit(serial_pa->serial(),
                         atomic_load_explicit(serial_pa->serial(), memory_order_relaxed) + 1,
                         memory_order_release);
+  if (have_override) {
+    atomic_store_explicit(override_serial_pa->serial(),
+                          atomic_load_explicit(serial_pa->serial(), memory_order_relaxed) + 1,
+                          memory_order_release);
+  }
   __futex_wake(serial_pa->serial(), INT32_MAX);
 
   return 0;
@@ -272,34 +337,73 @@
 
 int SystemProperties::Add(const char* name, unsigned int namelen, const char* value,
                           unsigned int valuelen) {
-  if (valuelen >= PROP_VALUE_MAX && !is_read_only(name)) {
+  if (namelen < 1) {
+    async_safe_format_log(ANDROID_LOG_ERROR, "libc",
+                          "__system_property_add failed: name length 0");
     return -1;
   }
 
-  if (namelen < 1) {
+  if (valuelen >= PROP_VALUE_MAX && !is_read_only(name)) {
+    async_safe_format_log(ANDROID_LOG_ERROR, "libc",
+                          "__system_property_add failed: \"%s\" value too long: %d >= PROP_VALUE_MAX",
+                          name, valuelen);
     return -1;
   }
 
   if (!initialized_) {
+    async_safe_format_log(ANDROID_LOG_ERROR, "libc",
+                          "__system_property_add failed: properties not initialized");
     return -1;
   }
 
   prop_area* serial_pa = contexts_->GetSerialPropArea();
   if (serial_pa == nullptr) {
+    async_safe_format_log(ANDROID_LOG_ERROR, "libc",
+                          "__system_property_add failed: property area not found");
     return -1;
   }
 
   prop_area* pa = contexts_->GetPropAreaForName(name);
   if (!pa) {
-    async_safe_format_log(ANDROID_LOG_ERROR, "libc", "Access denied adding property \"%s\"", name);
+    async_safe_format_log(ANDROID_LOG_ERROR, "libc",
+                          "__system_property_add failed: access denied for \"%s\"", name);
     return -1;
   }
 
-  bool ret = pa->add(name, namelen, value, valuelen);
-  if (!ret) {
+  if (!pa->add(name, namelen, value, valuelen)) {
+    async_safe_format_log(ANDROID_LOG_ERROR, "libc",
+                          "__system_property_add failed: add failed for \"%s\"", name);
     return -1;
   }
 
+  if (appcompat_override_contexts_ != nullptr) {
+    bool is_override = is_appcompat_override(name);
+    const char* override_name = name;
+    if (is_override) override_name += strlen(APPCOMPAT_PREFIX);
+    prop_area* other_pa = appcompat_override_contexts_->GetPropAreaForName(override_name);
+    prop_area* other_serial_pa = appcompat_override_contexts_->GetSerialPropArea();
+    CHECK(other_pa && other_serial_pa);
+    // We may write a property twice to overrides, once for the ro.*, and again for the
+    // ro.appcompat_override.ro.* property. If we've already written, then we should essentially
+    // perform an Update, not an Add.
+    auto other_pi = const_cast<prop_info*>(other_pa->find(override_name));
+    if (!other_pi) {
+      if (other_pa->add(override_name, strlen(override_name), value, valuelen)) {
+        atomic_store_explicit(
+            other_serial_pa->serial(),
+            atomic_load_explicit(other_serial_pa->serial(), memory_order_relaxed) + 1,
+            memory_order_release);
+      }
+    } else if (is_override) {
+      // We already wrote the ro.*, but appcompat_override.ro.* should override that. We don't
+      // need to do the usual dirty bit setting, as this only happens during the init process,
+      // before any readers are started. Check that only init or root can write appcompat props.
+      CHECK(getpid() == 1 || getuid() == 0);
+      atomic_thread_fence(memory_order_release);
+      strlcpy(other_pi->value, value, valuelen + 1);
+    }
+  }
+
   // There is only a single mutator, but we want to make sure that
   // updates are visible to a reader waiting for the update.
   atomic_store_explicit(serial_pa->serial(),
diff --git a/libc/tools/generate_notice.py b/libc/tools/generate_notice.py
index e004d74..c998e32 100755
--- a/libc/tools/generate_notice.py
+++ b/libc/tools/generate_notice.py
@@ -33,6 +33,7 @@
         ".pyc",
         ".swp",
         ".txt",
+        ".xml",
     ]
     if path.suffix in uninteresting_extensions:
         return False
@@ -44,14 +45,6 @@
     return True
 
 
-def is_auto_generated(content):
-    if "Generated by gensyscalls.py" in content or "generated by genserv.py" in content:
-        return True
-    if "This header was automatically generated from a Linux kernel header" in content:
-        return True
-    return False
-
-
 def is_copyright_end(line: str, first_line_was_hash: bool) -> bool:
     endings = [
         " $FreeBSD: ",
@@ -116,8 +109,6 @@
         line = re.sub(r"^ \* ", "", line)
         line = line.replace("** ", "")
         line = line.replace("# ", "")
-        if "SPDX-License-Identifier:" in line:
-            continue
         if line.startswith("++Copyright++"):
             continue
         line = line.replace("--Copyright--", "")
@@ -152,10 +143,6 @@
         warn_verbose("ignoring short file %s" % path)
         return
 
-    if is_auto_generated(content):
-        warn_verbose("ignoring auto-generated file %s" % path)
-        return
-
     if not "Copyright" in content:
         if "public domain" in content.lower():
             warn_verbose("ignoring public domain file %s" % path)
diff --git a/libc/tools/gensyscalls.py b/libc/tools/gensyscalls.py
index 558b004..d7afe2a 100755
--- a/libc/tools/gensyscalls.py
+++ b/libc/tools/gensyscalls.py
@@ -27,7 +27,7 @@
 # ARM assembler templates for each syscall stub
 #
 
-arm_eabi_call_default = syscall_stub_header + """\
+arm_call_default = syscall_stub_header + """\
     mov     ip, r7
     .cfi_register r7, ip
     ldr     r7, =%(__NR_name)s
@@ -41,7 +41,7 @@
 END(%(func)s)
 """
 
-arm_eabi_call_long = syscall_stub_header + """\
+arm_call_long = syscall_stub_header + """\
     mov     ip, sp
     stmfd   sp!, {r4, r5, r6, r7}
     .cfi_def_cfa_offset 16
@@ -88,7 +88,7 @@
     ecall
 
     li      a7, -MAX_ERRNO
-    bgtu    a0, a7, 1f
+    bgeu    a0, a7, 1f
 
     ret
 1:
@@ -227,19 +227,14 @@
     aliases = syscall["aliases"]
     for alias in aliases:
         stub += "\nALIAS_SYMBOL(%s, %s)\n" % (alias, syscall["func"])
-
-    # Use hidden visibility on LP64 for any functions beginning with underscores.
-    if pointer_length == 64 and syscall["func"].startswith("__"):
-        stub += '.hidden ' + syscall["func"] + '\n'
-
     return stub
 
 
-def arm_eabi_genstub(syscall):
+def arm_genstub(syscall):
     num_regs = count_arm_param_registers(syscall["params"])
     if num_regs > 4:
-        return arm_eabi_call_long % syscall
-    return arm_eabi_call_default % syscall
+        return arm_call_long % syscall
+    return arm_call_default % syscall
 
 
 def arm64_genstub(syscall):
@@ -461,7 +456,7 @@
         syscall["__NR_name"] = make__NR_name(syscall["name"])
 
         if "arm" in syscall:
-            syscall["asm-arm"] = add_footer(32, arm_eabi_genstub(syscall), syscall)
+            syscall["asm-arm"] = add_footer(32, arm_genstub(syscall), syscall)
 
         if "arm64" in syscall:
             syscall["asm-arm64"] = add_footer(64, arm64_genstub(syscall), syscall)
diff --git a/libc/tzcode/asctime.c b/libc/tzcode/asctime.c
index ce5d4be..4cdfd13 100644
--- a/libc/tzcode/asctime.c
+++ b/libc/tzcode/asctime.c
@@ -17,12 +17,6 @@
 #include <stdio.h>
 
 /*
-** Some systems only handle "%.2d"; others only handle "%02d";
-** "%02.2d" makes (most) everybody happy.
-** At least some versions of gcc warn about the %02.2d;
-** we conditionalize below to avoid the warning.
-*/
-/*
 ** All years associated with 32-bit time_t values are exactly four digits long;
 ** some years associated with 64-bit time_t values are not.
 ** Vintage programs are coded for years that are always four digits long
@@ -34,24 +28,16 @@
 ** The ISO C and POSIX standards prohibit padding the year,
 ** but many implementations pad anyway; most likely the standards are buggy.
 */
-#ifdef __GNUC__
-#define ASCTIME_FMT	"%s %s%3d %2.2d:%2.2d:%2.2d %-4s\n"
-#else /* !defined __GNUC__ */
-#define ASCTIME_FMT	"%s %s%3d %02.2d:%02.2d:%02.2d %-4s\n"
-#endif /* !defined __GNUC__ */
+static char const ASCTIME_FMT[] = "%s %s%3d %.2d:%.2d:%.2d %-4s\n";
 /*
 ** For years that are more than four digits we put extra spaces before the year
 ** so that code trying to overwrite the newline won't end up overwriting
 ** a digit within a year and truncating the year (operating on the assumption
 ** that no output is better than wrong output).
 */
-#ifdef __GNUC__
-#define ASCTIME_FMT_B	"%s %s%3d %2.2d:%2.2d:%2.2d     %s\n"
-#else /* !defined __GNUC__ */
-#define ASCTIME_FMT_B	"%s %s%3d %02.2d:%02.2d:%02.2d     %s\n"
-#endif /* !defined __GNUC__ */
+static char const ASCTIME_FMT_B[] = "%s %s%3d %.2d:%.2d:%.2d     %s\n";
 
-#define STD_ASCTIME_BUF_SIZE	26
+enum { STD_ASCTIME_BUF_SIZE = 26 };
 /*
 ** Big enough for something such as
 ** ??? ???-2147483648 -2147483648:-2147483648:-2147483648     -2147483648\n
@@ -59,15 +45,23 @@
 ** seven explicit spaces, two explicit colons, a newline,
 ** and a trailing NUL byte).
 ** The values above are for systems where an int is 32 bits and are provided
-** as an example; the define below calculates the maximum for the system at
+** as an example; the size expression below is a bound for the system at
 ** hand.
 */
-#define MAX_ASCTIME_BUF_SIZE	(2*3+5*INT_STRLEN_MAXIMUM(int)+7+2+1+1)
+static char buf_asctime[2*3 + 5*INT_STRLEN_MAXIMUM(int) + 7 + 2 + 1 + 1];
 
-static char	buf_asctime[MAX_ASCTIME_BUF_SIZE];
+/* A similar buffer for ctime.
+   C89 requires that they be the same buffer.
+   This requirement was removed in C99, so support it only if requested,
+   as support is more likely to lead to bugs in badly written programs.  */
+#if SUPPORT_C89
+# define buf_ctime buf_asctime
+#else
+static char buf_ctime[sizeof buf_asctime];
+#endif
 
 char *
-asctime_r(register const struct tm *timeptr, char *buf)
+asctime_r(struct tm const *restrict timeptr, char *restrict buf)
 {
 	static const char	wday_name[][4] = {
 		"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
@@ -79,7 +73,7 @@
 	register const char *	wn;
 	register const char *	mn;
 	char			year[INT_STRLEN_MAXIMUM(int) + 2];
-	char			result[MAX_ASCTIME_BUF_SIZE];
+	char result[sizeof buf_asctime];
 
 	if (timeptr == NULL) {
 		errno = EINVAL;
@@ -107,7 +101,8 @@
 		timeptr->tm_mday, timeptr->tm_hour,
 		timeptr->tm_min, timeptr->tm_sec,
 		year);
-	if (strlen(result) < STD_ASCTIME_BUF_SIZE || buf == buf_asctime)
+	if (strlen(result) < STD_ASCTIME_BUF_SIZE
+	    || buf == buf_ctime || buf == buf_asctime)
 		return strcpy(buf, result);
 	else {
 		errno = EOVERFLOW;
@@ -120,3 +115,17 @@
 {
 	return asctime_r(timeptr, buf_asctime);
 }
+
+char *
+ctime_r(const time_t *timep, char *buf)
+{
+  struct tm mytm;
+  struct tm *tmp = localtime_r(timep, &mytm);
+  return tmp ? asctime_r(tmp, buf) : NULL;
+}
+
+char *
+ctime(const time_t *timep)
+{
+  return ctime_r(timep, buf_ctime);
+}
diff --git a/libc/tzcode/bionic.cpp b/libc/tzcode/bionic.cpp
index d2b5d80..7091707 100644
--- a/libc/tzcode/bionic.cpp
+++ b/libc/tzcode/bionic.cpp
@@ -36,10 +36,45 @@
 #include "private/CachedProperty.h"
 
 extern "C" void tzset_unlocked(void);
+extern "C" void __bionic_get_system_tz(char* buf, size_t n);
 extern "C" int __bionic_open_tzdata(const char*, int32_t*);
 
 extern "C" void tzsetlcl(char const*);
 
+void __bionic_get_system_tz(char* buf, size_t n) {
+  static CachedProperty persist_sys_timezone("persist.sys.timezone");
+  const char* name = persist_sys_timezone.Get();
+
+  // If the system property is not set, perhaps because this is called
+  // before the default value has been set (the recovery image being a
+  // classic example), fall back to GMT.
+  if (name == nullptr) name = "GMT";
+
+  strlcpy(buf, name, n);
+
+  if (!strcmp(buf, "GMT")) {
+    // Typically we'll set the system property to an Olson ID, but
+    // java.util.TimeZone also supports the "GMT+xxxx" style, and at
+    // least historically (see http://b/25463955) some Android-based set
+    // top boxes would get the timezone from the TV network in this format
+    // and use it directly in the system property. This caused trouble
+    // for native code because POSIX and Java disagree about the sign in
+    // a timezone string. For POSIX, "GMT+3" means "3 hours west/behind",
+    // but for Java it means "3 hours east/ahead". Since (a) Java is the
+    // one that matches human expectations and (b) this system property is
+    // used directly by Java, we flip the sign here to translate from Java
+    // to POSIX. We only need to worry about the "GMT+xxxx" case because
+    // the expectation is that these are valid java.util.TimeZone ids,
+    // not general POSIX custom timezone specifications (which is why this
+    // code only applies to the system property, and not to the environment
+    // variable).
+    char sign = buf[3];
+    if (sign == '-' || sign == '+') {
+      buf[3] = (sign == '-') ? '+' : '-';
+    }
+  }
+}
+
 void tzset_unlocked() {
   // The TZ environment variable is meant to override the system-wide setting.
   const char* name = getenv("TZ");
@@ -47,26 +82,10 @@
 
   // If that's not set, look at the "persist.sys.timezone" system property.
   if (name == nullptr) {
-    static CachedProperty persist_sys_timezone("persist.sys.timezone");
-
-    if ((name = persist_sys_timezone.Get()) != nullptr && strlen(name) > 3) {
-      // POSIX and Java disagree about the sign in a timezone string. For POSIX, "GMT+3" means
-      // "3 hours west/behind", but for Java it means "3 hours east/ahead". Since (a) Java is
-      // the one that matches human expectations and (b) this system property is used directly
-      // by Java, we flip the sign here to translate from Java to POSIX. http://b/25463955.
-      char sign = name[3];
-      if (sign == '-' || sign == '+') {
-        strlcpy(buf, name, sizeof(buf));
-        buf[3] = (sign == '-') ? '+' : '-';
-        name = buf;
-      }
-    }
+    __bionic_get_system_tz(buf, sizeof(buf));
+    name = buf;
   }
 
-  // If the system property is also not available (because you're running AOSP on a WiFi-only
-  // device, say), fall back to GMT.
-  if (name == nullptr) name = "GMT";
-
   tzsetlcl(name);
 }
 
@@ -192,14 +211,14 @@
     close(fd);
     // This file descriptor (-1) is passed to localtime.c. In invalid fd case
     // upstream passes errno value around methods and having 0 there will
-    // indicate that time zone was found and read successfully and localtime's
+    // indicate that timezone was found and read successfully and localtime's
     // internal state was properly initialized (which wasn't as we couldn't find
-    // requested time zone in the tzdata file).
+    // requested timezone in the tzdata file).
     // If we reached this point errno is unlikely to be touched. It is only
     // close(fd) which can do it, but that is very unlikely to happen. And
     // even if it happens we can't extract any useful insights from it.
     // We are overriding it to ENOENT as it matches upstream expectations -
-    // time zone is absent in the tzdata file == there is no TZif file in
+    // timezone is absent in the tzdata file == there is no TZif file in
     // /usr/share/zoneinfo.
     errno = ENOENT;
     return -1;
@@ -219,7 +238,7 @@
   int fd;
 
   // Try the two locations for the tzdata file in a strict order:
-  // 1: The time zone data module which contains the main copy. This is the
+  // 1: The timezone data module which contains the main copy. This is the
   //    common case for current devices.
   // 2: The ultimate fallback: the non-updatable copy in /system.
 
diff --git a/libc/tzcode/localtime.c b/libc/tzcode/localtime.c
index 8ff5cee..018acad 100644
--- a/libc/tzcode/localtime.c
+++ b/libc/tzcode/localtime.c
@@ -28,29 +28,22 @@
 static void unlock(void) { }
 #endif
 
-#ifndef TZ_ABBR_MAX_LEN
-#define TZ_ABBR_MAX_LEN 16
-#endif /* !defined TZ_ABBR_MAX_LEN */
-
 #ifndef TZ_ABBR_CHAR_SET
-#define TZ_ABBR_CHAR_SET \
+# define TZ_ABBR_CHAR_SET \
     "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 :+-._"
 #endif /* !defined TZ_ABBR_CHAR_SET */
 
 #ifndef TZ_ABBR_ERR_CHAR
-#define TZ_ABBR_ERR_CHAR    '_'
+# define TZ_ABBR_ERR_CHAR    '_'
 #endif /* !defined TZ_ABBR_ERR_CHAR */
 
 /*
-** SunOS 4.1.1 headers lack O_BINARY.
++** Support non-POSIX platforms that distinguish between text and binary files.
 */
 
-#ifdef O_BINARY
-#define OPEN_MODE   (O_RDONLY | O_BINARY)
-#endif /* defined O_BINARY */
 #ifndef O_BINARY
-#define OPEN_MODE   O_RDONLY
-#endif /* !defined O_BINARY */
+# define O_BINARY 0
+#endif
 
 #ifndef WILDABBR
 /*
@@ -72,12 +65,13 @@
 ** manual page of what this "time zone abbreviation" means (doing this so
 ** that tzname[0] has the "normal" length of three characters).
 */
-#define WILDABBR    "   "
+# define WILDABBR    "   "
 #endif /* !defined WILDABBR */
 
 static const char       wildabbr[] = WILDABBR;
 
-static const char gmt[] = "GMT";
+static char const etc_utc[] = "Etc/UTC";
+static char const *utc = etc_utc + sizeof "Etc/" - 1;
 
 /*
 ** The DST rules to use if TZ has no rules and we can't load TZDEFRULES.
@@ -86,7 +80,7 @@
 ** for historical reasons, US rules are a common default.
 */
 #ifndef TZDEFRULESTRING
-#define TZDEFRULESTRING ",M3.2.0,M11.1.0"
+# define TZDEFRULESTRING ",M3.2.0,M11.1.0"
 #endif
 
 struct ttinfo {              /* time type information */
@@ -102,9 +96,6 @@
     int_fast32_t ls_corr;    /* correction to apply */
 };
 
-#define SMALLEST(a, b)	(((a) < (b)) ? (a) : (b))
-#define BIGGEST(a, b)   (((a) > (b)) ? (a) : (b))
-
 /* This abbreviation means local time is unspecified.  */
 static char const UNSPEC[] = "-00";
 
@@ -112,14 +103,13 @@
    This needs to be at least 1 for null termination in case the input
    data isn't properly terminated, and it also needs to be big enough
    for ttunspecified to work without crashing.  */
-enum { CHARS_EXTRA = BIGGEST(sizeof UNSPEC, 2) - 1 };
+enum { CHARS_EXTRA = max(sizeof UNSPEC, 2) - 1 };
 
-#ifdef TZNAME_MAX
-#define MY_TZNAME_MAX   TZNAME_MAX
-#endif /* defined TZNAME_MAX */
-#ifndef TZNAME_MAX
-#define MY_TZNAME_MAX   255
-#endif /* !defined TZNAME_MAX */
+/* Limit to time zone abbreviation length in POSIX-style TZ strings.
+   This is distinct from TZ_MAX_CHARS, which limits TZif file contents.  */
+#ifndef TZNAME_MAXIMUM
+# define TZNAME_MAXIMUM 255
+#endif
 
 struct state {
     int           leapcnt;
@@ -131,9 +121,8 @@
     time_t        ats[TZ_MAX_TIMES];
     unsigned char types[TZ_MAX_TIMES];
     struct ttinfo ttis[TZ_MAX_TYPES];
-    char          chars[BIGGEST(BIGGEST(TZ_MAX_CHARS + CHARS_EXTRA,
-                            sizeof gmt),
-                  (2 * (MY_TZNAME_MAX + 1)))];
+    char chars[max(max(TZ_MAX_CHARS + CHARS_EXTRA, sizeof "UTC"),
+		         2 * (TZNAME_MAXIMUM + 1))];
     struct lsinfo lsis[TZ_MAX_LEAPS];
     /* The time type to use for early times or if no transitions.
        It is always zero for recent tzdb releases.
@@ -174,12 +163,12 @@
 #ifndef ALL_STATE
 static struct state lclmem;
 static struct state gmtmem;
-#define lclptr      (&lclmem)
-#define gmtptr      (&gmtmem)
+static struct state *const lclptr = &lclmem;
+static struct state *const gmtptr = &gmtmem;
 #endif /* State Farm */
 
 #ifndef TZ_STRLEN_MAX
-#define TZ_STRLEN_MAX 255
+# define TZ_STRLEN_MAX 255
 #endif /* !defined TZ_STRLEN_MAX */
 
 static char lcl_TZname[TZ_STRLEN_MAX + 1];
@@ -191,9 +180,14 @@
 **  ctime, gmtime, localtime] return values in one of two static
 **  objects: a broken-down time structure and an array of char.
 ** Thanks to Paul Eggert for noting this.
+**
+** This requirement was removed in C99, so support it only if requested,
+** as support is more likely to lead to bugs in badly written programs.
 */
 
+#if SUPPORT_C89
 static struct tm	tm;
+#endif
 
 #if 2 <= HAVE_TZNAME + TZ_TIME_T
 char *			tzname[2] = {
@@ -321,7 +315,7 @@
 	int stddst_mask = 0;
 
 #if HAVE_TZNAME
-	tzname[0] = tzname[1] = (char *) (sp ? wildabbr : gmt);
+	tzname[0] = tzname[1] = (char *) (sp ? wildabbr : utc);
 	stddst_mask = 3;
 #endif
 #if USG_COMPAT
@@ -346,27 +340,28 @@
 #endif
 }
 
-static void
+/* Replace bogus characters in time zone abbreviations.
+   Return 0 on success, an errno value if a time zone abbreviation is
+   too long.  */
+static int
 scrub_abbrs(struct state *sp)
 {
 	int i;
-	/*
-	** First, replace bogus characters.
-	*/
+
+	/* Reject overlong abbreviations.  */
+	for (i = 0; i < sp->charcnt - (TZNAME_MAXIMUM + 1); ) {
+	  int len = strlen(&sp->chars[i]);
+	  if (TZNAME_MAXIMUM < len)
+	    return EOVERFLOW;
+	  i += len + 1;
+	}
+
+	/* Replace bogus characters.  */
 	for (i = 0; i < sp->charcnt; ++i)
 		if (strchr(TZ_ABBR_CHAR_SET, sp->chars[i]) == NULL)
 			sp->chars[i] = TZ_ABBR_ERR_CHAR;
-	/*
-	** Second, truncate long abbreviations.
-	*/
-	for (i = 0; i < sp->typecnt; ++i) {
-		register const struct ttinfo * const	ttisp = &sp->ttis[i];
-		char *cp = &sp->chars[ttisp->tt_desigidx];
 
-		if (strlen(cp) > TZ_ABBR_MAX_LEN &&
-			strcmp(cp, GRANDPARENTED) != 0)
-				*(cp + TZ_ABBR_MAX_LEN) = '\0';
-	}
+	return 0;
 }
 
 /* Input buffer for data read from a compiled tz file.  */
@@ -379,8 +374,11 @@
      + 4 * TZ_MAX_TIMES];
 };
 
-// Android-removed: There is no directory with file-per-time zone on Android.
-#ifndef __BIONIC__
+#if defined(__BIONIC__)
+// Android: there is no directory with one file per timezone on Android,
+// but we do have a system property instead.
+#include <sys/system_properties.h>
+#else
 /* TZDIR with a trailing '/' rather than a trailing '\0'.  */
 static char const tzdirslash[sizeof TZDIR] = TZDIR "/";
 #endif
@@ -399,8 +397,7 @@
   // Android-removed: There is no directory with file-per-time zone on Android.
   #ifndef __BIONIC__
   /* The file name to be opened.  */
-  char fullname[BIGGEST(sizeof(struct file_analysis),
-      sizeof tzdirslash + 1024)];
+  char fullname[max(sizeof(struct file_analysis), sizeof tzdirslash + 1024)];
   #endif
 };
 
@@ -421,13 +418,20 @@
 #endif
 	register union input_buffer *up = &lsp->u.u;
 	register int tzheadsize = sizeof(struct tzhead);
+	char system_tz_name[PROP_VALUE_MAX];
 
 	sp->goback = sp->goahead = false;
 
 	if (! name) {
+#if defined(__BIONIC__)
+		extern void __bionic_get_system_tz(char* , size_t);
+		__bionic_get_system_tz(system_tz_name, sizeof(system_tz_name));
+		name = system_tz_name;
+#else
 		name = TZDEFAULT;
 		if (! name)
 		  return EINVAL;
+#endif
 	}
 
 #if defined(__BIONIC__)
@@ -446,8 +450,7 @@
 #endif
 	if (!doaccess) {
 		char const *dot;
-		size_t namelen = strlen(name);
-		if (sizeof lsp->fullname - sizeof tzdirslash <= namelen)
+		if (sizeof lsp->fullname - sizeof tzdirslash <= strlen(name))
 		  return ENAMETOOLONG;
 
 		/* Create a string "TZDIR/NAME".  Using sprintf here
@@ -470,7 +473,7 @@
 	}
 	if (doaccess && access(name, R_OK) != 0)
 	  return errno;
-	fid = open(name, OPEN_MODE);
+  fid = open(name, O_RDONLY | O_BINARY);
 #endif
 	if (fid < 0)
 	  return errno;
@@ -828,12 +831,14 @@
 		b < 0 || b >= sp->typecnt)
 			result = false;
 	else {
+		/* Compare the relevant members of *AP and *BP.
+		   Ignore tt_ttisstd and tt_ttisut, as they are
+		   irrelevant now and counting them could cause
+		   sp->goahead to mistakenly remain false.  */
 		register const struct ttinfo *	ap = &sp->ttis[a];
 		register const struct ttinfo *	bp = &sp->ttis[b];
 		result = (ap->tt_utoff == bp->tt_utoff
 			  && ap->tt_isdst == bp->tt_isdst
-			  && ap->tt_ttisstd == bp->tt_ttisstd
-			  && ap->tt_ttisut == bp->tt_ttisut
 			  && (strcmp(&sp->chars[ap->tt_desigidx],
 				     &sp->chars[bp->tt_desigidx])
 			      == 0));
@@ -863,7 +868,7 @@
 ** Return a pointer to that character.
 */
 
-static ATTRIBUTE_PURE const char *
+ATTRIBUTE_REPRODUCIBLE static const char *
 getzname(register const char *strp)
 {
 	register char	c;
@@ -884,7 +889,7 @@
 ** We don't do any checking here; checking is done later in common-case code.
 */
 
-static ATTRIBUTE_PURE const char *
+ATTRIBUTE_REPRODUCIBLE static const char *
 getqzname(register const char *strp, const int delim)
 {
 	register int	c;
@@ -1122,7 +1127,7 @@
             value += mon_lengths[leapyear][i] * SECSPERDAY;
         break;
 
-        default: UNREACHABLE();
+        default: unreachable();
     }
 
     /*
@@ -1144,13 +1149,11 @@
 {
 	const char *			stdname;
 	const char *			dstname;
-	size_t				stdlen;
-	size_t				dstlen;
-	size_t				charcnt;
 	int_fast32_t			stdoffset;
 	int_fast32_t			dstoffset;
 	register char *			cp;
 	register bool			load_ok;
+	ptrdiff_t stdlen, dstlen, charcnt;
 	time_t atlo = TIME_T_MIN, leaplo = TIME_T_MIN;
 
 	stdname = name;
@@ -1166,14 +1169,12 @@
 	  name = getzname(name);
 	  stdlen = name - stdname;
 	}
-	if (!stdlen)
+	if (! (0 < stdlen && stdlen <= TZNAME_MAXIMUM))
 	  return false;
 	name = getoffset(name, &stdoffset);
 	if (name == NULL)
 	  return false;
 	charcnt = stdlen + 1;
-	if (sizeof sp->chars < charcnt)
-	  return false;
 	if (basep) {
 	  if (0 < basep->timecnt)
 	    atlo = basep->ats[basep->timecnt - 1];
@@ -1200,11 +1201,9 @@
 			name = getzname(name);
 			dstlen = name - dstname; /* length of DST abbr. */
 		}
-		if (!dstlen)
+		if (! (0 < dstlen && dstlen <= TZNAME_MAXIMUM))
 		  return false;
 		charcnt += dstlen + 1;
-		if (sizeof sp->chars < charcnt)
-		  return false;
 		if (*name != '\0' && *name != ',' && *name != ';') {
 			name = getoffset(name, &dstoffset);
 			if (name == NULL)
@@ -1420,8 +1419,8 @@
 static void
 gmtload(struct state *const sp)
 {
-	if (tzload(gmt, sp, true) != 0)
-	  tzparse("GMT0", sp, NULL);
+	if (tzload(etc_utc, sp, true) != 0)
+	  tzparse("UTC0", sp, NULL);
 }
 
 /* Initialize *SP to a value appropriate for the TZ setting NAME.
@@ -1439,7 +1438,7 @@
     sp->charcnt = 0;
     sp->goback = sp->goahead = false;
     init_ttinfo(&sp->ttis[0], 0, false, 0);
-    strcpy(sp->chars, gmt);
+    strcpy(sp->chars, utc);
     sp->defaulttype = 0;
     return 0;
   } else {
@@ -1447,7 +1446,7 @@
     if (err != 0 && name && name[0] != ':' && tzparse(name, sp, NULL))
       err = 0;
     if (err == 0)
-      scrub_abbrs(sp);
+      err = scrub_abbrs(sp);
     return err;
   }
 }
@@ -1557,7 +1556,7 @@
 ** set the applicable parts of tzname, timezone and altzone;
 ** however, it's OK to omit this step if the timezone is POSIX-compatible,
 ** since in that case tzset should have already done this step correctly.
-** SETNAME's type is intfast32_t for compatibility with gmtsub,
+** SETNAME's type is int_fast32_t for compatibility with gmtsub,
 ** but it is actually a boolean and its value should be 0 or 1.
 */
 
@@ -1601,6 +1600,14 @@
 					return NULL;	/* "cannot happen" */
 			result = localsub(sp, &newt, setname, tmp);
 			if (result) {
+#if defined ckd_add && defined ckd_sub
+				if (t < sp->ats[0]
+				    ? ckd_sub(&result->tm_year,
+					      result->tm_year, years)
+				    : ckd_add(&result->tm_year,
+					      result->tm_year, years))
+				  return NULL;
+#else
 				register int_fast64_t newy;
 
 				newy = result->tm_year;
@@ -1610,6 +1617,7 @@
 				if (! (INT_MIN <= newy && newy <= INT_MAX))
 					return NULL;
 				result->tm_year = newy;
+#endif
 			}
 			return result;
 	}
@@ -1650,7 +1658,8 @@
 #if NETBSD_INSPIRED
 
 struct tm *
-localtime_rz(struct state *sp, time_t const *timep, struct tm *tmp)
+localtime_rz(struct state *restrict sp, time_t const *restrict timep,
+	     struct tm *restrict tmp)
 {
   return localsub(sp, timep, 0, tmp);
 }
@@ -1681,11 +1690,14 @@
 struct tm *
 localtime(const time_t *timep)
 {
+#if !SUPPORT_C89
+  static struct tm tm;
+#endif
   return localtime_tzset(timep, &tm);
 }
 
 struct tm *
-localtime_r(const time_t *timep, struct tm *tmp)
+localtime_r(const time_t *restrict timep, struct tm *restrict tmp)
 {
   return localtime_tzset(timep, tmp);
 }
@@ -1695,8 +1707,8 @@
 */
 
 static struct tm *
-gmtsub(struct state const *sp, time_t const *timep, int_fast32_t offset,
-       struct tm *tmp)
+gmtsub(ATTRIBUTE_MAYBE_UNUSED struct state const *sp, time_t const *timep,
+       int_fast32_t offset, struct tm *tmp)
 {
 	register struct tm *	result;
 
@@ -1708,7 +1720,7 @@
 	** but this is no time for a treasure hunt.
 	*/
 	tmp->TM_ZONE = ((char *)
-			(offset ? wildabbr : gmtptr ? gmtptr->chars : gmt));
+			(offset ? wildabbr : gmtptr ? gmtptr->chars : utc));
 #endif /* defined TM_ZONE */
 	return result;
 }
@@ -1718,7 +1730,7 @@
 */
 
 struct tm *
-gmtime_r(const time_t *timep, struct tm *tmp)
+gmtime_r(time_t const *restrict timep, struct tm *restrict tmp)
 {
   gmtcheck();
   return gmtsub(gmtptr, timep, 0, tmp);
@@ -1727,19 +1739,26 @@
 struct tm *
 gmtime(const time_t *timep)
 {
+#if !SUPPORT_C89
+  static struct tm tm;
+#endif
   return gmtime_r(timep, &tm);
 }
 
-#ifdef STD_INSPIRED
+#if STD_INSPIRED
 
 struct tm *
 offtime(const time_t *timep, long offset)
 {
   gmtcheck();
+
+#if !SUPPORT_C89
+  static struct tm tm;
+#endif
   return gmtsub(gmtptr, timep, offset, &tm);
 }
 
-#endif /* defined STD_INSPIRED */
+#endif
 
 /*
 ** Return the number of leap years through the end of the given year
@@ -1825,6 +1844,12 @@
 		y = newy;
 	}
 
+#ifdef ckd_add
+	if (ckd_add(&tmp->tm_year, y, -TM_YEAR_BASE)) {
+	  errno = EOVERFLOW;
+	  return NULL;
+	}
+#else
 	if (!TYPE_SIGNED(time_t) && y < TM_YEAR_BASE) {
 	  int signed_y = y;
 	  tmp->tm_year = signed_y - TM_YEAR_BASE;
@@ -1835,6 +1860,7 @@
 	  errno = EOVERFLOW;
 	  return NULL;
 	}
+#endif
 	tmp->tm_yday = idays;
 	/*
 	** The "extra" mods below avoid overflow problems.
@@ -1868,27 +1894,6 @@
 	return tmp;
 }
 
-char *
-ctime(const time_t *timep)
-{
-/*
-** Section 4.12.3.2 of X3.159-1989 requires that
-**	The ctime function converts the calendar time pointed to by timer
-**	to local time in the form of a string. It is equivalent to
-**		asctime(localtime(timer))
-*/
-  struct tm *tmp = localtime(timep);
-  return tmp ? asctime(tmp) : NULL;
-}
-
-char *
-ctime_r(const time_t *timep, char *buf)
-{
-  struct tm mytm;
-  struct tm *tmp = localtime_r(timep, &mytm);
-  return tmp ? asctime_r(tmp, buf) : NULL;
-}
-
 /*
 ** Adapted from code provided by Robert Elz, who writes:
 **	The "best" way to do mktime I think is based on an idea of Bob
@@ -1899,7 +1904,7 @@
 */
 
 #ifndef WRONG
-#define WRONG	(-1)
+# define WRONG (-1)
 #endif /* !defined WRONG */
 
 /*
@@ -1909,6 +1914,9 @@
 static bool
 increment_overflow(int *ip, int j)
 {
+#ifdef ckd_add
+	return ckd_add(ip, *ip, j);
+#else
 	register int const	i = *ip;
 
 	/*
@@ -1921,22 +1929,30 @@
 		return true;
 	*ip += j;
 	return false;
+#endif
 }
 
 static bool
 increment_overflow32(int_fast32_t *const lp, int const m)
 {
+#ifdef ckd_add
+	return ckd_add(lp, *lp, m);
+#else
 	register int_fast32_t const	l = *lp;
 
 	if ((l >= 0) ? (m > INT_FAST32_MAX - l) : (m < INT_FAST32_MIN - l))
 		return true;
 	*lp += m;
 	return false;
+#endif
 }
 
 static bool
 increment_overflow_time(time_t *tp, int_fast32_t j)
 {
+#ifdef ckd_add
+	return ckd_add(tp, *tp, j);
+#else
 	/*
 	** This is like
 	** 'if (! (TIME_T_MIN <= *tp + j && *tp + j <= TIME_T_MAX)) ...',
@@ -1948,6 +1964,7 @@
 		return true;
 	*tp += j;
 	return false;
+#endif
 }
 
 static bool
@@ -1990,6 +2007,23 @@
 	return result;
 }
 
+/* Copy to *DEST from *SRC.  Copy only the members needed for mktime,
+   as other members might not be initialized.  */
+static void
+mktmcpy(struct tm *dest, struct tm const *src)
+{
+  dest->tm_sec = src->tm_sec;
+  dest->tm_min = src->tm_min;
+  dest->tm_hour = src->tm_hour;
+  dest->tm_mday = src->tm_mday;
+  dest->tm_mon = src->tm_mon;
+  dest->tm_year = src->tm_year;
+  dest->tm_isdst = src->tm_isdst;
+#if defined TM_GMTOFF && ! UNINIT_TRAP
+  dest->TM_GMTOFF = src->TM_GMTOFF;
+#endif
+}
+
 static time_t
 time2sub(struct tm *const tmp,
 	 struct tm *(*funcp)(struct state const *, time_t const *,
@@ -2011,7 +2045,8 @@
 	struct tm			yourtm, mytm;
 
 	*okayp = false;
-	yourtm = *tmp;
+	mktmcpy(&yourtm, tmp);
+
 	if (do_norm_secs) {
 		if (normalize_overflow(&yourtm.tm_min, &yourtm.tm_sec,
 			SECSPERMIN))
@@ -2053,14 +2088,19 @@
 				return WRONG;
 		}
 	}
+#ifdef ckd_add
+	if (ckd_add(&yourtm.tm_year, y, -TM_YEAR_BASE))
+	  return WRONG;
+#else
 	if (increment_overflow32(&y, -TM_YEAR_BASE))
 		return WRONG;
 	if (! (INT_MIN <= y && y <= INT_MAX))
 		return WRONG;
 	yourtm.tm_year = y;
+#endif
 	if (yourtm.tm_sec >= 0 && yourtm.tm_sec < SECSPERMIN)
 		saved_seconds = 0;
-	else if (y + TM_YEAR_BASE < EPOCH_YEAR) {
+	else if (yourtm.tm_year < EPOCH_YEAR - TM_YEAR_BASE) {
 		/*
 		** We can't set tm_sec to 0, because that might push the
 		** time below the minimum representable time.
@@ -2120,10 +2160,10 @@
 		    && (yourtm.TM_GMTOFF < 0
 			? (-SECSPERDAY <= yourtm.TM_GMTOFF
 			   && (mytm.TM_GMTOFF <=
-			       (SMALLEST(INT_FAST32_MAX, LONG_MAX)
+			       (min(INT_FAST32_MAX, LONG_MAX)
 				+ yourtm.TM_GMTOFF)))
 			: (yourtm.TM_GMTOFF <= SECSPERDAY
-			   && ((BIGGEST(INT_FAST32_MIN, LONG_MIN)
+			   && ((max(INT_FAST32_MIN, LONG_MIN)
 				+ yourtm.TM_GMTOFF)
 			       <= mytm.TM_GMTOFF)))) {
 		  /* MYTM matches YOURTM except with the wrong UT offset.
@@ -2294,7 +2334,7 @@
 #if NETBSD_INSPIRED
 
 time_t
-mktime_z(struct state *sp, struct tm *tmp)
+mktime_z(struct state *restrict sp, struct tm *restrict tmp)
 {
   return mktime_tzname(sp, tmp, false);
 }
@@ -2324,8 +2364,7 @@
   return t;
 }
 
-#ifdef STD_INSPIRED
-
+#if STD_INSPIRED
 time_t
 timelocal(struct tm *tmp)
 {
@@ -2333,13 +2372,9 @@
 		tmp->tm_isdst = -1;	/* in case it wasn't initialized */
 	return mktime(tmp);
 }
-
-time_t
-timegm(struct tm *tmp)
-{
-  return timeoff(tmp, 0);
-}
-
+#else
+static
+#endif
 time_t
 timeoff(struct tm *tmp, long offset)
 {
@@ -2349,7 +2384,18 @@
   return time1(tmp, gmtsub, gmtptr, offset);
 }
 
-#endif /* defined STD_INSPIRED */
+time_t
+timegm(struct tm *tmp)
+{
+  time_t t;
+  struct tm tmcpy;
+  mktmcpy(&tmcpy, tmp);
+  tmcpy.tm_wday = -1;
+  t = timeoff(&tmcpy, 0);
+  if (0 <= tmcpy.tm_wday)
+    *tmp = tmcpy;
+  return t;
+}
 
 static int_fast32_t
 leapcorr(struct state const *sp, time_t t)
@@ -2370,7 +2416,7 @@
 ** XXX--is the below the right way to conditionalize??
 */
 
-#ifdef STD_INSPIRED
+#if STD_INSPIRED
 
 /* NETBSD_INSPIRED_EXTERN functions are exported to callers if
    NETBSD_INSPIRED is defined, and are private otherwise.  */
@@ -2455,7 +2501,7 @@
   return t;
 }
 
-#endif /* defined STD_INSPIRED */
+#endif /* STD_INSPIRED */
 
 #if TZ_TIME_T
 
diff --git a/libc/tzcode/private.h b/libc/tzcode/private.h
index 4c03324..838ab2b 100644
--- a/libc/tzcode/private.h
+++ b/libc/tzcode/private.h
@@ -17,6 +17,36 @@
 ** Thank you!
 */
 
+/* PORT_TO_C89 means the code should work even if the underlying
+   compiler and library support only C89.  SUPPORT_C89 means the
+   tzcode library should support C89 callers in addition to the usual
+   support for C99-and-later callers.  These macros are obsolescent,
+   and the plan is to remove them along with any code needed only when
+   they are nonzero.  */
+#ifndef PORT_TO_C89
+# define PORT_TO_C89 0
+#endif
+#ifndef SUPPORT_C89
+# define SUPPORT_C89 0
+#endif
+
+#ifndef __STDC_VERSION__
+# define __STDC_VERSION__ 0
+#endif
+
+/* Define true, false and bool if they don't work out of the box.  */
+#if PORT_TO_C89 && __STDC_VERSION__ < 199901
+# define true 1
+# define false 0
+# define bool int
+#elif __STDC_VERSION__ < 202311
+# include <stdbool.h>
+#endif
+
+#if __STDC_VERSION__ < 202311
+# define static_assert(cond) extern int static_assert_check[(cond) ? 1 : -1]
+#endif
+
 /*
 ** zdump has been made independent of the rest of the time
 ** conversion package to increase confidence in the verification it provides.
@@ -36,79 +66,86 @@
 */
 
 #ifndef HAVE_DECL_ASCTIME_R
-#define HAVE_DECL_ASCTIME_R 1
+# define HAVE_DECL_ASCTIME_R 1
 #endif
 
-#if !defined HAVE_GENERIC && defined __has_extension
+#if !defined HAVE__GENERIC && defined __has_extension
 # if __has_extension(c_generic_selections)
-#  define HAVE_GENERIC 1
+#  define HAVE__GENERIC 1
 # else
-#  define HAVE_GENERIC 0
+#  define HAVE__GENERIC 0
 # endif
 #endif
 /* _Generic is buggy in pre-4.9 GCC.  */
-#if !defined HAVE_GENERIC && defined __GNUC__
-# define HAVE_GENERIC (4 < __GNUC__ + (9 <= __GNUC_MINOR__))
+#if !defined HAVE__GENERIC && defined __GNUC__ && !defined __STRICT_ANSI__
+# define HAVE__GENERIC (4 < __GNUC__ + (9 <= __GNUC_MINOR__))
 #endif
-#ifndef HAVE_GENERIC
-# define HAVE_GENERIC (201112 <= __STDC_VERSION__)
+#ifndef HAVE__GENERIC
+# define HAVE__GENERIC (201112 <= __STDC_VERSION__)
 #endif
 
+#if !defined HAVE_GETTEXT && defined __has_include
+# if __has_include(<libintl.h>)
+#  define HAVE_GETTEXT true
+# endif
+#endif
 #ifndef HAVE_GETTEXT
-#define HAVE_GETTEXT		0
-#endif /* !defined HAVE_GETTEXT */
+# define HAVE_GETTEXT false
+#endif
 
 #ifndef HAVE_INCOMPATIBLE_CTIME_R
-#define HAVE_INCOMPATIBLE_CTIME_R	0
+# define HAVE_INCOMPATIBLE_CTIME_R 0
 #endif
 
 #ifndef HAVE_LINK
-#define HAVE_LINK		1
+# define HAVE_LINK 1
 #endif /* !defined HAVE_LINK */
 
 #ifndef HAVE_MALLOC_ERRNO
-#define HAVE_MALLOC_ERRNO 1
+# define HAVE_MALLOC_ERRNO 1
 #endif
 
 #ifndef HAVE_POSIX_DECLS
-#define HAVE_POSIX_DECLS 1
+# define HAVE_POSIX_DECLS 1
 #endif
 
-#ifndef HAVE_STDBOOL_H
-#define HAVE_STDBOOL_H (199901 <= __STDC_VERSION__)
+#ifndef HAVE_SETENV
+# define HAVE_SETENV 1
 #endif
 
 #ifndef HAVE_STRDUP
-#define HAVE_STRDUP 1
-#endif
-
-#ifndef HAVE_STRTOLL
-#define HAVE_STRTOLL 1
+# define HAVE_STRDUP 1
 #endif
 
 #ifndef HAVE_SYMLINK
-#define HAVE_SYMLINK		1
+# define HAVE_SYMLINK 1
 #endif /* !defined HAVE_SYMLINK */
 
+#if !defined HAVE_SYS_STAT_H && defined __has_include
+# if !__has_include(<sys/stat.h>)
+#  define HAVE_SYS_STAT_H false
+# endif
+#endif
 #ifndef HAVE_SYS_STAT_H
-#define HAVE_SYS_STAT_H		1
-#endif /* !defined HAVE_SYS_STAT_H */
+# define HAVE_SYS_STAT_H true
+#endif
 
+#if !defined HAVE_UNISTD_H && defined __has_include
+# if !__has_include(<unistd.h>)
+#  define HAVE_UNISTD_H false
+# endif
+#endif
 #ifndef HAVE_UNISTD_H
-#define HAVE_UNISTD_H		1
-#endif /* !defined HAVE_UNISTD_H */
-
-#ifndef HAVE_UTMPX_H
-#define HAVE_UTMPX_H		1
-#endif /* !defined HAVE_UTMPX_H */
+# define HAVE_UNISTD_H true
+#endif
 
 #ifndef NETBSD_INSPIRED
 # define NETBSD_INSPIRED 1
 #endif
 
 #if HAVE_INCOMPATIBLE_CTIME_R
-#define asctime_r _incompatible_asctime_r
-#define ctime_r _incompatible_ctime_r
+# define asctime_r _incompatible_asctime_r
+# define ctime_r _incompatible_ctime_r
 #endif /* HAVE_INCOMPATIBLE_CTIME_R */
 
 /* Enable tm_gmtoff, tm_zone, and environ on GNUish systems.  */
@@ -118,15 +155,17 @@
 /* Enable strtoimax on pre-C99 Solaris 11.  */
 #define __EXTENSIONS__ 1
 
-/* To avoid having 'stat' fail unnecessarily with errno == EOVERFLOW,
-   enable large files on GNUish systems ...  */
+/* On GNUish systems where time_t might be 32 or 64 bits, use 64.
+   On these platforms _FILE_OFFSET_BITS must also be 64; otherwise
+   setting _TIME_BITS to 64 does not work.  The code does not
+   otherwise rely on _FILE_OFFSET_BITS being 64, since it does not
+   use off_t or functions like 'stat' that depend on off_t.  */
 #ifndef _FILE_OFFSET_BITS
 # define _FILE_OFFSET_BITS 64
 #endif
-/* ... and on AIX ...  */
-#define _LARGE_FILES 1
-/* ... and enable large inode numbers on Mac OS X 10.5 and later.  */
-#define _DARWIN_USE_64_BIT_INODE 1
+#if !defined _TIME_BITS && _FILE_OFFSET_BITS == 64
+# define _TIME_BITS 64
+#endif
 
 /*
 ** Nested includes
@@ -157,8 +196,11 @@
 #undef tzalloc
 #undef tzfree
 
-#include <sys/types.h>	/* for time_t */
+#include <stddef.h>
 #include <string.h>
+#if !PORT_TO_C89
+# include <inttypes.h>
+#endif
 #include <limits.h>	/* for CHAR_BIT et al. */
 #include <stdlib.h>
 
@@ -168,6 +210,9 @@
 # define EINVAL ERANGE
 #endif
 
+#ifndef ELOOP
+# define ELOOP EINVAL
+#endif
 #ifndef ENAMETOOLONG
 # define ENAMETOOLONG EINVAL
 #endif
@@ -182,11 +227,11 @@
 #endif
 
 #if HAVE_GETTEXT
-#include <libintl.h>
+# include <libintl.h>
 #endif /* HAVE_GETTEXT */
 
 #if HAVE_UNISTD_H
-#include <unistd.h>	/* for R_OK, and other POSIX goodness */
+# include <unistd.h> /* for R_OK, and other POSIX goodness */
 #endif /* HAVE_UNISTD_H */
 
 #ifndef HAVE_STRFTIME_L
@@ -222,24 +267,29 @@
 #endif
 
 #ifndef R_OK
-#define R_OK	4
+# define R_OK 4
 #endif /* !defined R_OK */
 
+#if PORT_TO_C89
+
 /*
 ** Define HAVE_STDINT_H's default value here, rather than at the
 ** start, since __GLIBC__ and INTMAX_MAX's values depend on
-** previously-included files.  glibc 2.1 and Solaris 10 and later have
+** previously included files.  glibc 2.1 and Solaris 10 and later have
 ** stdint.h, even with pre-C99 compilers.
 */
+#if !defined HAVE_STDINT_H && defined __has_include
+# define HAVE_STDINT_H true /* C23 __has_include implies C99 stdint.h.  */
+#endif
 #ifndef HAVE_STDINT_H
-#define HAVE_STDINT_H \
+# define HAVE_STDINT_H \
    (199901 <= __STDC_VERSION__ \
-    || 2 < __GLIBC__ + (1 <= __GLIBC_MINOR__)	\
+    || 2 < __GLIBC__ + (1 <= __GLIBC_MINOR__) \
     || __CYGWIN__ || INTMAX_MAX)
 #endif /* !defined HAVE_STDINT_H */
 
 #if HAVE_STDINT_H
-#include <stdint.h>
+# include <stdint.h>
 #endif /* !HAVE_STDINT_H */
 
 #ifndef HAVE_INTTYPES_H
@@ -250,36 +300,36 @@
 #endif
 
 /* Pre-C99 GCC compilers define __LONG_LONG_MAX__ instead of LLONG_MAX.  */
-#ifdef __LONG_LONG_MAX__
+#if defined __LONG_LONG_MAX__ && !defined __STRICT_ANSI__
 # ifndef LLONG_MAX
 #  define LLONG_MAX __LONG_LONG_MAX__
 # endif
 # ifndef LLONG_MIN
 #  define LLONG_MIN (-1 - LLONG_MAX)
 # endif
+# ifndef ULLONG_MAX
+#  define ULLONG_MAX (LLONG_MAX * 2ull + 1)
+# endif
 #endif
 
 #ifndef INT_FAST64_MAX
-# ifdef LLONG_MAX
-typedef long long	int_fast64_t;
-#  define INT_FAST64_MIN LLONG_MIN
-#  define INT_FAST64_MAX LLONG_MAX
-# else
-#  if LONG_MAX >> 31 < 0xffffffff
-Please use a compiler that supports a 64-bit integer type (or wider);
-you may need to compile with "-DHAVE_STDINT_H".
-#  endif
-typedef long		int_fast64_t;
+# if 1 <= LONG_MAX >> 31 >> 31
+typedef long int_fast64_t;
 #  define INT_FAST64_MIN LONG_MIN
 #  define INT_FAST64_MAX LONG_MAX
+# else
+/* If this fails, compile with -DHAVE_STDINT_H or with a better compiler.  */
+typedef long long int_fast64_t;
+#  define INT_FAST64_MIN LLONG_MIN
+#  define INT_FAST64_MAX LLONG_MAX
 # endif
 #endif
 
 #ifndef PRIdFAST64
-# if INT_FAST64_MAX == LLONG_MAX
-#  define PRIdFAST64 "lld"
-# else
+# if INT_FAST64_MAX == LONG_MAX
 #  define PRIdFAST64 "ld"
+# else
+#  define PRIdFAST64 "lld"
 # endif
 #endif
 
@@ -302,6 +352,9 @@
 #ifndef INTMAX_MAX
 # ifdef LLONG_MAX
 typedef long long intmax_t;
+#  ifndef HAVE_STRTOLL
+#   define HAVE_STRTOLL true
+#  endif
 #  if HAVE_STRTOLL
 #   define strtoimax strtoll
 #  endif
@@ -325,70 +378,183 @@
 # endif
 #endif
 
+#ifndef PTRDIFF_MAX
+# define PTRDIFF_MAX MAXVAL(ptrdiff_t, TYPE_BIT(ptrdiff_t))
+#endif
+
 #ifndef UINT_FAST32_MAX
 typedef unsigned long uint_fast32_t;
 #endif
 
 #ifndef UINT_FAST64_MAX
-# if defined ULLONG_MAX || defined __LONG_LONG_MAX__
-typedef unsigned long long uint_fast64_t;
+# if 3 <= ULONG_MAX >> 31 >> 31
+typedef unsigned long uint_fast64_t;
+#  define UINT_FAST64_MAX ULONG_MAX
 # else
-#  if ULONG_MAX >> 31 >> 1 < 0xffffffff
-Please use a compiler that supports a 64-bit integer type (or wider);
-you may need to compile with "-DHAVE_STDINT_H".
-#  endif
-typedef unsigned long	uint_fast64_t;
+/* If this fails, compile with -DHAVE_STDINT_H or with a better compiler.  */
+typedef unsigned long long uint_fast64_t;
+#  define UINT_FAST64_MAX ULLONG_MAX
 # endif
 #endif
 
 #ifndef UINTMAX_MAX
-# if defined ULLONG_MAX || defined __LONG_LONG_MAX__
+# ifdef ULLONG_MAX
 typedef unsigned long long uintmax_t;
+#  define UINTMAX_MAX ULLONG_MAX
 # else
 typedef unsigned long uintmax_t;
+#  define UINTMAX_MAX ULONG_MAX
 # endif
 #endif
 
 #ifndef PRIuMAX
-# if defined ULLONG_MAX || defined __LONG_LONG_MAX__
+# ifdef ULLONG_MAX
 #  define PRIuMAX "llu"
 # else
 #  define PRIuMAX "lu"
 # endif
 #endif
 
-#ifndef INT32_MAX
-#define INT32_MAX 0x7fffffff
-#endif /* !defined INT32_MAX */
-#ifndef INT32_MIN
-#define INT32_MIN (-1 - INT32_MAX)
-#endif /* !defined INT32_MIN */
-
 #ifndef SIZE_MAX
-#define SIZE_MAX ((size_t) -1)
+# define SIZE_MAX ((size_t) -1)
+#endif
+
+#endif /* PORT_TO_C89 */
+
+/* The maximum size of any created object, as a signed integer.
+   Although the C standard does not outright prohibit larger objects,
+   behavior is undefined if the result of pointer subtraction does not
+   fit into ptrdiff_t, and the code assumes in several places that
+   pointer subtraction works.  As a practical matter it's OK to not
+   support objects larger than this.  */
+#define INDEX_MAX ((ptrdiff_t) min(PTRDIFF_MAX, SIZE_MAX))
+
+/* Support ckd_add, ckd_sub, ckd_mul on C23 or recent-enough GCC-like
+   hosts, unless compiled with -DHAVE_STDCKDINT_H=0 or with pre-C23 EDG.  */
+#if !defined HAVE_STDCKDINT_H && defined __has_include
+# if __has_include(<stdckdint.h>)
+#  define HAVE_STDCKDINT_H true
+# endif
+#endif
+#ifdef HAVE_STDCKDINT_H
+# if HAVE_STDCKDINT_H
+#  include <stdckdint.h>
+# endif
+#elif defined __EDG__
+/* Do nothing, to work around EDG bug <https://bugs.gnu.org/53256>.  */
+#elif defined __has_builtin
+# if __has_builtin(__builtin_add_overflow)
+#  define ckd_add(r, a, b) __builtin_add_overflow(a, b, r)
+# endif
+# if __has_builtin(__builtin_sub_overflow)
+#  define ckd_sub(r, a, b) __builtin_sub_overflow(a, b, r)
+# endif
+# if __has_builtin(__builtin_mul_overflow)
+#  define ckd_mul(r, a, b) __builtin_mul_overflow(a, b, r)
+# endif
+#elif 7 <= __GNUC__
+# define ckd_add(r, a, b) __builtin_add_overflow(a, b, r)
+# define ckd_sub(r, a, b) __builtin_sub_overflow(a, b, r)
+# define ckd_mul(r, a, b) __builtin_mul_overflow(a, b, r)
 #endif
 
 #if 3 <= __GNUC__
-# define ATTRIBUTE_CONST __attribute__((const))
-# define ATTRIBUTE_MALLOC __attribute__((__malloc__))
-# define ATTRIBUTE_PURE __attribute__((__pure__))
-# define ATTRIBUTE_FORMAT(spec) __attribute__((__format__ spec))
+# define ATTRIBUTE_MALLOC __attribute__((malloc))
+# define ATTRIBUTE_FORMAT(spec) __attribute__((format spec))
 #else
-# define ATTRIBUTE_CONST /* empty */
 # define ATTRIBUTE_MALLOC /* empty */
-# define ATTRIBUTE_PURE /* empty */
 # define ATTRIBUTE_FORMAT(spec) /* empty */
 #endif
 
-#if !defined _Noreturn && __STDC_VERSION__ < 201112
-# if 2 < __GNUC__ + (8 <= __GNUC_MINOR__)
-#  define _Noreturn __attribute__((__noreturn__))
+#if (defined __has_c_attribute \
+     && (202311 <= __STDC_VERSION__ || !defined __STRICT_ANSI__))
+# define HAVE___HAS_C_ATTRIBUTE true
+#else
+# define HAVE___HAS_C_ATTRIBUTE false
+#endif
+
+#if HAVE___HAS_C_ATTRIBUTE
+# if __has_c_attribute(deprecated)
+#  define ATTRIBUTE_DEPRECATED [[deprecated]]
+# endif
+#endif
+#ifndef ATTRIBUTE_DEPRECATED
+# if 3 < __GNUC__ + (2 <= __GNUC_MINOR__)
+#  define ATTRIBUTE_DEPRECATED __attribute__((deprecated))
 # else
-#  define _Noreturn
+#  define ATTRIBUTE_DEPRECATED /* empty */
 # endif
 #endif
 
-#if __STDC_VERSION__ < 199901 && !defined restrict
+#if HAVE___HAS_C_ATTRIBUTE
+# if __has_c_attribute(fallthrough)
+#  define ATTRIBUTE_FALLTHROUGH [[fallthrough]]
+# endif
+#endif
+#ifndef ATTRIBUTE_FALLTHROUGH
+# if 7 <= __GNUC__
+#  define ATTRIBUTE_FALLTHROUGH __attribute__((fallthrough))
+# else
+#  define ATTRIBUTE_FALLTHROUGH ((void) 0)
+# endif
+#endif
+
+#if HAVE___HAS_C_ATTRIBUTE
+# if __has_c_attribute(maybe_unused)
+#  define ATTRIBUTE_MAYBE_UNUSED [[maybe_unused]]
+# endif
+#endif
+#ifndef ATTRIBUTE_MAYBE_UNUSED
+# if 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
+#  define ATTRIBUTE_MAYBE_UNUSED __attribute__((unused))
+# else
+#  define ATTRIBUTE_MAYBE_UNUSED /* empty */
+# endif
+#endif
+
+#if HAVE___HAS_C_ATTRIBUTE
+# if __has_c_attribute(noreturn)
+#  define ATTRIBUTE_NORETURN [[noreturn]]
+# endif
+#endif
+#ifndef ATTRIBUTE_NORETURN
+# if 201112 <= __STDC_VERSION__
+#  define ATTRIBUTE_NORETURN _Noreturn
+# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__)
+#  define ATTRIBUTE_NORETURN __attribute__((noreturn))
+# else
+#  define ATTRIBUTE_NORETURN /* empty */
+# endif
+#endif
+
+#if HAVE___HAS_C_ATTRIBUTE
+# if __has_c_attribute(reproducible)
+#  define ATTRIBUTE_REPRODUCIBLE [[reproducible]]
+# endif
+#endif
+#ifndef ATTRIBUTE_REPRODUCIBLE
+# if 3 <= __GNUC__
+#  define ATTRIBUTE_REPRODUCIBLE __attribute__((pure))
+# else
+#  define ATTRIBUTE_REPRODUCIBLE /* empty */
+# endif
+#endif
+
+#if HAVE___HAS_C_ATTRIBUTE
+# if __has_c_attribute(unsequenced)
+#  define ATTRIBUTE_UNSEQUENCED [[unsequenced]]
+# endif
+#endif
+#ifndef ATTRIBUTE_UNSEQUENCED
+# if 3 <= __GNUC__
+#  define ATTRIBUTE_UNSEQUENCED __attribute__((const))
+# else
+#  define ATTRIBUTE_UNSEQUENCED /* empty */
+# endif
+#endif
+
+#if (__STDC_VERSION__ < 199901 && !defined restrict \
+     && (PORT_TO_C89 || defined _MSC_VER))
 # define restrict /* empty */
 #endif
 
@@ -505,11 +671,16 @@
 #  define altzone tz_altzone
 # endif
 
-char *asctime(struct tm const *);
+# if __STDC_VERSION__ < 202311
+#  define DEPRECATED_IN_C23 /* empty */
+# else
+#  define DEPRECATED_IN_C23 ATTRIBUTE_DEPRECATED
+# endif
+DEPRECATED_IN_C23 char *asctime(struct tm const *);
 char *asctime_r(struct tm const *restrict, char *restrict);
-char *ctime(time_t const *);
+DEPRECATED_IN_C23 char *ctime(time_t const *);
 char *ctime_r(time_t const *, char *);
-double difftime(time_t, time_t) ATTRIBUTE_CONST;
+ATTRIBUTE_UNSEQUENCED double difftime(time_t, time_t);
 size_t strftime(char *restrict, size_t, char const *restrict,
 		struct tm const *restrict);
 # if HAVE_STRFTIME_L
@@ -522,9 +693,24 @@
 struct tm *localtime_r(time_t const *restrict, struct tm *restrict);
 time_t mktime(struct tm *);
 time_t time(time_t *);
+time_t timegm(struct tm *);
 void tzset(void);
 #endif
 
+#ifndef HAVE_DECL_TIMEGM
+# if (202311 <= __STDC_VERSION__ \
+      || defined __GLIBC__ || defined __tm_zone /* musl */ \
+      || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ \
+      || (defined __APPLE__ && defined __MACH__))
+#  define HAVE_DECL_TIMEGM true
+# else
+#  define HAVE_DECL_TIMEGM false
+# endif
+#endif
+#if !HAVE_DECL_TIMEGM && !defined timegm
+time_t timegm(struct tm *);
+#endif
+
 #if !HAVE_DECL_ASCTIME_R && !defined asctime_r
 extern char *asctime_r(struct tm const *restrict, char *restrict);
 #endif
@@ -557,13 +743,13 @@
 ** declarations if time_tz is defined.
 */
 
-#ifdef STD_INSPIRED
+#ifndef STD_INSPIRED
+# define STD_INSPIRED 0
+#endif
+#if STD_INSPIRED
 # if TZ_TIME_T || !defined offtime
 struct tm *offtime(time_t const *, long);
 # endif
-# if TZ_TIME_T || !defined timegm
-time_t timegm(struct tm *);
-# endif
 # if TZ_TIME_T || !defined timelocal
 time_t timelocal(struct tm *);
 # endif
@@ -581,6 +767,7 @@
 /* Infer TM_ZONE on systems where this information is known, but suppress
    guessing if NO_TM_ZONE is defined.  Similarly for TM_GMTOFF.  */
 #if (defined __GLIBC__ \
+     || defined __tm_zone /* musl */ \
      || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ \
      || (defined __APPLE__ && defined __MACH__))
 # if !defined TM_GMTOFF && !defined NO_TM_GMTOFF
@@ -606,12 +793,12 @@
 time_t mktime_z(timezone_t restrict, struct tm *restrict);
 timezone_t tzalloc(char const *);
 void tzfree(timezone_t);
-# ifdef STD_INSPIRED
+# if STD_INSPIRED
 #  if TZ_TIME_T || !defined posix2time_z
-time_t posix2time_z(timezone_t, time_t) ATTRIBUTE_PURE;
+ATTRIBUTE_REPRODUCIBLE time_t posix2time_z(timezone_t, time_t);
 #  endif
 #  if TZ_TIME_T || !defined time2posix_z
-time_t time2posix_z(timezone_t, time_t) ATTRIBUTE_PURE;
+ATTRIBUTE_REPRODUCIBLE time_t time2posix_z(timezone_t, time_t);
 #  endif
 # endif
 #endif
@@ -620,18 +807,15 @@
 ** Finally, some convenience items.
 */
 
-#if HAVE_STDBOOL_H
-# include <stdbool.h>
-#else
-# define true 1
-# define false 0
-# define bool int
-#endif
-
-#define TYPE_BIT(type)	(sizeof(type) * CHAR_BIT)
+#define TYPE_BIT(type) (CHAR_BIT * (ptrdiff_t) sizeof(type))
 #define TYPE_SIGNED(type) (((type) -1) < 0)
 #define TWOS_COMPLEMENT(t) ((t) ~ (t) 0 < 0)
 
+/* Minimum and maximum of two values.  Use lower case to avoid
+   naming clashes with standard include files.  */
+#define max(a, b) ((a) > (b) ? (a) : (b))
+#define min(a, b) ((a) < (b) ? (a) : (b))
+
 /* Max and min values of the integer type T, of which only the bottom
    B bits are used, and where the highest-order used bit is considered
    to be a sign bit if T is signed.  */
@@ -651,7 +835,7 @@
    This implementation assumes no padding if time_t is signed and
    either the compiler lacks support for _Generic or time_t is not one
    of the standard signed integer types.  */
-#if HAVE_GENERIC
+#if HAVE__GENERIC
 # define TIME_T_MIN \
     _Generic((time_t) 0, \
 	     signed char: SCHAR_MIN, short: SHRT_MIN, \
@@ -664,10 +848,23 @@
 		int: INT_MAX, long: LONG_MAX, long long: LLONG_MAX, \
 		default: TIME_T_MAX_NO_PADDING)			    \
      : (time_t) -1)
+enum { SIGNED_PADDING_CHECK_NEEDED
+         = _Generic((time_t) 0,
+		    signed char: false, short: false,
+		    int: false, long: false, long long: false,
+		    default: true) };
 #else
 # define TIME_T_MIN TIME_T_MIN_NO_PADDING
 # define TIME_T_MAX TIME_T_MAX_NO_PADDING
+enum { SIGNED_PADDING_CHECK_NEEDED = true };
 #endif
+/* Try to check the padding assumptions.  Although TIME_T_MAX and the
+   following check can both have undefined behavior on oddball
+   platforms due to shifts exceeding widths of signed integers, these
+   platforms' compilers are likely to diagnose these issues in integer
+   constant expressions, so it shouldn't hurt to check statically.  */
+static_assert(! TYPE_SIGNED(time_t) || ! SIGNED_PADDING_CHECK_NEEDED
+	      || TIME_T_MAX >> (TYPE_BIT(time_t) - 2) == 1);
 
 /*
 ** 302 / 1000 is log10(2.0) rounded up.
@@ -689,21 +886,30 @@
 # define INITIALIZE(x)
 #endif
 
+/* Whether memory access must strictly follow the C standard.
+   If 0, it's OK to read uninitialized storage so long as the value is
+   not relied upon.  Defining it to 0 lets mktime access parts of
+   struct tm that might be uninitialized, as a heuristic when the
+   standard doesn't say what to return and when tm_gmtoff can help
+   mktime likely infer a better value.  */
 #ifndef UNINIT_TRAP
 # define UNINIT_TRAP 0
 #endif
 
 #ifdef DEBUG
-# define UNREACHABLE() abort()
-#elif 4 < __GNUC__ + (5 <= __GNUC_MINOR__)
-# define UNREACHABLE() __builtin_unreachable()
-#elif defined __has_builtin
-# if __has_builtin(__builtin_unreachable)
-#  define UNREACHABLE() __builtin_unreachable()
+# undef unreachable
+# define unreachable() abort()
+#elif !defined unreachable
+# ifdef __has_builtin
+#  if __has_builtin(__builtin_unreachable)
+#   define unreachable() __builtin_unreachable()
+#  endif
+# elif 4 < __GNUC__ + (5 <= __GNUC_MINOR__)
+#  define unreachable() __builtin_unreachable()
 # endif
-#endif
-#ifndef UNREACHABLE
-# define UNREACHABLE() ((void) 0)
+# ifndef unreachable
+#  define unreachable() ((void) 0)
+# endif
 #endif
 
 /*
@@ -725,53 +931,61 @@
 #if HAVE_INCOMPATIBLE_CTIME_R
 #undef asctime_r
 #undef ctime_r
-char *asctime_r(struct tm const *, char *);
+char *asctime_r(struct tm const *restrict, char *restrict);
 char *ctime_r(time_t const *, char *);
 #endif /* HAVE_INCOMPATIBLE_CTIME_R */
 
 /* Handy macros that are independent of tzfile implementation.  */
 
-#define SECSPERMIN	60
-#define MINSPERHOUR	60
-#define HOURSPERDAY	24
-#define DAYSPERWEEK	7
-#define DAYSPERNYEAR	365
-#define DAYSPERLYEAR	366
-#define SECSPERHOUR	(SECSPERMIN * MINSPERHOUR)
-#define SECSPERDAY	((int_fast32_t) SECSPERHOUR * HOURSPERDAY)
-#define MONSPERYEAR	12
+enum {
+  SECSPERMIN = 60,
+  MINSPERHOUR = 60,
+  SECSPERHOUR = SECSPERMIN * MINSPERHOUR,
+  HOURSPERDAY = 24,
+  DAYSPERWEEK = 7,
+  DAYSPERNYEAR = 365,
+  DAYSPERLYEAR = DAYSPERNYEAR + 1,
+  MONSPERYEAR = 12,
+  YEARSPERREPEAT = 400	/* years before a Gregorian repeat */
+};
 
-#define YEARSPERREPEAT		400	/* years before a Gregorian repeat */
+#define SECSPERDAY	((int_fast32_t) SECSPERHOUR * HOURSPERDAY)
+
 #define DAYSPERREPEAT		((int_fast32_t) 400 * 365 + 100 - 4 + 1)
 #define SECSPERREPEAT		((int_fast64_t) DAYSPERREPEAT * SECSPERDAY)
 #define AVGSECSPERYEAR		(SECSPERREPEAT / YEARSPERREPEAT)
 
-#define TM_SUNDAY	0
-#define TM_MONDAY	1
-#define TM_TUESDAY	2
-#define TM_WEDNESDAY	3
-#define TM_THURSDAY	4
-#define TM_FRIDAY	5
-#define TM_SATURDAY	6
+enum {
+  TM_SUNDAY,
+  TM_MONDAY,
+  TM_TUESDAY,
+  TM_WEDNESDAY,
+  TM_THURSDAY,
+  TM_FRIDAY,
+  TM_SATURDAY
+};
 
-#define TM_JANUARY	0
-#define TM_FEBRUARY	1
-#define TM_MARCH	2
-#define TM_APRIL	3
-#define TM_MAY		4
-#define TM_JUNE		5
-#define TM_JULY		6
-#define TM_AUGUST	7
-#define TM_SEPTEMBER	8
-#define TM_OCTOBER	9
-#define TM_NOVEMBER	10
-#define TM_DECEMBER	11
+enum {
+  TM_JANUARY,
+  TM_FEBRUARY,
+  TM_MARCH,
+  TM_APRIL,
+  TM_MAY,
+  TM_JUNE,
+  TM_JULY,
+  TM_AUGUST,
+  TM_SEPTEMBER,
+  TM_OCTOBER,
+  TM_NOVEMBER,
+  TM_DECEMBER
+};
 
-#define TM_YEAR_BASE	1900
-#define TM_WDAY_BASE	TM_MONDAY
-
-#define EPOCH_YEAR	1970
-#define EPOCH_WDAY	TM_THURSDAY
+enum {
+  TM_YEAR_BASE = 1900,
+  TM_WDAY_BASE = TM_MONDAY,
+  EPOCH_YEAR = 1970,
+  EPOCH_WDAY = TM_THURSDAY
+};
 
 #define isleap(y) (((y) % 4) == 0 && (((y) % 100) != 0 || ((y) % 400) == 0))
 
diff --git a/libc/tzcode/strftime.c b/libc/tzcode/strftime.c
index d04c5ba..4cde556 100644
--- a/libc/tzcode/strftime.c
+++ b/libc/tzcode/strftime.c
@@ -71,8 +71,6 @@
     const char *    date_fmt;
 };
 
-#define Locale  (&C_time_locale)
-
 static const struct lc_time_T   C_time_locale = {
     {
         "Jan", "Feb", "Mar", "Apr", "May", "Jun",
@@ -128,13 +126,14 @@
 static char *   _yconv(int, int, bool, bool, char *, const char *, int);
 
 #ifndef YEAR_2000_NAME
-#define YEAR_2000_NAME  "CHECK_STRFTIME_FORMATS_FOR_TWO_DIGIT_YEARS"
+# define YEAR_2000_NAME  "CHECK_STRFTIME_FORMATS_FOR_TWO_DIGIT_YEARS"
 #endif /* !defined YEAR_2000_NAME */
 
 #if HAVE_STRFTIME_L
 size_t
-strftime_l(char *s, size_t maxsize, char const *format, struct tm const *t,
-	   locale_t locale)
+strftime_l(char *restrict s, size_t maxsize, char const *restrict format,
+	   struct tm const *restrict t,
+	   ATTRIBUTE_MAYBE_UNUSED locale_t locale)
 {
   /* Just call strftime, as only the C locale is supported.  */
   return strftime(s, maxsize, format, t);
@@ -144,7 +143,8 @@
 #define FORCE_LOWER_CASE 0x100 /* Android extension. */
 
 size_t
-strftime(char *s, size_t maxsize, const char *format, const struct tm *t)
+strftime(char *restrict s, size_t maxsize, char const *restrict format,
+	 struct tm const *restrict t)
 {
     char *  p;
     int saved_errno = errno;
@@ -217,6 +217,8 @@
 _fmt(const char *format, const struct tm *t, char *pt,
         const char *ptlim, enum warn *warnp)
 {
+	struct lc_time_T const *Locale = &C_time_locale;
+
     for ( ; *format; ++format) {
         if (*format == '%') {
             int modifier = 0;
@@ -378,12 +380,21 @@
                     char buf[INT_STRLEN_MAXIMUM(time64_t) + 1] __attribute__((__uninitialized__));
                     time64_t    mkt;
 
-                    tm = *t;
+          					tm.tm_sec = t->tm_sec;
+					          tm.tm_min = t->tm_min;
+          					tm.tm_hour = t->tm_hour;
+					          tm.tm_mday = t->tm_mday;
+          					tm.tm_mon = t->tm_mon;
+					          tm.tm_year = t->tm_year;
+          					tm.tm_isdst = t->tm_isdst;
+#if defined TM_GMTOFF && ! UNINIT_TRAP
+					          tm.TM_GMTOFF = t->TM_GMTOFF;
+#endif
                     mkt = mktime64(&tm);
-					/* There is no portable, definitive
-					   test for whether whether mktime
-					   succeeded, so treat (time_t) -1 as
-					   the success that it might be.  */
+					/* If mktime fails, %s expands to the
+              value of (time_t) -1 as a failure
+              marker; this is better in practice
+              than strftime failing.  */
                     if (TYPE_SIGNED(time64_t)) {
                       intmax_t n = mkt;
                       sprintf(buf, "%"PRIdMAX, n);
@@ -607,19 +618,19 @@
 # endif
                 negative = diff < 0;
                 if (diff == 0) {
-#ifdef TM_ZONE
+# ifdef TM_ZONE
                   // Android-changed: do not use TM_ZONE as it is as it may be null.
                   {
                     const char* zone = _safe_tm_zone(t);
                     negative = zone[0] == '-';
                   }
-#else
+# else
                     negative = t->tm_isdst < 0;
-# if HAVE_TZNAME
+#  if HAVE_TZNAME
                     if (tzname[t->tm_isdst != 0][0] == '-')
                         negative = true;
+#  endif
 # endif
-#endif
                 }
                 if (negative) {
                     sign = "-";
@@ -748,7 +759,7 @@
     register int    lead;
     register int    trail;
 
-#define DIVISOR 100
+    int DIVISOR = 100;
     trail = a % DIVISOR + b % DIVISOR;
     lead = a / DIVISOR + b / DIVISOR + trail / DIVISOR;
     trail %= DIVISOR;
diff --git a/libc/tzcode/strptime.c b/libc/tzcode/strptime.c
index d31a501..20160c9 100644
--- a/libc/tzcode/strptime.c
+++ b/libc/tzcode/strptime.c
@@ -28,6 +28,8 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include "private.h"
+
 #include <ctype.h>
 #include <errno.h>
 #include <limits.h>
@@ -37,7 +39,6 @@
 #include <time.h>
 
 #include "localedef.h"
-#include "private.h"
 #include "tzfile.h"
 
 // Android: ignore OpenBSD's DEF_WEAK() stuff.
@@ -67,8 +68,8 @@
 #define FIELD_TM_YDAY	(1 << 3)
 #define FIELD_TM_YEAR	(1 << 4)
 
-static char gmt[] = { "GMT" };
-static char utc[] = { "UTC" };
+static const char gmt[] = { "GMT" };
+static const char utc[] = { "UTC" };
 /* RFC-822/RFC-2822 */
 static const char * const nast[5] = {
        "EST",    "CST",    "MST",    "PST",    "\0\0\0"
@@ -96,6 +97,7 @@
 	return(_strptime(buf, fmt, tm, 1));
 }
 DEF_WEAK(strptime);
+__strong_alias(strptime_l, strptime);
 
 static char *
 _strptime(const char *buf, const char *fmt, struct tm *tm, int initialize)
diff --git a/libc/tzcode/tzfile.h b/libc/tzcode/tzfile.h
index c5f9967..7ac8b51 100644
--- a/libc/tzcode/tzfile.h
+++ b/libc/tzcode/tzfile.h
@@ -22,15 +22,15 @@
 */
 
 #ifndef TZDIR
-#define TZDIR	"/usr/share/zoneinfo" /* Time zone object file directory */
+# define TZDIR "/usr/share/zoneinfo" /* Time zone object file directory */
 #endif /* !defined TZDIR */
 
 #ifndef TZDEFAULT
-#define TZDEFAULT	"/etc/localtime"
+# define TZDEFAULT "/etc/localtime"
 #endif /* !defined TZDEFAULT */
 
 #ifndef TZDEFRULES
-#define TZDEFRULES	"posixrules"
+# define TZDEFRULES "posixrules"
 #endif /* !defined TZDEFRULES */
 
 
@@ -103,21 +103,25 @@
 */
 
 #ifndef TZ_MAX_TIMES
-#define TZ_MAX_TIMES	2000
+/* This must be at least 242 for Europe/London with 'zic -b fat'.  */
+# define TZ_MAX_TIMES 2000
 #endif /* !defined TZ_MAX_TIMES */
 
 #ifndef TZ_MAX_TYPES
-/* This must be at least 17 for Europe/Samara and Europe/Vilnius.  */
-#define TZ_MAX_TYPES	256 /* Limited by what (unsigned char)'s can hold */
+/* This must be at least 18 for Europe/Vilnius with 'zic -b fat'.  */
+# define TZ_MAX_TYPES 256 /* Limited by what (unsigned char)'s can hold */
 #endif /* !defined TZ_MAX_TYPES */
 
 #ifndef TZ_MAX_CHARS
-#define TZ_MAX_CHARS	50	/* Maximum number of abbreviation characters */
+/* This must be at least 40 for America/Anchorage.  */
+# define TZ_MAX_CHARS 50	/* Maximum number of abbreviation characters */
 				/* (limited by what unsigned chars can hold) */
 #endif /* !defined TZ_MAX_CHARS */
 
 #ifndef TZ_MAX_LEAPS
-#define TZ_MAX_LEAPS	50	/* Maximum number of leap second corrections */
+/* This must be at least 27 for leap seconds from 1972 through mid-2023.
+   There's a plan to discontinue leap seconds by 2035.  */
+# define TZ_MAX_LEAPS 50	/* Maximum number of leap second corrections */
 #endif /* !defined TZ_MAX_LEAPS */
 
 #define SECSPERMIN	60
diff --git a/libc/upstream-freebsd/android/include/libc_private.h b/libc/upstream-freebsd/android/include/libc_private.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libc/upstream-freebsd/android/include/libc_private.h
diff --git a/libm/fenv-access.h b/libc/upstream-freebsd/android/include/xlocale_private.h
similarity index 88%
copy from libm/fenv-access.h
copy to libc/upstream-freebsd/android/include/xlocale_private.h
index 7acb34d..010d70c 100644
--- a/libm/fenv-access.h
+++ b/libc/upstream-freebsd/android/include/xlocale_private.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2023 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,8 @@
 
 #pragma once
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
-#endif
+#include <locale.h>
+
+#define __get_locale() LC_GLOBAL_LOCALE
+
+#define FIX_LOCALE(__l) /* Nothing. */
diff --git a/libc/upstream-freebsd/lib/libc/gen/ldexp.c b/libc/upstream-freebsd/lib/libc/gen/ldexp.c
deleted file mode 100644
index 887f673..0000000
--- a/libc/upstream-freebsd/lib/libc/gen/ldexp.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/* @(#)s_scalbn.c 5.1 93/09/24 */
-/* @(#)fdlibm.h 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <sys/types.h>
-#include <machine/endian.h>
-#include <math.h>
-
-/* Bit fiddling routines copied from msun/src/math_private.h,v 1.15 */
-
-#if BYTE_ORDER == BIG_ENDIAN
-
-typedef union
-{
-  double value;
-  struct
-  {
-    u_int32_t msw;
-    u_int32_t lsw;
-  } parts;
-} ieee_double_shape_type;
-
-#endif
-
-#if BYTE_ORDER == LITTLE_ENDIAN
-
-typedef union
-{
-  double value;
-  struct
-  {
-    u_int32_t lsw;
-    u_int32_t msw;
-  } parts;
-} ieee_double_shape_type;
-
-#endif
-
-/* Get two 32 bit ints from a double.  */
-
-#define EXTRACT_WORDS(ix0,ix1,d)				\
-do {								\
-  ieee_double_shape_type ew_u;					\
-  ew_u.value = (d);						\
-  (ix0) = ew_u.parts.msw;					\
-  (ix1) = ew_u.parts.lsw;					\
-} while (0)
-
-/* Get the more significant 32 bit int from a double.  */
-
-#define GET_HIGH_WORD(i,d)					\
-do {								\
-  ieee_double_shape_type gh_u;					\
-  gh_u.value = (d);						\
-  (i) = gh_u.parts.msw;						\
-} while (0)
-
-/* Set the more significant 32 bits of a double from an int.  */
-
-#define SET_HIGH_WORD(d,v)					\
-do {								\
-  ieee_double_shape_type sh_u;					\
-  sh_u.value = (d);						\
-  sh_u.parts.msw = (v);						\
-  (d) = sh_u.value;						\
-} while (0)
-
-
-static const double
-two54   =  1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */
-twom54  =  5.55111512312578270212e-17, /* 0x3C900000, 0x00000000 */
-huge   = 1.0e+300,
-tiny   = 1.0e-300;
-
-static double
-_copysign(double x, double y)
-{
-	u_int32_t hx,hy;
-	GET_HIGH_WORD(hx,x);
-	GET_HIGH_WORD(hy,y);
-	SET_HIGH_WORD(x,(hx&0x7fffffff)|(hy&0x80000000));
-	return x;
-}
-
-double
-ldexp(double x, int n)
-{
-	int32_t k,hx,lx;
-	EXTRACT_WORDS(hx,lx,x);
-        k = (hx&0x7ff00000)>>20;		/* extract exponent */
-        if (k==0) {				/* 0 or subnormal x */
-            if ((lx|(hx&0x7fffffff))==0) return x; /* +-0 */
-	    x *= two54;
-	    GET_HIGH_WORD(hx,x);
-	    k = ((hx&0x7ff00000)>>20) - 54;
-            if (n< -50000) return tiny*x; 	/*underflow*/
-	    }
-        if (k==0x7ff) return x+x;		/* NaN or Inf */
-        k = k+n;
-        if (k >  0x7fe) return huge*_copysign(huge,x); /* overflow  */
-        if (k > 0) 				/* normal result */
-	    {SET_HIGH_WORD(x,(hx&0x800fffff)|(k<<20)); return x;}
-        if (k <= -54) {
-            if (n > 50000) 	/* in case integer overflow in n+k */
-		return huge*_copysign(huge,x);	/*overflow*/
-	    else return tiny*_copysign(tiny,x); 	/*underflow*/
-	}
-        k += 54;				/* subnormal result */
-	SET_HIGH_WORD(x,(hx&0x800fffff)|(k<<20));
-        return x*twom54;
-}
diff --git a/libc/upstream-freebsd/lib/libc/locale/wcsftime.c b/libc/upstream-freebsd/lib/libc/locale/wcsftime.c
new file mode 100644
index 0000000..4fe6ad5
--- /dev/null
+++ b/libc/upstream-freebsd/lib/libc/locale/wcsftime.c
@@ -0,0 +1,124 @@
+/*-
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
+ * Copyright (c) 2002 Tim J. Robbins
+ * All rights reserved.
+ *
+ * Copyright (c) 2011 The FreeBSD Foundation
+ *
+ * Portions of this software were developed by David Chisnall
+ * under sponsorship from the FreeBSD Foundation.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <errno.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <time.h>
+#include <wchar.h>
+#include "xlocale_private.h"
+
+/*
+ * Convert date and time to a wide-character string.
+ *
+ * This is the wide-character counterpart of strftime(). So that we do not
+ * have to duplicate the code of strftime(), we convert the format string to
+ * multibyte, call strftime(), then convert the result back into wide
+ * characters.
+ *
+ * This technique loses in the presence of stateful multibyte encoding if any
+ * of the conversions in the format string change conversion state. When
+ * stateful encoding is implemented, we will need to reset the state between
+ * format specifications in the format string.
+ */
+size_t
+wcsftime_l(wchar_t * __restrict wcs, size_t maxsize,
+	const wchar_t * __restrict format, const struct tm * __restrict timeptr,
+	locale_t locale)
+{
+	static const mbstate_t initial;
+	mbstate_t mbs;
+	char *dst, *sformat;
+	const char *dstp;
+	const wchar_t *formatp;
+	size_t n, sflen;
+	int sverrno;
+	FIX_LOCALE(locale);
+
+	sformat = dst = NULL;
+
+	/*
+	 * Convert the supplied format string to a multibyte representation
+	 * for strftime(), which only handles single-byte characters.
+	 */
+	mbs = initial;
+	formatp = format;
+	sflen = wcsrtombs_l(NULL, &formatp, 0, &mbs, locale);
+	if (sflen == (size_t)-1)
+		goto error;
+	if ((sformat = malloc(sflen + 1)) == NULL)
+		goto error;
+	mbs = initial;
+	wcsrtombs_l(sformat, &formatp, sflen + 1, &mbs, locale);
+
+	/*
+	 * Allocate memory for longest multibyte sequence that will fit
+	 * into the caller's buffer and call strftime() to fill it.
+	 * Then, copy and convert the result back into wide characters in
+	 * the caller's buffer.
+	 */
+	if (SIZE_T_MAX / MB_CUR_MAX <= maxsize) {
+		/* maxsize is prepostorously large - avoid int. overflow. */
+		errno = EINVAL;
+		goto error;
+	}
+	if ((dst = malloc(maxsize * MB_CUR_MAX)) == NULL)
+		goto error;
+	if (strftime_l(dst, maxsize, sformat, timeptr, locale) == 0)
+		goto error;
+	dstp = dst;
+	mbs = initial;
+	n = mbsrtowcs_l(wcs, &dstp, maxsize, &mbs, locale);
+	if (n == (size_t)-2 || n == (size_t)-1 || dstp != NULL)
+		goto error;
+
+	free(sformat);
+	free(dst);
+	return (n);
+
+error:
+	sverrno = errno;
+	free(sformat);
+	free(dst);
+	errno = sverrno;
+	return (0);
+}
+size_t
+wcsftime(wchar_t * __restrict wcs, size_t maxsize,
+	const wchar_t * __restrict format, const struct tm * __restrict timeptr)
+{
+	return wcsftime_l(wcs, maxsize, format, timeptr, __get_locale());
+}
diff --git a/libc/upstream-freebsd/lib/libc/stdlib/getopt_long.c b/libc/upstream-freebsd/lib/libc/stdlib/getopt_long.c
index 6a3067c..1f3548b 100644
--- a/libc/upstream-freebsd/lib/libc/stdlib/getopt_long.c
+++ b/libc/upstream-freebsd/lib/libc/stdlib/getopt_long.c
@@ -55,7 +55,7 @@
 #endif /* LIBC_SCCS and not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/lib/libc/stdlib/getopt_long.c 342757 2019-01-04 03:13:24Z kevans $");
+__FBSDID("$FreeBSD$");
 
 #include <err.h>
 #include <errno.h>
@@ -88,7 +88,7 @@
 #define	BADARG		((*options == ':') ? (int)':' : (int)'?')
 #define	INORDER 	(int)1
 
-#define	EMSG		""
+static char EMSG[] = "";
 
 #ifdef GNU_COMPATIBLE
 #define NO_PREFIX	(-1)
@@ -194,7 +194,7 @@
 {
 	char *current_argv, *has_equal;
 #ifdef GNU_COMPATIBLE
-	char *current_dash;
+	const char *current_dash;
 #endif
 	size_t current_argv_len;
 	int i, match, exact_match, second_partial_match;
diff --git a/libc/upstream-freebsd/lib/libc/stdlib/hcreate.c b/libc/upstream-freebsd/lib/libc/stdlib/hcreate.c
index b175d34..c9a0847 100644
--- a/libc/upstream-freebsd/lib/libc/stdlib/hcreate.c
+++ b/libc/upstream-freebsd/lib/libc/stdlib/hcreate.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2015 Nuxi, https://nuxi.nl/
  *
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/lib/libc/stdlib/hcreate.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <search.h>
 #include <stdbool.h>
diff --git a/libc/upstream-freebsd/lib/libc/stdlib/hcreate_r.c b/libc/upstream-freebsd/lib/libc/stdlib/hcreate_r.c
index 34db88e..83e322a 100644
--- a/libc/upstream-freebsd/lib/libc/stdlib/hcreate_r.c
+++ b/libc/upstream-freebsd/lib/libc/stdlib/hcreate_r.c
@@ -24,7 +24,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/lib/libc/stdlib/hcreate_r.c 292767 2015-12-27 07:50:11Z ed $");
+__FBSDID("$FreeBSD$");
 
 #include <search.h>
 #include <stdlib.h>
diff --git a/libc/upstream-freebsd/lib/libc/stdlib/hdestroy_r.c b/libc/upstream-freebsd/lib/libc/stdlib/hdestroy_r.c
index 76d8a42..890bd08 100644
--- a/libc/upstream-freebsd/lib/libc/stdlib/hdestroy_r.c
+++ b/libc/upstream-freebsd/lib/libc/stdlib/hdestroy_r.c
@@ -24,7 +24,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/lib/libc/stdlib/hdestroy_r.c 292767 2015-12-27 07:50:11Z ed $");
+__FBSDID("$FreeBSD$");
 
 #include <search.h>
 #include <stdlib.h>
diff --git a/libc/upstream-freebsd/lib/libc/stdlib/hsearch.h b/libc/upstream-freebsd/lib/libc/stdlib/hsearch.h
index a0542b5..649933d 100644
--- a/libc/upstream-freebsd/lib/libc/stdlib/hsearch.h
+++ b/libc/upstream-freebsd/lib/libc/stdlib/hsearch.h
@@ -22,7 +22,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: head/lib/libc/stdlib/hsearch.h 292767 2015-12-27 07:50:11Z ed $
+ * $FreeBSD$
  */
 
 #ifndef HSEARCH_H
diff --git a/libc/upstream-freebsd/lib/libc/stdlib/hsearch_r.c b/libc/upstream-freebsd/lib/libc/stdlib/hsearch_r.c
index 9a859d3..2fb5991 100644
--- a/libc/upstream-freebsd/lib/libc/stdlib/hsearch_r.c
+++ b/libc/upstream-freebsd/lib/libc/stdlib/hsearch_r.c
@@ -24,7 +24,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/lib/libc/stdlib/hsearch_r.c 292767 2015-12-27 07:50:11Z ed $");
+__FBSDID("$FreeBSD$");
 
 #include <errno.h>
 #include <limits.h>
diff --git a/libc/upstream-freebsd/lib/libc/stdlib/qsort.c b/libc/upstream-freebsd/lib/libc/stdlib/qsort.c
index e0db4f3..0d65cd1 100644
--- a/libc/upstream-freebsd/lib/libc/stdlib/qsort.c
+++ b/libc/upstream-freebsd/lib/libc/stdlib/qsort.c
@@ -33,12 +33,20 @@
 static char sccsid[] = "@(#)qsort.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/lib/libc/stdlib/qsort.c 334928 2018-06-10 17:54:44Z kib $");
+__FBSDID("$FreeBSD$");
 
+#include <errno.h>
+#include <stdint.h>
 #include <stdlib.h>
+#include <string.h>
+#include "libc_private.h"
 
-#ifdef I_AM_QSORT_R
+#if defined(I_AM_QSORT_R)
+typedef int		 cmp_t(const void *, const void *, void *);
+#elif defined(I_AM_QSORT_R_COMPAT)
 typedef int		 cmp_t(void *, const void *, const void *);
+#elif defined(I_AM_QSORT_S)
+typedef int		 cmp_t(const void *, const void *, void *);
 #else
 typedef int		 cmp_t(const void *, const void *);
 #endif
@@ -65,15 +73,19 @@
 #define	vecswap(a, b, n)				\
 	if ((n) > 0) swapfunc(a, b, n)
 
-#ifdef I_AM_QSORT_R
+#if defined(I_AM_QSORT_R)
+#define	CMP(t, x, y) (cmp((x), (y), (t)))
+#elif defined(I_AM_QSORT_R_COMPAT)
 #define	CMP(t, x, y) (cmp((t), (x), (y)))
+#elif defined(I_AM_QSORT_S)
+#define	CMP(t, x, y) (cmp((x), (y), (t)))
 #else
 #define	CMP(t, x, y) (cmp((x), (y)))
 #endif
 
 static inline char *
 med3(char *a, char *b, char *c, cmp_t *cmp, void *thunk
-#ifndef I_AM_QSORT_R
+#if !defined(I_AM_QSORT_R) && !defined(I_AM_QSORT_R_COMPAT) && !defined(I_AM_QSORT_S)
 __unused
 #endif
 )
@@ -83,20 +95,28 @@
 	      :(CMP(thunk, b, c) > 0 ? b : (CMP(thunk, a, c) < 0 ? a : c ));
 }
 
-#ifdef I_AM_QSORT_R
-void
-qsort_r(void *a, size_t n, size_t es, void *thunk, cmp_t *cmp)
-#else
-#define	thunk NULL
-void
-qsort(void *a, size_t n, size_t es, cmp_t *cmp)
+/*
+ * The actual qsort() implementation is static to avoid preemptible calls when
+ * recursing. Also give them different names for improved debugging.
+ */
+#if defined(I_AM_QSORT_R)
+#define local_qsort local_qsort_r
+#elif defined(I_AM_QSORT_R_COMPAT)
+#define local_qsort local_qsort_r_compat
+#elif defined(I_AM_QSORT_S)
+#define local_qsort local_qsort_s
 #endif
+static void
+local_qsort(void *a, size_t n, size_t es, cmp_t *cmp, void *thunk)
 {
 	char *pa, *pb, *pc, *pd, *pl, *pm, *pn;
 	size_t d1, d2;
 	int cmp_result;
 	int swap_cnt;
 
+	/* if there are less than 2 elements, then sorting is not needed */
+	if (__predict_false(n < 2))
+		return;
 loop:
 	swap_cnt = 0;
 	if (n < 7) {
@@ -160,7 +180,12 @@
 	pn = (char *)a + n * es;
 	d1 = MIN(pa - (char *)a, pb - pa);
 	vecswap(a, pb - d1, d1);
-	d1 = MIN(pd - pc, pn - pd - es);
+	/*
+	 * Cast es to preserve signedness of right-hand side of MIN()
+	 * expression, to avoid sign ambiguity in the implied comparison.  es
+	 * is safely within [0, SSIZE_MAX].
+	 */
+	d1 = MIN(pd - pc, pn - pd - (ssize_t)es);
 	vecswap(pb, pn - d1, d1);
 
 	d1 = pb - pa;
@@ -168,11 +193,7 @@
 	if (d1 <= d2) {
 		/* Recurse on left partition, then iterate on right partition */
 		if (d1 > es) {
-#ifdef I_AM_QSORT_R
-			qsort_r(a, d1 / es, es, thunk, cmp);
-#else
-			qsort(a, d1 / es, es, cmp);
-#endif
+			local_qsort(a, d1 / es, es, cmp, thunk);
 		}
 		if (d2 > es) {
 			/* Iterate rather than recurse to save stack space */
@@ -184,11 +205,7 @@
 	} else {
 		/* Recurse on right partition, then iterate on left partition */
 		if (d2 > es) {
-#ifdef I_AM_QSORT_R
-			qsort_r(pn - d2, d2 / es, es, thunk, cmp);
-#else
-			qsort(pn - d2, d2 / es, es, cmp);
-#endif
+			local_qsort(pn - d2, d2 / es, es, cmp, thunk);
 		}
 		if (d1 > es) {
 			/* Iterate rather than recurse to save stack space */
@@ -198,3 +215,53 @@
 		}
 	}
 }
+
+#if defined(I_AM_QSORT_R)
+void
+(qsort_r)(void *a, size_t n, size_t es, cmp_t *cmp, void *thunk)
+{
+	local_qsort_r(a, n, es, cmp, thunk);
+}
+#elif defined(I_AM_QSORT_R_COMPAT)
+void
+__qsort_r_compat(void *a, size_t n, size_t es, void *thunk, cmp_t *cmp)
+{
+	local_qsort_r_compat(a, n, es, cmp, thunk);
+}
+#elif defined(I_AM_QSORT_S)
+errno_t
+qsort_s(void *a, rsize_t n, rsize_t es, cmp_t *cmp, void *thunk)
+{
+	if (n > RSIZE_MAX) {
+		__throw_constraint_handler_s("qsort_s : n > RSIZE_MAX", EINVAL);
+		return (EINVAL);
+	} else if (es > RSIZE_MAX) {
+		__throw_constraint_handler_s("qsort_s : es > RSIZE_MAX",
+		    EINVAL);
+		return (EINVAL);
+	} else if (n != 0) {
+		if (a == NULL) {
+			__throw_constraint_handler_s("qsort_s : a == NULL",
+			    EINVAL);
+			return (EINVAL);
+		} else if (cmp == NULL) {
+			__throw_constraint_handler_s("qsort_s : cmp == NULL",
+			    EINVAL);
+			return (EINVAL);
+		} else if (es <= 0) {
+			__throw_constraint_handler_s("qsort_s : es <= 0",
+			    EINVAL);
+			return (EINVAL);
+		}
+	}
+
+	local_qsort_s(a, n, es, cmp, thunk);
+	return (0);
+}
+#else
+void
+qsort(void *a, size_t n, size_t es, cmp_t *cmp)
+{
+	local_qsort(a, n, es, cmp, NULL);
+}
+#endif
diff --git a/libc/upstream-freebsd/lib/libc/stdlib/qsort_r.c b/libc/upstream-freebsd/lib/libc/stdlib/qsort_r.c
new file mode 100644
index 0000000..b382b40
--- /dev/null
+++ b/libc/upstream-freebsd/lib/libc/stdlib/qsort_r.c
@@ -0,0 +1,6 @@
+/*
+ * This file is in the public domain.  Originally written by Garrett
+ * A. Wollman.
+ */
+#define I_AM_QSORT_R
+#include "qsort.c"
diff --git a/libc/upstream-freebsd/lib/libc/stdlib/quick_exit.c b/libc/upstream-freebsd/lib/libc/stdlib/quick_exit.c
index 9e4e79d..d486b1a 100644
--- a/libc/upstream-freebsd/lib/libc/stdlib/quick_exit.c
+++ b/libc/upstream-freebsd/lib/libc/stdlib/quick_exit.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2011 David Chisnall
  * All rights reserved.
@@ -25,7 +25,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: head/lib/libc/stdlib/quick_exit.c 326193 2017-11-25 17:12:48Z pfg $
+ * $FreeBSD$
  */
 
 #include <sys/types.h>
diff --git a/libc/upstream-freebsd/lib/libc/string/memcpy.c b/libc/upstream-freebsd/lib/libc/string/memcpy.c
deleted file mode 100644
index ed03856..0000000
--- a/libc/upstream-freebsd/lib/libc/string/memcpy.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#define	MEMCOPY
-#include "bcopy.c"
diff --git a/libc/upstream-freebsd/lib/libc/string/memmove.c b/libc/upstream-freebsd/lib/libc/string/memmove.c
deleted file mode 100644
index 05cf75a..0000000
--- a/libc/upstream-freebsd/lib/libc/string/memmove.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#define	MEMMOVE
-#include "bcopy.c"
diff --git a/libc/upstream-freebsd/lib/libc/string/wcpcpy.c b/libc/upstream-freebsd/lib/libc/string/wcpcpy.c
index e040dba..41b7c51 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcpcpy.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcpcpy.c
@@ -35,7 +35,7 @@
 static char sccsid[] = "@(#)strcpy.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/lib/libc/string/wcpcpy.c 326025 2017-11-20 19:49:47Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-freebsd/lib/libc/string/wcpncpy.c b/libc/upstream-freebsd/lib/libc/string/wcpncpy.c
index 8bf6e87..ccc64cd 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcpncpy.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcpncpy.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2009 David Schultz <das@FreeBSD.org>
  * All rights reserved.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/lib/libc/string/wcpncpy.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-freebsd/lib/libc/string/wcscasecmp.c b/libc/upstream-freebsd/lib/libc/string/wcscasecmp.c
index 5bd468d..03a61f8 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcscasecmp.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcscasecmp.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2009 David Schultz <das@FreeBSD.org>
  * All rights reserved.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/lib/libc/string/wcscasecmp.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 #include <wctype.h>
diff --git a/libc/upstream-freebsd/lib/libc/string/wcscat.c b/libc/upstream-freebsd/lib/libc/string/wcscat.c
index 792f61e..777a576 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcscat.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcscat.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c)1999 Citrus Project,
  * All rights reserved.
@@ -34,7 +34,7 @@
 __RCSID("$NetBSD: wcscat.c,v 1.1 2000/12/23 23:14:36 itojun Exp $");
 #endif /* LIBC_SCCS and not lint */
 #endif
-__FBSDID("$FreeBSD: head/lib/libc/string/wcscat.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-freebsd/lib/libc/string/wcschr.c b/libc/upstream-freebsd/lib/libc/string/wcschr.c
index ca740c0..a7f1de0 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcschr.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcschr.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2002 Tim J. Robbins
  * All rights reserved.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/lib/libc/string/wcschr.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-freebsd/lib/libc/string/wcscmp.c b/libc/upstream-freebsd/lib/libc/string/wcscmp.c
index db01892..7205238 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcscmp.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcscmp.c
@@ -39,7 +39,7 @@
 __RCSID("$NetBSD: wcscmp.c,v 1.3 2001/01/05 12:13:12 itojun Exp $");
 #endif
 #endif /* LIBC_SCCS and not lint */
-__FBSDID("$FreeBSD: head/lib/libc/string/wcscmp.c 326025 2017-11-20 19:49:47Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-freebsd/lib/libc/string/wcscpy.c b/libc/upstream-freebsd/lib/libc/string/wcscpy.c
index a639e74..b400fae 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcscpy.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcscpy.c
@@ -34,7 +34,7 @@
 __RCSID("$NetBSD: wcscpy.c,v 1.1 2000/12/23 23:14:36 itojun Exp $");
 #endif /* LIBC_SCCS and not lint */
 #endif
-__FBSDID("$FreeBSD: head/lib/libc/string/wcscpy.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-freebsd/lib/libc/string/wcscspn.c b/libc/upstream-freebsd/lib/libc/string/wcscspn.c
index 8a7682f..a0db715 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcscspn.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcscspn.c
@@ -34,7 +34,7 @@
 __RCSID("$NetBSD: wcscspn.c,v 1.1 2000/12/23 23:14:36 itojun Exp $");
 #endif /* LIBC_SCCS and not lint */
 #endif
-__FBSDID("$FreeBSD: head/lib/libc/string/wcscspn.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-freebsd/lib/libc/string/wcsdup.c b/libc/upstream-freebsd/lib/libc/string/wcsdup.c
index b97f766..327574b 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcsdup.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcsdup.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2005 Tim J. Robbins.
  * All rights reserved.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/lib/libc/string/wcsdup.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <stdlib.h>
 #include <wchar.h>
diff --git a/libc/upstream-freebsd/lib/libc/string/wcslcat.c b/libc/upstream-freebsd/lib/libc/string/wcslcat.c
index 9706fa6..f954b73 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcslcat.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcslcat.c
@@ -35,7 +35,7 @@
 __RCSID("$NetBSD: wcslcat.c,v 1.1 2000/12/23 23:14:36 itojun Exp $");
 #endif /* LIBC_SCCS and not lint */
 #endif
-__FBSDID("$FreeBSD: head/lib/libc/string/wcslcat.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <sys/types.h>
 #include <wchar.h>
diff --git a/libc/upstream-freebsd/lib/libc/string/wcslen.c b/libc/upstream-freebsd/lib/libc/string/wcslen.c
index c596825..cfd3aa2 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcslen.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcslen.c
@@ -34,7 +34,7 @@
 __RCSID("$NetBSD: wcslen.c,v 1.1 2000/12/23 23:14:36 itojun Exp $");
 #endif /* LIBC_SCCS and not lint */
 #endif
-__FBSDID("$FreeBSD: head/lib/libc/string/wcslen.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-freebsd/lib/libc/string/wcsncasecmp.c b/libc/upstream-freebsd/lib/libc/string/wcsncasecmp.c
index a963444..39f58be 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcsncasecmp.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcsncasecmp.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2009 David Schultz <das@FreeBSD.org>
  * All rights reserved.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/lib/libc/string/wcsncasecmp.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 #include <wctype.h>
diff --git a/libc/upstream-freebsd/lib/libc/string/wcsncat.c b/libc/upstream-freebsd/lib/libc/string/wcsncat.c
index 0214af4..eb13fab 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcsncat.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcsncat.c
@@ -34,7 +34,7 @@
 __RCSID("$NetBSD: wcsncat.c,v 1.1 2000/12/23 23:14:36 itojun Exp $");
 #endif /* LIBC_SCCS and not lint */
 #endif
-__FBSDID("$FreeBSD: head/lib/libc/string/wcsncat.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-freebsd/lib/libc/string/wcsncmp.c b/libc/upstream-freebsd/lib/libc/string/wcsncmp.c
index 77b709c..55c88f6 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcsncmp.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcsncmp.c
@@ -36,7 +36,7 @@
 __RCSID("$NetBSD: wcsncmp.c,v 1.3 2001/01/05 12:13:13 itojun Exp $");
 #endif /* LIBC_SCCS and not lint */
 #endif
-__FBSDID("$FreeBSD: head/lib/libc/string/wcsncmp.c 326025 2017-11-20 19:49:47Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-freebsd/lib/libc/string/wcsncpy.c b/libc/upstream-freebsd/lib/libc/string/wcsncpy.c
index 4075ecc..f86e40f 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcsncpy.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcsncpy.c
@@ -38,7 +38,7 @@
 #endif /* LIBC_SCCS and not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/lib/libc/string/wcsncpy.c 326025 2017-11-20 19:49:47Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-freebsd/lib/libc/string/wcsnlen.c b/libc/upstream-freebsd/lib/libc/string/wcsnlen.c
index 271d341..15fd520 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcsnlen.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcsnlen.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2009 David Schultz <das@FreeBSD.org>
  * All rights reserved.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/lib/libc/string/wcsnlen.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-freebsd/lib/libc/string/wcspbrk.c b/libc/upstream-freebsd/lib/libc/string/wcspbrk.c
index 63efb01..0e9ccf6 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcspbrk.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcspbrk.c
@@ -34,7 +34,7 @@
 __RCSID("$NetBSD: wcspbrk.c,v 1.1 2000/12/23 23:14:37 itojun Exp $");
 #endif /* LIBC_SCCS and not lint */
 #endif
-__FBSDID("$FreeBSD: head/lib/libc/string/wcspbrk.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-freebsd/lib/libc/string/wcsrchr.c b/libc/upstream-freebsd/lib/libc/string/wcsrchr.c
index 97665ca..cc5e7f2 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcsrchr.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcsrchr.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2002 Tim J. Robbins
  * All rights reserved.
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/lib/libc/string/wcsrchr.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-freebsd/lib/libc/string/wcsspn.c b/libc/upstream-freebsd/lib/libc/string/wcsspn.c
index b08a39e..2b08acb 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcsspn.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcsspn.c
@@ -34,7 +34,7 @@
 __RCSID("$NetBSD: wcsspn.c,v 1.1 2000/12/23 23:14:37 itojun Exp $");
 #endif /* LIBC_SCCS and not lint */
 #endif
-__FBSDID("$FreeBSD: head/lib/libc/string/wcsspn.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-freebsd/lib/libc/string/wcsstr.c b/libc/upstream-freebsd/lib/libc/string/wcsstr.c
index 4309025..74921fe 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcsstr.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcsstr.c
@@ -38,7 +38,7 @@
 #endif /* LIBC_SCCS and not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/lib/libc/string/wcsstr.c 326025 2017-11-20 19:49:47Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-freebsd/lib/libc/string/wcstok.c b/libc/upstream-freebsd/lib/libc/string/wcstok.c
index 8d62bf7..b4bdc86 100644
--- a/libc/upstream-freebsd/lib/libc/string/wcstok.c
+++ b/libc/upstream-freebsd/lib/libc/string/wcstok.c
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/lib/libc/string/wcstok.c 326025 2017-11-20 19:49:47Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-freebsd/lib/libc/string/wmemchr.c b/libc/upstream-freebsd/lib/libc/string/wmemchr.c
index 412a276..42ae286 100644
--- a/libc/upstream-freebsd/lib/libc/string/wmemchr.c
+++ b/libc/upstream-freebsd/lib/libc/string/wmemchr.c
@@ -34,7 +34,7 @@
 __RCSID("$NetBSD: wmemchr.c,v 1.1 2000/12/23 23:14:37 itojun Exp $");
 #endif /* LIBC_SCCS and not lint */
 #endif
-__FBSDID("$FreeBSD: head/lib/libc/string/wmemchr.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-freebsd/lib/libc/string/wmemcmp.c b/libc/upstream-freebsd/lib/libc/string/wmemcmp.c
index c1e9f3c..f1b1b00 100644
--- a/libc/upstream-freebsd/lib/libc/string/wmemcmp.c
+++ b/libc/upstream-freebsd/lib/libc/string/wmemcmp.c
@@ -34,7 +34,7 @@
 __RCSID("$NetBSD: wmemcmp.c,v 1.1 2000/12/23 23:14:37 itojun Exp $");
 #endif /* LIBC_SCCS and not lint */
 #endif
-__FBSDID("$FreeBSD: head/lib/libc/string/wmemcmp.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-freebsd/lib/libc/string/wmemcpy.c b/libc/upstream-freebsd/lib/libc/string/wmemcpy.c
index e0d6c04..30956eb 100644
--- a/libc/upstream-freebsd/lib/libc/string/wmemcpy.c
+++ b/libc/upstream-freebsd/lib/libc/string/wmemcpy.c
@@ -34,7 +34,7 @@
 __RCSID("$NetBSD: wmemcpy.c,v 1.1 2000/12/23 23:14:37 itojun Exp $");
 #endif /* LIBC_SCCS and not lint */
 #endif
-__FBSDID("$FreeBSD: head/lib/libc/string/wmemcpy.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <string.h>
 #include <wchar.h>
diff --git a/libc/upstream-freebsd/lib/libc/string/wmemmove.c b/libc/upstream-freebsd/lib/libc/string/wmemmove.c
index b84c2c0..5e8da9f 100644
--- a/libc/upstream-freebsd/lib/libc/string/wmemmove.c
+++ b/libc/upstream-freebsd/lib/libc/string/wmemmove.c
@@ -34,7 +34,7 @@
 __RCSID("$NetBSD: wmemmove.c,v 1.1 2000/12/23 23:14:37 itojun Exp $");
 #endif /* LIBC_SCCS and not lint */
 #endif
-__FBSDID("$FreeBSD: head/lib/libc/string/wmemmove.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <string.h>
 #include <wchar.h>
diff --git a/libc/upstream-freebsd/lib/libc/string/wmemset.c b/libc/upstream-freebsd/lib/libc/string/wmemset.c
index d4d6308..fcf40ef 100644
--- a/libc/upstream-freebsd/lib/libc/string/wmemset.c
+++ b/libc/upstream-freebsd/lib/libc/string/wmemset.c
@@ -34,7 +34,7 @@
 __RCSID("$NetBSD: wmemset.c,v 1.1 2000/12/23 23:14:37 itojun Exp $");
 #endif /* LIBC_SCCS and not lint */
 #endif
-__FBSDID("$FreeBSD: head/lib/libc/string/wmemset.c 326193 2017-11-25 17:12:48Z pfg $");
+__FBSDID("$FreeBSD$");
 
 #include <wchar.h>
 
diff --git a/libc/upstream-netbsd/lib/libc/regex/regcomp.c b/libc/upstream-netbsd/lib/libc/regex/regcomp.c
index 957f8ac..86321c1 100644
--- a/libc/upstream-netbsd/lib/libc/regex/regcomp.c
+++ b/libc/upstream-netbsd/lib/libc/regex/regcomp.c
@@ -1,4 +1,4 @@
-/*	$NetBSD: regcomp.c,v 1.46 2021/03/11 15:00:29 christos Exp $	*/
+/*	$NetBSD: regcomp.c,v 1.47 2022/12/21 17:44:15 wiz Exp $	*/
 
 /*-
  * SPDX-License-Identifier: BSD-3-Clause
@@ -51,9 +51,7 @@
 static char sccsid[] = "@(#)regcomp.c	8.5 (Berkeley) 3/20/94";
 __FBSDID("$FreeBSD: head/lib/libc/regex/regcomp.c 368359 2020-12-05 03:18:48Z kevans $");
 #endif
-__RCSID("$NetBSD: regcomp.c,v 1.46 2021/03/11 15:00:29 christos Exp $");
-
-#define _OPENBSD_SOURCE
+__RCSID("$NetBSD: regcomp.c,v 1.47 2022/12/21 17:44:15 wiz Exp $");
 
 #ifndef LIBHACK
 #define REGEX_GNU_EXTENSIONS
diff --git a/libc/upstream-netbsd/lib/libc/stdlib/bsearch.c b/libc/upstream-netbsd/lib/libc/stdlib/bsearch.c
deleted file mode 100644
index e48fe85..0000000
--- a/libc/upstream-netbsd/lib/libc/stdlib/bsearch.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/*	$NetBSD: bsearch.c,v 1.16 2022/05/31 08:43:14 andvar Exp $	*/
-
-/*
- * Copyright (c) 1990, 1993
- *	The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <sys/cdefs.h>
-#if defined(LIBC_SCCS) && !defined(lint)
-#if 0
-static char sccsid[] = "@(#)bsearch.c	8.1 (Berkeley) 6/4/93";
-#else
-__RCSID("$NetBSD: bsearch.c,v 1.16 2022/05/31 08:43:14 andvar Exp $");
-#endif
-#endif /* LIBC_SCCS and not lint */
-
-#include <assert.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/*
- * Perform a binary search.
- *
- * The code below is a bit sneaky.  After a comparison fails, we
- * divide the work in half by moving either left or right. If lim
- * is odd, moving left simply involves halving lim: e.g., when lim
- * is 5 we look at item 2, so we change lim to 2 so that we will
- * look at items 0 & 1.  If lim is even, the same applies.  If lim
- * is odd, moving right again involves halving lim, this time moving
- * the base up one item past p: e.g., when lim is 5 we change base
- * to item 3 and make lim 2 so that we will look at items 3 and 4.
- * If lim is even, however, we have to shrink it by one before
- * halving: e.g., when lim is 4, we still looked at item 2, so we
- * have to make lim 3, then halve, obtaining 1, so that we will only
- * look at item 3.
- */
-void *
-bsearch(const void *key, const void *base0, size_t nmemb, size_t size,
-    int (*compar)(const void *, const void *))
-{
-	const char *base = base0;
-	size_t lim;
-	int cmp;
-	const void *p;
-
-	_DIAGASSERT(key != NULL);
-	_DIAGASSERT(base0 != NULL || nmemb == 0);
-	_DIAGASSERT(compar != NULL);
-
-	for (lim = nmemb; lim != 0; lim >>= 1) {
-		p = base + (lim >> 1) * size;
-		cmp = (*compar)(key, p);
-		if (cmp == 0)
-			return __UNCONST(p);
-		if (cmp > 0) {	/* key > p: move right */
-			base = (const char *)p + size;
-			lim--;
-		}		/* else move left */
-	}
-	return (NULL);
-}
diff --git a/libc/upstream-netbsd/android/include/rand48.h b/libc/upstream-netbsd/lib/libc/stdlib/rand48.h
similarity index 80%
rename from libc/upstream-netbsd/android/include/rand48.h
rename to libc/upstream-netbsd/lib/libc/stdlib/rand48.h
index 1279906..1ad8b0d 100644
--- a/libc/upstream-netbsd/android/include/rand48.h
+++ b/libc/upstream-netbsd/lib/libc/stdlib/rand48.h
@@ -18,10 +18,10 @@
 
 #include <stdlib.h>
 
-__LIBC_HIDDEN__ void		__dorand48(unsigned short[3]);
-__LIBC_HIDDEN__ unsigned short	__rand48_seed[3];
-__LIBC_HIDDEN__ unsigned short	__rand48_mult[3];
-__LIBC_HIDDEN__ unsigned short	__rand48_add;
+extern void		__dorand48(unsigned short[3]);
+extern unsigned short	__rand48_seed[3];
+extern unsigned short	__rand48_mult[3];
+extern unsigned short	__rand48_add;
 
 #define	RAND48_SEED_0	(0x330e)
 #define	RAND48_SEED_1	(0xabcd)
diff --git a/libc/upstream-openbsd/android/include/openbsd-compat.h b/libc/upstream-openbsd/android/include/openbsd-compat.h
index 8e6f87d..ac6840a 100644
--- a/libc/upstream-openbsd/android/include/openbsd-compat.h
+++ b/libc/upstream-openbsd/android/include/openbsd-compat.h
@@ -25,8 +25,6 @@
 
 #include <sys/random.h> // For getentropy.
 
-#include "private/bsd_sys_param.h"
-
 #define __BEGIN_HIDDEN_DECLS _Pragma("GCC visibility push(hidden)")
 #define __END_HIDDEN_DECLS _Pragma("GCC visibility pop")
 
@@ -42,23 +40,8 @@
 
 #define PROTO_NORMAL(x)
 
-/* OpenBSD's <ctype.h> uses these names, which conflicted with stlport.
- * Additionally, we changed the numeric/digit type from N to D for libcxx.
- */
-#define _U _CTYPE_U
-#define _L _CTYPE_L
-#define _N _CTYPE_D
-#define _S _CTYPE_S
-#define _P _CTYPE_P
-#define _C _CTYPE_C
-#define _X _CTYPE_X
-#define _B _CTYPE_B
-
-/* OpenBSD has this, but we can't really implement it correctly on Linux. */
-#define issetugid() 0
-
 #if !defined(ANDROID_HOST_MUSL)
-#define explicit_bzero(p, s) memset(p, 0, s)
+#define explicit_bzero(p, s) memset_explicit(p, 0, s)
 #endif
 
 #if defined(ANDROID_HOST_MUSL)
diff --git a/libc/upstream-openbsd/lib/libc/crypt/arc4random.c b/libc/upstream-openbsd/lib/libc/crypt/arc4random.c
index 8a4ecc9..0737cf3 100644
--- a/libc/upstream-openbsd/lib/libc/crypt/arc4random.c
+++ b/libc/upstream-openbsd/lib/libc/crypt/arc4random.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: arc4random.c,v 1.54 2015/09/13 08:31:47 guenther Exp $	*/
+/*	$OpenBSD: arc4random.c,v 1.58 2022/07/31 13:41:45 tb Exp $	*/
 
 /*
  * Copyright (c) 1996, David Mazieres <dm@uun.org>
@@ -49,6 +49,8 @@
 #define BLOCKSZ	64
 #define RSBUFSZ	(16*BLOCKSZ)
 
+#define REKEY_BASE	(1024*1024) /* NB. should be a power of 2 */
+
 /* Marked MAP_INHERIT_ZERO, so zero'd out in fork children. */
 static struct _rs {
 	size_t		rs_have;	/* valid bytes at end of rs_buf */
@@ -78,7 +80,7 @@
 			abort();
 	}
 
-	chacha_keysetup(&rsx->rs_chacha, buf, KEYSZ * 8, 0);
+	chacha_keysetup(&rsx->rs_chacha, buf, KEYSZ * 8);
 	chacha_ivsetup(&rsx->rs_chacha, buf + KEYSZ);
 }
 
@@ -86,6 +88,7 @@
 _rs_stir(void)
 {
 	u_char rnd[KEYSZ + IVSZ];
+	uint32_t rekey_fuzz = 0;
 
 	if (getentropy(rnd, sizeof rnd) == -1)
 		_getentropy_fail();
@@ -100,7 +103,10 @@
 	rs->rs_have = 0;
 	memset(rsx->rs_buf, 0, sizeof(rsx->rs_buf));
 
-	rs->rs_count = 1600000;
+	/* rekey interval should not be predictable */
+	chacha_encrypt_bytes(&rsx->rs_chacha, (uint8_t *)&rekey_fuzz,
+	    (uint8_t *)&rekey_fuzz, sizeof(rekey_fuzz));
+	rs->rs_count = REKEY_BASE + (rekey_fuzz % REKEY_BASE);
 }
 
 static inline void
diff --git a/libc/upstream-openbsd/lib/libc/crypt/chacha_private.h b/libc/upstream-openbsd/lib/libc/crypt/chacha_private.h
index 7c3680f..b0427b6 100644
--- a/libc/upstream-openbsd/lib/libc/crypt/chacha_private.h
+++ b/libc/upstream-openbsd/lib/libc/crypt/chacha_private.h
@@ -4,7 +4,7 @@
 Public domain.
 */
 
-/* $OpenBSD: chacha_private.h,v 1.2 2013/10/04 07:02:27 djm Exp $ */
+/* $OpenBSD: chacha_private.h,v 1.3 2022/02/28 21:56:29 dtucker Exp $ */
 
 typedef unsigned char u8;
 typedef unsigned int u32;
@@ -52,7 +52,7 @@
 static const char tau[16] = "expand 16-byte k";
 
 static void
-chacha_keysetup(chacha_ctx *x,const u8 *k,u32 kbits,u32 ivbits)
+chacha_keysetup(chacha_ctx *x,const u8 *k,u32 kbits)
 {
   const char *constants;
 
diff --git a/libc/upstream-openbsd/lib/libc/gen/ctype_.c b/libc/upstream-openbsd/lib/libc/gen/ctype_.c
index 8972244..9742c9f 100644
--- a/libc/upstream-openbsd/lib/libc/gen/ctype_.c
+++ b/libc/upstream-openbsd/lib/libc/gen/ctype_.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: ctype_.c,v 1.12 2015/09/19 04:02:21 guenther Exp $ */
+/*	$OpenBSD: ctype_.c,v 1.13 2024/02/04 13:03:18 jca Exp $ */
 /*
  * Copyright (c) 1989 The Regents of the University of California.
  * All rights reserved.
@@ -36,6 +36,16 @@
 #include <ctype.h>
 #include "ctype_private.h"
 
+/* Shorter names for the defines provided by <ctype.h> */
+#define	_U	_CTYPE_U
+#define	_L	_CTYPE_L
+#define	_N	_CTYPE_N
+#define	_S	_CTYPE_S
+#define	_P	_CTYPE_P
+#define	_C	_CTYPE_C
+#define	_X	_CTYPE_X
+#define	_B	_CTYPE_B
+
 const char _C_ctype_[1 + CTYPE_NUM_CHARS] = {
 	0,
 	_C,	_C,	_C,	_C,	_C,	_C,	_C,	_C,
diff --git a/libc/upstream-openbsd/lib/libc/gen/fnmatch.c b/libc/upstream-openbsd/lib/libc/gen/fnmatch.c
index ff6b26e..3ec0222 100644
--- a/libc/upstream-openbsd/lib/libc/gen/fnmatch.c
+++ b/libc/upstream-openbsd/lib/libc/gen/fnmatch.c
@@ -46,11 +46,11 @@
  *
  * Derived from The Open Group Base Specifications Issue 7, IEEE Std 1003.1-2008
  * as described in;
- *   http://pubs.opengroup.org/onlinepubs/9699919799/functions/fnmatch.html
+ *   https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/functions/fnmatch.html
  *
  * Filename pattern matches defined in section 2.13, "Pattern Matching Notation"
  * from chapter 2. "Shell Command Language"
- *   http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_13
+ *   https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/utilities/V3_chap02.html#tag_18_13
  * where; 1. A bracket expression starting with an unquoted <circumflex> '^'
  * character CONTINUES to specify a non-matching list; 2. an explicit <period> '.'
  * in a bracket expression matching list, e.g. "[.abc]" does NOT match a leading
@@ -61,7 +61,7 @@
  *
  * Bracket expansion defined in section 9.3.5, "RE Bracket Expression",
  * from chapter 9, "Regular Expressions"
- *   http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_03_05
+ *   https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/basedefs/V1_chap09.html#tag_09_03_05
  * with no support for collating symbols, equivalence class expressions or
  * character class expressions.  A partial range expression with a leading
  * hyphen following a valid range expression will match only the ordinary
diff --git a/libc/upstream-openbsd/lib/libc/net/htonl.c b/libc/upstream-openbsd/lib/libc/net/htonl.c
index 6ee6e7e..58bfb46 100644
--- a/libc/upstream-openbsd/lib/libc/net/htonl.c
+++ b/libc/upstream-openbsd/lib/libc/net/htonl.c
@@ -1,6 +1,5 @@
-/*	$OpenBSD: htonl.c,v 1.7 2014/07/21 01:51:10 guenther Exp $ */
+/*	$OpenBSD: htonl.c,v 1.8 2024/04/15 14:30:48 naddy Exp $ */
 /*
- * Written by J.T. Conklin <jtc@netbsd.org>.
  * Public domain.
  */
 
@@ -9,13 +8,8 @@
 
 #undef htonl
 
-u_int32_t
-htonl(u_int32_t x)
+uint32_t
+htonl(uint32_t x)
 {
-#if BYTE_ORDER == LITTLE_ENDIAN
-	u_char *s = (u_char *)&x;
-	return (u_int32_t)(s[0] << 24 | s[1] << 16 | s[2] << 8 | s[3]);
-#else
-	return x;
-#endif
+	return htobe32(x);
 }
diff --git a/libc/upstream-openbsd/lib/libc/net/htons.c b/libc/upstream-openbsd/lib/libc/net/htons.c
index f48d91e..28b13ce 100644
--- a/libc/upstream-openbsd/lib/libc/net/htons.c
+++ b/libc/upstream-openbsd/lib/libc/net/htons.c
@@ -1,6 +1,5 @@
-/*	$OpenBSD: htons.c,v 1.9 2014/07/21 01:51:10 guenther Exp $ */
+/*	$OpenBSD: htons.c,v 1.10 2024/04/15 14:30:48 naddy Exp $ */
 /*
- * Written by J.T. Conklin <jtc@netbsd.org>.
  * Public domain.
  */
 
@@ -9,13 +8,8 @@
 
 #undef htons
 
-u_int16_t
-htons(u_int16_t x)
+uint16_t
+htons(uint16_t x)
 {
-#if BYTE_ORDER == LITTLE_ENDIAN
-	u_char *s = (u_char *) &x;
-	return (u_int16_t)(s[0] << 8 | s[1]);
-#else
-	return x;
-#endif
+	return htobe16(x);
 }
diff --git a/libc/upstream-openbsd/lib/libc/net/ntohl.c b/libc/upstream-openbsd/lib/libc/net/ntohl.c
index 0d05bac..7592398 100644
--- a/libc/upstream-openbsd/lib/libc/net/ntohl.c
+++ b/libc/upstream-openbsd/lib/libc/net/ntohl.c
@@ -1,6 +1,5 @@
-/*	$OpenBSD: ntohl.c,v 1.7 2014/07/21 01:51:10 guenther Exp $ */
+/*	$OpenBSD: ntohl.c,v 1.8 2024/04/15 14:30:48 naddy Exp $ */
 /*
- * Written by J.T. Conklin <jtc@netbsd.org>.
  * Public domain.
  */
 
@@ -9,13 +8,8 @@
 
 #undef ntohl
 
-u_int32_t
-ntohl(u_int32_t x)
+uint32_t
+ntohl(uint32_t x)
 {
-#if BYTE_ORDER == LITTLE_ENDIAN
-	u_char *s = (u_char *)&x;
-	return (u_int32_t)(s[0] << 24 | s[1] << 16 | s[2] << 8 | s[3]);
-#else
-	return x;
-#endif
+	return be32toh(x);
 }
diff --git a/libc/upstream-openbsd/lib/libc/net/ntohs.c b/libc/upstream-openbsd/lib/libc/net/ntohs.c
index b5ea361..ef22ea3 100644
--- a/libc/upstream-openbsd/lib/libc/net/ntohs.c
+++ b/libc/upstream-openbsd/lib/libc/net/ntohs.c
@@ -1,6 +1,5 @@
-/*	$OpenBSD: ntohs.c,v 1.9 2014/07/21 01:51:10 guenther Exp $ */
+/*	$OpenBSD: ntohs.c,v 1.10 2024/04/15 14:30:48 naddy Exp $ */
 /*
- * Written by J.T. Conklin <jtc@netbsd.org>.
  * Public domain.
  */
 
@@ -9,13 +8,8 @@
 
 #undef ntohs
 
-u_int16_t
-ntohs(u_int16_t x)
+uint16_t
+ntohs(uint16_t x)
 {
-#if BYTE_ORDER == LITTLE_ENDIAN
-	u_char *s = (u_char *) &x;
-	return (u_int16_t)(s[0] << 8 | s[1]);
-#else
-	return x;
-#endif
+	return be16toh(x);
 }
diff --git a/libc/upstream-openbsd/lib/libc/stdio/fpurge.c b/libc/upstream-openbsd/lib/libc/stdio/fpurge.c
deleted file mode 100644
index 8dd8a91..0000000
--- a/libc/upstream-openbsd/lib/libc/stdio/fpurge.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/*	$OpenBSD: fpurge.c,v 1.10 2015/08/31 02:53:57 guenther Exp $ */
-/*-
- * Copyright (c) 1990, 1993
- *	The Regents of the University of California.  All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Chris Torek.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "local.h"
-
-/*
- * fpurge: like fflush, but without writing anything: leave the
- * given FILE's buffer empty.
- */
-int
-fpurge(FILE *fp)
-{
-	FLOCKFILE(fp);
-	if (!fp->_flags) {
-		FUNLOCKFILE(fp);
-		errno = EBADF;
-		return(EOF);
-	}
-
-	if (HASUB(fp))
-		FREEUB(fp);
-	WCIO_FREE(fp);
-	fp->_p = fp->_bf._base;
-	fp->_r = 0;
-	fp->_w = fp->_flags & (__SLBF|__SNBF) ? 0 : fp->_bf._size;
-	FUNLOCKFILE(fp);
-	return (0);
-}
-DEF_WEAK(fpurge);
diff --git a/libc/upstream-openbsd/lib/libc/stdio/fvwrite.c b/libc/upstream-openbsd/lib/libc/stdio/fvwrite.c
index ba58f9d..d615245 100644
--- a/libc/upstream-openbsd/lib/libc/stdio/fvwrite.c
+++ b/libc/upstream-openbsd/lib/libc/stdio/fvwrite.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: fvwrite.c,v 1.20 2017/03/17 16:06:33 millert Exp $ */
+/*	$OpenBSD: fvwrite.c,v 1.22 2024/04/28 14:28:02 millert Exp $ */
 /*-
  * Copyright (c) 1990, 1993
  *	The Regents of the University of California.  All rights reserved.
@@ -31,10 +31,10 @@
  * SUCH DAMAGE.
  */
 
+#include <limits.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <errno.h>
 #include <unistd.h>
 #include "local.h"
 #include "fvwrite.h"
@@ -58,10 +58,8 @@
 	if ((len = uio->uio_resid) == 0)
 		return (0);
 	/* make sure we can write */
-	if (cantwrite(fp)) {
-		errno = EBADF;
+	if (cantwrite(fp))
 		return (EOF);
-	}
 
 #define	MIN(a, b) ((a) < (b) ? (a) : (b))
 #define	COPY(n)	  (void)memcpy(fp->_p, p, n)
@@ -79,11 +77,12 @@
 	}
 	if (fp->_flags & __SNBF) {
 		/*
-		 * Unbuffered: write up to BUFSIZ bytes at a time.
+		 * Unbuffered: write up to INT_MAX bytes at a time, to not
+		 * truncate the value of len if it is greater than 2^31 bytes.
 		 */
 		do {
 			GETIOV(;);
-			w = (*fp->_write)(fp->_cookie, p, MIN(len, BUFSIZ));
+			w = (*fp->_write)(fp->_cookie, p, MIN(len, INT_MAX));
 			if (w <= 0)
 				goto err;
 			p += w;
@@ -93,7 +92,8 @@
 		/*
 		 * Fully buffered: fill partially full buffer, if any,
 		 * and then flush.  If there is no partial buffer, write
-		 * one _bf._size byte chunk directly (without copying).
+		 * entire payload directly (without copying) up to a
+		 * multiple of the buffer size.
 		 *
 		 * String output is a special case: write as many bytes
 		 * as fit, but pretend we wrote everything.  This makes
@@ -137,7 +137,15 @@
 				if (__sflush(fp))
 					goto err;
 			} else if (len >= (w = fp->_bf._size)) {
-				/* write directly */
+				/*
+				 * Write directly up to INT_MAX or greatest
+				 * multiple of buffer size (whichever is
+				 * smaller), keeping in the memory buffer the
+				 * remaining part of payload that is smaller
+				 * than buffer size.
+				 */
+				if (w != 0)
+					w = MIN(w * (len / w), INT_MAX);
 				w = (*fp->_write)(fp->_cookie, p, w);
 				if (w <= 0)
 					goto err;
diff --git a/libc/upstream-openbsd/lib/libc/stdio/open_memstream.c b/libc/upstream-openbsd/lib/libc/stdio/open_memstream.c
index 6ee5a5c..af0169f 100644
--- a/libc/upstream-openbsd/lib/libc/stdio/open_memstream.c
+++ b/libc/upstream-openbsd/lib/libc/stdio/open_memstream.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: open_memstream.c,v 1.8 2019/05/02 08:30:10 yasuoka Exp $	*/
+/*	$OpenBSD: open_memstream.c,v 1.10 2023/07/11 12:14:16 claudio Exp $	*/
 
 /*
  * Copyright (c) 2011 Martin Pieuchot <mpi@openbsd.org>
@@ -53,7 +53,6 @@
 		p = recallocarray(st->string, st->size, sz, 1);
 		if (!p)
 			return (-1);
-		bzero(p + st->size, sz - st->size);
 		*st->pbuf = st->string = p;
 		st->size = sz;
 	}
@@ -136,7 +135,6 @@
 		return (NULL);
 	}
 
-	*st->string = '\0';
 	st->pos = 0;
 	st->len = 0;
 	st->pbuf = pbuf;
diff --git a/libc/upstream-openbsd/lib/libc/stdio/open_wmemstream.c b/libc/upstream-openbsd/lib/libc/stdio/open_wmemstream.c
index aceef35..fca0b71 100644
--- a/libc/upstream-openbsd/lib/libc/stdio/open_wmemstream.c
+++ b/libc/upstream-openbsd/lib/libc/stdio/open_wmemstream.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: open_wmemstream.c,v 1.8 2015/09/12 16:23:14 guenther Exp $	*/
+/*	$OpenBSD: open_wmemstream.c,v 1.10 2023/07/11 12:14:16 claudio Exp $	*/
 
 /*
  * Copyright (c) 2011 Martin Pieuchot <mpi@openbsd.org>
@@ -52,10 +52,9 @@
 
 		if (sz < end + 1)
 			sz = end + 1;
-		p = reallocarray(st->string, sz, sizeof(wchar_t));
+		p = recallocarray(st->string, st->size, sz, sizeof(wchar_t));
 		if (!p)
 			return (-1);
-		bzero(p + st->size, (sz - st->size) * sizeof(wchar_t));
 		*st->pbuf = st->string = p;
 		st->size = sz;
 	}
@@ -146,7 +145,6 @@
 		return (NULL);
 	}
 
-	*st->string = L'\0';
 	st->pos = 0;
 	st->len = 0;
 	st->pbuf = pbuf;
diff --git a/libc/upstream-openbsd/lib/libc/stdio/wbuf.c b/libc/upstream-openbsd/lib/libc/stdio/wbuf.c
index 2d07750..edb6a50 100644
--- a/libc/upstream-openbsd/lib/libc/stdio/wbuf.c
+++ b/libc/upstream-openbsd/lib/libc/stdio/wbuf.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: wbuf.c,v 1.13 2015/08/31 02:53:57 guenther Exp $ */
+/*	$OpenBSD: wbuf.c,v 1.14 2023/10/06 16:41:02 millert Exp $ */
 /*-
  * Copyright (c) 1990, 1993
  *	The Regents of the University of California.  All rights reserved.
@@ -32,7 +32,6 @@
  */
 
 #include <stdio.h>
-#include <errno.h>
 #include "local.h"
 
 /*
@@ -54,10 +53,8 @@
 	 * calls might wrap _w from negative to positive.
 	 */
 	fp->_w = fp->_lbfsize;
-	if (cantwrite(fp)) {
-		errno = EBADF;
+	if (cantwrite(fp))
 		return (EOF);
-	}
 	c = (unsigned char)c;
 
 	/*
diff --git a/libc/upstream-openbsd/lib/libc/stdio/wsetup.c b/libc/upstream-openbsd/lib/libc/stdio/wsetup.c
index 0834223..842036b 100644
--- a/libc/upstream-openbsd/lib/libc/stdio/wsetup.c
+++ b/libc/upstream-openbsd/lib/libc/stdio/wsetup.c
@@ -1,4 +1,4 @@
-/*	$OpenBSD: wsetup.c,v 1.7 2005/08/08 08:05:36 espie Exp $ */
+/*	$OpenBSD: wsetup.c,v 1.8 2023/10/06 16:41:02 millert Exp $ */
 /*-
  * Copyright (c) 1990, 1993
  *	The Regents of the University of California.  All rights reserved.
@@ -31,6 +31,7 @@
  * SUCH DAMAGE.
  */
 
+#include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include "local.h"
@@ -38,7 +39,7 @@
 /*
  * Various output routines call wsetup to be sure it is safe to write,
  * because either _flags does not include __SWR, or _buf is NULL.
- * _wsetup returns 0 if OK to write, nonzero otherwise.
+ * __swsetup returns 0 if OK to write, nonzero otherwise, setting errno.
  */
 int
 __swsetup(FILE *fp)
@@ -51,8 +52,11 @@
 	 * If we are not writing, we had better be reading and writing.
 	 */
 	if ((fp->_flags & __SWR) == 0) {
-		if ((fp->_flags & __SRW) == 0)
+		if ((fp->_flags & __SRW) == 0) {
+			errno = EBADF;
+			fp->_flags |= __SERR;
 			return (EOF);
+		}
 		if (fp->_flags & __SRD) {
 			/* clobber any ungetc data */
 			if (HASUB(fp))
@@ -68,8 +72,11 @@
 	 * Make a buffer if necessary, then set _w.
 	 */
 	if (fp->_bf._base == NULL) {
-		if ((fp->_flags & (__SSTR | __SALC)) == __SSTR)
+		if ((fp->_flags & (__SSTR | __SALC)) == __SSTR) {
+			errno = EINVAL;
+			fp->_flags |= __SERR;
 			return (EOF);
+		}
 		__smakebuf(fp);
 	}
 	if (fp->_flags & __SLBF) {
diff --git a/libc/upstream-openbsd/lib/libc/string/strlcat.c b/libc/upstream-openbsd/lib/libc/string/strlcat.c
deleted file mode 100644
index aa3db7ab..0000000
--- a/libc/upstream-openbsd/lib/libc/string/strlcat.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/*	$OpenBSD: strlcat.c,v 1.19 2019/01/25 00:19:25 millert Exp $	*/
-
-/*
- * Copyright (c) 1998, 2015 Todd C. Miller <millert@openbsd.org>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include <sys/types.h>
-#include <string.h>
-
-/*
- * Appends src to string dst of size dsize (unlike strncat, dsize is the
- * full size of dst, not space left).  At most dsize-1 characters
- * will be copied.  Always NUL terminates (unless dsize <= strlen(dst)).
- * Returns strlen(src) + MIN(dsize, strlen(initial dst)).
- * If retval >= dsize, truncation occurred.
- */
-size_t
-strlcat(char *dst, const char *src, size_t dsize)
-{
-	const char *odst = dst;
-	const char *osrc = src;
-	size_t n = dsize;
-	size_t dlen;
-
-	/* Find the end of dst and adjust bytes left but don't go past end. */
-	while (n-- != 0 && *dst != '\0')
-		dst++;
-	dlen = dst - odst;
-	n = dsize - dlen;
-
-	if (n-- == 0)
-		return(dlen + strlen(src));
-	while (*src != '\0') {
-		if (n != 0) {
-			*dst++ = *src;
-			n--;
-		}
-		src++;
-	}
-	*dst = '\0';
-
-	return(dlen + (src - osrc));	/* count does not include NUL */
-}
-DEF_WEAK(strlcat);
diff --git a/libc/upstream-openbsd/lib/libc/string/strlcpy.c b/libc/upstream-openbsd/lib/libc/string/strlcpy.c
deleted file mode 100644
index 7e3b9ae..0000000
--- a/libc/upstream-openbsd/lib/libc/string/strlcpy.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*	$OpenBSD: strlcpy.c,v 1.16 2019/01/25 00:19:25 millert Exp $	*/
-
-/*
- * Copyright (c) 1998, 2015 Todd C. Miller <millert@openbsd.org>
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include <sys/types.h>
-#include <string.h>
-
-/*
- * Copy string src to buffer dst of size dsize.  At most dsize-1
- * chars will be copied.  Always NUL terminates (unless dsize == 0).
- * Returns strlen(src); if retval >= dsize, truncation occurred.
- */
-size_t
-strlcpy(char *dst, const char *src, size_t dsize)
-{
-	const char *osrc = src;
-	size_t nleft = dsize;
-
-	/* Copy as many bytes as will fit. */
-	if (nleft != 0) {
-		while (--nleft != 0) {
-			if ((*dst++ = *src++) == '\0')
-				break;
-		}
-	}
-
-	/* Not enough room in dst, add NUL and traverse rest of src. */
-	if (nleft == 0) {
-		if (dsize != 0)
-			*dst = '\0';		/* NUL-terminate dst */
-		while (*src++)
-			;
-	}
-
-	return(src - osrc - 1);	/* count does not include NUL */
-}
-DEF_WEAK(strlcpy);
diff --git a/libc/upstream-openbsd/lib/libc/time/wcsftime.c b/libc/upstream-openbsd/lib/libc/time/wcsftime.c
deleted file mode 100644
index 6870871..0000000
--- a/libc/upstream-openbsd/lib/libc/time/wcsftime.c
+++ /dev/null
@@ -1,550 +0,0 @@
-/*	$OpenBSD: wcsftime.c,v 1.7 2019/05/12 12:49:52 schwarze Exp $ */
-/*
-** Based on the UCB version with the ID appearing below.
-** This is ANSIish only when "multibyte character == plain character".
-**
-** Copyright (c) 1989, 1993
-**	The Regents of the University of California.  All rights reserved.
-**
-** Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions
-** are met:
-** 1. Redistributions of source code must retain the above copyright
-**    notice, this list of conditions and the following disclaimer.
-** 2. Redistributions in binary form must reproduce the above copyright
-**    notice, this list of conditions and the following disclaimer in the
-**    documentation and/or other materials provided with the distribution.
-** 3. Neither the name of the University nor the names of its contributors
-**    may be used to endorse or promote products derived from this software
-**    without specific prior written permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-** ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-** FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-** OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-** HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-** OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-** SUCH DAMAGE.
-*/
-
-#include <fcntl.h>
-#include <locale.h>
-#include <wchar.h>
-
-#include "private.h"
-#include "tzfile.h"
-
-struct lc_time_T {
-	const wchar_t *	mon[MONSPERYEAR];
-	const wchar_t *	month[MONSPERYEAR];
-	const wchar_t *	wday[DAYSPERWEEK];
-	const wchar_t *	weekday[DAYSPERWEEK];
-	const wchar_t *	X_fmt;
-	const wchar_t *	x_fmt;
-	const wchar_t *	c_fmt;
-	const wchar_t *	am;
-	const wchar_t *	pm;
-	const wchar_t *	date_fmt;
-};
-
-#define Locale	(&C_time_locale)
-
-static const struct lc_time_T	C_time_locale = {
-	{
-		L"Jan", L"Feb", L"Mar", L"Apr", L"May", L"Jun",
-		L"Jul", L"Aug", L"Sep", L"Oct", L"Nov", L"Dec"
-	}, {
-		L"January", L"February", L"March", L"April", L"May", L"June",
-		L"July", L"August", L"September", L"October", L"November", 
-		L"December"
-	}, {
-		L"Sun", L"Mon", L"Tue", L"Wed",
-		L"Thu", L"Fri", L"Sat"
-	}, {
-		L"Sunday", L"Monday", L"Tuesday", L"Wednesday",
-		L"Thursday", L"Friday", L"Saturday"
-	},
-
-	/* X_fmt */
-	L"%H:%M:%S",
-
-	/*
-	** x_fmt
-	** C99 requires this format.
-	** Using just numbers (as here) makes Quakers happier;
-	** it's also compatible with SVR4.
-	*/
-	L"%m/%d/%y",
-
-	/*
-	** c_fmt
-	** C99 requires this format.
-	** Previously this code used "%D %X", but we now conform to C99.
-	** Note that
-	**	"%a %b %d %H:%M:%S %Y"
-	** is used by Solaris 2.3.
-	*/
-	L"%a %b %e %T %Y",
-
-	/* am */
-	L"AM",
-
-	/* pm */
-	L"PM",
-
-	/* date_fmt */
-	L"%a %b %e %H:%M:%S %Z %Y"
-};
-
-#define UNKNOWN L"?"
-static wchar_t *	_add(const wchar_t *, wchar_t *, const wchar_t *);
-static wchar_t *	_sadd(const char *, wchar_t *, const wchar_t *);
-static wchar_t *	_conv(int, const wchar_t *, wchar_t *, const wchar_t *);
-static wchar_t *	_fmt(const wchar_t *, const struct tm *, wchar_t *, const wchar_t *,
-			int *);
-static wchar_t *	_yconv(int, int, int, int, wchar_t *, const wchar_t *);
-
-extern char *	tzname[];
-
-#define IN_NONE	0
-#define IN_SOME	1
-#define IN_THIS	2
-#define IN_ALL	3
-
-size_t
-wcsftime(wchar_t *__restrict s, size_t maxsize, 
-    const wchar_t *__restrict format, const struct tm *__restrict t)
-{
-	wchar_t *p;
-	int	warn;
-
-	tzset();
-	warn = IN_NONE;
-	p = _fmt(((format == NULL) ? L"%c" : format), t, s, s + maxsize, &warn);
-	if (p == s + maxsize) {
-		if (maxsize > 0)
-			s[maxsize - 1] = '\0';
-		return 0;
-	}
-	*p = L'\0';
-	return p - s;
-}
-
-static wchar_t *
-_fmt(const wchar_t *format, const struct tm *t, wchar_t *pt, 
-    const wchar_t *ptlim, int *warnp)
-{
-	for ( ; *format; ++format) {
-		if (*format != L'%') {
-			if (pt == ptlim)
-				break;
-			*pt++ = *format;
-			continue;
-		}
-label:
-		switch (*++format) {
-		case '\0':
-			--format;
-			break;
-		case 'A':
-			pt = _add((t->tm_wday < 0 ||
-				t->tm_wday >= DAYSPERWEEK) ?
-				UNKNOWN : Locale->weekday[t->tm_wday],
-				pt, ptlim);
-			continue;
-		case 'a':
-			pt = _add((t->tm_wday < 0 ||
-				t->tm_wday >= DAYSPERWEEK) ?
-				UNKNOWN : Locale->wday[t->tm_wday],
-				pt, ptlim);
-			continue;
-		case 'B':
-			pt = _add((t->tm_mon < 0 ||
-				t->tm_mon >= MONSPERYEAR) ?
-				UNKNOWN : Locale->month[t->tm_mon],
-				pt, ptlim);
-			continue;
-		case 'b':
-		case 'h':
-			pt = _add((t->tm_mon < 0 ||
-				t->tm_mon >= MONSPERYEAR) ?
-				UNKNOWN : Locale->mon[t->tm_mon],
-				pt, ptlim);
-			continue;
-		case 'C':
-			/*
-			** %C used to do a...
-			**	_fmt("%a %b %e %X %Y", t);
-			** ...whereas now POSIX 1003.2 calls for
-			** something completely different.
-			** (ado, 1993-05-24)
-			*/
-			pt = _yconv(t->tm_year, TM_YEAR_BASE, 1, 0,
-				pt, ptlim);
-			continue;
-		case 'c':
-			{
-			int warn2 = IN_SOME;
-
-			pt = _fmt(Locale->c_fmt, t, pt, ptlim, &warn2);
-			if (warn2 == IN_ALL)
-				warn2 = IN_THIS;
-			if (warn2 > *warnp)
-				*warnp = warn2;
-			}
-			continue;
-		case 'D':
-			pt = _fmt(L"%m/%d/%y", t, pt, ptlim, warnp);
-			continue;
-		case 'd':
-			pt = _conv(t->tm_mday, L"%02d", pt, ptlim);
-			continue;
-		case 'E':
-		case 'O':
-			/*
-			** C99 locale modifiers.
-			** The sequences
-			**	%Ec %EC %Ex %EX %Ey %EY
-			**	%Od %oe %OH %OI %Om %OM
-			**	%OS %Ou %OU %OV %Ow %OW %Oy
-			** are supposed to provide alternate
-			** representations.
-			*/
-			goto label;
-		case 'e':
-			pt = _conv(t->tm_mday, L"%2d", pt, ptlim);
-			continue;
-		case 'F':
-			pt = _fmt(L"%Y-%m-%d", t, pt, ptlim, warnp);
-			continue;
-		case 'H':
-			pt = _conv(t->tm_hour, L"%02d", pt, ptlim);
-			continue;
-		case 'I':
-			pt = _conv((t->tm_hour % 12) ?
-				(t->tm_hour % 12) : 12,
-				L"%02d", pt, ptlim);
-			continue;
-		case 'j':
-			pt = _conv(t->tm_yday + 1, L"%03d", pt, ptlim);
-			continue;
-		case 'k':
-			/*
-			** This used to be...
-			**	_conv(t->tm_hour % 12 ?
-			**		t->tm_hour % 12 : 12, 2, ' ');
-			** ...and has been changed to the below to
-			** match SunOS 4.1.1 and Arnold Robbins'
-			** strftime version 3.0. That is, "%k" and
-			** "%l" have been swapped.
-			** (ado, 1993-05-24)
-			*/
-			pt = _conv(t->tm_hour, L"%2d", pt, ptlim);
-			continue;
-		case 'l':
-			/*
-			** This used to be...
-			**	_conv(t->tm_hour, 2, ' ');
-			** ...and has been changed to the below to
-			** match SunOS 4.1.1 and Arnold Robbin's
-			** strftime version 3.0. That is, "%k" and
-			** "%l" have been swapped.
-			** (ado, 1993-05-24)
-			*/
-			pt = _conv((t->tm_hour % 12) ?
-				(t->tm_hour % 12) : 12,
-				L"%2d", pt, ptlim);
-			continue;
-		case 'M':
-			pt = _conv(t->tm_min, L"%02d", pt, ptlim);
-			continue;
-		case 'm':
-			pt = _conv(t->tm_mon + 1, L"%02d", pt, ptlim);
-			continue;
-		case 'n':
-			pt = _add(L"\n", pt, ptlim);
-			continue;
-		case 'p':
-			pt = _add((t->tm_hour >= (HOURSPERDAY / 2)) ?
-				Locale->pm :
-				Locale->am,
-				pt, ptlim);
-			continue;
-		case 'R':
-			pt = _fmt(L"%H:%M", t, pt, ptlim, warnp);
-			continue;
-		case 'r':
-			pt = _fmt(L"%I:%M:%S %p", t, pt, ptlim, warnp);
-			continue;
-		case 'S':
-			pt = _conv(t->tm_sec, L"%02d", pt, ptlim);
-			continue;
-		case 's':
-			{
-				struct tm	tm;
-				wchar_t		buf[INT_STRLEN_MAXIMUM(
-							time_t) + 1];
-				time_t		mkt;
-
-				tm = *t;
-				mkt = mktime(&tm);
-				(void) swprintf(buf, 
-				    sizeof buf/sizeof buf[0],
-				    L"%ld", (long) mkt);
-				pt = _add(buf, pt, ptlim);
-			}
-			continue;
-		case 'T':
-			pt = _fmt(L"%H:%M:%S", t, pt, ptlim, warnp);
-			continue;
-		case 't':
-			pt = _add(L"\t", pt, ptlim);
-			continue;
-		case 'U':
-			pt = _conv((t->tm_yday + DAYSPERWEEK -
-				t->tm_wday) / DAYSPERWEEK,
-				L"%02d", pt, ptlim);
-			continue;
-		case 'u':
-			/*
-			** From Arnold Robbins' strftime version 3.0:
-			** "ISO 8601: Weekday as a decimal number
-			** [1 (Monday) - 7]"
-			** (ado, 1993-05-24)
-			*/
-			pt = _conv((t->tm_wday == 0) ?
-				DAYSPERWEEK : t->tm_wday,
-				L"%d", pt, ptlim);
-			continue;
-		case 'V':	/* ISO 8601 week number */
-		case 'G':	/* ISO 8601 year (four digits) */
-		case 'g':	/* ISO 8601 year (two digits) */
-/*
-** From Arnold Robbins' strftime version 3.0: "the week number of the
-** year (the first Monday as the first day of week 1) as a decimal number
-** (01-53)."
-** (ado, 1993-05-24)
-**
-** From "http://www.ft.uni-erlangen.de/~mskuhn/iso-time.html" by Markus Kuhn:
-** "Week 01 of a year is per definition the first week which has the
-** Thursday in this year, which is equivalent to the week which contains
-** the fourth day of January. In other words, the first week of a new year
-** is the week which has the majority of its days in the new year. Week 01
-** might also contain days from the previous year and the week before week
-** 01 of a year is the last week (52 or 53) of the previous year even if
-** it contains days from the new year. A week starts with Monday (day 1)
-** and ends with Sunday (day 7). For example, the first week of the year
-** 1997 lasts from 1996-12-30 to 1997-01-05..."
-** (ado, 1996-01-02)
-*/
-			{
-			int	year;
-			int	base;
-			int	yday;
-			int	wday;
-			int	w;
-
-			year = t->tm_year;
-			base = TM_YEAR_BASE;
-			yday = t->tm_yday;
-			wday = t->tm_wday;
-			for ( ; ; ) {
-				int	len;
-				int	bot;
-				int	top;
-
-				len = isleap_sum(year, base) ?
-					DAYSPERLYEAR :
-					DAYSPERNYEAR;
-				/*
-				** What yday (-3 ... 3) does the ISO year 
-				** begin on?
-				*/
-				bot = ((yday + 11 - wday) % DAYSPERWEEK) - 3;
-				/*
-				** What yday does the NEXT ISO year begin on?
-				*/
-				top = bot - (len % DAYSPERWEEK);
-				if (top < -3)
-					top += DAYSPERWEEK;
-				top += len;
-				if (yday >= top) {
-					++base;
-					w = 1;
-					break;
-				}
-				if (yday >= bot) {
-					w = 1 + ((yday - bot) / DAYSPERWEEK);
-					break;
-				}
-				--base;
-				yday += isleap_sum(year, base) ?
-					DAYSPERLYEAR :
-					DAYSPERNYEAR;
-			}
-			if ((w == 52 && t->tm_mon == TM_JANUARY) ||
-				(w == 1 && t->tm_mon == TM_DECEMBER))
-					w = 53;
-			if (*format == 'V')
-				pt = _conv(w, L"%02d", pt, ptlim);
-			else if (*format == 'g') {
-				*warnp = IN_ALL;
-				pt = _yconv(year, base, 0, 1, pt, ptlim);
-			} else	
-				pt = _yconv(year, base, 1, 1, pt, ptlim);
-			}
-			continue;
-		case 'v':
-			/*
-			** From Arnold Robbins' strftime version 3.0:
-			** "date as dd-bbb-YYYY"
-			** (ado, 1993-05-24)
-			*/
-			pt = _fmt(L"%e-%b-%Y", t, pt, ptlim, warnp);
-			continue;
-		case 'W':
-			pt = _conv((t->tm_yday + DAYSPERWEEK -
-				(t->tm_wday ?
-				(t->tm_wday - 1) :
-				(DAYSPERWEEK - 1))) / DAYSPERWEEK,
-				L"%02d", pt, ptlim);
-			continue;
-		case 'w':
-			pt = _conv(t->tm_wday, L"%d", pt, ptlim);
-			continue;
-		case 'X':
-			pt = _fmt(Locale->X_fmt, t, pt, ptlim, warnp);
-			continue;
-		case 'x':
-			{
-			int	warn2 = IN_SOME;
-
-			pt = _fmt(Locale->x_fmt, t, pt, ptlim, &warn2);
-			if (warn2 == IN_ALL)
-				warn2 = IN_THIS;
-			if (warn2 > *warnp)
-				*warnp = warn2;
-			}
-			continue;
-		case 'y':
-			*warnp = IN_ALL;
-			pt = _yconv(t->tm_year, TM_YEAR_BASE, 0, 1, pt, ptlim);
-			continue;
-		case 'Y':
-			pt = _yconv(t->tm_year, TM_YEAR_BASE, 1, 1, pt, ptlim);
-			continue;
-		case 'Z':
-			if (t->tm_zone != NULL)
-				pt = _sadd(t->tm_zone, pt, ptlim);
-			else
-				if (t->tm_isdst >= 0)
-					pt = _sadd(tzname[t->tm_isdst != 0], 
-					    pt, ptlim);
-			/*
-			** C99 says that %Z must be replaced by the
-			** empty string if the time zone is not
-			** determinable.
-			*/
-			continue;
-		case 'z':
-			{
-			int		diff;
-			wchar_t const *	sign;
-
-			if (t->tm_isdst < 0)
-				continue;
-			diff = t->tm_gmtoff;
-			if (diff < 0) {
-				sign = L"-";
-				diff = -diff;
-			} else	
-				sign = L"+";
-			pt = _add(sign, pt, ptlim);
-			diff /= SECSPERMIN;
-			diff = (diff / MINSPERHOUR) * 100 +
-				(diff % MINSPERHOUR);
-			pt = _conv(diff, L"%04d", pt, ptlim);
-			}
-			continue;
-		case '+':
-			pt = _fmt(Locale->date_fmt, t, pt, ptlim, warnp);
-			continue;
-		case '%':
-		/*
-		** X311J/88-090 (4.12.3.5): if conversion wchar_t is
-		** undefined, behavior is undefined. Print out the
-		** character itself as printf(3) also does.
-		*/
-		default:
-			if (pt != ptlim)
-				*pt++ = *format;
-			break;
-		}
-	}
-	return pt;
-}
-
-static wchar_t *
-_conv(int n, const wchar_t *format, wchar_t *pt, const wchar_t *ptlim)
-{
-	wchar_t	buf[INT_STRLEN_MAXIMUM(int) + 1];
-
-	(void) swprintf(buf, sizeof buf/sizeof buf[0], format, n);
-	return _add(buf, pt, ptlim);
-}
-
-static wchar_t *
-_add(const wchar_t *str, wchar_t *pt, const wchar_t *ptlim)
-{
-	while (pt < ptlim && (*pt = *str++) != L'\0')
-		++pt;
-	return pt;
-}
-
-static wchar_t *
-_sadd(const char *str, wchar_t *pt, const wchar_t *ptlim)
-{
-	while (pt < ptlim && (*pt = btowc(*str++)) != L'\0')
-		++pt;
-	return pt;
-}
-/*
-** POSIX and the C Standard are unclear or inconsistent about
-** what %C and %y do if the year is negative or exceeds 9999.
-** Use the convention that %C concatenated with %y yields the
-** same output as %Y, and that %Y contains at least 4 bytes,
-** with more only if necessary.
-*/
-
-static wchar_t *
-_yconv(int a, int b, int convert_top, int convert_yy, wchar_t *pt, 
-    const wchar_t *ptlim)
-{
-	int	lead;
-	int	trail;
-
-#define DIVISOR	100
-	trail = a % DIVISOR + b % DIVISOR;
-	lead = a / DIVISOR + b / DIVISOR + trail / DIVISOR;
-	trail %= DIVISOR;
-	if (trail < 0 && lead > 0) {
-		trail += DIVISOR;
-		--lead;
-	} else if (lead < 0 && trail > 0) {
-		trail -= DIVISOR;
-		++lead;
-	}
-	if (convert_top) {
-		if (lead == 0 && trail < 0)
-			pt = _add(L"-0", pt, ptlim);
-		else	pt = _conv(lead, L"%02d", pt, ptlim);
-	}
-	if (convert_yy)
-		pt = _conv(((trail < 0) ? -trail : trail), L"%02d", pt, ptlim);
-	return pt;
-}
-
diff --git a/libc/versioner-dependencies/arm/kernel_uapi_asm-arm b/libc/versioner-dependencies/arm/kernel_uapi_asm-arm
deleted file mode 120000
index 3c7584d..0000000
--- a/libc/versioner-dependencies/arm/kernel_uapi_asm-arm
+++ /dev/null
@@ -1 +0,0 @@
-../../kernel/uapi/asm-arm
\ No newline at end of file
diff --git a/libc/versioner-dependencies/arm64/kernel_uapi_asm-arm64 b/libc/versioner-dependencies/arm64/kernel_uapi_asm-arm64
deleted file mode 120000
index 7ee6fd2..0000000
--- a/libc/versioner-dependencies/arm64/kernel_uapi_asm-arm64
+++ /dev/null
@@ -1 +0,0 @@
-../../kernel/uapi/asm-arm64
\ No newline at end of file
diff --git a/libc/versioner-dependencies/common/clang-builtins b/libc/versioner-dependencies/common/clang-builtins
deleted file mode 120000
index 148dd2b..0000000
--- a/libc/versioner-dependencies/common/clang-builtins
+++ /dev/null
@@ -1 +0,0 @@
-../../../../prebuilts/clang-tools/linux-x86/clang-headers
\ No newline at end of file
diff --git a/libc/versioner-dependencies/common/kernel_android_uapi b/libc/versioner-dependencies/common/kernel_android_uapi
deleted file mode 120000
index fd78315..0000000
--- a/libc/versioner-dependencies/common/kernel_android_uapi
+++ /dev/null
@@ -1 +0,0 @@
-../../kernel/android/uapi/
\ No newline at end of file
diff --git a/libc/versioner-dependencies/common/kernel_uapi b/libc/versioner-dependencies/common/kernel_uapi
deleted file mode 120000
index d5cb8ee..0000000
--- a/libc/versioner-dependencies/common/kernel_uapi
+++ /dev/null
@@ -1 +0,0 @@
-../../kernel/uapi/
\ No newline at end of file
diff --git a/libc/versioner-dependencies/riscv64/kernel_uapi_asm-riscv64 b/libc/versioner-dependencies/riscv64/kernel_uapi_asm-riscv64
deleted file mode 120000
index 61353cb..0000000
--- a/libc/versioner-dependencies/riscv64/kernel_uapi_asm-riscv64
+++ /dev/null
@@ -1 +0,0 @@
-../../kernel/uapi/asm-riscv/
\ No newline at end of file
diff --git a/libc/versioner-dependencies/x86/kernel_uapi_asm-x86 b/libc/versioner-dependencies/x86/kernel_uapi_asm-x86
deleted file mode 120000
index 1b7a73d..0000000
--- a/libc/versioner-dependencies/x86/kernel_uapi_asm-x86
+++ /dev/null
@@ -1 +0,0 @@
-../../kernel/uapi/asm-x86/
\ No newline at end of file
diff --git a/libc/versioner-dependencies/x86_64/kernel_uapi_asm-x86 b/libc/versioner-dependencies/x86_64/kernel_uapi_asm-x86
deleted file mode 120000
index 1b7a73d..0000000
--- a/libc/versioner-dependencies/x86_64/kernel_uapi_asm-x86
+++ /dev/null
@@ -1 +0,0 @@
-../../kernel/uapi/asm-x86/
\ No newline at end of file
diff --git a/libdl/Android.bp b/libdl/Android.bp
index fde3dfc..87db4b1 100644
--- a/libdl/Android.bp
+++ b/libdl/Android.bp
@@ -47,6 +47,9 @@
     sanitize: {
         never: true,
     },
+    apex_available: [
+        "com.android.runtime",
+    ],
 }
 
 cc_library {
@@ -57,33 +60,14 @@
     native_bridge_supported: true,
     static_ndk_lib: true,
 
-    defaults: ["linux_bionic_supported"],
-
-    // NOTE: --exclude-libs=libgcc.a makes sure that any symbols libdl.so pulls from
-    // libgcc.a are made static to libdl.so.  This in turn ensures that libraries that
-    // a) pull symbols from libgcc.a and b) depend on libdl.so will not rely on libdl.so
-    // to provide those symbols, but will instead pull them from libgcc.a.  Specifically,
-    // we use this property to make sure libc.so has its own copy of the code from
-    // libgcc.a it uses.
-    //
-    // DO NOT REMOVE --exclude-libs!
-
-    ldflags: [
-        "-Wl,--exclude-libs=libgcc.a",
-        "-Wl,--exclude-libs=libgcc_stripped.a",
-        "-Wl,--exclude-libs=libclang_rt.builtins-arm-android.a",
-        "-Wl,--exclude-libs=libclang_rt.builtins-aarch64-android.a",
-        "-Wl,--exclude-libs=libclang_rt.builtins-i686-android.a",
-        "-Wl,--exclude-libs=libclang_rt.builtins-riscv64-android.a",
-        "-Wl,--exclude-libs=libclang_rt.builtins-x86_64-android.a",
+    defaults: [
+        "linux_bionic_supported",
+        "bug_24465209_workaround",
     ],
 
-    // for x86, exclude libgcc_eh.a for the same reasons as above
     arch: {
         arm: {
             version_script: ":libdl.arm.map",
-            pack_relocations: false,
-            ldflags: ["-Wl,--hash-style=both"],
         },
         arm64: {
             version_script: ":libdl.arm64.map",
@@ -92,15 +76,9 @@
             version_script: ":libdl.riscv64.map",
         },
         x86: {
-            pack_relocations: false,
-            ldflags: [
-                "-Wl,--exclude-libs=libgcc_eh.a",
-                "-Wl,--hash-style=both",
-            ],
             version_script: ":libdl.x86.map",
         },
         x86_64: {
-            ldflags: ["-Wl,--exclude-libs=libgcc_eh.a"],
             version_script: ":libdl.x86_64.map",
         },
     },
@@ -145,13 +123,8 @@
     },
 
     apex_available: [
-        "//apex_available:platform",
         "com.android.runtime",
     ],
-
-    lto: {
-        never: true,
-    },
 }
 
 cc_library {
@@ -163,38 +136,7 @@
     recovery_available: true,
     native_bridge_supported: true,
 
-    // NOTE: --exclude-libs=libgcc.a makes sure that any symbols libdl.so pulls from
-    // libgcc.a are made static to libdl.so.  This in turn ensures that libraries that
-    // a) pull symbols from libgcc.a and b) depend on libdl.so will not rely on libdl.so
-    // to provide those symbols, but will instead pull them from libgcc.a.  Specifically,
-    // we use this property to make sure libc.so has its own copy of the code from
-    // libgcc.a it uses.
-    //
-    // DO NOT REMOVE --exclude-libs!
-
-    ldflags: [
-        "-Wl,--exclude-libs=libgcc.a",
-        "-Wl,--exclude-libs=libgcc_stripped.a",
-        "-Wl,--exclude-libs=libclang_rt.builtins-arm-android.a",
-        "-Wl,--exclude-libs=libclang_rt.builtins-aarch64-android.a",
-        "-Wl,--exclude-libs=libclang_rt.builtins-i686-android.a",
-        "-Wl,--exclude-libs=libclang_rt.builtins-riscv64-android.a",
-        "-Wl,--exclude-libs=libclang_rt.builtins-x86_64-android.a",
-    ],
-
-    // for x86, exclude libgcc_eh.a for the same reasons as above
-    arch: {
-        x86: {
-            ldflags: [
-                "-Wl,--exclude-libs=libgcc_eh.a",
-            ],
-        },
-        x86_64: {
-            ldflags: ["-Wl,--exclude-libs=libgcc_eh.a"],
-        },
-    },
-
-    srcs: [ "libdl_android.cpp" ],
+    srcs: ["libdl_android.cpp"],
     version_script: "libdl_android.map.txt",
 
     cflags: [
@@ -227,13 +169,8 @@
     },
 
     apex_available: [
-        "//apex_available:platform",
         "com.android.runtime",
     ],
-
-    lto: {
-        never: true,
-    },
 }
 
 ndk_library {
diff --git a/libdl/libdl_android.cpp b/libdl/libdl_android.cpp
index 47a164a..f0959eb 100644
--- a/libdl/libdl_android.cpp
+++ b/libdl/libdl_android.cpp
@@ -59,6 +59,9 @@
 __attribute__((__weak__, visibility("default")))
 struct android_namespace_t* __loader_android_get_exported_namespace(const char* name);
 
+__attribute__((__weak__, visibility("default"))) void __loader_android_set_16kb_appcompat_mode(
+    bool enable_app_compat);
+
 // Proxy calls to bionic loader
 __attribute__((__weak__))
 void android_get_LD_LIBRARY_PATH(char* buffer, size_t buffer_size) {
@@ -115,4 +118,8 @@
   return __loader_android_get_exported_namespace(name);
 }
 
+__attribute__((__weak__)) void android_set_16kb_appcompat_mode(bool enable_app_compat) {
+  __loader_android_set_16kb_appcompat_mode(enable_app_compat);
+}
+
 } // extern "C"
diff --git a/libdl/libdl_android.map.txt b/libdl/libdl_android.map.txt
index 7afcd9c..efbc841 100644
--- a/libdl/libdl_android.map.txt
+++ b/libdl/libdl_android.map.txt
@@ -24,6 +24,7 @@
     android_init_anonymous_namespace; # apex
     android_link_namespaces; # apex
     android_set_application_target_sdk_version; # apex
+    android_set_16kb_appcompat_mode; #apex
   local:
     *;
 };
diff --git a/libdl/libdl_cfi.cpp b/libdl/libdl_cfi.cpp
index 3b68fc7..8adc342 100644
--- a/libdl/libdl_cfi.cpp
+++ b/libdl/libdl_cfi.cpp
@@ -26,15 +26,15 @@
 // dlopen/dlclose.
 static struct {
   uintptr_t v;
-  char padding[PAGE_SIZE - sizeof(v)];
-} shadow_base_storage alignas(PAGE_SIZE);
+  char padding[max_android_page_size() - sizeof(v)];
+} shadow_base_storage alignas(max_android_page_size());
 
 // __cfi_init is called by the loader as soon as the shadow is mapped. This may happen very early
 // during startup, before libdl.so global constructors, and, on i386, even before __libc_sysinfo is
 // initialized. This function should not do any system calls.
 extern "C" uintptr_t* __cfi_init(uintptr_t shadow_base) {
   shadow_base_storage.v = shadow_base;
-  static_assert(sizeof(shadow_base_storage) == PAGE_SIZE, "");
+  static_assert(sizeof(shadow_base_storage) == max_android_page_size(), "");
   return &shadow_base_storage.v;
 }
 
diff --git a/libfdtrack/Android.bp b/libfdtrack/Android.bp
index 83ea7cb..644d46d 100644
--- a/libfdtrack/Android.bp
+++ b/libfdtrack/Android.bp
@@ -1,4 +1,5 @@
 package {
+    default_team: "trendy_team_native_tools_libraries",
     default_applicable_licenses: ["bionic_libfdtrack_license"],
 }
 
@@ -22,10 +23,17 @@
     static_libs: [
         "libasync_safe",
         "libbase",
+        "libdexfile_support",
         "libunwindstack",
         "liblzma",
         "liblog",
+        "libz",
     ],
+    target: {
+        recovery: {
+            exclude_static_libs: ["libdexfile_support"],
+        },
+    },
     version_script: "libfdtrack.map.txt",
 
     allow_undefined_symbols: true,
diff --git a/libfdtrack/fdtrack.cpp b/libfdtrack/fdtrack.cpp
index b064401..e446f56 100644
--- a/libfdtrack/fdtrack.cpp
+++ b/libfdtrack/fdtrack.cpp
@@ -45,10 +45,8 @@
 #include <android-base/thread_annotations.h>
 #include <async_safe/log.h>
 #include <bionic/reserved_signals.h>
-#include <unwindstack/Maps.h>
-#include <unwindstack/Regs.h>
-#include <unwindstack/RegsGetLocal.h>
-#include <unwindstack/Unwinder.h>
+
+#include <unwindstack/AndroidUnwinder.h>
 
 struct FdEntry {
   std::mutex mutex;
@@ -70,22 +68,16 @@
 // Only unwind up to 32 frames outside of libfdtrack.so.
 static constexpr size_t kStackDepth = 32;
 
-// Skip any initial frames from libfdtrack.so.
-// Also ignore frames from ART (http://b/236197847) because we'd rather spend
-// our precious few frames on the actual Java calling code rather than the
-// implementation of JNI!
-static std::vector<std::string> kSkipFdtrackLib
-    [[clang::no_destroy]] = {"libfdtrack.so", "libart.so"};
-
 static bool installed = false;
 static std::array<FdEntry, kFdTableSize> stack_traces [[clang::no_destroy]];
-static unwindstack::LocalUpdatableMaps& Maps() {
-  static android::base::NoDestructor<unwindstack::LocalUpdatableMaps> maps;
-  return *maps.get();
-}
-static std::shared_ptr<unwindstack::Memory>& ProcessMemory() {
-  static android::base::NoDestructor<std::shared_ptr<unwindstack::Memory>> process_memory;
-  return *process_memory.get();
+static unwindstack::AndroidLocalUnwinder& Unwinder() {
+  // Skip any initial frames from libfdtrack.so.
+  // Also ignore frames from ART (http://b/236197847) because we'd rather spend
+  // our precious few frames on the actual Java calling code rather than the
+  // implementation of JNI!
+  static android::base::NoDestructor<unwindstack::AndroidLocalUnwinder> unwinder(
+      std::vector<std::string>{"libfdtrack.so", "libart.so"});
+  return *unwinder.get();
 }
 
 __attribute__((constructor)) static void ctor() {
@@ -104,8 +96,8 @@
   sa.sa_flags = SA_SIGINFO | SA_ONSTACK;
   sigaction(BIONIC_SIGNAL_FDTRACK, &sa, nullptr);
 
-  if (Maps().Parse()) {
-    ProcessMemory() = unwindstack::Memory::CreateProcessMemoryThreadCached(getpid());
+  unwindstack::ErrorData error;
+  if (Unwinder().Initialize(error)) {
     android_fdtrack_hook_t expected = nullptr;
     installed = android_fdtrack_compare_exchange_hook(&expected, &fd_hook);
   }
@@ -133,11 +125,10 @@
       std::lock_guard<std::mutex> lock(entry->mutex);
       entry->backtrace.clear();
 
-      std::unique_ptr<unwindstack::Regs> regs(unwindstack::Regs::CreateFromLocal());
-      unwindstack::RegsGetLocal(regs.get());
-      unwindstack::Unwinder unwinder(kStackDepth, &Maps(), regs.get(), ProcessMemory());
-      unwinder.Unwind(&kSkipFdtrackLib);
-      entry->backtrace = unwinder.ConsumeFrames();
+      unwindstack::AndroidUnwinderData data(kStackDepth);
+      if (Unwinder().Unwind(data)) {
+        entry->backtrace = std::move(data.frames);
+      }
     }
   } else if (event->type == ANDROID_FDTRACK_EVENT_TYPE_CLOSE) {
     if (FdEntry* entry = GetFdEntry(event->fd); entry) {
@@ -278,8 +269,10 @@
   if (fatal) {
     // Find the most common stack.
     size_t max = 0;
+    size_t total = 0;
     StackInfo* stack = nullptr;
     for (size_t i = 0; i < stacks.count; ++i) {
+      total += stacks.data[i].count;
       if (stacks.data[i].count > max) {
         stack = &stacks.data[i];
         max = stack->count;
@@ -290,11 +283,13 @@
 
     if (!stack) {
       async_safe_format_buffer(buf, sizeof(buf),
-                               "aborting due to fd leak: failed to find most common stack");
+                               "aborting due to fd leak: see \"open files\" in the tombstone; "
+                               "no stacks?!");
     } else {
       char* p = buf;
       p += async_safe_format_buffer(buf, sizeof(buf),
-                                    "aborting due to fd leak: most common stack =\n");
+                                    "aborting due to fd leak: see \"open files\" in the tombstone; "
+                                    "most common stack (%zu/%zu) is\n", max, total);
 
       for (size_t i = 0; i < stack->stack_depth; ++i) {
         ssize_t bytes_left = buf + sizeof(buf) - p;
diff --git a/libm/Android.bp b/libm/Android.bp
index 13fbf9a..ee86959 100644
--- a/libm/Android.bp
+++ b/libm/Android.bp
@@ -21,7 +21,10 @@
 
 cc_library {
     name: "libm",
-    defaults: ["linux_bionic_supported"],
+    defaults: [
+        "linux_bionic_supported",
+        "bug_24465209_workaround",
+    ],
     ramdisk_available: true,
     vendor_ramdisk_available: true,
     recovery_available: true,
@@ -158,8 +161,6 @@
         "upstream-freebsd/lib/msun/src/s_nextafterf.c",
         "upstream-freebsd/lib/msun/src/s_remquo.c",
         "upstream-freebsd/lib/msun/src/s_remquof.c",
-        "upstream-freebsd/lib/msun/src/s_rint.c",
-        "upstream-freebsd/lib/msun/src/s_rintf.c",
         "upstream-freebsd/lib/msun/src/s_round.c",
         "upstream-freebsd/lib/msun/src/s_roundf.c",
         "upstream-freebsd/lib/msun/src/s_scalbln.c",
@@ -176,17 +177,15 @@
         "upstream-freebsd/lib/msun/src/s_tanh.c",
         "upstream-freebsd/lib/msun/src/s_tanhf.c",
         "upstream-freebsd/lib/msun/src/s_tgammaf.c",
-        "upstream-freebsd/lib/msun/src/s_trunc.c",
-        "upstream-freebsd/lib/msun/src/s_truncf.c",
         "upstream-freebsd/lib/msun/src/w_cabs.c",
         "upstream-freebsd/lib/msun/src/w_cabsf.c",
         "upstream-freebsd/lib/msun/src/w_cabsl.c",
         "upstream-freebsd/lib/msun/src/w_drem.c",
         "upstream-freebsd/lib/msun/src/w_dremf.c",
 
-        // The FreeBSD complex functions appear to be better, but they're incomplete.
-        // We take the FreeBSD implementations when they exist, but fill out the rest
-        // of <complex.h> from NetBSD...
+        // The FreeBSD complex function implementations appear to be better
+        // than the other BSDs', but they're incomplete. We take the FreeBSD
+        // implementations when they exist, but fill out the rest from NetBSD...
         "upstream-netbsd/lib/libm/complex/ccoshl.c",
         "upstream-netbsd/lib/libm/complex/ccosl.c",
         "upstream-netbsd/lib/libm/complex/cephes_subrl.c",
@@ -196,11 +195,6 @@
         "upstream-netbsd/lib/libm/complex/ctanhl.c",
         "upstream-netbsd/lib/libm/complex/ctanl.c",
 
-        // TODO: this comes from from upstream's libc, not libm, but it's an
-        // implementation detail that should have hidden visibility, so it needs
-        // to be in whatever library the math code is in.
-        "digittoint.c",
-
         // Functionality not in the BSDs.
         "significandl.c",
         "fake_long_double.c",
@@ -277,24 +271,37 @@
     arch: {
         arm: {
             srcs: [
-                "arm/fenv.c",
-                "upstream-freebsd/lib/msun/src/s_ceil.c",
-                "upstream-freebsd/lib/msun/src/s_ceilf.c",
+                "fenv-arm.c",
             ],
+            armv7_a_neon: {
+                // armv7 arm32 has no instructions to implement these as
+                // builtins, so we build the portable implementations for armv7,
+                // because the NDK still supports armv7.
+                srcs: [
+                    "upstream-freebsd/lib/msun/src/s_ceil.c",
+                    "upstream-freebsd/lib/msun/src/s_ceilf.c",
+                    "upstream-freebsd/lib/msun/src/s_floor.c",
+                    "upstream-freebsd/lib/msun/src/s_floorf.c",
+                    "upstream-freebsd/lib/msun/src/s_rint.c",
+                    "upstream-freebsd/lib/msun/src/s_rintf.c",
+                    "upstream-freebsd/lib/msun/src/s_trunc.c",
+                    "upstream-freebsd/lib/msun/src/s_truncf.c",
+                ],
+            },
             instruction_set: "arm",
-            pack_relocations: false,
-            ldflags: ["-Wl,--hash-style=both"],
             version_script: ":libm.arm.map",
             no_libcrt: true,
             shared: {
                 // For backwards-compatibility, some arm32 builtins are exported from libm.so.
                 static_libs: ["libclang_rt.builtins-exported"],
             },
+            // "#pragma STDC FENV_ACCESS ON" in e_sqrtl.c is not supported for arm32.
+            cflags: ["-Wno-ignored-pragmas"],
         },
 
         arm64: {
             srcs: [
-                "arm64/fenv.c",
+                "fenv-arm64.c",
             ],
             exclude_srcs: [
                 "upstream-freebsd/lib/msun/src/s_fma.c",
@@ -311,19 +318,15 @@
                 "upstream-freebsd/lib/msun/src/s_lrintf.c",
                 "upstream-freebsd/lib/msun/src/s_lround.c",
                 "upstream-freebsd/lib/msun/src/s_lroundf.c",
-                "upstream-freebsd/lib/msun/src/s_rint.c",
-                "upstream-freebsd/lib/msun/src/s_rintf.c",
                 "upstream-freebsd/lib/msun/src/s_round.c",
                 "upstream-freebsd/lib/msun/src/s_roundf.c",
-                "upstream-freebsd/lib/msun/src/s_trunc.c",
-                "upstream-freebsd/lib/msun/src/s_truncf.c",
             ],
             version_script: ":libm.arm64.map",
         },
 
         riscv64: {
             srcs: [
-                "riscv64/fenv.c",
+                "fenv-riscv64.c",
             ],
 
             exclude_srcs: [
@@ -341,54 +344,37 @@
                 "upstream-freebsd/lib/msun/src/s_lrintf.c",
                 "upstream-freebsd/lib/msun/src/s_lround.c",
                 "upstream-freebsd/lib/msun/src/s_lroundf.c",
-                "upstream-freebsd/lib/msun/src/s_rint.c",
-                "upstream-freebsd/lib/msun/src/s_rintf.c",
                 "upstream-freebsd/lib/msun/src/s_round.c",
                 "upstream-freebsd/lib/msun/src/s_roundf.c",
-                "upstream-freebsd/lib/msun/src/s_trunc.c",
-                "upstream-freebsd/lib/msun/src/s_truncf.c",
             ],
             version_script: ":libm.riscv64.map",
         },
 
         x86: {
             srcs: [
-                "i387/fenv.c",
-                "x86/lrint.S",
-                "x86/lrintf.S",
-            ],
-            exclude_srcs: [
-                "upstream-freebsd/lib/msun/src/s_lrint.c",
-                "upstream-freebsd/lib/msun/src/s_lrintf.c",
-                "upstream-freebsd/lib/msun/src/s_rint.c",
-                "upstream-freebsd/lib/msun/src/s_rintf.c",
-                "upstream-freebsd/lib/msun/src/s_trunc.c",
-                "upstream-freebsd/lib/msun/src/s_truncf.c",
-            ],
-            local_include_dirs: ["i387"],
-            pack_relocations: false,
-            // The x86 ABI doesn't include this, which is needed for the
-            // roundss/roundsd instructions that we've used since Android M.
-            cflags: ["-msse4.1"],
-            ldflags: ["-Wl,--hash-style=both"],
-            version_script: ":libm.x86.map",
-        },
-
-        x86_64: {
-            srcs: [
-                "amd64/fenv.c",
-                "x86_64/lrint.S",
-                "x86_64/lrintf.S",
+                "fenv-x86.c",
             ],
             exclude_srcs: [
                 "upstream-freebsd/lib/msun/src/s_llrint.c",
                 "upstream-freebsd/lib/msun/src/s_llrintf.c",
                 "upstream-freebsd/lib/msun/src/s_lrint.c",
                 "upstream-freebsd/lib/msun/src/s_lrintf.c",
-                "upstream-freebsd/lib/msun/src/s_rint.c",
-                "upstream-freebsd/lib/msun/src/s_rintf.c",
-                "upstream-freebsd/lib/msun/src/s_trunc.c",
-                "upstream-freebsd/lib/msun/src/s_truncf.c",
+            ],
+            // The x86 ABI doesn't include this, which is needed for the
+            // roundss/roundsd instructions that we've used since Android M.
+            cflags: ["-msse4.1"],
+            version_script: ":libm.x86.map",
+        },
+
+        x86_64: {
+            srcs: [
+                "fenv-x86_64.c",
+            ],
+            exclude_srcs: [
+                "upstream-freebsd/lib/msun/src/s_llrint.c",
+                "upstream-freebsd/lib/msun/src/s_llrintf.c",
+                "upstream-freebsd/lib/msun/src/s_lrint.c",
+                "upstream-freebsd/lib/msun/src/s_lrintf.c",
             ],
             version_script: ":libm.x86_64.map",
         },
@@ -400,16 +386,11 @@
     ],
 
     cflags: [
-        "-D__BIONIC_LP32_USE_LONG_DOUBLE",
-        "-D_BSD_SOURCE",
-        "-DFLT_EVAL_METHOD=0",
         "-include freebsd-compat.h",
-        "-include fenv-access.h",
         "-fno-builtin",
         "-fno-math-errno",
         "-Wall",
         "-Werror",
-        "-Wno-ignored-pragmas",
         "-Wno-missing-braces",
         "-Wno-parentheses",
         "-Wno-sign-compare",
@@ -454,7 +435,6 @@
     },
 
     apex_available: [
-        "//apex_available:platform",
         "com.android.runtime",
     ],
 
@@ -467,8 +447,6 @@
     name: "libm",
     symbol_file: "libm.map.txt",
     first_version: "9",
-    // APIs implemented in asm don't have debug info: http://b/190554910.
-    allow_untyped_symbols: true,
 }
 
 genrule {
@@ -510,3 +488,10 @@
     tools: ["generate-version-script"],
     cmd: "$(location generate-version-script) x86_64 $(in) $(out)",
 }
+
+// Because of a historical accidnt, ldexp() is in libc,
+// even though ldexpf() and ldexpl() are in libm.
+filegroup {
+    name: "libc_ldexp_srcs",
+    srcs: ["upstream-freebsd/lib/msun/src/s_scalbn.c"],
+}
diff --git a/libm/NOTICE b/libm/NOTICE
index 5e2f8ca..bcdce54 100644
--- a/libm/NOTICE
+++ b/libm/NOTICE
@@ -140,15 +140,6 @@
 -------------------------------------------------------------------
 
 ====================================================
-Copyright (C) 2004 by Sun Microsystems, Inc. All rights reserved.
-
-Permission to use, copy, modify, and distribute this
-software is freely granted, provided that this notice
-is preserved.
-
--------------------------------------------------------------------
-
-====================================================
 Copyright 2004 Sun Microsystems, Inc.  All Rights Reserved.
 
 Permission to use, copy, modify, and distribute this
@@ -253,34 +244,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (C) 2021 The Android Open Source Project
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in
-   the documentation and/or other materials provided with the
-   distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
-OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (C) 2022 The Android Open Source Project
 All rights reserved.
 
@@ -309,125 +272,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 1985, 1993
-   The Regents of the University of California.  All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. Neither the name of the University nor the names of its contributors
-   may be used to endorse or promote products derived from this software
-   without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
-Copyright (c) 1988, 1993
-   The Regents of the University of California.  All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. All advertising materials mentioning features or use of this software
-   must display the following acknowledgement:
-   This product includes software developed by the University of
-   California, Berkeley and its contributors.
-4. Neither the name of the University nor the names of its contributors
-   may be used to endorse or promote products derived from this software
-   without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
-Copyright (c) 1992, 1993
-   The Regents of the University of California.  All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. Neither the name of the University nor the names of its contributors
-   may be used to endorse or promote products derived from this software
-   without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
-Copyright (c) 2003 Dag-Erling Smørgrav
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer
-   in this position and unchanged.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-3. The name of the author may not be used to endorse or promote products
-   derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (c) 2003 Mike Barcroft <mike@FreeBSD.org>
 Copyright (c) 2002 David Schultz <das@FreeBSD.ORG>
 All rights reserved.
@@ -455,32 +299,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 2003, Steven G. Kargl
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice unmodified, this list of conditions, and the following
-   disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (c) 2004 David Schultz <das@FreeBSD.ORG>
 All rights reserved.
 
@@ -507,32 +325,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 2004 Stefan Farfeleder
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (c) 2004-2005 David Schultz <das (at) FreeBSD.ORG>
 All rights reserved.
 
@@ -585,231 +377,15 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 2005 Bruce D. Evans and Steven G. Kargl
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice unmodified, this list of conditions, and the following
-   disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
--------------------------------------------------------------------
-
-Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
-Copyright (c) 2005-2008 David Schultz <das@FreeBSD.ORG>
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
-Copyright (c) 2005-2011 David Schultz <das@FreeBSD.ORG>
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (c) 2005-2020 Rich Felker, et al.
 
+SPDX-License-Identifier: MIT
 
 Please see https://git.musl-libc.org/cgit/musl/tree/COPYRIGHT
 for all contributors to musl.
 
 -------------------------------------------------------------------
 
-Copyright (c) 2007 David Schultz
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
-Copyright (c) 2007 David Schultz <das@FreeBSD.ORG>
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
-Copyright (c) 2007 David Schultz <das@FreeBSD.ORG>
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
-Derived from s_modf.c, which has the following Copyright:
-====================================================
-Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
-
-Developed at SunPro, a Sun Microsystems, Inc. business.
-Permission to use, copy, modify, and distribute this
-software is freely granted, provided that this notice
-is preserved.
-
--------------------------------------------------------------------
-
-Copyright (c) 2007 Steven G. Kargl
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice unmodified, this list of conditions, and the following
-   disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (c) 2007 The NetBSD Foundation, Inc.
 All rights reserved.
 
@@ -867,84 +443,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 2007-2008 David Schultz <das@FreeBSD.ORG>
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
-Copyright (c) 2007-2013 Bruce D. Evans
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice unmodified, this list of conditions, and the following
-   disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
--------------------------------------------------------------------
-
-Copyright (c) 2008 David Schultz <das@FreeBSD.ORG>
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (c) 2008 Stephen L. Moshier <steve@moshier.net>
 
 Permission to use, copy, modify, and distribute this software for any
@@ -961,112 +459,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 2009-2013 Steven G. Kargl
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice unmodified, this list of conditions, and the following
-   disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-Optimized by Bruce D. Evans.
-
--------------------------------------------------------------------
-
-Copyright (c) 2011 David Schultz
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice unmodified, this list of conditions, and the following
-   disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
--------------------------------------------------------------------
-
-Copyright (c) 2011 David Schultz <das@FreeBSD.ORG>
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
-Copyright (c) 2012 Stephen Montgomery-Smith <stephen@FreeBSD.ORG>
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (c) 2012 Stephen Montgomery-Smith <stephen@FreeBSD.ORG>
 Copyright (c) 2017 Mahdi Mokhtari <mmokhi@FreeBSD.org>
 All rights reserved.
@@ -1120,36 +512,6 @@
 
 -------------------------------------------------------------------
 
-Copyright (c) 2014, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
--------------------------------------------------------------------
-
 Copyright (c) 2017 Steven G. Kargl
 All rights reserved.
 
@@ -1176,7 +538,339 @@
 
 -------------------------------------------------------------------
 
-From: @(#)s_ilogb.c 5.1 93/09/24
+Copyright (c) 2017, 2023 Steven G. Kargl
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice unmodified, this list of conditions, and the following
+   disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2003, Steven G. Kargl
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice unmodified, this list of conditions, and the following
+   disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2004 David Schultz <das@FreeBSD.ORG>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2004 Stefan Farfeleder
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2004-2005 David Schultz <das@FreeBSD.ORG>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2005 Bruce D. Evans and Steven G. Kargl
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice unmodified, this list of conditions, and the following
+   disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2005-2008 David Schultz <das@FreeBSD.ORG>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2005-2011 David Schultz <das@FreeBSD.ORG>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2007 David Schultz
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2007 David Schultz <das@FreeBSD.ORG>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2007 David Schultz <das@FreeBSD.ORG>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+Derived from s_modf.c, which has the following Copyright:
 ====================================================
 Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
 
@@ -1187,3 +881,291 @@
 
 -------------------------------------------------------------------
 
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2007 Steven G. Kargl
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice unmodified, this list of conditions, and the following
+   disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2007-2008 David Schultz <das@FreeBSD.ORG>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2007-2013 Bruce D. Evans
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice unmodified, this list of conditions, and the following
+   disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2008 David Schultz <das@FreeBSD.ORG>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2009-2013 Steven G. Kargl
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice unmodified, this list of conditions, and the following
+   disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Optimized by Bruce D. Evans.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2011 David Schultz
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice unmodified, this list of conditions, and the following
+   disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2011 David Schultz <das@FreeBSD.ORG>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-2-Clause
+
+Copyright (c) 2012 Stephen Montgomery-Smith <stephen@FreeBSD.ORG>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-3-Clause
+
+Copyright (c) 1985, 1993
+   The Regents of the University of California.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. Neither the name of the University nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+SPDX-License-Identifier: BSD-3-Clause
+
+Copyright (c) 1992, 1993
+   The Regents of the University of California.  All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. Neither the name of the University nor the names of its contributors
+   may be used to endorse or promote products derived from this software
+   without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
diff --git a/libm/builtins.cpp b/libm/builtins.cpp
index 41e145b..97db425 100644
--- a/libm/builtins.cpp
+++ b/libm/builtins.cpp
@@ -18,13 +18,12 @@
 
 #include "fpmath.h"
 
-double fabs(double x) { return __builtin_fabs(x); }
-float fabsf(float x) { return __builtin_fabsf(x); }
-long double fabsl(long double x) { return __builtin_fabsl(x); }
-
-#if defined(__aarch64__) || defined(__riscv) || defined(__i386__) || defined(__x86_64__)
-float ceilf(float x) { return __builtin_ceilf(x); }
+#if defined(__arm__) && (__ARM_ARCH <= 7)
+// armv7 arm32 has no instructions to implement these builtins,
+// so we include the msun source in the .bp file instead.
+#else
 double ceil(double x) { return __builtin_ceil(x); }
+float ceilf(float x) { return __builtin_ceilf(x); }
 #if defined(__ILP32__)
 __weak_reference(ceil, ceill);
 #endif
@@ -34,21 +33,16 @@
 float copysignf(float x, float y) { return __builtin_copysignf(x, y); }
 long double copysignl(long double x, long double y) { return __builtin_copysignl(x, y); }
 
-#if defined(__arm__) && (__ARM_ARCH < 8)
-// armv8 arm32 has a single-instruction implementation for these, but
-// armv7 arm32 doesn't, so __builtin_ doesn't work for arm32.
-#include "math_private.h"
-namespace s_floor {
-#include "upstream-freebsd/lib/msun/src/s_floor.c"
-}
-namespace s_floorf {
-#include "upstream-freebsd/lib/msun/src/s_floorf.c"
-}
-float floorf(float x) { return s_floorf::floorf(x); }
-double floor(double x) { return s_floor::floor(x); }
+double fabs(double x) { return __builtin_fabs(x); }
+float fabsf(float x) { return __builtin_fabsf(x); }
+long double fabsl(long double x) { return __builtin_fabsl(x); }
+
+#if defined(__arm__) && (__ARM_ARCH <= 7)
+// armv7 arm32 has no instructions to implement these builtins,
+// so we include the msun source in the .bp file instead.
 #else
-float floorf(float x) { return __builtin_floorf(x); }
 double floor(double x) { return __builtin_floor(x); }
+float floorf(float x) { return __builtin_floorf(x); }
 #if defined(__ILP32__)
 __weak_reference(floor, floorl);
 #endif
@@ -65,7 +59,7 @@
 double fmin(double x, double y) { return __builtin_fmin(x, y); }
 #endif
 
-#if defined(__aarch64__) || defined(__riscv)
+#if defined(__aarch64__) || defined(__riscv) || defined(__i386__) || defined(__x86_64__)
 long lrint(double x) { return __builtin_lrint(x); }
 long lrintf(float x) { return __builtin_lrintf(x); }
 long long llrint(double x) { return __builtin_llrint(x); }
@@ -79,28 +73,34 @@
 long long llroundf(float x) { return __builtin_llroundf(x); }
 #endif
 
-#if defined(__aarch64__) || defined(__riscv) || defined(__i386__) || defined(__x86_64__)
-float rintf(float x) { return __builtin_rintf(x); }
+#if defined(__arm__) && (__ARM_ARCH <= 7)
+// armv7 arm32 has no instructions to implement these builtins,
+// so we include the msun source in the .bp file instead.
+#else
 double rint(double x) { return __builtin_rint(x); }
+float rintf(float x) { return __builtin_rintf(x); }
 #if defined(__ILP32__)
 __weak_reference(rint, rintl);
 #endif
 #endif
 
 #if defined(__aarch64__) || defined(__riscv)
-float roundf(float x) { return __builtin_roundf(x); }
 double round(double x) { return __builtin_round(x); }
+float roundf(float x) { return __builtin_roundf(x); }
 #endif
 
-float sqrtf(float x) { return __builtin_sqrtf(x); }
 double sqrt(double x) { return __builtin_sqrt(x); }
+float sqrtf(float x) { return __builtin_sqrtf(x); }
 #if defined(__ILP32__)
 __weak_reference(sqrt, sqrtl);
 #endif
 
-#if defined(__aarch64__) || defined(__riscv) || defined(__i386__) || defined(__x86_64__)
-float truncf(float x) { return __builtin_truncf(x); }
+#if defined(__arm__) && (__ARM_ARCH <= 7)
+// armv7 arm32 has no instructions to implement these builtins,
+// so we include the msun source in the .bp file instead.
+#else
 double trunc(double x) { return __builtin_trunc(x); }
+float truncf(float x) { return __builtin_truncf(x); }
 #if defined(__ILP32__)
 __weak_reference(trunc, truncl);
 #endif
diff --git a/libm/digittoint.c b/libm/digittoint.c
deleted file mode 100644
index 1824788..0000000
--- a/libm/digittoint.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/*-
- * Copyright (c) 2007 David Schultz
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD$
- */
-
-#include <sys/cdefs.h>
-
-/* digittoint is in the FreeBSD C library, but implemented in terms of locale stuff. */
-__LIBC_HIDDEN__ int digittoint(char ch) {
-  int d = ch - '0';
-  if ((unsigned) d < 10) {
-    return d;
-  }
-  d = ch - 'a';
-  if ((unsigned) d < 6) {
-    return d + 10;
-  }
-  d = ch - 'A';
-  if ((unsigned) d < 6) {
-    return d + 10;
-  }
-  return -1;
-}
diff --git a/libm/fake_long_double.c b/libm/fake_long_double.c
index 5f9b980..68492bc 100644
--- a/libm/fake_long_double.c
+++ b/libm/fake_long_double.c
@@ -29,9 +29,7 @@
 long double fminl(long double a1, long double a2) { return fmin(a1, a2); }
 int ilogbl(long double a1) { return ilogb(a1); }
 long long llrintl(long double a1) { return llrint(a1); }
-#if !defined(__i386__) // x86 has an assembler lrint/lrintl.
 long lrintl(long double a1) { return lrint(a1); }
-#endif
 long long llroundl(long double a1) { return llround(a1); }
 long lroundl(long double a1) { return lround(a1); }
 long double modfl(long double a1, long double* a2) { double i; double f = modf(a1, &i); *a2 = i; return f; }
diff --git a/libm/arm/fenv.c b/libm/fenv-arm.c
similarity index 100%
rename from libm/arm/fenv.c
rename to libm/fenv-arm.c
diff --git a/libm/arm64/fenv.c b/libm/fenv-arm64.c
similarity index 100%
rename from libm/arm64/fenv.c
rename to libm/fenv-arm64.c
diff --git a/libm/riscv64/fenv.c b/libm/fenv-riscv64.c
similarity index 100%
rename from libm/riscv64/fenv.c
rename to libm/fenv-riscv64.c
diff --git a/libm/i387/fenv.c b/libm/fenv-x86.c
similarity index 100%
rename from libm/i387/fenv.c
rename to libm/fenv-x86.c
diff --git a/libm/amd64/fenv.c b/libm/fenv-x86_64.c
similarity index 100%
rename from libm/amd64/fenv.c
rename to libm/fenv-x86_64.c
diff --git a/libm/freebsd-compat.h b/libm/freebsd-compat.h
index 7accc55..9555ff9 100644
--- a/libm/freebsd-compat.h
+++ b/libm/freebsd-compat.h
@@ -16,9 +16,12 @@
 
 #pragma once
 
+// Since we're implementing all the extensions,
+// we need to make sure we get all their declarations when we include <math.h>.
+#define _BSD_SOURCE
+
 // Some FreeBSD source includes <complex.h> and assumes <math.h> from that.
 #include <math.h>
-#include <float.h>
 
 #define __weak_reference(sym,alias)     \
     __asm__(".weak " #alias);           \
@@ -27,18 +30,12 @@
 #define __strong_reference(sym,aliassym) \
     extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)))
 
-#define __warn_references(sym,msg) /* ignored */
-
-// digittoint is in BSD's <ctype.h>, but not ours, so we have a secret
-// implementation in libm. We reuse parts of libm in the NDK's
-// libandroid_support, where it's a static library, so we want all our
-// "hidden" functions start with a double underscore --- being HIDDEN
-// in the ELF sense is not sufficient.
-#define digittoint __libm_digittoint
-int digittoint(char ch);
-
-// Similarly rename _scan_nan.
-#define _scan_nan __libm_scan_nan
+// digittoint is in BSD's <ctype.h> but not ours.
+#include <ctype.h>
+static inline int digittoint(char ch) {
+  if (!isxdigit(ch)) return -1;
+  return isdigit(ch) ? (ch - '0') : (_tolower(ch) - 'a');
+}
 
 // FreeBSD exports these in <math.h> but we don't.
 double cospi(double);
diff --git a/libm/libm.map.txt b/libm/libm.map.txt
index a931b93..b9a0db2 100644
--- a/libm/libm.map.txt
+++ b/libm/libm.map.txt
@@ -8,23 +8,23 @@
     acosf;
     acosh;
     acoshf;
-    acoshl; # introduced=21
-    acosl; # introduced=21
+    acoshl;
+    acosl;
     asin;
     asinf;
     asinh;
     asinhf;
-    asinhl; # introduced=21
-    asinl; # introduced=21
+    asinhl;
+    asinl;
     atan;
     atan2;
     atan2f;
-    atan2l; # introduced=21
+    atan2l;
     atanf;
     atanh;
     atanhf;
-    atanhl; # introduced=21
-    atanl; # introduced=21
+    atanhl;
+    atanl;
     cabs; # introduced=23
     cabsf; # introduced=23
     cabsl; # introduced-arm=21 introduced-arm64=23 introduced-x86=21 introduced-x86_64=23
@@ -45,7 +45,7 @@
     catanhf; # introduced=23
     cbrt;
     cbrtf;
-    cbrtl; # introduced=21
+    cbrtl;
     ccos; # introduced=23
     ccosf; # introduced=23
     ccosh; # introduced=23
@@ -68,8 +68,8 @@
     cosf;
     cosh;
     coshf;
-    coshl; # introduced=21
-    cosl; # introduced=21
+    coshl;
+    cosl;
     cproj; # introduced=23
     cprojf; # introduced=23
     cprojl; # introduced-arm=21 introduced-arm64=23 introduced-x86=21 introduced-x86_64=23
@@ -92,38 +92,38 @@
     erf;
     erfc;
     erfcf;
-    erfcl; # introduced=21
+    erfcl;
     erff;
-    erfl; # introduced=21
+    erfl;
     exp;
     exp2;
     exp2f;
-    exp2l; # introduced=21
+    exp2l;
     expf;
-    expl; # introduced=21
+    expl;
     expm1;
     expm1f;
-    expm1l; # introduced=21
+    expm1l;
     fabs;
     fabsf;
     fabsl;
     fdim;
     fdimf;
     fdiml;
-    feclearexcept; # introduced-arm=21 introduced-arm64=21 introduced-x86=9 introduced-x86_64=21
-    fedisableexcept; # introduced-arm=21 introduced-arm64=21 introduced-x86=9 introduced-x86_64=21
-    feenableexcept; # introduced-arm=21 introduced-arm64=21 introduced-x86=9 introduced-x86_64=21
-    fegetenv; # introduced-arm=21 introduced-arm64=21 introduced-x86=9 introduced-x86_64=21
-    fegetexcept; # introduced-arm=21 introduced-arm64=21 introduced-x86=9 introduced-x86_64=21
-    fegetexceptflag; # introduced-arm=21 introduced-arm64=21 introduced-x86=9 introduced-x86_64=21
-    fegetround; # introduced-arm=21 introduced-arm64=21 introduced-x86=9 introduced-x86_64=21
-    feholdexcept; # introduced-arm=21 introduced-arm64=21 introduced-x86=9 introduced-x86_64=21
-    feraiseexcept; # introduced-arm=21 introduced-arm64=21 introduced-x86=9 introduced-x86_64=21
-    fesetenv; # introduced-arm=21 introduced-arm64=21 introduced-x86=9 introduced-x86_64=21
-    fesetexceptflag; # introduced-arm=21 introduced-arm64=21 introduced-x86=9 introduced-x86_64=21
-    fesetround; # introduced-arm=21 introduced-arm64=21 introduced-x86=9 introduced-x86_64=21
-    fetestexcept; # introduced-arm=21 introduced-arm64=21 introduced-x86=9 introduced-x86_64=21
-    feupdateenv; # introduced-arm=21 introduced-arm64=21 introduced-x86=9 introduced-x86_64=21
+    feclearexcept;
+    fedisableexcept;
+    feenableexcept;
+    fegetenv;
+    fegetexcept;
+    fegetexceptflag;
+    fegetround;
+    feholdexcept;
+    feraiseexcept;
+    fesetenv;
+    fesetexceptflag;
+    fesetround;
+    fetestexcept;
+    feupdateenv;
     finite;
     finitef;
     floor;
@@ -131,7 +131,7 @@
     floorl;
     fma;
     fmaf;
-    fmal; # introduced=21
+    fmal;
     fmax;
     fmaxf;
     fmaxl;
@@ -140,17 +140,17 @@
     fminl;
     fmod;
     fmodf;
-    fmodl; # introduced=21
+    fmodl;
     frexp;
     frexpf;
-    frexpl; # introduced=21
+    frexpl;
     gamma;
     gamma_r;
     gammaf;
     gammaf_r;
     hypot;
     hypotf;
-    hypotl; # introduced=21
+    hypotl;
     ilogb;
     ilogbf;
     ilogbl;
@@ -166,77 +166,77 @@
     lgamma_r;
     lgammaf;
     lgammaf_r;
-    lgammal; # introduced=21
+    lgammal;
     lgammal_r; # introduced=23
     llrint;
     llrintf;
-    llrintl; # introduced=21
+    llrintl;
     llround;
     llroundf;
     llroundl;
     log;
     log10;
     log10f;
-    log10l; # introduced=21
+    log10l;
     log1p;
     log1pf;
-    log1pl; # introduced=21
-    log2; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
-    log2f; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
-    log2l; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
+    log1pl;
+    log2;
+    log2f;
+    log2l;
     logb;
     logbf;
-    logbl; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
+    logbl;
     logf;
-    logl; # introduced=21
+    logl;
     lrint;
     lrintf;
-    lrintl; # introduced=21
+    lrintl;
     lround;
     lroundf;
     lroundl;
     modf;
     modff;
-    modfl; # introduced=21
-    nan; # introduced-arm=13 introduced-arm64=21 introduced-x86=9 introduced-x86_64=21
-    nanf; # introduced-arm=13 introduced-arm64=21 introduced-x86=9 introduced-x86_64=21
-    nanl; # introduced-arm=13 introduced-arm64=21 introduced-x86=13 introduced-x86_64=21
+    modfl;
+    nan;
+    nanf;
+    nanl;
     nearbyint;
     nearbyintf;
-    nearbyintl; # introduced=21
+    nearbyintl;
     nextafter;
     nextafterf;
-    nextafterl; # introduced=21
-    nexttoward; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
+    nextafterl;
+    nexttoward;
     nexttowardf;
-    nexttowardl; # introduced-arm=18 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
+    nexttowardl;
     pow;
     powf;
-    powl; # introduced=21
+    powl;
     remainder;
     remainderf;
-    remainderl; # introduced=21
+    remainderl;
     remquo;
     remquof;
-    remquol; # introduced=21
+    remquol;
     rint;
     rintf;
-    rintl; # introduced=21
+    rintl;
     round;
     roundf;
     roundl;
     scalb;
     scalbf;
-    scalbln; # introduced-arm=9 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
-    scalblnf; # introduced-arm=9 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
-    scalblnl; # introduced-arm=9 introduced-arm64=21 introduced-x86=18 introduced-x86_64=21
+    scalbln;
+    scalblnf;
+    scalblnl;
     scalbn;
     scalbnf;
     scalbnl;
     signgam; # var
     significand;
     significandf;
-    significandl; # introduced=21
+    significandl;
     sin;
     sincos;
     sincosf;
@@ -244,20 +244,20 @@
     sinf;
     sinh;
     sinhf;
-    sinhl; # introduced=21
-    sinl; # introduced=21
+    sinhl;
+    sinl;
     sqrt;
     sqrtf;
-    sqrtl; # introduced=21
+    sqrtl;
     tan;
     tanf;
     tanh;
     tanhf;
-    tanhl; # introduced=21
-    tanl; # introduced=21
+    tanhl;
+    tanl;
     tgamma;
-    tgammaf; # introduced-arm=13 introduced-arm64=21 introduced-x86=9 introduced-x86_64=21
-    tgammal; # introduced=21
+    tgammaf;
+    tgammal;
     trunc;
     truncf;
     truncl;
@@ -271,7 +271,7 @@
     *;
 };
 
-LIBC_O { # introduced=O
+LIBC_O { # introduced=26
   global:
     cacoshl;
     cacosl;
diff --git a/libm/significandl.c b/libm/significandl.c
index c5d7dd4..b672110 100644
--- a/libm/significandl.c
+++ b/libm/significandl.c
@@ -22,11 +22,13 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- *
  */
 
 #include <math.h>
 
+// This function is only in glibc.
+// musl and NetBSD/OpenBSD just have the double and float variants,
+// while FreeBSD and iOS/macOS have none.
 long double significandl(long double x) {
   return scalbnl(x, -ilogbl(x));
 }
diff --git a/libm/upstream-freebsd/lib/msun/bsdsrc/b_exp.c b/libm/upstream-freebsd/lib/msun/bsdsrc/b_exp.c
index c667293..44cd519 100644
--- a/libm/upstream-freebsd/lib/msun/bsdsrc/b_exp.c
+++ b/libm/upstream-freebsd/lib/msun/bsdsrc/b_exp.c
@@ -29,10 +29,6 @@
  * SUCH DAMAGE.
  */
 
-/* @(#)exp.c	8.1 (Berkeley) 6/4/93 */
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* EXP(X)
  * RETURN THE EXPONENTIAL OF X
  * DOUBLE PRECISION (IEEE 53 bits, VAX D FORMAT 56 BITS)
diff --git a/libm/upstream-freebsd/lib/msun/bsdsrc/b_log.c b/libm/upstream-freebsd/lib/msun/bsdsrc/b_log.c
index 9d09ac7..a82140b 100644
--- a/libm/upstream-freebsd/lib/msun/bsdsrc/b_log.c
+++ b/libm/upstream-freebsd/lib/msun/bsdsrc/b_log.c
@@ -29,10 +29,6 @@
  * SUCH DAMAGE.
  */
 
-/* @(#)log.c	8.2 (Berkeley) 11/30/93 */
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* Table-driven natural logarithm.
  *
  * This code was derived, with minor modifications, from:
diff --git a/libm/upstream-freebsd/lib/msun/bsdsrc/b_tgamma.c b/libm/upstream-freebsd/lib/msun/bsdsrc/b_tgamma.c
index 493ced3..8369477 100644
--- a/libm/upstream-freebsd/lib/msun/bsdsrc/b_tgamma.c
+++ b/libm/upstream-freebsd/lib/msun/bsdsrc/b_tgamma.c
@@ -42,10 +42,6 @@
  *  porting to other precisions.
  */
 
-/* @(#)gamma.c	8.1 (Berkeley) 6/4/93 */
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 
 #include "math.h"
diff --git a/libm/upstream-freebsd/lib/msun/bsdsrc/mathimpl.h b/libm/upstream-freebsd/lib/msun/bsdsrc/mathimpl.h
deleted file mode 100644
index abf2996..0000000
--- a/libm/upstream-freebsd/lib/msun/bsdsrc/mathimpl.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*-
- * SPDX-License-Identifier: BSD-4-Clause
- *
- * Copyright (c) 1988, 1993
- *	The Regents of the University of California.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the University of
- *	California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- *	@(#)mathimpl.h	8.1 (Berkeley) 6/4/93
- * $FreeBSD$
- */
-
-#ifndef _MATHIMPL_H_
-#define	_MATHIMPL_H_
-
-#include <sys/cdefs.h>
-#include <math.h>
-
-#include "../src/math_private.h"
-
-/*
- * TRUNC() is a macro that sets the trailing 27 bits in the mantissa of an
- * IEEE double variable to zero.  It must be expression-like for syntactic
- * reasons, and we implement this expression using an inline function
- * instead of a pure macro to avoid depending on the gcc feature of
- * statement-expressions.
- */
-#define	TRUNC(d)	(_b_trunc(&(d)))
-
-static __inline void
-_b_trunc(volatile double *_dp)
-{
-	uint32_t _lw;
-
-	GET_LOW_WORD(_lw, *_dp);
-	SET_LOW_WORD(*_dp, _lw & 0xf8000000);
-}
-
-struct Double {
-	double	a;
-	double	b;
-};
-
-/*
- * Functions internal to the math package, yet not static.
- */
-double	__exp__D(double, double);
-struct Double __log__D(double);
-
-#endif /* !_MATHIMPL_H_ */
diff --git a/libm/upstream-freebsd/lib/msun/ld128/e_lgammal_r.c b/libm/upstream-freebsd/lib/msun/ld128/e_lgammal_r.c
index 53d3af1..f8079b7 100644
--- a/libm/upstream-freebsd/lib/msun/ld128/e_lgammal_r.c
+++ b/libm/upstream-freebsd/lib/msun/ld128/e_lgammal_r.c
@@ -1,4 +1,3 @@
-/* @(#)e_lgamma_r.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * See e_lgamma_r.c for complete comments.
  *
diff --git a/libm/upstream-freebsd/lib/msun/ld128/e_powl.c b/libm/upstream-freebsd/lib/msun/ld128/e_powl.c
index 12b92a1..f5a993c 100644
--- a/libm/upstream-freebsd/lib/msun/ld128/e_powl.c
+++ b/libm/upstream-freebsd/lib/msun/ld128/e_powl.c
@@ -59,9 +59,6 @@
  *
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 #include <math.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/ld128/e_rem_pio2l.h b/libm/upstream-freebsd/lib/msun/ld128/e_rem_pio2l.h
index fcef399..0ea1a70 100644
--- a/libm/upstream-freebsd/lib/msun/ld128/e_rem_pio2l.h
+++ b/libm/upstream-freebsd/lib/msun/ld128/e_rem_pio2l.h
@@ -1,4 +1,3 @@
-/* From: @(#)e_rem_pio2.c 1.4 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -13,9 +12,6 @@
  * Optimized by Bruce D. Evans.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* ld128 version of __ieee754_rem_pio2l(x,y)
  * 
  * return the remainder of x rem pi/2 in y[0]+y[1] 
@@ -58,7 +54,7 @@
 pio2_3  =  2.0670321098263988236499468110329591e-43L,	/*  0x127044533e63a0105e00000000000.0p-254 */
 pio2_3t = -2.5650587247459238361625433492959285e-65L;	/* -0x159c4ec64ddaeb5f78671cbfb2210.0p-327 */
 
-static inline __always_inline int
+static __always_inline int
 __ieee754_rem_pio2l(long double x, long double *y)
 {
 	union IEEEl2bits u,u1;
diff --git a/libm/upstream-freebsd/lib/msun/ld128/invtrig.c b/libm/upstream-freebsd/lib/msun/ld128/invtrig.c
index ab93732..75aef7b 100644
--- a/libm/upstream-freebsd/lib/msun/ld128/invtrig.c
+++ b/libm/upstream-freebsd/lib/msun/ld128/invtrig.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2008 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "invtrig.h"
 
 /*
diff --git a/libm/upstream-freebsd/lib/msun/ld128/invtrig.h b/libm/upstream-freebsd/lib/msun/ld128/invtrig.h
index 423b568..4876be8 100644
--- a/libm/upstream-freebsd/lib/msun/ld128/invtrig.h
+++ b/libm/upstream-freebsd/lib/msun/ld128/invtrig.h
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2008 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -24,8 +24,6 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- *
- * $FreeBSD$
  */
 
 #include <float.h>
diff --git a/libm/upstream-freebsd/lib/msun/ld128/k_cosl.c b/libm/upstream-freebsd/lib/msun/ld128/k_cosl.c
index 422357b..c756266 100644
--- a/libm/upstream-freebsd/lib/msun/ld128/k_cosl.c
+++ b/libm/upstream-freebsd/lib/msun/ld128/k_cosl.c
@@ -1,4 +1,3 @@
-/* From: @(#)k_cos.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -11,9 +10,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * ld128 version of k_cos.c.  See ../src/k_cos.c for most comments.
  */
diff --git a/libm/upstream-freebsd/lib/msun/ld128/k_expl.h b/libm/upstream-freebsd/lib/msun/ld128/k_expl.h
index 159338f..86811dd 100644
--- a/libm/upstream-freebsd/lib/msun/ld128/k_expl.h
+++ b/libm/upstream-freebsd/lib/msun/ld128/k_expl.h
@@ -1,7 +1,7 @@
 /* from: FreeBSD: head/lib/msun/ld128/s_expl.c 251345 2013-06-03 20:09:22Z kargl */
 
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2009-2013 Steven G. Kargl
  * All rights reserved.
@@ -30,9 +30,6 @@
  * Optimized by Bruce D. Evans.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * ld128 version of k_expl.h.  See ../ld80/s_expl.c for most comments.
  *
diff --git a/libm/upstream-freebsd/lib/msun/ld128/k_sinl.c b/libm/upstream-freebsd/lib/msun/ld128/k_sinl.c
index 09472d6..f2b17ba 100644
--- a/libm/upstream-freebsd/lib/msun/ld128/k_sinl.c
+++ b/libm/upstream-freebsd/lib/msun/ld128/k_sinl.c
@@ -1,4 +1,3 @@
-/* From: @(#)k_sin.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -11,9 +10,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * ld128 version of k_sin.c.  See ../src/k_sin.c for most comments.
  */
diff --git a/libm/upstream-freebsd/lib/msun/ld128/k_tanl.c b/libm/upstream-freebsd/lib/msun/ld128/k_tanl.c
index d7ec0b9..8aff0d1 100644
--- a/libm/upstream-freebsd/lib/msun/ld128/k_tanl.c
+++ b/libm/upstream-freebsd/lib/msun/ld128/k_tanl.c
@@ -1,5 +1,3 @@
-/* From: @(#)k_tan.c 1.5 04/04/22 SMI */
-
 /*
  * ====================================================
  * Copyright 2004 Sun Microsystems, Inc.  All Rights Reserved.
@@ -11,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * ld128 version of k_tan.c.  See ../src/k_tan.c for most comments.
  */
diff --git a/libm/upstream-freebsd/lib/msun/ld128/s_erfl.c b/libm/upstream-freebsd/lib/msun/ld128/s_erfl.c
index e29c969..227c31f 100644
--- a/libm/upstream-freebsd/lib/msun/ld128/s_erfl.c
+++ b/libm/upstream-freebsd/lib/msun/ld128/s_erfl.c
@@ -1,4 +1,3 @@
-/* @(#)s_erf.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * See s_erf.c for complete comments.
  *
diff --git a/libm/upstream-freebsd/lib/msun/ld128/s_exp2l.c b/libm/upstream-freebsd/lib/msun/ld128/s_exp2l.c
index ee3d2c7..249cb4c 100644
--- a/libm/upstream-freebsd/lib/msun/ld128/s_exp2l.c
+++ b/libm/upstream-freebsd/lib/msun/ld128/s_exp2l.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2005-2008 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 #include <stdint.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/ld128/s_expl.c b/libm/upstream-freebsd/lib/msun/ld128/s_expl.c
index 5b786af..e1358e2 100644
--- a/libm/upstream-freebsd/lib/msun/ld128/s_expl.c
+++ b/libm/upstream-freebsd/lib/msun/ld128/s_expl.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2009-2013 Steven G. Kargl
  * All rights reserved.
@@ -28,9 +28,6 @@
  * Optimized by Bruce D. Evans.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * ld128 version of s_expl.c.  See ../ld80/s_expl.c for most comments.
  */
@@ -65,8 +62,6 @@
 	int k;
 	uint16_t hx, ix;
 
-	DOPRINT_START(&x);
-
 	/* Filter out exceptional cases. */
 	u.e = x;
 	hx = u.xbits.expsign;
@@ -74,15 +69,15 @@
 	if (ix >= BIAS + 13) {		/* |x| >= 8192 or x is NaN */
 		if (ix == BIAS + LDBL_MAX_EXP) {
 			if (hx & 0x8000)  /* x is -Inf or -NaN */
-				RETURNP(-1 / x);
-			RETURNP(x + x);	/* x is +Inf or +NaN */
+				RETURNF(-1 / x);
+			RETURNF(x + x);	/* x is +Inf or +NaN */
 		}
 		if (x > o_threshold)
-			RETURNP(huge * huge);
+			RETURNF(huge * huge);
 		if (x < u_threshold)
-			RETURNP(tiny * tiny);
+			RETURNF(tiny * tiny);
 	} else if (ix < BIAS - 114) {	/* |x| < 0x1p-114 */
-		RETURN2P(1, x);		/* 1 with inexact iff x != 0 */
+		RETURNF(1 + x);		/* 1 with inexact iff x != 0 */
 	}
 
 	ENTERI();
@@ -210,8 +205,6 @@
 	int k, n, n2;
 	uint16_t hx, ix;
 
-	DOPRINT_START(&x);
-
 	/* Filter out exceptional cases. */
 	u.e = x;
 	hx = u.xbits.expsign;
@@ -219,11 +212,11 @@
 	if (ix >= BIAS + 7) {		/* |x| >= 128 or x is NaN */
 		if (ix == BIAS + LDBL_MAX_EXP) {
 			if (hx & 0x8000)  /* x is -Inf or -NaN */
-				RETURNP(-1 / x - 1);
-			RETURNP(x + x);	/* x is +Inf or +NaN */
+				RETURNF(-1 / x - 1);
+			RETURNF(x + x);	/* x is +Inf or +NaN */
 		}
 		if (x > o_threshold)
-			RETURNP(huge * huge);
+			RETURNF(huge * huge);
 		/*
 		 * expm1l() never underflows, but it must avoid
 		 * unrepresentable large negative exponents.  We used a
@@ -232,7 +225,7 @@
 		 * in the same way as large ones here.
 		 */
 		if (hx & 0x8000)	/* x <= -128 */
-			RETURN2P(tiny, -1);	/* good for x < -114ln2 - eps */
+			RETURNF(tiny - 1);	/* good for x < -114ln2 - eps */
 	}
 
 	ENTERI();
@@ -244,7 +237,7 @@
 		if (x < T3) {
 			if (ix < BIAS - 113) {	/* |x| < 0x1p-113 */
 				/* x (rounded) with inexact if x != 0: */
-				RETURNPI(x == 0 ? x :
+				RETURNI(x == 0 ? x :
 				    (0x1p200 * x + fabsl(x)) * 0x1p-200);
 			}
 			q = x * x2 * C3 + x2 * x2 * (C4 + x * (C5 + x * (C6 +
@@ -265,9 +258,9 @@
 		hx2_hi = x_hi * x_hi / 2;
 		hx2_lo = x_lo * (x + x_hi) / 2;
 		if (ix >= BIAS - 7)
-			RETURN2PI(hx2_hi + x_hi, hx2_lo + x_lo + q);
+			RETURNI((hx2_hi + x_hi) + (hx2_lo + x_lo + q));
 		else
-			RETURN2PI(x, hx2_lo + q + hx2_hi);
+			RETURNI(x + (hx2_lo + q + hx2_hi));
 	}
 
 	/* Reduce x to (k*ln2 + endpoint[n2] + r1 + r2). */
diff --git a/libm/upstream-freebsd/lib/msun/ld128/s_logl.c b/libm/upstream-freebsd/lib/msun/ld128/s_logl.c
index 4774a27..e9133ec 100644
--- a/libm/upstream-freebsd/lib/msun/ld128/s_logl.c
+++ b/libm/upstream-freebsd/lib/msun/ld128/s_logl.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2007-2013 Bruce D. Evans
  * All rights reserved.
@@ -26,9 +26,6 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /**
  * Implementation of the natural logarithm of x for 128-bit format.
  *
@@ -447,7 +444,7 @@
 #endif
 
 #ifdef STRUCT_RETURN
-static inline __always_inline void
+static __always_inline void
 k_logl(long double x, struct ld *rp)
 #else
 long double
@@ -573,24 +570,23 @@
 	int i, k;
 	int16_t ax, hx;
 
-	DOPRINT_START(&x);
 	EXTRACT_LDBL128_WORDS(hx, lx, llx, x);
 	if (hx < 0x3fff) {		/* x < 1, or x neg NaN */
 		ax = hx & 0x7fff;
 		if (ax >= 0x3fff) {	/* x <= -1, or x neg NaN */
 			if (ax == 0x3fff && (lx | llx) == 0)
-				RETURNP(-1 / zero);	/* log1p(-1) = -Inf */
+				RETURNF(-1 / zero);	/* log1p(-1) = -Inf */
 			/* log1p(x < 1, or x NaN) = qNaN: */
-			RETURNP((x - x) / (x - x));
+			RETURNF((x - x) / (x - x));
 		}
 		if (ax <= 0x3f8d) {	/* |x| < 2**-113 */
 			if ((int)x == 0)
-				RETURNP(x);	/* x with inexact if x != 0 */
+				RETURNF(x);	/* x with inexact if x != 0 */
 		}
 		f_hi = 1;
 		f_lo = x;
 	} else if (hx >= 0x7fff) {	/* x +Inf or non-neg NaN */
-		RETURNP(x + x);		/* log1p(Inf or NaN) = Inf or qNaN */
+		RETURNF(x + x);		/* log1p(Inf or NaN) = Inf or qNaN */
 	} else if (hx < 0x40e1) {	/* 1 <= x < 2**226 */
 		f_hi = x;
 		f_lo = 1;
@@ -669,7 +665,7 @@
 #endif
 
 	_3sumF(val_hi, val_lo, F_hi(i) + dk * ln2_hi);
-	RETURN2PI(val_hi, val_lo);
+	RETURNI(val_hi + val_lo);
 }
 
 #ifdef STRUCT_RETURN
@@ -680,7 +676,6 @@
 	struct ld r;
 
 	ENTERI();
-	DOPRINT_START(&x);
 	k_logl(x, &r);
 	RETURNSPI(&r);
 }
@@ -708,15 +703,13 @@
 	long double hi, lo;
 
 	ENTERI();
-	DOPRINT_START(&x);
 	k_logl(x, &r);
 	if (!r.lo_set)
-		RETURNPI(r.hi);
+		RETURNI(r.hi);
 	_2sumF(r.hi, r.lo);
 	hi = (float)r.hi;
 	lo = r.lo + (r.hi - hi);
-	RETURN2PI(invln10_hi * hi,
-	    invln10_lo_plus_hi * lo + invln10_lo * hi);
+	RETURNI(invln10_hi * hi + (invln10_lo_plus_hi * lo + invln10_lo * hi));
 }
 
 long double
@@ -726,15 +719,13 @@
 	long double hi, lo;
 
 	ENTERI();
-	DOPRINT_START(&x);
 	k_logl(x, &r);
 	if (!r.lo_set)
-		RETURNPI(r.hi);
+		RETURNI(r.hi);
 	_2sumF(r.hi, r.lo);
 	hi = (float)r.hi;
 	lo = r.lo + (r.hi - hi);
-	RETURN2PI(invln2_hi * hi,
-	    invln2_lo_plus_hi * lo + invln2_lo * hi);
+	RETURNI(invln2_hi * hi + (invln2_lo_plus_hi * lo + invln2_lo * hi));
 }
 
 #endif /* STRUCT_RETURN */
diff --git a/libm/upstream-freebsd/lib/msun/ld128/s_nanl.c b/libm/upstream-freebsd/lib/msun/ld128/s_nanl.c
index 45d10e5..b90d024 100644
--- a/libm/upstream-freebsd/lib/msun/ld128/s_nanl.c
+++ b/libm/upstream-freebsd/lib/msun/ld128/s_nanl.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2007 David Schultz
  * All rights reserved.
@@ -24,8 +24,6 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- *
- * $FreeBSD$
  */
 
 #include <math.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/catrig.c b/libm/upstream-freebsd/lib/msun/src/catrig.c
index 431d8e6..45af164 100644
--- a/libm/upstream-freebsd/lib/msun/src/catrig.c
+++ b/libm/upstream-freebsd/lib/msun/src/catrig.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2012 Stephen Montgomery-Smith <stephen@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <float.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/catrigf.c b/libm/upstream-freebsd/lib/msun/src/catrigf.c
index 62bcd39..da90629 100644
--- a/libm/upstream-freebsd/lib/msun/src/catrigf.c
+++ b/libm/upstream-freebsd/lib/msun/src/catrigf.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2012 Stephen Montgomery-Smith <stephen@FreeBSD.ORG>
  * All rights reserved.
@@ -40,9 +40,6 @@
  * a few comments on the right of declarations remain.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <float.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/catrigl.c b/libm/upstream-freebsd/lib/msun/src/catrigl.c
index e66f87a..faf9d29 100644
--- a/libm/upstream-freebsd/lib/msun/src/catrigl.c
+++ b/libm/upstream-freebsd/lib/msun/src/catrigl.c
@@ -39,9 +39,6 @@
  * a few comments on the right of declarations remain.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <float.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/e_acos.c b/libm/upstream-freebsd/lib/msun/src/e_acos.c
index 1f6dca5..af51fe1 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_acos.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_acos.c
@@ -1,5 +1,4 @@
 
-/* @(#)e_acos.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -11,10 +10,7 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_acos(x)
+/* acos(x)
  * Method :                  
  *	acos(x)  = pi/2 - asin(x)
  *	acos(-x) = pi/2 + asin(x)
@@ -62,7 +58,7 @@
 qS4 =  7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */
 
 double
-__ieee754_acos(double x)
+acos(double x)
 {
 	double z,p,q,r,w,s,c,df;
 	int32_t hx,ix;
diff --git a/libm/upstream-freebsd/lib/msun/src/e_acosf.c b/libm/upstream-freebsd/lib/msun/src/e_acosf.c
index c9f62cc..ede552e 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_acosf.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_acosf.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
@@ -25,14 +22,20 @@
 pio2_hi =  1.5707962513e+00; /* 0x3fc90fda */
 static volatile float
 pio2_lo =  7.5497894159e-08; /* 0x33a22168 */
+
+/*
+ * The coefficients for the rational approximation were generated over
+ *  0x1p-12f <= x <= 0.5f.  The maximum error satisfies log2(e) < -30.084.
+ */
 static const float
-pS0 =  1.6666586697e-01,
-pS1 = -4.2743422091e-02,
-pS2 = -8.6563630030e-03,
-qS1 = -7.0662963390e-01;
+pS0 =  1.66666672e-01f, /* 0x3e2aaaab */
+pS1 = -1.19510300e-01f, /* 0xbdf4c1d1 */
+pS2 =  5.47002675e-03f, /* 0x3bb33de9 */
+qS1 = -1.16706085e+00f, /* 0xbf956240 */
+qS2 =  2.90115148e-01f; /* 0x3e9489f9 */
 
 float
-__ieee754_acosf(float x)
+acosf(float x)
 {
 	float z,p,q,r,w,s,c,df;
 	int32_t hx,ix;
@@ -49,13 +52,13 @@
 	    if(ix<=0x32800000) return pio2_hi+pio2_lo;/*if|x|<2**-26*/
 	    z = x*x;
 	    p = z*(pS0+z*(pS1+z*pS2));
-	    q = one+z*qS1;
+	    q = one+z*(qS1+z*qS2);
 	    r = p/q;
 	    return pio2_hi - (x - (pio2_lo-x*r));
 	} else  if (hx<0) {		/* x < -0.5 */
 	    z = (one+x)*(float)0.5;
 	    p = z*(pS0+z*(pS1+z*pS2));
-	    q = one+z*qS1;
+	    q = one+z*(qS1+z*qS2);
 	    s = sqrtf(z);
 	    r = p/q;
 	    w = r*s-pio2_lo;
@@ -69,7 +72,7 @@
 	    SET_FLOAT_WORD(df,idf&0xfffff000);
 	    c  = (z-df*df)/(s+df);
 	    p = z*(pS0+z*(pS1+z*pS2));
-	    q = one+z*qS1;
+	    q = one+z*(qS1+z*qS2);
 	    r = p/q;
 	    w = r*s+c;
 	    return (float)2.0*(df+w);
diff --git a/libm/upstream-freebsd/lib/msun/src/e_acosh.c b/libm/upstream-freebsd/lib/msun/src/e_acosh.c
index 358c8bd..0e5640b 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_acosh.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_acosh.c
@@ -1,5 +1,4 @@
 
-/* @(#)e_acosh.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -12,10 +11,7 @@
  *
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_acosh(x)
+/* acosh(x)
  * Method :
  *	Based on 
  *		acosh(x) = log [ x + sqrt(x*x-1) ]
@@ -39,7 +35,7 @@
 ln2	= 6.93147180559945286227e-01;  /* 0x3FE62E42, 0xFEFA39EF */
 
 double
-__ieee754_acosh(double x)
+acosh(double x)
 {
 	double t;
 	int32_t hx;
@@ -51,12 +47,12 @@
 	    if(hx >=0x7ff00000) {	/* x is inf of NaN */
 	        return x+x;
 	    } else 
-		return __ieee754_log(x)+ln2;	/* acosh(huge)=log(2x) */
+		return log(x)+ln2;	/* acosh(huge)=log(2x) */
 	} else if(((hx-0x3ff00000)|lx)==0) {
 	    return 0.0;			/* acosh(1) = 0 */
 	} else if (hx > 0x40000000) {	/* 2**28 > x > 2 */
 	    t=x*x;
-	    return __ieee754_log(2.0*x-one/(x+sqrt(t-one)));
+	    return log(2.0*x-one/(x+sqrt(t-one)));
 	} else {			/* 1<x<2 */
 	    t = x-one;
 	    return log1p(t+sqrt(2.0*t+t*t));
diff --git a/libm/upstream-freebsd/lib/msun/src/e_acoshf.c b/libm/upstream-freebsd/lib/msun/src/e_acoshf.c
index f529b20..b6fbd2c 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_acoshf.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_acoshf.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
@@ -24,7 +21,7 @@
 ln2	= 6.9314718246e-01;  /* 0x3f317218 */
 
 float
-__ieee754_acoshf(float x)
+acoshf(float x)
 {
 	float t;
 	int32_t hx;
@@ -35,14 +32,14 @@
 	    if(hx >=0x7f800000) {	/* x is inf of NaN */
 	        return x+x;
 	    } else
-		return __ieee754_logf(x)+ln2;	/* acosh(huge)=log(2x) */
+		return logf(x)+ln2;	/* acosh(huge)=log(2x) */
 	} else if (hx==0x3f800000) {
 	    return 0.0;			/* acosh(1) = 0 */
 	} else if (hx > 0x40000000) {	/* 2**28 > x > 2 */
 	    t=x*x;
-	    return __ieee754_logf((float)2.0*x-one/(x+__ieee754_sqrtf(t-one)));
+	    return logf((float)2.0*x-one/(x+sqrtf(t-one)));
 	} else {			/* 1<x<2 */
 	    t = x-one;
-	    return log1pf(t+__ieee754_sqrtf((float)2.0*t+t*t));
+	    return log1pf(t+sqrtf((float)2.0*t+t*t));
 	}
 }
diff --git a/libm/upstream-freebsd/lib/msun/src/e_acoshl.c b/libm/upstream-freebsd/lib/msun/src/e_acoshl.c
index b9f3aed..6bfa624 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_acoshl.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_acoshl.c
@@ -1,6 +1,5 @@
 /* from: FreeBSD: head/lib/msun/src/e_acosh.c 176451 2008-02-22 02:30:36Z das */
 
-/* @(#)e_acosh.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -13,9 +12,6 @@
  *
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * See e_acosh.c for complete comments.
  *
diff --git a/libm/upstream-freebsd/lib/msun/src/e_acosl.c b/libm/upstream-freebsd/lib/msun/src/e_acosl.c
index d33c8fe..2098143 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_acosl.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_acosl.c
@@ -1,5 +1,4 @@
 
-/* @(#)e_acos.c 1.3 95/01/18 */
 /* FreeBSD: head/lib/msun/src/e_acos.c 176451 2008-02-22 02:30:36Z das */
 /*
  * ====================================================
@@ -12,9 +11,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * See comments in e_acos.c.
  * Converted to long double by David Schultz <das@FreeBSD.ORG>.
diff --git a/libm/upstream-freebsd/lib/msun/src/e_asin.c b/libm/upstream-freebsd/lib/msun/src/e_asin.c
index 931b270..530bf79 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_asin.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_asin.c
@@ -1,5 +1,4 @@
 
-/* @(#)e_asin.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -11,10 +10,7 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_asin(x)
+/* asin(x)
  * Method :                  
  *	Since  asin(x) = x + x^3/6 + x^5*3/40 + x^7*15/336 + ...
  *	we approximate asin(x) on [0,0.5] by
@@ -68,7 +64,7 @@
 qS4 =  7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */
 
 double
-__ieee754_asin(double x)
+asin(double x)
 {
 	double t=0.0,w,p,q,c,r,s;
 	int32_t hx,ix;
diff --git a/libm/upstream-freebsd/lib/msun/src/e_asinf.c b/libm/upstream-freebsd/lib/msun/src/e_asinf.c
index deaabb6..8d1aca2 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_asinf.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_asinf.c
@@ -13,26 +13,29 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
 static const float
 one =  1.0000000000e+00, /* 0x3F800000 */
-huge =  1.000e+30,
-	/* coefficient for R(x^2) */
-pS0 =  1.6666586697e-01,
-pS1 = -4.2743422091e-02,
-pS2 = -8.6563630030e-03,
-qS1 = -7.0662963390e-01;
+huge =  1.000e+30;
+
+/*
+ * The coefficients for the rational approximation were generated over
+ *  0x1p-12f <= x <= 0.5f.  The maximum error satisfies log2(e) < -30.084.
+ */
+static const float
+pS0 =  1.66666672e-01f, /* 0x3e2aaaab */
+pS1 = -1.19510300e-01f, /* 0xbdf4c1d1 */
+pS2 =  5.47002675e-03f, /* 0x3bb33de9 */
+qS1 = -1.16706085e+00f, /* 0xbf956240 */
+qS2 =  2.90115148e-01f; /* 0x3e9489f9 */
 
 static const double
 pio2 =  1.570796326794896558e+00;
 
 float
-__ieee754_asinf(float x)
+asinf(float x)
 {
 	double s;
 	float t,w,p,q;
@@ -49,7 +52,7 @@
 	    }
 	    t = x*x;
 	    p = t*(pS0+t*(pS1+t*pS2));
-	    q = one+t*qS1;
+	    q = one+t*(qS1+t*qS2);
 	    w = p/q;
 	    return x+x*w;
 	}
@@ -57,7 +60,7 @@
 	w = one-fabsf(x);
 	t = w*(float)0.5;
 	p = t*(pS0+t*(pS1+t*pS2));
-	q = one+t*qS1;
+	q = one+t*(qS1+t*qS2);
 	s = sqrt(t);
 	w = p/q;
 	t = pio2-2.0*(s+s*w);
diff --git a/libm/upstream-freebsd/lib/msun/src/e_asinl.c b/libm/upstream-freebsd/lib/msun/src/e_asinl.c
index a85765f..bb2320e 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_asinl.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_asinl.c
@@ -1,5 +1,4 @@
 
-/* @(#)e_asin.c 1.3 95/01/18 */
 /* FreeBSD: head/lib/msun/src/e_asin.c 176451 2008-02-22 02:30:36Z das */
 /*
  * ====================================================
@@ -12,9 +11,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * See comments in e_asin.c.
  * Converted to long double by David Schultz <das@FreeBSD.ORG>.
diff --git a/libm/upstream-freebsd/lib/msun/src/e_atan2.c b/libm/upstream-freebsd/lib/msun/src/e_atan2.c
index 231a161..ab5fc72 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_atan2.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_atan2.c
@@ -1,5 +1,4 @@
 
-/* @(#)e_atan2.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -12,10 +11,7 @@
  *
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_atan2(y,x)
+/* atan2(y,x)
  * Method :
  *	1. Reduce y to positive by atan2(y,x)=-atan2(-y,x).
  *	2. Reduce x to positive by (if x and y are unexceptional): 
@@ -58,7 +54,7 @@
 pi_lo   = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */
 
 double
-__ieee754_atan2(double y, double x)
+atan2(double y, double x)
 {
 	double z;
 	int32_t k,m,hx,hy,ix,iy;
diff --git a/libm/upstream-freebsd/lib/msun/src/e_atan2f.c b/libm/upstream-freebsd/lib/msun/src/e_atan2f.c
index 346d767..408f364 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_atan2f.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_atan2f.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
@@ -30,7 +27,7 @@
 pi_lo   = -8.7422776573e-08; /* 0xb3bbbd2e */
 
 float
-__ieee754_atan2f(float y, float x)
+atan2f(float y, float x)
 {
 	float z;
 	int32_t k,m,hx,hy,ix,iy;
diff --git a/libm/upstream-freebsd/lib/msun/src/e_atan2l.c b/libm/upstream-freebsd/lib/msun/src/e_atan2l.c
index 94ebdec..a27fd3e 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_atan2l.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_atan2l.c
@@ -1,5 +1,4 @@
 
-/* @(#)e_atan2.c 1.3 95/01/18 */
 /* FreeBSD: head/lib/msun/src/e_atan2.c 176451 2008-02-22 02:30:36Z das */
 /*
  * ====================================================
@@ -13,9 +12,6 @@
  *
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * See comments in e_atan2.c.
  * Converted to long double by David Schultz <das@FreeBSD.ORG>.
diff --git a/libm/upstream-freebsd/lib/msun/src/e_atanh.c b/libm/upstream-freebsd/lib/msun/src/e_atanh.c
index 422ff26..0cc0b92 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_atanh.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_atanh.c
@@ -1,5 +1,4 @@
 
-/* @(#)e_atanh.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -12,10 +11,7 @@
  *
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_atanh(x)
+/* atanh(x)
  * Method :
  *    1.Reduced x to positive by atanh(-x) = -atanh(x)
  *    2.For x>=0.5
@@ -42,7 +38,7 @@
 static const double zero = 0.0;
 
 double
-__ieee754_atanh(double x)
+atanh(double x)
 {
 	double t;
 	int32_t hx,ix;
diff --git a/libm/upstream-freebsd/lib/msun/src/e_atanhf.c b/libm/upstream-freebsd/lib/msun/src/e_atanhf.c
index 4bd6a8f..a2d6b69 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_atanhf.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_atanhf.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
@@ -24,7 +21,7 @@
 static const float zero = 0.0;
 
 float
-__ieee754_atanhf(float x)
+atanhf(float x)
 {
 	float t;
 	int32_t hx,ix;
diff --git a/libm/upstream-freebsd/lib/msun/src/e_atanhl.c b/libm/upstream-freebsd/lib/msun/src/e_atanhl.c
index 11d56ea..cb70727 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_atanhl.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_atanhl.c
@@ -1,6 +1,5 @@
 /* from: FreeBSD: head/lib/msun/src/e_atanh.c 176451 2008-02-22 02:30:36Z das */
 
-/* @(#)e_atanh.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -13,9 +12,6 @@
  *
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * See e_atanh.c for complete comments.
  *
diff --git a/libm/upstream-freebsd/lib/msun/src/e_cosh.c b/libm/upstream-freebsd/lib/msun/src/e_cosh.c
index 246b5fb..5c3614e 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_cosh.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_cosh.c
@@ -1,5 +1,4 @@
 
-/* @(#)e_cosh.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -11,10 +10,7 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_cosh(x)
+/* cosh(x)
  * Method : 
  * mathematically cosh(x) if defined to be (exp(x)+exp(-x))/2
  *	1. Replace x by |x| (cosh(x) = cosh(-x)). 
@@ -43,7 +39,7 @@
 static const double one = 1.0, half=0.5, huge = 1.0e300;
 
 double
-__ieee754_cosh(double x)
+cosh(double x)
 {
 	double t,w;
 	int32_t ix;
@@ -65,12 +61,12 @@
 
     /* |x| in [0.5*ln2,22], return (exp(|x|)+1/exp(|x|)/2; */
 	if (ix < 0x40360000) {
-		t = __ieee754_exp(fabs(x));
+		t = exp(fabs(x));
 		return half*t+half/t;
 	}
 
     /* |x| in [22, log(maxdouble)] return half*exp(|x|) */
-	if (ix < 0x40862E42)  return half*__ieee754_exp(fabs(x));
+	if (ix < 0x40862E42)  return half*exp(fabs(x));
 
     /* |x| in [log(maxdouble), overflowthresold] */
 	if (ix<=0x408633CE)
diff --git a/libm/upstream-freebsd/lib/msun/src/e_coshf.c b/libm/upstream-freebsd/lib/msun/src/e_coshf.c
index 95a0d6e..40443b8 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_coshf.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_coshf.c
@@ -13,16 +13,13 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
 static const float one = 1.0, half=0.5, huge = 1.0e30;
 
 float
-__ieee754_coshf(float x)
+coshf(float x)
 {
 	float t,w;
 	int32_t ix;
@@ -43,12 +40,12 @@
 
     /* |x| in [0.5*ln2,9], return (exp(|x|)+1/exp(|x|))/2; */
 	if (ix < 0x41100000) {
-		t = __ieee754_expf(fabsf(x));
+		t = expf(fabsf(x));
 		return half*t+half/t;
 	}
 
     /* |x| in [9, log(maxfloat)] return half*exp(|x|) */
-	if (ix < 0x42b17217)  return half*__ieee754_expf(fabsf(x));
+	if (ix < 0x42b17217)  return half*expf(fabsf(x));
 
     /* |x| in [log(maxfloat), overflowthresold] */
 	if (ix<=0x42b2d4fc)
diff --git a/libm/upstream-freebsd/lib/msun/src/e_coshl.c b/libm/upstream-freebsd/lib/msun/src/e_coshl.c
index 4e3b283..efb5094 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_coshl.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_coshl.c
@@ -11,9 +11,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * See e_cosh.c for complete comments.
  *
diff --git a/libm/upstream-freebsd/lib/msun/src/e_exp.c b/libm/upstream-freebsd/lib/msun/src/e_exp.c
deleted file mode 100644
index dd04d8e..0000000
--- a/libm/upstream-freebsd/lib/msun/src/e_exp.c
+++ /dev/null
@@ -1,164 +0,0 @@
-
-/* @(#)e_exp.c 1.6 04/04/22 */
-/*
- * ====================================================
- * Copyright (C) 2004 by Sun Microsystems, Inc. All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
- * is preserved.
- * ====================================================
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_exp(x)
- * Returns the exponential of x.
- *
- * Method
- *   1. Argument reduction:
- *      Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658.
- *	Given x, find r and integer k such that
- *
- *               x = k*ln2 + r,  |r| <= 0.5*ln2.  
- *
- *      Here r will be represented as r = hi-lo for better 
- *	accuracy.
- *
- *   2. Approximation of exp(r) by a special rational function on
- *	the interval [0,0.34658]:
- *	Write
- *	    R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ...
- *      We use a special Remes algorithm on [0,0.34658] to generate 
- * 	a polynomial of degree 5 to approximate R. The maximum error 
- *	of this polynomial approximation is bounded by 2**-59. In
- *	other words,
- *	    R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5
- *  	(where z=r*r, and the values of P1 to P5 are listed below)
- *	and
- *	    |                  5          |     -59
- *	    | 2.0+P1*z+...+P5*z   -  R(z) | <= 2 
- *	    |                             |
- *	The computation of exp(r) thus becomes
- *                             2*r
- *		exp(r) = 1 + -------
- *		              R - r
- *                                 r*R1(r)	
- *		       = 1 + r + ----------- (for better accuracy)
- *		                  2 - R1(r)
- *	where
- *			         2       4             10
- *		R1(r) = r - (P1*r  + P2*r  + ... + P5*r   ).
- *	
- *   3. Scale back to obtain exp(x):
- *	From step 1, we have
- *	   exp(x) = 2^k * exp(r)
- *
- * Special cases:
- *	exp(INF) is INF, exp(NaN) is NaN;
- *	exp(-INF) is 0, and
- *	for finite argument, only exp(0)=1 is exact.
- *
- * Accuracy:
- *	according to an error analysis, the error is always less than
- *	1 ulp (unit in the last place).
- *
- * Misc. info.
- *	For IEEE double 
- *	    if x >  7.09782712893383973096e+02 then exp(x) overflow
- *	    if x < -7.45133219101941108420e+02 then exp(x) underflow
- *
- * Constants:
- * The hexadecimal values are the intended ones for the following 
- * constants. The decimal values may be used, provided that the 
- * compiler will convert from decimal to binary accurately enough
- * to produce the hexadecimal values shown.
- */
-
-#include <float.h>
-
-#include "math.h"
-#include "math_private.h"
-
-static const double
-one	= 1.0,
-halF[2]	= {0.5,-0.5,},
-o_threshold=  7.09782712893383973096e+02,  /* 0x40862E42, 0xFEFA39EF */
-u_threshold= -7.45133219101941108420e+02,  /* 0xc0874910, 0xD52D3051 */
-ln2HI[2]   ={ 6.93147180369123816490e-01,  /* 0x3fe62e42, 0xfee00000 */
-	     -6.93147180369123816490e-01,},/* 0xbfe62e42, 0xfee00000 */
-ln2LO[2]   ={ 1.90821492927058770002e-10,  /* 0x3dea39ef, 0x35793c76 */
-	     -1.90821492927058770002e-10,},/* 0xbdea39ef, 0x35793c76 */
-invln2 =  1.44269504088896338700e+00, /* 0x3ff71547, 0x652b82fe */
-P1   =  1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */
-P2   = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */
-P3   =  6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */
-P4   = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */
-P5   =  4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */
-
-static volatile double
-huge	= 1.0e+300,
-twom1000= 9.33263618503218878990e-302;     /* 2**-1000=0x01700000,0*/
-
-double
-__ieee754_exp(double x)	/* default IEEE double exp */
-{
-	double y,hi=0.0,lo=0.0,c,t,twopk;
-	int32_t k=0,xsb;
-	u_int32_t hx;
-
-	GET_HIGH_WORD(hx,x);
-	xsb = (hx>>31)&1;		/* sign bit of x */
-	hx &= 0x7fffffff;		/* high word of |x| */
-
-    /* filter out non-finite argument */
-	if(hx >= 0x40862E42) {			/* if |x|>=709.78... */
-            if(hx>=0x7ff00000) {
-	        u_int32_t lx;
-		GET_LOW_WORD(lx,x);
-		if(((hx&0xfffff)|lx)!=0)
-		     return x+x; 		/* NaN */
-		else return (xsb==0)? x:0.0;	/* exp(+-inf)={inf,0} */
-	    }
-	    if(x > o_threshold) return huge*huge; /* overflow */
-	    if(x < u_threshold) return twom1000*twom1000; /* underflow */
-	}
-
-    /* argument reduction */
-	if(hx > 0x3fd62e42) {		/* if  |x| > 0.5 ln2 */ 
-	    if(hx < 0x3FF0A2B2) {	/* and |x| < 1.5 ln2 */
-		hi = x-ln2HI[xsb]; lo=ln2LO[xsb]; k = 1-xsb-xsb;
-	    } else {
-		k  = (int)(invln2*x+halF[xsb]);
-		t  = k;
-		hi = x - t*ln2HI[0];	/* t*ln2HI is exact here */
-		lo = t*ln2LO[0];
-	    }
-	    STRICT_ASSIGN(double, x, hi - lo);
-	} 
-	else if(hx < 0x3e300000)  {	/* when |x|<2**-28 */
-	    if(huge+x>one) return one+x;/* trigger inexact */
-	}
-	else k = 0;
-
-    /* x is now in primary range */
-	t  = x*x;
-	if(k >= -1021)
-	    INSERT_WORDS(twopk,((u_int32_t)(0x3ff+k))<<20, 0);
-	else
-	    INSERT_WORDS(twopk,((u_int32_t)(0x3ff+(k+1000)))<<20, 0);
-	c  = x - t*(P1+t*(P2+t*(P3+t*(P4+t*P5))));
-	if(k==0) 	return one-((x*c)/(c-2.0)-x); 
-	else 		y = one-((lo-(x*c)/(2.0-c))-hi);
-	if(k >= -1021) {
-	    if (k==1024) return y*2.0*0x1p1023;
-	    return y*twopk;
-	} else {
-	    return y*twopk*twom1000;
-	}
-}
-
-#if (LDBL_MANT_DIG == 53)
-__weak_reference(exp, expl);
-#endif
diff --git a/libm/upstream-freebsd/lib/msun/src/e_expf.c b/libm/upstream-freebsd/lib/msun/src/e_expf.c
deleted file mode 100644
index 4903d55..0000000
--- a/libm/upstream-freebsd/lib/msun/src/e_expf.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/* e_expf.c -- float version of e_exp.c.
- * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
- */
-
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <float.h>
-
-#include "math.h"
-#include "math_private.h"
-
-static const float
-one	= 1.0,
-halF[2]	= {0.5,-0.5,},
-o_threshold=  8.8721679688e+01,  /* 0x42b17180 */
-u_threshold= -1.0397208405e+02,  /* 0xc2cff1b5 */
-ln2HI[2]   ={ 6.9314575195e-01,		/* 0x3f317200 */
-	     -6.9314575195e-01,},	/* 0xbf317200 */
-ln2LO[2]   ={ 1.4286067653e-06,  	/* 0x35bfbe8e */
-	     -1.4286067653e-06,},	/* 0xb5bfbe8e */
-invln2 =  1.4426950216e+00, 		/* 0x3fb8aa3b */
-/*
- * Domain [-0.34568, 0.34568], range ~[-4.278e-9, 4.447e-9]:
- * |x*(exp(x)+1)/(exp(x)-1) - p(x)| < 2**-27.74
- */
-P1 =  1.6666625440e-1,		/*  0xaaaa8f.0p-26 */
-P2 = -2.7667332906e-3;		/* -0xb55215.0p-32 */
-
-static volatile float
-huge	= 1.0e+30,
-twom100 = 7.8886090522e-31;      /* 2**-100=0x0d800000 */
-
-float
-__ieee754_expf(float x)
-{
-	float y,hi=0.0,lo=0.0,c,t,twopk;
-	int32_t k=0,xsb;
-	u_int32_t hx;
-
-	GET_FLOAT_WORD(hx,x);
-	xsb = (hx>>31)&1;		/* sign bit of x */
-	hx &= 0x7fffffff;		/* high word of |x| */
-
-    /* filter out non-finite argument */
-	if(hx >= 0x42b17218) {			/* if |x|>=88.721... */
-	    if(hx>0x7f800000)
-		 return x+x;	 		/* NaN */
-            if(hx==0x7f800000)
-		return (xsb==0)? x:0.0;		/* exp(+-inf)={inf,0} */
-	    if(x > o_threshold) return huge*huge; /* overflow */
-	    if(x < u_threshold) return twom100*twom100; /* underflow */
-	}
-
-    /* argument reduction */
-	if(hx > 0x3eb17218) {		/* if  |x| > 0.5 ln2 */
-	    if(hx < 0x3F851592) {	/* and |x| < 1.5 ln2 */
-		hi = x-ln2HI[xsb]; lo=ln2LO[xsb]; k = 1-xsb-xsb;
-	    } else {
-		k  = invln2*x+halF[xsb];
-		t  = k;
-		hi = x - t*ln2HI[0];	/* t*ln2HI is exact here */
-		lo = t*ln2LO[0];
-	    }
-	    STRICT_ASSIGN(float, x, hi - lo);
-	}
-	else if(hx < 0x39000000)  {	/* when |x|<2**-14 */
-	    if(huge+x>one) return one+x;/* trigger inexact */
-	}
-	else k = 0;
-
-    /* x is now in primary range */
-	t  = x*x;
-	if(k >= -125)
-	    SET_FLOAT_WORD(twopk,((u_int32_t)(0x7f+k))<<23);
-	else
-	    SET_FLOAT_WORD(twopk,((u_int32_t)(0x7f+(k+100)))<<23);
-	c  = x - t*(P1+t*P2);
-	if(k==0) 	return one-((x*c)/(c-(float)2.0)-x);
-	else 		y = one-((lo-(x*c)/((float)2.0-c))-hi);
-	if(k >= -125) {
-	    if(k==128) return y*2.0F*0x1p127F;
-	    return y*twopk;
-	} else {
-	    return y*twopk*twom100;
-	}
-}
diff --git a/libm/upstream-freebsd/lib/msun/src/e_fmod.c b/libm/upstream-freebsd/lib/msun/src/e_fmod.c
index 3a28dc4..77afd11 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_fmod.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_fmod.c
@@ -1,5 +1,4 @@
 
-/* @(#)e_fmod.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -11,11 +10,8 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* 
- * __ieee754_fmod(x,y)
+ * fmod(x,y)
  * Return x mod y in exact arithmetic
  * Method: shift and subtract
  */
@@ -28,7 +24,7 @@
 static const double one = 1.0, Zero[] = {0.0, -0.0,};
 
 double
-__ieee754_fmod(double x, double y)
+fmod(double x, double y)
 {
 	int32_t n,hx,hy,hz,ix,iy,sx,i;
 	u_int32_t lx,ly,lz;
diff --git a/libm/upstream-freebsd/lib/msun/src/e_fmodf.c b/libm/upstream-freebsd/lib/msun/src/e_fmodf.c
index 1b6bf36..a7d1a0c 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_fmodf.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_fmodf.c
@@ -13,11 +13,8 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
- * __ieee754_fmodf(x,y)
+ * fmodf(x,y)
  * Return x mod y in exact arithmetic
  * Method: shift and subtract
  */
@@ -28,7 +25,7 @@
 static const float one = 1.0, Zero[] = {0.0, -0.0,};
 
 float
-__ieee754_fmodf(float x, float y)
+fmodf(float x, float y)
 {
 	int32_t n,hx,hy,hz,ix,iy,sx,i;
 
diff --git a/libm/upstream-freebsd/lib/msun/src/e_fmodl.c b/libm/upstream-freebsd/lib/msun/src/e_fmodl.c
index ad3bcc3..d5997e1 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_fmodl.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_fmodl.c
@@ -1,4 +1,3 @@
-/* @(#)e_fmod.c 1.3 95/01/18 */
 /*-
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 #include <stdint.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/e_gamma.c b/libm/upstream-freebsd/lib/msun/src/e_gamma.c
index 28fb5cc..43541ad 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_gamma.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_gamma.c
@@ -1,5 +1,4 @@
 
-/* @(#)e_gamma.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -12,13 +11,10 @@
  *
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_gamma(x)
+/* gamma(x)
  * Return the logarithm of the Gamma function of x.
  *
- * Method: call __ieee754_gamma_r
+ * Method: call gamma_r
  */
 
 #include "math.h"
@@ -27,7 +23,7 @@
 extern int signgam;
 
 double
-__ieee754_gamma(double x)
+gamma(double x)
 {
-	return __ieee754_gamma_r(x,&signgam);
+	return gamma_r(x,&signgam);
 }
diff --git a/libm/upstream-freebsd/lib/msun/src/e_gamma_r.c b/libm/upstream-freebsd/lib/msun/src/e_gamma_r.c
index 2c423dc..f317ae4 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_gamma_r.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_gamma_r.c
@@ -1,5 +1,4 @@
 
-/* @(#)e_gamma_r.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -12,21 +11,18 @@
  *
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_gamma_r(x, signgamp)
+/* gamma_r(x, signgamp)
  * Reentrant version of the logarithm of the Gamma function 
  * with user provide pointer for the sign of Gamma(x). 
  *
- * Method: See __ieee754_lgamma_r
+ * Method: See lgamma_r
  */
 
 #include "math.h"
 #include "math_private.h"
 
 double
-__ieee754_gamma_r(double x, int *signgamp)
+gamma_r(double x, int *signgamp)
 {
-	return __ieee754_lgamma_r(x,signgamp);
+	return lgamma_r(x,signgamp);
 }
diff --git a/libm/upstream-freebsd/lib/msun/src/e_gammaf.c b/libm/upstream-freebsd/lib/msun/src/e_gammaf.c
index c1b1668..98da571 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_gammaf.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_gammaf.c
@@ -13,13 +13,10 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_gammaf(x)
+/* gammaf(x)
  * Return the logarithm of the Gamma function of x.
  *
- * Method: call __ieee754_gammaf_r
+ * Method: call gammaf_r
  */
 
 #include "math.h"
@@ -28,7 +25,7 @@
 extern int signgam;
 
 float
-__ieee754_gammaf(float x)
+gammaf(float x)
 {
-	return __ieee754_gammaf_r(x,&signgam);
+	return gammaf_r(x,&signgam);
 }
diff --git a/libm/upstream-freebsd/lib/msun/src/e_gammaf_r.c b/libm/upstream-freebsd/lib/msun/src/e_gammaf_r.c
index 9d7831b..ae80c1b 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_gammaf_r.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_gammaf_r.c
@@ -13,21 +13,18 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_gammaf_r(x, signgamp)
+/* gammaf_r(x, signgamp)
  * Reentrant version of the logarithm of the Gamma function
  * with user provide pointer for the sign of Gamma(x).
  *
- * Method: See __ieee754_lgammaf_r
+ * Method: See lgammaf_r
  */
 
 #include "math.h"
 #include "math_private.h"
 
 float
-__ieee754_gammaf_r(float x, int *signgamp)
+gammaf_r(float x, int *signgamp)
 {
-	return __ieee754_lgammaf_r(x,signgamp);
+	return lgammaf_r(x,signgamp);
 }
diff --git a/libm/upstream-freebsd/lib/msun/src/e_hypot.c b/libm/upstream-freebsd/lib/msun/src/e_hypot.c
index 7c455bb..a291af5 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_hypot.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_hypot.c
@@ -1,5 +1,4 @@
 
-/* @(#)e_hypot.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -11,10 +10,7 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_hypot(x,y)
+/* hypot(x,y)
  *
  * Method :                  
  *	If (assume round-to-nearest) z=x*x+y*y 
@@ -52,7 +48,7 @@
 #include "math_private.h"
 
 double
-__ieee754_hypot(double x, double y)
+hypot(double x, double y)
 {
 	double a,b,t1,t2,y1,y2,w;
 	int32_t j,k,ha,hb;
diff --git a/libm/upstream-freebsd/lib/msun/src/e_hypotf.c b/libm/upstream-freebsd/lib/msun/src/e_hypotf.c
index 0061026..e45486e 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_hypotf.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_hypotf.c
@@ -13,14 +13,11 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
 float
-__ieee754_hypotf(float x, float y)
+hypotf(float x, float y)
 {
 	float a,b,t1,t2,y1,y2,w;
 	int32_t j,k,ha,hb;
@@ -67,14 +64,14 @@
 	if (w>b) {
 	    SET_FLOAT_WORD(t1,ha&0xfffff000);
 	    t2 = a-t1;
-	    w  = __ieee754_sqrtf(t1*t1-(b*(-b)-t2*(a+t1)));
+	    w  = sqrtf(t1*t1-(b*(-b)-t2*(a+t1)));
 	} else {
 	    a  = a+a;
 	    SET_FLOAT_WORD(y1,hb&0xfffff000);
 	    y2 = b - y1;
 	    SET_FLOAT_WORD(t1,(ha+0x00800000)&0xfffff000);
 	    t2 = a - t1;
-	    w  = __ieee754_sqrtf(t1*y1-(w*(-w)-(t1*y2+t2*b)));
+	    w  = sqrtf(t1*y1-(w*(-w)-(t1*y2+t2*b)));
 	}
 	if(k!=0) {
 	    SET_FLOAT_WORD(t1,(127+k)<<23);
diff --git a/libm/upstream-freebsd/lib/msun/src/e_hypotl.c b/libm/upstream-freebsd/lib/msun/src/e_hypotl.c
index fc43538..d8e060a 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_hypotl.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_hypotl.c
@@ -1,4 +1,3 @@
-/* From: @(#)e_hypot.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* long double version of hypot().  See e_hypot.c for most comments. */
 
 #include <float.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/e_j0.c b/libm/upstream-freebsd/lib/msun/src/e_j0.c
index 5d862b6..b19661c 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_j0.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_j0.c
@@ -1,4 +1,3 @@
-/* @(#)e_j0.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,10 +9,7 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_j0(x), __ieee754_y0(x)
+/* j0(x), y0(x)
  * Bessel function of the first and second kinds of order zero.
  * Method -- j0(x):
  *	1. For tiny x, we use j0(x) = 1 - x^2/4 + x^4/64 - ...
@@ -83,7 +79,7 @@
 static const double zero = 0, qrtr = 0.25;
 
 double
-__ieee754_j0(double x)
+j0(double x)
 {
 	double z, s,c,ss,cc,r,u,v;
 	int32_t hx,ix;
@@ -143,7 +139,7 @@
 v04  =  4.41110311332675467403e-10; /* 0x3DFE5018, 0x3BD6D9EF */
 
 double
-__ieee754_y0(double x)
+y0(double x)
 {
 	double z, s,c,ss,cc,u,v;
 	int32_t hx,ix,lx;
@@ -192,12 +188,12 @@
                 return z;
 	}
 	if(ix<=0x3e400000) {	/* x < 2**-27 */
-	    return(u00 + tpi*__ieee754_log(x));
+	    return(u00 + tpi*log(x));
 	}
 	z = x*x;
 	u = u00+z*(u01+z*(u02+z*(u03+z*(u04+z*(u05+z*u06)))));
 	v = one+z*(v01+z*(v02+z*(v03+z*v04)));
-	return(u/v + tpi*(__ieee754_j0(x)*__ieee754_log(x)));
+	return(u/v + tpi*(j0(x)*log(x)));
 }
 
 /* The asymptotic expansions of pzero is
diff --git a/libm/upstream-freebsd/lib/msun/src/e_j0f.c b/libm/upstream-freebsd/lib/msun/src/e_j0f.c
index 1c5ef4d..de04a9f 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_j0f.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_j0f.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * See e_j0.c for complete comments.
  */
@@ -45,7 +42,7 @@
 static const float zero = 0, qrtr = 0.25;
 
 float
-__ieee754_j0f(float x)
+j0f(float x)
 {
 	float z, s,c,ss,cc,r,u,v;
 	int32_t hx,ix;
@@ -105,7 +102,7 @@
 v04  =  4.4111031494e-10; /* 0x2ff280c2 */
 
 float
-__ieee754_y0f(float x)
+y0f(float x)
 {
 	float z, s,c,ss,cc,u,v;
 	int32_t hx,ix;
@@ -147,12 +144,12 @@
                 return z;
 	}
 	if(ix<=0x39000000) {	/* x < 2**-13 */
-	    return(u00 + tpi*__ieee754_logf(x));
+	    return(u00 + tpi*logf(x));
 	}
 	z = x*x;
 	u = u00+z*(u01+z*(u02+z*(u03+z*(u04+z*(u05+z*u06)))));
 	v = one+z*(v01+z*(v02+z*(v03+z*v04)));
-	return(u/v + tpi*(__ieee754_j0f(x)*__ieee754_logf(x)));
+	return(u/v + tpi*(j0f(x)*logf(x)));
 }
 
 /* The asymptotic expansions of pzero is
diff --git a/libm/upstream-freebsd/lib/msun/src/e_j1.c b/libm/upstream-freebsd/lib/msun/src/e_j1.c
index fb44627..06a74b0 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_j1.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_j1.c
@@ -1,4 +1,3 @@
-/* @(#)e_j1.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,10 +9,7 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_j1(x), __ieee754_y1(x)
+/* j1(x), y1(x)
  * Bessel function of the first and second kinds of order zero.
  * Method -- j1(x):
  *	1. For tiny x, we use j1(x) = x/2 - x^3/16 + x^5/384 - ...
@@ -84,7 +80,7 @@
 static const double zero    = 0.0;
 
 double
-__ieee754_j1(double x)
+j1(double x)
 {
 	double z, s,c,ss,cc,r,u,v,y;
 	int32_t hx,ix;
@@ -140,7 +136,7 @@
 };
 
 double
-__ieee754_y1(double x)
+y1(double x)
 {
 	double z, s,c,ss,cc,u,v;
 	int32_t hx,ix,lx;
@@ -190,7 +186,7 @@
         z = x*x;
         u = U0[0]+z*(U0[1]+z*(U0[2]+z*(U0[3]+z*U0[4])));
         v = one+z*(V0[0]+z*(V0[1]+z*(V0[2]+z*(V0[3]+z*V0[4]))));
-        return(x*(u/v) + tpi*(__ieee754_j1(x)*__ieee754_log(x)-one/x));
+        return(x*(u/v) + tpi*(j1(x)*log(x)-one/x));
 }
 
 /* For x >= 8, the asymptotic expansions of pone is
diff --git a/libm/upstream-freebsd/lib/msun/src/e_j1f.c b/libm/upstream-freebsd/lib/msun/src/e_j1f.c
index c6c45c1..28cee8e 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_j1f.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_j1f.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * See e_j1.c for complete comments.
  */
@@ -46,7 +43,7 @@
 static const float zero    = 0.0;
 
 float
-__ieee754_j1f(float x)
+j1f(float x)
 {
 	float z, s,c,ss,cc,r,u,v,y;
 	int32_t hx,ix;
@@ -102,7 +99,7 @@
 };
 
 float
-__ieee754_y1f(float x)
+y1f(float x)
 {
 	float z, s,c,ss,cc,u,v;
 	int32_t hx,ix;
@@ -145,7 +142,7 @@
         z = x*x;
         u = U0[0]+z*(U0[1]+z*(U0[2]+z*(U0[3]+z*U0[4])));
         v = one+z*(V0[0]+z*(V0[1]+z*(V0[2]+z*(V0[3]+z*V0[4]))));
-        return(x*(u/v) + tpi*(__ieee754_j1f(x)*__ieee754_logf(x)-one/x));
+        return(x*(u/v) + tpi*(j1f(x)*logf(x)-one/x));
 }
 
 /* For x >= 8, the asymptotic expansions of pone is
diff --git a/libm/upstream-freebsd/lib/msun/src/e_jn.c b/libm/upstream-freebsd/lib/msun/src/e_jn.c
index c7ba7da..0a71566 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_jn.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_jn.c
@@ -1,4 +1,3 @@
-/* @(#)e_jn.c 1.4 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,11 +9,8 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
- * __ieee754_jn(n, x), __ieee754_yn(n, x)
+ * jn(n, x), yn(n, x)
  * floating point Bessel's function of the 1st and 2nd kind
  * of order n
  *
@@ -22,15 +18,15 @@
  *	y0(0)=y1(0)=yn(n,0) = -inf with division by zero signal;
  *	y0(-ve)=y1(-ve)=yn(n,-ve) are NaN with invalid signal.
  * Note 2. About jn(n,x), yn(n,x)
- *	For n=0, j0(x) is called,
- *	for n=1, j1(x) is called,
- *	for n<x, forward recursion us used starting
+ *	For n=0, j0(x) is called.
+ *	For n=1, j1(x) is called.
+ *	For n<x, forward recursion is used starting
  *	from values of j0(x) and j1(x).
- *	for n>x, a continued fraction approximation to
+ *	For n>x, a continued fraction approximation to
  *	j(n,x)/j(n-1,x) is evaluated and then backward
  *	recursion is used starting from a supposed value
- *	for j(n,x). The resulting value of j(0,x) is
- *	compared with the actual value to correct the
+ *	for j(n,x). The resulting values of j(0,x) or j(1,x) are
+ *	compared with the actual values to correct the
  *	supposed value of j(n,x).
  *
  *	yn(n,x) is similar in all respects, except
@@ -51,7 +47,7 @@
 static const double zero  =  0.00000000000000000000e+00;
 
 double
-__ieee754_jn(int n, double x)
+jn(int n, double x)
 {
 	int32_t i,hx,ix,lx, sgn;
 	double a, b, c, s, temp, di;
@@ -69,8 +65,8 @@
 		x = -x;
 		hx ^= 0x80000000;
 	}
-	if(n==0) return(__ieee754_j0(x));
-	if(n==1) return(__ieee754_j1(x));
+	if(n==0) return(j0(x));
+	if(n==1) return(j1(x));
 	sgn = (n&1)&(hx>>31);	/* even n -- 0, odd n -- sign(x) */
 	x = fabs(x);
 	if((ix|lx)==0||ix>=0x7ff00000) 	/* if x is 0 or inf */
@@ -100,8 +96,8 @@
 		}
 		b = invsqrtpi*temp/sqrt(x);
 	    } else {
-	        a = __ieee754_j0(x);
-	        b = __ieee754_j1(x);
+	        a = j0(x);
+	        b = j1(x);
 	        for(i=1;i<n;i++){
 		    temp = b;
 		    b = b*((double)(i+i)/x) - a; /* avoid underflow */
@@ -177,7 +173,7 @@
 		 */
 		tmp = n;
 		v = two/x;
-		tmp = tmp*__ieee754_log(fabs(v*tmp));
+		tmp = tmp*log(fabs(v*tmp));
 		if(tmp<7.09782712893383973096e+02) {
 	    	    for(i=n-1,di=(double)(i+i);i>0;i--){
 		        temp = b;
@@ -201,8 +197,8 @@
 			}
 	     	    }
 		}
-		z = __ieee754_j0(x);
-		w = __ieee754_j1(x);
+		z = j0(x);
+		w = j1(x);
 		if (fabs(z) >= fabs(w))
 		    b = (t*z/b);
 		else
@@ -213,7 +209,7 @@
 }
 
 double
-__ieee754_yn(int n, double x)
+yn(int n, double x)
 {
 	int32_t i,hx,ix,lx;
 	int32_t sign;
@@ -232,8 +228,8 @@
 		n = -n;
 		sign = 1 - ((n&1)<<1);
 	}
-	if(n==0) return(__ieee754_y0(x));
-	if(n==1) return(sign*__ieee754_y1(x));
+	if(n==0) return(y0(x));
+	if(n==1) return(sign*y1(x));
 	if(ix==0x7ff00000) return zero;
 	if(ix>=0x52D00000) { /* x > 2**302 */
     /* (x >> n**2)
@@ -259,8 +255,8 @@
 		b = invsqrtpi*temp/sqrt(x);
 	} else {
 	    u_int32_t high;
-	    a = __ieee754_y0(x);
-	    b = __ieee754_y1(x);
+	    a = y0(x);
+	    b = y1(x);
 	/* quit if b is -inf */
 	    GET_HIGH_WORD(high,b);
 	    for(i=1;i<n&&high!=0xfff00000;i++){
diff --git a/libm/upstream-freebsd/lib/msun/src/e_jnf.c b/libm/upstream-freebsd/lib/msun/src/e_jnf.c
index 965feeb..b55eaf5 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_jnf.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_jnf.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * See e_jn.c for complete comments.
  */
@@ -32,7 +29,7 @@
 static const float zero  =  0.0000000000e+00;
 
 float
-__ieee754_jnf(int n, float x)
+jnf(int n, float x)
 {
 	int32_t i,hx,ix, sgn;
 	float a, b, temp, di;
@@ -50,16 +47,16 @@
 		x = -x;
 		hx ^= 0x80000000;
 	}
-	if(n==0) return(__ieee754_j0f(x));
-	if(n==1) return(__ieee754_j1f(x));
+	if(n==0) return(j0f(x));
+	if(n==1) return(j1f(x));
 	sgn = (n&1)&(hx>>31);	/* even n -- 0, odd n -- sign(x) */
 	x = fabsf(x);
 	if(ix==0||ix>=0x7f800000) 	/* if x is 0 or inf */
 	    b = zero;
 	else if((float)n<=x) {
 		/* Safe to use J(n+1,x)=2n/x *J(n,x)-J(n-1,x) */
-	    a = __ieee754_j0f(x);
-	    b = __ieee754_j1f(x);
+	    a = j0f(x);
+	    b = j1f(x);
 	    for(i=1;i<n;i++){
 		temp = b;
 		b = b*((float)(i+i)/x) - a; /* avoid underflow */
@@ -134,7 +131,7 @@
 		 */
 		tmp = n;
 		v = two/x;
-		tmp = tmp*__ieee754_logf(fabsf(v*tmp));
+		tmp = tmp*logf(fabsf(v*tmp));
 		if(tmp<(float)8.8721679688e+01) {
 	    	    for(i=n-1,di=(float)(i+i);i>0;i--){
 		        temp = b;
@@ -158,8 +155,8 @@
 			}
 	     	    }
 		}
-		z = __ieee754_j0f(x);
-		w = __ieee754_j1f(x);
+		z = j0f(x);
+		w = j1f(x);
 		if (fabsf(z) >= fabsf(w))
 		    b = (t*z/b);
 		else
@@ -170,7 +167,7 @@
 }
 
 float
-__ieee754_ynf(int n, float x)
+ynf(int n, float x)
 {
 	int32_t i,hx,ix,ib;
 	int32_t sign;
@@ -186,12 +183,12 @@
 		n = -n;
 		sign = 1 - ((n&1)<<1);
 	}
-	if(n==0) return(__ieee754_y0f(x));
-	if(n==1) return(sign*__ieee754_y1f(x));
+	if(n==0) return(y0f(x));
+	if(n==1) return(sign*y1f(x));
 	if(ix==0x7f800000) return zero;
 
-	a = __ieee754_y0f(x);
-	b = __ieee754_y1f(x);
+	a = y0f(x);
+	b = y1f(x);
 	/* quit if b is -inf */
 	GET_FLOAT_WORD(ib,b);
 	for(i=1;i<n&&ib!=0xff800000;i++){
diff --git a/libm/upstream-freebsd/lib/msun/src/e_lgamma.c b/libm/upstream-freebsd/lib/msun/src/e_lgamma.c
index 43f5175..46e7c25 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_lgamma.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_lgamma.c
@@ -1,5 +1,4 @@
 
-/* @(#)e_lgamma.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -12,13 +11,10 @@
  *
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_lgamma(x)
+/* lgamma(x)
  * Return the logarithm of the Gamma function of x.
  *
- * Method: call __ieee754_lgamma_r
+ * Method: call lgamma_r
  */
 
 #include <float.h>
@@ -29,9 +25,9 @@
 extern int signgam;
 
 double
-__ieee754_lgamma(double x)
+lgamma(double x)
 {
-	return __ieee754_lgamma_r(x,&signgam);
+	return lgamma_r(x,&signgam);
 }
 
 #if (LDBL_MANT_DIG == 53)
diff --git a/libm/upstream-freebsd/lib/msun/src/e_lgamma_r.c b/libm/upstream-freebsd/lib/msun/src/e_lgamma_r.c
index be70767..30edd65 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_lgamma_r.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_lgamma_r.c
@@ -1,4 +1,3 @@
-/* @(#)e_lgamma_r.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,10 +9,7 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_lgamma_r(x, signgamp)
+/* lgamma_r(x, signgamp)
  * Reentrant version of the logarithm of the Gamma function
  * with user provide pointer for the sign of Gamma(x).
  *
@@ -27,7 +23,7 @@
  *			    = log(6.3*5.3) + lgamma(5.3)
  *			    = log(6.3*5.3*4.3*3.3*2.3) + lgamma(2.3)
  *   2. Polynomial approximation of lgamma around its
- *	minimun ymin=1.461632144968362245 to maintain monotonicity.
+ *	minimum ymin=1.461632144968362245 to maintain monotonicity.
  *	On [ymin-0.23, ymin+0.27] (i.e., [1.23164,1.73163]), use
  *		Let z = x-ymin;
  *		lgamma(x) = -1.214862905358496078218 + z^2*poly(z)
@@ -199,7 +195,7 @@
 
 
 double
-__ieee754_lgamma_r(double x, int *signgamp)
+lgamma_r(double x, int *signgamp)
 {
 	double nadj,p,p1,p2,p3,q,r,t,w,y,z;
 	int32_t hx;
@@ -217,7 +213,7 @@
 	if(ix<0x3c700000) {	/* |x|<2**-56, return -log(|x|) */
 	    if((ix|lx)==0)
 	        return one/vzero;
-	    return -__ieee754_log(fabs(x));
+	    return -log(fabs(x));
 	}
 
     /* purge negative integers and start evaluation for other x < 0 */
@@ -227,7 +223,7 @@
 		return one/vzero;
 	    t = sin_pi(x);
 	    if(t==zero) return one/vzero; /* -integer */
-	    nadj = __ieee754_log(pi/fabs(t*x));
+	    nadj = log(pi/fabs(t*x));
 	    if(t<zero) *signgamp = -1;
 	    x = -x;
 	}
@@ -237,7 +233,7 @@
     /* for x < 2.0 */
 	else if(ix<0x40000000) {
 	    if(ix<=0x3feccccc) { 	/* lgamma(x) = lgamma(x+1)-log(x) */
-		r = -__ieee754_log(x);
+		r = -log(x);
 		if(ix>=0x3FE76944) {y = one-x; i= 0;}
 		else if(ix>=0x3FCDA661) {y= x-(tc-one); i=1;}
 	  	else {y = x; i=2;}
@@ -282,18 +278,18 @@
 	    case 5: z *= (y+4);		/* FALLTHRU */
 	    case 4: z *= (y+3);		/* FALLTHRU */
 	    case 3: z *= (y+2);		/* FALLTHRU */
-		    r += __ieee754_log(z); break;
+		    r += log(z); break;
 	    }
     /* 8.0 <= x < 2**56 */
 	} else if (ix < 0x43700000) {
-	    t = __ieee754_log(x);
+	    t = log(x);
 	    z = one/x;
 	    y = z*z;
 	    w = w0+z*(w1+y*(w2+y*(w3+y*(w4+y*(w5+y*w6)))));
 	    r = (x-half)*(t-one)+w;
 	} else
     /* 2**56 <= x <= inf */
-	    r =  x*(__ieee754_log(x)-one);
+	    r =  x*(log(x)-one);
 	if(hx<0) r = nadj - r;
 	return r;
 }
diff --git a/libm/upstream-freebsd/lib/msun/src/e_lgammaf.c b/libm/upstream-freebsd/lib/msun/src/e_lgammaf.c
index 1e2c552..cc34e44 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_lgammaf.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_lgammaf.c
@@ -13,13 +13,10 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_lgammaf(x)
+/* lgammaf(x)
  * Return the logarithm of the Gamma function of x.
  *
- * Method: call __ieee754_lgammaf_r
+ * Method: call lgammaf_r
  */
 
 #include "math.h"
@@ -28,7 +25,7 @@
 extern int signgam;
 
 float
-__ieee754_lgammaf(float x)
+lgammaf(float x)
 {
-	return __ieee754_lgammaf_r(x,&signgam);
+	return lgammaf_r(x,&signgam);
 }
diff --git a/libm/upstream-freebsd/lib/msun/src/e_lgammaf_r.c b/libm/upstream-freebsd/lib/msun/src/e_lgammaf_r.c
index 48346c3..3f863ce 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_lgammaf_r.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_lgammaf_r.c
@@ -14,9 +14,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
@@ -120,7 +117,7 @@
 
 
 float
-__ieee754_lgammaf_r(float x, int *signgamp)
+lgammaf_r(float x, int *signgamp)
 {
 	float nadj,p,p1,p2,q,r,t,w,y,z;
 	int32_t hx;
@@ -138,7 +135,7 @@
 	if(ix<0x32000000) {		/* |x|<2**-27, return -log(|x|) */
 	    if(ix==0)
 	        return one/vzero;
-	    return -__ieee754_logf(fabsf(x));
+	    return -logf(fabsf(x));
 	}
 
     /* purge negative integers and start evaluation for other x < 0 */
@@ -148,7 +145,7 @@
 		return one/vzero;
 	    t = sin_pif(x);
 	    if(t==zero) return one/vzero; /* -integer */
-	    nadj = __ieee754_logf(pi/fabsf(t*x));
+	    nadj = logf(pi/fabsf(t*x));
 	    if(t<zero) *signgamp = -1;
 	    x = -x;
 	}
@@ -158,7 +155,7 @@
     /* for x < 2.0 */
 	else if(ix<0x40000000) {
 	    if(ix<=0x3f666666) { 	/* lgamma(x) = lgamma(x+1)-log(x) */
-		r = -__ieee754_logf(x);
+		r = -logf(x);
 		if(ix>=0x3f3b4a20) {y = one-x; i= 0;}
 		else if(ix>=0x3e6d3308) {y= x-(tc-one); i=1;}
 	  	else {y = x; i=2;}
@@ -198,18 +195,18 @@
 	    case 5: z *= (y+4);		/* FALLTHRU */
 	    case 4: z *= (y+3);		/* FALLTHRU */
 	    case 3: z *= (y+2);		/* FALLTHRU */
-		    r += __ieee754_logf(z); break;
+		    r += logf(z); break;
 	    }
     /* 8.0 <= x < 2**27 */
 	} else if (ix < 0x4d000000) {
-	    t = __ieee754_logf(x);
+	    t = logf(x);
 	    z = one/x;
 	    y = z*z;
 	    w = w0+z*(w1+y*w2);
 	    r = (x-half)*(t-one)+w;
 	} else
     /* 2**27 <= x <= inf */
-	    r =  x*(__ieee754_logf(x)-one);
+	    r =  x*(logf(x)-one);
 	if(hx<0) r = nadj - r;
 	return r;
 }
diff --git a/libm/upstream-freebsd/lib/msun/src/e_lgammal.c b/libm/upstream-freebsd/lib/msun/src/e_lgammal.c
index ebc2fc7..51e3216 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_lgammal.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_lgammal.c
@@ -1,4 +1,3 @@
-/* @(#)e_lgamma.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
diff --git a/libm/upstream-freebsd/lib/msun/src/e_log.c b/libm/upstream-freebsd/lib/msun/src/e_log.c
deleted file mode 100644
index 68bc107..0000000
--- a/libm/upstream-freebsd/lib/msun/src/e_log.c
+++ /dev/null
@@ -1,147 +0,0 @@
-
-/* @(#)e_log.c 1.3 95/01/18 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunSoft, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
- * is preserved.
- * ====================================================
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_log(x)
- * Return the logrithm of x
- *
- * Method :                  
- *   1. Argument Reduction: find k and f such that 
- *			x = 2^k * (1+f), 
- *	   where  sqrt(2)/2 < 1+f < sqrt(2) .
- *
- *   2. Approximation of log(1+f).
- *	Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s)
- *		 = 2s + 2/3 s**3 + 2/5 s**5 + .....,
- *	     	 = 2s + s*R
- *      We use a special Reme algorithm on [0,0.1716] to generate 
- * 	a polynomial of degree 14 to approximate R The maximum error 
- *	of this polynomial approximation is bounded by 2**-58.45. In
- *	other words,
- *		        2      4      6      8      10      12      14
- *	    R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s  +Lg6*s  +Lg7*s
- *  	(the values of Lg1 to Lg7 are listed in the program)
- *	and
- *	    |      2          14          |     -58.45
- *	    | Lg1*s +...+Lg7*s    -  R(z) | <= 2 
- *	    |                             |
- *	Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2.
- *	In order to guarantee error in log below 1ulp, we compute log
- *	by
- *		log(1+f) = f - s*(f - R)	(if f is not too large)
- *		log(1+f) = f - (hfsq - s*(hfsq+R)).	(better accuracy)
- *	
- *	3. Finally,  log(x) = k*ln2 + log(1+f).  
- *			    = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo)))
- *	   Here ln2 is split into two floating point number: 
- *			ln2_hi + ln2_lo,
- *	   where n*ln2_hi is always exact for |n| < 2000.
- *
- * Special cases:
- *	log(x) is NaN with signal if x < 0 (including -INF) ; 
- *	log(+INF) is +INF; log(0) is -INF with signal;
- *	log(NaN) is that NaN with no signal.
- *
- * Accuracy:
- *	according to an error analysis, the error is always less than
- *	1 ulp (unit in the last place).
- *
- * Constants:
- * The hexadecimal values are the intended ones for the following 
- * constants. The decimal values may be used, provided that the 
- * compiler will convert from decimal to binary accurately enough 
- * to produce the hexadecimal values shown.
- */
-
-#include <float.h>
-
-#include "math.h"
-#include "math_private.h"
-
-static const double
-ln2_hi  =  6.93147180369123816490e-01,	/* 3fe62e42 fee00000 */
-ln2_lo  =  1.90821492927058770002e-10,	/* 3dea39ef 35793c76 */
-two54   =  1.80143985094819840000e+16,  /* 43500000 00000000 */
-Lg1 = 6.666666666666735130e-01,  /* 3FE55555 55555593 */
-Lg2 = 3.999999999940941908e-01,  /* 3FD99999 9997FA04 */
-Lg3 = 2.857142874366239149e-01,  /* 3FD24924 94229359 */
-Lg4 = 2.222219843214978396e-01,  /* 3FCC71C5 1D8E78AF */
-Lg5 = 1.818357216161805012e-01,  /* 3FC74664 96CB03DE */
-Lg6 = 1.531383769920937332e-01,  /* 3FC39A09 D078C69F */
-Lg7 = 1.479819860511658591e-01;  /* 3FC2F112 DF3E5244 */
-
-static const double zero   =  0.0;
-static volatile double vzero = 0.0;
-
-double
-__ieee754_log(double x)
-{
-	double hfsq,f,s,z,R,w,t1,t2,dk;
-	int32_t k,hx,i,j;
-	u_int32_t lx;
-
-	EXTRACT_WORDS(hx,lx,x);
-
-	k=0;
-	if (hx < 0x00100000) {			/* x < 2**-1022  */
-	    if (((hx&0x7fffffff)|lx)==0) 
-		return -two54/vzero;		/* log(+-0)=-inf */
-	    if (hx<0) return (x-x)/zero;	/* log(-#) = NaN */
-	    k -= 54; x *= two54; /* subnormal number, scale up x */
-	    GET_HIGH_WORD(hx,x);
-	} 
-	if (hx >= 0x7ff00000) return x+x;
-	k += (hx>>20)-1023;
-	hx &= 0x000fffff;
-	i = (hx+0x95f64)&0x100000;
-	SET_HIGH_WORD(x,hx|(i^0x3ff00000));	/* normalize x or x/2 */
-	k += (i>>20);
-	f = x-1.0;
-	if((0x000fffff&(2+hx))<3) {	/* -2**-20 <= f < 2**-20 */
-	    if(f==zero) {
-		if(k==0) {
-		    return zero;
-		} else {
-		    dk=(double)k;
-		    return dk*ln2_hi+dk*ln2_lo;
-		}
-	    }
-	    R = f*f*(0.5-0.33333333333333333*f);
-	    if(k==0) return f-R; else {dk=(double)k;
-	    	     return dk*ln2_hi-((R-dk*ln2_lo)-f);}
-	}
- 	s = f/(2.0+f); 
-	dk = (double)k;
-	z = s*s;
-	i = hx-0x6147a;
-	w = z*z;
-	j = 0x6b851-hx;
-	t1= w*(Lg2+w*(Lg4+w*Lg6)); 
-	t2= z*(Lg1+w*(Lg3+w*(Lg5+w*Lg7))); 
-	i |= j;
-	R = t2+t1;
-	if(i>0) {
-	    hfsq=0.5*f*f;
-	    if(k==0) return f-(hfsq-s*(hfsq+R)); else
-		     return dk*ln2_hi-((hfsq-(s*(hfsq+R)+dk*ln2_lo))-f);
-	} else {
-	    if(k==0) return f-s*(f-R); else
-		     return dk*ln2_hi-((s*(f-R)-dk*ln2_lo)-f);
-	}
-}
-
-#if (LDBL_MANT_DIG == 53)
-__weak_reference(log, logl);
-#endif
diff --git a/libm/upstream-freebsd/lib/msun/src/e_log10.c b/libm/upstream-freebsd/lib/msun/src/e_log10.c
index 3c89ed2..3647fb0 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_log10.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_log10.c
@@ -1,5 +1,4 @@
 
-/* @(#)e_log10.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -11,9 +10,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * Return the base 10 logarithm of x.  See e_log.c and k_log.h for most
  * comments.
@@ -39,7 +35,7 @@
 static volatile double vzero = 0.0;
 
 double
-__ieee754_log10(double x)
+log10(double x)
 {
 	double f,hfsq,hi,lo,r,val_hi,val_lo,w,y,y2;
 	int32_t i,k,hx;
diff --git a/libm/upstream-freebsd/lib/msun/src/e_log10f.c b/libm/upstream-freebsd/lib/msun/src/e_log10f.c
index 9856df2..ee01d6f 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_log10f.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_log10f.c
@@ -9,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * Float version of e_log10.c.  See the latter for most comments.
  */
@@ -31,7 +28,7 @@
 static volatile float vzero = 0.0;
 
 float
-__ieee754_log10f(float x)
+log10f(float x)
 {
 	float f,hfsq,hi,lo,r,y;
 	int32_t i,k,hx;
diff --git a/libm/upstream-freebsd/lib/msun/src/e_log2.c b/libm/upstream-freebsd/lib/msun/src/e_log2.c
deleted file mode 100644
index 4766cdb..0000000
--- a/libm/upstream-freebsd/lib/msun/src/e_log2.c
+++ /dev/null
@@ -1,117 +0,0 @@
-
-/* @(#)e_log10.c 1.3 95/01/18 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunSoft, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice 
- * is preserved.
- * ====================================================
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/*
- * Return the base 2 logarithm of x.  See e_log.c and k_log.h for most
- * comments.
- *
- * This reduces x to {k, 1+f} exactly as in e_log.c, then calls the kernel,
- * then does the combining and scaling steps
- *    log2(x) = (f - 0.5*f*f + k_log1p(f)) / ln2 + k
- * in not-quite-routine extra precision.
- */
-
-#include <float.h>
-
-#include "math.h"
-#include "math_private.h"
-#include "k_log.h"
-
-static const double
-two54      =  1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */
-ivln2hi    =  1.44269504072144627571e+00, /* 0x3ff71547, 0x65200000 */
-ivln2lo    =  1.67517131648865118353e-10; /* 0x3de705fc, 0x2eefa200 */
-
-static const double zero   =  0.0;
-static volatile double vzero = 0.0;
-
-double
-__ieee754_log2(double x)
-{
-	double f,hfsq,hi,lo,r,val_hi,val_lo,w,y;
-	int32_t i,k,hx;
-	u_int32_t lx;
-
-	EXTRACT_WORDS(hx,lx,x);
-
-	k=0;
-	if (hx < 0x00100000) {			/* x < 2**-1022  */
-	    if (((hx&0x7fffffff)|lx)==0)
-		return -two54/vzero;		/* log(+-0)=-inf */
-	    if (hx<0) return (x-x)/zero;	/* log(-#) = NaN */
-	    k -= 54; x *= two54; /* subnormal number, scale up x */
-	    GET_HIGH_WORD(hx,x);
-	}
-	if (hx >= 0x7ff00000) return x+x;
-	if (hx == 0x3ff00000 && lx == 0)
-	    return zero;			/* log(1) = +0 */
-	k += (hx>>20)-1023;
-	hx &= 0x000fffff;
-	i = (hx+0x95f64)&0x100000;
-	SET_HIGH_WORD(x,hx|(i^0x3ff00000));	/* normalize x or x/2 */
-	k += (i>>20);
-	y = (double)k;
-	f = x - 1.0;
-	hfsq = 0.5*f*f;
-	r = k_log1p(f);
-
-	/*
-	 * f-hfsq must (for args near 1) be evaluated in extra precision
-	 * to avoid a large cancellation when x is near sqrt(2) or 1/sqrt(2).
-	 * This is fairly efficient since f-hfsq only depends on f, so can
-	 * be evaluated in parallel with R.  Not combining hfsq with R also
-	 * keeps R small (though not as small as a true `lo' term would be),
-	 * so that extra precision is not needed for terms involving R.
-	 *
-	 * Compiler bugs involving extra precision used to break Dekker's
-	 * theorem for spitting f-hfsq as hi+lo, unless double_t was used
-	 * or the multi-precision calculations were avoided when double_t
-	 * has extra precision.  These problems are now automatically
-	 * avoided as a side effect of the optimization of combining the
-	 * Dekker splitting step with the clear-low-bits step.
-	 *
-	 * y must (for args near sqrt(2) and 1/sqrt(2)) be added in extra
-	 * precision to avoid a very large cancellation when x is very near
-	 * these values.  Unlike the above cancellations, this problem is
-	 * specific to base 2.  It is strange that adding +-1 is so much
-	 * harder than adding +-ln2 or +-log10_2.
-	 *
-	 * This uses Dekker's theorem to normalize y+val_hi, so the
-	 * compiler bugs are back in some configurations, sigh.  And I
-	 * don't want to used double_t to avoid them, since that gives a
-	 * pessimization and the support for avoiding the pessimization
-	 * is not yet available.
-	 *
-	 * The multi-precision calculations for the multiplications are
-	 * routine.
-	 */
-	hi = f - hfsq;
-	SET_LOW_WORD(hi,0);
-	lo = (f - hi) - hfsq + r;
-	val_hi = hi*ivln2hi;
-	val_lo = (lo+hi)*ivln2lo + lo*ivln2hi;
-
-	/* spadd(val_hi, val_lo, y), except for not using double_t: */
-	w = y + val_hi;
-	val_lo += (y - w) + val_hi;
-	val_hi = w;
-
-	return val_lo + val_hi;
-}
-
-#if (LDBL_MANT_DIG == 53)
-__weak_reference(log2, log2l);
-#endif
diff --git a/libm/upstream-freebsd/lib/msun/src/e_log2f.c b/libm/upstream-freebsd/lib/msun/src/e_log2f.c
deleted file mode 100644
index 1794484..0000000
--- a/libm/upstream-freebsd/lib/msun/src/e_log2f.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/*
- * Float version of e_log2.c.  See the latter for most comments.
- */
-
-#include "math.h"
-#include "math_private.h"
-#include "k_logf.h"
-
-static const float
-two25      =  3.3554432000e+07, /* 0x4c000000 */
-ivln2hi    =  1.4428710938e+00, /* 0x3fb8b000 */
-ivln2lo    = -1.7605285393e-04; /* 0xb9389ad4 */
-
-static const float zero   =  0.0;
-static volatile float vzero = 0.0;
-
-float
-__ieee754_log2f(float x)
-{
-	float f,hfsq,hi,lo,r,y;
-	int32_t i,k,hx;
-
-	GET_FLOAT_WORD(hx,x);
-
-	k=0;
-	if (hx < 0x00800000) {			/* x < 2**-126  */
-	    if ((hx&0x7fffffff)==0)
-		return -two25/vzero;		/* log(+-0)=-inf */
-	    if (hx<0) return (x-x)/zero;	/* log(-#) = NaN */
-	    k -= 25; x *= two25; /* subnormal number, scale up x */
-	    GET_FLOAT_WORD(hx,x);
-	}
-	if (hx >= 0x7f800000) return x+x;
-	if (hx == 0x3f800000)
-	    return zero;			/* log(1) = +0 */
-	k += (hx>>23)-127;
-	hx &= 0x007fffff;
-	i = (hx+(0x4afb0d))&0x800000;
-	SET_FLOAT_WORD(x,hx|(i^0x3f800000));	/* normalize x or x/2 */
-	k += (i>>23);
-	y = (float)k;
-	f = x - (float)1.0;
-	hfsq = (float)0.5*f*f;
-	r = k_log1pf(f);
-
-	/*
-	 * We no longer need to avoid falling into the multi-precision
-	 * calculations due to compiler bugs breaking Dekker's theorem.
-	 * Keep avoiding this as an optimization.  See e_log2.c for more
-	 * details (some details are here only because the optimization
-	 * is not yet available in double precision).
-	 *
-	 * Another compiler bug turned up.  With gcc on i386,
-	 * (ivln2lo + ivln2hi) would be evaluated in float precision
-	 * despite runtime evaluations using double precision.  So we
-	 * must cast one of its terms to float_t.  This makes the whole
-	 * expression have type float_t, so return is forced to waste
-	 * time clobbering its extra precision.
-	 */
-	if (sizeof(float_t) > sizeof(float))
-		return (r - hfsq + f) * ((float_t)ivln2lo + ivln2hi) + y;
-
-	hi = f - hfsq;
-	GET_FLOAT_WORD(hx,hi);
-	SET_FLOAT_WORD(hi,hx&0xfffff000);
-	lo = (f - hi) - hfsq + r;
-	return (lo+hi)*ivln2lo + lo*ivln2hi + hi*ivln2hi + y;
-}
diff --git a/libm/upstream-freebsd/lib/msun/src/e_logf.c b/libm/upstream-freebsd/lib/msun/src/e_logf.c
deleted file mode 100644
index ec3985f..0000000
--- a/libm/upstream-freebsd/lib/msun/src/e_logf.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/* e_logf.c -- float version of e_log.c.
- * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
- */
-
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include "math.h"
-#include "math_private.h"
-
-static const float
-ln2_hi =   6.9313812256e-01,	/* 0x3f317180 */
-ln2_lo =   9.0580006145e-06,	/* 0x3717f7d1 */
-two25 =    3.355443200e+07,	/* 0x4c000000 */
-/* |(log(1+s)-log(1-s))/s - Lg(s)| < 2**-34.24 (~[-4.95e-11, 4.97e-11]). */
-Lg1 =      0xaaaaaa.0p-24,	/* 0.66666662693 */
-Lg2 =      0xccce13.0p-25,	/* 0.40000972152 */
-Lg3 =      0x91e9ee.0p-25,	/* 0.28498786688 */
-Lg4 =      0xf89e26.0p-26;	/* 0.24279078841 */
-
-static const float zero   =  0.0;
-static volatile float vzero = 0.0;
-
-float
-__ieee754_logf(float x)
-{
-	float hfsq,f,s,z,R,w,t1,t2,dk;
-	int32_t k,ix,i,j;
-
-	GET_FLOAT_WORD(ix,x);
-
-	k=0;
-	if (ix < 0x00800000) {			/* x < 2**-126  */
-	    if ((ix&0x7fffffff)==0)
-		return -two25/vzero;		/* log(+-0)=-inf */
-	    if (ix<0) return (x-x)/zero;	/* log(-#) = NaN */
-	    k -= 25; x *= two25; /* subnormal number, scale up x */
-	    GET_FLOAT_WORD(ix,x);
-	}
-	if (ix >= 0x7f800000) return x+x;
-	k += (ix>>23)-127;
-	ix &= 0x007fffff;
-	i = (ix+(0x95f64<<3))&0x800000;
-	SET_FLOAT_WORD(x,ix|(i^0x3f800000));	/* normalize x or x/2 */
-	k += (i>>23);
-	f = x-(float)1.0;
-	if((0x007fffff&(0x8000+ix))<0xc000) {	/* -2**-9 <= f < 2**-9 */
-	    if(f==zero) {
-		if(k==0) {
-		    return zero;
-		} else {
-		    dk=(float)k;
-		    return dk*ln2_hi+dk*ln2_lo;
-		}
-	    }
-	    R = f*f*((float)0.5-(float)0.33333333333333333*f);
-	    if(k==0) return f-R; else {dk=(float)k;
-	    	     return dk*ln2_hi-((R-dk*ln2_lo)-f);}
-	}
- 	s = f/((float)2.0+f);
-	dk = (float)k;
-	z = s*s;
-	i = ix-(0x6147a<<3);
-	w = z*z;
-	j = (0x6b851<<3)-ix;
-	t1= w*(Lg2+w*Lg4);
-	t2= z*(Lg1+w*Lg3);
-	i |= j;
-	R = t2+t1;
-	if(i>0) {
-	    hfsq=(float)0.5*f*f;
-	    if(k==0) return f-(hfsq-s*(hfsq+R)); else
-		     return dk*ln2_hi-((hfsq-(s*(hfsq+R)+dk*ln2_lo))-f);
-	} else {
-	    if(k==0) return f-s*(f-R); else
-		     return dk*ln2_hi-((s*(f-R)-dk*ln2_lo)-f);
-	}
-}
diff --git a/libm/upstream-freebsd/lib/msun/src/e_pow.c b/libm/upstream-freebsd/lib/msun/src/e_pow.c
deleted file mode 100644
index 52b2f5c..0000000
--- a/libm/upstream-freebsd/lib/msun/src/e_pow.c
+++ /dev/null
@@ -1,314 +0,0 @@
-/* @(#)e_pow.c 1.5 04/04/22 SMI */
-/*
- * ====================================================
- * Copyright (C) 2004 by Sun Microsystems, Inc. All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_pow(x,y) return x**y
- *
- *		      n
- * Method:  Let x =  2   * (1+f)
- *	1. Compute and return log2(x) in two pieces:
- *		log2(x) = w1 + w2,
- *	   where w1 has 53-24 = 29 bit trailing zeros.
- *	2. Perform y*log2(x) = n+y' by simulating multi-precision
- *	   arithmetic, where |y'|<=0.5.
- *	3. Return x**y = 2**n*exp(y'*log2)
- *
- * Special cases:
- *	1.  (anything) ** 0  is 1
- *	2.  (anything) ** 1  is itself
- *	3.  (anything) ** NAN is NAN except 1 ** NAN = 1
- *	4.  NAN ** (anything except 0) is NAN
- *	5.  +-(|x| > 1) **  +INF is +INF
- *	6.  +-(|x| > 1) **  -INF is +0
- *	7.  +-(|x| < 1) **  +INF is +0
- *	8.  +-(|x| < 1) **  -INF is +INF
- *	9.  +-1         ** +-INF is 1
- *	10. +0 ** (+anything except 0, NAN)               is +0
- *	11. -0 ** (+anything except 0, NAN, odd integer)  is +0
- *	12. +0 ** (-anything except 0, NAN)               is +INF
- *	13. -0 ** (-anything except 0, NAN, odd integer)  is +INF
- *	14. -0 ** (odd integer) = -( +0 ** (odd integer) )
- *	15. +INF ** (+anything except 0,NAN) is +INF
- *	16. +INF ** (-anything except 0,NAN) is +0
- *	17. -INF ** (anything)  = -0 ** (-anything)
- *	18. (-anything) ** (integer) is (-1)**(integer)*(+anything**integer)
- *	19. (-anything except 0 and inf) ** (non-integer) is NAN
- *
- * Accuracy:
- *	pow(x,y) returns x**y nearly rounded. In particular
- *			pow(integer,integer)
- *	always returns the correct integer provided it is
- *	representable.
- *
- * Constants :
- * The hexadecimal values are the intended ones for the following
- * constants. The decimal values may be used, provided that the
- * compiler will convert from decimal to binary accurately enough
- * to produce the hexadecimal values shown.
- */
-
-#include <float.h>
-#include "math.h"
-#include "math_private.h"
-
-static const double
-bp[] = {1.0, 1.5,},
-dp_h[] = { 0.0, 5.84962487220764160156e-01,}, /* 0x3FE2B803, 0x40000000 */
-dp_l[] = { 0.0, 1.35003920212974897128e-08,}, /* 0x3E4CFDEB, 0x43CFD006 */
-zero    =  0.0,
-half    =  0.5,
-qrtr    =  0.25,
-thrd    =  3.3333333333333331e-01, /* 0x3fd55555, 0x55555555 */
-one	=  1.0,
-two	=  2.0,
-two53	=  9007199254740992.0,	/* 0x43400000, 0x00000000 */
-huge	=  1.0e300,
-tiny    =  1.0e-300,
-	/* poly coefs for (3/2)*(log(x)-2s-2/3*s**3 */
-L1  =  5.99999999999994648725e-01, /* 0x3FE33333, 0x33333303 */
-L2  =  4.28571428578550184252e-01, /* 0x3FDB6DB6, 0xDB6FABFF */
-L3  =  3.33333329818377432918e-01, /* 0x3FD55555, 0x518F264D */
-L4  =  2.72728123808534006489e-01, /* 0x3FD17460, 0xA91D4101 */
-L5  =  2.30660745775561754067e-01, /* 0x3FCD864A, 0x93C9DB65 */
-L6  =  2.06975017800338417784e-01, /* 0x3FCA7E28, 0x4A454EEF */
-P1   =  1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */
-P2   = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */
-P3   =  6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */
-P4   = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */
-P5   =  4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */
-lg2  =  6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */
-lg2_h  =  6.93147182464599609375e-01, /* 0x3FE62E43, 0x00000000 */
-lg2_l  = -1.90465429995776804525e-09, /* 0xBE205C61, 0x0CA86C39 */
-ovt =  8.0085662595372944372e-0017, /* -(1024-log2(ovfl+.5ulp)) */
-cp    =  9.61796693925975554329e-01, /* 0x3FEEC709, 0xDC3A03FD =2/(3ln2) */
-cp_h  =  9.61796700954437255859e-01, /* 0x3FEEC709, 0xE0000000 =(float)cp */
-cp_l  = -7.02846165095275826516e-09, /* 0xBE3E2FE0, 0x145B01F5 =tail of cp_h*/
-ivln2    =  1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE =1/ln2 */
-ivln2_h  =  1.44269502162933349609e+00, /* 0x3FF71547, 0x60000000 =24b 1/ln2*/
-ivln2_l  =  1.92596299112661746887e-08; /* 0x3E54AE0B, 0xF85DDF44 =1/ln2 tail*/
-
-double
-__ieee754_pow(double x, double y)
-{
-	double z,ax,z_h,z_l,p_h,p_l;
-	double y1,t1,t2,r,s,t,u,v,w;
-	int32_t i,j,k,yisint,n;
-	int32_t hx,hy,ix,iy;
-	u_int32_t lx,ly;
-
-	EXTRACT_WORDS(hx,lx,x);
-	EXTRACT_WORDS(hy,ly,y);
-	ix = hx&0x7fffffff;  iy = hy&0x7fffffff;
-
-    /* y==zero: x**0 = 1 */
-	if((iy|ly)==0) return one;
-
-    /* x==1: 1**y = 1, even if y is NaN */
-	if (hx==0x3ff00000 && lx == 0) return one;
-
-    /* y!=zero: result is NaN if either arg is NaN */
-	if(ix > 0x7ff00000 || ((ix==0x7ff00000)&&(lx!=0)) ||
-	   iy > 0x7ff00000 || ((iy==0x7ff00000)&&(ly!=0)))
-	    return nan_mix(x, y);
-
-    /* determine if y is an odd int when x < 0
-     * yisint = 0	... y is not an integer
-     * yisint = 1	... y is an odd int
-     * yisint = 2	... y is an even int
-     */
-	yisint  = 0;
-	if(hx<0) {
-	    if(iy>=0x43400000) yisint = 2; /* even integer y */
-	    else if(iy>=0x3ff00000) {
-		k = (iy>>20)-0x3ff;	   /* exponent */
-		if(k>20) {
-		    j = ly>>(52-k);
-		    if(((u_int32_t)j<<(52-k))==ly) yisint = 2-(j&1);
-		} else if(ly==0) {
-		    j = iy>>(20-k);
-		    if((j<<(20-k))==iy) yisint = 2-(j&1);
-		}
-	    }
-	}
-
-    /* special value of y */
-	if(ly==0) {
-	    if (iy==0x7ff00000) {	/* y is +-inf */
-	        if(((ix-0x3ff00000)|lx)==0)
-		    return  one;	/* (-1)**+-inf is 1 */
-	        else if (ix >= 0x3ff00000)/* (|x|>1)**+-inf = inf,0 */
-		    return (hy>=0)? y: zero;
-	        else			/* (|x|<1)**-,+inf = inf,0 */
-		    return (hy<0)?-y: zero;
-	    }
-	    if(iy==0x3ff00000) {	/* y is  +-1 */
-		if(hy<0) return one/x; else return x;
-	    }
-	    if(hy==0x40000000) return x*x; /* y is  2 */
-	    if(hy==0x3fe00000) {	/* y is  0.5 */
-		if(hx>=0)	/* x >= +0 */
-		return sqrt(x);
-	    }
-	}
-
-	ax   = fabs(x);
-    /* special value of x */
-	if(lx==0) {
-	    if(ix==0x7ff00000||ix==0||ix==0x3ff00000){
-		z = ax;			/*x is +-0,+-inf,+-1*/
-		if(hy<0) z = one/z;	/* z = (1/|x|) */
-		if(hx<0) {
-		    if(((ix-0x3ff00000)|yisint)==0) {
-			z = (z-z)/(z-z); /* (-1)**non-int is NaN */
-		    } else if(yisint==1)
-			z = -z;		/* (x<0)**odd = -(|x|**odd) */
-		}
-		return z;
-	    }
-	}
-
-    /* CYGNUS LOCAL + fdlibm-5.3 fix: This used to be
-	n = (hx>>31)+1;
-       but ANSI C says a right shift of a signed negative quantity is
-       implementation defined.  */
-	n = ((u_int32_t)hx>>31)-1;
-
-    /* (x<0)**(non-int) is NaN */
-	if((n|yisint)==0) return (x-x)/(x-x);
-
-	s = one; /* s (sign of result -ve**odd) = -1 else = 1 */
-	if((n|(yisint-1))==0) s = -one;/* (-ve)**(odd int) */
-
-    /* |y| is huge */
-	if(iy>0x41e00000) { /* if |y| > 2**31 */
-	    if(iy>0x43f00000){	/* if |y| > 2**64, must o/uflow */
-		if(ix<=0x3fefffff) return (hy<0)? huge*huge:tiny*tiny;
-		if(ix>=0x3ff00000) return (hy>0)? huge*huge:tiny*tiny;
-	    }
-	/* over/underflow if x is not close to one */
-	    if(ix<0x3fefffff) return (hy<0)? s*huge*huge:s*tiny*tiny;
-	    if(ix>0x3ff00000) return (hy>0)? s*huge*huge:s*tiny*tiny;
-	/* now |1-x| is tiny <= 2**-20, suffice to compute
-	   log(x) by x-x^2/2+x^3/3-x^4/4 */
-	    t = ax-one;		/* t has 20 trailing zeros */
-	    w = (t*t)*(half-t*(thrd-t*qrtr));
-	    u = ivln2_h*t;	/* ivln2_h has 21 sig. bits */
-	    v = t*ivln2_l-w*ivln2;
-	    t1 = u+v;
-	    SET_LOW_WORD(t1,0);
-	    t2 = v-(t1-u);
-	} else {
-	    double ss,s2,s_h,s_l,t_h,t_l;
-	    n = 0;
-	/* take care subnormal number */
-	    if(ix<0x00100000)
-		{ax *= two53; n -= 53; GET_HIGH_WORD(ix,ax); }
-	    n  += ((ix)>>20)-0x3ff;
-	    j  = ix&0x000fffff;
-	/* determine interval */
-	    ix = j|0x3ff00000;		/* normalize ix */
-	    if(j<=0x3988E) k=0;		/* |x|<sqrt(3/2) */
-	    else if(j<0xBB67A) k=1;	/* |x|<sqrt(3)   */
-	    else {k=0;n+=1;ix -= 0x00100000;}
-	    SET_HIGH_WORD(ax,ix);
-
-	/* compute ss = s_h+s_l = (x-1)/(x+1) or (x-1.5)/(x+1.5) */
-	    u = ax-bp[k];		/* bp[0]=1.0, bp[1]=1.5 */
-	    v = one/(ax+bp[k]);
-	    ss = u*v;
-	    s_h = ss;
-	    SET_LOW_WORD(s_h,0);
-	/* t_h=ax+bp[k] High */
-	    t_h = zero;
-	    SET_HIGH_WORD(t_h,((ix>>1)|0x20000000)+0x00080000+(k<<18));
-	    t_l = ax - (t_h-bp[k]);
-	    s_l = v*((u-s_h*t_h)-s_h*t_l);
-	/* compute log(ax) */
-	    s2 = ss*ss;
-	    r = s2*s2*(L1+s2*(L2+s2*(L3+s2*(L4+s2*(L5+s2*L6)))));
-	    r += s_l*(s_h+ss);
-	    s2  = s_h*s_h;
-	    t_h = 3+s2+r;
-	    SET_LOW_WORD(t_h,0);
-	    t_l = r-((t_h-3)-s2);
-	/* u+v = ss*(1+...) */
-	    u = s_h*t_h;
-	    v = s_l*t_h+t_l*ss;
-	/* 2/(3log2)*(ss+...) */
-	    p_h = u+v;
-	    SET_LOW_WORD(p_h,0);
-	    p_l = v-(p_h-u);
-	    z_h = cp_h*p_h;		/* cp_h+cp_l = 2/(3*log2) */
-	    z_l = cp_l*p_h+p_l*cp+dp_l[k];
-	/* log2(ax) = (ss+..)*2/(3*log2) = n + dp_h + z_h + z_l */
-	    t = n;
-	    t1 = (((z_h+z_l)+dp_h[k])+t);
-	    SET_LOW_WORD(t1,0);
-	    t2 = z_l-(((t1-t)-dp_h[k])-z_h);
-	}
-
-    /* split up y into y1+y2 and compute (y1+y2)*(t1+t2) */
-	y1  = y;
-	SET_LOW_WORD(y1,0);
-	p_l = (y-y1)*t1+y*t2;
-	p_h = y1*t1;
-	z = p_l+p_h;
-	EXTRACT_WORDS(j,i,z);
-	if (j>=0x40900000) {				/* z >= 1024 */
-	    if(((j-0x40900000)|i)!=0)			/* if z > 1024 */
-		return s*huge*huge;			/* overflow */
-	    else {
-		if(p_l+ovt>z-p_h) return s*huge*huge;	/* overflow */
-	    }
-	} else if((j&0x7fffffff)>=0x4090cc00 ) {	/* z <= -1075 */
-	    if(((j-0xc090cc00)|i)!=0) 		/* z < -1075 */
-		return s*tiny*tiny;		/* underflow */
-	    else {
-		if(p_l<=z-p_h) return s*tiny*tiny;	/* underflow */
-	    }
-	}
-    /*
-     * compute 2**(p_h+p_l)
-     */
-	i = j&0x7fffffff;
-	k = (i>>20)-0x3ff;
-	n = 0;
-	if(i>0x3fe00000) {		/* if |z| > 0.5, set n = [z+0.5] */
-	    n = j+(0x00100000>>(k+1));
-	    k = ((n&0x7fffffff)>>20)-0x3ff;	/* new k for n */
-	    t = zero;
-	    SET_HIGH_WORD(t,n&~(0x000fffff>>k));
-	    n = ((n&0x000fffff)|0x00100000)>>(20-k);
-	    if(j<0) n = -n;
-	    p_h -= t;
-	}
-	t = p_l+p_h;
-	SET_LOW_WORD(t,0);
-	u = t*lg2_h;
-	v = (p_l-(t-p_h))*lg2+t*lg2_l;
-	z = u+v;
-	w = v-(z-u);
-	t  = z*z;
-	t1  = z - t*(P1+t*(P2+t*(P3+t*(P4+t*P5))));
-	r  = (z*t1)/(t1-two)-(w+z*w);
-	z  = one-(r-z);
-	GET_HIGH_WORD(j,z);
-	j += (n<<20);
-	if((j>>20)<=0) z = scalbn(z,n);	/* subnormal output */
-	else SET_HIGH_WORD(z,j);
-	return s*z;
-}
-
-#if (LDBL_MANT_DIG == 53)
-__weak_reference(pow, powl);
-#endif
diff --git a/libm/upstream-freebsd/lib/msun/src/e_powf.c b/libm/upstream-freebsd/lib/msun/src/e_powf.c
deleted file mode 100644
index 122da45..0000000
--- a/libm/upstream-freebsd/lib/msun/src/e_powf.c
+++ /dev/null
@@ -1,252 +0,0 @@
-/* e_powf.c -- float version of e_pow.c.
- * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
- */
-
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include "math.h"
-#include "math_private.h"
-
-static const float
-bp[] = {1.0, 1.5,},
-dp_h[] = { 0.0, 5.84960938e-01,}, /* 0x3f15c000 */
-dp_l[] = { 0.0, 1.56322085e-06,}, /* 0x35d1cfdc */
-zero    =  0.0,
-half    =  0.5,
-qrtr    =  0.25,
-thrd    =  3.33333343e-01, /* 0x3eaaaaab */
-one	=  1.0,
-two	=  2.0,
-two24	=  16777216.0,	/* 0x4b800000 */
-huge	=  1.0e30,
-tiny    =  1.0e-30,
-	/* poly coefs for (3/2)*(log(x)-2s-2/3*s**3 */
-L1  =  6.0000002384e-01, /* 0x3f19999a */
-L2  =  4.2857143283e-01, /* 0x3edb6db7 */
-L3  =  3.3333334327e-01, /* 0x3eaaaaab */
-L4  =  2.7272811532e-01, /* 0x3e8ba305 */
-L5  =  2.3066075146e-01, /* 0x3e6c3255 */
-L6  =  2.0697501302e-01, /* 0x3e53f142 */
-P1   =  1.6666667163e-01, /* 0x3e2aaaab */
-P2   = -2.7777778450e-03, /* 0xbb360b61 */
-P3   =  6.6137559770e-05, /* 0x388ab355 */
-P4   = -1.6533901999e-06, /* 0xb5ddea0e */
-P5   =  4.1381369442e-08, /* 0x3331bb4c */
-lg2  =  6.9314718246e-01, /* 0x3f317218 */
-lg2_h  =  6.93145752e-01, /* 0x3f317200 */
-lg2_l  =  1.42860654e-06, /* 0x35bfbe8c */
-ovt =  4.2995665694e-08, /* -(128-log2(ovfl+.5ulp)) */
-cp    =  9.6179670095e-01, /* 0x3f76384f =2/(3ln2) */
-cp_h  =  9.6191406250e-01, /* 0x3f764000 =12b cp */
-cp_l  = -1.1736857402e-04, /* 0xb8f623c6 =tail of cp_h */
-ivln2    =  1.4426950216e+00, /* 0x3fb8aa3b =1/ln2 */
-ivln2_h  =  1.4426879883e+00, /* 0x3fb8aa00 =16b 1/ln2*/
-ivln2_l  =  7.0526075433e-06; /* 0x36eca570 =1/ln2 tail*/
-
-float
-__ieee754_powf(float x, float y)
-{
-	float z,ax,z_h,z_l,p_h,p_l;
-	float y1,t1,t2,r,s,sn,t,u,v,w;
-	int32_t i,j,k,yisint,n;
-	int32_t hx,hy,ix,iy,is;
-
-	GET_FLOAT_WORD(hx,x);
-	GET_FLOAT_WORD(hy,y);
-	ix = hx&0x7fffffff;  iy = hy&0x7fffffff;
-
-    /* y==zero: x**0 = 1 */
-	if(iy==0) return one;
-
-    /* x==1: 1**y = 1, even if y is NaN */
-	if (hx==0x3f800000) return one;
-
-    /* y!=zero: result is NaN if either arg is NaN */
-	if(ix > 0x7f800000 ||
-	   iy > 0x7f800000)
-	    return nan_mix(x, y);
-
-    /* determine if y is an odd int when x < 0
-     * yisint = 0	... y is not an integer
-     * yisint = 1	... y is an odd int
-     * yisint = 2	... y is an even int
-     */
-	yisint  = 0;
-	if(hx<0) {
-	    if(iy>=0x4b800000) yisint = 2; /* even integer y */
-	    else if(iy>=0x3f800000) {
-		k = (iy>>23)-0x7f;	   /* exponent */
-		j = iy>>(23-k);
-		if((j<<(23-k))==iy) yisint = 2-(j&1);
-	    }
-	}
-
-    /* special value of y */
-	if (iy==0x7f800000) {	/* y is +-inf */
-	    if (ix==0x3f800000)
-	        return  one;	/* (-1)**+-inf is NaN */
-	    else if (ix > 0x3f800000)/* (|x|>1)**+-inf = inf,0 */
-	        return (hy>=0)? y: zero;
-	    else			/* (|x|<1)**-,+inf = inf,0 */
-	        return (hy<0)?-y: zero;
-	}
-	if(iy==0x3f800000) {	/* y is  +-1 */
-	    if(hy<0) return one/x; else return x;
-	}
-	if(hy==0x40000000) return x*x; /* y is  2 */
-	if(hy==0x3f000000) {	/* y is  0.5 */
-	    if(hx>=0)	/* x >= +0 */
-	    return __ieee754_sqrtf(x);
-	}
-
-	ax   = fabsf(x);
-    /* special value of x */
-	if(ix==0x7f800000||ix==0||ix==0x3f800000){
-	    z = ax;			/*x is +-0,+-inf,+-1*/
-	    if(hy<0) z = one/z;	/* z = (1/|x|) */
-	    if(hx<0) {
-		if(((ix-0x3f800000)|yisint)==0) {
-		    z = (z-z)/(z-z); /* (-1)**non-int is NaN */
-		} else if(yisint==1)
-		    z = -z;		/* (x<0)**odd = -(|x|**odd) */
-	    }
-	    return z;
-	}
-
-	n = ((u_int32_t)hx>>31)-1;
-
-    /* (x<0)**(non-int) is NaN */
-	if((n|yisint)==0) return (x-x)/(x-x);
-
-	sn = one; /* s (sign of result -ve**odd) = -1 else = 1 */
-	if((n|(yisint-1))==0) sn = -one;/* (-ve)**(odd int) */
-
-    /* |y| is huge */
-	if(iy>0x4d000000) { /* if |y| > 2**27 */
-	/* over/underflow if x is not close to one */
-	    if(ix<0x3f7ffff6) return (hy<0)? sn*huge*huge:sn*tiny*tiny;
-	    if(ix>0x3f800007) return (hy>0)? sn*huge*huge:sn*tiny*tiny;
-	/* now |1-x| is tiny <= 2**-20, suffice to compute
-	   log(x) by x-x^2/2+x^3/3-x^4/4 */
-	    t = ax-1;		/* t has 20 trailing zeros */
-	    w = (t*t)*(half-t*(thrd-t*qrtr));
-	    u = ivln2_h*t;	/* ivln2_h has 16 sig. bits */
-	    v = t*ivln2_l-w*ivln2;
-	    t1 = u+v;
-	    GET_FLOAT_WORD(is,t1);
-	    SET_FLOAT_WORD(t1,is&0xfffff000);
-	    t2 = v-(t1-u);
-	} else {
-	    float s2,s_h,s_l,t_h,t_l;
-	    n = 0;
-	/* take care subnormal number */
-	    if(ix<0x00800000)
-		{ax *= two24; n -= 24; GET_FLOAT_WORD(ix,ax); }
-	    n  += ((ix)>>23)-0x7f;
-	    j  = ix&0x007fffff;
-	/* determine interval */
-	    ix = j|0x3f800000;		/* normalize ix */
-	    if(j<=0x1cc471) k=0;	/* |x|<sqrt(3/2) */
-	    else if(j<0x5db3d7) k=1;	/* |x|<sqrt(3)   */
-	    else {k=0;n+=1;ix -= 0x00800000;}
-	    SET_FLOAT_WORD(ax,ix);
-
-	/* compute s = s_h+s_l = (x-1)/(x+1) or (x-1.5)/(x+1.5) */
-	    u = ax-bp[k];		/* bp[0]=1.0, bp[1]=1.5 */
-	    v = one/(ax+bp[k]);
-	    s = u*v;
-	    s_h = s;
-	    GET_FLOAT_WORD(is,s_h);
-	    SET_FLOAT_WORD(s_h,is&0xfffff000);
-	/* t_h=ax+bp[k] High */
-	    is = ((ix>>1)&0xfffff000)|0x20000000;
-	    SET_FLOAT_WORD(t_h,is+0x00400000+(k<<21));
-	    t_l = ax - (t_h-bp[k]);
-	    s_l = v*((u-s_h*t_h)-s_h*t_l);
-	/* compute log(ax) */
-	    s2 = s*s;
-	    r = s2*s2*(L1+s2*(L2+s2*(L3+s2*(L4+s2*(L5+s2*L6)))));
-	    r += s_l*(s_h+s);
-	    s2  = s_h*s_h;
-	    t_h = 3+s2+r;
-	    GET_FLOAT_WORD(is,t_h);
-	    SET_FLOAT_WORD(t_h,is&0xfffff000);
-	    t_l = r-((t_h-3)-s2);
-	/* u+v = s*(1+...) */
-	    u = s_h*t_h;
-	    v = s_l*t_h+t_l*s;
-	/* 2/(3log2)*(s+...) */
-	    p_h = u+v;
-	    GET_FLOAT_WORD(is,p_h);
-	    SET_FLOAT_WORD(p_h,is&0xfffff000);
-	    p_l = v-(p_h-u);
-	    z_h = cp_h*p_h;		/* cp_h+cp_l = 2/(3*log2) */
-	    z_l = cp_l*p_h+p_l*cp+dp_l[k];
-	/* log2(ax) = (s+..)*2/(3*log2) = n + dp_h + z_h + z_l */
-	    t = n;
-	    t1 = (((z_h+z_l)+dp_h[k])+t);
-	    GET_FLOAT_WORD(is,t1);
-	    SET_FLOAT_WORD(t1,is&0xfffff000);
-	    t2 = z_l-(((t1-t)-dp_h[k])-z_h);
-	}
-
-    /* split up y into y1+y2 and compute (y1+y2)*(t1+t2) */
-	GET_FLOAT_WORD(is,y);
-	SET_FLOAT_WORD(y1,is&0xfffff000);
-	p_l = (y-y1)*t1+y*t2;
-	p_h = y1*t1;
-	z = p_l+p_h;
-	GET_FLOAT_WORD(j,z);
-	if (j>0x43000000)				/* if z > 128 */
-	    return sn*huge*huge;			/* overflow */
-	else if (j==0x43000000) {			/* if z == 128 */
-	    if(p_l+ovt>z-p_h) return sn*huge*huge;	/* overflow */
-	}
-	else if ((j&0x7fffffff)>0x43160000)		/* z <= -150 */
-	    return sn*tiny*tiny;			/* underflow */
-	else if (j==0xc3160000){			/* z == -150 */
-	    if(p_l<=z-p_h) return sn*tiny*tiny;		/* underflow */
-	}
-    /*
-     * compute 2**(p_h+p_l)
-     */
-	i = j&0x7fffffff;
-	k = (i>>23)-0x7f;
-	n = 0;
-	if(i>0x3f000000) {		/* if |z| > 0.5, set n = [z+0.5] */
-	    n = j+(0x00800000>>(k+1));
-	    k = ((n&0x7fffffff)>>23)-0x7f;	/* new k for n */
-	    SET_FLOAT_WORD(t,n&~(0x007fffff>>k));
-	    n = ((n&0x007fffff)|0x00800000)>>(23-k);
-	    if(j<0) n = -n;
-	    p_h -= t;
-	}
-	t = p_l+p_h;
-	GET_FLOAT_WORD(is,t);
-	SET_FLOAT_WORD(t,is&0xffff8000);
-	u = t*lg2_h;
-	v = (p_l-(t-p_h))*lg2+t*lg2_l;
-	z = u+v;
-	w = v-(z-u);
-	t  = z*z;
-	t1  = z - t*(P1+t*(P2+t*(P3+t*(P4+t*P5))));
-	r  = (z*t1)/(t1-two)-(w+z*w);
-	z  = one-(r-z);
-	GET_FLOAT_WORD(j,z);
-	j += (n<<23);
-	if((j>>23)<=0) z = scalbnf(z,n);	/* subnormal output */
-	else SET_FLOAT_WORD(z,j);
-	return sn*z;
-}
diff --git a/libm/upstream-freebsd/lib/msun/src/e_rem_pio2.c b/libm/upstream-freebsd/lib/msun/src/e_rem_pio2.c
index 47b6513..16a57a0 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_rem_pio2.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_rem_pio2.c
@@ -1,5 +1,4 @@
 
-/* @(#)e_rem_pio2.c 1.4 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -13,9 +12,6 @@
  * Optimized by Bruce D. Evans.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* __ieee754_rem_pio2(x,y)
  * 
  * return the remainder of x rem pi/2 in y[0]+y[1] 
@@ -49,7 +45,7 @@
 pio2_3t =  8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */
 
 #ifdef INLINE_REM_PIO2
-static __inline __always_inline
+static __always_inline
 #endif
 int
 __ieee754_rem_pio2(double x, double *y)
@@ -166,7 +162,7 @@
     /* set z = scalbn(|x|,ilogb(x)-23) */
 	GET_LOW_WORD(low,x);
 	e0 	= (ix>>20)-1046;	/* e0 = ilogb(z)-23; */
-	INSERT_WORDS(z, ix - ((int32_t)(e0<<20)), low);
+	INSERT_WORDS(z, ix - ((int32_t)((u_int32_t)e0<<20)), low);
 	for(i=0;i<2;i++) {
 		tx[i] = (double)((int32_t)(z));
 		z     = (z-tx[i])*two24;
diff --git a/libm/upstream-freebsd/lib/msun/src/e_rem_pio2f.c b/libm/upstream-freebsd/lib/msun/src/e_rem_pio2f.c
index 597f613..84cd9bf 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_rem_pio2f.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_rem_pio2f.c
@@ -14,9 +14,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* __ieee754_rem_pio2f(x,y)
  *
  * return the remainder of x rem pi/2 in *y
@@ -41,7 +38,7 @@
 pio2_1t =  1.58932547735281966916e-08; /* 0x3E5110b4, 0x611A6263 */
 
 #ifdef INLINE_REM_PIO2F
-static __inline __always_inline
+static __always_inline
 #endif
 int
 __ieee754_rem_pio2f(float x, double *y)
@@ -70,7 +67,7 @@
 	}
     /* set z = scalbn(|x|,ilogb(|x|)-23) */
 	e0 = (ix>>23)-150;		/* e0 = ilogb(|x|)-23; */
-	SET_FLOAT_WORD(z, ix - ((int32_t)(e0<<23)));
+	SET_FLOAT_WORD(z, ix - ((int32_t)((u_int32_t)e0<<23)));
 	tx[0] = z;
 	n  =  __kernel_rem_pio2(tx,ty,e0,1,0);
 	if(hx<0) {*y = -ty[0]; return -n;}
diff --git a/libm/upstream-freebsd/lib/msun/src/e_remainder.c b/libm/upstream-freebsd/lib/msun/src/e_remainder.c
index a4ae0b7..a5fb714 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_remainder.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_remainder.c
@@ -1,5 +1,4 @@
 
-/* @(#)e_remainder.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -11,10 +10,7 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_remainder(x,p)
+/* remainder(x,p)
  * Return :                  
  * 	returns  x REM p  =  x - [x/p]*p as if in infinite 
  * 	precise arithmetic, where [x/p] is the (infinite bit) 
@@ -32,7 +28,7 @@
 
 
 double
-__ieee754_remainder(double x, double p)
+remainder(double x, double p)
 {
 	int32_t hx,hp;
 	u_int32_t sx,lx,lp;
@@ -52,7 +48,7 @@
 	    return nan_mix_op(x, p, *)/nan_mix_op(x, p, *);
 
 
-	if (hp<=0x7fdfffff) x = __ieee754_fmod(x,p+p);	/* now x < 2p */
+	if (hp<=0x7fdfffff) x = fmod(x,p+p);	/* now x < 2p */
 	if (((hx-hp)|(lx-lp))==0) return zero*x;
 	x  = fabs(x);
 	p  = fabs(p);
diff --git a/libm/upstream-freebsd/lib/msun/src/e_remainderf.c b/libm/upstream-freebsd/lib/msun/src/e_remainderf.c
index 8004493..4a6ff63 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_remainderf.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_remainderf.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
@@ -23,7 +20,7 @@
 
 
 float
-__ieee754_remainderf(float x, float p)
+remainderf(float x, float p)
 {
 	int32_t hx,hp;
 	u_int32_t sx;
@@ -42,7 +39,7 @@
 	    return nan_mix_op(x, p, *)/nan_mix_op(x, p, *);
 
 
-	if (hp<=0x7effffff) x = __ieee754_fmodf(x,p+p);	/* now x < 2p */
+	if (hp<=0x7effffff) x = fmodf(x,p+p);	/* now x < 2p */
 	if ((hx-hp)==0) return zero*x;
 	x  = fabsf(x);
 	p  = fabsf(p);
diff --git a/libm/upstream-freebsd/lib/msun/src/e_remainderl.c b/libm/upstream-freebsd/lib/msun/src/e_remainderl.c
index 4a67863..7a681cd 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_remainderl.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_remainderl.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2008 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <math.h>
 
 long double
diff --git a/libm/upstream-freebsd/lib/msun/src/e_scalb.c b/libm/upstream-freebsd/lib/msun/src/e_scalb.c
index c0a7b5b..28d2ae6 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_scalb.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_scalb.c
@@ -1,5 +1,4 @@
 
-/* @(#)e_scalb.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -11,11 +10,8 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
- * __ieee754_scalb(x, fn) is provide for
+ * scalb(x, fn) is provide for
  * passing various standard test suite. One 
  * should use scalbn() instead.
  */
@@ -25,10 +21,10 @@
 
 #ifdef _SCALB_INT
 double
-__ieee754_scalb(double x, int fn)
+scalb(double x, int fn)
 #else
 double
-__ieee754_scalb(double x, double fn)
+scalb(double x, double fn)
 #endif
 {
 #ifdef _SCALB_INT
diff --git a/libm/upstream-freebsd/lib/msun/src/e_scalbf.c b/libm/upstream-freebsd/lib/msun/src/e_scalbf.c
index d49e904..557a5a0 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_scalbf.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_scalbf.c
@@ -13,18 +13,15 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
 #ifdef _SCALB_INT
 float
-__ieee754_scalbf(float x, int fn)
+scalbf(float x, int fn)
 #else
 float
-__ieee754_scalbf(float x, float fn)
+scalbf(float x, float fn)
 #endif
 {
 #ifdef _SCALB_INT
diff --git a/libm/upstream-freebsd/lib/msun/src/e_sinh.c b/libm/upstream-freebsd/lib/msun/src/e_sinh.c
index 6c01f4a..5eec75e 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_sinh.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_sinh.c
@@ -1,5 +1,4 @@
 
-/* @(#)e_sinh.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -11,10 +10,7 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/* __ieee754_sinh(x)
+/* sinh(x)
  * Method : 
  * mathematically sinh(x) if defined to be (exp(x)-exp(-x))/2
  *	1. Replace x by |x| (sinh(-x) = -sinh(x)). 
@@ -40,7 +36,7 @@
 static const double one = 1.0, shuge = 1.0e307;
 
 double
-__ieee754_sinh(double x)
+sinh(double x)
 {
 	double t,h;
 	int32_t ix,jx;
@@ -64,7 +60,7 @@
 	}
 
     /* |x| in [22, log(maxdouble)] return 0.5*exp(|x|) */
-	if (ix < 0x40862E42)  return h*__ieee754_exp(fabs(x));
+	if (ix < 0x40862E42)  return h*exp(fabs(x));
 
     /* |x| in [log(maxdouble), overflowthresold] */
 	if (ix<=0x408633CE)
diff --git a/libm/upstream-freebsd/lib/msun/src/e_sinhf.c b/libm/upstream-freebsd/lib/msun/src/e_sinhf.c
index 1be2dc3..e9fe732 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_sinhf.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_sinhf.c
@@ -13,16 +13,13 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
 static const float one = 1.0, shuge = 1.0e37;
 
 float
-__ieee754_sinhf(float x)
+sinhf(float x)
 {
 	float t,h;
 	int32_t ix,jx;
@@ -45,7 +42,7 @@
 	}
 
     /* |x| in [9, logf(maxfloat)] return 0.5*exp(|x|) */
-	if (ix < 0x42b17217)  return h*__ieee754_expf(fabsf(x));
+	if (ix < 0x42b17217)  return h*expf(fabsf(x));
 
     /* |x| in [logf(maxfloat), overflowthresold] */
 	if (ix<=0x42b2d4fc)
diff --git a/libm/upstream-freebsd/lib/msun/src/e_sinhl.c b/libm/upstream-freebsd/lib/msun/src/e_sinhl.c
index 38d3df1..cf481b2 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_sinhl.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_sinhl.c
@@ -11,9 +11,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * See e_sinh.c for complete comments.
  *
diff --git a/libm/upstream-freebsd/lib/msun/src/e_sqrtl.c b/libm/upstream-freebsd/lib/msun/src/e_sqrtl.c
index 565d963..a785536 100644
--- a/libm/upstream-freebsd/lib/msun/src/e_sqrtl.c
+++ b/libm/upstream-freebsd/lib/msun/src/e_sqrtl.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2007 Steven G. Kargl
  * All rights reserved.
@@ -26,9 +26,6 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <fenv.h>
 #include <float.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/k_cos.c b/libm/upstream-freebsd/lib/msun/src/k_cos.c
index c4702e6..2eb5e04 100644
--- a/libm/upstream-freebsd/lib/msun/src/k_cos.c
+++ b/libm/upstream-freebsd/lib/msun/src/k_cos.c
@@ -1,5 +1,4 @@
 
-/* @(#)k_cos.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -11,9 +10,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * __kernel_cos( x,  y )
  * kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164
diff --git a/libm/upstream-freebsd/lib/msun/src/k_cosf.c b/libm/upstream-freebsd/lib/msun/src/k_cosf.c
index f7a2c0a..934c1c7 100644
--- a/libm/upstream-freebsd/lib/msun/src/k_cosf.c
+++ b/libm/upstream-freebsd/lib/msun/src/k_cosf.c
@@ -14,11 +14,6 @@
  * ====================================================
  */
 
-#ifndef INLINE_KERNEL_COSDF
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-#endif
-
 #include "math.h"
 #include "math_private.h"
 
diff --git a/libm/upstream-freebsd/lib/msun/src/k_exp.c b/libm/upstream-freebsd/lib/msun/src/k_exp.c
index dd15ff4..383616d 100644
--- a/libm/upstream-freebsd/lib/msun/src/k_exp.c
+++ b/libm/upstream-freebsd/lib/msun/src/k_exp.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2011 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 
 #include "math.h"
diff --git a/libm/upstream-freebsd/lib/msun/src/k_expf.c b/libm/upstream-freebsd/lib/msun/src/k_expf.c
index 80e629b..2af0c6d 100644
--- a/libm/upstream-freebsd/lib/msun/src/k_expf.c
+++ b/libm/upstream-freebsd/lib/msun/src/k_expf.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2011 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 
 #include "math.h"
diff --git a/libm/upstream-freebsd/lib/msun/src/k_log.h b/libm/upstream-freebsd/lib/msun/src/k_log.h
index aaff8bd..da8f008 100644
--- a/libm/upstream-freebsd/lib/msun/src/k_log.h
+++ b/libm/upstream-freebsd/lib/msun/src/k_log.h
@@ -1,5 +1,4 @@
 
-/* @(#)e_log.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -11,9 +10,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * k_log1p(f):
  * Return log(1+f) - f for 1+f in ~[sqrt(2)/2, sqrt(2)].
diff --git a/libm/upstream-freebsd/lib/msun/src/k_logf.h b/libm/upstream-freebsd/lib/msun/src/k_logf.h
index 71c547e..72b6751 100644
--- a/libm/upstream-freebsd/lib/msun/src/k_logf.h
+++ b/libm/upstream-freebsd/lib/msun/src/k_logf.h
@@ -9,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * Float version of k_log.h.  See the latter for most comments.
  */
diff --git a/libm/upstream-freebsd/lib/msun/src/k_rem_pio2.c b/libm/upstream-freebsd/lib/msun/src/k_rem_pio2.c
index 0a717f7..3d49d14 100644
--- a/libm/upstream-freebsd/lib/msun/src/k_rem_pio2.c
+++ b/libm/upstream-freebsd/lib/msun/src/k_rem_pio2.c
@@ -1,5 +1,4 @@
 
-/* @(#)k_rem_pio2.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -11,9 +10,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * __kernel_rem_pio2(x,y,e0,nx,prec)
  * double x[],y[]; int e0,nx,prec;
diff --git a/libm/upstream-freebsd/lib/msun/src/k_sin.c b/libm/upstream-freebsd/lib/msun/src/k_sin.c
index 12ee8c1..5b97d86 100644
--- a/libm/upstream-freebsd/lib/msun/src/k_sin.c
+++ b/libm/upstream-freebsd/lib/msun/src/k_sin.c
@@ -1,5 +1,4 @@
 
-/* @(#)k_sin.c 1.3 95/01/18 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -11,9 +10,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* __kernel_sin( x, y, iy)
  * kernel sin function on ~[-pi/4, pi/4] (except on -0), pi/4 ~ 0.7854
  * Input x is assumed to be bounded by ~pi/4 in magnitude.
diff --git a/libm/upstream-freebsd/lib/msun/src/k_sincos.h b/libm/upstream-freebsd/lib/msun/src/k_sincos.h
index 6f03be2..796e72a 100644
--- a/libm/upstream-freebsd/lib/msun/src/k_sincos.h
+++ b/libm/upstream-freebsd/lib/msun/src/k_sincos.h
@@ -11,9 +11,6 @@
  * k_sin.c and k_cos.c merged by Steven G. Kargl.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 static const double
 S1  = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */
 S2  =  8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */
diff --git a/libm/upstream-freebsd/lib/msun/src/k_sincosf.h b/libm/upstream-freebsd/lib/msun/src/k_sincosf.h
index 073986d..f031016 100644
--- a/libm/upstream-freebsd/lib/msun/src/k_sincosf.h
+++ b/libm/upstream-freebsd/lib/msun/src/k_sincosf.h
@@ -11,9 +11,6 @@
  * k_sinf.c and k_cosf.c merged by Steven G. Kargl.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* |sin(x)/x - s(x)| < 2**-37.5 (~[-4.89e-12, 4.824e-12]). */
 static const double
 S1 = -0x15555554cbac77.0p-55,	/* -0.166666666416265235595 */
diff --git a/libm/upstream-freebsd/lib/msun/src/k_sincosl.h b/libm/upstream-freebsd/lib/msun/src/k_sincosl.h
index 6425f14..cf8536c 100644
--- a/libm/upstream-freebsd/lib/msun/src/k_sincosl.h
+++ b/libm/upstream-freebsd/lib/msun/src/k_sincosl.h
@@ -12,9 +12,6 @@
  * k_sinl.c and k_cosl.c merged by Steven G. Kargl
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #if LDBL_MANT_DIG == 64		/* ld80 version of k_sincosl.c. */
 
 #if defined(__amd64__) || defined(__i386__)
diff --git a/libm/upstream-freebsd/lib/msun/src/k_sinf.c b/libm/upstream-freebsd/lib/msun/src/k_sinf.c
index 0841759..ebebd96 100644
--- a/libm/upstream-freebsd/lib/msun/src/k_sinf.c
+++ b/libm/upstream-freebsd/lib/msun/src/k_sinf.c
@@ -14,11 +14,6 @@
  * ====================================================
  */
 
-#ifndef INLINE_KERNEL_SINDF
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-#endif
-
 #include "math.h"
 #include "math_private.h"
 
diff --git a/libm/upstream-freebsd/lib/msun/src/k_tan.c b/libm/upstream-freebsd/lib/msun/src/k_tan.c
index 2e86c3b..92f30a6 100644
--- a/libm/upstream-freebsd/lib/msun/src/k_tan.c
+++ b/libm/upstream-freebsd/lib/msun/src/k_tan.c
@@ -1,5 +1,3 @@
-/* @(#)k_tan.c 1.5 04/04/22 SMI */
-
 /*
  * ====================================================
  * Copyright 2004 Sun Microsystems, Inc.  All Rights Reserved.
@@ -10,10 +8,6 @@
  * ====================================================
  */
 
-/* INDENT OFF */
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* __kernel_tan( x, y, k )
  * kernel tan function on ~[-pi/4, pi/4] (except on -0), pi/4 ~ 0.7854
  * Input x is assumed to be bounded by ~pi/4 in magnitude.
diff --git a/libm/upstream-freebsd/lib/msun/src/k_tanf.c b/libm/upstream-freebsd/lib/msun/src/k_tanf.c
index 52f1aaa..83bfad9 100644
--- a/libm/upstream-freebsd/lib/msun/src/k_tanf.c
+++ b/libm/upstream-freebsd/lib/msun/src/k_tanf.c
@@ -13,11 +13,6 @@
  * ====================================================
  */
 
-#ifndef INLINE_KERNEL_TANDF
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-#endif
-
 #include "math.h"
 #include "math_private.h"
 
@@ -50,7 +45,7 @@
 	 * We add the small terms from lowest degree up for efficiency on
 	 * non-sequential machines (the lowest degree terms tend to be ready
 	 * earlier).  Apart from this, we don't care about order of
-	 * operations, and don't need to to care since we have precision to
+	 * operations, and don't need to care since we have precision to
 	 * spare.  However, the chosen splitting is good for accuracy too,
 	 * and would give results as accurate as Horner's method if the
 	 * small terms were added from highest degree down.
diff --git a/libm/upstream-freebsd/lib/msun/src/math_private.h b/libm/upstream-freebsd/lib/msun/src/math_private.h
index df526e7..1595f90 100644
--- a/libm/upstream-freebsd/lib/msun/src/math_private.h
+++ b/libm/upstream-freebsd/lib/msun/src/math_private.h
@@ -10,8 +10,6 @@
  */
 
 /*
- * from: @(#)fdlibm.h 5.1 93/09/24
- * $FreeBSD$
  */
 
 #ifndef _MATH_PRIVATE_H_
@@ -407,7 +405,7 @@
  * any extra precision into the type of 'a' -- 'a' should have type float_t,
  * double_t or long double.  b's type should be no larger than 'a's type.
  * Callers should use these types with scopes as large as possible, to
- * reduce their own extra-precision and efficiciency problems.  In
+ * reduce their own extra-precision and efficiency problems.  In
  * particular, they shouldn't convert back and forth just to call here.
  */
 #ifdef DEBUG
@@ -624,7 +622,7 @@
  * The complications for extra precision are smaller for rnintl() since it
  * can safely assume that the rounding precision has been increased from
  * its default to FP_PE on x86.  We don't exploit that here to get small
- * optimizations from limiting the rangle to double.  We just need it for
+ * optimizations from limiting the range to double.  We just need it for
  * the magic number to work with long doubles.  ld128 callers should use
  * rnint() instead of this if possible.  ld80 callers should prefer
  * rnintl() since for amd64 this avoids swapping the register set, while
@@ -688,6 +686,59 @@
 }
 #endif
 
+/*
+ * The following are fast floor macros for 0 <= |x| < 0x1p(N-1), where
+ * N is the precision of the type of x. These macros are used in the
+ * half-cycle trignometric functions (e.g., sinpi(x)).
+ */
+#define	FFLOORF(x, j0, ix) do {			\
+	(j0) = (((ix) >> 23) & 0xff) - 0x7f;	\
+	(ix) &= ~(0x007fffff >> (j0));		\
+	SET_FLOAT_WORD((x), (ix));		\
+} while (0)
+
+#define	FFLOOR(x, j0, ix, lx) do {				\
+	(j0) = (((ix) >> 20) & 0x7ff) - 0x3ff;			\
+	if ((j0) < 20) {					\
+		(ix) &= ~(0x000fffff >> (j0));			\
+		(lx) = 0;					\
+	} else {						\
+		(lx) &= ~((uint32_t)0xffffffff >> ((j0) - 20));	\
+	}							\
+	INSERT_WORDS((x), (ix), (lx));				\
+} while (0)
+
+#define	FFLOORL80(x, j0, ix, lx) do {			\
+	j0 = ix - 0x3fff + 1;				\
+	if ((j0) < 32) {				\
+		(lx) = ((lx) >> 32) << 32;		\
+		(lx) &= ~((((lx) << 32)-1) >> (j0));	\
+	} else {					\
+		uint64_t _m;				\
+		_m = (uint64_t)-1 >> (j0);		\
+		if ((lx) & _m) (lx) &= ~_m;		\
+	}						\
+	INSERT_LDBL80_WORDS((x), (ix), (lx));		\
+} while (0)
+
+#define FFLOORL128(x, ai, ar) do {			\
+	union IEEEl2bits u;				\
+	uint64_t m;					\
+	int e;						\
+	u.e = (x);					\
+	e = u.bits.exp - 16383;				\
+	if (e < 48) {					\
+		m = ((1llu << 49) - 1) >> (e + 1);	\
+		u.bits.manh &= ~m;			\
+		u.bits.manl = 0;			\
+	} else {					\
+		m = (uint64_t)-1 >> (e - 48);		\
+		u.bits.manl &= ~m;			\
+	}						\
+	(ai) = u.e;					\
+	(ar) = (x) - (ai);				\
+} while (0)
+
 #ifdef DEBUG
 #if defined(__amd64__) || defined(__i386__)
 #define	breakpoint()	asm("int $3")
@@ -698,191 +749,25 @@
 #endif
 #endif
 
-/* Write a pari script to test things externally. */
-#ifdef DOPRINT
-#include <stdio.h>
-
-#ifndef DOPRINT_SWIZZLE
-#define	DOPRINT_SWIZZLE		0
-#endif
-
-#ifdef DOPRINT_LD80
-
-#define	DOPRINT_START(xp) do {						\
-	uint64_t __lx;							\
-	uint16_t __hx;							\
-									\
-	/* Hack to give more-problematic args. */			\
-	EXTRACT_LDBL80_WORDS(__hx, __lx, *xp);				\
-	__lx ^= DOPRINT_SWIZZLE;					\
-	INSERT_LDBL80_WORDS(*xp, __hx, __lx);				\
-	printf("x = %.21Lg; ", (long double)*xp);			\
-} while (0)
-#define	DOPRINT_END1(v)							\
-	printf("y = %.21Lg; z = 0; show(x, y, z);\n", (long double)(v))
-#define	DOPRINT_END2(hi, lo)						\
-	printf("y = %.21Lg; z = %.21Lg; show(x, y, z);\n",		\
-	    (long double)(hi), (long double)(lo))
-
-#elif defined(DOPRINT_D64)
-
-#define	DOPRINT_START(xp) do {						\
-	uint32_t __hx, __lx;						\
-									\
-	EXTRACT_WORDS(__hx, __lx, *xp);					\
-	__lx ^= DOPRINT_SWIZZLE;					\
-	INSERT_WORDS(*xp, __hx, __lx);					\
-	printf("x = %.21Lg; ", (long double)*xp);			\
-} while (0)
-#define	DOPRINT_END1(v)							\
-	printf("y = %.21Lg; z = 0; show(x, y, z);\n", (long double)(v))
-#define	DOPRINT_END2(hi, lo)						\
-	printf("y = %.21Lg; z = %.21Lg; show(x, y, z);\n",		\
-	    (long double)(hi), (long double)(lo))
-
-#elif defined(DOPRINT_F32)
-
-#define	DOPRINT_START(xp) do {						\
-	uint32_t __hx;							\
-									\
-	GET_FLOAT_WORD(__hx, *xp);					\
-	__hx ^= DOPRINT_SWIZZLE;					\
-	SET_FLOAT_WORD(*xp, __hx);					\
-	printf("x = %.21Lg; ", (long double)*xp);			\
-} while (0)
-#define	DOPRINT_END1(v)							\
-	printf("y = %.21Lg; z = 0; show(x, y, z);\n", (long double)(v))
-#define	DOPRINT_END2(hi, lo)						\
-	printf("y = %.21Lg; z = %.21Lg; show(x, y, z);\n",		\
-	    (long double)(hi), (long double)(lo))
-
-#else /* !DOPRINT_LD80 && !DOPRINT_D64 (LD128 only) */
-
-#ifndef DOPRINT_SWIZZLE_HIGH
-#define	DOPRINT_SWIZZLE_HIGH	0
-#endif
-
-#define	DOPRINT_START(xp) do {						\
-	uint64_t __lx, __llx;						\
-	uint16_t __hx;							\
-									\
-	EXTRACT_LDBL128_WORDS(__hx, __lx, __llx, *xp);			\
-	__llx ^= DOPRINT_SWIZZLE;					\
-	__lx ^= DOPRINT_SWIZZLE_HIGH;					\
-	INSERT_LDBL128_WORDS(*xp, __hx, __lx, __llx);			\
-	printf("x = %.36Lg; ", (long double)*xp);					\
-} while (0)
-#define	DOPRINT_END1(v)							\
-	printf("y = %.36Lg; z = 0; show(x, y, z);\n", (long double)(v))
-#define	DOPRINT_END2(hi, lo)						\
-	printf("y = %.36Lg; z = %.36Lg; show(x, y, z);\n",		\
-	    (long double)(hi), (long double)(lo))
-
-#endif /* DOPRINT_LD80 */
-
-#else /* !DOPRINT */
-#define	DOPRINT_START(xp)
-#define	DOPRINT_END1(v)
-#define	DOPRINT_END2(hi, lo)
-#endif /* DOPRINT */
-
-#define	RETURNP(x) do {			\
-	DOPRINT_END1(x);		\
-	RETURNF(x);			\
-} while (0)
-#define	RETURNPI(x) do {		\
-	DOPRINT_END1(x);		\
-	RETURNI(x);			\
-} while (0)
-#define	RETURN2P(x, y) do {		\
-	DOPRINT_END2((x), (y));		\
-	RETURNF((x) + (y));		\
-} while (0)
-#define	RETURN2PI(x, y) do {		\
-	DOPRINT_END2((x), (y));		\
-	RETURNI((x) + (y));		\
-} while (0)
 #ifdef STRUCT_RETURN
 #define	RETURNSP(rp) do {		\
 	if (!(rp)->lo_set)		\
-		RETURNP((rp)->hi);	\
-	RETURN2P((rp)->hi, (rp)->lo);	\
+		RETURNF((rp)->hi);	\
+	RETURNF((rp)->hi + (rp)->lo);	\
 } while (0)
 #define	RETURNSPI(rp) do {		\
 	if (!(rp)->lo_set)		\
-		RETURNPI((rp)->hi);	\
-	RETURN2PI((rp)->hi, (rp)->lo);	\
+		RETURNI((rp)->hi);	\
+	RETURNI((rp)->hi + (rp)->lo);	\
 } while (0)
 #endif
+
 #define	SUM2P(x, y) ({			\
 	const __typeof (x) __x = (x);	\
 	const __typeof (y) __y = (y);	\
-					\
-	DOPRINT_END2(__x, __y);		\
 	__x + __y;			\
 })
 
-/*
- * ieee style elementary functions
- *
- * We rename functions here to improve other sources' diffability
- * against fdlibm.
- */
-#define	__ieee754_sqrt	sqrt
-#define	__ieee754_acos	acos
-#define	__ieee754_acosh	acosh
-#define	__ieee754_log	log
-#define	__ieee754_log2	log2
-#define	__ieee754_atanh	atanh
-#define	__ieee754_asin	asin
-#define	__ieee754_atan2	atan2
-#define	__ieee754_exp	exp
-#define	__ieee754_cosh	cosh
-#define	__ieee754_fmod	fmod
-#define	__ieee754_pow	pow
-#define	__ieee754_lgamma lgamma
-#define	__ieee754_gamma	gamma
-#define	__ieee754_lgamma_r lgamma_r
-#define	__ieee754_gamma_r gamma_r
-#define	__ieee754_log10	log10
-#define	__ieee754_sinh	sinh
-#define	__ieee754_hypot	hypot
-#define	__ieee754_j0	j0
-#define	__ieee754_j1	j1
-#define	__ieee754_y0	y0
-#define	__ieee754_y1	y1
-#define	__ieee754_jn	jn
-#define	__ieee754_yn	yn
-#define	__ieee754_remainder remainder
-#define	__ieee754_scalb	scalb
-#define	__ieee754_sqrtf	sqrtf
-#define	__ieee754_acosf	acosf
-#define	__ieee754_acoshf acoshf
-#define	__ieee754_logf	logf
-#define	__ieee754_atanhf atanhf
-#define	__ieee754_asinf	asinf
-#define	__ieee754_atan2f atan2f
-#define	__ieee754_expf	expf
-#define	__ieee754_coshf	coshf
-#define	__ieee754_fmodf	fmodf
-#define	__ieee754_powf	powf
-#define	__ieee754_lgammaf lgammaf
-#define	__ieee754_gammaf gammaf
-#define	__ieee754_lgammaf_r lgammaf_r
-#define	__ieee754_gammaf_r gammaf_r
-#define	__ieee754_log10f log10f
-#define	__ieee754_log2f log2f
-#define	__ieee754_sinhf	sinhf
-#define	__ieee754_hypotf hypotf
-#define	__ieee754_j0f	j0f
-#define	__ieee754_j1f	j1f
-#define	__ieee754_y0f	y0f
-#define	__ieee754_y1f	y1f
-#define	__ieee754_jnf	jnf
-#define	__ieee754_ynf	ynf
-#define	__ieee754_remainderf remainderf
-#define	__ieee754_scalbf scalbf
-
 /* fdlibm kernel function */
 int	__kernel_rem_pio2(double*,double*,int,int,int);
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_asinh.c b/libm/upstream-freebsd/lib/msun/src/s_asinh.c
index cbb3d46..daebf21 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_asinh.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_asinh.c
@@ -1,4 +1,3 @@
-/* @(#)s_asinh.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* asinh(x)
  * Method :
  *	Based on
@@ -46,13 +42,13 @@
 	    if(huge+x>one) return x;	/* return x inexact except 0 */
 	}
 	if(ix>0x41b00000) {	/* |x| > 2**28 */
-	    w = __ieee754_log(fabs(x))+ln2;
+	    w = log(fabs(x))+ln2;
 	} else if (ix>0x40000000) {	/* 2**28 > |x| > 2.0 */
 	    t = fabs(x);
-	    w = __ieee754_log(2.0*t+one/(__ieee754_sqrt(x*x+one)+t));
+	    w = log(2.0*t+one/(sqrt(x*x+one)+t));
 	} else {		/* 2.0 > |x| > 2**-28 */
 	    t = x*x;
-	    w =log1p(fabs(x)+t/(one+__ieee754_sqrt(one+t)));
+	    w =log1p(fabs(x)+t/(one+sqrt(one+t)));
 	}
 	if(hx>0) return w; else return -w;
 }
diff --git a/libm/upstream-freebsd/lib/msun/src/s_asinhf.c b/libm/upstream-freebsd/lib/msun/src/s_asinhf.c
index c1620dd..4e622d5 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_asinhf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_asinhf.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
@@ -36,13 +33,13 @@
 	    if(huge+x>one) return x;	/* return x inexact except 0 */
 	}
 	if(ix>0x4d800000) {	/* |x| > 2**28 */
-	    w = __ieee754_logf(fabsf(x))+ln2;
+	    w = logf(fabsf(x))+ln2;
 	} else if (ix>0x40000000) {	/* 2**28 > |x| > 2.0 */
 	    t = fabsf(x);
-	    w = __ieee754_logf((float)2.0*t+one/(__ieee754_sqrtf(x*x+one)+t));
+	    w = logf((float)2.0*t+one/(sqrtf(x*x+one)+t));
 	} else {		/* 2.0 > |x| > 2**-28 */
 	    t = x*x;
-	    w =log1pf(fabsf(x)+t/(one+__ieee754_sqrtf(one+t)));
+	    w =log1pf(fabsf(x)+t/(one+sqrtf(one+t)));
 	}
 	if(hx>0) return w; else return -w;
 }
diff --git a/libm/upstream-freebsd/lib/msun/src/s_asinhl.c b/libm/upstream-freebsd/lib/msun/src/s_asinhl.c
index ba28f59..b939fae 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_asinhl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_asinhl.c
@@ -1,6 +1,5 @@
 /* from: FreeBSD: head/lib/msun/src/e_acosh.c 176451 2008-02-22 02:30:36Z das */
 
-/* @(#)s_asinh.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -12,9 +11,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * See s_asinh.c for complete comments.
  *
diff --git a/libm/upstream-freebsd/lib/msun/src/s_atan.c b/libm/upstream-freebsd/lib/msun/src/s_atan.c
index 566f5dc..bff8b5c 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_atan.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_atan.c
@@ -1,4 +1,3 @@
-/* @(#)s_atan.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* atan(x)
  * Method
  *   1. Reduce x to positive by atan(x) = -atan(-x).
diff --git a/libm/upstream-freebsd/lib/msun/src/s_atanf.c b/libm/upstream-freebsd/lib/msun/src/s_atanf.c
index b3a371f..2c38014 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_atanf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_atanf.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_atanl.c b/libm/upstream-freebsd/lib/msun/src/s_atanl.c
index ff29c3c..d9e6174 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_atanl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_atanl.c
@@ -1,4 +1,3 @@
-/* @(#)s_atan.c 5.1 93/09/24 */
 /* FreeBSD: head/lib/msun/src/s_atan.c 176451 2008-02-22 02:30:36Z das */
 /*
  * ====================================================
@@ -11,9 +10,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * See comments in s_atan.c.
  * Converted to long double by David Schultz <das@FreeBSD.ORG>.
diff --git a/libm/upstream-freebsd/lib/msun/src/s_carg.c b/libm/upstream-freebsd/lib/msun/src/s_carg.c
index 1611b9d..ea7edfd 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_carg.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_carg.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <math.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cargf.c b/libm/upstream-freebsd/lib/msun/src/s_cargf.c
index 71c705d..25ab65e 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_cargf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_cargf.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <math.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cargl.c b/libm/upstream-freebsd/lib/msun/src/s_cargl.c
index 96c3336..8a1a108 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_cargl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_cargl.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2005-2008 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <math.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cbrt.c b/libm/upstream-freebsd/lib/msun/src/s_cbrt.c
index 0e609e1..6bf8424 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_cbrt.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_cbrt.c
@@ -1,4 +1,3 @@
-/* @(#)s_cbrt.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -12,9 +11,6 @@
  * Optimized by Bruce D. Evans.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 #include "math.h"
 #include "math_private.h"
@@ -108,7 +104,7 @@
 	r=x/s;				/* error <= 0.5 ulps; |r| < |t| */
 	w=t+t;				/* t+t is exact */
 	r=(r-t)/(w+r);			/* r-t is exact; w+r ~= 3*t */
-	t=t+t*r;			/* error <= 0.5 + 0.5/3 + epsilon */
+	t=t+t*r;			/* error <= (0.5 + 0.5/3) * ulp */
 
 	return(t);
 }
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cbrtf.c b/libm/upstream-freebsd/lib/msun/src/s_cbrtf.c
index 454f974..a225d3e 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_cbrtf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_cbrtf.c
@@ -14,9 +14,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cbrtl.c b/libm/upstream-freebsd/lib/msun/src/s_cbrtl.c
index 2236c0f..f1950e2 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_cbrtl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_cbrtl.c
@@ -14,9 +14,6 @@
  * and David A. Schultz.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 #ifdef __i386__
 #include <ieeefp.h>
@@ -136,7 +133,7 @@
 	r=x/s;				/* error <= 0.5 ulps; |r| < |t| */
 	w=t+t;				/* t+t is exact */
 	r=(r-t)/(w+r);			/* r-t is exact; w+r ~= 3*t */
-	t=t+t*r;			/* error <= 0.5 + 0.5/3 + epsilon */
+	t=t+t*r;			/* error <= (0.5 + 0.5/3) * ulp */
 
 	t *= v.e;
 	RETURNI(t);
diff --git a/libm/upstream-freebsd/lib/msun/src/s_ccosh.c b/libm/upstream-freebsd/lib/msun/src/s_ccosh.c
index 7652b3c..3d46c99 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_ccosh.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_ccosh.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2005 Bruce D. Evans and Steven G. Kargl
  * All rights reserved.
@@ -38,9 +38,6 @@
  * must satisfy both cosh(conj(z)) == conj(cosh(z)) and cosh(-z) == cosh(z).
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <math.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_ccoshf.c b/libm/upstream-freebsd/lib/msun/src/s_ccoshf.c
index 5d7a09b..aeb2dec 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_ccoshf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_ccoshf.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2005 Bruce D. Evans and Steven G. Kargl
  * All rights reserved.
@@ -30,9 +30,6 @@
  * Float version of ccosh().  See s_ccosh.c for details.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <math.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_ceil.c b/libm/upstream-freebsd/lib/msun/src/s_ceil.c
index 929f813..e6699bc 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_ceil.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_ceil.c
@@ -1,4 +1,3 @@
-/* @(#)s_ceil.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * ceil(x)
  * Return x rounded toward -inf to integral value
diff --git a/libm/upstream-freebsd/lib/msun/src/s_ceilf.c b/libm/upstream-freebsd/lib/msun/src/s_ceilf.c
index 23bfe04..cc19afa 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_ceilf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_ceilf.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_ceill.c b/libm/upstream-freebsd/lib/msun/src/s_ceill.c
index 2d1045f..ded36c1 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_ceill.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_ceill.c
@@ -7,13 +7,8 @@
  * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
- *
- * From: @(#)s_ceil.c 5.1 93/09/24
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * ceill(x)
  * Return x rounded toward -inf to integral value
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cexp.c b/libm/upstream-freebsd/lib/msun/src/s_cexp.c
index a1f853e..0151768 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_cexp.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_cexp.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2011 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <float.h>
 #include <math.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cexpf.c b/libm/upstream-freebsd/lib/msun/src/s_cexpf.c
index d905b74..a6c0c99 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_cexpf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_cexpf.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2011 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <math.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cimag.c b/libm/upstream-freebsd/lib/msun/src/s_cimag.c
index 1f383cb..5779b2a 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_cimag.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_cimag.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2004 Stefan Farfeleder
  * All rights reserved.
@@ -24,8 +24,6 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- *
- * $FreeBSD$
  */
 
 #include <complex.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cimagf.c b/libm/upstream-freebsd/lib/msun/src/s_cimagf.c
index 86a43c1..ca2bdf2 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_cimagf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_cimagf.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2004 Stefan Farfeleder
  * All rights reserved.
@@ -24,8 +24,6 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- *
- * $FreeBSD$
  */
 
 #include <complex.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cimagl.c b/libm/upstream-freebsd/lib/msun/src/s_cimagl.c
index 6d87950..3986430 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_cimagl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_cimagl.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2004 Stefan Farfeleder
  * All rights reserved.
@@ -24,8 +24,6 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- *
- * $FreeBSD$
  */
 
 #include <complex.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_clog.c b/libm/upstream-freebsd/lib/msun/src/s_clog.c
index 8150fa7..2129890 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_clog.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_clog.c
@@ -24,9 +24,6 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <float.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_clogf.c b/libm/upstream-freebsd/lib/msun/src/s_clogf.c
index 19a9445..2204e1e 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_clogf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_clogf.c
@@ -24,9 +24,6 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <float.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_clogl.c b/libm/upstream-freebsd/lib/msun/src/s_clogl.c
index e59a137..075bdb4 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_clogl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_clogl.c
@@ -24,9 +24,6 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <float.h>
 #ifdef __i386__
diff --git a/libm/upstream-freebsd/lib/msun/src/s_conj.c b/libm/upstream-freebsd/lib/msun/src/s_conj.c
index dc56f48..1203ba6 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_conj.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_conj.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2004 Stefan Farfeleder
  * All rights reserved.
@@ -24,8 +24,6 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- *
- * $FreeBSD$
  */
 
 #include <complex.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_conjf.c b/libm/upstream-freebsd/lib/msun/src/s_conjf.c
index 3fd8b8f..9720998 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_conjf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_conjf.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2004 Stefan Farfeleder
  * All rights reserved.
@@ -24,8 +24,6 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- *
- * $FreeBSD$
  */
 
 #include <complex.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_conjl.c b/libm/upstream-freebsd/lib/msun/src/s_conjl.c
index d2f8d0f..ef084f4 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_conjl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_conjl.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2004 Stefan Farfeleder
  * All rights reserved.
@@ -24,8 +24,6 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- *
- * $FreeBSD$
  */
 
 #include <complex.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_copysign.c b/libm/upstream-freebsd/lib/msun/src/s_copysign.c
deleted file mode 100644
index a5f3870..0000000
--- a/libm/upstream-freebsd/lib/msun/src/s_copysign.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* @(#)s_copysign.c 5.1 93/09/24 */
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/*
- * copysign(double x, double y)
- * copysign(x,y) returns a value with the magnitude of x and
- * with the sign bit of y.
- */
-
-#include "math.h"
-#include "math_private.h"
-
-double
-copysign(double x, double y)
-{
-	u_int32_t hx,hy;
-	GET_HIGH_WORD(hx,x);
-	GET_HIGH_WORD(hy,y);
-	SET_HIGH_WORD(x,(hx&0x7fffffff)|(hy&0x80000000));
-        return x;
-}
diff --git a/libm/upstream-freebsd/lib/msun/src/s_copysignf.c b/libm/upstream-freebsd/lib/msun/src/s_copysignf.c
deleted file mode 100644
index 05ca1e3..0000000
--- a/libm/upstream-freebsd/lib/msun/src/s_copysignf.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* s_copysignf.c -- float version of s_copysign.c.
- * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
- */
-
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/*
- * copysignf(float x, float y)
- * copysignf(x,y) returns a value with the magnitude of x and
- * with the sign bit of y.
- */
-
-#include "math.h"
-#include "math_private.h"
-
-float
-copysignf(float x, float y)
-{
-	u_int32_t ix,iy;
-	GET_FLOAT_WORD(ix,x);
-	GET_FLOAT_WORD(iy,y);
-	SET_FLOAT_WORD(x,(ix&0x7fffffff)|(iy&0x80000000));
-        return x;
-}
diff --git a/libm/upstream-freebsd/lib/msun/src/s_copysignl.c b/libm/upstream-freebsd/lib/msun/src/s_copysignl.c
deleted file mode 100644
index bd67447..0000000
--- a/libm/upstream-freebsd/lib/msun/src/s_copysignl.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
- *
- * Copyright (c) 2004 Stefan Farfeleder
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD$
- */
-
-#include <math.h>
-
-#include "fpmath.h"
-
-long double
-copysignl(long double x, long double y)
-{
-	union IEEEl2bits ux, uy;
-
-	ux.e = x;
-	uy.e = y;
-	ux.bits.sign = uy.bits.sign;
-	return (ux.e);
-}
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cos.c b/libm/upstream-freebsd/lib/msun/src/s_cos.c
index 29804f4..44ecad9 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_cos.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_cos.c
@@ -1,4 +1,3 @@
-/* @(#)s_cos.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* cos(x)
  * Return cosine function of x.
  *
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cosf.c b/libm/upstream-freebsd/lib/msun/src/s_cosf.c
deleted file mode 100644
index b701fd2..0000000
--- a/libm/upstream-freebsd/lib/msun/src/s_cosf.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/* s_cosf.c -- float version of s_cos.c.
- * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
- * Optimized by Bruce D. Evans.
- */
-
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <float.h>
-
-#include "math.h"
-#define	INLINE_KERNEL_COSDF
-#define	INLINE_KERNEL_SINDF
-#define INLINE_REM_PIO2F
-#include "math_private.h"
-#include "e_rem_pio2f.c"
-#include "k_cosf.c"
-#include "k_sinf.c"
-
-/* Small multiples of pi/2 rounded to double precision. */
-static const double
-c1pio2 = 1*M_PI_2,			/* 0x3FF921FB, 0x54442D18 */
-c2pio2 = 2*M_PI_2,			/* 0x400921FB, 0x54442D18 */
-c3pio2 = 3*M_PI_2,			/* 0x4012D97C, 0x7F3321D2 */
-c4pio2 = 4*M_PI_2;			/* 0x401921FB, 0x54442D18 */
-
-float
-cosf(float x)
-{
-	double y;
-	int32_t n, hx, ix;
-
-	GET_FLOAT_WORD(hx,x);
-	ix = hx & 0x7fffffff;
-
-	if(ix <= 0x3f490fda) {		/* |x| ~<= pi/4 */
-	    if(ix<0x39800000)		/* |x| < 2**-12 */
-		if(((int)x)==0) return 1.0;	/* 1 with inexact if x != 0 */
-	    return __kernel_cosdf(x);
-	}
-	if(ix<=0x407b53d1) {		/* |x| ~<= 5*pi/4 */
-	    if(ix>0x4016cbe3)		/* |x|  ~> 3*pi/4 */
-		return -__kernel_cosdf(x + (hx > 0 ? -c2pio2 : c2pio2));
-	    else {
-		if(hx>0)
-		    return __kernel_sindf(c1pio2 - x);
-		else
-		    return __kernel_sindf(x + c1pio2);
-	    }
-	}
-	if(ix<=0x40e231d5) {		/* |x| ~<= 9*pi/4 */
-	    if(ix>0x40afeddf)		/* |x|  ~> 7*pi/4 */
-		return __kernel_cosdf(x + (hx > 0 ? -c4pio2 : c4pio2));
-	    else {
-		if(hx>0)
-		    return __kernel_sindf(x - c3pio2);
-		else
-		    return __kernel_sindf(-c3pio2 - x);
-	    }
-	}
-
-    /* cos(Inf or NaN) is NaN */
-	else if (ix>=0x7f800000) return x-x;
-
-    /* general argument reduction needed */
-	else {
-	    n = __ieee754_rem_pio2f(x,&y);
-	    switch(n&3) {
-		case 0: return  __kernel_cosdf(y);
-		case 1: return  __kernel_sindf(-y);
-		case 2: return -__kernel_cosdf(y);
-		default:
-		        return  __kernel_sindf(y);
-	    }
-	}
-}
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cosl.c b/libm/upstream-freebsd/lib/msun/src/s_cosl.c
index 3d06648..32fc8b2 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_cosl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_cosl.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2007 Steven G. Kargl
  * All rights reserved.
@@ -26,9 +26,6 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * Limited testing on pseudorandom numbers drawn within [-2e8:4e8] shows
  * an accuracy of <= 0.7412 ULP.
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cospi.c b/libm/upstream-freebsd/lib/msun/src/s_cospi.c
index 860219e..f97570d 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_cospi.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_cospi.c
@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2017 Steven G. Kargl
+ * Copyright (c) 2017, 2023 Steven G. Kargl
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -104,20 +104,10 @@
 	}
 
 	if (ix < 0x43300000) {		/* 1 <= |x| < 0x1p52 */
-		/* Determine integer part of ax. */
-		j0 = ((ix >> 20) & 0x7ff) - 0x3ff;
-		if (j0 < 20) {
-			ix &= ~(0x000fffff >> j0);
-			lx = 0;
-		} else {
-			lx &= ~((uint32_t)0xffffffff >> (j0 - 20));
-		}
-		INSERT_WORDS(x, ix, lx);
-
+		FFLOOR(x, j0, ix, lx);	/* Integer part of ax. */
 		ax -= x;
 		EXTRACT_WORDS(ix, lx, ax);
 
-
 		if (ix < 0x3fe00000) {		/* |x| < 0.5 */
 			if (ix < 0x3fd00000)	/* |x| < 0.25 */
 				c = ix == 0 ? 1 : __kernel_cospi(ax);
@@ -138,13 +128,16 @@
 		return (j0 & 1 ? -c : c);
 	}
 
-	if (ix >= 0x7f800000)
+	/* x = +-inf or nan. */
+	if (ix >= 0x7ff00000)
 		return (vzero / vzero);
 
 	/*
-	 * |x| >= 0x1p52 is always an even integer, so return 1.
+	 * For 0x1p52 <= |x| < 0x1p53 need to determine if x is an even
+	 * or odd integer to return +1 or -1.
+	 * For |x| >= 0x1p53, it is always an even integer, so return 1.
 	 */
-	return (1);
+	return (ix < 0x43400000 ? ((lx & 1) ? -1 : 1) : 1);
 }
 
 #if LDBL_MANT_DIG == 53
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cpow.c b/libm/upstream-freebsd/lib/msun/src/s_cpow.c
index cdc57bd..b887db5 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_cpow.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_cpow.c
@@ -43,9 +43,6 @@
  *
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <float.h>
 #include <math.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cpowf.c b/libm/upstream-freebsd/lib/msun/src/s_cpowf.c
index aeb773b..1442910 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_cpowf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_cpowf.c
@@ -43,9 +43,6 @@
  *
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <math.h>
 #include "math_private.h"
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cpowl.c b/libm/upstream-freebsd/lib/msun/src/s_cpowl.c
index 5d43b55..39797ca 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_cpowl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_cpowl.c
@@ -43,9 +43,6 @@
  *
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <math.h>
 #include "math_private.h"
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cproj.c b/libm/upstream-freebsd/lib/msun/src/s_cproj.c
index 38e7747..9eebb45 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_cproj.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_cproj.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2008 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <float.h>
 #include <math.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cprojf.c b/libm/upstream-freebsd/lib/msun/src/s_cprojf.c
index af4c3a8..13d90ba 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_cprojf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_cprojf.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2008 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <math.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_cprojl.c b/libm/upstream-freebsd/lib/msun/src/s_cprojl.c
index 16df514..083b5fa 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_cprojl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_cprojl.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2008 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <math.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_creal.c b/libm/upstream-freebsd/lib/msun/src/s_creal.c
index 69a10f2..b3a82f0 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_creal.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_creal.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2004 Stefan Farfeleder
  * All rights reserved.
@@ -24,8 +24,6 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- *
- * $FreeBSD$
  */
 
 #include <complex.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_crealf.c b/libm/upstream-freebsd/lib/msun/src/s_crealf.c
index 83e4d46..36fc115 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_crealf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_crealf.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2004 Stefan Farfeleder
  * All rights reserved.
@@ -24,8 +24,6 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- *
- * $FreeBSD$
  */
 
 #include <complex.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_creall.c b/libm/upstream-freebsd/lib/msun/src/s_creall.c
index 538b7d5..b56143a 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_creall.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_creall.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2004 Stefan Farfeleder
  * All rights reserved.
@@ -24,8 +24,6 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- *
- * $FreeBSD$
  */
 
 #include <complex.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_csinh.c b/libm/upstream-freebsd/lib/msun/src/s_csinh.c
index 09b2dcb..e7ed10e 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_csinh.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_csinh.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2005 Bruce D. Evans and Steven G. Kargl
  * All rights reserved.
@@ -38,9 +38,6 @@
  * must satisfy both sinh(conj(z)) == conj(sinh(z)) and sinh(-z) == -sinh(z).
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <math.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_csinhf.c b/libm/upstream-freebsd/lib/msun/src/s_csinhf.c
index ba1a794..c439275 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_csinhf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_csinhf.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2005 Bruce D. Evans and Steven G. Kargl
  * All rights reserved.
@@ -30,9 +30,6 @@
  * Float version of csinh().  See s_csinh.c for details.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <math.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_csqrt.c b/libm/upstream-freebsd/lib/msun/src/s_csqrt.c
index d172efc..c40b5a6 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_csqrt.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_csqrt.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2007 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <float.h>
 #include <math.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_csqrtf.c b/libm/upstream-freebsd/lib/msun/src/s_csqrtf.c
index 6836a39..b572451 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_csqrtf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_csqrtf.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2007 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <math.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_csqrtl.c b/libm/upstream-freebsd/lib/msun/src/s_csqrtl.c
index 40bc59d..0f375f3 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_csqrtl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_csqrtl.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2007-2008 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <float.h>
 #include <math.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_ctanh.c b/libm/upstream-freebsd/lib/msun/src/s_ctanh.c
index e5840a1..6904363 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_ctanh.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_ctanh.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2011 David Schultz
  * All rights reserved.
@@ -65,9 +65,6 @@
  *   precision.  I also handle large x differently.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <math.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_ctanhf.c b/libm/upstream-freebsd/lib/msun/src/s_ctanhf.c
index c46f86d..551e143 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_ctanhf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_ctanhf.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2011 David Schultz
  * All rights reserved.
@@ -30,9 +30,6 @@
  * Hyperbolic tangent of a complex argument z.  See s_ctanh.c for details.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <math.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_erf.c b/libm/upstream-freebsd/lib/msun/src/s_erf.c
index 5f22847..a9de122 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_erf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_erf.c
@@ -1,4 +1,3 @@
-/* @(#)s_erf.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* double erf(double x)
  * double erfc(double x)
  *			     x
@@ -238,7 +234,7 @@
 	}
 	z  = x;
 	SET_LOW_WORD(z,0);
-	r  =  __ieee754_exp(-z*z-0.5625)*__ieee754_exp((z-x)*(z+x)+R/S);
+	r  =  exp(-z*z-0.5625)*exp((z-x)*(z+x)+R/S);
 	if(hx>=0) return one-r/x; else return  r/x-one;
 }
 
@@ -297,7 +293,7 @@
 	    }
 	    z  = x;
 	    SET_LOW_WORD(z,0);
-	    r  =  __ieee754_exp(-z*z-0.5625)*__ieee754_exp((z-x)*(z+x)+R/S);
+	    r  =  exp(-z*z-0.5625)*exp((z-x)*(z+x)+R/S);
 	    if(hx>0) return r/x; else return two-r/x;
 	} else {
 	    if(hx>0) return tiny*tiny; else return two-tiny;
diff --git a/libm/upstream-freebsd/lib/msun/src/s_erff.c b/libm/upstream-freebsd/lib/msun/src/s_erff.c
index d6cfbd2..6c8f406 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_erff.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_erff.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_exp2.c b/libm/upstream-freebsd/lib/msun/src/s_exp2.c
deleted file mode 100644
index bc36e55..0000000
--- a/libm/upstream-freebsd/lib/msun/src/s_exp2.c
+++ /dev/null
@@ -1,399 +0,0 @@
-/*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
- *
- * Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <float.h>
-
-#include "math.h"
-#include "math_private.h"
-
-#define	TBLBITS	8
-#define	TBLSIZE	(1 << TBLBITS)
-
-static const double
-    redux    = 0x1.8p52 / TBLSIZE,
-    P1	     = 0x1.62e42fefa39efp-1,
-    P2	     = 0x1.ebfbdff82c575p-3,
-    P3	     = 0x1.c6b08d704a0a6p-5,
-    P4	     = 0x1.3b2ab88f70400p-7,
-    P5	     = 0x1.5d88003875c74p-10;
-
-static volatile double
-    huge     = 0x1p1000,
-    twom1000 = 0x1p-1000;
-
-static const double tbl[TBLSIZE * 2] = {
-/*	exp2(z + eps)		eps	*/
-	0x1.6a09e667f3d5dp-1,	 0x1.9880p-44,
-	0x1.6b052fa751744p-1,	 0x1.8000p-50,
-	0x1.6c012750bd9fep-1,	-0x1.8780p-45,
-	0x1.6cfdcddd476bfp-1,	 0x1.ec00p-46,
-	0x1.6dfb23c651a29p-1,	-0x1.8000p-50,
-	0x1.6ef9298593ae3p-1,	-0x1.c000p-52,
-	0x1.6ff7df9519386p-1,	-0x1.fd80p-45,
-	0x1.70f7466f42da3p-1,	-0x1.c880p-45,
-	0x1.71f75e8ec5fc3p-1,	 0x1.3c00p-46,
-	0x1.72f8286eacf05p-1,	-0x1.8300p-44,
-	0x1.73f9a48a58152p-1,	-0x1.0c00p-47,
-	0x1.74fbd35d7ccfcp-1,	 0x1.f880p-45,
-	0x1.75feb564267f1p-1,	 0x1.3e00p-47,
-	0x1.77024b1ab6d48p-1,	-0x1.7d00p-45,
-	0x1.780694fde5d38p-1,	-0x1.d000p-50,
-	0x1.790b938ac1d00p-1,	 0x1.3000p-49,
-	0x1.7a11473eb0178p-1,	-0x1.d000p-49,
-	0x1.7b17b0976d060p-1,	 0x1.0400p-45,
-	0x1.7c1ed0130c133p-1,	 0x1.0000p-53,
-	0x1.7d26a62ff8636p-1,	-0x1.6900p-45,
-	0x1.7e2f336cf4e3bp-1,	-0x1.2e00p-47,
-	0x1.7f3878491c3e8p-1,	-0x1.4580p-45,
-	0x1.80427543e1b4ep-1,	 0x1.3000p-44,
-	0x1.814d2add1071ap-1,	 0x1.f000p-47,
-	0x1.82589994ccd7ep-1,	-0x1.1c00p-45,
-	0x1.8364c1eb942d0p-1,	 0x1.9d00p-45,
-	0x1.8471a4623cab5p-1,	 0x1.7100p-43,
-	0x1.857f4179f5bbcp-1,	 0x1.2600p-45,
-	0x1.868d99b4491afp-1,	-0x1.2c40p-44,
-	0x1.879cad931a395p-1,	-0x1.3000p-45,
-	0x1.88ac7d98a65b8p-1,	-0x1.a800p-45,
-	0x1.89bd0a4785800p-1,	-0x1.d000p-49,
-	0x1.8ace5422aa223p-1,	 0x1.3280p-44,
-	0x1.8be05bad619fap-1,	 0x1.2b40p-43,
-	0x1.8cf3216b54383p-1,	-0x1.ed00p-45,
-	0x1.8e06a5e08664cp-1,	-0x1.0500p-45,
-	0x1.8f1ae99157807p-1,	 0x1.8280p-45,
-	0x1.902fed0282c0ep-1,	-0x1.cb00p-46,
-	0x1.9145b0b91ff96p-1,	-0x1.5e00p-47,
-	0x1.925c353aa2ff9p-1,	 0x1.5400p-48,
-	0x1.93737b0cdc64ap-1,	 0x1.7200p-46,
-	0x1.948b82b5f98aep-1,	-0x1.9000p-47,
-	0x1.95a44cbc852cbp-1,	 0x1.5680p-45,
-	0x1.96bdd9a766f21p-1,	-0x1.6d00p-44,
-	0x1.97d829fde4e2ap-1,	-0x1.1000p-47,
-	0x1.98f33e47a23a3p-1,	 0x1.d000p-45,
-	0x1.9a0f170ca0604p-1,	-0x1.8a40p-44,
-	0x1.9b2bb4d53ff89p-1,	 0x1.55c0p-44,
-	0x1.9c49182a3f15bp-1,	 0x1.6b80p-45,
-	0x1.9d674194bb8c5p-1,	-0x1.c000p-49,
-	0x1.9e86319e3238ep-1,	 0x1.7d00p-46,
-	0x1.9fa5e8d07f302p-1,	 0x1.6400p-46,
-	0x1.a0c667b5de54dp-1,	-0x1.5000p-48,
-	0x1.a1e7aed8eb8f6p-1,	 0x1.9e00p-47,
-	0x1.a309bec4a2e27p-1,	 0x1.ad80p-45,
-	0x1.a42c980460a5dp-1,	-0x1.af00p-46,
-	0x1.a5503b23e259bp-1,	 0x1.b600p-47,
-	0x1.a674a8af46213p-1,	 0x1.8880p-44,
-	0x1.a799e1330b3a7p-1,	 0x1.1200p-46,
-	0x1.a8bfe53c12e8dp-1,	 0x1.6c00p-47,
-	0x1.a9e6b5579fcd2p-1,	-0x1.9b80p-45,
-	0x1.ab0e521356fb8p-1,	 0x1.b700p-45,
-	0x1.ac36bbfd3f381p-1,	 0x1.9000p-50,
-	0x1.ad5ff3a3c2780p-1,	 0x1.4000p-49,
-	0x1.ae89f995ad2a3p-1,	-0x1.c900p-45,
-	0x1.afb4ce622f367p-1,	 0x1.6500p-46,
-	0x1.b0e07298db790p-1,	 0x1.fd40p-45,
-	0x1.b20ce6c9a89a9p-1,	 0x1.2700p-46,
-	0x1.b33a2b84f1a4bp-1,	 0x1.d470p-43,
-	0x1.b468415b747e7p-1,	-0x1.8380p-44,
-	0x1.b59728de5593ap-1,	 0x1.8000p-54,
-	0x1.b6c6e29f1c56ap-1,	 0x1.ad00p-47,
-	0x1.b7f76f2fb5e50p-1,	 0x1.e800p-50,
-	0x1.b928cf22749b2p-1,	-0x1.4c00p-47,
-	0x1.ba5b030a10603p-1,	-0x1.d700p-47,
-	0x1.bb8e0b79a6f66p-1,	 0x1.d900p-47,
-	0x1.bcc1e904bc1ffp-1,	 0x1.2a00p-47,
-	0x1.bdf69c3f3a16fp-1,	-0x1.f780p-46,
-	0x1.bf2c25bd71db8p-1,	-0x1.0a00p-46,
-	0x1.c06286141b2e9p-1,	-0x1.1400p-46,
-	0x1.c199bdd8552e0p-1,	 0x1.be00p-47,
-	0x1.c2d1cd9fa64eep-1,	-0x1.9400p-47,
-	0x1.c40ab5fffd02fp-1,	-0x1.ed00p-47,
-	0x1.c544778fafd15p-1,	 0x1.9660p-44,
-	0x1.c67f12e57d0cbp-1,	-0x1.a100p-46,
-	0x1.c7ba88988c1b6p-1,	-0x1.8458p-42,
-	0x1.c8f6d9406e733p-1,	-0x1.a480p-46,
-	0x1.ca3405751c4dfp-1,	 0x1.b000p-51,
-	0x1.cb720dcef9094p-1,	 0x1.1400p-47,
-	0x1.ccb0f2e6d1689p-1,	 0x1.0200p-48,
-	0x1.cdf0b555dc412p-1,	 0x1.3600p-48,
-	0x1.cf3155b5bab3bp-1,	-0x1.6900p-47,
-	0x1.d072d4a0789bcp-1,	 0x1.9a00p-47,
-	0x1.d1b532b08c8fap-1,	-0x1.5e00p-46,
-	0x1.d2f87080d8a85p-1,	 0x1.d280p-46,
-	0x1.d43c8eacaa203p-1,	 0x1.1a00p-47,
-	0x1.d5818dcfba491p-1,	 0x1.f000p-50,
-	0x1.d6c76e862e6a1p-1,	-0x1.3a00p-47,
-	0x1.d80e316c9834ep-1,	-0x1.cd80p-47,
-	0x1.d955d71ff6090p-1,	 0x1.4c00p-48,
-	0x1.da9e603db32aep-1,	 0x1.f900p-48,
-	0x1.dbe7cd63a8325p-1,	 0x1.9800p-49,
-	0x1.dd321f301b445p-1,	-0x1.5200p-48,
-	0x1.de7d5641c05bfp-1,	-0x1.d700p-46,
-	0x1.dfc97337b9aecp-1,	-0x1.6140p-46,
-	0x1.e11676b197d5ep-1,	 0x1.b480p-47,
-	0x1.e264614f5a3e7p-1,	 0x1.0ce0p-43,
-	0x1.e3b333b16ee5cp-1,	 0x1.c680p-47,
-	0x1.e502ee78b3fb4p-1,	-0x1.9300p-47,
-	0x1.e653924676d68p-1,	-0x1.5000p-49,
-	0x1.e7a51fbc74c44p-1,	-0x1.7f80p-47,
-	0x1.e8f7977cdb726p-1,	-0x1.3700p-48,
-	0x1.ea4afa2a490e8p-1,	 0x1.5d00p-49,
-	0x1.eb9f4867ccae4p-1,	 0x1.61a0p-46,
-	0x1.ecf482d8e680dp-1,	 0x1.5500p-48,
-	0x1.ee4aaa2188514p-1,	 0x1.6400p-51,
-	0x1.efa1bee615a13p-1,	-0x1.e800p-49,
-	0x1.f0f9c1cb64106p-1,	-0x1.a880p-48,
-	0x1.f252b376bb963p-1,	-0x1.c900p-45,
-	0x1.f3ac948dd7275p-1,	 0x1.a000p-53,
-	0x1.f50765b6e4524p-1,	-0x1.4f00p-48,
-	0x1.f6632798844fdp-1,	 0x1.a800p-51,
-	0x1.f7bfdad9cbe38p-1,	 0x1.abc0p-48,
-	0x1.f91d802243c82p-1,	-0x1.4600p-50,
-	0x1.fa7c1819e908ep-1,	-0x1.b0c0p-47,
-	0x1.fbdba3692d511p-1,	-0x1.0e00p-51,
-	0x1.fd3c22b8f7194p-1,	-0x1.0de8p-46,
-	0x1.fe9d96b2a23eep-1,	 0x1.e430p-49,
-	0x1.0000000000000p+0,	 0x0.0000p+0,
-	0x1.00b1afa5abcbep+0,	-0x1.3400p-52,
-	0x1.0163da9fb3303p+0,	-0x1.2170p-46,
-	0x1.02168143b0282p+0,	 0x1.a400p-52,
-	0x1.02c9a3e77806cp+0,	 0x1.f980p-49,
-	0x1.037d42e11bbcap+0,	-0x1.7400p-51,
-	0x1.04315e86e7f89p+0,	 0x1.8300p-50,
-	0x1.04e5f72f65467p+0,	-0x1.a3f0p-46,
-	0x1.059b0d315855ap+0,	-0x1.2840p-47,
-	0x1.0650a0e3c1f95p+0,	 0x1.1600p-48,
-	0x1.0706b29ddf71ap+0,	 0x1.5240p-46,
-	0x1.07bd42b72a82dp+0,	-0x1.9a00p-49,
-	0x1.0874518759bd0p+0,	 0x1.6400p-49,
-	0x1.092bdf66607c8p+0,	-0x1.0780p-47,
-	0x1.09e3ecac6f383p+0,	-0x1.8000p-54,
-	0x1.0a9c79b1f3930p+0,	 0x1.fa00p-48,
-	0x1.0b5586cf988fcp+0,	-0x1.ac80p-48,
-	0x1.0c0f145e46c8ap+0,	 0x1.9c00p-50,
-	0x1.0cc922b724816p+0,	 0x1.5200p-47,
-	0x1.0d83b23395dd8p+0,	-0x1.ad00p-48,
-	0x1.0e3ec32d3d1f3p+0,	 0x1.bac0p-46,
-	0x1.0efa55fdfa9a6p+0,	-0x1.4e80p-47,
-	0x1.0fb66affed2f0p+0,	-0x1.d300p-47,
-	0x1.1073028d7234bp+0,	 0x1.1500p-48,
-	0x1.11301d0125b5bp+0,	 0x1.c000p-49,
-	0x1.11edbab5e2af9p+0,	 0x1.6bc0p-46,
-	0x1.12abdc06c31d5p+0,	 0x1.8400p-49,
-	0x1.136a814f2047dp+0,	-0x1.ed00p-47,
-	0x1.1429aaea92de9p+0,	 0x1.8e00p-49,
-	0x1.14e95934f3138p+0,	 0x1.b400p-49,
-	0x1.15a98c8a58e71p+0,	 0x1.5300p-47,
-	0x1.166a45471c3dfp+0,	 0x1.3380p-47,
-	0x1.172b83c7d5211p+0,	 0x1.8d40p-45,
-	0x1.17ed48695bb9fp+0,	-0x1.5d00p-47,
-	0x1.18af9388c8d93p+0,	-0x1.c880p-46,
-	0x1.1972658375d66p+0,	 0x1.1f00p-46,
-	0x1.1a35beb6fcba7p+0,	 0x1.0480p-46,
-	0x1.1af99f81387e3p+0,	-0x1.7390p-43,
-	0x1.1bbe084045d54p+0,	 0x1.4e40p-45,
-	0x1.1c82f95281c43p+0,	-0x1.a200p-47,
-	0x1.1d4873168b9b2p+0,	 0x1.3800p-49,
-	0x1.1e0e75eb44031p+0,	 0x1.ac00p-49,
-	0x1.1ed5022fcd938p+0,	 0x1.1900p-47,
-	0x1.1f9c18438cdf7p+0,	-0x1.b780p-46,
-	0x1.2063b88628d8fp+0,	 0x1.d940p-45,
-	0x1.212be3578a81ep+0,	 0x1.8000p-50,
-	0x1.21f49917ddd41p+0,	 0x1.b340p-45,
-	0x1.22bdda2791323p+0,	 0x1.9f80p-46,
-	0x1.2387a6e7561e7p+0,	-0x1.9c80p-46,
-	0x1.2451ffb821427p+0,	 0x1.2300p-47,
-	0x1.251ce4fb2a602p+0,	-0x1.3480p-46,
-	0x1.25e85711eceb0p+0,	 0x1.2700p-46,
-	0x1.26b4565e27d16p+0,	 0x1.1d00p-46,
-	0x1.2780e341de00fp+0,	 0x1.1ee0p-44,
-	0x1.284dfe1f5633ep+0,	-0x1.4c00p-46,
-	0x1.291ba7591bb30p+0,	-0x1.3d80p-46,
-	0x1.29e9df51fdf09p+0,	 0x1.8b00p-47,
-	0x1.2ab8a66d10e9bp+0,	-0x1.27c0p-45,
-	0x1.2b87fd0dada3ap+0,	 0x1.a340p-45,
-	0x1.2c57e39771af9p+0,	-0x1.0800p-46,
-	0x1.2d285a6e402d9p+0,	-0x1.ed00p-47,
-	0x1.2df961f641579p+0,	-0x1.4200p-48,
-	0x1.2ecafa93e2ecfp+0,	-0x1.4980p-45,
-	0x1.2f9d24abd8822p+0,	-0x1.6300p-46,
-	0x1.306fe0a31b625p+0,	-0x1.2360p-44,
-	0x1.31432edeea50bp+0,	-0x1.0df8p-40,
-	0x1.32170fc4cd7b8p+0,	-0x1.2480p-45,
-	0x1.32eb83ba8e9a2p+0,	-0x1.5980p-45,
-	0x1.33c08b2641766p+0,	 0x1.ed00p-46,
-	0x1.3496266e3fa27p+0,	-0x1.c000p-50,
-	0x1.356c55f929f0fp+0,	-0x1.0d80p-44,
-	0x1.36431a2de88b9p+0,	 0x1.2c80p-45,
-	0x1.371a7373aaa39p+0,	 0x1.0600p-45,
-	0x1.37f26231e74fep+0,	-0x1.6600p-46,
-	0x1.38cae6d05d838p+0,	-0x1.ae00p-47,
-	0x1.39a401b713ec3p+0,	-0x1.4720p-43,
-	0x1.3a7db34e5a020p+0,	 0x1.8200p-47,
-	0x1.3b57fbfec6e95p+0,	 0x1.e800p-44,
-	0x1.3c32dc313a8f2p+0,	 0x1.f800p-49,
-	0x1.3d0e544ede122p+0,	-0x1.7a00p-46,
-	0x1.3dea64c1234bbp+0,	 0x1.6300p-45,
-	0x1.3ec70df1c4eccp+0,	-0x1.8a60p-43,
-	0x1.3fa4504ac7e8cp+0,	-0x1.cdc0p-44,
-	0x1.40822c367a0bbp+0,	 0x1.5b80p-45,
-	0x1.4160a21f72e95p+0,	 0x1.ec00p-46,
-	0x1.423fb27094646p+0,	-0x1.3600p-46,
-	0x1.431f5d950a920p+0,	 0x1.3980p-45,
-	0x1.43ffa3f84b9ebp+0,	 0x1.a000p-48,
-	0x1.44e0860618919p+0,	-0x1.6c00p-48,
-	0x1.45c2042a7d201p+0,	-0x1.bc00p-47,
-	0x1.46a41ed1d0016p+0,	-0x1.2800p-46,
-	0x1.4786d668b3326p+0,	 0x1.0e00p-44,
-	0x1.486a2b5c13c00p+0,	-0x1.d400p-45,
-	0x1.494e1e192af04p+0,	 0x1.c200p-47,
-	0x1.4a32af0d7d372p+0,	-0x1.e500p-46,
-	0x1.4b17dea6db801p+0,	 0x1.7800p-47,
-	0x1.4bfdad53629e1p+0,	-0x1.3800p-46,
-	0x1.4ce41b817c132p+0,	 0x1.0800p-47,
-	0x1.4dcb299fddddbp+0,	 0x1.c700p-45,
-	0x1.4eb2d81d8ab96p+0,	-0x1.ce00p-46,
-	0x1.4f9b2769d2d02p+0,	 0x1.9200p-46,
-	0x1.508417f4531c1p+0,	-0x1.8c00p-47,
-	0x1.516daa2cf662ap+0,	-0x1.a000p-48,
-	0x1.5257de83f51eap+0,	 0x1.a080p-43,
-	0x1.5342b569d4edap+0,	-0x1.6d80p-45,
-	0x1.542e2f4f6ac1ap+0,	-0x1.2440p-44,
-	0x1.551a4ca5d94dbp+0,	 0x1.83c0p-43,
-	0x1.56070dde9116bp+0,	 0x1.4b00p-45,
-	0x1.56f4736b529dep+0,	 0x1.15a0p-43,
-	0x1.57e27dbe2c40ep+0,	-0x1.9e00p-45,
-	0x1.58d12d497c76fp+0,	-0x1.3080p-45,
-	0x1.59c0827ff0b4cp+0,	 0x1.dec0p-43,
-	0x1.5ab07dd485427p+0,	-0x1.4000p-51,
-	0x1.5ba11fba87af4p+0,	 0x1.0080p-44,
-	0x1.5c9268a59460bp+0,	-0x1.6c80p-45,
-	0x1.5d84590998e3fp+0,	 0x1.69a0p-43,
-	0x1.5e76f15ad20e1p+0,	-0x1.b400p-46,
-	0x1.5f6a320dcebcap+0,	 0x1.7700p-46,
-	0x1.605e1b976dcb8p+0,	 0x1.6f80p-45,
-	0x1.6152ae6cdf715p+0,	 0x1.1000p-47,
-	0x1.6247eb03a5531p+0,	-0x1.5d00p-46,
-	0x1.633dd1d1929b5p+0,	-0x1.2d00p-46,
-	0x1.6434634ccc313p+0,	-0x1.a800p-49,
-	0x1.652b9febc8efap+0,	-0x1.8600p-45,
-	0x1.6623882553397p+0,	 0x1.1fe0p-40,
-	0x1.671c1c708328ep+0,	-0x1.7200p-44,
-	0x1.68155d44ca97ep+0,	 0x1.6800p-49,
-	0x1.690f4b19e9471p+0,	-0x1.9780p-45,
-};
-
-/*
- * exp2(x): compute the base 2 exponential of x
- *
- * Accuracy: Peak error < 0.503 ulp for normalized results.
- *
- * Method: (accurate tables)
- *
- *   Reduce x:
- *     x = 2**k + y, for integer k and |y| <= 1/2.
- *     Thus we have exp2(x) = 2**k * exp2(y).
- *
- *   Reduce y:
- *     y = i/TBLSIZE + z - eps[i] for integer i near y * TBLSIZE.
- *     Thus we have exp2(y) = exp2(i/TBLSIZE) * exp2(z - eps[i]),
- *     with |z - eps[i]| <= 2**-9 + 2**-39 for the table used.
- *
- *   We compute exp2(i/TBLSIZE) via table lookup and exp2(z - eps[i]) via
- *   a degree-5 minimax polynomial with maximum error under 1.3 * 2**-61.
- *   The values in exp2t[] and eps[] are chosen such that
- *   exp2t[i] = exp2(i/TBLSIZE + eps[i]), and eps[i] is a small offset such
- *   that exp2t[i] is accurate to 2**-64.
- *
- *   Note that the range of i is +-TBLSIZE/2, so we actually index the tables
- *   by i0 = i + TBLSIZE/2.  For cache efficiency, exp2t[] and eps[] are
- *   virtual tables, interleaved in the real table tbl[].
- *
- *   This method is due to Gal, with many details due to Gal and Bachelis:
- *
- *	Gal, S. and Bachelis, B.  An Accurate Elementary Mathematical Library
- *	for the IEEE Floating Point Standard.  TOMS 17(1), 26-46 (1991).
- */
-double
-exp2(double x)
-{
-	double r, t, twopk, twopkp1000, z;
-	uint32_t hx, ix, lx, i0;
-	int k;
-
-	/* Filter out exceptional cases. */
-	GET_HIGH_WORD(hx,x);
-	ix = hx & 0x7fffffff;		/* high word of |x| */
-	if(ix >= 0x40900000) {			/* |x| >= 1024 */
-		if(ix >= 0x7ff00000) {
-			GET_LOW_WORD(lx,x);
-			if(((ix & 0xfffff) | lx) != 0 || (hx & 0x80000000) == 0)
-				return (x + x);	/* x is NaN or +Inf */
-			else 
-				return (0.0);	/* x is -Inf */
-		}
-		if(x >= 0x1.0p10)
-			return (huge * huge); /* overflow */
-		if(x <= -0x1.0ccp10)
-			return (twom1000 * twom1000); /* underflow */
-	} else if (ix < 0x3c900000) {		/* |x| < 0x1p-54 */
-		return (1.0 + x);
-	}
-
-	/* Reduce x, computing z, i0, and k. */
-	STRICT_ASSIGN(double, t, x + redux);
-	GET_LOW_WORD(i0, t);
-	i0 += TBLSIZE / 2;
-	k = (i0 >> TBLBITS) << 20;
-	i0 = (i0 & (TBLSIZE - 1)) << 1;
-	t -= redux;
-	z = x - t;
-
-	/* Compute r = exp2(y) = exp2t[i0] * p(z - eps[i]). */
-	t = tbl[i0];		/* exp2t[i0] */
-	z -= tbl[i0 + 1];	/* eps[i0]   */
-	if (k >= -(1021 << 20))
-		INSERT_WORDS(twopk, 0x3ff00000 + k, 0);
-	else
-		INSERT_WORDS(twopkp1000, 0x3ff00000 + k + (1000 << 20), 0);
-	r = t + t * z * (P1 + z * (P2 + z * (P3 + z * (P4 + z * P5))));
-
-	/* Scale by 2**(k>>20). */
-	if(k >= -(1021 << 20)) {
-		if (k == 1024 << 20)
-			return (r * 2.0 * 0x1p1023);
-		return (r * twopk);
-	} else {
-		return (r * twopkp1000 * twom1000);
-	}
-}
-
-#if (LDBL_MANT_DIG == 53)
-__weak_reference(exp2, exp2l);
-#endif
diff --git a/libm/upstream-freebsd/lib/msun/src/s_exp2f.c b/libm/upstream-freebsd/lib/msun/src/s_exp2f.c
deleted file mode 100644
index c082924..0000000
--- a/libm/upstream-freebsd/lib/msun/src/s_exp2f.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
- *
- * Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <float.h>
-
-#include "math.h"
-#include "math_private.h"
-
-#define	TBLBITS	4
-#define	TBLSIZE	(1 << TBLBITS)
-
-static const float
-    redux   = 0x1.8p23f / TBLSIZE,
-    P1	    = 0x1.62e430p-1f,
-    P2	    = 0x1.ebfbe0p-3f,
-    P3	    = 0x1.c6b348p-5f,
-    P4	    = 0x1.3b2c9cp-7f;
-
-static volatile float
-    huge    = 0x1p100f,
-    twom100 = 0x1p-100f;
-
-static const double exp2ft[TBLSIZE] = {
-	0x1.6a09e667f3bcdp-1,
-	0x1.7a11473eb0187p-1,
-	0x1.8ace5422aa0dbp-1,
-	0x1.9c49182a3f090p-1,
-	0x1.ae89f995ad3adp-1,
-	0x1.c199bdd85529cp-1,
-	0x1.d5818dcfba487p-1,
-	0x1.ea4afa2a490dap-1,
-	0x1.0000000000000p+0,
-	0x1.0b5586cf9890fp+0,
-	0x1.172b83c7d517bp+0,
-	0x1.2387a6e756238p+0,
-	0x1.306fe0a31b715p+0,
-	0x1.3dea64c123422p+0,
-	0x1.4bfdad5362a27p+0,
-	0x1.5ab07dd485429p+0,
-};
-	
-/*
- * exp2f(x): compute the base 2 exponential of x
- *
- * Accuracy: Peak error < 0.501 ulp; location of peak: -0.030110927.
- *
- * Method: (equally-spaced tables)
- *
- *   Reduce x:
- *     x = 2**k + y, for integer k and |y| <= 1/2.
- *     Thus we have exp2f(x) = 2**k * exp2(y).
- *
- *   Reduce y:
- *     y = i/TBLSIZE + z for integer i near y * TBLSIZE.
- *     Thus we have exp2(y) = exp2(i/TBLSIZE) * exp2(z),
- *     with |z| <= 2**-(TBLSIZE+1).
- *
- *   We compute exp2(i/TBLSIZE) via table lookup and exp2(z) via a
- *   degree-4 minimax polynomial with maximum error under 1.4 * 2**-33.
- *   Using double precision for everything except the reduction makes
- *   roundoff error insignificant and simplifies the scaling step.
- *
- *   This method is due to Tang, but I do not use his suggested parameters:
- *
- *	Tang, P.  Table-driven Implementation of the Exponential Function
- *	in IEEE Floating-Point Arithmetic.  TOMS 15(2), 144-157 (1989).
- */
-float
-exp2f(float x)
-{
-	double tv, twopk, u, z;
-	float t;
-	uint32_t hx, ix, i0;
-	int32_t k;
-
-	/* Filter out exceptional cases. */
-	GET_FLOAT_WORD(hx, x);
-	ix = hx & 0x7fffffff;		/* high word of |x| */
-	if(ix >= 0x43000000) {			/* |x| >= 128 */
-		if(ix >= 0x7f800000) {
-			if ((ix & 0x7fffff) != 0 || (hx & 0x80000000) == 0)
-				return (x + x);	/* x is NaN or +Inf */
-			else 
-				return (0.0);	/* x is -Inf */
-		}
-		if(x >= 0x1.0p7f)
-			return (huge * huge);	/* overflow */
-		if(x <= -0x1.2cp7f)
-			return (twom100 * twom100); /* underflow */
-	} else if (ix <= 0x33000000) {		/* |x| <= 0x1p-25 */
-		return (1.0f + x);
-	}
-
-	/* Reduce x, computing z, i0, and k. */
-	STRICT_ASSIGN(float, t, x + redux);
-	GET_FLOAT_WORD(i0, t);
-	i0 += TBLSIZE / 2;
-	k = (i0 >> TBLBITS) << 20;
-	i0 &= TBLSIZE - 1;
-	t -= redux;
-	z = x - t;
-	INSERT_WORDS(twopk, 0x3ff00000 + k, 0);
-
-	/* Compute r = exp2(y) = exp2ft[i0] * p(z). */
-	tv = exp2ft[i0];
-	u = tv * z;
-	tv = tv + u * (P1 + z * P2) + u * (z * z) * (P3 + z * P4);
-
-	/* Scale by 2**(k>>20). */
-	return (tv * twopk);
-}
diff --git a/libm/upstream-freebsd/lib/msun/src/s_expm1.c b/libm/upstream-freebsd/lib/msun/src/s_expm1.c
index 844f103..cdc225e 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_expm1.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_expm1.c
@@ -1,4 +1,3 @@
-/* @(#)s_expm1.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* expm1(x)
  * Returns exp(x)-1, the exponential of x minus 1.
  *
diff --git a/libm/upstream-freebsd/lib/msun/src/s_expm1f.c b/libm/upstream-freebsd/lib/msun/src/s_expm1f.c
index b47daac..6887bf2 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_expm1f.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_expm1f.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 
 #include "math.h"
diff --git a/libm/upstream-freebsd/lib/msun/src/s_fabsl.c b/libm/upstream-freebsd/lib/msun/src/s_fabsl.c
deleted file mode 100644
index 5076d8a..0000000
--- a/libm/upstream-freebsd/lib/msun/src/s_fabsl.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/*-
- * SPDX-License-Identifier: BSD-3-Clause
- *
- * Copyright (c) 2003 Dag-Erling Smørgrav
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer
- *    in this position and unchanged.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * $FreeBSD$
- */
-
-#include <math.h>
-
-#include "fpmath.h"
-
-long double
-fabsl(long double x)
-{
-	union IEEEl2bits u;
-
-	u.e = x;
-	u.bits.sign = 0;
-	return (u.e);
-}
diff --git a/libm/upstream-freebsd/lib/msun/src/s_fdim.c b/libm/upstream-freebsd/lib/msun/src/s_fdim.c
index c40c3e9..4f56ee4 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_fdim.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_fdim.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2004 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <math.h>
 
 #define	DECL(type, fn)			\
diff --git a/libm/upstream-freebsd/lib/msun/src/s_finite.c b/libm/upstream-freebsd/lib/msun/src/s_finite.c
index 4c51352..a3fd599 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_finite.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_finite.c
@@ -1,4 +1,3 @@
-/* @(#)s_finite.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * finite(x) returns 1 is x is finite, else 0;
  * no branching!
diff --git a/libm/upstream-freebsd/lib/msun/src/s_finitef.c b/libm/upstream-freebsd/lib/msun/src/s_finitef.c
index c62239e..9a4a876 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_finitef.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_finitef.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * finitef(x) returns 1 is x is finite, else 0;
  * no branching!
diff --git a/libm/upstream-freebsd/lib/msun/src/s_floor.c b/libm/upstream-freebsd/lib/msun/src/s_floor.c
index 65f696a..7ca65b1 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_floor.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_floor.c
@@ -1,4 +1,3 @@
-/* @(#)s_floor.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * floor(x)
  * Return x rounded toward -inf to integral value
diff --git a/libm/upstream-freebsd/lib/msun/src/s_floorf.c b/libm/upstream-freebsd/lib/msun/src/s_floorf.c
index 6b510de..d497157 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_floorf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_floorf.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * floorf(x)
  * Return x rounded toward -inf to integral value
diff --git a/libm/upstream-freebsd/lib/msun/src/s_floorl.c b/libm/upstream-freebsd/lib/msun/src/s_floorl.c
index 6cec3e7..3b54cab 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_floorl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_floorl.c
@@ -7,13 +7,8 @@
  * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
- *
- * From: @(#)s_floor.c 5.1 93/09/24
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * floorl(x)
  * Return x rounded toward -inf to integral value
diff --git a/libm/upstream-freebsd/lib/msun/src/s_fma.c b/libm/upstream-freebsd/lib/msun/src/s_fma.c
index 95cffd0..23a8449 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_fma.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_fma.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2005-2011 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <fenv.h>
 #include <float.h>
 #include <math.h>
@@ -225,17 +222,17 @@
 		case FE_TONEAREST:
 			return (z);
 		case FE_TOWARDZERO:
-			if (x > 0.0 ^ y < 0.0 ^ z < 0.0)
+			if ((x > 0.0) ^ (y < 0.0) ^ (z < 0.0))
 				return (z);
 			else
 				return (nextafter(z, 0));
 		case FE_DOWNWARD:
-			if (x > 0.0 ^ y < 0.0)
+			if ((x > 0.0) ^ (y < 0.0))
 				return (z);
 			else
 				return (nextafter(z, -INFINITY));
 		default:	/* FE_UPWARD */
-			if (x > 0.0 ^ y < 0.0)
+			if ((x > 0.0) ^ (y < 0.0))
 				return (nextafter(z, INFINITY));
 			else
 				return (z);
@@ -247,7 +244,7 @@
 		zs = copysign(DBL_MIN, zs);
 
 	fesetround(FE_TONEAREST);
-	/* work around clang bug 8100 */
+	/* work around clang issue #8472 */
 	volatile double vxs = xs;
 
 	/*
@@ -263,14 +260,14 @@
 
 	spread = ex + ey;
 
-	if (r.hi == 0.0) {
+	if (r.hi == 0.0 && xy.lo == 0) {
 		/*
 		 * When the addends cancel to 0, ensure that the result has
 		 * the correct sign.
 		 */
 		fesetround(oround);
 		volatile double vzs = zs; /* XXX gcc CSE bug workaround */
-		return (xy.hi + vzs + ldexp(xy.lo, spread));
+		return (xy.hi + vzs);
 	}
 
 	if (oround != FE_TONEAREST) {
@@ -279,7 +276,7 @@
 		 * rounding modes.
 		 */
 		fesetround(oround);
-		/* work around clang bug 8100 */
+		/* work around clang issue #8472 */
 		volatile double vrlo = r.lo;
 		adj = vrlo + xy.lo;
 		return (ldexp(r.hi + adj, spread));
diff --git a/libm/upstream-freebsd/lib/msun/src/s_fmaf.c b/libm/upstream-freebsd/lib/msun/src/s_fmaf.c
index 4591cc2..5f3d5d1 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_fmaf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_fmaf.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2005-2011 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <fenv.h>
 
 #include "math.h"
diff --git a/libm/upstream-freebsd/lib/msun/src/s_fmal.c b/libm/upstream-freebsd/lib/msun/src/s_fmal.c
index a379346..2fca206 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_fmal.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_fmal.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2005-2011 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <fenv.h>
 #include <float.h>
 #include <math.h>
@@ -206,17 +203,17 @@
 		case FE_TONEAREST:
 			return (z);
 		case FE_TOWARDZERO:
-			if (x > 0.0 ^ y < 0.0 ^ z < 0.0)
+			if ((x > 0.0) ^ (y < 0.0) ^ (z < 0.0))
 				return (z);
 			else
 				return (nextafterl(z, 0));
 		case FE_DOWNWARD:
-			if (x > 0.0 ^ y < 0.0)
+			if ((x > 0.0) ^ (y < 0.0))
 				return (z);
 			else
 				return (nextafterl(z, -INFINITY));
 		default:	/* FE_UPWARD */
-			if (x > 0.0 ^ y < 0.0)
+			if ((x > 0.0) ^ (y < 0.0))
 				return (nextafterl(z, INFINITY));
 			else
 				return (z);
@@ -228,7 +225,7 @@
 		zs = copysignl(LDBL_MIN, zs);
 
 	fesetround(FE_TONEAREST);
-	/* work around clang bug 8100 */
+	/* work around clang issue #8472 */
 	volatile long double vxs = xs;
 
 	/*
@@ -244,14 +241,14 @@
 
 	spread = ex + ey;
 
-	if (r.hi == 0.0) {
+	if (r.hi == 0.0 && xy.lo == 0) {
 		/*
 		 * When the addends cancel to 0, ensure that the result has
 		 * the correct sign.
 		 */
 		fesetround(oround);
 		volatile long double vzs = zs; /* XXX gcc CSE bug workaround */
-		return (xy.hi + vzs + ldexpl(xy.lo, spread));
+		return (xy.hi + vzs);
 	}
 
 	if (oround != FE_TONEAREST) {
@@ -260,7 +257,7 @@
 		 * rounding modes.
 		 */
 		fesetround(oround);
-		/* work around clang bug 8100 */
+		/* work around clang issue #8472 */
 		volatile long double vrlo = r.lo;
 		adj = vrlo + xy.lo;
 		return (ldexpl(r.hi + adj, spread));
diff --git a/libm/upstream-freebsd/lib/msun/src/s_fmax.c b/libm/upstream-freebsd/lib/msun/src/s_fmax.c
index b53b1e6..5d437fc 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_fmax.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_fmax.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2004 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 #include <math.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_fmaxf.c b/libm/upstream-freebsd/lib/msun/src/s_fmaxf.c
index 8d3d14f..1572572 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_fmaxf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_fmaxf.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2004 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <math.h>
 
 #include "fpmath.h"
diff --git a/libm/upstream-freebsd/lib/msun/src/s_fmaxl.c b/libm/upstream-freebsd/lib/msun/src/s_fmaxl.c
index c0d7c88..73e2a4b 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_fmaxl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_fmaxl.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2004 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <math.h>
 
 #include "fpmath.h"
diff --git a/libm/upstream-freebsd/lib/msun/src/s_fmin.c b/libm/upstream-freebsd/lib/msun/src/s_fmin.c
index 53f36c1..a349e5d 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_fmin.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_fmin.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2004 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 #include <math.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_fminf.c b/libm/upstream-freebsd/lib/msun/src/s_fminf.c
index 58b6a48..5c2537e 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_fminf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_fminf.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2004 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <math.h>
 
 #include "fpmath.h"
diff --git a/libm/upstream-freebsd/lib/msun/src/s_fminl.c b/libm/upstream-freebsd/lib/msun/src/s_fminl.c
index 97604b3..7ac17e3 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_fminl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_fminl.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2004 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <math.h>
 
 #include "fpmath.h"
diff --git a/libm/upstream-freebsd/lib/msun/src/s_frexp.c b/libm/upstream-freebsd/lib/msun/src/s_frexp.c
index 318a991..90aea67 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_frexp.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_frexp.c
@@ -1,4 +1,3 @@
-/* @(#)s_frexp.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * for non-zero x
  *	x = frexp(arg,&exp);
diff --git a/libm/upstream-freebsd/lib/msun/src/s_frexpf.c b/libm/upstream-freebsd/lib/msun/src/s_frexpf.c
index 5a7c486..bca27b5 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_frexpf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_frexpf.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_frexpl.c b/libm/upstream-freebsd/lib/msun/src/s_frexpl.c
index 66e284f..32f1264 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_frexpl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_frexpl.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2004-2005 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -24,8 +24,6 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- *
- * $FreeBSD$
  */
 
 #include <float.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_ilogb.c b/libm/upstream-freebsd/lib/msun/src/s_ilogb.c
index a930bc9..27e0bbb 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_ilogb.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_ilogb.c
@@ -1,4 +1,3 @@
-/* @(#)s_ilogb.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* ilogb(double x)
  * return the binary exponent of non-zero x
  * ilogb(0) = FP_ILOGB0
diff --git a/libm/upstream-freebsd/lib/msun/src/s_ilogbf.c b/libm/upstream-freebsd/lib/msun/src/s_ilogbf.c
index 93fe295..e0f8fee 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_ilogbf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_ilogbf.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <limits.h>
 
 #include "math.h"
diff --git a/libm/upstream-freebsd/lib/msun/src/s_ilogbl.c b/libm/upstream-freebsd/lib/msun/src/s_ilogbl.c
index 3211f44..4d8fb8f 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_ilogbl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_ilogbl.c
@@ -1,5 +1,4 @@
 /*
- * From: @(#)s_ilogb.c 5.1 93/09/24
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
  *
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 #include <limits.h>
 #include <math.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_llrint.c b/libm/upstream-freebsd/lib/msun/src/s_llrint.c
index 7c959ec..5e27603 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_llrint.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_llrint.c
@@ -1,6 +1,3 @@
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #define type		double
 #define	roundit		rint
 #define dtype		long long
diff --git a/libm/upstream-freebsd/lib/msun/src/s_llrintf.c b/libm/upstream-freebsd/lib/msun/src/s_llrintf.c
index 7ec6015..b117f7c 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_llrintf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_llrintf.c
@@ -1,6 +1,3 @@
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #define type		float
 #define	roundit		rintf
 #define dtype		long long
diff --git a/libm/upstream-freebsd/lib/msun/src/s_llrintl.c b/libm/upstream-freebsd/lib/msun/src/s_llrintl.c
index 6ef8375..82f4529 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_llrintl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_llrintl.c
@@ -1,6 +1,3 @@
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #define type		long double
 #define	roundit		rintl
 #define dtype		long long
diff --git a/libm/upstream-freebsd/lib/msun/src/s_llround.c b/libm/upstream-freebsd/lib/msun/src/s_llround.c
index 827dfc1..3983ce1 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_llround.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_llround.c
@@ -1,6 +1,3 @@
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #define type		double
 #define	roundit		round
 #define dtype		long long
diff --git a/libm/upstream-freebsd/lib/msun/src/s_llroundf.c b/libm/upstream-freebsd/lib/msun/src/s_llroundf.c
index c037a18..827d915 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_llroundf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_llroundf.c
@@ -1,6 +1,3 @@
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #define type		float
 #define	roundit		roundf
 #define dtype		long long
diff --git a/libm/upstream-freebsd/lib/msun/src/s_llroundl.c b/libm/upstream-freebsd/lib/msun/src/s_llroundl.c
index 02c44eb..40cad84 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_llroundl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_llroundl.c
@@ -1,6 +1,3 @@
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #define type		long double
 #define	roundit		roundl
 #define dtype		long long
diff --git a/libm/upstream-freebsd/lib/msun/src/s_log1p.c b/libm/upstream-freebsd/lib/msun/src/s_log1p.c
index 3cc77bd..7131bea 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_log1p.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_log1p.c
@@ -1,4 +1,3 @@
-/* @(#)s_log1p.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* double log1p(double x)
  *
  * Method :
diff --git a/libm/upstream-freebsd/lib/msun/src/s_log1pf.c b/libm/upstream-freebsd/lib/msun/src/s_log1pf.c
index df04c67..dad567b 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_log1pf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_log1pf.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 
 #include "math.h"
diff --git a/libm/upstream-freebsd/lib/msun/src/s_logb.c b/libm/upstream-freebsd/lib/msun/src/s_logb.c
index a47e354..ec777fd 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_logb.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_logb.c
@@ -1,4 +1,3 @@
-/* @(#)s_logb.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * double logb(x)
  * IEEE 754 logb. Included to pass IEEE test suite. Not recommend.
diff --git a/libm/upstream-freebsd/lib/msun/src/s_logbf.c b/libm/upstream-freebsd/lib/msun/src/s_logbf.c
index 3ab190d..0416a9c 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_logbf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_logbf.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_logbl.c b/libm/upstream-freebsd/lib/msun/src/s_logbl.c
index ee1a91f..1641dfb 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_logbl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_logbl.c
@@ -1,5 +1,4 @@
 /*
- * From: @(#)s_ilogb.c 5.1 93/09/24
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
  *
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 #include <limits.h>
 #include <math.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_lrint.c b/libm/upstream-freebsd/lib/msun/src/s_lrint.c
index ad9b978..b1e9654 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_lrint.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_lrint.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,12 +26,10 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
 #include <fenv.h>
 #include <math.h>
 
 #ifndef type
-__FBSDID("$FreeBSD$");
 #define type		double
 #define	roundit		rint
 #define dtype		long
diff --git a/libm/upstream-freebsd/lib/msun/src/s_lrintf.c b/libm/upstream-freebsd/lib/msun/src/s_lrintf.c
index a757ded..1c040e8 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_lrintf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_lrintf.c
@@ -1,6 +1,3 @@
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #define type		float
 #define	roundit		rintf
 #define dtype		long
diff --git a/libm/upstream-freebsd/lib/msun/src/s_lrintl.c b/libm/upstream-freebsd/lib/msun/src/s_lrintl.c
index 497b442..91614e8 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_lrintl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_lrintl.c
@@ -1,6 +1,3 @@
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #define type		long double
 #define	roundit		rintl
 #define dtype		long
diff --git a/libm/upstream-freebsd/lib/msun/src/s_lround.c b/libm/upstream-freebsd/lib/msun/src/s_lround.c
index 1dd8e69..ae2f5ce 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_lround.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_lround.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2005 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,13 +26,11 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
 #include <sys/limits.h>
 #include <fenv.h>
 #include <math.h>
 
 #ifndef type
-__FBSDID("$FreeBSD$");
 #define type		double
 #define	roundit		round
 #define dtype		long
diff --git a/libm/upstream-freebsd/lib/msun/src/s_lroundf.c b/libm/upstream-freebsd/lib/msun/src/s_lroundf.c
index e24fe7f..86e63cc 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_lroundf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_lroundf.c
@@ -1,6 +1,3 @@
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #define type		float
 #define	roundit		roundf
 #define dtype		long
diff --git a/libm/upstream-freebsd/lib/msun/src/s_lroundl.c b/libm/upstream-freebsd/lib/msun/src/s_lroundl.c
index e410827..57a2e90 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_lroundl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_lroundl.c
@@ -1,6 +1,3 @@
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #define type		long double
 #define	roundit		roundl
 #define dtype		long
diff --git a/libm/upstream-freebsd/lib/msun/src/s_modf.c b/libm/upstream-freebsd/lib/msun/src/s_modf.c
index ab13191..6ee2d5a 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_modf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_modf.c
@@ -1,4 +1,3 @@
-/* @(#)s_modf.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,10 +9,6 @@
  * ====================================================
  */
 
-#ifndef lint
-static char rcsid[] = "$FreeBSD$";
-#endif
-
 /*
  * modf(double x, double *iptr)
  * return fraction part of x, and return x's integral part in *iptr.
diff --git a/libm/upstream-freebsd/lib/msun/src/s_modff.c b/libm/upstream-freebsd/lib/msun/src/s_modff.c
index 062259c..39f6c1c 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_modff.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_modff.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_modfl.c b/libm/upstream-freebsd/lib/msun/src/s_modfl.c
index 2d83bbe..32470eb 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_modfl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_modfl.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2007 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -34,8 +34,6 @@
  * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
- *
- * $FreeBSD$
  */
 
 #include <float.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_nan.c b/libm/upstream-freebsd/lib/msun/src/s_nan.c
index 1769244..d129a55 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_nan.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_nan.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2007 David Schultz
  * All rights reserved.
@@ -24,8 +24,6 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- *
- * $FreeBSD$
  */
 
 #include <sys/endian.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_nearbyint.c b/libm/upstream-freebsd/lib/msun/src/s_nearbyint.c
index 796dbaf..3dcaf98 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_nearbyint.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_nearbyint.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2004 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <fenv.h>
 #include <math.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_nextafter.c b/libm/upstream-freebsd/lib/msun/src/s_nextafter.c
index 52dd21c..1b394e5 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_nextafter.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_nextafter.c
@@ -1,4 +1,3 @@
-/* @(#)s_nextafter.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* IEEE functions
  *	nextafter(x,y)
  *	return the next machine floating-point number of x in the
diff --git a/libm/upstream-freebsd/lib/msun/src/s_nextafterf.c b/libm/upstream-freebsd/lib/msun/src/s_nextafterf.c
index 96e21ef..418b126 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_nextafterf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_nextafterf.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_nextafterl.c b/libm/upstream-freebsd/lib/msun/src/s_nextafterl.c
index 9c61a43..fe5a010 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_nextafterl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_nextafterl.c
@@ -1,4 +1,3 @@
-/* @(#)s_nextafter.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* IEEE functions
  *	nextafter(x,y)
  *	return the next machine floating-point number of x in the
diff --git a/libm/upstream-freebsd/lib/msun/src/s_nexttoward.c b/libm/upstream-freebsd/lib/msun/src/s_nexttoward.c
index b2a50d3..5482dc2 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_nexttoward.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_nexttoward.c
@@ -1,4 +1,3 @@
-/* @(#)s_nextafter.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * We assume that a long double has a 15-bit exponent.  On systems
  * where long double is the same as double, nexttoward() is an alias
diff --git a/libm/upstream-freebsd/lib/msun/src/s_nexttowardf.c b/libm/upstream-freebsd/lib/msun/src/s_nexttowardf.c
index 9ddfff9..05c89f4 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_nexttowardf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_nexttowardf.c
@@ -9,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 
 #include "fpmath.h"
diff --git a/libm/upstream-freebsd/lib/msun/src/s_remquo.c b/libm/upstream-freebsd/lib/msun/src/s_remquo.c
index 6a111df..206d290 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_remquo.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_remquo.c
@@ -1,4 +1,3 @@
-/* @(#)e_fmod.c 1.3 95/01/18 */
 /*-
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 
 #include "math.h"
diff --git a/libm/upstream-freebsd/lib/msun/src/s_remquof.c b/libm/upstream-freebsd/lib/msun/src/s_remquof.c
index f4c1016..9cd1485 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_remquof.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_remquof.c
@@ -1,4 +1,3 @@
-/* @(#)e_fmod.c 1.3 95/01/18 */
 /*-
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_remquol.c b/libm/upstream-freebsd/lib/msun/src/s_remquol.c
index a9f5813..0dadcea 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_remquol.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_remquol.c
@@ -1,4 +1,3 @@
-/* @(#)e_fmod.c 1.3 95/01/18 */
 /*-
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 #include <stdint.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_rint.c b/libm/upstream-freebsd/lib/msun/src/s_rint.c
index c56f8fb..d82a9d0 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_rint.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_rint.c
@@ -1,4 +1,3 @@
-/* @(#)s_rint.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * rint(x)
  * Return x rounded to integral value according to the prevailing
diff --git a/libm/upstream-freebsd/lib/msun/src/s_rintf.c b/libm/upstream-freebsd/lib/msun/src/s_rintf.c
index f8743a4..3f0cb90 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_rintf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_rintf.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 #include <stdint.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_rintl.c b/libm/upstream-freebsd/lib/msun/src/s_rintl.c
index 1e9824d..72c9cab 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_rintl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_rintl.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2008 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 #include <math.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_round.c b/libm/upstream-freebsd/lib/msun/src/s_round.c
index ca25f8e..c1b55f5 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_round.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_round.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2003, Steven G. Kargl
  * All rights reserved.
@@ -26,9 +26,6 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 
 #include "math.h"
diff --git a/libm/upstream-freebsd/lib/msun/src/s_roundf.c b/libm/upstream-freebsd/lib/msun/src/s_roundf.c
index 5bbf6b3..7c09e09 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_roundf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_roundf.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2003, Steven G. Kargl
  * All rights reserved.
@@ -26,9 +26,6 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_roundl.c b/libm/upstream-freebsd/lib/msun/src/s_roundl.c
index 8d1c02a..bc5dfe5 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_roundl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_roundl.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2003, Steven G. Kargl
  * All rights reserved.
@@ -26,9 +26,6 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 #ifdef __i386__
 #include <ieeefp.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_scalbln.c b/libm/upstream-freebsd/lib/msun/src/s_scalbln.c
index c27420c..42e4669 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_scalbln.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_scalbln.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2004 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <math.h>
 
 #define	NMAX	65536
diff --git a/libm/upstream-freebsd/lib/msun/src/s_significand.c b/libm/upstream-freebsd/lib/msun/src/s_significand.c
index 356e300..62571bb 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_significand.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_significand.c
@@ -1,4 +1,3 @@
-/* @(#)s_signif.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * significand(x) computes just
  * 	scalb(x, (double) -ilogb(x)),
@@ -25,5 +21,5 @@
 double
 significand(double x)
 {
-	return __ieee754_scalb(x,(double) -ilogb(x));
+	return scalb(x,(double) -ilogb(x));
 }
diff --git a/libm/upstream-freebsd/lib/msun/src/s_significandf.c b/libm/upstream-freebsd/lib/msun/src/s_significandf.c
index ad030e2..3cdaa4d 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_significandf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_significandf.c
@@ -13,14 +13,11 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
 float
 significandf(float x)
 {
-	return __ieee754_scalbf(x,(float) -ilogbf(x));
+	return scalbf(x,(float) -ilogbf(x));
 }
diff --git a/libm/upstream-freebsd/lib/msun/src/s_sin.c b/libm/upstream-freebsd/lib/msun/src/s_sin.c
index 17ea846..614bcc2 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_sin.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_sin.c
@@ -1,4 +1,3 @@
-/* @(#)s_sin.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* sin(x)
  * Return sine function of x.
  *
diff --git a/libm/upstream-freebsd/lib/msun/src/s_sincos.c b/libm/upstream-freebsd/lib/msun/src/s_sincos.c
index 85e8d74..4e819ea 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_sincos.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_sincos.c
@@ -12,9 +12,6 @@
  * algorithms are contained in the original files.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 
 #include "math.h"
diff --git a/libm/upstream-freebsd/lib/msun/src/s_sincosf.c b/libm/upstream-freebsd/lib/msun/src/s_sincosf.c
deleted file mode 100644
index 755ff05..0000000
--- a/libm/upstream-freebsd/lib/msun/src/s_sincosf.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/*-
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-/* s_sincosf.c -- float version of s_sincos.c.
- * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
- * Optimized by Bruce D. Evans.
- * Merged s_sinf.c and s_cosf.c by Steven G. Kargl.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <float.h>
-
-#include "math.h"
-#define INLINE_REM_PIO2F
-#include "math_private.h"
-#include "e_rem_pio2f.c"
-#include "k_sincosf.h"
-
-/* Small multiples of pi/2 rounded to double precision. */
-static const double
-p1pio2 = 1*M_PI_2,			/* 0x3FF921FB, 0x54442D18 */
-p2pio2 = 2*M_PI_2,			/* 0x400921FB, 0x54442D18 */
-p3pio2 = 3*M_PI_2,			/* 0x4012D97C, 0x7F3321D2 */
-p4pio2 = 4*M_PI_2;			/* 0x401921FB, 0x54442D18 */
-
-void
-sincosf(float x, float *sn, float *cs)
-{
-	float c, s;
-	double y;
-	int32_t n, hx, ix;
-
-	GET_FLOAT_WORD(hx, x);
-	ix = hx & 0x7fffffff;
-
-	if (ix <= 0x3f490fda) {		/* |x| ~<= pi/4 */
-		if (ix < 0x39800000) {	/* |x| < 2**-12 */
-			if ((int)x == 0) {
-				*sn = x;	/* x with inexact if x != 0 */
-				*cs = 1;
-				return;
-			}
-		}
-		__kernel_sincosdf(x, sn, cs);
-		return;
-	}
-
-	if (ix <= 0x407b53d1) {		/* |x| ~<= 5*pi/4 */
-		if (ix <= 0x4016cbe3) {	/* |x| ~<= 3pi/4 */
-			if (hx > 0) {
-				__kernel_sincosdf(x - p1pio2, cs, sn);
-				*cs = -*cs;
-			} else {
-				__kernel_sincosdf(x + p1pio2, cs, sn);
-				*sn = -*sn;
-			}
-		} else {
-			if (hx > 0)
-				__kernel_sincosdf(x - p2pio2, sn, cs);
-			else
-				__kernel_sincosdf(x + p2pio2, sn, cs);
-			*sn = -*sn;
-			*cs = -*cs;
-		}
-		return;
-	}
-
-	if (ix <= 0x40e231d5) {		/* |x| ~<= 9*pi/4 */
-		if (ix <= 0x40afeddf) {	/* |x| ~<= 7*pi/4 */
-			if (hx > 0) {
-				__kernel_sincosdf(x - p3pio2, cs, sn);
-				*sn = -*sn;
-			} else {
-				__kernel_sincosdf(x + p3pio2, cs, sn);
-				*cs = -*cs;
-			}
-		} else {
-			if (hx > 0)
-				__kernel_sincosdf(x - p4pio2, sn, cs);
-			else
-				__kernel_sincosdf(x + p4pio2, sn, cs);
-		}
-		return;
-	}
-
-	/* If x = Inf or NaN, then sin(x) = NaN and cos(x) = NaN. */
-	if (ix >= 0x7f800000) {
-		*sn = x - x;
-		*cs = x - x;
-		return;
-	}
-
-	/* Argument reduction. */
-	n = __ieee754_rem_pio2f(x, &y);
-	__kernel_sincosdf(y, &s, &c);
-
-	switch(n & 3) {
-	case 0:
-		*sn = s;
-		*cs = c;
-		break;
-	case 1:
-		*sn = c;
-		*cs = -s;
-		break;
-	case 2:
-		*sn = -s;
-		*cs = -c;
-		break;
-	default:
-		*sn = -c;
-		*cs = s;
-	}
-}
-
-
diff --git a/libm/upstream-freebsd/lib/msun/src/s_sincosl.c b/libm/upstream-freebsd/lib/msun/src/s_sincosl.c
index 3dd3457..7fb69aa 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_sincosl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_sincosl.c
@@ -26,9 +26,6 @@
  * s_sinl.c and s_cosl.c merged by Steven G. Kargl.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 #ifdef __i386__
 #include <ieeefp.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_sinf.c b/libm/upstream-freebsd/lib/msun/src/s_sinf.c
deleted file mode 100644
index 41b5dc1..0000000
--- a/libm/upstream-freebsd/lib/msun/src/s_sinf.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* s_sinf.c -- float version of s_sin.c.
- * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
- * Optimized by Bruce D. Evans.
- */
-
-/*
- * ====================================================
- * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
- *
- * Developed at SunPro, a Sun Microsystems, Inc. business.
- * Permission to use, copy, modify, and distribute this
- * software is freely granted, provided that this notice
- * is preserved.
- * ====================================================
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <float.h>
-
-#include "math.h"
-#define	INLINE_KERNEL_COSDF
-#define	INLINE_KERNEL_SINDF
-#define INLINE_REM_PIO2F
-#include "math_private.h"
-#include "e_rem_pio2f.c"
-#include "k_cosf.c"
-#include "k_sinf.c"
-
-/* Small multiples of pi/2 rounded to double precision. */
-static const double
-s1pio2 = 1*M_PI_2,			/* 0x3FF921FB, 0x54442D18 */
-s2pio2 = 2*M_PI_2,			/* 0x400921FB, 0x54442D18 */
-s3pio2 = 3*M_PI_2,			/* 0x4012D97C, 0x7F3321D2 */
-s4pio2 = 4*M_PI_2;			/* 0x401921FB, 0x54442D18 */
-
-float
-sinf(float x)
-{
-	double y;
-	int32_t n, hx, ix;
-
-	GET_FLOAT_WORD(hx,x);
-	ix = hx & 0x7fffffff;
-
-	if(ix <= 0x3f490fda) {		/* |x| ~<= pi/4 */
-	    if(ix<0x39800000)		/* |x| < 2**-12 */
-		if(((int)x)==0) return x;	/* x with inexact if x != 0 */
-	    return __kernel_sindf(x);
-	}
-	if(ix<=0x407b53d1) {		/* |x| ~<= 5*pi/4 */
-	    if(ix<=0x4016cbe3) {	/* |x| ~<= 3pi/4 */
-		if(hx>0)
-		    return __kernel_cosdf(x - s1pio2);
-		else
-		    return -__kernel_cosdf(x + s1pio2);
-	    } else
-		return __kernel_sindf((hx > 0 ? s2pio2 : -s2pio2) - x);
-	}
-	if(ix<=0x40e231d5) {		/* |x| ~<= 9*pi/4 */
-	    if(ix<=0x40afeddf) {	/* |x| ~<= 7*pi/4 */
-		if(hx>0)
-		    return -__kernel_cosdf(x - s3pio2);
-		else
-		    return __kernel_cosdf(x + s3pio2);
-	    } else
-		return __kernel_sindf(x + (hx > 0 ? -s4pio2 : s4pio2));
-	}
-
-    /* sin(Inf or NaN) is NaN */
-	else if (ix>=0x7f800000) return x-x;
-
-    /* general argument reduction needed */
-	else {
-	    n = __ieee754_rem_pio2f(x,&y);
-	    switch(n&3) {
-		case 0: return  __kernel_sindf(y);
-		case 1: return  __kernel_cosdf(y);
-		case 2: return  __kernel_sindf(-y);
-		default:
-			return -__kernel_cosdf(y);
-	    }
-	}
-}
diff --git a/libm/upstream-freebsd/lib/msun/src/s_sinl.c b/libm/upstream-freebsd/lib/msun/src/s_sinl.c
index f1ef84c..d0b7b34 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_sinl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_sinl.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2007 Steven G. Kargl
  * All rights reserved.
@@ -26,9 +26,6 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 #ifdef __i386__
 #include <ieeefp.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/s_sinpi.c b/libm/upstream-freebsd/lib/msun/src/s_sinpi.c
index 858459a..8b388de 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_sinpi.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_sinpi.c
@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2017 Steven G. Kargl
+ * Copyright (c) 2017, 2023 Steven G. Kargl
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -118,16 +118,7 @@
 	}
 
 	if (ix < 0x43300000) {			/* 1 <= |x| < 0x1p52 */
-		/* Determine integer part of ax. */
-		j0 = ((ix >> 20) & 0x7ff) - 0x3ff;
-		if (j0 < 20) {
-			ix &= ~(0x000fffff >> j0);
-			lx = 0;
-		} else {
-			lx &= ~((uint32_t)0xffffffff >> (j0 - 20));
-		}
-		INSERT_WORDS(x, ix, lx);
-
+		FFLOOR(x, j0, ix, lx);	/* Integer part of ax. */
 		ax -= x;
 		EXTRACT_WORDS(ix, lx, ax);
 
@@ -155,7 +146,8 @@
 		return ((hx & 0x80000000) ? -s : s);
 	}
 
-	if (ix >= 0x7f800000)
+	/* x = +-inf or nan. */
+	if (ix >= 0x7ff00000)
 		return (vzero / vzero);
 
 	/*
diff --git a/libm/upstream-freebsd/lib/msun/src/s_tan.c b/libm/upstream-freebsd/lib/msun/src/s_tan.c
index 196c27e..20b9516 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_tan.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_tan.c
@@ -1,4 +1,3 @@
-/* @(#)s_tan.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* tan(x)
  * Return tangent function of x.
  *
diff --git a/libm/upstream-freebsd/lib/msun/src/s_tanf.c b/libm/upstream-freebsd/lib/msun/src/s_tanf.c
index 4fe8c17..2462f96 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_tanf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_tanf.c
@@ -14,9 +14,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <float.h>
 
 #include "math.h"
diff --git a/libm/upstream-freebsd/lib/msun/src/s_tanh.c b/libm/upstream-freebsd/lib/msun/src/s_tanh.c
index 6d26c69..cc8daed 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_tanh.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_tanh.c
@@ -1,4 +1,3 @@
-/* @(#)s_tanh.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /* Tanh(x)
  * Return the Hyperbolic Tangent of x
  *
diff --git a/libm/upstream-freebsd/lib/msun/src/s_tanhf.c b/libm/upstream-freebsd/lib/msun/src/s_tanhf.c
index f537be4..e56813a 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_tanhf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_tanhf.c
@@ -13,9 +13,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include "math.h"
 #include "math_private.h"
 
diff --git a/libm/upstream-freebsd/lib/msun/src/s_tanhl.c b/libm/upstream-freebsd/lib/msun/src/s_tanhl.c
index b753186..3285b9a 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_tanhl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_tanhl.c
@@ -1,6 +1,5 @@
 /* from: FreeBSD: head/lib/msun/src/s_tanhl.c XXX */
 
-/* @(#)s_tanh.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -12,9 +11,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * See s_tanh.c for complete comments.
  *
diff --git a/libm/upstream-freebsd/lib/msun/src/s_tanl.c b/libm/upstream-freebsd/lib/msun/src/s_tanl.c
index 0c5228e..3736477 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_tanl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_tanl.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2007 Steven G. Kargl
  * All rights reserved.
@@ -26,9 +26,6 @@
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * Limited testing on pseudorandom numbers drawn within [0:4e8] shows
  * an accuracy of <= 1.5 ULP where 247024 values of x out of 40 million
diff --git a/libm/upstream-freebsd/lib/msun/src/s_tgammaf.c b/libm/upstream-freebsd/lib/msun/src/s_tgammaf.c
index 1fd46e8..9fa9df9 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_tgammaf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_tgammaf.c
@@ -1,5 +1,5 @@
 /*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
  *
  * Copyright (c) 2008 David Schultz <das@FreeBSD.ORG>
  * All rights reserved.
@@ -26,9 +26,6 @@
  * SUCH DAMAGE.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <math.h>
 
 /*
diff --git a/libm/upstream-freebsd/lib/msun/src/s_trunc.c b/libm/upstream-freebsd/lib/msun/src/s_trunc.c
index 63a6753..3ec59f2 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_trunc.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_trunc.c
@@ -1,4 +1,3 @@
-/* @(#)s_floor.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * trunc(x)
  * Return x rounded toward 0 to integral value
diff --git a/libm/upstream-freebsd/lib/msun/src/s_truncf.c b/libm/upstream-freebsd/lib/msun/src/s_truncf.c
index 384eaee..3f4db30 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_truncf.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_truncf.c
@@ -1,4 +1,3 @@
-/* @(#)s_floor.c 5.1 93/09/24 */
 /*
  * ====================================================
  * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
@@ -10,9 +9,6 @@
  * ====================================================
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * truncf(x)
  * Return x rounded toward 0 to integral value
diff --git a/libm/upstream-freebsd/lib/msun/src/s_truncl.c b/libm/upstream-freebsd/lib/msun/src/s_truncl.c
index 9e2b511..81e794d 100644
--- a/libm/upstream-freebsd/lib/msun/src/s_truncl.c
+++ b/libm/upstream-freebsd/lib/msun/src/s_truncl.c
@@ -7,13 +7,8 @@
  * software is freely granted, provided that this notice
  * is preserved.
  * ====================================================
- *
- * From: @(#)s_floor.c 5.1 93/09/24
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 /*
  * truncl(x)
  * Return x rounded toward 0 to integral value
diff --git a/libm/upstream-freebsd/lib/msun/src/w_cabs.c b/libm/upstream-freebsd/lib/msun/src/w_cabs.c
index 543b858..4986461 100644
--- a/libm/upstream-freebsd/lib/msun/src/w_cabs.c
+++ b/libm/upstream-freebsd/lib/msun/src/w_cabs.c
@@ -5,9 +5,6 @@
  * Placed into the Public Domain, 1994.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <float.h>
 #include <math.h>
diff --git a/libm/upstream-freebsd/lib/msun/src/w_cabsf.c b/libm/upstream-freebsd/lib/msun/src/w_cabsf.c
index b5065c8..aedbdef 100644
--- a/libm/upstream-freebsd/lib/msun/src/w_cabsf.c
+++ b/libm/upstream-freebsd/lib/msun/src/w_cabsf.c
@@ -5,11 +5,6 @@
  * Placed into the Public Domain, 1994.
  */
 
-#ifndef lint
-static const char rcsid[] =
-  "$FreeBSD$";
-#endif /* not lint */
-
 #include <complex.h>
 #include <math.h>
 #include "math_private.h"
diff --git a/libm/upstream-freebsd/lib/msun/src/w_cabsl.c b/libm/upstream-freebsd/lib/msun/src/w_cabsl.c
index b715e0c..1539944 100644
--- a/libm/upstream-freebsd/lib/msun/src/w_cabsl.c
+++ b/libm/upstream-freebsd/lib/msun/src/w_cabsl.c
@@ -7,9 +7,6 @@
  * Modified by Steven G. Kargl for the long double type.
  */
 
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
 #include <complex.h>
 #include <math.h>
 
diff --git a/libm/upstream-freebsd/lib/msun/src/w_dremf.c b/libm/upstream-freebsd/lib/msun/src/w_dremf.c
index 4bfcff2..18df078 100644
--- a/libm/upstream-freebsd/lib/msun/src/w_dremf.c
+++ b/libm/upstream-freebsd/lib/msun/src/w_dremf.c
@@ -4,7 +4,6 @@
  * Written by J.T. Conklin, <jtc@wimsey.com>
  * Placed into the Public Domain, 1994.
  */
-/* $FreeBSD$ */
 
 #include "math.h"
 #include "math_private.h"
diff --git a/libm/x86/lrint.S b/libm/x86/lrint.S
deleted file mode 100644
index df26b30..0000000
--- a/libm/x86/lrint.S
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-Copyright (c) 2014, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#include <private/bionic_asm.h>
-
-ENTRY(lrint)
-  // LP32 sizeof(long) == 4.
-  movsd     0x4(%esp),%xmm0
-  cvtsd2si  %xmm0, %eax
-  ret
-END(lrint)
-
-// LP32 sizeof(long double) == sizeof(double).
-ALIAS_SYMBOL(lrintl, lrint);
diff --git a/libm/x86/lrintf.S b/libm/x86/lrintf.S
deleted file mode 100644
index d2dae03..0000000
--- a/libm/x86/lrintf.S
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-Copyright (c) 2014, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#include <private/bionic_asm.h>
-
-ENTRY(lrintf)
-  // LP32 sizeof(long) == 4.
-  movss     0x4(%esp),%xmm0
-  cvtss2si  %xmm0, %eax
-  ret
-END(lrintf)
diff --git a/libm/x86_64/lrint.S b/libm/x86_64/lrint.S
deleted file mode 100644
index d678761..0000000
--- a/libm/x86_64/lrint.S
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright (c) 2014, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#include <private/bionic_asm.h>
-
-ENTRY(lrint)
-  // LP64 sizeof(long) == 8.
-  cvtsd2si  %xmm0, %rax
-  ret
-END(lrint)
-
-// LP64 sizeof(long long) == sizeof(long).
-ALIAS_SYMBOL(llrint, lrint);
diff --git a/libm/x86_64/lrintf.S b/libm/x86_64/lrintf.S
deleted file mode 100644
index 3d3acfb..0000000
--- a/libm/x86_64/lrintf.S
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright (c) 2014, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice,
-    * this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-    * this list of conditions and the following disclaimer in the documentation
-    * and/or other materials provided with the distribution.
-
-    * Neither the name of Intel Corporation nor the names of its contributors
-    * may be used to endorse or promote products derived from this software
-    * without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#include <private/bionic_asm.h>
-
-ENTRY(lrintf)
-  // LP64 sizeof(long) == 8.
-  cvtss2si  %xmm0, %rax
-  ret
-END(lrintf)
-
-// LP64 sizeof(long long) == sizeof(long).
-ALIAS_SYMBOL(llrintf, lrintf);
diff --git a/linker/Android.bp b/linker/Android.bp
index 020bd7d..4863b92 100644
--- a/linker/Android.bp
+++ b/linker/Android.bp
@@ -1,15 +1,5 @@
-// ========================================================
-// linker_wrapper - Linux Bionic (on the host)
-// ========================================================
-
-// This is used for bionic on (host) Linux to bootstrap our linker embedded into
-// a binary.
-//
-// Host bionic binaries do not have a PT_INTERP section, instead this gets
-// embedded as the entry point, and the linker is embedded as ELF sections in
-// each binary. There's a linker script that sets all of that up (generated by
-// extract_linker), and defines the extern symbols used in this file.
 package {
+    default_team: "trendy_team_native_tools_libraries",
     default_applicable_licenses: ["bionic_linker_license"],
 }
 
@@ -24,6 +14,27 @@
     ],
 }
 
+linker_common_flags = [
+    "-fno-stack-protector",
+    "-Wstrict-overflow=5",
+    "-fvisibility=hidden",
+    "-Wall",
+    "-Wextra",
+    "-Wunused",
+    "-Werror",
+]
+
+// ========================================================
+// linker_wrapper - Linux Bionic (on the host)
+// ========================================================
+
+// This is used for bionic on (host) Linux to bootstrap our linker embedded into
+// a binary.
+//
+// Host bionic binaries do not have a PT_INTERP section, instead this gets
+// embedded as the entry point, and the linker is embedded as ELF sections in
+// each binary. There's a linker script that sets all of that up (generated by
+// extract_linker), and defines the extern symbols used in this file.
 cc_object {
     name: "linker_wrapper",
     host_supported: true,
@@ -35,15 +46,7 @@
         },
     },
 
-    cflags: [
-        "-fno-stack-protector",
-        "-Wstrict-overflow=5",
-        "-fvisibility=hidden",
-        "-Wall",
-        "-Wextra",
-        "-Wno-unused",
-        "-Werror",
-    ],
+    cflags: linker_common_flags,
 
     srcs: [
         "linker_wrapper.cpp",
@@ -82,26 +85,8 @@
         },
     },
 
-    cflags: [
-        "-fno-stack-protector",
-        "-Wstrict-overflow=5",
-        "-fvisibility=hidden",
-        "-Wall",
-        "-Wextra",
-        "-Wunused",
-        "-Werror",
-    ],
-
-    // TODO: split out the asflags.
-    asflags: [
-        "-fno-stack-protector",
-        "-Wstrict-overflow=5",
-        "-fvisibility=hidden",
-        "-Wall",
-        "-Wextra",
-        "-Wunused",
-        "-Werror",
-    ],
+    cflags: linker_common_flags,
+    asflags: linker_common_flags,
 
     product_variables: {
         debuggable: {
@@ -123,6 +108,12 @@
 
     // We need to access Bionic private headers in the linker.
     include_dirs: ["bionic/libc"],
+
+    sanitize: {
+        // Supporting memtag_globals in the linker would be tricky,
+        // because it relocates itself very early.
+        memtag_globals: false,
+    },
 }
 
 // ========================================================
@@ -141,22 +132,37 @@
 
 cc_library_static {
     name: "liblinker_main",
-    defaults: ["linker_defaults", "linker_all_targets"],
+    defaults: [
+        "linker_defaults",
+        "linker_all_targets",
+    ],
     srcs: ["linker_main.cpp"],
 
     // Ensure that the compiler won't insert string function calls before ifuncs are resolved.
     cflags: ["-ffreestanding"],
+    apex_available: [
+        "com.android.runtime",
+    ],
 }
 
 cc_library_static {
     name: "liblinker_malloc",
-    defaults: ["linker_defaults", "linker_all_targets"],
+    defaults: [
+        "linker_defaults",
+        "linker_all_targets",
+    ],
     srcs: ["linker_memory.cpp"],
+    apex_available: [
+        "com.android.runtime",
+    ],
 }
 
 cc_library_static {
     name: "liblinker_debuggerd_stub",
-    defaults: ["linker_defaults", "linker_all_targets"],
+    defaults: [
+        "linker_defaults",
+        "linker_all_targets",
+    ],
     srcs: ["linker_debuggerd_stub.cpp"],
 }
 
@@ -169,6 +175,7 @@
     srcs: [
         "dlfcn.cpp",
         "linker.cpp",
+        "linker_auxv.cpp",
         "linker_block_allocator.cpp",
         "linker_dlwarning.cpp",
         "linker_cfi.cpp",
@@ -183,6 +190,7 @@
         "linker_mapped_file_fragment.cpp",
         "linker_note_gnu_property.cpp",
         "linker_phdr.cpp",
+        "linker_phdr_16kib_compat.cpp",
         "linker_relocate.cpp",
         "linker_sdk_versions.cpp",
         "linker_soinfo.cpp",
@@ -214,6 +222,7 @@
     name: "linker_sources_riscv64",
     srcs: [
         "arch/riscv64/begin.S",
+        "arch/riscv64/tlsdesc_resolver.S",
     ],
 }
 
@@ -234,123 +243,103 @@
 cc_defaults {
     name: "linker_version_script_overlay",
     arch: {
-        arm:     { version_script: "linker.arm.map"      },
-        arm64:   { version_script: "linker.generic.map"  },
-        riscv64: { version_script: "linker.generic.map"  },
-        x86:     { version_script: "linker.generic.map"  },
-        x86_64:  { version_script: "linker.generic.map"  },
+        arm: {
+            version_script: "linker.arm.map",
+        },
+        arm64: {
+            version_script: "linker.generic.map",
+        },
+        riscv64: {
+            version_script: "linker.generic.map",
+        },
+        x86: {
+            version_script: "linker.generic.map",
+        },
+        x86_64: {
+            version_script: "linker.generic.map",
+        },
     },
 }
 
 // A template for the linker binary. May be inherited by native bridge implementations.
 cc_defaults {
     name: "linker_bin_template",
-    defaults: ["linker_defaults"],
+    defaults: [
+        "linker_defaults",
+        "keep_symbols",
+    ],
 
     srcs: [":linker_sources"],
 
     arch: {
         arm: {
             srcs: [":linker_sources_arm"],
-
-            // Arm 32 bit does not produce complete exidx unwind information
-            // so keep the .debug_frame which is relatively small and does
-            // include needed unwind information.
-            // See b/242162222 for details.
-            strip: {
-                keep_symbols_and_debug_frame: true,
-            },
         },
         arm64: {
             srcs: [":linker_sources_arm64"],
-
-            // Leave the symbols in the shared library so that stack unwinders can produce
-            // meaningful name resolution.
-            strip: {
-                keep_symbols: true,
-            },
         },
         riscv64: {
             srcs: [":linker_sources_riscv64"],
-
-            // Leave the symbols in the shared library so that stack unwinders can produce
-            // meaningful name resolution.
-            strip: {
-                keep_symbols: true,
-            },
         },
         x86: {
             srcs: [":linker_sources_x86"],
-
-            // Leave the symbols in the shared library so that stack unwinders can produce
-            // meaningful name resolution.
-            strip: {
-                keep_symbols: true,
-            },
         },
         x86_64: {
             srcs: [":linker_sources_x86_64"],
-
-            // Leave the symbols in the shared library so that stack unwinders can produce
-            // meaningful name resolution.
-            strip: {
-                keep_symbols: true,
-            },
         },
     },
 
+    static_executable: true,
+
     // -shared is used to overwrite the -Bstatic and -static flags triggered by enabling
-    // static_executable. This dynamic linker is actually a shared object linked with static
+    // static_executable. The dynamic linker is actually a shared object linked with static
     // libraries.
     ldflags: [
         "-shared",
         "-Wl,-Bsymbolic",
         "-Wl,--exclude-libs,ALL",
         "-Wl,-soname,ld-android.so",
+        // When the linker applies its own IRELATIVE relocations, it will only read DT_REL[A] and
+        // DT_JMPREL, not DT_ANDROID_REL[A], which can also theoretically contain IRELATIVE
+        // relocations. lld has been taught to not store them there as a bug workaround (see
+        // https://llvm.org/pr86751) but the workaround could be removed at some point in the
+        // future. So we explicitly prevent it from doing so by disabling DT_ANDROID_REL[A] when
+        // linking the linker (DT_RELR cannot encode IRELATIVE relocations).
+        "-Wl,--pack-dyn-relocs=relr",
     ],
 
-    // we are going to link libc++_static manually because
-    // when stl is not set to "none" build system adds libdl
-    // to the list of static libraries which needs to be
-    // avoided in the case of building loader.
+    // We link libc++_static manually because otherwise the build system will
+    // automatically add libdl to the list of static libraries.
     stl: "none",
 
-    // we don't want crtbegin.o (because we have begin.o), so unset it
-    // just for this module
+    // We don't want crtbegin.o (because we have our own arch/*/begin.o),
+    // so unset it just for this module.
     nocrt: true,
 
-    static_executable: true,
-
     // Insert an extra objcopy step to add prefix to symbols. This is needed to prevent gdb
     // looking up symbols in the linker by mistake.
     prefix_symbols: "__dl_",
 
     sanitize: {
         hwaddress: false,
+        memtag_stack: false,
     },
 
     static_libs: [
         "liblinker_main",
         "liblinker_malloc",
 
-        "libc++_static",
+        // We use a version of libc++ built without exceptions,
+        // because accessing EH globals uses ELF TLS,
+        // which is not supported in the loader.
+        "libc++_static_noexcept",
+
         "libc_nomalloc",
         "libc_dynamic_dispatch",
         "libm",
         "libunwind",
     ],
 
-    // Ensure that if the linker needs __gnu_Unwind_Find_exidx, then the linker will have a
-    // definition of the symbol. The linker links against libgcc.a, whose arm32 unwinder has a weak
-    // reference to __gnu_Unwind_Find_exidx, which isn't sufficient to pull in the strong definition
-    // of __gnu_Unwind_Find_exidx from libc. An unresolved weak reference would create a
-    // non-relative dynamic relocation in the linker binary, which complicates linker startup.
-    //
-    // This line should be unnecessary because the linker's dependency on libunwind_llvm.a should
-    // override libgcc.a, but this line provides a simpler guarantee. It can be removed once the
-    // linker stops linking against libgcc.a's arm32 unwinder.
-    whole_static_libs: ["libc_unwind_static"],
-
     system_shared_libs: [],
 
     // Opt out of native_coverage when opting out of system_shared_libs
@@ -400,7 +389,7 @@
                 "linker_debuggerd_android.cpp",
             ],
             static_libs: [
-                "libc++demangle",
+                "libc++demangle_noexcept",
                 "libdebuggerd_handler_fallback",
             ],
         },
@@ -437,35 +426,6 @@
 }
 
 cc_library {
-    // NOTE: --exclude-libs=libgcc.a makes sure that any symbols ld-android.so pulls from
-    // libgcc.a are made static to ld-android.so.  This in turn ensures that libraries that
-    // a) pull symbols from libgcc.a and b) depend on ld-android.so will not rely on ld-android.so
-    // to provide those symbols, but will instead pull them from libgcc.a.  Specifically,
-    // we use this property to make sure libc.so has its own copy of the code from
-    // libgcc.a it uses.
-    //
-    // DO NOT REMOVE --exclude-libs!
-
-    ldflags: [
-        "-Wl,--exclude-libs=libgcc.a",
-        "-Wl,--exclude-libs=libgcc_stripped.a",
-        "-Wl,--exclude-libs=libclang_rt.builtins-arm-android.a",
-        "-Wl,--exclude-libs=libclang_rt.builtins-aarch64-android.a",
-        "-Wl,--exclude-libs=libclang_rt.builtins-riscv64-android.a",
-        "-Wl,--exclude-libs=libclang_rt.builtins-i686-android.a",
-        "-Wl,--exclude-libs=libclang_rt.builtins-x86_64-android.a",
-    ],
-
-    // for x86, exclude libgcc_eh.a for the same reasons as above
-    arch: {
-        x86: {
-            ldflags: ["-Wl,--exclude-libs=libgcc_eh.a"],
-        },
-        x86_64: {
-            ldflags: ["-Wl,--exclude-libs=libgcc_eh.a"],
-        },
-    },
-
     srcs: ["ld_android.cpp"],
     cflags: [
         "-Wall",
@@ -476,7 +436,10 @@
     stl: "none",
 
     name: "ld-android",
-    defaults: ["linux_bionic_supported", "linker_version_script_overlay"],
+    defaults: [
+        "linux_bionic_supported",
+        "linker_version_script_overlay",
+    ],
     ramdisk_available: true,
     vendor_ramdisk_available: true,
     recovery_available: true,
@@ -497,10 +460,6 @@
         "//apex_available:platform",
         "com.android.runtime",
     ],
-
-    lto: {
-        never: true,
-    },
 }
 
 cc_test {
@@ -527,20 +486,34 @@
         "linker_sleb128_test.cpp",
         "linker_utils_test.cpp",
         "linker_gnu_hash_test.cpp",
+        "linker_crt_pad_segment_test.cpp",
 
         // Parts of the linker that we're testing.
+        ":elf_note_sources",
         "linker_block_allocator.cpp",
         "linker_config.cpp",
         "linker_debug.cpp",
         "linker_note_gnu_property.cpp",
         "linker_test_globals.cpp",
         "linker_utils.cpp",
+        "linker_phdr.cpp",
+        "linker_mapped_file_fragment.cpp",
+        "linker_sdk_versions.cpp",
+        "linker_dlwarning.cpp",
+        "linker_phdr_16kib_compat.cpp"
     ],
 
     static_libs: [
         "libasync_safe",
         "libbase",
         "liblog_for_runtime_apex",
+        "libprocinfo", // For procinfo::MappedFileSize()
+    ],
+
+    data_libs: [
+        "crt_pad_segment_disabled",
+        "crt_pad_segment_enabled",
+        "no_crt_pad_segment",
     ],
 
     arch: {
diff --git a/linker/NOTICE b/linker/NOTICE
index d61a193..9b66b4e 100644
--- a/linker/NOTICE
+++ b/linker/NOTICE
@@ -362,3 +362,59 @@
 
 -------------------------------------------------------------------
 
+Copyright (C) 2023 The Android Open Source Project
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+ * Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in
+   the documentation and/or other materials provided with the
+   distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
+Copyright (C) 2024 The Android Open Source Project
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+ * Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in
+   the documentation and/or other materials provided with the
+   distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
diff --git a/linker/arch/arm64/tlsdesc_resolver.S b/linker/arch/arm64/tlsdesc_resolver.S
index ad155e2..84407dd 100644
--- a/linker/arch/arm64/tlsdesc_resolver.S
+++ b/linker/arch/arm64/tlsdesc_resolver.S
@@ -56,12 +56,12 @@
   ldr x22, [x0]                 // TlsDynamicResolverArg::generation
 
   cmp x21, x22
-  b.lo .fallback
+  b.lo L(fallback)
 
   ldr x21, [x0, #8]             // TlsIndex::module_id
   ldr x22, [x0, #16]            // TlsIndex::offset
   ldr x21, [x20, x21, lsl #3]   // TlsDtv::modules[module_id]
-  cbz x21, .fallback
+  cbz x21, L(fallback)
   add x0, x21, x22
   sub x0, x0, x19
 
@@ -75,7 +75,7 @@
   .cfi_restore x20
   ret
 
-.fallback:
+L(fallback):
   .cfi_restore_state
   ldp x21, x22, [sp, #16]
   .cfi_restore x21
diff --git a/linker/arch/riscv64/begin.S b/linker/arch/riscv64/begin.S
index f7509c6..21665cb 100644
--- a/linker/arch/riscv64/begin.S
+++ b/linker/arch/riscv64/begin.S
@@ -33,7 +33,7 @@
   .cfi_undefined ra
 
   mv a0, sp
-  jal __linker_init
+  call __linker_init
 
   // __linker_init returns the address of the entry point in the main image.
   jr a0
diff --git a/linker/arch/riscv64/tlsdesc_resolver.S b/linker/arch/riscv64/tlsdesc_resolver.S
new file mode 100644
index 0000000..fedc926
--- /dev/null
+++ b/linker/arch/riscv64/tlsdesc_resolver.S
@@ -0,0 +1,201 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <platform/bionic/tls_defines.h>
+#include <private/bionic_asm.h>
+#include <private/bionic_elf_dtv_offset.h>
+
+#ifndef TLS_DTV_OFFSET
+  #error "TLS_DTV_OFFSET not defined"
+#endif
+
+.globl __tls_get_addr
+
+// spill a register onto the stack
+.macro spill reg, idx, f=
+  \f\()sd \reg, \idx*8(sp)
+  .cfi_rel_offset \reg, (\idx)*8
+.endm
+
+// reload a value from the stack
+.macro reload reg, idx, f=
+  \f\()ld \reg, \idx*8(sp)
+  .cfi_same_value \reg
+.endm
+
+.macro spill_vector_regs
+  csrr a3, vlenb
+  slli a3, a3, 3
+  sub sp, sp, a3
+  vs8r.v v0, (sp)
+  sub sp, sp, a3
+  vs8r.v v8, (sp)
+  sub sp, sp, a3
+  vs8r.v v16, (sp)
+  sub sp, sp, a3
+  vs8r.v v24, (sp)
+.endm
+
+.macro reload_vector_regs
+  csrr a3, vlenb
+  slli a3, a3, 3
+  vl8r.v v24, (sp)
+  add sp, sp, a3
+  vl8r.v v16, (sp)
+  add sp, sp, a3
+  vl8r.v v8, (sp)
+  add sp, sp, a3
+  vl8r.v v0, (sp)
+  add sp, sp, a3
+.endm
+
+// We save a total of 35 registers
+.macro for_each_saved_reg op max
+  \op ra, 1
+  \op a1, 2
+  \op a2, 3
+  \op a3, 4
+  \op a4, 5
+  \op a5, 6
+  \op a6, 7
+  \op a7, 8
+  \op t0, 9
+  \op t1, 10
+  \op t2, 11
+  \op t3, 12
+  \op t4, 13
+  \op t5, 14
+  \op t6, 15
+  // save floating point regs
+  \op ft0, 16, f
+  \op ft1, 17, f
+  \op ft2, 18, f
+  \op ft3, 19, f
+  \op ft4, 20, f
+  \op ft5, 21, f
+  \op ft6, 22, f
+  \op ft7, 23, f
+  \op ft8, 24, f
+  \op ft9, 25, f
+  \op ft10, 26, f
+  \op ft11, 27, f
+  \op fa0, 28, f
+  \op fa1, 29, f
+  \op fa2, 30, f
+  \op fa3, 31, f
+  \op fa4, 32, f
+  \op fa5, 33, f
+  \op fa6, 34, f
+  \op fa7, 35, f
+.endm
+
+// These resolver functions must preserve every register except a0. They set a0
+// to the offset of the TLS symbol relative to the thread pointer.
+
+ENTRY_PRIVATE(tlsdesc_resolver_static)
+  ld a0, 8(a0)
+  jr t0
+END(tlsdesc_resolver_static)
+
+ENTRY_PRIVATE(tlsdesc_resolver_dynamic)
+  // We only need 3 stack slots, but still require a 4th slot for alignment
+  addi sp, sp, -4*8
+  .cfi_def_cfa_offset 4*8
+  spill a1, 1
+  spill a2, 2
+  spill a3, 3
+
+  ld a2, (TLS_SLOT_DTV * 8)(tp) // a2 = &DTV
+  ld a1, (a2)                   // a1 = TlsDtv::generation (DTV[0])
+
+  ld a0, 8(a0)                  // a0 = TlsDynamicResolverArg*
+  ld a3, (a0)                   // a3 = TlsDynamicResolverArg::generation
+
+  // Fallback if TlsDtv::generation < TlsDynamicResolverArg::generation
+  // since we need to call __tls_get_addr
+  blt a1, a3, L(fallback)
+
+  // We can't modify a0 yet, since tlsdesc_resolver_dynamic_slow_path requires
+  // a pointer to the TlsIndex, which is the second field of the
+  // TlsDynamicResolverArg. As a result, we can't modify a0 until we will no
+  // longer fallback.
+  ld a1, 8(a0)                  // a1 = TlsIndex::module_id
+  slli a1, a1, 3                // a1 = module_id*8 -- scale the idx
+  add a1, a2, a1                // a1 = &TlsDtv::modules[module_id]
+  ld a1, (a1)                   // a1 = TlsDtv::modules[module_id]
+  beqz a1, L(fallback)
+  ld a3, 16(a0)                 // a3 = TlsIndex::offset
+  add a0, a1, a3                // a0 = TlsDtv::modules[module_id] + offset
+  sub a0, a0, tp                // a0 = TlsDtv::modules[module_id] + offset - tp
+
+  .cfi_remember_state
+  reload a3, 3
+  reload a2, 2
+  reload a1, 1
+  addi sp, sp, 4*8
+  .cfi_adjust_cfa_offset -4*8
+  jr t0
+
+L(fallback):
+  reload a3, 3
+  reload a2, 2
+  reload a1, 1
+  addi sp, sp, 4*8
+  .cfi_adjust_cfa_offset -4*8
+  j tlsdesc_resolver_dynamic_slow_path
+END(tlsdesc_resolver_dynamic)
+
+// On entry, a0 is the address of a TlsDynamicResolverArg object rather than
+// the TlsDescriptor address passed to the original resolver function.
+ENTRY_PRIVATE(tlsdesc_resolver_dynamic_slow_path)
+  // We save a total of 35 registers, but vector spills require an alignment
+  // of 16, so use an extra slot to align it correctly.
+  addi sp, sp, (-8*36)
+  .cfi_def_cfa_offset (8 * 36)
+  for_each_saved_reg spill, 36
+  spill_vector_regs
+
+  add a0, a0, 8
+  call __tls_get_addr
+  addi a0, a0, (-1 * TLS_DTV_OFFSET)  // Correct the address by TLS_DTV_OFFSET
+  sub a0, a0, tp
+
+  reload_vector_regs
+  for_each_saved_reg reload, 36
+  addi sp, sp, 8*36
+  .cfi_def_cfa_offset 0
+  jr t0
+END(tlsdesc_resolver_dynamic_slow_path)
+
+// The address of an unresolved weak TLS symbol evaluates to NULL with TLSDESC.
+// The value returned by this function is added to the thread pointer, so return
+// a negated thread pointer to cancel it out.
+ENTRY_PRIVATE(tlsdesc_resolver_unresolved_weak)
+  sub a0, zero, tp
+  jr t0
+END(tlsdesc_resolver_unresolved_weak)
diff --git a/linker/dlfcn.cpp b/linker/dlfcn.cpp
index a3f5246..f811d6d 100644
--- a/linker/dlfcn.cpp
+++ b/linker/dlfcn.cpp
@@ -89,6 +89,7 @@
                       const void* caller_addr) __LINKER_PUBLIC__;
 void __loader_add_thread_local_dtor(void* dso_handle) __LINKER_PUBLIC__;
 void __loader_remove_thread_local_dtor(void* dso_handle) __LINKER_PUBLIC__;
+void __loader_android_set_16kb_appcompat_mode(bool enable_app_compat) __LINKER_PUBLIC__;
 libc_shared_globals* __loader_shared_globals() __LINKER_PUBLIC__;
 #if defined(__arm__)
 _Unwind_Ptr __loader_dl_unwind_find_exidx(_Unwind_Ptr pc, int* pcount) __LINKER_PUBLIC__;
@@ -97,7 +98,7 @@
                                     void* context) __LINKER_PUBLIC__;
 }
 
-static pthread_mutex_t g_dl_mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
+pthread_mutex_t g_dl_mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
 
 static char* __bionic_set_dlerror(char* new_value) {
   char* old_value = __get_thread()->current_dlerror;
@@ -301,6 +302,11 @@
   decrement_dso_handle_reference_counter(dso_handle);
 }
 
+void __loader_android_set_16kb_appcompat_mode(bool enable_app_compat) {
+  ScopedPthreadMutexLocker locker(&g_dl_mutex);
+  set_16kb_appcompat_mode(enable_app_compat);
+}
+
 libc_shared_globals* __loader_shared_globals() {
   return __libc_shared_globals();
 }
@@ -331,6 +337,7 @@
     __libdl_info->gnu_bloom_filter_ = linker_si.gnu_bloom_filter_;
     __libdl_info->gnu_bucket_ = linker_si.gnu_bucket_;
     __libdl_info->gnu_chain_ = linker_si.gnu_chain_;
+    __libdl_info->memtag_dynamic_entries_ = linker_si.memtag_dynamic_entries_;
 
     __libdl_info->ref_count_ = 1;
     __libdl_info->strtab_size_ = linker_si.strtab_size_;
diff --git a/linker/ld_android.cpp b/linker/ld_android.cpp
index 1c03106..c938a16 100644
--- a/linker/ld_android.cpp
+++ b/linker/ld_android.cpp
@@ -55,6 +55,7 @@
 __strong_alias(__loader_add_thread_local_dtor, __internal_linker_error);
 __strong_alias(__loader_remove_thread_local_dtor, __internal_linker_error);
 __strong_alias(__loader_shared_globals, __internal_linker_error);
+__strong_alias(__loader_android_set_16kb_appcompat_mode, __internal_linker_error);
 #if defined(__arm__)
 __strong_alias(__loader_dl_unwind_find_exidx, __internal_linker_error);
 #endif
diff --git a/linker/linker.arm.map b/linker/linker.arm.map
index b805cd6..edfa249 100644
--- a/linker/linker.arm.map
+++ b/linker/linker.arm.map
@@ -25,6 +25,7 @@
     __loader_shared_globals;
     rtld_db_dlactivity;
     __loader_android_handle_signal;
+    __loader_android_set_16kb_appcompat_mode;
   local:
     *;
 };
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 17b574f..8f78915 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -27,6 +27,7 @@
  */
 
 #include <android/api-level.h>
+#include <assert.h>
 #include <errno.h>
 #include <fcntl.h>
 #include <inttypes.h>
@@ -50,6 +51,7 @@
 #include <android-base/scopeguard.h>
 #include <async_safe/log.h>
 #include <bionic/pthread_internal.h>
+#include <platform/bionic/mte.h>
 
 // Private C library headers.
 
@@ -70,11 +72,12 @@
 #include "linker_translate_path.h"
 #include "linker_utils.h"
 
+#include "android-base/macros.h"
+#include "android-base/stringprintf.h"
+#include "android-base/strings.h"
+#include "private/bionic_asm_note.h"
 #include "private/bionic_call_ifunc_resolver.h"
 #include "private/bionic_globals.h"
-#include "android-base/macros.h"
-#include "android-base/strings.h"
-#include "android-base/stringprintf.h"
 #include "ziparchive/zip_archive.h"
 
 static std::unordered_map<void*, size_t> g_dso_handle_counters;
@@ -314,7 +317,7 @@
     async_safe_fatal("library name \"%s\" too long", name);
   }
 
-  TRACE("name %s: allocating soinfo for ns=%p", name, ns);
+  LD_DEBUG(any, "name %s: allocating soinfo for ns=%p", name, ns);
 
   soinfo* si = new (g_soinfo_allocator.alloc()) soinfo(ns, name, file_stat,
                                                        file_offset, rtld_flags);
@@ -324,7 +327,7 @@
   si->generate_handle();
   ns->add_soinfo(si);
 
-  TRACE("name %s: allocated soinfo @ %p", name, si);
+  LD_DEBUG(any, "name %s: allocated soinfo @ %p", name, si);
   return si;
 }
 
@@ -347,7 +350,7 @@
     munmap(reinterpret_cast<void*>(si->get_gap_start()), si->get_gap_size());
   }
 
-  TRACE("name %s: freeing soinfo @ %p", si->get_realpath(), si);
+  LD_DEBUG(any, "name %s: freeing soinfo @ %p", si->get_realpath(), si);
 
   if (!solist_remove_soinfo(si)) {
     async_safe_fatal("soinfo=%p is not in soinfo_list (double unload?)", si);
@@ -385,7 +388,7 @@
   auto length = readlink(proc_self_fd, buf, sizeof(buf));
   if (length == -1) {
     if (!is_first_stage_init()) {
-      PRINT("readlink(\"%s\") failed: %s [fd=%d]", proc_self_fd, strerror(errno), fd);
+      DL_WARN("readlink(\"%s\" [fd=%d]) failed: %m", proc_self_fd, fd);
     }
     return false;
   }
@@ -637,6 +640,12 @@
     si_->phdr = elf_reader.loaded_phdr();
     si_->set_gap_start(elf_reader.gap_start());
     si_->set_gap_size(elf_reader.gap_size());
+    si_->set_should_pad_segments(elf_reader.should_pad_segments());
+    si_->set_should_use_16kib_app_compat(elf_reader.should_use_16kib_app_compat());
+    if (si_->should_use_16kib_app_compat()) {
+      si_->set_compat_relro_start(elf_reader.compat_relro_start());
+      si_->set_compat_relro_size(elf_reader.compat_relro_size());
+    }
 
     return true;
   }
@@ -815,8 +824,8 @@
   }
 
   if (s != nullptr) {
-    TRACE_TYPE(LOOKUP, "%s s->st_value = %p, found->base = %p",
-               name, reinterpret_cast<void*>(s->st_value), reinterpret_cast<void*>((*found)->base));
+    LD_DEBUG(lookup, "%s s->st_value = %p, found->base = %p",
+             name, reinterpret_cast<void*>(s->st_value), reinterpret_cast<void*>((*found)->base));
   }
 
   return s;
@@ -920,7 +929,7 @@
   }
 
   const char* const path = normalized_path.c_str();
-  TRACE("Trying zip file open from path \"%s\" -> normalized \"%s\"", input_path, path);
+  LD_DEBUG(any, "Trying zip file open from path \"%s\" -> normalized \"%s\"", input_path, path);
 
   // Treat an '!/' separator inside a path as the separator between the name
   // of the zip file on disk and the subdirectory to search within it.
@@ -933,7 +942,7 @@
 
   char buf[512];
   if (strlcpy(buf, path, sizeof(buf)) >= sizeof(buf)) {
-    PRINT("Warning: ignoring very long library path: %s", path);
+    DL_WARN("ignoring very long library path: %s", path);
     return -1;
   }
 
@@ -962,7 +971,7 @@
   }
 
   // Check if it is properly stored
-  if (entry.method != kCompressStored || (entry.offset % PAGE_SIZE) != 0) {
+  if (entry.method != kCompressStored || (entry.offset % page_size()) != 0) {
     close(fd);
     return -1;
   }
@@ -973,8 +982,8 @@
     *realpath += separator;
   } else {
     if (!is_first_stage_init()) {
-      PRINT("warning: unable to get realpath for the library \"%s\". Will use given path.",
-            normalized_path.c_str());
+      DL_WARN("unable to get realpath for the library \"%s\". Will use given path.",
+              normalized_path.c_str());
     }
     *realpath = normalized_path;
   }
@@ -985,7 +994,7 @@
 static bool format_path(char* buf, size_t buf_size, const char* path, const char* name) {
   int n = async_safe_format_buffer(buf, buf_size, "%s/%s", path, name);
   if (n < 0 || n >= static_cast<int>(buf_size)) {
-    PRINT("Warning: ignoring very long library path: %s/%s", path, name);
+    DL_WARN("ignoring very long library path: %s/%s", path, name);
     return false;
   }
 
@@ -1006,8 +1015,7 @@
       *file_offset = 0;
       if (!realpath_fd(fd, realpath)) {
         if (!is_first_stage_init()) {
-          PRINT("warning: unable to get realpath for the library \"%s\". Will use given path.",
-                path);
+          DL_WARN("unable to get realpath for the library \"%s\". Will use given path.", path);
         }
         *realpath = path;
       }
@@ -1040,7 +1048,7 @@
                         ZipArchiveCache* zip_archive_cache,
                         const char* name, soinfo *needed_by,
                         off64_t* file_offset, std::string* realpath) {
-  TRACE("[ opening %s from namespace %s ]", name, ns->get_name());
+  LD_DEBUG(any, "[ opening %s from namespace %s ]", name, ns->get_name());
 
   // If the name contains a slash, we should attempt to open it directly and not search the paths.
   if (strchr(name, '/') != nullptr) {
@@ -1171,7 +1179,7 @@
          "load_library(ns=%s, task=%s, flags=0x%x, realpath=%s, search_linked_namespaces=%d)",
          ns->get_name(), name, rtld_flags, realpath.c_str(), search_linked_namespaces);
 
-  if ((file_offset % PAGE_SIZE) != 0) {
+  if ((file_offset % page_size()) != 0) {
     DL_OPEN_ERR("file offset for the library \"%s\" is not page-aligned: %" PRId64, name, file_offset);
     return false;
   }
@@ -1182,7 +1190,7 @@
 
   struct stat file_stat;
   if (TEMP_FAILURE_RETRY(fstat(task->get_fd(), &file_stat)) != 0) {
-    DL_OPEN_ERR("unable to stat file for the library \"%s\": %s", name, strerror(errno));
+    DL_OPEN_ERR("unable to stat file for the library \"%s\": %m", name);
     return false;
   }
   if (file_offset >= file_stat.st_size) {
@@ -1212,7 +1220,7 @@
 
   struct statfs fs_stat;
   if (TEMP_FAILURE_RETRY(fstatfs(task->get_fd(), &fs_stat)) != 0) {
-    DL_OPEN_ERR("unable to fstatfs file for the library \"%s\": %s", name, strerror(errno));
+    DL_OPEN_ERR("unable to fstatfs file for the library \"%s\": %m", name);
     return false;
   }
 
@@ -1246,15 +1254,15 @@
 
       // do not print this if a library is in the list of shared libraries for linked namespaces
       if (!maybe_accessible_via_namespace_links(ns, name)) {
-        PRINT("library \"%s\" (\"%s\") needed or dlopened by \"%s\" is not accessible for the"
-              " namespace: [name=\"%s\", ld_library_paths=\"%s\", default_library_paths=\"%s\","
-              " permitted_paths=\"%s\"]",
-              name, realpath.c_str(),
-              needed_or_dlopened_by,
-              ns->get_name(),
-              android::base::Join(ns->get_ld_library_paths(), ':').c_str(),
-              android::base::Join(ns->get_default_library_paths(), ':').c_str(),
-              android::base::Join(ns->get_permitted_paths(), ':').c_str());
+        DL_WARN("library \"%s\" (\"%s\") needed or dlopened by \"%s\" is not accessible for the"
+                " namespace: [name=\"%s\", ld_library_paths=\"%s\", default_library_paths=\"%s\","
+                " permitted_paths=\"%s\"]",
+                name, realpath.c_str(),
+                needed_or_dlopened_by,
+                ns->get_name(),
+                android::base::Join(ns->get_ld_library_paths(), ':').c_str(),
+                android::base::Join(ns->get_default_library_paths(), ':').c_str(),
+                android::base::Join(ns->get_permitted_paths(), ':').c_str());
       }
       return false;
     }
@@ -1327,10 +1335,9 @@
     std::string realpath;
     if (!realpath_fd(extinfo->library_fd, &realpath)) {
       if (!is_first_stage_init()) {
-        PRINT(
-            "warning: unable to get realpath for the library \"%s\" by extinfo->library_fd. "
-            "Will use given name.",
-            name);
+        DL_WARN("unable to get realpath for the library \"%s\" by extinfo->library_fd. "
+                "Will use given name.",
+                name);
       }
       realpath = name;
     }
@@ -1471,8 +1478,8 @@
 
   // Library might still be loaded, the accurate detection
   // of this fact is done by load_library.
-  TRACE("[ \"%s\" find_loaded_library_by_soname failed (*candidate=%s@%p). Trying harder... ]",
-        task->get_name(), candidate == nullptr ? "n/a" : candidate->get_realpath(), candidate);
+  LD_DEBUG(any, "[ \"%s\" find_loaded_library_by_soname failed (*candidate=%s@%p). Trying harder... ]",
+           task->get_name(), candidate == nullptr ? "n/a" : candidate->get_realpath(), candidate);
 
   if (load_library(ns, task, zip_archive_cache, load_tasks, rtld_flags,
                    true /* search_linked_namespaces */)) {
@@ -1691,14 +1698,40 @@
     }
   }
 
+  // The WebView loader uses RELRO sharing in order to promote page sharing of the large RELRO
+  // segment, as it's full of C++ vtables. Because MTE globals, by default, applies random tags to
+  // each global variable, the RELRO segment is polluted and unique for each process. In order to
+  // allow sharing, but still provide some protection, we use deterministic global tagging schemes
+  // for DSOs that are loaded through android_dlopen_ext, such as those loaded by WebView.
+  bool dlext_use_relro =
+      extinfo && extinfo->flags & (ANDROID_DLEXT_WRITE_RELRO | ANDROID_DLEXT_USE_RELRO);
+
   // Step 3: pre-link all DT_NEEDED libraries in breadth first order.
+  bool any_memtag_stack = false;
   for (auto&& task : load_tasks) {
     soinfo* si = task->get_soinfo();
-    if (!si->is_linked() && !si->prelink_image()) {
+    if (!si->is_linked() && !si->prelink_image(dlext_use_relro)) {
       return false;
     }
+    // si->memtag_stack() needs to be called after si->prelink_image() which populates
+    // the dynamic section.
+    if (si->memtag_stack()) {
+      any_memtag_stack = true;
+      LD_LOG(kLogDlopen,
+             "... load_library requesting stack MTE for: realpath=\"%s\", soname=\"%s\"",
+             si->get_realpath(), si->get_soname());
+    }
     register_soinfo_tls(si);
   }
+  if (any_memtag_stack) {
+    if (auto* cb = __libc_shared_globals()->memtag_stack_dlopen_callback) {
+      cb();
+    } else {
+      // find_library is used by the initial linking step, so we communicate that we
+      // want memtag_stack enabled to __libc_init_mte.
+      __libc_shared_globals()->initial_memtag_stack_abi = true;
+    }
+  }
 
   // Step 4: Construct the global group. DF_1_GLOBAL bit is force set for LD_PRELOADed libs because
   // they must be added to the global group. Note: The DF_1_GLOBAL bit for a library is normally set
@@ -1885,8 +1918,8 @@
     if (si->has_min_version(0)) {
       soinfo* child = nullptr;
       while ((child = si->get_children().pop_front()) != nullptr) {
-        TRACE("%s@%p needs to unload %s@%p", si->get_realpath(), si,
-            child->get_realpath(), child);
+        LD_DEBUG(any, "%s@%p needs to unload %s@%p", si->get_realpath(), si,
+                 child->get_realpath(), child);
 
         child->get_parents().remove(si);
 
@@ -2176,10 +2209,10 @@
       if (file_exists(translated_name_holder.c_str())) {
         soinfo* si = nullptr;
         if (find_loaded_library_by_realpath(ns, original_path, true, &si)) {
-          PRINT("linker_asan dlopen NOT translating \"%s\" -> \"%s\": library already loaded", name,
-                translated_name_holder.c_str());
+          DL_WARN("linker_asan dlopen NOT translating \"%s\" -> \"%s\": library already loaded", name,
+                  translated_name_holder.c_str());
         } else {
-          PRINT("linker_asan dlopen translating \"%s\" -> \"%s\"", name, translated_name);
+          DL_WARN("linker_asan dlopen translating \"%s\" -> \"%s\"", name, translated_name);
           translated_name = translated_name_holder.c_str();
         }
       }
@@ -2196,10 +2229,10 @@
       if (!translated_name_holder.empty() && file_exists(translated_name_holder.c_str())) {
         soinfo* si = nullptr;
         if (find_loaded_library_by_realpath(ns, original_path, true, &si)) {
-          PRINT("linker_hwasan dlopen NOT translating \"%s\" -> \"%s\": library already loaded", name,
-                translated_name_holder.c_str());
+          DL_WARN("linker_hwasan dlopen NOT translating \"%s\" -> \"%s\": library already loaded",
+                  name, translated_name_holder.c_str());
         } else {
-          PRINT("linker_hwasan dlopen translating \"%s\" -> \"%s\"", name, translated_name);
+          DL_WARN("linker_hwasan dlopen translating \"%s\" -> \"%s\"", name, translated_name);
           translated_name = translated_name_holder.c_str();
         }
       }
@@ -2337,7 +2370,7 @@
         void* tls_block = get_tls_block_for_this_thread(tls_module, /*should_alloc=*/true);
         *symbol = static_cast<char*>(tls_block) + sym->st_value;
       } else {
-        *symbol = reinterpret_cast<void*>(found->resolve_symbol_address(sym));
+        *symbol = get_tagged_address(reinterpret_cast<void*>(found->resolve_symbol_address(sym)));
       }
       failure_guard.Disable();
       LD_LOG(kLogDlsym,
@@ -2568,8 +2601,8 @@
   if (g_is_ldd) return 0;
 
   ElfW(Addr) ifunc_addr = __bionic_call_ifunc_resolver(resolver_addr);
-  TRACE_TYPE(RELO, "Called ifunc_resolver@%p. The result is %p",
-      reinterpret_cast<void *>(resolver_addr), reinterpret_cast<void*>(ifunc_addr));
+  LD_DEBUG(calls, "ifunc_resolver@%p returned %p",
+           reinterpret_cast<void *>(resolver_addr), reinterpret_cast<void*>(ifunc_addr));
 
   return ifunc_addr;
 }
@@ -2767,28 +2800,36 @@
   return true;
 }
 
-void soinfo::apply_relr_reloc(ElfW(Addr) offset) {
-  ElfW(Addr) address = offset + load_bias;
-  *reinterpret_cast<ElfW(Addr)*>(address) += load_bias;
+static void apply_relr_reloc(ElfW(Addr) offset, ElfW(Addr) load_bias, bool has_memtag_globals) {
+  ElfW(Addr) destination = offset + load_bias;
+  if (!has_memtag_globals) {
+    *reinterpret_cast<ElfW(Addr)*>(destination) += load_bias;
+    return;
+  }
+
+  ElfW(Addr)* tagged_destination =
+      reinterpret_cast<ElfW(Addr)*>(get_tagged_address(reinterpret_cast<void*>(destination)));
+  ElfW(Addr) tagged_value = reinterpret_cast<ElfW(Addr)>(
+      get_tagged_address(reinterpret_cast<void*>(*tagged_destination + load_bias)));
+  *tagged_destination = tagged_value;
 }
 
 // Process relocations in SHT_RELR section (experimental).
 // Details of the encoding are described in this post:
 //   https://groups.google.com/d/msg/generic-abi/bX460iggiKg/Pi9aSwwABgAJ
-bool soinfo::relocate_relr() {
-  ElfW(Relr)* begin = relr_;
-  ElfW(Relr)* end = relr_ + relr_count_;
+bool relocate_relr(const ElfW(Relr) * begin, const ElfW(Relr) * end, ElfW(Addr) load_bias,
+                   bool has_memtag_globals) {
   constexpr size_t wordsize = sizeof(ElfW(Addr));
 
   ElfW(Addr) base = 0;
-  for (ElfW(Relr)* current = begin; current < end; ++current) {
+  for (const ElfW(Relr)* current = begin; current < end; ++current) {
     ElfW(Relr) entry = *current;
     ElfW(Addr) offset;
 
     if ((entry&1) == 0) {
       // Even entry: encodes the offset for next relocation.
       offset = static_cast<ElfW(Addr)>(entry);
-      apply_relr_reloc(offset);
+      apply_relr_reloc(offset, load_bias, has_memtag_globals);
       // Set base offset for subsequent bitmap entries.
       base = offset + wordsize;
       continue;
@@ -2799,7 +2840,7 @@
     while (entry != 0) {
       entry >>= 1;
       if ((entry&1) != 0) {
-        apply_relr_reloc(offset);
+        apply_relr_reloc(offset, load_bias, has_memtag_globals);
       }
       offset += wordsize;
     }
@@ -2814,7 +2855,7 @@
 // An empty list of soinfos
 static soinfo_list_t g_empty_list;
 
-bool soinfo::prelink_image() {
+bool soinfo::prelink_image(bool dlext_use_relro) {
   if (flags_ & FLAG_PRELINKED) return true;
   /* Extract dynamic section */
   ElfW(Word) dynamic_flags = 0;
@@ -2823,8 +2864,8 @@
   /* We can't log anything until the linker is relocated */
   bool relocating_linker = (flags_ & FLAG_LINKER) != 0;
   if (!relocating_linker) {
-    INFO("[ Linking \"%s\" ]", get_realpath());
-    DEBUG("si->base = %p si->flags = 0x%08x", reinterpret_cast<void*>(base), flags_);
+    LD_DEBUG(any, "[ Linking \"%s\" ]", get_realpath());
+    LD_DEBUG(any, "si->base = %p si->flags = 0x%08x", reinterpret_cast<void*>(base), flags_);
   }
 
   if (dynamic == nullptr) {
@@ -2834,7 +2875,7 @@
     return false;
   } else {
     if (!relocating_linker) {
-      DEBUG("dynamic = %p", dynamic);
+      LD_DEBUG(dynamic, "dynamic section @%p", dynamic);
     }
   }
 
@@ -2845,11 +2886,12 @@
 
   TlsSegment tls_segment;
   if (__bionic_get_tls_segment(phdr, phnum, load_bias, &tls_segment)) {
-    if (!__bionic_check_tls_alignment(&tls_segment.alignment)) {
-      if (!relocating_linker) {
-        DL_ERR("TLS segment alignment in \"%s\" is not a power of 2: %zu",
-               get_realpath(), tls_segment.alignment);
-      }
+    // The loader does not (currently) support ELF TLS, so it shouldn't have
+    // a TLS segment.
+    CHECK(!relocating_linker && "TLS not supported in loader");
+    if (!__bionic_check_tls_align(tls_segment.aligned_size.align.value)) {
+      DL_ERR("TLS segment alignment in \"%s\" is not a power of 2: %zu", get_realpath(),
+             tls_segment.aligned_size.align.value);
       return false;
     }
     tls_ = std::make_unique<soinfo_tls>();
@@ -2863,8 +2905,8 @@
   // source: http://www.sco.com/developers/gabi/1998-04-29/ch5.dynamic.html
   uint32_t needed_count = 0;
   for (ElfW(Dyn)* d = dynamic; d->d_tag != DT_NULL; ++d) {
-    DEBUG("d = %p, d[0](tag) = %p d[1](val) = %p",
-          d, reinterpret_cast<void*>(d->d_tag), reinterpret_cast<void*>(d->d_un.d_val));
+    LD_DEBUG(dynamic, "dynamic entry @%p: d_tag=%p, d_val=%p",
+             d, reinterpret_cast<void*>(d->d_tag), reinterpret_cast<void*>(d->d_un.d_val));
     switch (d->d_tag) {
       case DT_SONAME:
         // this is parsed after we have strtab initialized (see below).
@@ -3078,17 +3120,17 @@
 
       case DT_INIT:
         init_func_ = reinterpret_cast<linker_ctor_function_t>(load_bias + d->d_un.d_ptr);
-        DEBUG("%s constructors (DT_INIT) found at %p", get_realpath(), init_func_);
+        LD_DEBUG(dynamic, "%s constructors (DT_INIT) found at %p", get_realpath(), init_func_);
         break;
 
       case DT_FINI:
         fini_func_ = reinterpret_cast<linker_dtor_function_t>(load_bias + d->d_un.d_ptr);
-        DEBUG("%s destructors (DT_FINI) found at %p", get_realpath(), fini_func_);
+        LD_DEBUG(dynamic, "%s destructors (DT_FINI) found at %p", get_realpath(), fini_func_);
         break;
 
       case DT_INIT_ARRAY:
         init_array_ = reinterpret_cast<linker_ctor_function_t*>(load_bias + d->d_un.d_ptr);
-        DEBUG("%s constructors (DT_INIT_ARRAY) found at %p", get_realpath(), init_array_);
+        LD_DEBUG(dynamic, "%s constructors (DT_INIT_ARRAY) found at %p", get_realpath(), init_array_);
         break;
 
       case DT_INIT_ARRAYSZ:
@@ -3097,7 +3139,7 @@
 
       case DT_FINI_ARRAY:
         fini_array_ = reinterpret_cast<linker_dtor_function_t*>(load_bias + d->d_un.d_ptr);
-        DEBUG("%s destructors (DT_FINI_ARRAY) found at %p", get_realpath(), fini_array_);
+        LD_DEBUG(dynamic, "%s destructors (DT_FINI_ARRAY) found at %p", get_realpath(), fini_array_);
         break;
 
       case DT_FINI_ARRAYSZ:
@@ -3106,7 +3148,7 @@
 
       case DT_PREINIT_ARRAY:
         preinit_array_ = reinterpret_cast<linker_ctor_function_t*>(load_bias + d->d_un.d_ptr);
-        DEBUG("%s constructors (DT_PREINIT_ARRAY) found at %p", get_realpath(), preinit_array_);
+        LD_DEBUG(dynamic, "%s constructors (DT_PREINIT_ARRAY) found at %p", get_realpath(), preinit_array_);
         break;
 
       case DT_PREINIT_ARRAYSZ:
@@ -3193,13 +3235,32 @@
       case DT_AARCH64_VARIANT_PCS:
         // Ignored: AArch64 processor-specific dynamic array tags.
         break;
-      // TODO(mitchp): Add support to libc_init_mte to use these dynamic array entries instead of
-      // the Android-specific ELF note.
       case DT_AARCH64_MEMTAG_MODE:
+        memtag_dynamic_entries_.has_memtag_mode = true;
+        memtag_dynamic_entries_.memtag_mode = d->d_un.d_val;
+        break;
       case DT_AARCH64_MEMTAG_HEAP:
+        memtag_dynamic_entries_.memtag_heap = d->d_un.d_val;
+        break;
+      // The AArch64 MemtagABI originally erroneously defined
+      // DT_AARCH64_MEMTAG_STACK as `d_ptr`, which is why the dynamic tag value
+      // is odd (`0x7000000c`). `d_val` is clearly the correct semantics, and so
+      // this was fixed in the ABI, but the value (0x7000000c) didn't change
+      // because we already had Android binaries floating around with dynamic
+      // entries, and didn't want to create a whole new dynamic entry and
+      // reserve a value just to fix that tiny mistake. P.S. lld was always
+      // outputting DT_AARCH64_MEMTAG_STACK as `d_val` anyway.
       case DT_AARCH64_MEMTAG_STACK:
+        memtag_dynamic_entries_.memtag_stack = d->d_un.d_val;
+        break;
+      // Same as above, except DT_AARCH64_MEMTAG_GLOBALS was incorrectly defined
+      // as `d_val` (hence an even value of `0x7000000d`), when it should have
+      // been `d_ptr` all along. lld has always outputted this as `d_ptr`.
       case DT_AARCH64_MEMTAG_GLOBALS:
+        memtag_dynamic_entries_.memtag_globals = reinterpret_cast<void*>(load_bias + d->d_un.d_ptr);
+        break;
       case DT_AARCH64_MEMTAG_GLOBALSSZ:
+        memtag_dynamic_entries_.memtag_globalssz = d->d_un.d_val;
         break;
 #endif
 
@@ -3227,8 +3288,8 @@
     }
   }
 
-  DEBUG("si->base = %p, si->strtab = %p, si->symtab = %p",
-        reinterpret_cast<void*>(base), strtab_, symtab_);
+  LD_DEBUG(dynamic, "si->base = %p, si->strtab = %p, si->symtab = %p",
+           reinterpret_cast<void*>(base), strtab_, symtab_);
 
   // Validity checks.
   if (relocating_linker && needed_count != 0) {
@@ -3283,6 +3344,18 @@
   // it each time we look up a symbol with a version.
   if (!validate_verdef_section(this)) return false;
 
+  // MTE globals requires remapping data segments with PROT_MTE as anonymous mappings, because file
+  // based mappings may not be backed by tag-capable memory (see "MAP_ANONYMOUS" on
+  // https://www.kernel.org/doc/html/latest/arch/arm64/memory-tagging-extension.html). This is only
+  // done if the binary has MTE globals (evidenced by the dynamic table entries), as it destroys
+  // page sharing. It's also only done on devices that support MTE, because the act of remapping
+  // pages is unnecessary on non-MTE devices (where we might still run MTE-globals enabled code).
+  if (should_tag_memtag_globals() &&
+      remap_memtag_globals_segments(phdr, phnum, base) == 0) {
+    tag_globals(dlext_use_relro);
+    protect_memtag_globals_ro_segments(phdr, phnum, base);
+  }
+
   flags_ |= FLAG_PRELINKED;
   return true;
 }
@@ -3324,25 +3397,26 @@
                               "\"%s\" has text relocations",
                               get_realpath());
     add_dlwarning(get_realpath(), "text relocations");
-    if (phdr_table_unprotect_segments(phdr, phnum, load_bias) < 0) {
-      DL_ERR("can't unprotect loadable segments for \"%s\": %s", get_realpath(), strerror(errno));
+    if (phdr_table_unprotect_segments(phdr, phnum, load_bias, should_pad_segments_,
+                                      should_use_16kib_app_compat_) < 0) {
+      DL_ERR("can't unprotect loadable segments for \"%s\": %m", get_realpath());
       return false;
     }
   }
 #endif
 
-  if (!relocate(lookup_list)) {
+  if (this != solist_get_vdso() && !relocate(lookup_list)) {
     return false;
   }
 
-  DEBUG("[ finished linking %s ]", get_realpath());
+  LD_DEBUG(any, "[ finished linking %s ]", get_realpath());
 
 #if !defined(__LP64__)
   if (has_text_relocations) {
     // All relocations are done, we can protect our segments back to read-only.
-    if (phdr_table_protect_segments(phdr, phnum, load_bias) < 0) {
-      DL_ERR("can't protect segments for \"%s\": %s",
-             get_realpath(), strerror(errno));
+    if (phdr_table_protect_segments(phdr, phnum, load_bias, should_pad_segments_,
+                                    should_use_16kib_app_compat_) < 0) {
+      DL_ERR("can't protect segments for \"%s\": %m", get_realpath());
       return false;
     }
   }
@@ -3354,19 +3428,24 @@
     return false;
   }
 
+  if (should_tag_memtag_globals()) {
+    std::list<std::string>* vma_names_ptr = vma_names();
+    // should_tag_memtag_globals -> __aarch64__ -> vma_names() != nullptr
+    CHECK(vma_names_ptr);
+    name_memtag_globals_segments(phdr, phnum, base, get_realpath(), vma_names_ptr);
+  }
+
   /* Handle serializing/sharing the RELRO segment */
   if (extinfo && (extinfo->flags & ANDROID_DLEXT_WRITE_RELRO)) {
     if (phdr_table_serialize_gnu_relro(phdr, phnum, load_bias,
                                        extinfo->relro_fd, relro_fd_offset) < 0) {
-      DL_ERR("failed serializing GNU RELRO section for \"%s\": %s",
-             get_realpath(), strerror(errno));
+      DL_ERR("failed serializing GNU RELRO section for \"%s\": %m", get_realpath());
       return false;
     }
   } else if (extinfo && (extinfo->flags & ANDROID_DLEXT_USE_RELRO)) {
     if (phdr_table_map_gnu_relro(phdr, phnum, load_bias,
                                  extinfo->relro_fd, relro_fd_offset) < 0) {
-      DL_ERR("failed mapping GNU RELRO section for \"%s\": %s",
-             get_realpath(), strerror(errno));
+      DL_ERR("failed mapping GNU RELRO section for \"%s\": %m", get_realpath());
       return false;
     }
   }
@@ -3378,14 +3457,70 @@
 }
 
 bool soinfo::protect_relro() {
-  if (phdr_table_protect_gnu_relro(phdr, phnum, load_bias) < 0) {
-    DL_ERR("can't enable GNU RELRO protection for \"%s\": %s",
-           get_realpath(), strerror(errno));
-    return false;
+  if (should_use_16kib_app_compat_) {
+    if (phdr_table_protect_gnu_relro_16kib_compat(compat_relro_start_, compat_relro_size_) < 0) {
+      DL_ERR("can't enable COMPAT GNU RELRO protection for \"%s\": %s", get_realpath(),
+             strerror(errno));
+      return false;
+    }
+  } else {
+    if (phdr_table_protect_gnu_relro(phdr, phnum, load_bias, should_pad_segments_,
+                                     should_use_16kib_app_compat_) < 0) {
+      DL_ERR("can't enable GNU RELRO protection for \"%s\": %m", get_realpath());
+      return false;
+    }
   }
   return true;
 }
 
+// https://github.com/ARM-software/abi-aa/blob/main/memtagabielf64/memtagabielf64.rst#global-variable-tagging
+void soinfo::tag_globals(bool dlext_use_relro) {
+  if (is_linked()) return;
+  if (flags_ & FLAG_GLOBALS_TAGGED) return;
+  flags_ |= FLAG_GLOBALS_TAGGED;
+
+  constexpr size_t kTagGranuleSize = 16;
+  const uint8_t* descriptor_stream = reinterpret_cast<const uint8_t*>(memtag_globals());
+
+  if (memtag_globalssz() == 0) {
+    DL_ERR("Invalid memtag descriptor pool size: %zu", memtag_globalssz());
+  }
+
+  uint64_t addr = load_bias;
+  uleb128_decoder decoder(descriptor_stream, memtag_globalssz());
+  // Don't ever generate tag zero, to easily distinguish between tagged and
+  // untagged globals in register/tag dumps.
+  uint64_t last_tag_mask = 1;
+  uint64_t last_tag = 1;
+  constexpr uint64_t kDistanceReservedBits = 3;
+
+  while (decoder.has_bytes()) {
+    uint64_t value = decoder.pop_front();
+    uint64_t distance = (value >> kDistanceReservedBits) * kTagGranuleSize;
+    uint64_t ngranules = value & ((1 << kDistanceReservedBits) - 1);
+    if (ngranules == 0) {
+      ngranules = decoder.pop_front() + 1;
+    }
+
+    addr += distance;
+    void* tagged_addr;
+    if (dlext_use_relro) {
+      tagged_addr = reinterpret_cast<void*>(addr | (last_tag++ << 56));
+      if (last_tag > (1 << kTagGranuleSize)) last_tag = 1;
+    } else {
+      tagged_addr = insert_random_tag(reinterpret_cast<void*>(addr), last_tag_mask);
+      uint64_t tag = (reinterpret_cast<uint64_t>(tagged_addr) >> 56) & 0x0f;
+      last_tag_mask = 1 | (1 << tag);
+    }
+
+    for (size_t k = 0; k < ngranules; k++) {
+      auto* granule = static_cast<uint8_t*>(tagged_addr) + k * kTagGranuleSize;
+      set_memory_tag(static_cast<void*>(granule));
+    }
+    addr += ngranules * kTagGranuleSize;
+  }
+}
+
 static std::vector<android_namespace_t*> init_default_namespace_no_config(bool is_asan, bool is_hwasan) {
   g_default_namespace.set_isolated(false);
   auto default_ld_paths = is_asan ? kAsanDefaultLdPaths : (
@@ -3521,7 +3656,7 @@
 
   {
     std::string ld_config_file_path = get_ld_config_file_path(executable_path);
-    INFO("[ Reading linker config \"%s\" ]", ld_config_file_path.c_str());
+    LD_DEBUG(any, "[ Reading linker config \"%s\" ]", ld_config_file_path.c_str());
     ScopedTrace trace(("linker config " + ld_config_file_path).c_str());
     std::string error_msg;
     if (!Config::read_binary_config(ld_config_file_path.c_str(), executable_path, g_is_asan, g_is_hwasan,
@@ -3556,7 +3691,7 @@
   // 2. Initialize other namespaces
 
   for (auto& ns_config : namespace_configs) {
-    if (namespaces.find(ns_config->name()) != namespaces.end()) {
+    if (namespaces.contains(ns_config->name())) {
       continue;
     }
 
diff --git a/linker/linker.generic.map b/linker/linker.generic.map
index 4d7f236..2beae65 100644
--- a/linker/linker.generic.map
+++ b/linker/linker.generic.map
@@ -24,6 +24,7 @@
     __loader_shared_globals;
     rtld_db_dlactivity;
     __loader_android_handle_signal;
+    __loader_android_set_16kb_appcompat_mode;
   local:
     *;
 };
diff --git a/linker/linker.h b/linker/linker.h
index a803424..7afa0d7 100644
--- a/linker/linker.h
+++ b/linker/linker.h
@@ -72,7 +72,7 @@
 };
 
 static constexpr const char* kBionicChangesUrl =
-    "https://android.googlesource.com/platform/bionic/+/master/"
+    "https://android.googlesource.com/platform/bionic/+/main/"
     "android-changes-for-ndk-developers.md";
 
 soinfo* get_libdl_info(const soinfo& linker_si);
@@ -103,15 +103,14 @@
 
 int do_dladdr(const void* addr, Dl_info* info);
 
-// void ___cfi_slowpath(uint64_t CallSiteTypeId, void *Ptr, void *Ret);
-// void ___cfi_slowpath_diag(uint64_t CallSiteTypeId, void *Ptr, void *DiagData, void *Ret);
-void ___cfi_fail(uint64_t CallSiteTypeId, void* Ptr, void *DiagData, void *Ret);
-
 void set_application_target_sdk_version(int target);
 int get_application_target_sdk_version();
 
 bool get_transparent_hugepages_supported();
 
+void set_16kb_appcompat_mode(bool enable_app_compat);
+bool get_16kb_appcompat_mode();
+
 enum {
   /* A regular namespace is the namespace with a custom search path that does
    * not impose any restrictions on the location of native libraries.
@@ -183,6 +182,8 @@
 int get_application_target_sdk_version();
 ElfW(Versym) find_verdef_version_index(const soinfo* si, const version_info* vi);
 bool validate_verdef_section(const soinfo* si);
+bool relocate_relr(const ElfW(Relr) * begin, const ElfW(Relr) * end, ElfW(Addr) load_bias,
+                   bool has_memtag_globals);
 
 struct platform_properties {
 #if defined(__aarch64__)
diff --git a/linker/linker_auxv.cpp b/linker/linker_auxv.cpp
new file mode 100644
index 0000000..23025f7
--- /dev/null
+++ b/linker/linker_auxv.cpp
@@ -0,0 +1,134 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include "linker_auxv.h"
+
+#include <elf.h>
+#include <stdio.h>
+#include <sys/auxv.h>
+#include <unistd.h>
+
+#include <async_safe/log.h>
+
+static const char* auxv_name(int at) {
+  switch (at) {
+  case AT_NULL: return "AT_NULL";
+  case AT_IGNORE: return "AT_IGNORE";
+  case AT_EXECFD: return "AT_EXECFD";
+  case AT_PHDR: return "AT_PHDR";
+  case AT_PHENT: return "AT_PHENT";
+  case AT_PHNUM: return "AT_PHNUM";
+  case AT_PAGESZ: return "AT_PAGESZ";
+  case AT_BASE: return "AT_BASE";
+  case AT_FLAGS: return "AT_FLAGS";
+  case AT_ENTRY: return "AT_ENTRY";
+  case AT_NOTELF: return "AT_NOTELF";
+  case AT_UID: return "AT_UID";
+  case AT_EUID: return "AT_EUID";
+  case AT_GID: return "AT_GID";
+  case AT_EGID: return "AT_EGID";
+  case AT_PLATFORM: return "AT_PLATFORM";
+  case AT_HWCAP: return "AT_HWCAP";
+  case AT_CLKTCK: return "AT_CLKTCK";
+  case AT_SECURE: return "AT_SECURE";
+  case AT_BASE_PLATFORM: return "AT_BASE_PLATFORM";
+  case AT_RANDOM: return "AT_RANDOM";
+  case AT_HWCAP2: return "AT_HWCAP2";
+  case AT_RSEQ_FEATURE_SIZE: return "AT_RSEQ_FEATURE_SIZE";
+  case AT_RSEQ_ALIGN: return "AT_RSEQ_ALIGN";
+  case AT_HWCAP3: return "AT_HWCAP3";
+  case AT_HWCAP4: return "AT_HWCAP4";
+  case AT_EXECFN: return "AT_EXECFN";
+  case AT_SYSINFO_EHDR: return "AT_SYSINFO_EHDR";
+  case AT_MINSIGSTKSZ: return "AT_MINSIGSTKSZ";
+#if defined(AT_VECTOR_SIZE_ARCH)
+  // AT_VECTOR_SIZE_ARCH isn't a value: it's the number of architecture-specific
+  // values that exist for the current architecture, so not relevant here.
+#endif
+#if defined(AT_SYSINFO)
+  case AT_SYSINFO: return "AT_SYSINFO";
+#endif
+#if defined(AT_L1I_CACHESIZE)
+  case AT_L1I_CACHESIZE: return "AT_L1I_CACHESIZE";
+#endif
+#if defined(AT_L1I_CACHEGEOMETRY)
+  case AT_L1I_CACHEGEOMETRY: return "AT_L1I_CACHEGEOMETRY";
+#endif
+#if defined(AT_L1D_CACHESIZE)
+  case AT_L1D_CACHESIZE: return "AT_L1D_CACHESIZE";
+#endif
+#if defined(AT_L1D_CACHEGEOMETRY)
+  case AT_L1D_CACHEGEOMETRY: return "AT_L1D_CACHEGEOMETRY";
+#endif
+#if defined(AT_L2_CACHESIZE)
+  case AT_L2_CACHESIZE: return "AT_L2_CACHESIZE";
+#endif
+#if defined(AT_L2_CACHEGEOMETRY)
+  case AT_L2_CACHEGEOMETRY: return "AT_L2_CACHEGEOMETRY";
+#endif
+#if defined(AT_L3_CACHESIZE)
+  case AT_L3_CACHESIZE: return "AT_L3_CACHESIZE";
+#endif
+#if defined(AT_L3_CACHEGEOMETRY)
+  case AT_L3_CACHEGEOMETRY: return "AT_L3_CACHEGEOMETRY";
+#endif
+  }
+  static char name[32];
+  snprintf(name, sizeof(name), "AT_??? (%d)", at);
+  return name;
+}
+
+void ld_show_auxv(ElfW(auxv_t)* auxv) {
+  for (ElfW(auxv_t)* v = auxv; v->a_type != AT_NULL; ++v) {
+    const char* name = auxv_name(v->a_type);
+    long value = v->a_un.a_val;
+    switch (v->a_type) {
+    case AT_SYSINFO_EHDR:
+    case AT_PHDR:
+    case AT_BASE:
+    case AT_ENTRY:
+    case AT_RANDOM:
+      async_safe_format_fd(STDOUT_FILENO, "%-20s %#lx\n", name, value);
+      break;
+    case AT_FLAGS:
+    case AT_HWCAP:
+    case AT_HWCAP2:
+    case AT_HWCAP3:
+    case AT_HWCAP4:
+      async_safe_format_fd(STDOUT_FILENO, "%-20s %#lb\n", name, value);
+      break;
+    case AT_EXECFN:
+    case AT_PLATFORM:
+      async_safe_format_fd(STDOUT_FILENO, "%-20s \"%s\"\n", name, reinterpret_cast<char*>(value));
+      break;
+    default:
+      async_safe_format_fd(STDOUT_FILENO, "%-20s %ld\n", name, value);
+      break;
+    }
+  }
+}
diff --git a/libm/fenv-access.h b/linker/linker_auxv.h
similarity index 90%
rename from libm/fenv-access.h
rename to linker/linker_auxv.h
index 7acb34d..c093283 100644
--- a/libm/fenv-access.h
+++ b/linker/linker_auxv.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2023 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,7 @@
 
 #pragma once
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
-#endif
+#include <elf.h>
+#include <link.h>
+
+void ld_show_auxv(ElfW(auxv_t)* auxv);
diff --git a/linker/linker_block_allocator.cpp b/linker/linker_block_allocator.cpp
index 60e5e1c..e70e6ae 100644
--- a/linker/linker_block_allocator.cpp
+++ b/linker/linker_block_allocator.cpp
@@ -37,8 +37,9 @@
 
 #include "linker_debug.h"
 
-static constexpr size_t kAllocateSize = PAGE_SIZE * 100;
-static_assert(kAllocateSize % PAGE_SIZE == 0, "Invalid kAllocateSize.");
+static constexpr size_t kMaxPageSize = 65536;
+static constexpr size_t kAllocateSize = kMaxPageSize * 6;
+static_assert(kAllocateSize % kMaxPageSize == 0, "Invalid kAllocateSize.");
 
 struct LinkerBlockAllocatorPage {
   LinkerBlockAllocatorPage* next;
diff --git a/linker/linker_cfi.cpp b/linker/linker_cfi.cpp
index 6bc2615..92ec53e 100644
--- a/linker/linker_cfi.cpp
+++ b/linker/linker_cfi.cpp
@@ -50,8 +50,8 @@
   ShadowWrite(uint16_t* s, uint16_t* e) {
     shadow_start = reinterpret_cast<char*>(s);
     shadow_end = reinterpret_cast<char*>(e);
-    aligned_start = reinterpret_cast<char*>(PAGE_START(reinterpret_cast<uintptr_t>(shadow_start)));
-    aligned_end = reinterpret_cast<char*>(PAGE_END(reinterpret_cast<uintptr_t>(shadow_end)));
+    aligned_start = reinterpret_cast<char*>(page_start(reinterpret_cast<uintptr_t>(shadow_start)));
+    aligned_end = reinterpret_cast<char*>(page_end(reinterpret_cast<uintptr_t>(shadow_end)));
     tmp_start =
         reinterpret_cast<char*>(mmap(nullptr, aligned_end - aligned_start, PROT_READ | PROT_WRITE,
                                      MAP_PRIVATE | MAP_ANONYMOUS, -1, 0));
@@ -166,13 +166,13 @@
   }
   uintptr_t cfi_check = soinfo_find_cfi_check(si);
   if (cfi_check == 0) {
-    INFO("[ CFI add 0x%zx + 0x%zx %s ]", static_cast<uintptr_t>(si->base),
+    LD_DEBUG(cfi, "[ CFI add 0x%zx + 0x%zx %s ]", static_cast<uintptr_t>(si->base),
          static_cast<uintptr_t>(si->size), si->get_soname());
     AddUnchecked(si->base, si->base + si->size);
     return true;
   }
 
-  INFO("[ CFI add 0x%zx + 0x%zx %s: 0x%zx ]", static_cast<uintptr_t>(si->base),
+  LD_DEBUG(cfi, "[ CFI add 0x%zx + 0x%zx %s: 0x%zx ]", static_cast<uintptr_t>(si->base),
        static_cast<uintptr_t>(si->size), si->get_soname(), cfi_check);
 #ifdef __arm__
   // Require Thumb encoding.
@@ -204,7 +204,7 @@
   shadow_start = reinterpret_cast<uintptr_t* (*)(uintptr_t)>(cfi_init)(p);
   CHECK(shadow_start != nullptr);
   CHECK(*shadow_start == p);
-  mprotect(shadow_start, PAGE_SIZE, PROT_READ);
+  mprotect(shadow_start, page_size(), PROT_READ);
   return true;
 }
 
@@ -263,8 +263,8 @@
 void CFIShadowWriter::BeforeUnload(soinfo* si) {
   if (shadow_start == nullptr) return;
   if (si->base == 0 || si->size == 0) return;
-  INFO("[ CFI remove 0x%zx + 0x%zx: %s ]", static_cast<uintptr_t>(si->base),
-       static_cast<uintptr_t>(si->size), si->get_soname());
+  LD_DEBUG(cfi, "[ CFI remove 0x%zx + 0x%zx: %s ]", static_cast<uintptr_t>(si->base),
+           static_cast<uintptr_t>(si->size), si->get_soname());
   AddInvalid(si->base, si->base + si->size);
   FixupVmaName();
 }
diff --git a/linker/linker_config.cpp b/linker/linker_config.cpp
index ad40c50..35a93fc 100644
--- a/linker/linker_config.cpp
+++ b/linker/linker_config.cpp
@@ -46,9 +46,6 @@
 #include <string>
 #include <unordered_map>
 
-#define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
-#include <sys/_system_properties.h>
-
 class ConfigParser {
  public:
   enum {
@@ -254,11 +251,8 @@
         // the failure with INFO rather than DL_WARN. e.g. A binary in
         // /data/local/tmp may attempt to stat /postinstall. See
         // http://b/120996057.
-        INFO("%s:%zd: warning: path \"%s\" couldn't be resolved: %s",
-             ld_config_file_path,
-             cp.lineno(),
-             value.c_str(),
-             strerror(errno));
+        LD_DEBUG(any, "%s:%zd: warning: path \"%s\" couldn't be resolved: %m",
+                 ld_config_file_path, cp.lineno(), value.c_str());
         resolved_path = value;
       }
 
@@ -269,7 +263,7 @@
     }
   }
 
-  INFO("[ Using config section \"%s\" ]", section_name.c_str());
+  LD_DEBUG(any, "[ Using config section \"%s\" ]", section_name.c_str());
 
   // skip everything until we meet a correct section
   while (true) {
@@ -304,7 +298,7 @@
     }
 
     if (result == ConfigParser::kPropertyAssign) {
-      if (properties->find(name) != properties->end()) {
+      if (properties->contains(name)) {
         DL_WARN("%s:%zd: warning: redefining property \"%s\" (overriding previous value)",
                 ld_config_file_path,
                 cp.lineno(),
@@ -313,7 +307,7 @@
 
       (*properties)[name] = PropertyValue(std::move(value), cp.lineno());
     } else if (result == ConfigParser::kPropertyAppend) {
-      if (properties->find(name) == properties->end()) {
+      if (!properties->contains(name)) {
         DL_WARN("%s:%zd: warning: appending to undefined property \"%s\" (treating as assignment)",
                 ld_config_file_path,
                 cp.lineno(),
@@ -526,7 +520,7 @@
         properties.get_strings(property_name_prefix + ".links", &lineno);
 
     for (const auto& linked_ns_name : linked_namespaces) {
-      if (namespace_configs.find(linked_ns_name) == namespace_configs.end()) {
+      if (!namespace_configs.contains(linked_ns_name)) {
         *error_msg = create_error_msg(ld_config_file_path,
                                       lineno,
                                       std::string("undefined namespace: ") + linked_ns_name);
diff --git a/linker/linker_crt_pad_segment_test.cpp b/linker/linker_crt_pad_segment_test.cpp
new file mode 100644
index 0000000..c11df50
--- /dev/null
+++ b/linker/linker_crt_pad_segment_test.cpp
@@ -0,0 +1,93 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <android-base/file.h>
+#include <android-base/unique_fd.h>
+
+#include "linker_phdr.h"
+
+#include <gtest/gtest.h>
+
+#include <fcntl.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#include <string>
+
+using ::android::base::GetExecutableDirectory;
+using ::android::base::unique_fd;
+
+namespace {
+
+static std::string GetTestElfPath(const std::string& filename) {
+  static std::string test_data_dir = GetExecutableDirectory();
+
+  return test_data_dir + "/" + filename;
+}
+
+bool GetPadSegment(const std::string& elf_path) {
+  std::string path = GetTestElfPath(elf_path);
+
+  unique_fd fd{TEMP_FAILURE_RETRY(open(path.c_str(), O_CLOEXEC | O_RDWR))};
+  EXPECT_GE(fd.get(), 0) << "Failed to open " << path << ": " << strerror(errno);
+
+  struct stat file_stat;
+  EXPECT_NE(TEMP_FAILURE_RETRY(fstat(fd.get(), &file_stat)), -1)
+        << "Failed to stat " << path << ": " << strerror(errno);
+
+  ElfReader elf_reader;
+  EXPECT_TRUE(elf_reader.Read(path.c_str(), fd.get(), 0, file_stat.st_size))
+        << "Failed to read ELF file";
+
+  return elf_reader.should_pad_segments();
+}
+
+};  // anonymous namespace
+
+TEST(crt_pad_segment, note_absent) {
+  if (!page_size_migration_supported()) {
+    GTEST_SKIP() << "Kernel does not support page size migration";
+  }
+  ASSERT_FALSE(GetPadSegment("no_crt_pad_segment.so"));
+}
+
+TEST(crt_pad_segment, note_present_and_enabled) {
+  if (!page_size_migration_supported()) {
+    GTEST_SKIP() << "Kernel does not support page size migration";
+  }
+  ASSERT_TRUE(GetPadSegment("crt_pad_segment_enabled.so"));
+}
+
+TEST(crt_pad_segment, note_present_and_disabled) {
+  if (!page_size_migration_supported()) {
+    GTEST_SKIP() << "Kernel does not support page size migration";
+  }
+  ASSERT_FALSE(GetPadSegment("crt_pad_segment_disabled.so"));
+}
diff --git a/linker/linker_debug.cpp b/linker/linker_debug.cpp
index b0aae79..430a151 100644
--- a/linker/linker_debug.cpp
+++ b/linker/linker_debug.cpp
@@ -30,18 +30,76 @@
 
 #include <unistd.h>
 
-void linker_log_va_list(int prio __unused, const char* fmt, va_list ap) {
-#if LINKER_DEBUG_TO_LOG
-  async_safe_format_log_va_list(5 - prio, "linker", fmt, ap);
-#else
-  async_safe_format_fd_va_list(STDOUT_FILENO, fmt, ap);
-  write(STDOUT_FILENO, "\n", 1);
-#endif
+#include <android-base/strings.h>
+
+LinkerDebugConfig g_linker_debug_config;
+
+void init_LD_DEBUG(const std::string& value) {
+  if (value.empty()) return;
+  std::vector<std::string> options = android::base::Split(value, ",");
+  for (const auto& o : options) {
+    if (o == "calls") g_linker_debug_config.calls = true;
+    else if (o == "cfi") g_linker_debug_config.cfi = true;
+    else if (o == "dynamic") g_linker_debug_config.dynamic = true;
+    else if (o == "lookup") g_linker_debug_config.lookup = true;
+    else if (o == "props") g_linker_debug_config.props = true;
+    else if (o == "reloc") g_linker_debug_config.reloc = true;
+    else if (o == "statistics") g_linker_debug_config.statistics = true;
+    else if (o == "timing") g_linker_debug_config.timing = true;
+    else if (o == "all") {
+      g_linker_debug_config.calls = true;
+      g_linker_debug_config.cfi = true;
+      g_linker_debug_config.dynamic = true;
+      g_linker_debug_config.lookup = true;
+      g_linker_debug_config.props = true;
+      g_linker_debug_config.reloc = true;
+      g_linker_debug_config.statistics = true;
+      g_linker_debug_config.timing = true;
+    } else {
+      __linker_error("$LD_DEBUG is a comma-separated list of:\n"
+                     "\n"
+                     "  calls       ctors/dtors/ifuncs\n"
+                     "  cfi         control flow integrity messages\n"
+                     "  dynamic     dynamic section processing\n"
+                     "  lookup      symbol lookup\n"
+                     "  props       ELF property processing\n"
+                     "  reloc       relocation resolution\n"
+                     "  statistics  relocation statistics\n"
+                     "  timing      timing information\n"
+                     "\n"
+                     "or 'all' for all of the above.\n");
+    }
+  }
+  if (g_linker_debug_config.calls || g_linker_debug_config.cfi ||
+      g_linker_debug_config.dynamic || g_linker_debug_config.lookup ||
+      g_linker_debug_config.props || g_linker_debug_config.reloc ||
+      g_linker_debug_config.statistics || g_linker_debug_config.timing) {
+    g_linker_debug_config.any = true;
+  }
 }
 
-void linker_log(int prio, const char* fmt, ...) {
+static void linker_log_va_list(int prio, const char* fmt, va_list ap) {
+  va_list ap2;
+  va_copy(ap2, ap);
+  async_safe_format_log_va_list(prio, "linker", fmt, ap2);
+  va_end(ap2);
+
+  async_safe_format_fd_va_list(STDERR_FILENO, fmt, ap);
+  write(STDERR_FILENO, "\n", 1);
+}
+
+void __linker_log(int prio, const char* fmt, ...) {
   va_list ap;
   va_start(ap, fmt);
   linker_log_va_list(prio, fmt, ap);
   va_end(ap);
 }
+
+void __linker_error(const char* fmt, ...) {
+  va_list ap;
+  va_start(ap, fmt);
+  linker_log_va_list(ANDROID_LOG_FATAL, fmt, ap);
+  va_end(ap);
+
+  _exit(EXIT_FAILURE);
+}
diff --git a/linker/linker_debug.h b/linker/linker_debug.h
index 477b009..e5f17c4 100644
--- a/linker/linker_debug.h
+++ b/linker/linker_debug.h
@@ -28,59 +28,45 @@
 
 #pragma once
 
-// You can increase the verbosity of debug traces by defining the LD_DEBUG
-// environment variable to a numeric value from 0 to 2 (corresponding to
-// INFO, TRACE, and DEBUG calls in the source). This will only
-// affect new processes being launched.
-
-// By default, traces are sent to logcat, with the "linker" tag. You can
-// change this to go to stdout instead by setting the definition of
-// LINKER_DEBUG_TO_LOG to 0.
-#define LINKER_DEBUG_TO_LOG  1
-
-#define TRACE_DEBUG          1
-#define DO_TRACE_LOOKUP      1
-#define DO_TRACE_RELO        1
-#define DO_TRACE_IFUNC       1
-#define TIMING               0
-#define STATS                0
-
-/*********************************************************************
- * You shouldn't need to modify anything below unless you are adding
- * more debugging information.
- *
- * To enable/disable specific debug options, change the defines above
- *********************************************************************/
-
 #include <stdarg.h>
 #include <unistd.h>
 
+#include <string>
+
 #include <async_safe/log.h>
 #include <async_safe/CHECK.h>
 
-#define LINKER_VERBOSITY_PRINT (-1)
-#define LINKER_VERBOSITY_INFO   0
-#define LINKER_VERBOSITY_TRACE  1
-#define LINKER_VERBOSITY_DEBUG  2
+struct LinkerDebugConfig {
+  // Set automatically if any of the more specific options are set.
+  bool any;
 
-__LIBC_HIDDEN__ extern int g_ld_debug_verbosity;
+  // Messages relating to calling ctors/dtors/ifuncs.
+  bool calls;
+  // Messages relating to CFI.
+  bool cfi;
+  // Messages relating to the dynamic section.
+  bool dynamic;
+  // Messages relating to symbol lookup.
+  bool lookup;
+  // Messages relating to relocation processing.
+  bool reloc;
+  // Messages relating to ELF properties.
+  bool props;
+  // TODO: "config" and "zip" seem likely to want to be separate?
 
-__LIBC_HIDDEN__ void linker_log_va_list(int prio, const char* fmt, va_list ap);
-__LIBC_HIDDEN__ void linker_log(int prio, const char* fmt, ...) __printflike(2, 3);
+  bool timing;
+  bool statistics;
+};
 
-#define _PRINTVF(v, x...) \
-    do { \
-      if (g_ld_debug_verbosity > (v)) linker_log((v), x); \
-    } while (0)
+extern LinkerDebugConfig g_linker_debug_config;
 
-#define PRINT(x...)          _PRINTVF(LINKER_VERBOSITY_PRINT, x)
-#define INFO(x...)           _PRINTVF(LINKER_VERBOSITY_INFO, x)
-#define TRACE(x...)          _PRINTVF(LINKER_VERBOSITY_TRACE, x)
+__LIBC_HIDDEN__ void init_LD_DEBUG(const std::string& value);
+__LIBC_HIDDEN__ void __linker_log(int prio, const char* fmt, ...) __printflike(2, 3);
+__LIBC_HIDDEN__ void __linker_error(const char* fmt, ...) __printflike(1, 2);
 
-#if TRACE_DEBUG
-#define DEBUG(x...)          _PRINTVF(LINKER_VERBOSITY_DEBUG, "DEBUG: " x)
-#else /* !TRACE_DEBUG */
-#define DEBUG(x...)          do {} while (0)
-#endif /* TRACE_DEBUG */
-
-#define TRACE_TYPE(t, x...)   do { if (DO_TRACE_##t) { TRACE(x); } } while (0)
+#define LD_DEBUG(what, x...) \
+  do { \
+    if (g_linker_debug_config.what) { \
+      __linker_log(ANDROID_LOG_INFO, x); \
+    } \
+  } while (false)
diff --git a/linker/linker_debuggerd_android.cpp b/linker/linker_debuggerd_android.cpp
index ab6fc30..9ded143 100644
--- a/linker/linker_debuggerd_android.cpp
+++ b/linker/linker_debuggerd_android.cpp
@@ -44,6 +44,8 @@
       .scudo_region_info = __libc_shared_globals()->scudo_region_info,
       .scudo_ring_buffer = __libc_shared_globals()->scudo_ring_buffer,
       .scudo_ring_buffer_size = __libc_shared_globals()->scudo_ring_buffer_size,
+      .scudo_stack_depot_size = __libc_shared_globals()->scudo_stack_depot_size,
+      .crash_detail_page = __libc_shared_globals()->crash_detail_page,
   };
 }
 
diff --git a/linker/linker_globals.h b/linker/linker_globals.h
index 0998629..2bfdccd 100644
--- a/linker/linker_globals.h
+++ b/linker/linker_globals.h
@@ -54,7 +54,7 @@
 #define DL_ERR_AND_LOG(fmt, x...) \
   do { \
     DL_ERR(fmt, ##x); \
-    PRINT(fmt, ##x); \
+    __linker_log(ANDROID_LOG_ERROR, fmt, ##x); \
   } while (false)
 
 #define DL_OPEN_ERR(fmt, x...) \
@@ -104,3 +104,4 @@
 };
 
 __LIBC_HIDDEN__ extern bool g_is_ldd;
+__LIBC_HIDDEN__ extern pthread_mutex_t g_dl_mutex;
diff --git a/linker/linker_main.cpp b/linker/linker_main.cpp
index 26e2228..f65f82d 100644
--- a/linker/linker_main.cpp
+++ b/linker/linker_main.cpp
@@ -29,9 +29,12 @@
 #include "linker_main.h"
 
 #include <link.h>
+#include <stdlib.h>
 #include <sys/auxv.h>
+#include <sys/prctl.h>
 
 #include "linker.h"
+#include "linker_auxv.h"
 #include "linker_cfi.h"
 #include "linker_debug.h"
 #include "linker_debuggerd.h"
@@ -43,10 +46,11 @@
 #include "linker_tls.h"
 #include "linker_utils.h"
 
+#include "platform/bionic/macros.h"
+#include "private/KernelArgumentBlock.h"
 #include "private/bionic_call_ifunc_resolver.h"
 #include "private/bionic_globals.h"
 #include "private/bionic_tls.h"
-#include "private/KernelArgumentBlock.h"
 
 #include "android-base/unique_fd.h"
 #include "android-base/strings.h"
@@ -67,8 +71,14 @@
 
 static void set_bss_vma_name(soinfo* si);
 
-void __libc_init_mte(const void* phdr_start, size_t phdr_count, uintptr_t load_bias,
-                     void* stack_top);
+void __libc_init_mte(const memtag_dynamic_entries_t* memtag_dynamic_entries, const void* phdr_start,
+                     size_t phdr_count, uintptr_t load_bias);
+
+void __libc_init_mte_stack(void* stack_top);
+
+static void __linker_cannot_link(const char* argv0) {
+  __linker_error("CANNOT LINK EXECUTABLE \"%s\": %s", argv0, linker_get_error_buffer());
+}
 
 // These should be preserved static to avoid emitting
 // RELATIVE relocations for the part of the code running
@@ -97,7 +107,7 @@
 
   if (trav == nullptr) {
     // si was not in solist
-    PRINT("name \"%s\"@%p is not in solist!", si->get_realpath(), si);
+    DL_WARN("name \"%s\"@%p is not in solist!", si->get_realpath(), si);
     return false;
   }
 
@@ -125,7 +135,6 @@
 }
 
 bool g_is_ldd;
-int g_ld_debug_verbosity;
 
 static std::vector<std::string> g_ld_preload_names;
 
@@ -164,22 +173,21 @@
     return;
   }
 
-  soinfo* si = soinfo_alloc(&g_default_namespace, "[vdso]", nullptr, 0, 0);
+  vdso = soinfo_alloc(&g_default_namespace, "[vdso]", nullptr, 0, 0);
 
-  si->phdr = reinterpret_cast<ElfW(Phdr)*>(reinterpret_cast<char*>(ehdr_vdso) + ehdr_vdso->e_phoff);
-  si->phnum = ehdr_vdso->e_phnum;
-  si->base = reinterpret_cast<ElfW(Addr)>(ehdr_vdso);
-  si->size = phdr_table_get_load_size(si->phdr, si->phnum);
-  si->load_bias = get_elf_exec_load_bias(ehdr_vdso);
+  vdso->phdr = reinterpret_cast<ElfW(Phdr)*>(reinterpret_cast<char*>(ehdr_vdso) + ehdr_vdso->e_phoff);
+  vdso->phnum = ehdr_vdso->e_phnum;
+  vdso->base = reinterpret_cast<ElfW(Addr)>(ehdr_vdso);
+  vdso->size = phdr_table_get_load_size(vdso->phdr, vdso->phnum);
+  vdso->load_bias = get_elf_exec_load_bias(ehdr_vdso);
 
-  si->prelink_image();
-  si->link_image(SymbolLookupList(si), si, nullptr, nullptr);
-  // prevents accidental unloads...
-  si->set_dt_flags_1(si->get_dt_flags_1() | DF_1_NODELETE);
-  si->set_linked();
-  si->call_constructors();
+  if (!vdso->prelink_image() || !vdso->link_image(SymbolLookupList(vdso), vdso, nullptr, nullptr)) {
+    __linker_cannot_link(g_argv[0]);
+  }
 
-  vdso = si;
+  // Prevent accidental unloads...
+  vdso->set_dt_flags_1(vdso->get_dt_flags_1() | DF_1_NODELETE);
+  vdso->set_linked();
 }
 
 // Initializes an soinfo's link_map_head field using other fields from the
@@ -200,6 +208,7 @@
   const ElfW(Phdr)* phdr;
   size_t phdr_count;
   ElfW(Addr) entry_point;
+  bool should_pad_segments;
 };
 
 static ExecutableInfo get_executable_info(const char* arg_path) {
@@ -212,20 +221,15 @@
   if (TEMP_FAILURE_RETRY(stat(exe_path, &result.file_stat) == -1)) {
     // Fallback to argv[0] for the case where /proc isn't available
     if (TEMP_FAILURE_RETRY(stat(arg_path, &result.file_stat) == -1)) {
-      async_safe_fatal("unable to stat either \"/proc/self/exe\" or \"%s\": %s",
-          arg_path, strerror(errno));
+      async_safe_fatal("unable to stat either \"/proc/self/exe\" or \"%s\": %m", arg_path);
     }
     exe_path = arg_path;
   }
 
-  // Path might be a symlink
+  // Path might be a symlink; we need the target so that we get the right
+  // linker configuration later.
   char sym_path[PATH_MAX];
-  ssize_t sym_path_len = readlink(exe_path, sym_path, sizeof(sym_path));
-  if (sym_path_len > 0 && sym_path_len < static_cast<ssize_t>(sizeof(sym_path))) {
-    result.path = std::string(sym_path, sym_path_len);
-  } else {
-    result.path = std::string(exe_path, strlen(exe_path));
-  }
+  result.path = std::string(realpath(exe_path, sym_path) != nullptr ? sym_path : exe_path);
 
   result.phdr = reinterpret_cast<const ElfW(Phdr)*>(getauxval(AT_PHDR));
   result.phdr_count = getauxval(AT_PHNUM);
@@ -233,33 +237,6 @@
   return result;
 }
 
-#if defined(__LP64__)
-static char kFallbackLinkerPath[] = "/system/bin/linker64";
-#else
-static char kFallbackLinkerPath[] = "/system/bin/linker";
-#endif
-
-__printflike(1, 2)
-static void __linker_error(const char* fmt, ...) {
-  va_list ap;
-
-  va_start(ap, fmt);
-  async_safe_format_fd_va_list(STDERR_FILENO, fmt, ap);
-  va_end(ap);
-
-  va_start(ap, fmt);
-  async_safe_format_log_va_list(ANDROID_LOG_FATAL, "linker", fmt, ap);
-  va_end(ap);
-
-  _exit(EXIT_FAILURE);
-}
-
-static void __linker_cannot_link(const char* argv0) {
-  __linker_error("CANNOT LINK EXECUTABLE \"%s\": %s\n",
-                 argv0,
-                 linker_get_error_buffer());
-}
-
 // Load an executable. Normally the kernel has already loaded the executable when the linker
 // starts. The linker can be invoked directly on an executable, though, and then the linker must
 // load it. This function doesn't load dependencies or resolve relocations.
@@ -267,31 +244,32 @@
   ExecutableInfo result = {};
 
   if (orig_path[0] != '/') {
-    __linker_error("error: expected absolute path: \"%s\"\n", orig_path);
+    __linker_error("error: expected absolute path: \"%s\"", orig_path);
   }
 
   off64_t file_offset;
   android::base::unique_fd fd(open_executable(orig_path, &file_offset, &result.path));
   if (fd.get() == -1) {
-    __linker_error("error: unable to open file \"%s\"\n", orig_path);
+    __linker_error("error: unable to open file \"%s\"", orig_path);
   }
 
   if (TEMP_FAILURE_RETRY(fstat(fd.get(), &result.file_stat)) == -1) {
-    __linker_error("error: unable to stat \"%s\": %s\n", result.path.c_str(), strerror(errno));
+    __linker_error("error: unable to stat \"%s\": %m", result.path.c_str());
   }
 
   ElfReader elf_reader;
   if (!elf_reader.Read(result.path.c_str(), fd.get(), file_offset, result.file_stat.st_size)) {
-    __linker_error("error: %s\n", linker_get_error_buffer());
+    __linker_error("error: %s", linker_get_error_buffer());
   }
   address_space_params address_space;
   if (!elf_reader.Load(&address_space)) {
-    __linker_error("error: %s\n", linker_get_error_buffer());
+    __linker_error("error: %s", linker_get_error_buffer());
   }
 
   result.phdr = elf_reader.loaded_phdr();
   result.phdr_count = elf_reader.phdr_count();
   result.entry_point = elf_reader.entry_point();
+  result.should_pad_segments = elf_reader.should_pad_segments();
   return result;
 }
 
@@ -305,10 +283,8 @@
 static ElfW(Addr) linker_main(KernelArgumentBlock& args, const char* exe_to_load) {
   ProtectedDataGuard guard;
 
-#if TIMING
-  struct timeval t0, t1;
-  gettimeofday(&t0, 0);
-#endif
+  timeval t0, t1;
+  gettimeofday(&t0, nullptr);
 
   // Sanitize the environment.
   __libc_init_AT_SECURE(args.envp);
@@ -324,17 +300,13 @@
 
   g_linker_logger.ResetState();
 
-  // Get a few environment variables.
+  // Enable debugging logs?
   const char* LD_DEBUG = getenv("LD_DEBUG");
-  if (LD_DEBUG != nullptr) {
-    g_ld_debug_verbosity = atoi(LD_DEBUG);
-  }
+  if (LD_DEBUG != nullptr) init_LD_DEBUG(LD_DEBUG);
 
-#if defined(__LP64__)
-  INFO("[ Android dynamic linker (64-bit) ]");
-#else
-  INFO("[ Android dynamic linker (32-bit) ]");
-#endif
+  if (getenv("LD_SHOW_AUXV") != nullptr) ld_show_auxv(args.auxv);
+
+  LD_DEBUG(any, "[ Android dynamic linker (" ABI_STRING ") ]");
 
   // These should have been sanitized by __libc_init_AT_SECURE, but the test
   // doesn't cost us anything.
@@ -343,18 +315,18 @@
   if (!getauxval(AT_SECURE)) {
     ldpath_env = getenv("LD_LIBRARY_PATH");
     if (ldpath_env != nullptr) {
-      INFO("[ LD_LIBRARY_PATH set to \"%s\" ]", ldpath_env);
+      LD_DEBUG(any, "[ LD_LIBRARY_PATH set to \"%s\" ]", ldpath_env);
     }
     ldpreload_env = getenv("LD_PRELOAD");
     if (ldpreload_env != nullptr) {
-      INFO("[ LD_PRELOAD set to \"%s\" ]", ldpreload_env);
+      LD_DEBUG(any, "[ LD_PRELOAD set to \"%s\" ]", ldpreload_env);
     }
   }
 
   const ExecutableInfo exe_info = exe_to_load ? load_executable(exe_to_load) :
                                                 get_executable_info(args.argv[0]);
 
-  INFO("[ Linking executable \"%s\" ]", exe_info.path.c_str());
+  LD_DEBUG(any, "[ Linking executable \"%s\" ]", exe_info.path.c_str());
 
   // Initialize the main exe's soinfo.
   soinfo* si = soinfo_alloc(&g_default_namespace,
@@ -363,6 +335,7 @@
   somain = si;
   si->phdr = exe_info.phdr;
   si->phnum = exe_info.phdr_count;
+  si->set_should_pad_segments(exe_info.should_pad_segments);
   get_elf_base_from_phdr(si->phdr, si->phnum, &si->base, &si->load_bias);
   si->size = phdr_table_get_load_size(si->phdr, si->phnum);
   si->dynamic = nullptr;
@@ -384,25 +357,30 @@
   if (interp == nullptr) {
     // This case can happen if the linker attempts to execute itself
     // (e.g. "linker64 /system/bin/linker64").
-    interp = kFallbackLinkerPath;
+#if defined(__LP64__)
+#define DEFAULT_INTERP "/system/bin/linker64"
+#else
+#define DEFAULT_INTERP "/system/bin/linker"
+#endif
+    interp = DEFAULT_INTERP;
   }
   solinker->set_realpath(interp);
   init_link_map_head(*solinker);
 
 #if defined(__aarch64__)
+  __libc_init_mte(somain->memtag_dynamic_entries(), somain->phdr, somain->phnum, somain->load_bias);
+
   if (exe_to_load == nullptr) {
     // Kernel does not add PROT_BTI to executable pages of the loaded ELF.
     // Apply appropriate protections here if it is needed.
     auto note_gnu_property = GnuPropertySection(somain);
     if (note_gnu_property.IsBTICompatible() &&
-        (phdr_table_protect_segments(somain->phdr, somain->phnum, somain->load_bias,
-                                     &note_gnu_property) < 0)) {
-      __linker_error("error: can't protect segments for \"%s\": %s", exe_info.path.c_str(),
-                     strerror(errno));
+        (phdr_table_protect_segments(
+             somain->phdr, somain->phnum, somain->load_bias, somain->should_pad_segments(),
+             somain->should_use_16kib_app_compat(), &note_gnu_property) < 0)) {
+      __linker_error("error: can't protect segments for \"%s\": %m", exe_info.path.c_str());
     }
   }
-
-  __libc_init_mte(somain->phdr, somain->phnum, somain->load_bias, args.argv);
 #endif
 
   // Register the main executable and the linker upfront to have
@@ -421,20 +399,11 @@
 
   ElfW(Ehdr)* elf_hdr = reinterpret_cast<ElfW(Ehdr)*>(si->base);
 
-  // We haven't supported non-PIE since Lollipop for security reasons.
+  // For security reasons we dropped non-PIE support in API level 21,
+  // and the NDK no longer supports earlier API levels.
   if (elf_hdr->e_type != ET_DYN) {
-    // We don't use async_safe_fatal here because we don't want a tombstone:
-    // even after several years we still find ourselves on app compatibility
-    // investigations because some app's trying to launch an executable that
-    // hasn't worked in at least three years, and we've "helpfully" dropped a
-    // tombstone for them. The tombstone never provided any detail relevant to
-    // fixing the problem anyway, and the utility of drawing extra attention
-    // to the problem is non-existent at this late date.
-    async_safe_format_fd(STDERR_FILENO,
-                         "\"%s\": error: Android 5.0 and later only support "
-                         "position-independent executables (-fPIE).\n",
-                         g_argv[0]);
-    _exit(EXIT_FAILURE);
+    __linker_error("error: %s: Android only supports position-independent "
+                   "executables (-fPIE)", exe_info.path.c_str());
   }
 
   // Use LD_LIBRARY_PATH and LD_PRELOAD (but only if we aren't setuid/setgid).
@@ -493,6 +462,17 @@
     si->increment_ref_count();
   }
 
+  // Exit early for ldd. We don't want to run the code that was loaded, so skip
+  // the constructor calls. Skip CFI setup because it would call __cfi_init in
+  // libdl.so.
+  if (g_is_ldd) _exit(EXIT_SUCCESS);
+
+#if defined(__aarch64__)
+  // This has to happen after the find_libraries, which will have collected any possible
+  // libraries that request memtag_stack in the dynamic section.
+  __libc_init_mte_stack(args.argv);
+#endif
+
   linker_finalize_static_tls();
   __libc_init_main_thread_final();
 
@@ -501,27 +481,22 @@
   si->call_pre_init_constructors();
   si->call_constructors();
 
-#if TIMING
-  gettimeofday(&t1, nullptr);
-  PRINT("LINKER TIME: %s: %d microseconds", g_argv[0],
-        static_cast<int>(((static_cast<long long>(t1.tv_sec) * 1000000LL) +
-                          static_cast<long long>(t1.tv_usec)) -
-                         ((static_cast<long long>(t0.tv_sec) * 1000000LL) +
-                          static_cast<long long>(t0.tv_usec))));
-#endif
-#if STATS
-  print_linker_stats();
-#endif
-#if TIMING || STATS
-  fflush(stdout);
-#endif
+  if (g_linker_debug_config.timing) {
+    gettimeofday(&t1, nullptr);
+    long long t0_us = (t0.tv_sec * 1000000LL) + t0.tv_usec;
+    long long t1_us = (t1.tv_sec * 1000000LL) + t1.tv_usec;
+    LD_DEBUG(timing, "LINKER TIME: %s: %lld microseconds", g_argv[0], t1_us - t0_us);
+  }
+  if (g_linker_debug_config.statistics) {
+    print_linker_stats();
+  }
 
   // We are about to hand control over to the executable loaded.  We don't want
   // to leave dirty pages behind unnecessarily.
   purge_unused_memory();
 
   ElfW(Addr) entry = exe_info.entry_point;
-  TRACE("[ Ready to execute \"%s\" @ %p ]", si->get_realpath(), reinterpret_cast<void*>(entry));
+  LD_DEBUG(any, "[ Ready to execute \"%s\" @ %p ]", si->get_realpath(), reinterpret_cast<void*>(entry));
   return entry;
 }
 
@@ -580,8 +555,8 @@
     }
 
     ElfW(Addr) seg_start = phdr->p_vaddr + si->load_bias;
-    ElfW(Addr) seg_page_end = PAGE_END(seg_start + phdr->p_memsz);
-    ElfW(Addr) seg_file_end = PAGE_END(seg_start + phdr->p_filesz);
+    ElfW(Addr) seg_page_end = page_end(seg_start + phdr->p_memsz);
+    ElfW(Addr) seg_file_end = page_end(seg_start + phdr->p_filesz);
 
     if (seg_page_end > seg_file_end) {
       prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME,
@@ -619,9 +594,10 @@
   }
 }
 
-static void call_ifunc_resolvers() {
-  // Find the IRELATIVE relocations using the DT_JMPREL and DT_PLTRELSZ, or DT_RELA? and DT_RELA?SZ
-  // dynamic tags.
+static void relocate_linker() {
+  // The linker should only have relative relocations (in RELR) and IRELATIVE
+  // relocations. Find the IRELATIVE relocations using the DT_JMPREL and
+  // DT_PLTRELSZ, or DT_RELA/DT_RELASZ (DT_REL/DT_RELSZ on ILP32).
   auto ehdr = reinterpret_cast<ElfW(Addr)>(&__ehdr_start);
   auto* phdr = reinterpret_cast<ElfW(Phdr)*>(ehdr + __ehdr_start.e_phoff);
   for (size_t i = 0; i != __ehdr_start.e_phnum; ++i) {
@@ -629,18 +605,38 @@
       continue;
     }
     auto *dyn = reinterpret_cast<ElfW(Dyn)*>(ehdr + phdr[i].p_vaddr);
-    ElfW(Addr) pltrel = 0, pltrelsz = 0, rel = 0, relsz = 0;
+    ElfW(Addr) relr = 0, relrsz = 0, pltrel = 0, pltrelsz = 0, rel = 0, relsz = 0;
     for (size_t j = 0, size = phdr[i].p_filesz / sizeof(ElfW(Dyn)); j != size; ++j) {
-      if (dyn[j].d_tag == DT_JMPREL) {
-        pltrel = dyn[j].d_un.d_ptr;
-      } else if (dyn[j].d_tag == DT_PLTRELSZ) {
-        pltrelsz = dyn[j].d_un.d_ptr;
-      } else if (dyn[j].d_tag == kRelTag) {
-        rel = dyn[j].d_un.d_ptr;
-      } else if (dyn[j].d_tag == kRelSzTag) {
-        relsz = dyn[j].d_un.d_ptr;
+      const auto tag = dyn[j].d_tag;
+      const auto val = dyn[j].d_un.d_ptr;
+      // We don't currently handle IRELATIVE relocations in DT_ANDROID_REL[A].
+      // We disabled DT_ANDROID_REL[A] at build time; verify that it was actually disabled.
+      CHECK(tag != DT_ANDROID_REL && tag != DT_ANDROID_RELA);
+      if (tag == DT_RELR || tag == DT_ANDROID_RELR) {
+        relr = val;
+      } else if (tag == DT_RELRSZ || tag == DT_ANDROID_RELRSZ) {
+        relrsz = val;
+      } else if (tag == DT_JMPREL) {
+        pltrel = val;
+      } else if (tag == DT_PLTRELSZ) {
+        pltrelsz = val;
+      } else if (tag == kRelTag) {
+        rel = val;
+      } else if (tag == kRelSzTag) {
+        relsz = val;
       }
     }
+    // Apply RELR relocations first so that the GOT is initialized for ifunc
+    // resolvers.
+    if (relr && relrsz) {
+      // Nothing has tagged the memtag globals here, so it is pointless either
+      // way to handle them, the tags will be zero anyway.
+      // That is moot though, because the linker does not use memtag_globals
+      // in the first place.
+      relocate_relr(reinterpret_cast<ElfW(Relr*)>(ehdr + relr),
+                    reinterpret_cast<ElfW(Relr*)>(ehdr + relr + relrsz), ehdr,
+                    /*has_memtag_globals=*/ false);
+    }
     if (pltrel && pltrelsz) {
       call_ifunc_resolvers_for_section(reinterpret_cast<RelType*>(ehdr + pltrel),
                                        reinterpret_cast<RelType*>(ehdr + pltrel + pltrelsz));
@@ -659,6 +655,16 @@
   }
 }
 
+// Remapping MTE globals segments happens before the linker relocates itself, and so can't use
+// memcpy() from string.h. This function is compiled with -ffreestanding.
+void linker_memcpy(void* dst, const void* src, size_t n) {
+  char* dst_bytes = reinterpret_cast<char*>(dst);
+  const char* src_bytes = reinterpret_cast<const char*>(src);
+  for (size_t i = 0; i < n; ++i) {
+    dst_bytes[i] = src_bytes[i];
+  }
+}
+
 // Detect an attempt to run the linker on itself. e.g.:
 //   /system/bin/linker64 /system/bin/linker64
 // Use priority-1 to run this constructor before other constructors.
@@ -674,7 +680,7 @@
   // fallback.
   __libc_sysinfo = reinterpret_cast<void*>(__libc_int0x80);
 #endif
-  __linker_error("error: linker cannot load itself\n");
+  __linker_error("error: linker cannot load itself");
 }
 
 static ElfW(Addr) __attribute__((noinline))
@@ -690,6 +696,13 @@
  * function, or other GOT reference will generate a segfault.
  */
 extern "C" ElfW(Addr) __linker_init(void* raw_args) {
+  // Unlock the loader mutex immediately before transferring to the executable's
+  // entry point. This must happen after destructors are called in this function
+  // (e.g. ~soinfo), so declare this variable very early.
+  struct DlMutexUnlocker {
+    ~DlMutexUnlocker() { pthread_mutex_unlock(&g_dl_mutex); }
+  } unlocker;
+
   // Initialize TLS early so system calls and errno work.
   KernelArgumentBlock args(raw_args);
   bionic_tcb temp_tcb __attribute__((uninitialized));
@@ -711,8 +724,12 @@
   ElfW(Ehdr)* elf_hdr = reinterpret_cast<ElfW(Ehdr)*>(linker_addr);
   ElfW(Phdr)* phdr = reinterpret_cast<ElfW(Phdr)*>(linker_addr + elf_hdr->e_phoff);
 
-  // string.h functions must not be used prior to calling the linker's ifunc resolvers.
-  call_ifunc_resolvers();
+  // Relocate the linker. This step will initialize the GOT, which is needed for
+  // accessing non-hidden global variables. (On some targets, the stack
+  // protector uses GOT accesses rather than TLS.) Relocating the linker will
+  // also call the linker's ifunc resolvers so that string.h functions can be
+  // used.
+  relocate_linker();
 
   soinfo tmp_linker_so(nullptr, nullptr, nullptr, 0, 0);
 
@@ -724,8 +741,9 @@
   tmp_linker_so.phnum = elf_hdr->e_phnum;
   tmp_linker_so.set_linker_flag();
 
-  // Prelink the linker so we can access linker globals.
   if (!tmp_linker_so.prelink_image()) __linker_cannot_link(args.argv[0]);
+  // There is special logic in soinfo::relocate to avoid duplicating the
+  // relocations we did in relocate_linker().
   if (!tmp_linker_so.link_image(SymbolLookupList(&tmp_linker_so), &tmp_linker_so, nullptr, nullptr)) __linker_cannot_link(args.argv[0]);
 
   return __linker_init_post_relocation(args, tmp_linker_so);
@@ -752,6 +770,11 @@
   // Initialize the linker's static libc's globals
   __libc_init_globals();
 
+  // A constructor could spawn a thread that calls into the loader, so as soon
+  // as we've called a constructor, we need to hold the lock until transferring
+  // to the entry point.
+  pthread_mutex_lock(&g_dl_mutex);
+
   // Initialize the linker's own global variables
   tmp_linker_so.call_constructors();
 
@@ -807,9 +830,7 @@
 
   ElfW(Addr) start_address = linker_main(args, exe_to_load);
 
-  if (g_is_ldd) _exit(EXIT_SUCCESS);
-
-  INFO("[ Jumping to _start (%p)... ]", reinterpret_cast<void*>(start_address));
+  LD_DEBUG(any, "[ Jumping to _start (%p)... ]", reinterpret_cast<void*>(start_address));
 
   // Return the address that the calling assembly stub should jump to.
   return start_address;
diff --git a/linker/linker_main.h b/linker/linker_main.h
index 724f43c..ffbcf0f 100644
--- a/linker/linker_main.h
+++ b/linker/linker_main.h
@@ -70,3 +70,5 @@
 soinfo* solist_get_head();
 soinfo* solist_get_somain();
 soinfo* solist_get_vdso();
+
+void linker_memcpy(void* dst, const void* src, size_t n);
diff --git a/linker/linker_mapped_file_fragment.cpp b/linker/linker_mapped_file_fragment.cpp
index cbe5f66..6be1b2b 100644
--- a/linker/linker_mapped_file_fragment.cpp
+++ b/linker/linker_mapped_file_fragment.cpp
@@ -29,6 +29,7 @@
 #include "linker_mapped_file_fragment.h"
 #include "linker_debug.h"
 #include "linker_utils.h"
+#include "platform/bionic/page.h"
 
 #include <inttypes.h>
 #include <stdlib.h>
diff --git a/linker/linker_memory.cpp b/linker/linker_memory.cpp
index 456d254..7ce53b8 100644
--- a/linker/linker_memory.cpp
+++ b/linker/linker_memory.cpp
@@ -76,6 +76,10 @@
   return get_allocator().memalign(alignment, byte_count);
 }
 
+void* aligned_alloc(size_t alignment, size_t byte_count) {
+  return get_allocator().memalign(alignment, byte_count);
+}
+
 void* calloc(size_t item_count, size_t item_size) {
   return get_allocator().alloc(item_count*item_size);
 }
diff --git a/linker/linker_namespaces.cpp b/linker/linker_namespaces.cpp
index 5182129..eb9dae9 100644
--- a/linker/linker_namespaces.cpp
+++ b/linker/linker_namespaces.cpp
@@ -100,7 +100,7 @@
     // be searched.
     if (allow_secondary) {
       const android_namespace_list_t& secondary_namespaces = si->get_secondary_namespaces();
-      if (secondary_namespaces.find(this) != secondary_namespaces.end()) {
+      if (secondary_namespaces.contains(this)) {
         return true;
       }
     }
diff --git a/linker/linker_note_gnu_property.cpp b/linker/linker_note_gnu_property.cpp
index be1aebc..082a604 100644
--- a/linker/linker_note_gnu_property.cpp
+++ b/linker/linker_note_gnu_property.cpp
@@ -62,7 +62,7 @@
         continue;
       }
 
-      TRACE("\"%s\" PT_GNU_PROPERTY: found at segment index %zu", name, i);
+      LD_DEBUG(props, "\"%s\" PT_GNU_PROPERTY: found at segment index %zu", name, i);
 
       // Check segment size.
       if (phdr[i].p_memsz < sizeof(ElfW(NhdrGNUProperty))) {
@@ -90,7 +90,7 @@
     }
   }
 
-  TRACE("\"%s\" PT_GNU_PROPERTY: not found", name);
+  LD_DEBUG(props, "\"%s\" PT_GNU_PROPERTY: not found", name);
   return nullptr;
 }
 
@@ -122,7 +122,7 @@
   // The total length of the program property array is in _bytes_.
   ElfW(Word) offset = 0;
   while (offset < note_nhdr->nhdr.n_descsz) {
-    DEBUG("\"%s\" .note.gnu.property: processing at offset 0x%x", name, offset);
+    LD_DEBUG(props, "\"%s\" .note.gnu.property: processing at offset 0x%x", name, offset);
 
     // At least the "header" part must fit.
     // The ABI doesn't say that pr_datasz can't be 0.
@@ -161,14 +161,14 @@
         const ElfW(Word) flags = *reinterpret_cast<const ElfW(Word)*>(&property->pr_data[0]);
         properties_.bti_compatible = (flags & GNU_PROPERTY_AARCH64_FEATURE_1_BTI) != 0;
         if (properties_.bti_compatible) {
-          INFO("[ BTI compatible: \"%s\" ]", name);
+          LD_DEBUG(props, "[ BTI compatible: \"%s\" ]", name);
         }
         break;
       }
 #endif
       default:
-        DEBUG("\"%s\" .note.gnu.property: found property pr_type %u pr_datasz 0x%x", name,
-              property->pr_type, property->pr_datasz);
+        LD_DEBUG(props, "\"%s\" .note.gnu.property: found property pr_type %u pr_datasz 0x%x",
+                 name, property->pr_type, property->pr_datasz);
         break;
     }
 
diff --git a/linker/linker_note_gnu_property_test.cpp b/linker/linker_note_gnu_property_test.cpp
index 41fc47b..960118c 100644
--- a/linker/linker_note_gnu_property_test.cpp
+++ b/linker/linker_note_gnu_property_test.cpp
@@ -137,18 +137,18 @@
     dump_member("entries ", entries);
     if (entries > 0) {
       std::cout << "    raw data:";
-      const uintptr_t offset = note->nhdr.n_descsz + 16;
-      for (uintptr_t offs = 16; offs < offset; ++offs) {
+      const uintptr_t end = note->nhdr.n_descsz + 16;
+      for (uintptr_t offset = 16; offset < end; ++offset) {
         std::cout << std::hex;
-        if ((offs % 8) == 0) {
+        if ((offset % 8) == 0) {
           std::cout << "\n   ";
         }
-        auto value = static_cast<unsigned>(section[offs]);
+        auto value = static_cast<unsigned>(section[offset]);
         std::cout << " ";
         if (value < 0x10) {
           std::cout << "0";
         }
-        std::cout << static_cast<unsigned>(section[offs]);
+        std::cout << static_cast<unsigned>(section[offset]);
       }
       std::cout << std::dec << "\n";
     }
diff --git a/linker/linker_phdr.cpp b/linker/linker_phdr.cpp
index 73cfced..e5369ac 100644
--- a/linker/linker_phdr.cpp
+++ b/linker/linker_phdr.cpp
@@ -37,12 +37,20 @@
 #include <unistd.h>
 
 #include "linker.h"
+#include "linker_debug.h"
 #include "linker_dlwarning.h"
 #include "linker_globals.h"
-#include "linker_debug.h"
+#include "linker_logger.h"
+#include "linker_main.h"
+#include "linker_soinfo.h"
 #include "linker_utils.h"
 
+#include "private/bionic_asm_note.h"
 #include "private/CFIShadow.h" // For kLibraryAlignment
+#include "private/elf_note.h"
+
+#include <android-base/file.h>
+#include <android-base/properties.h>
 
 static int GetTargetElfMachine() {
 #if defined(__arm__)
@@ -116,7 +124,7 @@
   can only memory-map at page boundaries, this means that the bias is
   computed as:
 
-       load_bias = phdr0_load_address - PAGE_START(phdr0->p_vaddr)
+       load_bias = phdr0_load_address - page_start(phdr0->p_vaddr)
 
   (NOTE: The value must be used as a 32-bit unsigned integer, to deal with
           possible wrap around UINT32_MAX for possible large p_vaddr values).
@@ -124,24 +132,29 @@
   And that the phdr0_load_address must start at a page boundary, with
   the segment's real content starting at:
 
-       phdr0_load_address + PAGE_OFFSET(phdr0->p_vaddr)
+       phdr0_load_address + page_offset(phdr0->p_vaddr)
 
   Note that ELF requires the following condition to make the mmap()-ing work:
 
-      PAGE_OFFSET(phdr0->p_vaddr) == PAGE_OFFSET(phdr0->p_offset)
+      page_offset(phdr0->p_vaddr) == page_offset(phdr0->p_offset)
 
   The load_bias must be added to any p_vaddr value read from the ELF file to
   determine the corresponding memory address.
 
  **/
 
-#define MAYBE_MAP_FLAG(x, from, to)  (((x) & (from)) ? (to) : 0)
-#define PFLAGS_TO_PROT(x)            (MAYBE_MAP_FLAG((x), PF_X, PROT_EXEC) | \
-                                      MAYBE_MAP_FLAG((x), PF_R, PROT_READ) | \
-                                      MAYBE_MAP_FLAG((x), PF_W, PROT_WRITE))
+static const size_t kPageSize = page_size();
 
-// Default PMD size for x86_64 and aarch64 (2MB).
-static constexpr size_t kPmdSize = (1UL << 21);
+/*
+ * Generic PMD size calculation:
+ *    - Each page table (PT) is of size 1 page.
+ *    - Each page table entry (PTE) is of size 64 bits.
+ *    - Each PTE locates one physical page frame (PFN) of size 1 page.
+ *    - A PMD entry locates 1 page table (PT)
+ *
+ *   PMD size = Num entries in a PT * page_size
+ */
+static const size_t kPmdSize = (kPageSize / sizeof(uint64_t)) * kPageSize;
 
 ElfReader::ElfReader()
     : did_read_(false), did_load_(false), fd_(-1), file_offset_(0), file_size_(0), phdr_num_(0),
@@ -163,10 +176,20 @@
       VerifyElfHeader() &&
       ReadProgramHeaders() &&
       ReadSectionHeaders() &&
-      ReadDynamicSection()) {
+      ReadDynamicSection() &&
+      ReadPadSegmentNote()) {
     did_read_ = true;
   }
 
+  if (kPageSize == 0x4000 && phdr_table_get_minimum_alignment(phdr_table_, phdr_num_) == 0x1000) {
+    // This prop needs to be read on 16KiB devices for each ELF where min_palign is 4KiB.
+    // It cannot be cached since the developer may toggle app compat on/off.
+    // This check will be removed once app compat is made the default on 16KiB devices.
+    should_use_16kib_app_compat_ =
+        ::android::base::GetBoolProperty("bionic.linker.16kb.app_compat.enabled", false) ||
+        get_16kb_appcompat_mode();
+  }
+
   return did_read_;
 }
 
@@ -182,8 +205,9 @@
 #if defined(__aarch64__)
     // For Armv8.5-A loaded executable segments may require PROT_BTI.
     if (note_gnu_property_.IsBTICompatible()) {
-      did_load_ = (phdr_table_protect_segments(phdr_table_, phdr_num_, load_bias_,
-                                               &note_gnu_property_) == 0);
+      did_load_ =
+          (phdr_table_protect_segments(phdr_table_, phdr_num_, load_bias_, should_pad_segments_,
+                                       should_use_16kib_app_compat_, &note_gnu_property_) == 0);
     }
 #endif
   }
@@ -283,7 +307,6 @@
   }
 
   if (header_.e_shentsize != sizeof(ElfW(Shdr))) {
-    // Fail if app is targeting Android O or above
     if (get_application_target_sdk_version() >= 26) {
       DL_ERR_AND_LOG("\"%s\" has unsupported e_shentsize: 0x%x (expected 0x%zx)",
                      name_.c_str(), header_.e_shentsize, sizeof(ElfW(Shdr)));
@@ -297,12 +320,10 @@
   }
 
   if (header_.e_shstrndx == 0) {
-    // Fail if app is targeting Android O or above
     if (get_application_target_sdk_version() >= 26) {
       DL_ERR_AND_LOG("\"%s\" has invalid e_shstrndx", name_.c_str());
       return false;
     }
-
     DL_WARN_documented_change(26,
                               "invalid-elf-header_section-headers-enforced-for-api-level-26",
                               "\"%s\" has invalid e_shstrndx", name_.c_str());
@@ -351,7 +372,7 @@
   }
 
   if (!phdr_fragment_.Map(fd_, file_offset_, header_.e_phoff, size)) {
-    DL_ERR("\"%s\" phdr mmap failed: %s", name_.c_str(), strerror(errno));
+    DL_ERR("\"%s\" phdr mmap failed: %m", name_.c_str());
     return false;
   }
 
@@ -377,7 +398,7 @@
   }
 
   if (!shdr_fragment_.Map(fd_, file_offset_, header_.e_shoff, size)) {
-    DL_ERR("\"%s\" shdr mmap failed: %s", name_.c_str(), strerror(errno));
+    DL_ERR("\"%s\" shdr mmap failed: %m", name_.c_str());
     return false;
   }
 
@@ -470,7 +491,7 @@
   }
 
   if (!dynamic_fragment_.Map(fd_, file_offset_, dynamic_shdr->sh_offset, dynamic_shdr->sh_size)) {
-    DL_ERR("\"%s\" dynamic section mmap failed: %s", name_.c_str(), strerror(errno));
+    DL_ERR("\"%s\" dynamic section mmap failed: %m", name_.c_str());
     return false;
   }
 
@@ -483,7 +504,7 @@
   }
 
   if (!strtab_fragment_.Map(fd_, file_offset_, strtab_shdr->sh_offset, strtab_shdr->sh_size)) {
-    DL_ERR("\"%s\" strtab section mmap failed: %s", name_.c_str(), strerror(errno));
+    DL_ERR("\"%s\" strtab section mmap failed: %m", name_.c_str());
     return false;
   }
 
@@ -529,8 +550,8 @@
     min_vaddr = 0;
   }
 
-  min_vaddr = PAGE_START(min_vaddr);
-  max_vaddr = PAGE_END(max_vaddr);
+  min_vaddr = page_start(min_vaddr);
+  max_vaddr = page_end(max_vaddr);
 
   if (out_min_vaddr != nullptr) {
     *out_min_vaddr = min_vaddr;
@@ -545,7 +566,7 @@
 // program header table. Used to determine whether the file should be loaded at
 // a specific virtual address alignment for use with huge pages.
 size_t phdr_table_get_maximum_alignment(const ElfW(Phdr)* phdr_table, size_t phdr_count) {
-  size_t maximum_alignment = PAGE_SIZE;
+  size_t maximum_alignment = page_size();
 
   for (size_t i = 0; i < phdr_count; ++i) {
     const ElfW(Phdr)* phdr = &phdr_table[i];
@@ -555,18 +576,40 @@
       continue;
     }
 
-    if (phdr->p_align > maximum_alignment) {
-      maximum_alignment = phdr->p_align;
-    }
+    maximum_alignment = std::max(maximum_alignment, static_cast<size_t>(phdr->p_align));
   }
 
 #if defined(__LP64__)
   return maximum_alignment;
 #else
-  return PAGE_SIZE;
+  return page_size();
 #endif
 }
 
+// Returns the minimum p_align associated with a loadable segment in the ELF
+// program header table. Used to determine if the program alignment is compatible
+// with the page size of this system.
+size_t phdr_table_get_minimum_alignment(const ElfW(Phdr)* phdr_table, size_t phdr_count) {
+  size_t minimum_alignment = page_size();
+
+  for (size_t i = 0; i < phdr_count; ++i) {
+    const ElfW(Phdr)* phdr = &phdr_table[i];
+
+    // p_align must be 0, 1, or a positive, integral power of two.
+    if (phdr->p_type != PT_LOAD || ((phdr->p_align & (phdr->p_align - 1)) != 0)) {
+      continue;
+    }
+
+    if (phdr->p_align <= 1) {
+      continue;
+    }
+
+    minimum_alignment = std::min(minimum_alignment, static_cast<size_t>(phdr->p_align));
+  }
+
+  return minimum_alignment;
+}
+
 // Reserve a virtual address range such that if it's limits were extended to the next 2**align
 // boundary, it would not overlap with any existing mappings.
 static void* ReserveWithAlignmentPadding(size_t size, size_t mapping_align, size_t start_align,
@@ -574,7 +617,7 @@
   int mmap_flags = MAP_PRIVATE | MAP_ANONYMOUS;
   // Reserve enough space to properly align the library's start address.
   mapping_align = std::max(mapping_align, start_align);
-  if (mapping_align == PAGE_SIZE) {
+  if (mapping_align == page_size()) {
     void* mmap_ptr = mmap(nullptr, size, PROT_NONE, mmap_flags, -1, 0);
     if (mmap_ptr == MAP_FAILED) {
       return nullptr;
@@ -593,7 +636,7 @@
   constexpr size_t kMaxGapUnits = 32;
   // Allocate enough space so that the end of the desired region aligned up is still inside the
   // mapping.
-  size_t mmap_size = align_up(size, mapping_align) + mapping_align - PAGE_SIZE;
+  size_t mmap_size = align_up(size, mapping_align) + mapping_align - page_size();
   uint8_t* mmap_ptr =
       reinterpret_cast<uint8_t*>(mmap(nullptr, mmap_size, PROT_NONE, mmap_flags, -1, 0));
   if (mmap_ptr == MAP_FAILED) {
@@ -610,7 +653,7 @@
     mapping_align = std::max(mapping_align, kGapAlignment);
     gap_size =
         kGapAlignment * (is_first_stage_init() ? 1 : arc4random_uniform(kMaxGapUnits - 1) + 1);
-    mmap_size = align_up(size + gap_size, mapping_align) + mapping_align - PAGE_SIZE;
+    mmap_size = align_up(size + gap_size, mapping_align) + mapping_align - page_size();
     mmap_ptr = reinterpret_cast<uint8_t*>(mmap(nullptr, mmap_size, PROT_NONE, mmap_flags, -1, 0));
     if (mmap_ptr == MAP_FAILED) {
       return nullptr;
@@ -656,6 +699,13 @@
     return false;
   }
 
+  if (should_use_16kib_app_compat_) {
+    // Reserve additional space for aligning the permission boundary in compat loading
+    // Up to kPageSize-kCompatPageSize additional space is needed, but reservation
+    // is done with mmap which gives kPageSize multiple-sized reservations.
+    load_size_ += kPageSize;
+  }
+
   uint8_t* addr = reinterpret_cast<uint8_t*>(min_vaddr);
   void* start;
 
@@ -665,12 +715,12 @@
              load_size_ - address_space->reserved_size, load_size_, name_.c_str());
       return false;
     }
-    size_t start_alignment = PAGE_SIZE;
+    size_t start_alignment = page_size();
     if (get_transparent_hugepages_supported() && get_application_target_sdk_version() >= 31) {
       size_t maximum_alignment = phdr_table_get_maximum_alignment(phdr_table_, phdr_num_);
       // Limit alignment to PMD size as other alignments reduce the number of
       // bits available for ASLR for no benefit.
-      start_alignment = maximum_alignment == kPmdSize ? kPmdSize : PAGE_SIZE;
+      start_alignment = maximum_alignment == kPmdSize ? kPmdSize : page_size();
     }
     start = ReserveWithAlignmentPadding(load_size_, kLibraryAlignment, start_alignment, &gap_start_,
                                         &gap_size_);
@@ -691,10 +741,291 @@
 
   load_start_ = start;
   load_bias_ = reinterpret_cast<uint8_t*>(start) - addr;
+
+  if (should_use_16kib_app_compat_) {
+    // In compat mode make the initial mapping RW since the ELF contents will be read
+    // into it; instead of mapped over it.
+    mprotect(reinterpret_cast<void*>(start), load_size_, PROT_READ | PROT_WRITE);
+  }
+
+  return true;
+}
+
+/*
+ * Returns true if the kernel supports page size migration for this process.
+ */
+bool page_size_migration_supported() {
+#if defined(__LP64__)
+  static bool pgsize_migration_enabled = []() {
+    std::string enabled;
+    if (!android::base::ReadFileToString("/sys/kernel/mm/pgsize_migration/enabled", &enabled)) {
+      return false;
+    }
+    return enabled.find("1") != std::string::npos;
+  }();
+  return pgsize_migration_enabled;
+#else
+  return false;
+#endif
+}
+
+// Find the ELF note of type NT_ANDROID_TYPE_PAD_SEGMENT and check that the desc value is 1.
+bool ElfReader::ReadPadSegmentNote() {
+  if (!page_size_migration_supported()) {
+    // Don't attempt to read the note, since segment extension isn't
+    // supported; but return true so that loading can continue normally.
+    return true;
+  }
+
+  // The ELF can have multiple PT_NOTE's, check them all
+  for (size_t i = 0; i < phdr_num_; ++i) {
+    const ElfW(Phdr)* phdr = &phdr_table_[i];
+
+    if (phdr->p_type != PT_NOTE) {
+      continue;
+    }
+
+    // Some obfuscated ELFs may contain "empty" PT_NOTE program headers that don't
+    // point to any part of the ELF (p_memsz == 0). Skip these since there is
+    // nothing to decode. See: b/324468126
+    if (phdr->p_memsz == 0) {
+      continue;
+    }
+
+    // If the PT_NOTE extends beyond the file. The ELF is doing something
+    // strange -- obfuscation, embedding hidden loaders, ...
+    //
+    // It doesn't contain the pad_segment note. Skip it to avoid SIGBUS
+    // by accesses beyond the file.
+    off64_t note_end_off = file_offset_ + phdr->p_offset + phdr->p_filesz;
+    if (note_end_off > file_size_) {
+      continue;
+    }
+
+    // note_fragment is scoped to within the loop so that there is
+    // at most 1 PT_NOTE mapped at anytime during this search.
+    MappedFileFragment note_fragment;
+    if (!note_fragment.Map(fd_, file_offset_, phdr->p_offset, phdr->p_memsz)) {
+      DL_ERR("\"%s\": PT_NOTE mmap(nullptr, %p, PROT_READ, MAP_PRIVATE, %d, %p) failed: %m",
+             name_.c_str(), reinterpret_cast<void*>(phdr->p_memsz), fd_,
+             reinterpret_cast<void*>(page_start(file_offset_ + phdr->p_offset)));
+      return false;
+    }
+
+    const ElfW(Nhdr)* note_hdr = nullptr;
+    const char* note_desc = nullptr;
+    if (!__get_elf_note(NT_ANDROID_TYPE_PAD_SEGMENT, "Android",
+                        reinterpret_cast<ElfW(Addr)>(note_fragment.data()),
+                        phdr, &note_hdr, &note_desc)) {
+      continue;
+    }
+
+    if (note_hdr->n_descsz != sizeof(ElfW(Word))) {
+      DL_ERR("\"%s\" NT_ANDROID_TYPE_PAD_SEGMENT note has unexpected n_descsz: %u",
+             name_.c_str(), reinterpret_cast<unsigned int>(note_hdr->n_descsz));
+      return false;
+    }
+
+    // 1 == enabled, 0 == disabled
+    should_pad_segments_ = *reinterpret_cast<const ElfW(Word)*>(note_desc) == 1;
+    return true;
+  }
+
+  return true;
+}
+
+static inline void _extend_load_segment_vma(const ElfW(Phdr)* phdr_table, size_t phdr_count,
+                                            size_t phdr_idx, ElfW(Addr)* p_memsz,
+                                            ElfW(Addr)* p_filesz, bool should_pad_segments,
+                                            bool should_use_16kib_app_compat) {
+  // NOTE: Segment extension is only applicable where the ELF's max-page-size > runtime page size;
+  // to save kernel VMA slab memory. 16KiB compat mode is the exact opposite scenario.
+  if (should_use_16kib_app_compat) {
+    return;
+  }
+
+  const ElfW(Phdr)* phdr = &phdr_table[phdr_idx];
+  const ElfW(Phdr)* next = nullptr;
+  size_t next_idx = phdr_idx + 1;
+
+  // Don't do segment extension for p_align > 64KiB, such ELFs already existed in the
+  // field e.g. 2MiB p_align for THPs and are relatively small in number.
+  //
+  // The kernel can only represent padding for p_align up to 64KiB. This is because
+  // the kernel uses 4 available bits in the vm_area_struct to represent padding
+  // extent; and so cannot enable mitigations to avoid breaking app compatibility for
+  // p_aligns > 64KiB.
+  //
+  // Don't perform segment extension on these to avoid app compatibility issues.
+  if (phdr->p_align <= kPageSize || phdr->p_align > 64*1024 || !should_pad_segments) {
+    return;
+  }
+
+  if (next_idx < phdr_count && phdr_table[next_idx].p_type == PT_LOAD) {
+    next = &phdr_table[next_idx];
+  }
+
+  // If this is the last LOAD segment, no extension is needed
+  if (!next || *p_memsz != *p_filesz) {
+    return;
+  }
+
+  ElfW(Addr) next_start = page_start(next->p_vaddr);
+  ElfW(Addr) curr_end = page_end(phdr->p_vaddr + *p_memsz);
+
+  // If adjacent segment mappings overlap, no extension is needed.
+  if (curr_end >= next_start) {
+    return;
+  }
+
+  // Extend the LOAD segment mapping to be contiguous with that of
+  // the next LOAD segment.
+  ElfW(Addr) extend = next_start - curr_end;
+  *p_memsz += extend;
+  *p_filesz += extend;
+}
+
+bool ElfReader::MapSegment(size_t seg_idx, size_t len) {
+  const ElfW(Phdr)* phdr = &phdr_table_[seg_idx];
+
+  void* start = reinterpret_cast<void*>(page_start(phdr->p_vaddr + load_bias_));
+
+  // The ELF could be being loaded directly from a zipped APK,
+  // the zip offset must be added to find the segment offset.
+  const ElfW(Addr) offset = file_offset_ + page_start(phdr->p_offset);
+
+  int prot = PFLAGS_TO_PROT(phdr->p_flags);
+
+  void* seg_addr = mmap64(start, len, prot, MAP_FIXED | MAP_PRIVATE, fd_, offset);
+
+  if (seg_addr == MAP_FAILED) {
+    DL_ERR("couldn't map \"%s\" segment %zd: %m", name_.c_str(), seg_idx);
+    return false;
+  }
+
+  // Mark segments as huge page eligible if they meet the requirements
+  if ((phdr->p_flags & PF_X) && phdr->p_align == kPmdSize &&
+      get_transparent_hugepages_supported()) {
+    madvise(seg_addr, len, MADV_HUGEPAGE);
+  }
+
+  return true;
+}
+
+void ElfReader::ZeroFillSegment(const ElfW(Phdr)* phdr) {
+  // NOTE: In 16KiB app compat mode, the ELF mapping is anonymous, meaning that
+  // RW segments are COW-ed from the kernel's zero page. So there is no need to
+  // explicitly zero-fill until the last page's limit.
+  if (should_use_16kib_app_compat_) {
+    return;
+  }
+
+  ElfW(Addr) seg_start = phdr->p_vaddr + load_bias_;
+  uint64_t unextended_seg_file_end = seg_start + phdr->p_filesz;
+
+  // If the segment is writable, and does not end on a page boundary,
+  // zero-fill it until the page limit.
+  //
+  // Do not attempt to zero the extended region past the first partial page,
+  // since doing so may:
+  //   1) Result in a SIGBUS, as the region is not backed by the underlying
+  //      file.
+  //   2) Break the COW backing, faulting in new anon pages for a region
+  //      that will not be used.
+  if ((phdr->p_flags & PF_W) != 0 && page_offset(unextended_seg_file_end) > 0) {
+    memset(reinterpret_cast<void*>(unextended_seg_file_end), 0,
+           kPageSize - page_offset(unextended_seg_file_end));
+  }
+}
+
+void ElfReader::DropPaddingPages(const ElfW(Phdr)* phdr, uint64_t seg_file_end) {
+  // NOTE: Padding pages are only applicable where the ELF's max-page-size > runtime page size;
+  // 16KiB compat mode is the exact opposite scenario.
+  if (should_use_16kib_app_compat_) {
+    return;
+  }
+
+  ElfW(Addr) seg_start = phdr->p_vaddr + load_bias_;
+  uint64_t unextended_seg_file_end = seg_start + phdr->p_filesz;
+
+  uint64_t pad_start = page_end(unextended_seg_file_end);
+  uint64_t pad_end = page_end(seg_file_end);
+  CHECK(pad_start <= pad_end);
+
+  uint64_t pad_len = pad_end - pad_start;
+  if (pad_len == 0 || !page_size_migration_supported()) {
+    return;
+  }
+
+  // Pages may be brought in due to readahead.
+  // Drop the padding (zero) pages, to avoid reclaim work later.
+  //
+  // NOTE: The madvise() here is special, as it also serves to hint to the
+  // kernel the portion of the LOAD segment that is padding.
+  //
+  // See: [1] https://android-review.googlesource.com/c/kernel/common/+/3032411
+  //      [2] https://android-review.googlesource.com/c/kernel/common/+/3048835
+  if (madvise(reinterpret_cast<void*>(pad_start), pad_len, MADV_DONTNEED)) {
+    DL_WARN("\"%s\": madvise(0x%" PRIx64 ", 0x%" PRIx64 ", MADV_DONTNEED) failed: %m",
+            name_.c_str(), pad_start, pad_len);
+  }
+}
+
+bool ElfReader::MapBssSection(const ElfW(Phdr)* phdr, ElfW(Addr) seg_page_end,
+                              ElfW(Addr) seg_file_end) {
+  // NOTE: We do not need to handle .bss in 16KiB compat mode since the mapping
+  // reservation is anonymous and RW to begin with.
+  if (should_use_16kib_app_compat_) {
+    return true;
+  }
+
+  // seg_file_end is now the first page address after the file content.
+  seg_file_end = page_end(seg_file_end);
+
+  if (seg_page_end <= seg_file_end) {
+    return true;
+  }
+
+  // If seg_page_end is larger than seg_file_end, we need to zero
+  // anything between them. This is done by using a private anonymous
+  // map for all extra pages
+  size_t zeromap_size = seg_page_end - seg_file_end;
+  void* zeromap =
+      mmap(reinterpret_cast<void*>(seg_file_end), zeromap_size, PFLAGS_TO_PROT(phdr->p_flags),
+           MAP_FIXED | MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
+  if (zeromap == MAP_FAILED) {
+    DL_ERR("couldn't map .bss section for \"%s\": %m", name_.c_str());
+    return false;
+  }
+
+  // Set the VMA name using prctl
+  prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, zeromap, zeromap_size, ".bss");
+
   return true;
 }
 
 bool ElfReader::LoadSegments() {
+  // NOTE: The compat(legacy) page size (4096) must be used when aligning
+  // the 4KiB segments for loading in compat mode. The larger 16KiB page size
+  // will lead to overwriting adjacent segments since the ELF's segment(s)
+  // are not 16KiB aligned.
+  size_t seg_align = should_use_16kib_app_compat_ ? kCompatPageSize : kPageSize;
+
+  size_t min_palign = phdr_table_get_minimum_alignment(phdr_table_, phdr_num_);
+  // Only enforce this on 16 KB systems with app compat disabled.
+  // Apps may rely on undefined behavior here on 4 KB systems,
+  // which is the norm before this change is introduced
+  if (kPageSize >= 16384 && min_palign < kPageSize && !should_use_16kib_app_compat_) {
+    DL_ERR("\"%s\" program alignment (%zu) cannot be smaller than system page size (%zu)",
+           name_.c_str(), min_palign, kPageSize);
+    return false;
+  }
+
+  if (!Setup16KiBAppCompat()) {
+    DL_ERR("\"%s\" failed to setup 16KiB App Compat", name_.c_str());
+    return false;
+  }
+
   for (size_t i = 0; i < phdr_num_; ++i) {
     const ElfW(Phdr)* phdr = &phdr_table_[i];
 
@@ -702,20 +1033,24 @@
       continue;
     }
 
+    ElfW(Addr) p_memsz = phdr->p_memsz;
+    ElfW(Addr) p_filesz = phdr->p_filesz;
+    _extend_load_segment_vma(phdr_table_, phdr_num_, i, &p_memsz, &p_filesz, should_pad_segments_,
+                             should_use_16kib_app_compat_);
+
     // Segment addresses in memory.
     ElfW(Addr) seg_start = phdr->p_vaddr + load_bias_;
-    ElfW(Addr) seg_end   = seg_start + phdr->p_memsz;
+    ElfW(Addr) seg_end = seg_start + p_memsz;
 
-    ElfW(Addr) seg_page_start = PAGE_START(seg_start);
-    ElfW(Addr) seg_page_end   = PAGE_END(seg_end);
+    ElfW(Addr) seg_page_end = align_up(seg_end, seg_align);
 
-    ElfW(Addr) seg_file_end   = seg_start + phdr->p_filesz;
+    ElfW(Addr) seg_file_end = seg_start + p_filesz;
 
     // File offsets.
     ElfW(Addr) file_start = phdr->p_offset;
-    ElfW(Addr) file_end   = file_start + phdr->p_filesz;
+    ElfW(Addr) file_end = file_start + p_filesz;
 
-    ElfW(Addr) file_page_start = PAGE_START(file_start);
+    ElfW(Addr) file_page_start = align_down(file_start, seg_align);
     ElfW(Addr) file_length = file_end - file_page_start;
 
     if (file_size_ <= 0) {
@@ -723,12 +1058,12 @@
       return false;
     }
 
-    if (file_end > static_cast<size_t>(file_size_)) {
+    if (file_start + phdr->p_filesz > static_cast<size_t>(file_size_)) {
       DL_ERR("invalid ELF file \"%s\" load segment[%zd]:"
           " p_offset (%p) + p_filesz (%p) ( = %p) past end of file (0x%" PRIx64 ")",
           name_.c_str(), i, reinterpret_cast<void*>(phdr->p_offset),
           reinterpret_cast<void*>(phdr->p_filesz),
-          reinterpret_cast<void*>(file_end), file_size_);
+          reinterpret_cast<void*>(file_start + phdr->p_filesz), file_size_);
       return false;
     }
 
@@ -747,51 +1082,24 @@
         add_dlwarning(name_.c_str(), "W+E load segments");
       }
 
-      void* seg_addr = mmap64(reinterpret_cast<void*>(seg_page_start),
-                            file_length,
-                            prot,
-                            MAP_FIXED|MAP_PRIVATE,
-                            fd_,
-                            file_offset_ + file_page_start);
-      if (seg_addr == MAP_FAILED) {
-        DL_ERR("couldn't map \"%s\" segment %zd: %s", name_.c_str(), i, strerror(errno));
-        return false;
-      }
-
-      // Mark segments as huge page eligible if they meet the requirements
-      // (executable and PMD aligned).
-      if ((phdr->p_flags & PF_X) && phdr->p_align == kPmdSize &&
-          get_transparent_hugepages_supported()) {
-        madvise(seg_addr, file_length, MADV_HUGEPAGE);
+      // Pass the file_length, since it may have been extended by _extend_load_segment_vma().
+      if (should_use_16kib_app_compat_) {
+        if (!CompatMapSegment(i, file_length)) {
+          return false;
+        }
+      } else {
+        if (!MapSegment(i, file_length)) {
+          return false;
+        }
       }
     }
 
-    // if the segment is writable, and does not end on a page boundary,
-    // zero-fill it until the page limit.
-    if ((phdr->p_flags & PF_W) != 0 && PAGE_OFFSET(seg_file_end) > 0) {
-      memset(reinterpret_cast<void*>(seg_file_end), 0, PAGE_SIZE - PAGE_OFFSET(seg_file_end));
-    }
+    ZeroFillSegment(phdr);
 
-    seg_file_end = PAGE_END(seg_file_end);
+    DropPaddingPages(phdr, seg_file_end);
 
-    // seg_file_end is now the first page address after the file
-    // content. If seg_end is larger, we need to zero anything
-    // between them. This is done by using a private anonymous
-    // map for all extra pages.
-    if (seg_page_end > seg_file_end) {
-      size_t zeromap_size = seg_page_end - seg_file_end;
-      void* zeromap = mmap(reinterpret_cast<void*>(seg_file_end),
-                           zeromap_size,
-                           PFLAGS_TO_PROT(phdr->p_flags),
-                           MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE,
-                           -1,
-                           0);
-      if (zeromap == MAP_FAILED) {
-        DL_ERR("couldn't zero fill \"%s\" gap: %s", name_.c_str(), strerror(errno));
-        return false;
-      }
-
-      prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, zeromap, zeromap_size, ".bss");
+    if (!MapBssSection(phdr, seg_page_end, seg_file_end)) {
+      return false;
     }
   }
   return true;
@@ -802,17 +1110,22 @@
  * phdr_table_protect_segments and phdr_table_unprotect_segments.
  */
 static int _phdr_table_set_load_prot(const ElfW(Phdr)* phdr_table, size_t phdr_count,
-                                     ElfW(Addr) load_bias, int extra_prot_flags) {
-  const ElfW(Phdr)* phdr = phdr_table;
-  const ElfW(Phdr)* phdr_limit = phdr + phdr_count;
+                                     ElfW(Addr) load_bias, int extra_prot_flags,
+                                     bool should_pad_segments, bool should_use_16kib_app_compat) {
+  for (size_t i = 0; i < phdr_count; ++i) {
+    const ElfW(Phdr)* phdr = &phdr_table[i];
 
-  for (; phdr < phdr_limit; phdr++) {
     if (phdr->p_type != PT_LOAD || (phdr->p_flags & PF_W) != 0) {
       continue;
     }
 
-    ElfW(Addr) seg_page_start = PAGE_START(phdr->p_vaddr) + load_bias;
-    ElfW(Addr) seg_page_end   = PAGE_END(phdr->p_vaddr + phdr->p_memsz) + load_bias;
+    ElfW(Addr) p_memsz = phdr->p_memsz;
+    ElfW(Addr) p_filesz = phdr->p_filesz;
+    _extend_load_segment_vma(phdr_table, phdr_count, i, &p_memsz, &p_filesz, should_pad_segments,
+                             should_use_16kib_app_compat);
+
+    ElfW(Addr) seg_page_start = page_start(phdr->p_vaddr + load_bias);
+    ElfW(Addr) seg_page_end = page_end(phdr->p_vaddr + p_memsz + load_bias);
 
     int prot = PFLAGS_TO_PROT(phdr->p_flags) | extra_prot_flags;
     if ((prot & PROT_WRITE) != 0) {
@@ -847,19 +1160,143 @@
  *   phdr_table  -> program header table
  *   phdr_count  -> number of entries in tables
  *   load_bias   -> load bias
+ *   should_pad_segments -> Are segments extended to avoid gaps in the memory map
+ *   should_use_16kib_app_compat -> Is the ELF being loaded in 16KiB app compat mode.
  *   prop        -> GnuPropertySection or nullptr
  * Return:
- *   0 on error, -1 on failure (error code in errno).
+ *   0 on success, -1 on failure (error code in errno).
  */
 int phdr_table_protect_segments(const ElfW(Phdr)* phdr_table, size_t phdr_count,
-                                ElfW(Addr) load_bias, const GnuPropertySection* prop __unused) {
+                                ElfW(Addr) load_bias, bool should_pad_segments,
+                                bool should_use_16kib_app_compat,
+                                const GnuPropertySection* prop __unused) {
   int prot = 0;
 #if defined(__aarch64__)
   if ((prop != nullptr) && prop->IsBTICompatible()) {
     prot |= PROT_BTI;
   }
 #endif
-  return _phdr_table_set_load_prot(phdr_table, phdr_count, load_bias, prot);
+  return _phdr_table_set_load_prot(phdr_table, phdr_count, load_bias, prot, should_pad_segments,
+                                   should_use_16kib_app_compat);
+}
+
+static bool segment_needs_memtag_globals_remapping(const ElfW(Phdr) * phdr) {
+  // For now, MTE globals is only supported on writeable data segments.
+  return phdr->p_type == PT_LOAD && !(phdr->p_flags & PF_X) && (phdr->p_flags & PF_W);
+}
+
+/* When MTE globals are requested by the binary, and when the hardware supports
+ * it, remap the executable's PT_LOAD data pages to have PROT_MTE.
+ *
+ * Returns 0 on success, -1 on failure (error code in errno).
+ */
+int remap_memtag_globals_segments(const ElfW(Phdr) * phdr_table __unused,
+                                  size_t phdr_count __unused, ElfW(Addr) load_bias __unused) {
+#if defined(__aarch64__)
+  for (const ElfW(Phdr)* phdr = phdr_table; phdr < phdr_table + phdr_count; phdr++) {
+    if (!segment_needs_memtag_globals_remapping(phdr)) {
+      continue;
+    }
+
+    uintptr_t seg_page_start = page_start(phdr->p_vaddr) + load_bias;
+    uintptr_t seg_page_end = page_end(phdr->p_vaddr + phdr->p_memsz) + load_bias;
+    size_t seg_page_aligned_size = seg_page_end - seg_page_start;
+
+    int prot = PFLAGS_TO_PROT(phdr->p_flags);
+    // For anonymous private mappings, it may be possible to simply mprotect()
+    // the PROT_MTE flag over the top. For file-based mappings, this will fail,
+    // and we'll need to fall back. We also allow PROT_WRITE here to allow
+    // writing memory tags (in `soinfo::tag_globals()`), and set these sections
+    // back to read-only after tags are applied (similar to RELRO).
+    prot |= PROT_MTE;
+    if (mprotect(reinterpret_cast<void*>(seg_page_start), seg_page_aligned_size,
+                 prot | PROT_WRITE) == 0) {
+      continue;
+    }
+
+    void* mapping_copy = mmap(nullptr, seg_page_aligned_size, PROT_READ | PROT_WRITE,
+                              MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+    linker_memcpy(mapping_copy, reinterpret_cast<void*>(seg_page_start), seg_page_aligned_size);
+
+    void* seg_addr = mmap(reinterpret_cast<void*>(seg_page_start), seg_page_aligned_size,
+                          prot | PROT_WRITE, MAP_FIXED | MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+    if (seg_addr == MAP_FAILED) return -1;
+
+    linker_memcpy(seg_addr, mapping_copy, seg_page_aligned_size);
+    munmap(mapping_copy, seg_page_aligned_size);
+  }
+#endif  // defined(__aarch64__)
+  return 0;
+}
+
+void protect_memtag_globals_ro_segments(const ElfW(Phdr) * phdr_table __unused,
+                                        size_t phdr_count __unused, ElfW(Addr) load_bias __unused) {
+#if defined(__aarch64__)
+  for (const ElfW(Phdr)* phdr = phdr_table; phdr < phdr_table + phdr_count; phdr++) {
+    int prot = PFLAGS_TO_PROT(phdr->p_flags);
+    if (!segment_needs_memtag_globals_remapping(phdr) || (prot & PROT_WRITE)) {
+      continue;
+    }
+
+    prot |= PROT_MTE;
+
+    uintptr_t seg_page_start = page_start(phdr->p_vaddr) + load_bias;
+    uintptr_t seg_page_end = page_end(phdr->p_vaddr + phdr->p_memsz) + load_bias;
+    size_t seg_page_aligned_size = seg_page_end - seg_page_start;
+    mprotect(reinterpret_cast<void*>(seg_page_start), seg_page_aligned_size, prot);
+  }
+#endif  // defined(__aarch64__)
+}
+
+void name_memtag_globals_segments(const ElfW(Phdr) * phdr_table, size_t phdr_count,
+                                  ElfW(Addr) load_bias, const char* soname,
+                                  std::list<std::string>* vma_names) {
+  for (const ElfW(Phdr)* phdr = phdr_table; phdr < phdr_table + phdr_count; phdr++) {
+    if (!segment_needs_memtag_globals_remapping(phdr)) {
+      continue;
+    }
+
+    uintptr_t seg_page_start = page_start(phdr->p_vaddr) + load_bias;
+    uintptr_t seg_page_end = page_end(phdr->p_vaddr + phdr->p_memsz) + load_bias;
+    size_t seg_page_aligned_size = seg_page_end - seg_page_start;
+
+    // For file-based mappings that we're now forcing to be anonymous mappings, set the VMA name to
+    // make debugging easier.
+    // Once we are targeting only devices that run kernel 5.10 or newer (and thus include
+    // https://android-review.git.corp.google.com/c/kernel/common/+/1934723 which causes the
+    // VMA_ANON_NAME to be copied into the kernel), we can get rid of the storage here.
+    // For now, that is not the case:
+    // https://source.android.com/docs/core/architecture/kernel/android-common#compatibility-matrix
+    constexpr int kVmaNameLimit = 80;
+    std::string& vma_name = vma_names->emplace_back(kVmaNameLimit, '\0');
+    int full_vma_length =
+        async_safe_format_buffer(vma_name.data(), kVmaNameLimit, "mt:%s+%" PRIxPTR, soname,
+                                 page_start(phdr->p_vaddr)) +
+        /* include the null terminator */ 1;
+    // There's an upper limit of 80 characters, including the null terminator, in the anonymous VMA
+    // name. If we run over that limit, we end up truncating the segment offset and parts of the
+    // DSO's name, starting on the right hand side of the basename. Because the basename is the most
+    // important thing, chop off the soname from the left hand side first.
+    //
+    // Example (with '#' as the null terminator):
+    //   - "mt:/data/nativetest64/bionic-unit-tests/bionic-loader-test-libs/libdlext_test.so+e000#"
+    //     is a `full_vma_length` == 86.
+    //
+    // We need to left-truncate (86 - 80) 6 characters from the soname, plus the
+    // `vma_truncation_prefix`, so 9 characters total.
+    if (full_vma_length > kVmaNameLimit) {
+      const char vma_truncation_prefix[] = "...";
+      int soname_truncated_bytes =
+          full_vma_length - kVmaNameLimit + sizeof(vma_truncation_prefix) - 1;
+      async_safe_format_buffer(vma_name.data(), kVmaNameLimit, "mt:%s%s+%" PRIxPTR,
+                               vma_truncation_prefix, soname + soname_truncated_bytes,
+                               page_start(phdr->p_vaddr));
+    }
+    if (prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, reinterpret_cast<void*>(seg_page_start),
+              seg_page_aligned_size, vma_name.data()) != 0) {
+      DL_WARN("Failed to rename memtag global segment: %m");
+    }
+  }
 }
 
 /* Change the protection of all loaded segments in memory to writable.
@@ -875,19 +1312,85 @@
  *   phdr_table  -> program header table
  *   phdr_count  -> number of entries in tables
  *   load_bias   -> load bias
+ *   should_pad_segments -> Are segments extended to avoid gaps in the memory map
+ *   should_use_16kib_app_compat -> Is the ELF being loaded in 16KiB app compat mode.
  * Return:
- *   0 on error, -1 on failure (error code in errno).
+ *   0 on success, -1 on failure (error code in errno).
  */
-int phdr_table_unprotect_segments(const ElfW(Phdr)* phdr_table,
-                                  size_t phdr_count, ElfW(Addr) load_bias) {
-  return _phdr_table_set_load_prot(phdr_table, phdr_count, load_bias, PROT_WRITE);
+int phdr_table_unprotect_segments(const ElfW(Phdr)* phdr_table, size_t phdr_count,
+                                  ElfW(Addr) load_bias, bool should_pad_segments,
+                                  bool should_use_16kib_app_compat) {
+  return _phdr_table_set_load_prot(phdr_table, phdr_count, load_bias, PROT_WRITE,
+                                   should_pad_segments, should_use_16kib_app_compat);
+}
+
+static inline void _extend_gnu_relro_prot_end(const ElfW(Phdr)* relro_phdr,
+                                              const ElfW(Phdr)* phdr_table, size_t phdr_count,
+                                              ElfW(Addr) load_bias, ElfW(Addr)* seg_page_end,
+                                              bool should_pad_segments,
+                                              bool should_use_16kib_app_compat) {
+  // Find the index and phdr of the LOAD containing the GNU_RELRO segment
+  for (size_t index = 0; index < phdr_count; ++index) {
+    const ElfW(Phdr)* phdr = &phdr_table[index];
+
+    if (phdr->p_type == PT_LOAD && phdr->p_vaddr == relro_phdr->p_vaddr) {
+      // If the PT_GNU_RELRO mem size is not at least as large as the corresponding
+      // LOAD segment mem size, we need to protect only a partial region of the
+      // LOAD segment and therefore cannot avoid a VMA split.
+      //
+      // Note: Don't check the page-aligned mem sizes since the extended protection
+      // may incorrectly write protect non-relocation data.
+      //
+      // Example:
+      //
+      //               |---- 3K ----|-- 1K --|---- 3K ---- |-- 1K --|
+      //       ----------------------------------------------------------------
+      //               |            |        |             |        |
+      //        SEG X  |     RO     |   RO   |     RW      |        |   SEG Y
+      //               |            |        |             |        |
+      //       ----------------------------------------------------------------
+      //                            |        |             |
+      //                            |        |             |
+      //                            |        |             |
+      //                    relro_vaddr   relro_vaddr   relro_vaddr
+      //                    (load_vaddr)       +            +
+      //                                  relro_memsz   load_memsz
+      //
+      //       ----------------------------------------------------------------
+      //               |         PAGE        |         PAGE         |
+      //       ----------------------------------------------------------------
+      //                                     |       Potential      |
+      //                                     |----- Extended RO ----|
+      //                                     |      Protection      |
+      //
+      // If the check below uses  page aligned mem sizes it will cause incorrect write
+      // protection of the 3K RW part of the LOAD segment containing the GNU_RELRO.
+      if (relro_phdr->p_memsz < phdr->p_memsz) {
+        return;
+      }
+
+      ElfW(Addr) p_memsz = phdr->p_memsz;
+      ElfW(Addr) p_filesz = phdr->p_filesz;
+
+      // Attempt extending the VMA (mprotect range). Without extending the range,
+      // mprotect will only RO protect a part of the extended RW LOAD segment, which
+      // will leave an extra split RW VMA (the gap).
+      _extend_load_segment_vma(phdr_table, phdr_count, index, &p_memsz, &p_filesz,
+                               should_pad_segments, should_use_16kib_app_compat);
+
+      *seg_page_end = page_end(phdr->p_vaddr + p_memsz + load_bias);
+      return;
+    }
+  }
 }
 
 /* Used internally by phdr_table_protect_gnu_relro and
  * phdr_table_unprotect_gnu_relro.
  */
 static int _phdr_table_set_gnu_relro_prot(const ElfW(Phdr)* phdr_table, size_t phdr_count,
-                                          ElfW(Addr) load_bias, int prot_flags) {
+                                          ElfW(Addr) load_bias, int prot_flags,
+                                          bool should_pad_segments,
+                                          bool should_use_16kib_app_compat) {
   const ElfW(Phdr)* phdr = phdr_table;
   const ElfW(Phdr)* phdr_limit = phdr + phdr_count;
 
@@ -912,8 +1415,10 @@
     //       the program is likely to fail at runtime. So in effect the
     //       linker must only emit a PT_GNU_RELRO segment if it ensures
     //       that it starts on a page boundary.
-    ElfW(Addr) seg_page_start = PAGE_START(phdr->p_vaddr) + load_bias;
-    ElfW(Addr) seg_page_end   = PAGE_END(phdr->p_vaddr + phdr->p_memsz) + load_bias;
+    ElfW(Addr) seg_page_start = page_start(phdr->p_vaddr) + load_bias;
+    ElfW(Addr) seg_page_end = page_end(phdr->p_vaddr + phdr->p_memsz) + load_bias;
+    _extend_gnu_relro_prot_end(phdr, phdr_table, phdr_count, load_bias, &seg_page_end,
+                               should_pad_segments, should_use_16kib_app_compat);
 
     int ret = mprotect(reinterpret_cast<void*>(seg_page_start),
                        seg_page_end - seg_page_start,
@@ -938,12 +1443,30 @@
  *   phdr_table  -> program header table
  *   phdr_count  -> number of entries in tables
  *   load_bias   -> load bias
+ *   should_pad_segments -> Were segments extended to avoid gaps in the memory map
+ *   should_use_16kib_app_compat -> Is the ELF being loaded in 16KiB app compat mode.
  * Return:
- *   0 on error, -1 on failure (error code in errno).
+ *   0 on success, -1 on failure (error code in errno).
  */
-int phdr_table_protect_gnu_relro(const ElfW(Phdr)* phdr_table,
-                                 size_t phdr_count, ElfW(Addr) load_bias) {
-  return _phdr_table_set_gnu_relro_prot(phdr_table, phdr_count, load_bias, PROT_READ);
+int phdr_table_protect_gnu_relro(const ElfW(Phdr)* phdr_table, size_t phdr_count,
+                                 ElfW(Addr) load_bias, bool should_pad_segments,
+                                 bool should_use_16kib_app_compat) {
+  return _phdr_table_set_gnu_relro_prot(phdr_table, phdr_count, load_bias, PROT_READ,
+                                        should_pad_segments, should_use_16kib_app_compat);
+}
+
+/*
+ * Apply RX protection to the compat relro region of the ELF being loaded in
+ * 16KiB compat mode.
+ *
+ * Input:
+ *   start  -> start address of the compat relro region.
+ *   size   -> size of the compat relro region in bytes.
+ * Return:
+ *   0 on success, -1 on failure (error code in errno).
+ */
+int phdr_table_protect_gnu_relro_16kib_compat(ElfW(Addr) start, ElfW(Addr) size) {
+  return mprotect(reinterpret_cast<void*>(start), size, PROT_READ | PROT_EXEC);
 }
 
 /* Serialize the GNU relro segments to the given file descriptor. This can be
@@ -957,7 +1480,7 @@
  *   fd          -> writable file descriptor to use
  *   file_offset -> pointer to offset into file descriptor to use/update
  * Return:
- *   0 on error, -1 on failure (error code in errno).
+ *   0 on success, -1 on failure (error code in errno).
  */
 int phdr_table_serialize_gnu_relro(const ElfW(Phdr)* phdr_table,
                                    size_t phdr_count,
@@ -972,8 +1495,8 @@
       continue;
     }
 
-    ElfW(Addr) seg_page_start = PAGE_START(phdr->p_vaddr) + load_bias;
-    ElfW(Addr) seg_page_end   = PAGE_END(phdr->p_vaddr + phdr->p_memsz) + load_bias;
+    ElfW(Addr) seg_page_start = page_start(phdr->p_vaddr) + load_bias;
+    ElfW(Addr) seg_page_end = page_end(phdr->p_vaddr + phdr->p_memsz) + load_bias;
     ssize_t size = seg_page_end - seg_page_start;
 
     ssize_t written = TEMP_FAILURE_RETRY(write(fd, reinterpret_cast<void*>(seg_page_start), size));
@@ -1005,7 +1528,7 @@
  *   fd          -> readable file descriptor to use
  *   file_offset -> pointer to offset into file descriptor to use/update
  * Return:
- *   0 on error, -1 on failure (error code in errno).
+ *   0 on success, -1 on failure (error code in errno).
  */
 int phdr_table_map_gnu_relro(const ElfW(Phdr)* phdr_table,
                              size_t phdr_count,
@@ -1035,8 +1558,8 @@
       continue;
     }
 
-    ElfW(Addr) seg_page_start = PAGE_START(phdr->p_vaddr) + load_bias;
-    ElfW(Addr) seg_page_end   = PAGE_END(phdr->p_vaddr + phdr->p_memsz) + load_bias;
+    ElfW(Addr) seg_page_start = page_start(phdr->p_vaddr) + load_bias;
+    ElfW(Addr) seg_page_end = page_end(phdr->p_vaddr + phdr->p_memsz) + load_bias;
 
     char* file_base = static_cast<char*>(temp_mapping) + *file_offset;
     char* mem_base = reinterpret_cast<char*>(seg_page_start);
@@ -1053,15 +1576,15 @@
     while (match_offset < size) {
       // Skip over dissimilar pages.
       while (match_offset < size &&
-             memcmp(mem_base + match_offset, file_base + match_offset, PAGE_SIZE) != 0) {
-        match_offset += PAGE_SIZE;
+             memcmp(mem_base + match_offset, file_base + match_offset, page_size()) != 0) {
+        match_offset += page_size();
       }
 
       // Count similar pages.
       size_t mismatch_offset = match_offset;
       while (mismatch_offset < size &&
-             memcmp(mem_base + mismatch_offset, file_base + mismatch_offset, PAGE_SIZE) == 0) {
-        mismatch_offset += PAGE_SIZE;
+             memcmp(mem_base + mismatch_offset, file_base + mismatch_offset, page_size()) == 0) {
+        mismatch_offset += page_size();
       }
 
       // Map over similar pages.
@@ -1086,11 +1609,6 @@
 
 
 #if defined(__arm__)
-
-#  ifndef PT_ARM_EXIDX
-#    define PT_ARM_EXIDX    0x70000001      /* .ARM.exidx segment */
-#  endif
-
 /* Return the address and size of the .ARM.exidx section in memory,
  * if present.
  *
@@ -1102,7 +1620,7 @@
  *   arm_exidx       -> address of table in memory (null on failure).
  *   arm_exidx_count -> number of items in table (0 on failure).
  * Return:
- *   0 on error, -1 on failure (_no_ error code in errno)
+ *   0 on success, -1 on failure (_no_ error code in errno)
  */
 int phdr_table_get_arm_exidx(const ElfW(Phdr)* phdr_table, size_t phdr_count,
                              ElfW(Addr) load_bias,
diff --git a/linker/linker_phdr.h b/linker/linker_phdr.h
index 98bf020..e15ece4 100644
--- a/linker/linker_phdr.h
+++ b/linker/linker_phdr.h
@@ -39,12 +39,21 @@
 #include "linker_mapped_file_fragment.h"
 #include "linker_note_gnu_property.h"
 
+#include <list>
+
+#define MAYBE_MAP_FLAG(x, from, to)  (((x) & (from)) ? (to) : 0)
+#define PFLAGS_TO_PROT(x)            (MAYBE_MAP_FLAG((x), PF_X, PROT_EXEC) | \
+                                      MAYBE_MAP_FLAG((x), PF_R, PROT_READ) | \
+                                      MAYBE_MAP_FLAG((x), PF_W, PROT_WRITE))
+
+static constexpr size_t kCompatPageSize = 0x1000;
+
 class ElfReader {
  public:
   ElfReader();
 
-  bool Read(const char* name, int fd, off64_t file_offset, off64_t file_size);
-  bool Load(address_space_params* address_space);
+  [[nodiscard]] bool Read(const char* name, int fd, off64_t file_offset, off64_t file_size);
+  [[nodiscard]] bool Load(address_space_params* address_space);
 
   const char* name() const { return name_.c_str(); }
   size_t phdr_count() const { return phdr_num_; }
@@ -58,19 +67,33 @@
   const char* get_string(ElfW(Word) index) const;
   bool is_mapped_by_caller() const { return mapped_by_caller_; }
   ElfW(Addr) entry_point() const { return header_.e_entry + load_bias_; }
+  bool should_pad_segments() const { return should_pad_segments_; }
+  bool should_use_16kib_app_compat() const { return should_use_16kib_app_compat_; }
+  ElfW(Addr) compat_relro_start() const { return compat_relro_start_; }
+  ElfW(Addr) compat_relro_size() const { return compat_relro_size_; }
 
  private:
-  bool ReadElfHeader();
-  bool VerifyElfHeader();
-  bool ReadProgramHeaders();
-  bool ReadSectionHeaders();
-  bool ReadDynamicSection();
-  bool ReserveAddressSpace(address_space_params* address_space);
-  bool LoadSegments();
-  bool FindPhdr();
-  bool FindGnuPropertySection();
-  bool CheckPhdr(ElfW(Addr));
-  bool CheckFileRange(ElfW(Addr) offset, size_t size, size_t alignment);
+  [[nodiscard]] bool ReadElfHeader();
+  [[nodiscard]] bool VerifyElfHeader();
+  [[nodiscard]] bool ReadProgramHeaders();
+  [[nodiscard]] bool ReadSectionHeaders();
+  [[nodiscard]] bool ReadDynamicSection();
+  [[nodiscard]] bool ReadPadSegmentNote();
+  [[nodiscard]] bool ReserveAddressSpace(address_space_params* address_space);
+  [[nodiscard]] bool MapSegment(size_t seg_idx, size_t len);
+  [[nodiscard]] bool CompatMapSegment(size_t seg_idx, size_t len);
+  void ZeroFillSegment(const ElfW(Phdr)* phdr);
+  void DropPaddingPages(const ElfW(Phdr)* phdr, uint64_t seg_file_end);
+  [[nodiscard]] bool MapBssSection(const ElfW(Phdr)* phdr, ElfW(Addr) seg_page_end,
+                                   ElfW(Addr) seg_file_end);
+  [[nodiscard]] bool IsEligibleFor16KiBAppCompat(ElfW(Addr)* vaddr);
+  [[nodiscard]] bool HasAtMostOneRelroSegment(const ElfW(Phdr)** relro_phdr);
+  [[nodiscard]] bool Setup16KiBAppCompat();
+  [[nodiscard]] bool LoadSegments();
+  [[nodiscard]] bool FindPhdr();
+  [[nodiscard]] bool FindGnuPropertySection();
+  [[nodiscard]] bool CheckPhdr(ElfW(Addr));
+  [[nodiscard]] bool CheckFileRange(ElfW(Addr) offset, size_t size, size_t alignment);
 
   bool did_read_;
   bool did_load_;
@@ -113,6 +136,16 @@
   // Is map owned by the caller
   bool mapped_by_caller_;
 
+  // Pad gaps between segments when memory mapping?
+  bool should_pad_segments_ = false;
+
+  // Use app compat mode when loading 4KiB max-page-size ELFs on 16KiB page-size devices?
+  bool should_use_16kib_app_compat_ = false;
+
+  // RELRO region for 16KiB compat loading
+  ElfW(Addr) compat_relro_start_ = 0;
+  ElfW(Addr) compat_relro_size_ = 0;
+
   // Only used by AArch64 at the moment.
   GnuPropertySection note_gnu_property_ __unused;
 };
@@ -121,15 +154,22 @@
                                 ElfW(Addr)* min_vaddr = nullptr, ElfW(Addr)* max_vaddr = nullptr);
 
 size_t phdr_table_get_maximum_alignment(const ElfW(Phdr)* phdr_table, size_t phdr_count);
+size_t phdr_table_get_minimum_alignment(const ElfW(Phdr)* phdr_table, size_t phdr_count);
 
 int phdr_table_protect_segments(const ElfW(Phdr)* phdr_table, size_t phdr_count,
-                                ElfW(Addr) load_bias, const GnuPropertySection* prop = nullptr);
+                                ElfW(Addr) load_bias, bool should_pad_segments,
+                                bool should_use_16kib_app_compat,
+                                const GnuPropertySection* prop = nullptr);
 
 int phdr_table_unprotect_segments(const ElfW(Phdr)* phdr_table, size_t phdr_count,
-                                  ElfW(Addr) load_bias);
+                                  ElfW(Addr) load_bias, bool should_pad_segments,
+                                  bool should_use_16kib_app_compat);
 
 int phdr_table_protect_gnu_relro(const ElfW(Phdr)* phdr_table, size_t phdr_count,
-                                 ElfW(Addr) load_bias);
+                                 ElfW(Addr) load_bias, bool should_pad_segments,
+                                 bool should_use_16kib_app_compat);
+
+int phdr_table_protect_gnu_relro_16kib_compat(ElfW(Addr) start, ElfW(Addr) size);
 
 int phdr_table_serialize_gnu_relro(const ElfW(Phdr)* phdr_table, size_t phdr_count,
                                    ElfW(Addr) load_bias, int fd, size_t* file_offset);
@@ -148,3 +188,15 @@
 
 const char* phdr_table_get_interpreter_name(const ElfW(Phdr)* phdr_table, size_t phdr_count,
                                             ElfW(Addr) load_bias);
+
+bool page_size_migration_supported();
+
+int remap_memtag_globals_segments(const ElfW(Phdr) * phdr_table, size_t phdr_count,
+                                  ElfW(Addr) load_bias);
+
+void protect_memtag_globals_ro_segments(const ElfW(Phdr) * phdr_table, size_t phdr_count,
+                                        ElfW(Addr) load_bias);
+
+void name_memtag_globals_segments(const ElfW(Phdr) * phdr_table, size_t phdr_count,
+                                  ElfW(Addr) load_bias, const char* soname,
+                                  std::list<std::string>* vma_names);
diff --git a/linker/linker_phdr_16kib_compat.cpp b/linker/linker_phdr_16kib_compat.cpp
new file mode 100644
index 0000000..bad20ba
--- /dev/null
+++ b/linker/linker_phdr_16kib_compat.cpp
@@ -0,0 +1,247 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include "linker_phdr.h"
+
+#include <linux/prctl.h>
+#include <sys/mman.h>
+#include <sys/prctl.h>
+#include <unistd.h>
+
+#include "linker_debug.h"
+#include "linker_dlwarning.h"
+#include "linker_globals.h"
+
+#include "platform/bionic/macros.h"
+#include "platform/bionic/page.h"
+
+#include <string>
+
+static bool g_enable_16kb_app_compat;
+
+static inline bool segment_contains_prefix(const ElfW(Phdr)* segment, const ElfW(Phdr)* prefix) {
+  return segment && prefix && segment->p_vaddr == prefix->p_vaddr;
+}
+
+void set_16kb_appcompat_mode(bool enable_app_compat) {
+  g_enable_16kb_app_compat = enable_app_compat;
+}
+
+bool get_16kb_appcompat_mode() {
+  return g_enable_16kb_app_compat;
+}
+
+/*
+ * Returns true if the ELF contains at most 1 RELRO segment; and populates @relro_phdr
+ * with the relro phdr or nullptr if none.
+ *
+ * Returns false if more than 1 RELRO segments are found.
+ */
+bool ElfReader::HasAtMostOneRelroSegment(const ElfW(Phdr)** relro_phdr) {
+  const ElfW(Phdr)* relro = nullptr;
+  for (size_t i = 0; i < phdr_num_; ++i) {
+    const ElfW(Phdr)* phdr = &phdr_table_[i];
+
+    if (phdr->p_type != PT_GNU_RELRO) {
+      continue;
+    }
+
+    if (relro == nullptr) {
+      relro = phdr;
+    } else {
+      return false;
+    }
+  }
+
+  *relro_phdr = relro;
+
+  return true;
+}
+
+/*
+ * In 16KiB compatibility mode ELFs with the following segment layout
+ * can be loaded successfully:
+ *
+ *         ┌────────────┬─────────────────────────┬────────────┐
+ *         │            │                         │            │
+ *         │  (RO|RX)*  │   (RW - RELRO prefix)?  │    (RW)*   │
+ *         │            │                         │            │
+ *         └────────────┴─────────────────────────┴────────────┘
+ *
+ * In other words, compatible layouts have:
+ *         - zero or more RO or RX segments;
+ *         - followed by zero or one RELRO prefix;
+ *         - followed by zero or more RW segments (this can include the RW
+ *           suffix from the segment containing the RELRO prefix, if any)
+ *
+ * In 16KiB compat mode, after relocation, the ELF is layout in virtual
+ * memory is as shown below:
+ *         ┌──────────────────────────────────────┬────────────┐
+ *         │                                      │            │
+ *         │                (RX)?                 │    (RW)?   │
+ *         │                                      │            │
+ *         └──────────────────────────────────────┴────────────┘
+ *
+ * In compat mode:
+ *         - the RO and RX segments along with the RELRO prefix are protected
+ *           as RX;
+ *         - and the RW segments along with RW suffix from the relro segment,
+ *           if any; are RW protected.
+ *
+ * This allows for the single RX|RW permission boundary to be aligned with
+ * a 16KiB page boundary; since a single page cannot share multiple
+ * permissions.
+ *
+ * IsEligibleFor16KiBAppCompat() identifies compatible ELFs and populates @vaddr
+ * with the boundary between RX|RW portions.
+ *
+ * Returns true if the ELF can be loaded in compat mode, else false.
+ */
+bool ElfReader::IsEligibleFor16KiBAppCompat(ElfW(Addr)* vaddr) {
+  const ElfW(Phdr)* relro_phdr = nullptr;
+  if (!HasAtMostOneRelroSegment(&relro_phdr)) {
+    DL_WARN("\"%s\": Compat loading failed: Multiple RELRO segments found", name_.c_str());
+    return false;
+  }
+
+  const ElfW(Phdr)* last_rw = nullptr;
+  const ElfW(Phdr)* first_rw = nullptr;
+
+  for (size_t i = 0; i < phdr_num_; ++i) {
+    const ElfW(Phdr)* curr = &phdr_table_[i];
+    const ElfW(Phdr)* prev = (i > 0) ? &phdr_table_[i - 1] : nullptr;
+
+    if (curr->p_type != PT_LOAD) {
+      continue;
+    }
+
+    int prot = PFLAGS_TO_PROT(curr->p_flags);
+
+    if ((prot & PROT_WRITE) && (prot & PROT_READ)) {
+      if (!first_rw) {
+        first_rw = curr;
+      }
+
+      if (last_rw && last_rw != prev) {
+        DL_WARN("\"%s\": Compat loading failed: ELF contains multiple non-adjacent RW segments",
+                name_.c_str());
+        return false;
+      }
+
+      last_rw = curr;
+    }
+  }
+
+  if (!relro_phdr) {
+    *vaddr = align_down(first_rw->p_vaddr, kCompatPageSize);
+    return true;
+  }
+
+  // The RELRO segment is present, it must be the prefix of the first RW segment.
+  if (!segment_contains_prefix(first_rw, relro_phdr)) {
+    DL_WARN("\"%s\": Compat loading failed: RELRO is not in the first RW segment",
+            name_.c_str());
+    return false;
+  }
+
+  uint64_t end;
+  if (__builtin_add_overflow(relro_phdr->p_vaddr, relro_phdr->p_memsz, &end)) {
+    DL_WARN("\"%s\": Compat loading failed: relro vaddr + memsz overflowed", name_.c_str());
+    return false;
+  }
+
+  *vaddr = align_up(end, kCompatPageSize);
+  return true;
+}
+
+/*
+ * Returns the offset/shift needed to align @vaddr to a page boundary.
+ */
+static inline ElfW(Addr) perm_boundary_offset(const ElfW(Addr) addr) {
+  ElfW(Addr) offset = page_offset(addr);
+
+  return offset ? page_size() - offset : 0;
+}
+
+bool ElfReader::Setup16KiBAppCompat() {
+  if (!should_use_16kib_app_compat_) {
+    return true;
+  }
+
+  ElfW(Addr) rx_rw_boundary;  // Permission bounadry for compat mode
+  if (!IsEligibleFor16KiBAppCompat(&rx_rw_boundary)) {
+    return false;
+  }
+
+  // Adjust the load_bias to position the RX|RW boundary on a page boundary
+  load_bias_ += perm_boundary_offset(rx_rw_boundary);
+
+  // RW region (.data, .bss ...)
+  ElfW(Addr) rw_start = load_bias_ + rx_rw_boundary;
+  ElfW(Addr) rw_size = load_size_ - (rw_start - reinterpret_cast<ElfW(Addr)>(load_start_));
+
+  CHECK(rw_start % getpagesize() == 0);
+  CHECK(rw_size % getpagesize() == 0);
+
+  // Compat RELRO (RX) region (.text, .data.relro, ...)
+  compat_relro_start_ = reinterpret_cast<ElfW(Addr)>(load_start_);
+  compat_relro_size_ = load_size_ - rw_size;
+
+  // Label the ELF VMA, since compat mode uses anonymous mappings.
+  std::string compat_name = name_ + " (compat loaded)";
+  prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, load_start_, load_size_, compat_name.c_str());
+
+  return true;
+}
+
+bool ElfReader::CompatMapSegment(size_t seg_idx, size_t len) {
+  const ElfW(Phdr)* phdr = &phdr_table_[seg_idx];
+
+  // NOTE: The compat(legacy) page size (4096) must be used when aligning
+  // the 4KiB segments for loading (reading). The larger 16KiB page size
+  // will lead to overwriting adjacent segments since the ELF's segment(s)
+  // are not 16KiB aligned.
+
+  void* start = reinterpret_cast<void*>(align_down(phdr->p_vaddr + load_bias_, kCompatPageSize));
+
+  // The ELF could be being loaded directly from a zipped APK,
+  // the zip offset must be added to find the segment offset.
+  const ElfW(Addr) offset = file_offset_ + align_down(phdr->p_offset, kCompatPageSize);
+
+  CHECK(should_use_16kib_app_compat_);
+
+  // Since the 4KiB max-page-size ELF is not properly aligned, loading it by
+  // directly mmapping the ELF file is not feasible.
+  // Instead, read the ELF contents into the anonymous RW mapping.
+  if (TEMP_FAILURE_RETRY(pread64(fd_, start, len, offset)) == -1) {
+    DL_ERR("Compat loading: \"%s\" failed to read LOAD segment %zu: %m", name_.c_str(), seg_idx);
+    return false;
+  }
+
+  return true;
+}
diff --git a/linker/linker_relocate.cpp b/linker/linker_relocate.cpp
index 952dade..bbf8359 100644
--- a/linker/linker_relocate.cpp
+++ b/linker/linker_relocate.cpp
@@ -44,6 +44,8 @@
 #include "linker_soinfo.h"
 #include "private/bionic_globals.h"
 
+#include <platform/bionic/mte.h>
+
 static bool is_tls_reloc(ElfW(Word) type) {
   switch (type) {
     case R_GENERIC_TLS_DTPMOD:
@@ -147,12 +149,13 @@
 }
 
 void print_linker_stats() {
-  PRINT("RELO STATS: %s: %d abs, %d rel, %d symbol (%d cached)",
-         g_argv[0],
-         linker_stats.count[kRelocAbsolute],
-         linker_stats.count[kRelocRelative],
-         linker_stats.count[kRelocSymbol],
-         linker_stats.count[kRelocSymbolCached]);
+  LD_DEBUG(statistics,
+           "RELO STATS: %s: %d abs, %d rel, %d symbol (%d cached)",
+           g_argv[0],
+           linker_stats.count[kRelocAbsolute],
+           linker_stats.count[kRelocRelative],
+           linker_stats.count[kRelocSymbol],
+           linker_stats.count[kRelocSymbolCached]);
 }
 
 static bool process_relocation_general(Relocator& relocator, const rel_t& reloc);
@@ -162,7 +165,8 @@
 static bool process_relocation_impl(Relocator& relocator, const rel_t& reloc) {
   constexpr bool IsGeneral = Mode == RelocMode::General;
 
-  void* const rel_target = reinterpret_cast<void*>(reloc.r_offset + relocator.si->load_bias);
+  void* const rel_target = reinterpret_cast<void*>(
+      relocator.si->apply_memtag_if_mte_globals(reloc.r_offset + relocator.si->load_bias));
   const uint32_t r_type = ELFW(R_TYPE)(reloc.r_info);
   const uint32_t r_sym = ELFW(R_SYM)(reloc.r_info);
 
@@ -187,9 +191,9 @@
   auto protect_segments = [&]() {
     // Make .text executable.
     if (phdr_table_protect_segments(relocator.si->phdr, relocator.si->phnum,
-                                    relocator.si->load_bias) < 0) {
-      DL_ERR("can't protect segments for \"%s\": %s",
-             relocator.si->get_realpath(), strerror(errno));
+                                    relocator.si->load_bias, relocator.si->should_pad_segments(),
+                                    relocator.si->should_use_16kib_app_compat()) < 0) {
+      DL_ERR("can't protect segments for \"%s\": %m", relocator.si->get_realpath());
       return false;
     }
     return true;
@@ -197,29 +201,19 @@
   auto unprotect_segments = [&]() {
     // Make .text writable.
     if (phdr_table_unprotect_segments(relocator.si->phdr, relocator.si->phnum,
-                                      relocator.si->load_bias) < 0) {
-      DL_ERR("can't unprotect loadable segments for \"%s\": %s",
-             relocator.si->get_realpath(), strerror(errno));
+                                      relocator.si->load_bias, relocator.si->should_pad_segments(),
+                                      relocator.si->should_use_16kib_app_compat()) < 0) {
+      DL_ERR("can't unprotect loadable segments for \"%s\": %m",
+             relocator.si->get_realpath());
       return false;
     }
     return true;
   };
 #endif
 
-  auto trace_reloc = [](const char* fmt, ...) __printflike(2, 3) {
-    if (IsGeneral &&
-        g_ld_debug_verbosity > LINKER_VERBOSITY_TRACE &&
-        DO_TRACE_RELO) {
-      va_list ap;
-      va_start(ap, fmt);
-      linker_log_va_list(LINKER_VERBOSITY_TRACE, fmt, ap);
-      va_end(ap);
-    }
-  };
-
   // Skip symbol lookup for R_GENERIC_NONE relocations.
   if (__predict_false(r_type == R_GENERIC_NONE)) {
-    trace_reloc("RELO NONE");
+    LD_DEBUG(reloc && IsGeneral, "RELO NONE");
     return true;
   }
 
@@ -312,8 +306,8 @@
     if (r_type == R_GENERIC_JUMP_SLOT) {
       count_relocation_if<IsGeneral>(kRelocAbsolute);
       const ElfW(Addr) result = sym_addr + get_addend_norel();
-      trace_reloc("RELO JMP_SLOT %16p <- %16p %s",
-                  rel_target, reinterpret_cast<void*>(result), sym_name);
+      LD_DEBUG(reloc && IsGeneral, "RELO JMP_SLOT %16p <- %16p %s",
+               rel_target, reinterpret_cast<void*>(result), sym_name);
       *static_cast<ElfW(Addr)*>(rel_target) = result;
       return true;
     }
@@ -325,9 +319,10 @@
     // common in non-platform binaries.
     if (r_type == R_GENERIC_ABSOLUTE) {
       count_relocation_if<IsGeneral>(kRelocAbsolute);
+      if (found_in) sym_addr = found_in->apply_memtag_if_mte_globals(sym_addr);
       const ElfW(Addr) result = sym_addr + get_addend_rel();
-      trace_reloc("RELO ABSOLUTE %16p <- %16p %s",
-                  rel_target, reinterpret_cast<void*>(result), sym_name);
+      LD_DEBUG(reloc && IsGeneral, "RELO ABSOLUTE %16p <- %16p %s",
+               rel_target, reinterpret_cast<void*>(result), sym_name);
       *static_cast<ElfW(Addr)*>(rel_target) = result;
       return true;
     } else if (r_type == R_GENERIC_GLOB_DAT) {
@@ -335,18 +330,30 @@
       // document (IHI0044F) specifies that R_ARM_GLOB_DAT has an addend, but Bionic isn't adding
       // it.
       count_relocation_if<IsGeneral>(kRelocAbsolute);
+      if (found_in) sym_addr = found_in->apply_memtag_if_mte_globals(sym_addr);
       const ElfW(Addr) result = sym_addr + get_addend_norel();
-      trace_reloc("RELO GLOB_DAT %16p <- %16p %s",
-                  rel_target, reinterpret_cast<void*>(result), sym_name);
+      LD_DEBUG(reloc && IsGeneral, "RELO GLOB_DAT %16p <- %16p %s",
+               rel_target, reinterpret_cast<void*>(result), sym_name);
       *static_cast<ElfW(Addr)*>(rel_target) = result;
       return true;
     } else if (r_type == R_GENERIC_RELATIVE) {
       // In practice, r_sym is always zero, but if it weren't, the linker would still look up the
       // referenced symbol (and abort if the symbol isn't found), even though it isn't used.
       count_relocation_if<IsGeneral>(kRelocRelative);
-      const ElfW(Addr) result = relocator.si->load_bias + get_addend_rel();
-      trace_reloc("RELO RELATIVE %16p <- %16p",
-                  rel_target, reinterpret_cast<void*>(result));
+      ElfW(Addr) result = relocator.si->load_bias + get_addend_rel();
+      // MTE globals reuses the place bits for additional tag-derivation metadata for
+      // R_AARCH64_RELATIVE relocations, which makes it incompatible with
+      // `-Wl,--apply-dynamic-relocs`. This is enforced by lld, however there's nothing stopping
+      // Android binaries (particularly prebuilts) from building with this linker flag if they're
+      // not built with MTE globals. Thus, don't use the new relocation semantics if this DSO
+      // doesn't have MTE globals.
+      if (relocator.si->should_tag_memtag_globals()) {
+        int64_t* place = static_cast<int64_t*>(rel_target);
+        int64_t offset = *place;
+        result = relocator.si->apply_memtag_if_mte_globals(result + offset) - offset;
+      }
+      LD_DEBUG(reloc && IsGeneral, "RELO RELATIVE %16p <- %16p",
+               rel_target, reinterpret_cast<void*>(result));
       *static_cast<ElfW(Addr)*>(rel_target) = result;
       return true;
     }
@@ -367,8 +374,8 @@
       if (!relocator.si->is_linker()) {
         count_relocation_if<IsGeneral>(kRelocRelative);
         const ElfW(Addr) ifunc_addr = relocator.si->load_bias + get_addend_rel();
-        trace_reloc("RELO IRELATIVE %16p <- %16p",
-                    rel_target, reinterpret_cast<void*>(ifunc_addr));
+        LD_DEBUG(reloc && IsGeneral, "RELO IRELATIVE %16p <- %16p",
+                 rel_target, reinterpret_cast<void*>(ifunc_addr));
         if (handle_text_relocs && !protect_segments()) return false;
         const ElfW(Addr) result = call_ifunc_resolver(ifunc_addr);
         if (handle_text_relocs && !unprotect_segments()) return false;
@@ -405,8 +412,8 @@
           }
         }
         tpoff += sym_addr + get_addend_rel();
-        trace_reloc("RELO TLS_TPREL %16p <- %16p %s",
-                    rel_target, reinterpret_cast<void*>(tpoff), sym_name);
+        LD_DEBUG(reloc && IsGeneral, "RELO TLS_TPREL %16p <- %16p %s",
+                 rel_target, reinterpret_cast<void*>(tpoff), sym_name);
         *static_cast<ElfW(Addr)*>(rel_target) = tpoff;
       }
       break;
@@ -419,9 +426,10 @@
         } else {
           CHECK(found_in->get_tls() != nullptr); // We rejected a missing TLS segment above.
           module_id = found_in->get_tls()->module_id;
+          CHECK(module_id != kTlsUninitializedModuleId);
         }
-        trace_reloc("RELO TLS_DTPMOD %16p <- %zu %s",
-                    rel_target, module_id, sym_name);
+        LD_DEBUG(reloc && IsGeneral, "RELO TLS_DTPMOD %16p <- %zu %s",
+                 rel_target, module_id, sym_name);
         *static_cast<ElfW(Addr)*>(rel_target) = module_id;
       }
       break;
@@ -429,15 +437,15 @@
       count_relocation_if<IsGeneral>(kRelocRelative);
       {
         const ElfW(Addr) result = sym_addr + get_addend_rel() - TLS_DTV_OFFSET;
-        trace_reloc("RELO TLS_DTPREL %16p <- %16p %s",
-                    rel_target, reinterpret_cast<void*>(result), sym_name);
+        LD_DEBUG(reloc && IsGeneral, "RELO TLS_DTPREL %16p <- %16p %s",
+                 rel_target, reinterpret_cast<void*>(result), sym_name);
         *static_cast<ElfW(Addr)*>(rel_target) = result;
       }
       break;
 
-#if defined(__aarch64__)
-    // Bionic currently only implements TLSDESC for arm64. This implementation should work with
-    // other architectures, as long as the resolver functions are implemented.
+#if defined(__aarch64__) || defined(__riscv)
+    // Bionic currently implements TLSDESC for arm64 and riscv64. This implementation should work
+    // with other architectures, as long as the resolver functions are implemented.
     case R_GENERIC_TLSDESC:
       count_relocation_if<IsGeneral>(kRelocRelative);
       {
@@ -447,8 +455,8 @@
           // Unresolved weak relocation.
           desc->func = tlsdesc_resolver_unresolved_weak;
           desc->arg = addend;
-          trace_reloc("RELO TLSDESC %16p <- unresolved weak, addend 0x%zx %s",
-                      rel_target, static_cast<size_t>(addend), sym_name);
+          LD_DEBUG(reloc && IsGeneral, "RELO TLSDESC %16p <- unresolved weak, addend 0x%zx %s",
+                   rel_target, static_cast<size_t>(addend), sym_name);
         } else {
           CHECK(found_in->get_tls() != nullptr); // We rejected a missing TLS segment above.
           size_t module_id = found_in->get_tls()->module_id;
@@ -456,10 +464,10 @@
           if (mod.static_offset != SIZE_MAX) {
             desc->func = tlsdesc_resolver_static;
             desc->arg = mod.static_offset - relocator.tls_tp_base + sym_addr + addend;
-            trace_reloc("RELO TLSDESC %16p <- static (0x%zx - 0x%zx + 0x%zx + 0x%zx) %s",
-                        rel_target, mod.static_offset, relocator.tls_tp_base,
-                        static_cast<size_t>(sym_addr), static_cast<size_t>(addend),
-                        sym_name);
+            LD_DEBUG(reloc && IsGeneral, "RELO TLSDESC %16p <- static (0x%zx - 0x%zx + 0x%zx + 0x%zx) %s",
+                     rel_target, mod.static_offset, relocator.tls_tp_base,
+                     static_cast<size_t>(sym_addr), static_cast<size_t>(addend),
+                     sym_name);
           } else {
             relocator.tlsdesc_args->push_back({
               .generation = mod.first_generation,
@@ -472,22 +480,22 @@
               desc, relocator.tlsdesc_args->size() - 1
             });
             const TlsDynamicResolverArg& desc_arg = relocator.tlsdesc_args->back();
-            trace_reloc("RELO TLSDESC %16p <- dynamic (gen %zu, mod %zu, off %zu) %s",
-                        rel_target, desc_arg.generation, desc_arg.index.module_id,
-                        desc_arg.index.offset, sym_name);
+            LD_DEBUG(reloc && IsGeneral, "RELO TLSDESC %16p <- dynamic (gen %zu, mod %zu, off %zu) %s",
+                     rel_target, desc_arg.generation, desc_arg.index.module_id,
+                     desc_arg.index.offset, sym_name);
           }
         }
       }
       break;
-#endif  // defined(__aarch64__)
+#endif  // defined(__aarch64__) || defined(__riscv)
 
 #if defined(__x86_64__)
     case R_X86_64_32:
       count_relocation_if<IsGeneral>(kRelocAbsolute);
       {
         const Elf32_Addr result = sym_addr + reloc.r_addend;
-        trace_reloc("RELO R_X86_64_32 %16p <- 0x%08x %s",
-                    rel_target, result, sym_name);
+        LD_DEBUG(reloc && IsGeneral, "RELO R_X86_64_32 %16p <- 0x%08x %s",
+                 rel_target, result, sym_name);
         *static_cast<Elf32_Addr*>(rel_target) = result;
       }
       break;
@@ -497,9 +505,9 @@
         const ElfW(Addr) target = sym_addr + reloc.r_addend;
         const ElfW(Addr) base = reinterpret_cast<ElfW(Addr)>(rel_target);
         const Elf32_Addr result = target - base;
-        trace_reloc("RELO R_X86_64_PC32 %16p <- 0x%08x (%16p - %16p) %s",
-                    rel_target, result, reinterpret_cast<void*>(target),
-                    reinterpret_cast<void*>(base), sym_name);
+        LD_DEBUG(reloc && IsGeneral, "RELO R_X86_64_PC32 %16p <- 0x%08x (%16p - %16p) %s",
+                 rel_target, result, reinterpret_cast<void*>(target),
+                 reinterpret_cast<void*>(base), sym_name);
         *static_cast<Elf32_Addr*>(rel_target) = result;
       }
       break;
@@ -510,9 +518,9 @@
         const ElfW(Addr) target = sym_addr + get_addend_rel();
         const ElfW(Addr) base = reinterpret_cast<ElfW(Addr)>(rel_target);
         const ElfW(Addr) result = target - base;
-        trace_reloc("RELO R_386_PC32 %16p <- 0x%08x (%16p - %16p) %s",
-                    rel_target, result, reinterpret_cast<void*>(target),
-                    reinterpret_cast<void*>(base), sym_name);
+        LD_DEBUG(reloc && IsGeneral, "RELO R_386_PC32 %16p <- 0x%08x (%16p - %16p) %s",
+                 rel_target, result, reinterpret_cast<void*>(target),
+                 reinterpret_cast<void*>(base), sym_name);
         *static_cast<ElfW(Addr)*>(rel_target) = result;
       }
       break;
@@ -557,15 +565,11 @@
 }
 
 static bool needs_slow_relocate_loop(const Relocator& relocator __unused) {
-#if STATS
-  // TODO: This could become a run-time flag.
-  return true;
-#endif
 #if !defined(__LP64__)
   if (relocator.si->has_text_relocations) return true;
 #endif
-  if (g_ld_debug_verbosity > LINKER_VERBOSITY_TRACE) {
-    // If linker TRACE() is enabled, then each relocation is logged.
+  // Both LD_DEBUG relocation logging and statistics need the slow path.
+  if (g_linker_debug_config.any || g_linker_debug_config.statistics) {
     return true;
   }
   return false;
@@ -586,6 +590,11 @@
 }
 
 bool soinfo::relocate(const SymbolLookupList& lookup_list) {
+  // For ldd, don't apply relocations because TLS segments are not registered.
+  // We don't care whether ldd diagnoses unresolved symbols.
+  if (g_is_ldd) {
+    return true;
+  }
 
   VersionTracker version_tracker;
 
@@ -601,6 +610,17 @@
   relocator.tlsdesc_args = &tlsdesc_args_;
   relocator.tls_tp_base = __libc_shared_globals()->static_tls_layout.offset_thread_pointer();
 
+  // The linker already applied its RELR relocations in an earlier pass, so
+  // skip the RELR relocations for the linker.
+  if (relr_ != nullptr && !is_linker()) {
+    LD_DEBUG(reloc, "[ relocating %s relr ]", get_realpath());
+    const ElfW(Relr)* begin = relr_;
+    const ElfW(Relr)* end = relr_ + relr_count_;
+    if (!relocate_relr(begin, end, load_bias, should_tag_memtag_globals())) {
+      return false;
+    }
+  }
+
   if (android_relocs_ != nullptr) {
     // check signature
     if (android_relocs_size_ > 3 &&
@@ -608,7 +628,7 @@
         android_relocs_[1] == 'P' &&
         android_relocs_[2] == 'S' &&
         android_relocs_[3] == '2') {
-      DEBUG("[ android relocating %s ]", get_realpath());
+      LD_DEBUG(reloc, "[ relocating %s android rel/rela ]", get_realpath());
 
       const uint8_t* packed_relocs = android_relocs_ + 4;
       const size_t packed_relocs_size = android_relocs_size_ - 4;
@@ -622,36 +642,29 @@
     }
   }
 
-  if (relr_ != nullptr) {
-    DEBUG("[ relocating %s relr ]", get_realpath());
-    if (!relocate_relr()) {
-      return false;
-    }
-  }
-
 #if defined(USE_RELA)
   if (rela_ != nullptr) {
-    DEBUG("[ relocating %s rela ]", get_realpath());
+    LD_DEBUG(reloc, "[ relocating %s rela ]", get_realpath());
 
     if (!plain_relocate<RelocMode::Typical>(relocator, rela_, rela_count_)) {
       return false;
     }
   }
   if (plt_rela_ != nullptr) {
-    DEBUG("[ relocating %s plt rela ]", get_realpath());
+    LD_DEBUG(reloc, "[ relocating %s plt rela ]", get_realpath());
     if (!plain_relocate<RelocMode::JumpTable>(relocator, plt_rela_, plt_rela_count_)) {
       return false;
     }
   }
 #else
   if (rel_ != nullptr) {
-    DEBUG("[ relocating %s rel ]", get_realpath());
+    LD_DEBUG(reloc, "[ relocating %s rel ]", get_realpath());
     if (!plain_relocate<RelocMode::Typical>(relocator, rel_, rel_count_)) {
       return false;
     }
   }
   if (plt_rel_ != nullptr) {
-    DEBUG("[ relocating %s plt rel ]", get_realpath());
+   LD_DEBUG(reloc, "[ relocating %s plt rel ]", get_realpath());
     if (!plain_relocate<RelocMode::JumpTable>(relocator, plt_rel_, plt_rel_count_)) {
       return false;
     }
@@ -660,14 +673,14 @@
 
   // Once the tlsdesc_args_ vector's size is finalized, we can write the addresses of its elements
   // into the TLSDESC relocations.
-#if defined(__aarch64__)
-  // Bionic currently only implements TLSDESC for arm64.
+#if defined(__aarch64__) || defined(__riscv)
+  // Bionic currently only implements TLSDESC for arm64 and riscv64.
   for (const std::pair<TlsDescriptor*, size_t>& pair : relocator.deferred_tlsdesc_relocs) {
     TlsDescriptor* desc = pair.first;
     desc->func = tlsdesc_resolver_dynamic;
     desc->arg = reinterpret_cast<size_t>(&tlsdesc_args_[pair.second]);
   }
-#endif
+#endif // defined(__aarch64__) || defined(__riscv)
 
   return true;
 }
diff --git a/linker/linker_relocs.h b/linker/linker_relocs.h
index 37a7880..54aad18 100644
--- a/linker/linker_relocs.h
+++ b/linker/linker_relocs.h
@@ -84,8 +84,7 @@
 #define R_GENERIC_TLS_DTPMOD    R_RISCV_TLS_DTPMOD64
 #define R_GENERIC_TLS_DTPREL    R_RISCV_TLS_DTPREL64
 #define R_GENERIC_TLS_TPREL     R_RISCV_TLS_TPREL64
-// TODO: https://github.com/riscv-non-isa/riscv-elf-psabi-doc/issues/94
-// #define R_GENERIC_TLSDESC       R_RISCV_TLS_DESC
+#define R_GENERIC_TLSDESC       R_RISCV_TLSDESC
 
 #elif defined (__x86_64__)
 
diff --git a/linker/linker_sleb128.h b/linker/linker_sleb128.h
index 6bb3199..f48fda8 100644
--- a/linker/linker_sleb128.h
+++ b/linker/linker_sleb128.h
@@ -69,3 +69,32 @@
   const uint8_t* current_;
   const uint8_t* const end_;
 };
+
+class uleb128_decoder {
+ public:
+  uleb128_decoder(const uint8_t* buffer, size_t count) : current_(buffer), end_(buffer + count) {}
+
+  uint64_t pop_front() {
+    uint64_t value = 0;
+
+    size_t shift = 0;
+    uint8_t byte;
+
+    do {
+      if (current_ >= end_) {
+        async_safe_fatal("uleb128_decoder ran out of bounds");
+      }
+      byte = *current_++;
+      value |= (static_cast<size_t>(byte & 127) << shift);
+      shift += 7;
+    } while (byte & 128);
+
+    return value;
+  }
+
+  bool has_bytes() { return current_ < end_; }
+
+ private:
+  const uint8_t* current_;
+  const uint8_t* const end_;
+};
diff --git a/linker/linker_soinfo.cpp b/linker/linker_soinfo.cpp
index 287e757..176c133 100644
--- a/linker/linker_soinfo.cpp
+++ b/linker/linker_soinfo.cpp
@@ -44,21 +44,18 @@
 #include "linker_logger.h"
 #include "linker_relocate.h"
 #include "linker_utils.h"
-
-// Enable the slow lookup path if symbol lookups should be logged.
-static bool is_lookup_tracing_enabled() {
-  return g_ld_debug_verbosity > LINKER_VERBOSITY_TRACE && DO_TRACE_LOOKUP;
-}
+#include "platform/bionic/mte.h"
+#include "private/bionic_globals.h"
 
 SymbolLookupList::SymbolLookupList(soinfo* si)
     : sole_lib_(si->get_lookup_lib()), begin_(&sole_lib_), end_(&sole_lib_ + 1) {
   CHECK(si != nullptr);
-  slow_path_count_ += is_lookup_tracing_enabled();
+  slow_path_count_ += !!g_linker_debug_config.lookup;
   slow_path_count_ += sole_lib_.needs_sysv_lookup();
 }
 
 SymbolLookupList::SymbolLookupList(const soinfo_list_t& global_group, const soinfo_list_t& local_group) {
-  slow_path_count_ += is_lookup_tracing_enabled();
+  slow_path_count_ += !!g_linker_debug_config.lookup;
   libs_.reserve(1 + global_group.size() + local_group.size());
 
   // Reserve a space in front for DT_SYMBOLIC lookup.
@@ -144,8 +141,8 @@
       }
 
       if (IsGeneral) {
-        TRACE_TYPE(LOOKUP, "SEARCH %s in %s@%p (gnu)",
-                   name, lib->si_->get_realpath(), reinterpret_cast<void*>(lib->si_->base));
+        LD_DEBUG(lookup, "SEARCH %s in %s@%p (gnu)",
+                 name, lib->si_->get_realpath(), reinterpret_cast<void*>(lib->si_->base));
       }
 
       const uint32_t word_num = (hash / kBloomMaskBits) & lib->gnu_maskwords_;
@@ -159,11 +156,6 @@
           break;
         }
       }
-
-      if (IsGeneral) {
-        TRACE_TYPE(LOOKUP, "NOT FOUND %s in %s@%p",
-                   name, lib->si_->get_realpath(), reinterpret_cast<void*>(lib->si_->base));
-      }
     }
 
     // Search the library's hash table chain.
@@ -186,21 +178,11 @@
             memcmp(lib->strtab_ + sym->st_name, name, name_len + 1) == 0 &&
             is_symbol_global_and_defined(lib->si_, sym)) {
           *si_found_in = lib->si_;
-          if (IsGeneral) {
-            TRACE_TYPE(LOOKUP, "FOUND %s in %s (%p) %zd",
-                       name, lib->si_->get_realpath(), reinterpret_cast<void*>(sym->st_value),
-                       static_cast<size_t>(sym->st_size));
-          }
           return sym;
         }
       }
       ++sym_idx;
     } while ((chain_value & 1) == 0);
-
-    if (IsGeneral) {
-      TRACE_TYPE(LOOKUP, "NOT FOUND %s in %s@%p",
-                 name, lib->si_->get_realpath(), reinterpret_cast<void*>(lib->si_->base));
-    }
   }
 }
 
@@ -211,11 +193,8 @@
       soinfo_do_lookup_impl<false>(name, vi, si_found_in, lookup_list);
 }
 
-soinfo::soinfo(android_namespace_t* ns, const char* realpath,
-               const struct stat* file_stat, off64_t file_offset,
-               int rtld_flags) {
-  memset(this, 0, sizeof(*this));
-
+soinfo::soinfo(android_namespace_t* ns, const char* realpath, const struct stat* file_stat,
+               off64_t file_offset, int rtld_flags) {
   if (realpath != nullptr) {
     realpath_ = realpath;
   }
@@ -327,6 +306,12 @@
   return is_gnu_hash() ? gnu_lookup(symbol_name, vi) : elf_lookup(symbol_name, vi);
 }
 
+ElfW(Addr) soinfo::apply_memtag_if_mte_globals(ElfW(Addr) sym_addr) const {
+  if (!should_tag_memtag_globals()) return sym_addr;
+  if (sym_addr == 0) return sym_addr;  // Handle undefined weak symbols.
+  return reinterpret_cast<ElfW(Addr)>(get_tagged_address(reinterpret_cast<void*>(sym_addr)));
+}
+
 const ElfW(Sym)* soinfo::gnu_lookup(SymbolName& symbol_name, const version_info* vi) const {
   const uint32_t hash = symbol_name.gnu_hash();
 
@@ -336,14 +321,11 @@
   const uint32_t h1 = hash % kBloomMaskBits;
   const uint32_t h2 = (hash >> gnu_shift2_) % kBloomMaskBits;
 
-  TRACE_TYPE(LOOKUP, "SEARCH %s in %s@%p (gnu)",
-      symbol_name.get_name(), get_realpath(), reinterpret_cast<void*>(base));
+  LD_DEBUG(lookup, "SEARCH %s in %s@%p (gnu)",
+           symbol_name.get_name(), get_realpath(), reinterpret_cast<void*>(base));
 
   // test against bloom filter
   if ((1 & (bloom_word >> h1) & (bloom_word >> h2)) == 0) {
-    TRACE_TYPE(LOOKUP, "NOT FOUND %s in %s@%p",
-        symbol_name.get_name(), get_realpath(), reinterpret_cast<void*>(base));
-
     return nullptr;
   }
 
@@ -351,9 +333,6 @@
   uint32_t n = gnu_bucket_[hash % gnu_nbucket_];
 
   if (n == 0) {
-    TRACE_TYPE(LOOKUP, "NOT FOUND %s in %s@%p",
-        symbol_name.get_name(), get_realpath(), reinterpret_cast<void*>(base));
-
     return nullptr;
   }
 
@@ -366,25 +345,19 @@
         check_symbol_version(versym, n, verneed) &&
         strcmp(get_string(s->st_name), symbol_name.get_name()) == 0 &&
         is_symbol_global_and_defined(this, s)) {
-      TRACE_TYPE(LOOKUP, "FOUND %s in %s (%p) %zd",
-          symbol_name.get_name(), get_realpath(), reinterpret_cast<void*>(s->st_value),
-          static_cast<size_t>(s->st_size));
       return symtab_ + n;
     }
   } while ((gnu_chain_[n++] & 1) == 0);
 
-  TRACE_TYPE(LOOKUP, "NOT FOUND %s in %s@%p",
-             symbol_name.get_name(), get_realpath(), reinterpret_cast<void*>(base));
-
   return nullptr;
 }
 
 const ElfW(Sym)* soinfo::elf_lookup(SymbolName& symbol_name, const version_info* vi) const {
   uint32_t hash = symbol_name.elf_hash();
 
-  TRACE_TYPE(LOOKUP, "SEARCH %s in %s@%p h=%x(elf) %zd",
-             symbol_name.get_name(), get_realpath(),
-             reinterpret_cast<void*>(base), hash, hash % nbucket_);
+  LD_DEBUG(lookup, "SEARCH %s in %s@%p h=%x(elf) %zd",
+           symbol_name.get_name(), get_realpath(),
+           reinterpret_cast<void*>(base), hash, hash % nbucket_);
 
   const ElfW(Versym) verneed = find_verdef_version_index(this, vi);
   const ElfW(Versym)* versym = get_versym_table();
@@ -395,18 +368,10 @@
     if (check_symbol_version(versym, n, verneed) &&
         strcmp(get_string(s->st_name), symbol_name.get_name()) == 0 &&
         is_symbol_global_and_defined(this, s)) {
-      TRACE_TYPE(LOOKUP, "FOUND %s in %s (%p) %zd",
-                 symbol_name.get_name(), get_realpath(),
-                 reinterpret_cast<void*>(s->st_value),
-                 static_cast<size_t>(s->st_size));
       return symtab_ + n;
     }
   }
 
-  TRACE_TYPE(LOOKUP, "NOT FOUND %s in %s@%p %x %zd",
-             symbol_name.get_name(), get_realpath(),
-             reinterpret_cast<void*>(base), hash, hash % nbucket_);
-
   return nullptr;
 }
 
@@ -467,9 +432,9 @@
     return;
   }
 
-  TRACE("[ Calling c-tor %s @ %p for '%s' ]", function_name, function, realpath);
+  LD_DEBUG(calls, "[ Calling c-tor %s @ %p for '%s' ]", function_name, function, realpath);
   function(g_argc, g_argv, g_envp);
-  TRACE("[ Done calling c-tor %s @ %p for '%s' ]", function_name, function, realpath);
+  LD_DEBUG(calls, "[ Done calling c-tor %s @ %p for '%s' ]", function_name, function, realpath);
 }
 
 static void call_function(const char* function_name __unused,
@@ -479,9 +444,9 @@
     return;
   }
 
-  TRACE("[ Calling d-tor %s @ %p for '%s' ]", function_name, function, realpath);
+  LD_DEBUG(calls, "[ Calling d-tor %s @ %p for '%s' ]", function_name, function, realpath);
   function();
-  TRACE("[ Done calling d-tor %s @ %p for '%s' ]", function_name, function, realpath);
+  LD_DEBUG(calls, "[ Done calling d-tor %s @ %p for '%s' ]", function_name, function, realpath);
 }
 
 template <typename F>
@@ -491,30 +456,28 @@
     return;
   }
 
-  TRACE("[ Calling %s (size %zd) @ %p for '%s' ]", array_name, count, functions, realpath);
+  LD_DEBUG(calls, "[ Calling %s (size %zd) @ %p for '%s' ]", array_name, count, functions, realpath);
 
   int begin = reverse ? (count - 1) : 0;
   int end = reverse ? -1 : count;
   int step = reverse ? -1 : 1;
 
   for (int i = begin; i != end; i += step) {
-    TRACE("[ %s[%d] == %p ]", array_name, i, functions[i]);
+    LD_DEBUG(calls, "[ %s[%d] == %p ]", array_name, i, functions[i]);
     call_function("function", functions[i], realpath);
   }
 
-  TRACE("[ Done calling %s for '%s' ]", array_name, realpath);
+  LD_DEBUG(calls, "[ Done calling %s for '%s' ]", array_name, realpath);
 }
 
 void soinfo::call_pre_init_constructors() {
-  if (g_is_ldd) return;
-
   // DT_PREINIT_ARRAY functions are called before any other constructors for executables,
   // but ignored in a shared library.
   call_array("DT_PREINIT_ARRAY", preinit_array_, preinit_array_count_, false, get_realpath());
 }
 
 void soinfo::call_constructors() {
-  if (constructors_called || g_is_ldd) {
+  if (constructors_called) {
     return;
   }
 
@@ -532,7 +495,7 @@
 
   if (!is_main_executable() && preinit_array_ != nullptr) {
     // The GNU dynamic linker silently ignores these, but we warn the developer.
-    PRINT("\"%s\": ignoring DT_PREINIT_ARRAY in shared library!", get_realpath());
+    DL_WARN("\"%s\": ignoring DT_PREINIT_ARRAY in shared library!", get_realpath());
   }
 
   get_children().for_each([] (soinfo* si) {
@@ -892,7 +855,7 @@
     handle_ = handle_ | 1;
   } while (handle_ == reinterpret_cast<uintptr_t>(RTLD_DEFAULT) ||
            handle_ == reinterpret_cast<uintptr_t>(RTLD_NEXT) ||
-           g_soinfo_handles_map.find(handle_) != g_soinfo_handles_map.end());
+           g_soinfo_handles_map.contains(handle_));
 
   g_soinfo_handles_map[handle_] = this;
 }
diff --git a/linker/linker_soinfo.h b/linker/linker_soinfo.h
index 9c589d6..4d02676 100644
--- a/linker/linker_soinfo.h
+++ b/linker/linker_soinfo.h
@@ -30,13 +30,16 @@
 
 #include <link.h>
 
+#include <list>
 #include <memory>
 #include <string>
 #include <vector>
 
-#include "private/bionic_elf_tls.h"
+#include "async_safe/CHECK.h"
 #include "linker_namespaces.h"
 #include "linker_tls.h"
+#include "private/bionic_elf_tls.h"
+#include "private/bionic_globals.h"
 
 #define FLAG_LINKED           0x00000001
 #define FLAG_EXE              0x00000004 // The main executable
@@ -64,6 +67,7 @@
                                          // soinfo is executed and this flag is
                                          // unset.
 #define FLAG_PRELINKED        0x00000400 // prelink_image has successfully processed this soinfo
+#define FLAG_GLOBALS_TAGGED   0x00000800 // globals have been tagged by MTE.
 #define FLAG_NEW_SOINFO       0x40000000 // new soinfo format
 
 #define SOINFO_VERSION 6
@@ -250,11 +254,14 @@
   void call_constructors();
   void call_destructors();
   void call_pre_init_constructors();
-  bool prelink_image();
+  bool prelink_image(bool deterministic_memtag_globals = false);
   bool link_image(const SymbolLookupList& lookup_list, soinfo* local_group_root,
                   const android_dlextinfo* extinfo, size_t* relro_fd_offset);
   bool protect_relro();
 
+  void tag_globals(bool deterministic_memtag_globals);
+  ElfW(Addr) apply_memtag_if_mte_globals(ElfW(Addr) sym_addr) const;
+
   void add_child(soinfo* child);
   void remove_all_links();
 
@@ -291,6 +298,9 @@
 #if defined(__work_around_b_24465209__)
     return (flags_ & FLAG_NEW_SOINFO) != 0 && version_ >= min_version;
 #else
+    // If you make this return non-true in the case where
+    // __work_around_b_24465209__ is not defined, you will have to change
+    // memtag_dynamic_entries() and vma_names().
     return true;
 #endif
   }
@@ -351,6 +361,68 @@
   void set_gap_size(size_t gap_size);
   size_t get_gap_size() const;
 
+  const memtag_dynamic_entries_t* memtag_dynamic_entries() const {
+#ifdef __aarch64__
+#ifdef __work_around_b_24465209__
+#error "Assuming aarch64 does not use versioned soinfo."
+#endif
+    return &memtag_dynamic_entries_;
+#endif
+    return nullptr;
+  }
+  void* memtag_globals() const {
+    const memtag_dynamic_entries_t* entries = memtag_dynamic_entries();
+    return entries ? entries->memtag_globals : nullptr;
+  }
+  size_t memtag_globalssz() const {
+    const memtag_dynamic_entries_t* entries = memtag_dynamic_entries();
+    return entries ? entries->memtag_globalssz : 0U;
+  }
+  bool has_memtag_mode() const {
+    const memtag_dynamic_entries_t* entries = memtag_dynamic_entries();
+    return entries ? entries->has_memtag_mode : false;
+  }
+  unsigned memtag_mode() const {
+    const memtag_dynamic_entries_t* entries = memtag_dynamic_entries();
+    return entries ? entries->memtag_mode : 0U;
+  }
+  bool memtag_heap() const {
+    const memtag_dynamic_entries_t* entries = memtag_dynamic_entries();
+    return entries ? entries->memtag_heap : false;
+  }
+  bool memtag_stack() const {
+    const memtag_dynamic_entries_t* entries = memtag_dynamic_entries();
+    return entries ? entries->memtag_stack : false;
+  }
+
+  void set_should_pad_segments(bool should_pad_segments) {
+   should_pad_segments_ = should_pad_segments;
+  }
+  bool should_pad_segments() const { return should_pad_segments_; }
+  bool should_tag_memtag_globals() const {
+    return !is_linker() && memtag_globals() && memtag_globalssz() > 0 && __libc_mte_enabled();
+  }
+  std::list<std::string>* vma_names() {
+#ifdef __aarch64__
+#ifdef __work_around_b_24465209__
+#error "Assuming aarch64 does not use versioned soinfo."
+#endif
+    return &vma_names_;
+#endif
+    return nullptr;
+};
+
+  void set_should_use_16kib_app_compat(bool should_use_16kib_app_compat) {
+    should_use_16kib_app_compat_ = should_use_16kib_app_compat;
+  }
+  bool should_use_16kib_app_compat() const { return should_use_16kib_app_compat_; }
+
+  void set_compat_relro_start(ElfW(Addr) start) { compat_relro_start_ = start; }
+  ElfW(Addr) compat_relro_start() const { return compat_relro_start_; }
+
+  void set_compat_relro_size(ElfW(Addr) size) { compat_relro_size_ = size; }
+  ElfW(Addr) compat_relro_size() const { return compat_relro_start_; }
+
  private:
   bool is_image_linked() const;
   void set_image_linked();
@@ -366,8 +438,6 @@
 
  private:
   bool relocate(const SymbolLookupList& lookup_list);
-  bool relocate_relr();
-  void apply_relr_reloc(ElfW(Addr) offset);
 
   // This part of the structure is only available
   // when FLAG_NEW_SOINFO is set in this->flags.
@@ -433,6 +503,20 @@
   // version >= 6
   ElfW(Addr) gap_start_;
   size_t gap_size_;
+
+  // __aarch64__ only, which does not use versioning.
+  memtag_dynamic_entries_t memtag_dynamic_entries_;
+  std::list<std::string> vma_names_;
+
+  // Pad gaps between segments when memory mapping?
+  bool should_pad_segments_ = false;
+
+  // Use app compat mode when loading 4KiB max-page-size ELFs on 16KiB page-size devices?
+  bool should_use_16kib_app_compat_ = false;
+
+  // RELRO region for 16KiB compat loading
+  ElfW(Addr) compat_relro_start_ = 0;
+  ElfW(Addr) compat_relro_size_ = 0;
 };
 
 // This function is used by dlvsym() to calculate hash of sym_ver
diff --git a/linker/linker_test_globals.cpp b/linker/linker_test_globals.cpp
index 33a78b0..27ec6f7 100644
--- a/linker/linker_test_globals.cpp
+++ b/linker/linker_test_globals.cpp
@@ -26,6 +26,8 @@
  * SUCH DAMAGE.
  */
 
-// To enable logging
-int g_ld_debug_verbosity = 0;
+// Stub some symbols to avoid linking issues
+void DL_WARN_documented_change(int api_level [[maybe_unused]],
+                               const char* doc_link [[maybe_unused]],
+                               const char* fmt [[maybe_unused]], ...) {}
 
diff --git a/linker/linker_tls.cpp b/linker/linker_tls.cpp
index 97892f4..e90b8cb 100644
--- a/linker/linker_tls.cpp
+++ b/linker/linker_tls.cpp
@@ -31,14 +31,15 @@
 #include <vector>
 
 #include "async_safe/CHECK.h"
+#include "linker_globals.h"
+#include "linker_main.h"
+#include "linker_soinfo.h"
 #include "private/ScopedRWLock.h"
 #include "private/ScopedSignalBlocker.h"
 #include "private/bionic_defs.h"
 #include "private/bionic_elf_tls.h"
 #include "private/bionic_globals.h"
 #include "private/linker_native_bridge.h"
-#include "linker_main.h"
-#include "linker_soinfo.h"
 
 static bool g_static_tls_finished;
 static std::vector<TlsModule> g_tls_modules;
@@ -109,7 +110,11 @@
 void linker_setup_exe_static_tls(const char* progname) {
   soinfo* somain = solist_get_somain();
   StaticTlsLayout& layout = __libc_shared_globals()->static_tls_layout;
-  if (somain->get_tls() == nullptr) {
+
+  // For ldd, don't add the executable's TLS segment to the static TLS layout.
+  // It is likely to trigger the underaligned TLS segment error on arm32/arm64
+  // when the ldd argument is actually a shared object.
+  if (somain->get_tls() == nullptr || g_is_ldd) {
     layout.reserve_exe_segment_and_tcb(nullptr, progname);
   } else {
     register_tls_module(somain, layout.reserve_exe_segment_and_tcb(&somain->get_tls()->segment, progname));
@@ -133,6 +138,11 @@
 }
 
 void register_soinfo_tls(soinfo* si) {
+  // ldd skips registration of the executable's TLS segment above to avoid the
+  // arm32/arm64 underalignment error. For consistency, also skip registration
+  // of TLS segments here, for shared objects.
+  if (g_is_ldd) return;
+
   soinfo_tls* si_tls = si->get_tls();
   if (si_tls == nullptr || si_tls->module_id != kTlsUninitializedModuleId) {
     return;
diff --git a/linker/linker_translate_path.cpp b/linker/linker_translate_path.cpp
index 4f3fdfb..b41669e 100644
--- a/linker/linker_translate_path.cpp
+++ b/linker/linker_translate_path.cpp
@@ -42,13 +42,13 @@
 // Workaround for dlopen(/system/lib(64)/<soname>) when .so is in /apex. http://b/121248172
 /**
  * Translate /system path to /apex path if needed
- * The workaround should work only when targetSdkVersion < Q.
+ * The workaround should work only when targetSdkVersion < 29.
  *
  * param out_name_to_apex pointing to /apex path
  * return true if translation is needed
  */
 bool translateSystemPathToApexPath(const char* name, std::string* out_name_to_apex) {
-  static constexpr const char* kPathTranslationQ[][2] = {
+  static constexpr const char* kPathTranslation[][2] = {
       APEX_LIB("com.android.i18n", "libicui18n.so"),
       APEX_LIB("com.android.i18n", "libicuuc.so")
   };
@@ -59,10 +59,10 @@
 
   auto comparator = [name](auto p) { return strcmp(name, p[0]) == 0; };
 
-  if (get_application_target_sdk_version() < __ANDROID_API_Q__) {
+  if (get_application_target_sdk_version() < 29) {
     if (auto it =
-            std::find_if(std::begin(kPathTranslationQ), std::end(kPathTranslationQ), comparator);
-        it != std::end(kPathTranslationQ)) {
+            std::find_if(std::begin(kPathTranslation), std::end(kPathTranslation), comparator);
+        it != std::end(kPathTranslation)) {
       *out_name_to_apex = (*it)[1];
       return true;
     }
diff --git a/linker/linker_utils.cpp b/linker/linker_utils.cpp
index 29110ed..f72716e 100644
--- a/linker/linker_utils.cpp
+++ b/linker/linker_utils.cpp
@@ -75,7 +75,7 @@
 bool normalize_path(const char* path, std::string* normalized_path) {
   // Input should be an absolute path
   if (path[0] != '/') {
-    PRINT("normalize_path - invalid input: \"%s\", the input path should be absolute", path);
+    DL_WARN("normalize_path - invalid input: \"%s\", the input path should be absolute", path);
     return false;
   }
 
@@ -144,7 +144,7 @@
   }
 
   const char* const path = normalized_path.c_str();
-  TRACE("Trying zip file open from path \"%s\" -> normalized \"%s\"", input_path, path);
+  LD_DEBUG(any, "Trying zip file open from path \"%s\" -> normalized \"%s\"", input_path, path);
 
   // Treat an '!/' separator inside a path as the separator between the name
   // of the zip file on disk and the subdirectory to search within it.
@@ -157,7 +157,7 @@
 
   char buf[512];
   if (strlcpy(buf, path, sizeof(buf)) >= sizeof(buf)) {
-    PRINT("Warning: ignoring very long library path: %s", path);
+    DL_WARN("ignoring very long library path: %s", path);
     return false;
   }
 
@@ -169,12 +169,6 @@
   return true;
 }
 
-constexpr off64_t kPageMask = ~static_cast<off64_t>(PAGE_SIZE-1);
-
-off64_t page_start(off64_t offset) {
-  return offset & kPageMask;
-}
-
 bool safe_add(off64_t* out, off64_t a, size_t b) {
   CHECK(a >= 0);
   if (static_cast<uint64_t>(INT64_MAX - a) < b) {
@@ -185,10 +179,6 @@
   return true;
 }
 
-size_t page_offset(off64_t offset) {
-  return static_cast<size_t>(offset & (PAGE_SIZE-1));
-}
-
 void split_path(const char* path, const char* delimiters,
                 std::vector<std::string>* paths) {
   if (path != nullptr && path[0] != 0) {
@@ -217,7 +207,7 @@
   if (realpath(original_path, resolved_path) != nullptr) {
     struct stat s;
     if (stat(resolved_path, &s) == -1) {
-      DL_WARN("Warning: cannot stat file \"%s\": %s (ignoring)", resolved_path, strerror(errno));
+      DL_WARN("Warning: cannot stat file \"%s\": %m (ignoring)", resolved_path);
       return "";
     }
     if (!S_ISDIR(s.st_mode)) {
@@ -236,8 +226,7 @@
     std::string entry_path;
     if (parse_zip_path(normalized_path.c_str(), &zip_path, &entry_path)) {
       if (realpath(zip_path.c_str(), resolved_path) == nullptr) {
-        DL_WARN("Warning: unable to resolve \"%s\": %s (ignoring)",
-                zip_path.c_str(), strerror(errno));
+        DL_WARN("Warning: unable to resolve \"%s\": %m (ignoring)", zip_path.c_str());
         return "";
       }
 
diff --git a/linker/linker_utils.h b/linker/linker_utils.h
index 5073b10..3049e53 100644
--- a/linker/linker_utils.h
+++ b/linker/linker_utils.h
@@ -55,7 +55,5 @@
 
 std::string dirname(const char* path);
 
-off64_t page_start(off64_t offset);
-size_t page_offset(off64_t offset);
 bool safe_add(off64_t* out, off64_t a, size_t b);
 bool is_first_stage_init();
diff --git a/linker/linker_utils_test.cpp b/linker/linker_utils_test.cpp
index 44907da..ac98416 100644
--- a/linker/linker_utils_test.cpp
+++ b/linker/linker_utils_test.cpp
@@ -33,6 +33,7 @@
 #include <gtest/gtest.h>
 
 #include "linker_utils.h"
+#include "platform/bionic/page.h"
 
 TEST(linker_utils, format_string) {
   std::vector<std::pair<std::string, std::string>> params = {{ "LIB", "lib32"}, { "SDKVER", "42"}};
@@ -104,15 +105,35 @@
 }
 
 TEST(linker_utils, page_start) {
-  ASSERT_EQ(0x0001000, page_start(0x0001000));
-  ASSERT_EQ(0x3002000, page_start(0x300222f));
-  ASSERT_EQ(0x6001000, page_start(0x6001fff));
+  const size_t kPageSize = page_size();
+
+  if (kPageSize == 4096) {
+    ASSERT_EQ(0x0001000U, page_start(0x0001000));
+    ASSERT_EQ(0x3002000U, page_start(0x300222f));
+    ASSERT_EQ(0x6001000U, page_start(0x6001fff));
+  } else if (kPageSize == 16384) {
+    ASSERT_EQ(0x0004000U, page_start(0x0004000));
+    ASSERT_EQ(0x3008000U, page_start(0x300822f));
+    ASSERT_EQ(0x6004000U, page_start(0x6004fff));
+  } else {
+    FAIL() << "Page size not supported " << kPageSize;
+  }
 }
 
 TEST(linker_utils, page_offset) {
-  ASSERT_EQ(0x0U, page_offset(0x0001000));
-  ASSERT_EQ(0x22fU, page_offset(0x300222f));
-  ASSERT_EQ(0xfffU, page_offset(0x6001fff));
+  const size_t kPageSize = page_size();
+
+  if (kPageSize == 4096) {
+    ASSERT_EQ(0x0U, page_offset(0x0001000));
+    ASSERT_EQ(0x22fU, page_offset(0x30222f));
+    ASSERT_EQ(0xfffU, page_offset(0x6001fff));
+  } else if (kPageSize == 16384) {
+    ASSERT_EQ(0x0U, page_offset(0x0004000));
+    ASSERT_EQ(0x322fU, page_offset(0x30322f));
+    ASSERT_EQ(0x3fffU, page_offset(0x6003fff));
+  } else {
+    FAIL() << "Page size not supported " << kPageSize;
+  }
 }
 
 TEST(linker_utils, safe_add) {
diff --git a/linker/testdata/Android.bp b/linker/testdata/Android.bp
new file mode 100644
index 0000000..f998180
--- /dev/null
+++ b/linker/testdata/Android.bp
@@ -0,0 +1,38 @@
+// Copyright (C) 2024 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+cc_library_shared {
+    name: "crt_pad_segment_enabled",
+    srcs: ["hello_world.c"],
+}
+
+cc_library_shared {
+    name: "crt_pad_segment_disabled",
+    srcs: [
+        "hello_world.c",
+        "crt_pad_segment_disabled.S",
+    ],
+    include_dirs: ["bionic/libc"], // bionic_asm_note.h
+    no_crt_pad_segment: true,
+}
+
+cc_library_shared {
+    name: "no_crt_pad_segment",
+    srcs: ["hello_world.c"],
+    no_crt_pad_segment: true,
+}
diff --git a/libm/fenv-access.h b/linker/testdata/crt_pad_segment_disabled.S
similarity index 74%
copy from libm/fenv-access.h
copy to linker/testdata/crt_pad_segment_disabled.S
index 7acb34d..cc2d266 100644
--- a/libm/fenv-access.h
+++ b/linker/testdata/crt_pad_segment_disabled.S
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,8 +26,18 @@
  * SUCH DAMAGE.
  */
 
-#pragma once
+#include <private/bionic_asm_note.h>
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
-#endif
+  .section ".note.android.pad_segment", "a", %note
+  .balign 4
+  .long 1f - 0f                       // int32_t namesz
+  .long 3f - 2f                       // int32_t descsz
+  .long NT_ANDROID_TYPE_PAD_SEGMENT   // int32_t type
+0:
+  .asciz "Android"                    // char name[]
+1:
+  .balign 2
+2:
+  .long 0    // Disabled
+3:
+  .balign 2
diff --git a/libm/fenv-access.h b/linker/testdata/hello_world.c
similarity index 89%
copy from libm/fenv-access.h
copy to linker/testdata/hello_world.c
index 7acb34d..ad179f6 100644
--- a/libm/fenv-access.h
+++ b/linker/testdata/hello_world.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,8 +26,8 @@
  * SUCH DAMAGE.
  */
 
-#pragma once
+#include <stdio.h>
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
-#endif
+void hello_world(void) {
+    printf("Hello world\n");
+}
diff --git a/tests/Android.bp b/tests/Android.bp
index 30f52ca..a97f5a8 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -15,6 +15,7 @@
 //
 
 package {
+    default_team: "trendy_team_native_tools_libraries",
     default_applicable_licenses: ["bionic_tests_license"],
 }
 
@@ -59,12 +60,12 @@
         // Needed to test pthread_internal_t layout.
         "-Wno-invalid-offsetof",
 
-        // For glibc.
-        "-D__STDC_LIMIT_MACROS",
+        // This warning does not provide any benefit to the tests.
+        "-Wno-reorder-init-list",
     ],
     header_libs: [
         "libcutils_headers",
-        "gwp_asan_headers"
+        "gwp_asan_headers",
     ],
     stl: "libc++",
 
@@ -360,15 +361,17 @@
 cc_test_library {
     name: "clang_diagnostic_tests",
     cflags: [
-        "-Xclang",
-        "-verify",
+        "-Xclang -verify",
     ],
     srcs: ["sys_ioctl_diag_test.cpp"],
 }
 
 cc_test_library {
     name: "libBionicStandardTests",
-    defaults: ["bionic_tests_defaults"],
+    defaults: [
+        "bionic_tests_defaults",
+        "large_system_property_node_defaults",
+    ],
     tidy_disabled_srcs: [
         "malloc_test.cpp", // timed out with clang-tidy, and too many warnings
     ],
@@ -386,7 +389,9 @@
         "bug_26110743_test.cpp",
         "byteswap_test.cpp",
         "complex_test.cpp",
-        "complex_force_long_double_test.cpp",
+        // Disabled while investigating
+        // b/378304366, b/375525252
+        // "cpu_target_features_test.cpp",
         "ctype_test.cpp",
         "dirent_test.cpp",
         "elf_test.cpp",
@@ -401,6 +406,7 @@
         "_FILE_OFFSET_BITS_test.cpp",
         "float_test.cpp",
         "fnmatch_test.cpp",
+        "fts_test.cpp",
         "ftw_test.cpp",
         "getauxval_test.cpp",
         "getcwd_test.cpp",
@@ -423,14 +429,15 @@
         "malloc_iterate_test.cpp",
         "malloc_test.cpp",
         "math_test.cpp",
-        "math_force_long_double_test.cpp",
         "membarrier_test.cpp",
+        "memtag_globals_test.cpp",
         "memtag_stack_test.cpp",
         "mntent_test.cpp",
         "mte_test.cpp",
         "netdb_test.cpp",
         "net_if_test.cpp",
         "netinet_ether_test.cpp",
+        "netinet_igmp_test.cpp",
         "netinet_in_test.cpp",
         "netinet_ip_icmp_test.cpp",
         "netinet_udp_test.cpp",
@@ -472,7 +479,10 @@
         "struct_layout_test.cpp",
         "sstream_test.cpp",
         "sys_auxv_test.cpp",
+        "sys_cachectl_test.cpp",
         "sys_epoll_test.cpp",
+        "sys_hwprobe_test.cpp",
+        "sys_io_test.cpp",
         "sys_mman_test.cpp",
         "sys_msg_test.cpp",
         "sys_param_test.cpp",
@@ -503,6 +513,7 @@
         "sys_vfs_test.cpp",
         "sys_wait_test.cpp",
         "sys_xattr_test.cpp",
+        "syslog_test.cpp",
         "system_properties_test.cpp",
         "system_properties_test2.cpp",
         "termios_test.cpp",
@@ -559,12 +570,6 @@
     },
 
     generated_headers: ["generated_android_ids"],
-
-    // Bug: http://b/218788252 IR verifier too strict for ifunc resolver that
-    // accept parameters.
-    lto: {
-        never: true,
-    },
 }
 
 cc_test_library {
@@ -576,21 +581,12 @@
     include_dirs: [
         "bionic/libc",
     ],
+    static_libs: [
+        "libbase",
+    ],
     shared: {
         enabled: false,
     },
-    cflags: [
-        "-fno-emulated-tls",
-    ],
-    // With fuzzer builds, compiler instrumentation generates a reference to the
-    // __sancov_lowest_stack variable, which (for now) is defined by the fuzzer
-    // library as an emutls symbol. The -fno-emulated-tls flag above configures
-    // the compiler to reference an ordinary ELF TLS __sancov_lowest_stack
-    // symbol instead, which isn't defined. Disable the fuzzer for this test
-    // until the platform is switched to ELF TLS.
-    sanitize: {
-        fuzzer: false,
-    },
 }
 
 cc_test_library {
@@ -609,18 +605,6 @@
     shared: {
         enabled: false,
     },
-    cflags: [
-        "-fno-emulated-tls",
-    ],
-    // With fuzzer builds, compiler instrumentation generates a reference to the
-    // __sancov_lowest_stack variable, which (for now) is defined by the fuzzer
-    // library as an emutls symbol. The -fno-emulated-tls flag above configures
-    // the compiler to reference an ordinary ELF TLS __sancov_lowest_stack
-    // symbol instead, which isn't defined. Disable the fuzzer for this test
-    // until the platform is switched to ELF TLS.
-    sanitize: {
-        fuzzer: false,
-    },
 }
 
 cc_test_library {
@@ -675,22 +659,6 @@
     },
 }
 
-// Ensures that FORTIFY checks aren't run when ASAN is on.
-cc_test {
-    name: "bionic-fortify-runtime-asan-test",
-    defaults: [
-        "bionic_clang_fortify_tests_w_flags",
-    ],
-    cflags: [
-        "-Werror",
-        "-D_FORTIFY_SOURCE=2",
-    ],
-    sanitize: {
-        address: true,
-    },
-    srcs: ["clang_fortify_asan.cpp"],
-}
-
 // Ensure we don't use FORTIFY'ed functions with the static analyzer/clang-tidy:
 // it can confuse these tools pretty easily. If this builds successfully, then
 // __clang_analyzer__ overrode FORTIFY. Otherwise, FORTIFY was incorrectly
@@ -749,11 +717,6 @@
     ],
     srcs: ["clang_fortify_tests.cpp"],
     tidy: false,
-    target: {
-        host: {
-            cflags: ["-D__clang__"],
-        },
-    },
 }
 
 cc_test_library {
@@ -786,6 +749,40 @@
     },
 }
 
+cc_defaults {
+    name: "bionic_fortify_c_tests_defaults",
+    defaults: [
+        "bionic_clang_fortify_tests_w_flags",
+        "bionic_tests_defaults",
+    ],
+    cflags: [
+        "-U_FORTIFY_SOURCE",
+        // -fbuiltin is required here to counteract -fno-builtin from
+        // `bionic_tests_defaults`. With `-fno-builtin`, Clang won't
+        // const-evaluate calls to `strlen`, which is tested for here.
+        "-fbuiltin",
+    ],
+    srcs: [
+        "clang_fortify_c_only_tests.c",
+    ],
+    tidy: false,
+    shared: {
+        enabled: false,
+    },
+}
+
+cc_test_library {
+    name: "libfortify1-c-tests-clang",
+    defaults: ["bionic_fortify_c_tests_defaults"],
+    cflags: ["-D_FORTIFY_SOURCE=1"],
+}
+
+cc_test_library {
+    name: "libfortify2-c-tests-clang",
+    defaults: ["bionic_fortify_c_tests_defaults"],
+    cflags: ["-D_FORTIFY_SOURCE=2"],
+}
+
 // -----------------------------------------------------------------------------
 // Library of all tests (excluding the dynamic linker tests).
 // -----------------------------------------------------------------------------
@@ -797,8 +794,10 @@
         "libBionicStandardTests",
         "libBionicElfTlsTests",
         "libBionicFramePointerTests",
+        "libfortify1-c-tests-clang",
         "libfortify1-tests-clang",
         "libfortify1-new-tests-clang",
+        "libfortify2-c-tests-clang",
         "libfortify2-tests-clang",
         "libfortify2-new-tests-clang",
     ],
@@ -819,13 +818,16 @@
         "dlfcn_test.cpp",
         "execinfo_test.cpp",
         "link_test.cpp",
+        "page_size_16kib_compat_test.cpp",
         "pthread_dlfcn_test.cpp",
     ],
     static_libs: [
         "libbase",
+        "libprocinfo",
     ],
     include_dirs: [
         "bionic/libc",
+        "bionic/tests/libs",
     ],
     shared: {
         enabled: false,
@@ -871,7 +873,10 @@
     data_bins: [
         "cfi_test_helper",
         "cfi_test_helper2",
+        "elftls_align_test_helper",
         "elftls_dlopen_ie_error_helper",
+        "elftls_dtv_resize_helper",
+        "elftls_skew_align_test_helper",
         "exec_linker_helper",
         "exec_linker_helper_lib",
         "heap_tagging_async_helper",
@@ -889,6 +894,11 @@
         "ld_preload_test_helper",
         "ld_preload_test_helper_lib1",
         "ld_preload_test_helper_lib2",
+        "memtag_globals_binary",
+        "memtag_globals_binary_static",
+        "memtag_globals_dso",
+        "mte_globals_relr_regression_test_b_314038442",
+        "mte_globals_relr_regression_test_b_314038442_mte",
         "ns_hidden_child_helper",
         "preinit_getauxval_test_helper",
         "preinit_syscall_test_helper",
@@ -970,10 +980,13 @@
         "libtest_dt_runpath_d",
         "libtest_dt_runpath_x",
         "libtest_dt_runpath_y",
+        "libtest_elf_max_page_size_4kib",
         "libtest_elftls_dynamic",
         "libtest_elftls_dynamic_filler_1",
         "libtest_elftls_dynamic_filler_2",
         "libtest_elftls_dynamic_filler_3",
+        "libtest_elftls_dynamic_filler_4",
+        "libtest_elftls_dynamic_filler_5",
         "libtest_elftls_shared_var",
         "libtest_elftls_shared_var_ie",
         "libtest_elftls_tprel",
@@ -1118,8 +1131,8 @@
     ],
 }
 
-cc_test {
-    name: "hwasan_test",
+cc_defaults {
+    name: "hwasan_test_defaults",
     enabled: false,
     // This does not use bionic_tests_defaults because it is not supported on
     // host.
@@ -1134,10 +1147,90 @@
     srcs: [
         "hwasan_test.cpp",
     ],
+    data_libs: [
+        "libtest_simple_hwasan",
+        "libtest_simple_hwasan_nohwasan",
+    ],
+    header_libs: ["bionic_libc_platform_headers"],
+    test_suites: ["device-tests"],
+}
+
+cc_test {
+    name: "hwasan_test",
+    defaults: ["hwasan_test_defaults"],
     shared_libs: [
         "libbase",
     ],
-    data_libs: ["libtest_simple_hwasan", "libtest_simple_hwasan_nohwasan"],
+}
+
+cc_test {
+    name: "hwasan_test_static",
+    defaults: ["hwasan_test_defaults"],
+    static_libs: [
+        "libbase",
+    ],
+    static_executable: true,
+    cflags: ["-DHWASAN_TEST_STATIC"],
+}
+
+cc_test {
+    name: "memtag_stack_dlopen_test",
+    enabled: false,
+    // This does not use bionic_tests_defaults because it is not supported on
+    // host.
+    arch: {
+        arm64: {
+            enabled: true,
+        },
+    },
+    sanitize: {
+        memtag_heap: true,
+        memtag_stack: false,
+    },
+    srcs: [
+        "memtag_stack_dlopen_test.cpp",
+    ],
+    shared_libs: [
+        "libbase",
+    ],
+    data_libs: [
+        "libtest_simple_memtag_stack",
+        "libtest_depends_on_simple_memtag_stack",
+    ],
+    data_bins: [
+        "testbinary_depends_on_simple_memtag_stack",
+        "testbinary_depends_on_depends_on_simple_memtag_stack",
+        "testbinary_is_stack_mte_after_dlopen",
+    ],
+    header_libs: ["bionic_libc_platform_headers"],
+    test_suites: ["device-tests"],
+}
+
+cc_test {
+    name: "memtag_stack_abi_test",
+    enabled: false,
+    // This does not use bionic_tests_defaults because it is not supported on
+    // host.
+    arch: {
+        arm64: {
+            enabled: true,
+        },
+    },
+    // We don't use `sanitize:` so we generate the appropriate ELF note, but
+    // still support non-MTE devices.
+    // TODO(fmayer): also add a test that enables stack MTE for MTE devices,
+    // which would test for more bugs.
+    ldflags: ["-fsanitize=memtag-stack"],
+    // Turn off all other sanitizers from SANITIZE_TARGET.
+    sanitize: {
+        never: true,
+    },
+    shared_libs: [
+        "libbase",
+    ],
+    srcs: [
+        "memtag_stack_abi_test.cpp",
+    ],
     header_libs: ["bionic_libc_platform_headers"],
     test_suites: ["device-tests"],
 }
@@ -1161,6 +1254,7 @@
 
     shared_libs: [
         "libbase",
+        "liblog",
     ],
 
     target: {
@@ -1190,9 +1284,9 @@
         "gtest_globals.cpp",
         "gtest_main.cpp",
 
-        // The Bionic allocator has its own C++ API. It isn't packaged into its
-        // own library, so it can only be tested when it's part of libc.a.
+        // Test internal parts of Bionic that aren't exposed via libc.so.
         "bionic_allocator_test.cpp",
+        "static_tls_layout_test.cpp",
     ],
     include_dirs: [
         "bionic/libc",
@@ -1222,12 +1316,19 @@
         never: true,
     },
     data_bins: [
+        "elftls_align_test_helper",
+        "elftls_skew_align_test_helper",
         "heap_tagging_async_helper",
         "heap_tagging_disabled_helper",
         "heap_tagging_static_async_helper",
         "heap_tagging_static_disabled_helper",
         "heap_tagging_static_sync_helper",
         "heap_tagging_sync_helper",
+        "memtag_globals_binary",
+        "memtag_globals_binary_static",
+        "memtag_globals_dso",
+        "mte_globals_relr_regression_test_b_314038442",
+        "mte_globals_relr_regression_test_b_314038442_mte",
         "stack_tagging_helper",
         "stack_tagging_static_helper",
     ],
@@ -1309,4 +1410,47 @@
     },
 }
 
-subdirs = ["*"]
+cc_defaults {
+    name: "bionic_compile_time_tests_defaults",
+    enabled: false,
+    target: {
+        linux_x86: {
+            enabled: true,
+        },
+        linux_x86_64: {
+            enabled: true,
+        },
+    },
+    tidy: false,
+    clang_verify: true,
+    cflags: [
+        "-Wall",
+        "-Wno-error",
+        "-fno-color-diagnostics",
+        "-ferror-limit=10000",
+        "-DCOMPILATION_TESTS=1",
+        "-Wformat-nonliteral",
+        "-U_FORTIFY_SOURCE",
+    ],
+    srcs: ["clang_fortify_tests.cpp"],
+}
+
+cc_library_static {
+    name: "bionic-compile-time-tests1-clang++",
+    defaults: [
+        "bionic_compile_time_tests_defaults",
+    ],
+    cppflags: [
+        "-D_FORTIFY_SOURCE=1",
+    ],
+}
+
+cc_library_static {
+    name: "bionic-compile-time-tests2-clang++",
+    defaults: [
+        "bionic_compile_time_tests_defaults",
+    ],
+    cppflags: [
+        "-D_FORTIFY_SOURCE=2",
+    ],
+}
diff --git a/tests/Android.mk b/tests/Android.mk
deleted file mode 100644
index 5ad4045..0000000
--- a/tests/Android.mk
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# Copyright (C) 2012 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH := $(call my-dir)
-
-ifeq ($(HOST_OS)-$(HOST_ARCH),$(filter $(HOST_OS)-$(HOST_ARCH),linux-x86 linux-x86_64))
-
-# -----------------------------------------------------------------------------
-# Compile time tests.
-# -----------------------------------------------------------------------------
-
-FORTIFY_LEVEL := 1
-include $(LOCAL_PATH)/make_fortify_compile_test.mk
-
-FORTIFY_LEVEL := 2
-include $(LOCAL_PATH)/make_fortify_compile_test.mk
-
-endif # linux-x86
-
-include $(call first-makefiles-under,$(LOCAL_PATH))
diff --git a/tools/versioner/src/Preprocessor.h b/tests/DoNotOptimize.h
similarity index 63%
rename from tools/versioner/src/Preprocessor.h
rename to tests/DoNotOptimize.h
index 2a17534..711d339 100644
--- a/tools/versioner/src/Preprocessor.h
+++ b/tests/DoNotOptimize.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2016 The Android Open Source Project
+ * Copyright (C) 2012 The Android Open Source Project
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,9 +16,12 @@
 
 #pragma once
 
-#include <string>
-
-class HeaderDatabase;
-
-bool preprocessHeaders(const std::string& preprocessor_output_path, const std::string& source_dir,
-                       HeaderDatabase* database);
+// From <benchmark/benchmark.h>.
+template <class Tp>
+static inline void DoNotOptimize(Tp const& value) {
+  asm volatile("" : : "r,m"(value) : "memory");
+}
+template <class Tp>
+static inline void DoNotOptimize(Tp& value) {
+  asm volatile("" : "+r,m"(value) : : "memory");
+}
diff --git a/tests/NOTICE b/tests/NOTICE
index cc99d20..de95698 100644
--- a/tests/NOTICE
+++ b/tests/NOTICE
@@ -454,3 +454,31 @@
 
 -------------------------------------------------------------------
 
+Copyright (C) 2024 The Android Open Source Project
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+ * Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in
+   the documentation and/or other materials provided with the
+   distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
+
+-------------------------------------------------------------------
+
diff --git a/tests/__cxa_demangle_test.cpp b/tests/__cxa_demangle_test.cpp
index d400619..e13410c 100644
--- a/tests/__cxa_demangle_test.cpp
+++ b/tests/__cxa_demangle_test.cpp
@@ -28,11 +28,39 @@
 
 #include <cxxabi.h>
 #include <gtest/gtest.h>
+#include <string.h>
 
 TEST(__cxa_demangle, cxa_demangle_fuzz_152588929) {
 #if defined(__aarch64__)
+  // Test the C++ demangler on an invalid mangled string. libc++abi currently
+  // parses it like so:
+  //    (1 "\006") (I (L e "eeEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE" E) E)
+  // There are a few interesting things about this mangled input:
+  //  - The IA64 C++ ABI specifies that an FP literal's hex chars are lowercase.
+  //    The libc++abi demangler currently accepts uppercase A-F digits, which is
+  //    confusing because 'E' is supposed to mark the end of the <expr-primary>.
+  //  - libc++abi uses snprintf("%a") which puts an unspecified number of bits
+  //    in the digit before the decimal point.
+  //  - The identifier name is "\006", and the IA64 C++ ABI spec is explicit
+  //    about not specifying the encoding for characters outside of
+  //    [_A-Za-z0-9].
+  //  - The 'e' type is documented as "long double, __float80", and in practice
+  //    the length of the literal depends on the arch. For arm64, it is a
+  //    128-bit FP type encoded using 32 hex chars. The situation with x86-64
+  //    Android OTOH is messy because Clang uses 'g' for its 128-bit
+  //    long double.
   char* p = abi::__cxa_demangle("1\006ILeeeEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE", 0, 0, 0);
-  ASSERT_STREQ("\x6<-0x1.cecececececececececececececep+11983", p);
+  if (p && !strcmp(p, "\x6<-0x1.cecececececececececececececep+11983")) {
+    // Prior to llvm.org/D77924, libc++abi left off the "L>" suffix.
+  } else if (p && !strcmp(p, "\x6<-0x1.cecececececececececececececep+11983L>")) {
+    // After llvm.org/D77924, the "L>" suffix is present. libc++abi
+    // accepts A-F digits but decodes each using (digit - 'a' + 10), turning 'E'
+    // into -18.
+  } else {
+    // TODO: Remove the other accepted outputs, because libc++abi probably
+    // should reject this input.
+    ASSERT_EQ(nullptr, p) << p;
+  }
   free(p);
 #endif
 }
diff --git a/tests/android_get_device_api_level.cpp b/tests/android_get_device_api_level.cpp
index 9bd6b3a..2e51022 100644
--- a/tests/android_get_device_api_level.cpp
+++ b/tests/android_get_device_api_level.cpp
@@ -28,12 +28,12 @@
 
 #include <gtest/gtest.h>
 
-#if __BIONIC__
+#if __has_include(<android/api-level.h>)
 #include <android/api-level.h>
 #endif
 
 TEST(android_get_device_api_level, smoke) {
-#if __BIONIC__
+#if defined(__BIONIC__)
   // This will fail if you run the tests on an old device, but who does that?
   ASSERT_GE(android_get_device_api_level(), 29);
 #endif
diff --git a/tests/async_safe_test.cpp b/tests/async_safe_test.cpp
index dc4db07..ffb8651 100644
--- a/tests/async_safe_test.cpp
+++ b/tests/async_safe_test.cpp
@@ -45,6 +45,15 @@
   async_safe_format_buffer(buf, sizeof(buf), "aa%scc", "bb");
   EXPECT_STREQ("aabbcc", buf);
 
+  async_safe_format_buffer(buf, sizeof(buf), "a%bb", 1234);
+  EXPECT_STREQ("a10011010010b", buf);
+
+  async_safe_format_buffer(buf, sizeof(buf), "a%#bb", 1234);
+  EXPECT_STREQ("a0b10011010010b", buf);
+
+  async_safe_format_buffer(buf, sizeof(buf), "a%#Bb", 1234);
+  EXPECT_STREQ("a0B10011010010b", buf);
+
   async_safe_format_buffer(buf, sizeof(buf), "a%cc", 'b');
   EXPECT_STREQ("abc", buf);
 
@@ -70,15 +79,33 @@
   async_safe_format_buffer(buf, sizeof(buf), "a%mZ");
   EXPECT_STREQ("aInvalid argumentZ", buf);
 
+#if __ANDROID_API_LEVEL__ >= 35
+  errno = EINVAL;
+  async_safe_format_buffer(buf, sizeof(buf), "a%#mZ");
+  EXPECT_STREQ("aEINVALZ", buf);
+#endif
+
+#if __ANDROID_API_LEVEL__ >= 35
+  errno = -1;
+  async_safe_format_buffer(buf, sizeof(buf), "a%#mZ");
+  EXPECT_STREQ("a-1Z", buf);
+#endif
+
   async_safe_format_buffer(buf, sizeof(buf), "a%pb", reinterpret_cast<void*>(0xb0001234));
   EXPECT_STREQ("a0xb0001234b", buf);
 
   async_safe_format_buffer(buf, sizeof(buf), "a%xz", 0x12ab);
   EXPECT_STREQ("a12abz", buf);
 
+  async_safe_format_buffer(buf, sizeof(buf), "a%#xz", 0x12ab);
+  EXPECT_STREQ("a0x12abz", buf);
+
   async_safe_format_buffer(buf, sizeof(buf), "a%Xz", 0x12ab);
   EXPECT_STREQ("a12ABz", buf);
 
+  async_safe_format_buffer(buf, sizeof(buf), "a%#Xz", 0x12ab);
+  EXPECT_STREQ("a0X12ABz", buf);
+
   async_safe_format_buffer(buf, sizeof(buf), "a%08xz", 0x123456);
   EXPECT_STREQ("a00123456z", buf);
 
diff --git a/tests/bionic_allocator_test.cpp b/tests/bionic_allocator_test.cpp
index fdcf868..d543d26 100644
--- a/tests/bionic_allocator_test.cpp
+++ b/tests/bionic_allocator_test.cpp
@@ -238,23 +238,27 @@
 TEST(bionic_allocator, test_memalign_large) {
   BionicAllocator allocator;
   void* ptr;
+  size_t alignment;
 
-  // a large object with alignment < PAGE_SIZE
-  ptr = allocator.memalign(0x100, 0x2000);
+  // a large object with alignment < kPageSize
+  alignment = kPageSize >> 1;
+  ptr = allocator.memalign(alignment, 0x2000);
   ASSERT_TRUE(ptr != nullptr);
-  ASSERT_EQ(0U, reinterpret_cast<uintptr_t>(ptr) % 0x100);
+  ASSERT_EQ(0U, reinterpret_cast<uintptr_t>(ptr) % alignment);
   allocator.free(ptr);
 
-  // a large object with alignment == PAGE_SIZE
-  ptr = allocator.memalign(0x1000, 0x2000);
+  // a large object with alignment == kPageSize
+  alignment = kPageSize;
+  ptr = allocator.memalign(alignment, 0x2000);
   ASSERT_TRUE(ptr != nullptr);
-  ASSERT_EQ(0U, reinterpret_cast<uintptr_t>(ptr) % 0x1000);
+  ASSERT_EQ(0U, reinterpret_cast<uintptr_t>(ptr) % alignment);
   allocator.free(ptr);
 
-  // A large object with alignment > PAGE_SIZE is only guaranteed to have page
+  // A large object with alignment > kPageSize is only guaranteed to have page
   // alignment.
-  ptr = allocator.memalign(0x2000, 0x4000);
+  alignment = kPageSize << 1;
+  ptr = allocator.memalign(alignment, 0x4000);
   ASSERT_TRUE(ptr != nullptr);
-  ASSERT_EQ(0U, reinterpret_cast<uintptr_t>(ptr) % 0x1000);
+  ASSERT_EQ(0U, reinterpret_cast<uintptr_t>(ptr) % kPageSize);
   allocator.free(ptr);
 }
diff --git a/tests/cfi_test.cpp b/tests/cfi_test.cpp
index 1c45946..79a9e35 100644
--- a/tests/cfi_test.cpp
+++ b/tests/cfi_test.cpp
@@ -70,21 +70,8 @@
   struct sigaction64 previous_sigtrap_;
 };
 
-static bool KilledByCfi(int status) {
-  return WIFSIGNALED(status) &&
-         (WTERMSIG(status) == SIGTRAP || WTERMSIG(status) == SIGILL || WTERMSIG(status) == SIGSEGV);
-}
-
 static void f() {}
 
-static void test_cfi_slowpath_with_alloc() {
-  std::vector<void*> allocs;
-  for (size_t i = 0; i < 1000; i++) {
-    allocs.push_back(malloc(4096));
-    __cfi_slowpath(46, allocs.back());
-  }
-}
-
 TEST_F(cfi_test_DeathTest, basic) {
 #if defined(__BIONIC__)
   void* handle;
@@ -135,12 +122,6 @@
   EXPECT_EQ(get_global_address(), get_last_address());
   EXPECT_EQ(c, get_count());
 
-  // CFI check for a heap address.
-  // It's possible that this allocation could wind up in the same CFI granule as
-  // an unchecked library, which means the below might not crash. To force a
-  // crash keep allocating up to a max until there is a crash.
-  EXPECT_EXIT(test_cfi_slowpath_with_alloc(), KilledByCfi, "");
-
   // Check all the addresses.
   const size_t bss_size = 1024 * 1024;
   static_assert(bss_size >= kLibraryAlignment * 2, "test range not big enough");
@@ -162,10 +143,6 @@
 
   dlclose(handle);
   dlclose(handle2);
-
-  // CFI check for a function inside the unloaded DSO. This is always invalid and gets the process
-  // killed.
-  EXPECT_EXIT(__cfi_slowpath(45, reinterpret_cast<void*>(code_ptr)), KilledByCfi, "");
 #endif
 }
 
@@ -183,8 +160,7 @@
 // cfi_test_helper exports __cfi_check, which triggers CFI initialization at startup.
 TEST(cfi_test, early_init) {
 #if defined(__BIONIC__)
-  std::string helper = GetTestlibRoot() + "/cfi_test_helper";
-  chmod(helper.c_str(), 0755); // TODO: "x" lost in CTS, b/34945607
+  std::string helper = GetTestLibRoot() + "/cfi_test_helper";
   ExecTestHelper eth;
   eth.SetArgs({ helper.c_str(), nullptr });
   eth.Run([&]() { execve(helper.c_str(), eth.GetArgs(), eth.GetEnv()); }, 0, nullptr);
@@ -195,8 +171,7 @@
 // at startup.
 TEST(cfi_test, early_init2) {
 #if defined(__BIONIC__)
-  std::string helper = GetTestlibRoot() + "/cfi_test_helper2";
-  chmod(helper.c_str(), 0755); // TODO: "x" lost in CTS, b/34945607
+  std::string helper = GetTestLibRoot() + "/cfi_test_helper2";
   ExecTestHelper eth;
   eth.SetArgs({ helper.c_str(), nullptr });
   eth.Run([&]() { execve(helper.c_str(), eth.GetArgs(), eth.GetEnv()); }, 0, nullptr);
diff --git a/tests/clang_fortify_asan.cpp b/tests/clang_fortify_asan.cpp
deleted file mode 100644
index 51656eb..0000000
--- a/tests/clang_fortify_asan.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * This test ensures that ensures that FORTIFY's run-time bits aren't enabled with ASAN on. Most
- * ways of getting FORTIFY to break turn into UB unless you get creative. Rather than remaking the
- * entire FORTIFY test-suite with this added constraint, we pick a function with well-defined
- * behavior when a FORTIFY check would fail (umask), and hope that the success of that is indicative
- * of the rest working.
- */
-
-#ifndef __clang__
-#error "Non-clang isn't supported"
-#endif
-
-#ifndef _FORTIFY_SOURCE
-#error "_FORTIFY_SOURCE must be defined"
-#endif
-
-#include <sys/cdefs.h>
-
-#if defined(__BIONIC__) && __has_feature(address_sanitizer)
-#include <sys/stat.h>
-#include <gtest/gtest.h>
-
-TEST(ClangFortifyASAN, NoRuntimeChecksAreEnabled) {
-  volatile mode_t unknown = 01000;
-  mode_t previous = umask(unknown);
-
-  // Not necessary, but polite.
-  umask(previous);
-}
-#endif
diff --git a/libc/bionic/strnlen.c b/tests/clang_fortify_c_only_tests.c
similarity index 79%
copy from libc/bionic/strnlen.c
copy to tests/clang_fortify_c_only_tests.c
index 2c6f60a..3bec848 100644
--- a/libc/bionic/strnlen.c
+++ b/tests/clang_fortify_c_only_tests.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,14 +25,14 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
+
 #include <string.h>
 
-size_t  strnlen(const char*  str, size_t  maxlen)
-{
-    char*  p = memchr(str, 0, maxlen);
+// This is a test specifically of bionic's FORTIFY machinery. Other stdlibs need not apply.
+#ifdef __BIONIC__
 
-    if (p == NULL)
-        return maxlen;
-    else
-        return (p - str);
-}
+// Ensure that strlen can be evaluated at compile-time. Clang doesn't support
+// this in C++, but does in C.
+_Static_assert(strlen("foo") == 3, "");
+
+#endif  // __BIONIC__
diff --git a/tests/clang_fortify_tests.cpp b/tests/clang_fortify_tests.cpp
index 544af43..da7926d 100644
--- a/tests/clang_fortify_tests.cpp
+++ b/tests/clang_fortify_tests.cpp
@@ -14,10 +14,6 @@
  * limitations under the License.
  */
 
-#ifndef __clang__
-#error "Non-clang isn't supported"
-#endif
-
 //
 // Clang compile-time and run-time tests for Bionic's FORTIFY.
 //
@@ -93,6 +89,10 @@
 #include <unistd.h>
 #include <wchar.h>
 
+#include <array>
+
+#include "DoNotOptimize.h"
+
 #ifndef COMPILATION_TESTS
 #include <android-base/silent_death_test.h>
 #include <gtest/gtest.h>
@@ -137,6 +137,24 @@
 
 const static int kBogusFD = -1;
 
+FORTIFY_TEST(strlen) {
+  auto run_strlen_with_contents = [&](std::array<char, 3> contents) {
+    // A lot of cruft is necessary to make this test DTRT. LLVM and Clang love to fold/optimize
+    // strlen calls, and that's the opposite of what we want to happen.
+
+    // Loop to convince LLVM that `contents` can never be known (since `xor volatile_value` can flip
+    // any bit in each elem of `contents`).
+    volatile char always_zero = 0;
+    for (char& c : contents) {
+      c ^= always_zero;
+    }
+    DoNotOptimize(strlen(&contents.front()));
+  };
+
+  EXPECT_NO_DEATH(run_strlen_with_contents({'f', 'o', '\0'}));
+  EXPECT_FORTIFY_DEATH(run_strlen_with_contents({'f', 'o', 'o'}));
+}
+
 FORTIFY_TEST(string) {
   char small_buffer[8] = {};
 
@@ -164,9 +182,7 @@
     const char large_string[] = "Hello!!!";
     static_assert(sizeof(large_string) > sizeof(small_buffer), "");
 
-#if __clang_major__ > 13
-    // expected-error@+3{{will always overflow}}
-#endif
+    // expected-error@+2{{will always overflow}}
     // expected-error@+1{{string bigger than buffer}}
     EXPECT_FORTIFY_DEATH(strcpy(small_buffer, large_string));
     // expected-error@+1{{string bigger than buffer}}
@@ -204,9 +220,7 @@
     static_assert(sizeof(small_string) > sizeof(split.tiny_buffer), "");
 
 #if _FORTIFY_SOURCE > 1
-#if __clang_major__ > 13
-    // expected-error@+4{{will always overflow}}
-#endif
+    // expected-error@+3{{will always overflow}}
     // expected-error@+2{{string bigger than buffer}}
 #endif
     EXPECT_FORTIFY_DEATH_STRUCT(strcpy(split.tiny_buffer, small_string));
diff --git a/tests/complex_force_long_double_test.cpp b/tests/complex_force_long_double_test.cpp
deleted file mode 100644
index 2ea7bd4..0000000
--- a/tests/complex_force_long_double_test.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-#define __BIONIC_LP32_USE_LONG_DOUBLE
-#include "complex_test.cpp"
diff --git a/tests/complex_test.cpp b/tests/complex_test.cpp
index f015b2c..ed0109a 100644
--- a/tests/complex_test.cpp
+++ b/tests/complex_test.cpp
@@ -14,20 +14,14 @@
  * limitations under the License.
  */
 
-#if defined(__BIONIC_LP32_USE_LONG_DOUBLE)
-#define COMPLEX_TEST complex_h_force_long_double
-#else
-#define COMPLEX_TEST complex_h
-#endif
-
 // This file is compiled against both glibc and bionic, and our complex.h
 // depends on bionic-specific macros, so hack around that.
 #include <sys/cdefs.h>
 #if !defined(__INTRODUCED_IN)
 #define __INTRODUCED_IN(x)
-#define __INTRODUCED_IN_32(x)
-#define __INTRODUCED_IN_64(x)
-#define __RENAME_LDBL(a,b,c)
+#endif
+#if !defined(__BIONIC_AVAILABILITY_GUARD)
+#define __BIONIC_AVAILABILITY_GUARD(x) 1
 #endif
 
 // libc++ actively gets in the way of including <complex.h> from C++, so we
@@ -41,7 +35,11 @@
 #include <math.h> // For M_PI_2/M_PI_2l.
 
 // Prettify gtest Complex printing.
+// Macro 'complex' defined in complex.h conflicts with iostream.
+#pragma push_macro("complex")
+#undef complex
 #include <iostream>
+#pragma pop_macro("complex")
 namespace testing {
 namespace internal {
 inline void PrintTo(const double _Complex& c, std::ostream* os) {
@@ -62,259 +60,259 @@
 #include <gtest/gtest.h>
 #pragma pop_macro("I")
 
-TEST(COMPLEX_TEST, cabs) {
+TEST(complex_h, cabs) {
   ASSERT_EQ(0.0, cabs(0));
 }
 
-TEST(COMPLEX_TEST, cabsf) {
+TEST(complex_h, cabsf) {
   ASSERT_EQ(0.0, cabsf(0));
 }
 
-TEST(COMPLEX_TEST, cabsl) {
+TEST(complex_h, cabsl) {
   ASSERT_EQ(0.0, cabsl(0));
 }
 
-TEST(COMPLEX_TEST, cacos) {
+TEST(complex_h, cacos) {
   ASSERT_EQ(M_PI_2, cacos(0.0));
 }
 
-TEST(COMPLEX_TEST, cacosf) {
+TEST(complex_h, cacosf) {
   ASSERT_EQ(static_cast<float>(M_PI_2), cacosf(0.0));
 }
 
-TEST(COMPLEX_TEST, cacosl) {
+TEST(complex_h, cacosl) {
   ASSERT_EQ(M_PI_2l, cacosl(0.0));
 }
 
-TEST(COMPLEX_TEST, cacosh) {
+TEST(complex_h, cacosh) {
   ASSERT_EQ(0.0, cacosh(1.0));
 }
 
-TEST(COMPLEX_TEST, cacoshl) {
+TEST(complex_h, cacoshl) {
   ASSERT_EQ(0.0, cacoshl(1.0));
 }
 
-TEST(COMPLEX_TEST, cacoshf) {
+TEST(complex_h, cacoshf) {
   ASSERT_EQ(0.0, cacoshf(1.0));
 }
 
-TEST(COMPLEX_TEST, carg) {
+TEST(complex_h, carg) {
   ASSERT_EQ(0.0, carg(0));
 }
 
-TEST(COMPLEX_TEST, cargf) {
+TEST(complex_h, cargf) {
   ASSERT_EQ(0.0, cargf(0));
 }
 
-TEST(COMPLEX_TEST, cargl) {
+TEST(complex_h, cargl) {
   ASSERT_EQ(0.0, cargl(0));
 }
 
-TEST(COMPLEX_TEST, casin) {
+TEST(complex_h, casin) {
   ASSERT_EQ(0.0, casin(0));
 }
 
-TEST(COMPLEX_TEST, casinf) {
+TEST(complex_h, casinf) {
   ASSERT_EQ(0.0, casinf(0));
 }
 
-TEST(COMPLEX_TEST, casinl) {
+TEST(complex_h, casinl) {
   ASSERT_EQ(0.0, casinl(0));
 }
 
-TEST(COMPLEX_TEST, casinh) {
+TEST(complex_h, casinh) {
   ASSERT_EQ(0.0, casinh(0));
 }
 
-TEST(COMPLEX_TEST, casinhf) {
+TEST(complex_h, casinhf) {
   ASSERT_EQ(0.0, casinhf(0));
 }
 
-TEST(COMPLEX_TEST, casinhl) {
+TEST(complex_h, casinhl) {
   ASSERT_EQ(0.0, casinhl(0));
 }
 
-TEST(COMPLEX_TEST, catan) {
+TEST(complex_h, catan) {
   ASSERT_EQ(0.0, catan(0));
 }
 
-TEST(COMPLEX_TEST, catanf) {
+TEST(complex_h, catanf) {
   ASSERT_EQ(0.0, catanf(0));
 }
 
-TEST(COMPLEX_TEST, catanl) {
+TEST(complex_h, catanl) {
   ASSERT_EQ(0.0, catanl(0));
 }
 
-TEST(COMPLEX_TEST, catanh) {
+TEST(complex_h, catanh) {
   ASSERT_EQ(0.0, catanh(0));
 }
 
-TEST(COMPLEX_TEST, catanhf) {
+TEST(complex_h, catanhf) {
   ASSERT_EQ(0.0, catanhf(0));
 }
 
-TEST(COMPLEX_TEST, catanhl) {
+TEST(complex_h, catanhl) {
   ASSERT_EQ(0.0, catanhl(0));
 }
 
-TEST(COMPLEX_TEST, ccos) {
+TEST(complex_h, ccos) {
   ASSERT_EQ(1.0, ccos(0));
 }
 
-TEST(COMPLEX_TEST, ccosf) {
+TEST(complex_h, ccosf) {
   ASSERT_EQ(1.0, ccosf(0));
 }
 
-TEST(COMPLEX_TEST, ccosl) {
+TEST(complex_h, ccosl) {
   ASSERT_EQ(1.0, ccosl(0));
 }
 
-TEST(COMPLEX_TEST, ccosh) {
+TEST(complex_h, ccosh) {
   ASSERT_EQ(1.0, ccosh(0));
 }
 
-TEST(COMPLEX_TEST, ccoshf) {
+TEST(complex_h, ccoshf) {
   ASSERT_EQ(1.0, ccoshf(0));
 }
 
-TEST(COMPLEX_TEST, ccoshl) {
+TEST(complex_h, ccoshl) {
   ASSERT_EQ(1.0, ccoshl(0));
 }
 
-TEST(COMPLEX_TEST, cexp) {
+TEST(complex_h, cexp) {
   ASSERT_EQ(1.0, cexp(0));
 }
 
-TEST(COMPLEX_TEST, cexpf) {
+TEST(complex_h, cexpf) {
   ASSERT_EQ(1.0, cexpf(0));
 }
 
-TEST(COMPLEX_TEST, cexpl) {
+TEST(complex_h, cexpl) {
   ASSERT_EQ(1.0, cexpl(0));
 }
 
-TEST(COMPLEX_TEST, cimag) {
+TEST(complex_h, cimag) {
   ASSERT_EQ(0.0, cimag(0));
 }
 
-TEST(COMPLEX_TEST, cimagf) {
+TEST(complex_h, cimagf) {
   ASSERT_EQ(0.0f, cimagf(0));
 }
 
-TEST(COMPLEX_TEST, cimagl) {
+TEST(complex_h, cimagl) {
   ASSERT_EQ(0.0, cimagl(0));
 }
 
-TEST(COMPLEX_TEST, clog) {
+TEST(complex_h, clog) {
   ASSERT_EQ(0.0, clog(1.0));
 }
 
-TEST(COMPLEX_TEST, clogf) {
+TEST(complex_h, clogf) {
   ASSERT_EQ(0.0f, clogf(1.0f));
 }
 
-TEST(COMPLEX_TEST, clogl) {
+TEST(complex_h, clogl) {
   ASSERT_EQ(0.0L, clogl(1.0L));
 }
 
-TEST(COMPLEX_TEST, conj) {
+TEST(complex_h, conj) {
   ASSERT_EQ(0.0, conj(0));
 }
 
-TEST(COMPLEX_TEST, conjf) {
+TEST(complex_h, conjf) {
   ASSERT_EQ(0.0f, conjf(0));
 }
 
-TEST(COMPLEX_TEST, conjl) {
+TEST(complex_h, conjl) {
   ASSERT_EQ(0.0, conjl(0));
 }
 
-TEST(COMPLEX_TEST, cpow) {
+TEST(complex_h, cpow) {
   ASSERT_EQ(8.0, cpow(2.0, 3.0));
 }
 
-TEST(COMPLEX_TEST, cpowf) {
+TEST(complex_h, cpowf) {
   ASSERT_EQ(8.0f, cpowf(2.0f, 3.0f));
 }
 
-TEST(COMPLEX_TEST, cpowl) {
+TEST(complex_h, cpowl) {
   ASSERT_EQ(8.0L, cpowl(2.0L, 3.0L));
 }
 
-TEST(COMPLEX_TEST, cproj) {
+TEST(complex_h, cproj) {
   ASSERT_EQ(0.0, cproj(0));
 }
 
-TEST(COMPLEX_TEST, cprojf) {
+TEST(complex_h, cprojf) {
   ASSERT_EQ(0.0f, cprojf(0));
 }
 
-TEST(COMPLEX_TEST, cprojl) {
+TEST(complex_h, cprojl) {
   ASSERT_EQ(0.0, cprojl(0));
 }
 
-TEST(COMPLEX_TEST, creal) {
+TEST(complex_h, creal) {
   ASSERT_EQ(2.0, creal(2.0 + 3.0I));
 }
 
-TEST(COMPLEX_TEST, crealf) {
+TEST(complex_h, crealf) {
   ASSERT_EQ(2.0f, crealf(2.0f + 3.0fI));
 }
 
-TEST(COMPLEX_TEST, creall) {
+TEST(complex_h, creall) {
   ASSERT_EQ(2.0, creall(2.0L + 3.0LI));
 }
 
-TEST(COMPLEX_TEST, csin) {
+TEST(complex_h, csin) {
   ASSERT_EQ(0.0, csin(0));
 }
 
-TEST(COMPLEX_TEST, csinf) {
+TEST(complex_h, csinf) {
   ASSERT_EQ(0.0, csinf(0));
 }
 
-TEST(COMPLEX_TEST, csinl) {
+TEST(complex_h, csinl) {
   ASSERT_EQ(0.0, csinl(0));
 }
 
-TEST(COMPLEX_TEST, csinh) {
+TEST(complex_h, csinh) {
   ASSERT_EQ(0.0, csinh(0));
 }
 
-TEST(COMPLEX_TEST, csinhf) {
+TEST(complex_h, csinhf) {
   ASSERT_EQ(0.0, csinhf(0));
 }
 
-TEST(COMPLEX_TEST, csinhl) {
+TEST(complex_h, csinhl) {
   ASSERT_EQ(0.0, csinhl(0));
 }
 
-TEST(COMPLEX_TEST, csqrt) {
+TEST(complex_h, csqrt) {
   ASSERT_EQ(0.0, csqrt(0));
 }
 
-TEST(COMPLEX_TEST, csqrtf) {
+TEST(complex_h, csqrtf) {
   ASSERT_EQ(0.0f, csqrtf(0));
 }
 
-TEST(COMPLEX_TEST, csqrtl) {
+TEST(complex_h, csqrtl) {
   ASSERT_EQ(0.0, csqrtl(0));
 }
 
-TEST(COMPLEX_TEST, ctan) {
+TEST(complex_h, ctan) {
   ASSERT_EQ(0.0, ctan(0));
 }
 
-TEST(COMPLEX_TEST, ctanf) {
+TEST(complex_h, ctanf) {
   ASSERT_EQ(0.0, ctanf(0));
 }
 
-TEST(COMPLEX_TEST, ctanl) {
+TEST(complex_h, ctanl) {
   ASSERT_EQ(0.0, ctanl(0));
 }
 
-TEST(COMPLEX_TEST, ctanh) {
+TEST(complex_h, ctanh) {
   ASSERT_EQ(0.0, ctanh(0));
 
   double complex z;
@@ -335,7 +333,7 @@
   ASSERT_TRUE(isnan(cimag(z)));
 }
 
-TEST(COMPLEX_TEST, ctanhf) {
+TEST(complex_h, ctanhf) {
   ASSERT_EQ(0.0f, ctanhf(0.0f));
 
   float complex z;
@@ -356,7 +354,7 @@
   ASSERT_TRUE(isnan(cimagf(z)));
 }
 
-TEST(COMPLEX_TEST, ctanhl) {
+TEST(complex_h, ctanhl) {
   ASSERT_EQ(0.0L, ctanhl(0.0L));
 
   long double complex z;
diff --git a/libm/fenv-access.h b/tests/cpu_target_features_test.cpp
similarity index 60%
copy from libm/fenv-access.h
copy to tests/cpu_target_features_test.cpp
index 7acb34d..d773772 100644
--- a/libm/fenv-access.h
+++ b/tests/cpu_target_features_test.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,8 +26,31 @@
  * SUCH DAMAGE.
  */
 
-#pragma once
+#include <gtest/gtest.h>
+#include <stdlib.h>
 
+#include "utils.h"
+
+TEST(cpu_target_features, has_expected_x86_compiler_values) {
 #if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
+  ExecTestHelper eth;
+  char* const argv[] = {nullptr};
+  const auto invocation = [&] { execvp("cpu-target-features", argv); };
+  eth.Run(invocation, 0, "(^|\n)__AES__=1($|\n)");
+  eth.Run(invocation, 0, "(^|\n)__CRC32__=1($|\n)");
+#else
+  GTEST_SKIP() << "Not targeting an x86 architecture.";
 #endif
+}
+
+TEST(cpu_target_features, has_expected_aarch64_compiler_values) {
+#if defined(__aarch64__)
+  ExecTestHelper eth;
+  char* const argv[] = {nullptr};
+  const auto invocation = [&] { execvp("cpu-target-features", argv); };
+  eth.Run(invocation, 0, "(^|\n)__ARM_FEATURE_AES=1($|\n)");
+  eth.Run(invocation, 0, "(^|\n)__ARM_FEATURE_CRC32=1($|\n)");
+#else
+  GTEST_SKIP() << "Not targeting an aarch64 architecture.";
+#endif
+}
diff --git a/tests/ctype_test.cpp b/tests/ctype_test.cpp
index 826d39a..18fbfc0 100644
--- a/tests/ctype_test.cpp
+++ b/tests/ctype_test.cpp
@@ -293,40 +293,57 @@
 }
 
 TEST(ctype, toascii) {
-  EXPECT_EQ('a', toascii('a'));
-  EXPECT_EQ('a', toascii(0x80 | 'a'));
+  // POSIX explicitly says that toascii() returns (c & 0x7f),
+  // so there's no EOF-preserving behavior here and we start from 0.
+  for (int i = 0; i < kMax; ++i) {
+    if (i <= 0x7f) {
+      EXPECT_EQ(i, toascii(i));
+    } else {
+      EXPECT_EQ(i & 0x7f, toascii(i));
+    }
+  }
 }
 
 TEST(ctype, tolower) {
   EXPECT_EQ('!', tolower('!'));
   EXPECT_EQ('a', tolower('a'));
   EXPECT_EQ('a', tolower('A'));
+  EXPECT_EQ('z', tolower('z'));
+  EXPECT_EQ('z', tolower('Z'));
 }
 
 TEST(ctype, tolower_l) {
   EXPECT_EQ('!', tolower_l('!', LC_GLOBAL_LOCALE));
   EXPECT_EQ('a', tolower_l('a', LC_GLOBAL_LOCALE));
   EXPECT_EQ('a', tolower_l('A', LC_GLOBAL_LOCALE));
+  EXPECT_EQ('z', tolower_l('z', LC_GLOBAL_LOCALE));
+  EXPECT_EQ('z', tolower_l('Z', LC_GLOBAL_LOCALE));
 }
 
 TEST(ctype, _tolower) {
   // _tolower may mangle characters for which isupper is false.
   EXPECT_EQ('a', _tolower('A'));
+  EXPECT_EQ('z', _tolower('Z'));
 }
 
 TEST(ctype, toupper) {
   EXPECT_EQ('!', toupper('!'));
   EXPECT_EQ('A', toupper('a'));
   EXPECT_EQ('A', toupper('A'));
+  EXPECT_EQ('Z', toupper('z'));
+  EXPECT_EQ('Z', toupper('Z'));
 }
 
 TEST(ctype, toupper_l) {
   EXPECT_EQ('!', toupper_l('!', LC_GLOBAL_LOCALE));
   EXPECT_EQ('A', toupper_l('a', LC_GLOBAL_LOCALE));
   EXPECT_EQ('A', toupper_l('A', LC_GLOBAL_LOCALE));
+  EXPECT_EQ('Z', toupper_l('z', LC_GLOBAL_LOCALE));
+  EXPECT_EQ('Z', toupper_l('Z', LC_GLOBAL_LOCALE));
 }
 
 TEST(ctype, _toupper) {
   // _toupper may mangle characters for which islower is false.
   EXPECT_EQ('A', _toupper('a'));
+  EXPECT_EQ('Z', _toupper('z'));
 }
diff --git a/tests/dirent_test.cpp b/tests/dirent_test.cpp
index 3ea9cbd..cde2d11 100644
--- a/tests/dirent_test.cpp
+++ b/tests/dirent_test.cpp
@@ -29,13 +29,15 @@
 #include <set>
 #include <string>
 
+#include "utils.h"
+
 static void CheckProcSelf(std::set<std::string>& names) {
   // We have a good idea of what should be in /proc/self.
-  ASSERT_TRUE(names.find(".") != names.end());
-  ASSERT_TRUE(names.find("..") != names.end());
-  ASSERT_TRUE(names.find("cmdline") != names.end());
-  ASSERT_TRUE(names.find("fd") != names.end());
-  ASSERT_TRUE(names.find("stat") != names.end());
+  ASSERT_TRUE(names.contains("."));
+  ASSERT_TRUE(names.contains(".."));
+  ASSERT_TRUE(names.contains("cmdline"));
+  ASSERT_TRUE(names.contains("fd"));
+  ASSERT_TRUE(names.contains("stat"));
 }
 
 template <typename DirEntT>
@@ -124,7 +126,6 @@
 
 TEST(dirent, scandir_filter) {
   dirent** entries;
-  errno = 0;
   ASSERT_EQ(1, scandir("/proc", &entries, is_version_filter, nullptr));
   ASSERT_STREQ("version", entries[0]->d_name);
   free(entries);
@@ -134,14 +135,14 @@
   dirent** entries;
   errno = 0;
   ASSERT_EQ(-1, scandir("/does-not-exist", &entries, nullptr, nullptr));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 }
 
 TEST(dirent, scandir64_ENOENT) {
   dirent64** entries;
   errno = 0;
   ASSERT_EQ(-1, scandir64("/does-not-exist", &entries, nullptr, nullptr));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 }
 
 TEST(dirent, scandirat_ENOENT) {
@@ -151,7 +152,7 @@
   dirent** entries;
   errno = 0;
   ASSERT_EQ(-1, scandirat(root_fd, "does-not-exist", &entries, nullptr, nullptr));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
   close(root_fd);
 #else
   GTEST_SKIP() << "musl doesn't have scandirat or scandirat64";
@@ -165,7 +166,7 @@
   dirent64** entries;
   errno = 0;
   ASSERT_EQ(-1, scandirat64(root_fd, "does-not-exist", &entries, nullptr, nullptr));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
   close(root_fd);
 #else
   GTEST_SKIP() << "musl doesn't have scandirat or scandirat64";
@@ -174,12 +175,12 @@
 
 TEST(dirent, fdopendir_invalid) {
   ASSERT_TRUE(fdopendir(-1) == nullptr);
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 
   int fd = open("/dev/null", O_RDONLY);
   ASSERT_NE(fd, -1);
   ASSERT_TRUE(fdopendir(fd) == nullptr);
-  ASSERT_EQ(ENOTDIR, errno);
+  ASSERT_ERRNO(ENOTDIR);
   close(fd);
 }
 
@@ -193,15 +194,17 @@
 
   // fdopendir(3) took ownership, so closedir(3) closed our fd.
   ASSERT_EQ(close(fd), -1);
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 }
 
 TEST(dirent, opendir_invalid) {
+  errno = 0;
   ASSERT_TRUE(opendir("/does/not/exist") == nullptr);
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 
+  errno = 0;
   ASSERT_TRUE(opendir("/dev/null") == nullptr);
-  ASSERT_EQ(ENOTDIR, errno);
+  ASSERT_ERRNO(ENOTDIR);
 }
 
 TEST(dirent, opendir) {
@@ -215,7 +218,7 @@
 TEST(dirent, closedir_invalid) {
   DIR* d = nullptr;
   ASSERT_EQ(closedir(d), -1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(dirent, closedir) {
@@ -235,7 +238,7 @@
   }
   // Reading to the end of the directory is not an error.
   // readdir(3) returns NULL, but leaves errno as 0.
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   ASSERT_EQ(closedir(d), 0);
 
   CheckProcSelf(name_set);
@@ -252,7 +255,7 @@
   }
   // Reading to the end of the directory is not an error.
   // readdir64(3) returns NULL, but leaves errno as 0.
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   ASSERT_EQ(closedir(d), 0);
 
   CheckProcSelf(name_set);
@@ -270,7 +273,7 @@
   }
   // Reading to the end of the directory is not an error.
   // readdir_r(3) returns NULL, but leaves errno as 0.
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   ASSERT_EQ(closedir(d), 0);
 
   CheckProcSelf(name_set);
@@ -288,7 +291,7 @@
   }
   // Reading to the end of the directory is not an error.
   // readdir64_r(3) returns NULL, but leaves errno as 0.
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   ASSERT_EQ(closedir(d), 0);
 
   CheckProcSelf(name_set);
@@ -365,7 +368,7 @@
   ASSERT_EQ(end_offset, telldir(d));
   errno = 0;
   ASSERT_EQ(nullptr, readdir(d));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
 
   ASSERT_EQ(0, closedir(d));
 }
diff --git a/tests/dl_test.cpp b/tests/dl_test.cpp
index 2f3e905..e986af2 100644
--- a/tests/dl_test.cpp
+++ b/tests/dl_test.cpp
@@ -118,7 +118,7 @@
 TEST(dl, exec_linker_load_file) {
 #if defined(__BIONIC__)
   const char* path_to_linker = PathToLinker();
-  std::string helper = GetTestlibRoot() + "/exec_linker_helper";
+  std::string helper = GetTestLibRoot() + "/exec_linker_helper";
   std::string expected_output =
       "ctor: argc=1 argv[0]=" + helper + "\n" +
       "main: argc=1 argv[0]=" + helper + "\n" +
@@ -134,7 +134,7 @@
 TEST(dl, exec_linker_load_from_zip) {
 #if defined(__BIONIC__)
   const char* path_to_linker = PathToLinker();
-  std::string helper = GetTestlibRoot() +
+  std::string helper = GetTestLibRoot() +
       "/libdlext_test_zip/libdlext_test_zip_zipaligned.zip!/libdir/exec_linker_helper";
   std::string expected_output =
       "ctor: argc=1 argv[0]=" + helper + "\n" +
@@ -161,8 +161,7 @@
 TEST(dl, preinit_system_calls) {
 #if defined(__BIONIC__)
   SKIP_WITH_HWASAN << "hwasan not initialized in preinit_array, b/124007027";
-  std::string helper = GetTestlibRoot() + "/preinit_syscall_test_helper";
-  chmod(helper.c_str(), 0755); // TODO: "x" lost in CTS, b/34945607
+  std::string helper = GetTestLibRoot() + "/preinit_syscall_test_helper";
   ExecTestHelper eth;
   eth.SetArgs({ helper.c_str(), nullptr });
   eth.Run([&]() { execve(helper.c_str(), eth.GetArgs(), eth.GetEnv()); }, 0, nullptr);
@@ -172,8 +171,7 @@
 TEST(dl, preinit_getauxval) {
 #if defined(__BIONIC__)
   SKIP_WITH_HWASAN << "hwasan not initialized in preinit_array, b/124007027";
-  std::string helper = GetTestlibRoot() + "/preinit_getauxval_test_helper";
-  chmod(helper.c_str(), 0755); // TODO: "x" lost in CTS, b/34945607
+  std::string helper = GetTestLibRoot() + "/preinit_getauxval_test_helper";
   ExecTestHelper eth;
   eth.SetArgs({ helper.c_str(), nullptr });
   eth.Run([&]() { execve(helper.c_str(), eth.GetArgs(), eth.GetEnv()); }, 0, nullptr);
@@ -186,8 +184,7 @@
 
 TEST(dl, exec_without_ld_preload) {
 #if defined(__BIONIC__)
-  std::string helper = GetTestlibRoot() + "/ld_preload_test_helper";
-  chmod(helper.c_str(), 0755);
+  std::string helper = GetTestLibRoot() + "/ld_preload_test_helper";
   ExecTestHelper eth;
   eth.SetArgs({ helper.c_str(), nullptr });
   eth.Run([&]() { execve(helper.c_str(), eth.GetArgs(), eth.GetEnv()); }, 0, "12345");
@@ -196,9 +193,8 @@
 
 TEST(dl, exec_with_ld_preload) {
 #if defined(__BIONIC__)
-  std::string helper = GetTestlibRoot() + "/ld_preload_test_helper";
-  std::string env = std::string("LD_PRELOAD=") + GetTestlibRoot() + "/ld_preload_test_helper_lib2.so";
-  chmod(helper.c_str(), 0755);
+  std::string helper = GetTestLibRoot() + "/ld_preload_test_helper";
+  std::string env = std::string("LD_PRELOAD=") + GetTestLibRoot() + "/ld_preload_test_helper_lib2.so";
   ExecTestHelper eth;
   eth.SetArgs({ helper.c_str(), nullptr });
   eth.SetEnv({ env.c_str(), nullptr });
@@ -222,11 +218,10 @@
 // The two libs are in ns2/ subdir.
 TEST(dl, exec_without_ld_config_file) {
 #if defined(__BIONIC__)
-  std::string error_message = "CANNOT LINK EXECUTABLE \"" + GetTestlibRoot() +
+  std::string error_message = "CANNOT LINK EXECUTABLE \"" + GetTestLibRoot() +
                               "/ld_config_test_helper\": library \"ld_config_test_helper_lib1.so\" "
                               "not found: needed by main executable\n";
-  std::string helper = GetTestlibRoot() + "/ld_config_test_helper";
-  chmod(helper.c_str(), 0755);
+  std::string helper = GetTestLibRoot() + "/ld_config_test_helper";
   ExecTestHelper eth;
   eth.SetArgs({ helper.c_str(), nullptr });
   eth.Run([&]() { execve(helper.c_str(), eth.GetArgs(), eth.GetEnv()); }, EXIT_FAILURE, error_message.c_str());
@@ -240,15 +235,15 @@
   android_get_LD_LIBRARY_PATH(default_search_paths, sizeof(default_search_paths));
 
   std::ofstream fout(config_file, std::ios::out);
-  fout << "dir.test = " << GetTestlibRoot() << "/" << std::endl
+  fout << "dir.test = " << GetTestLibRoot() << "/" << std::endl
        << "[test]" << std::endl
        << "additional.namespaces = ns2" << std::endl
-       << "namespace.default.search.paths = " << GetTestlibRoot() << std::endl
+       << "namespace.default.search.paths = " << GetTestLibRoot() << std::endl
        << "namespace.default.links = ns2" << std::endl
        << "namespace.default.link.ns2.shared_libs = "
           "libc.so:libm.so:libdl.so:ld_config_test_helper_lib1.so"
        << std::endl
-       << "namespace.ns2.search.paths = " << default_search_paths << ":" << GetTestlibRoot()
+       << "namespace.ns2.search.paths = " << default_search_paths << ":" << GetTestLibRoot()
        << "/ns2" << std::endl;
   fout.close();
 }
@@ -279,11 +274,10 @@
   if (is_user_build()) {
     GTEST_SKIP() << "LD_CONFIG_FILE is not supported on user build";
   }
-  std::string helper = GetTestlibRoot() + "/ld_config_test_helper";
+  std::string helper = GetTestLibRoot() + "/ld_config_test_helper";
   TemporaryFile config_file;
   create_ld_config_file(config_file.path);
   std::string env = std::string("LD_CONFIG_FILE=") + config_file.path;
-  chmod(helper.c_str(), 0755);
   ExecTestHelper eth;
   eth.SetArgs({ helper.c_str(), nullptr });
   eth.SetEnv({ env.c_str(), nullptr });
@@ -315,12 +309,11 @@
   if (is_user_build()) {
     GTEST_SKIP() << "LD_CONFIG_FILE is not supported on user build";
   }
-  std::string helper = GetTestlibRoot() + "/ld_config_test_helper";
+  std::string helper = GetTestLibRoot() + "/ld_config_test_helper";
   TemporaryFile config_file;
   create_ld_config_file(config_file.path);
   std::string env = std::string("LD_CONFIG_FILE=") + config_file.path;
-  std::string env2 = std::string("LD_PRELOAD=") + GetTestlibRoot() + "/ld_config_test_helper_lib3.so";
-  chmod(helper.c_str(), 0755);
+  std::string env2 = std::string("LD_PRELOAD=") + GetTestLibRoot() + "/ld_config_test_helper_lib3.so";
   ExecTestHelper eth;
   eth.SetArgs({ helper.c_str(), nullptr });
   eth.SetEnv({ env.c_str(), env2.c_str(), nullptr });
@@ -353,14 +346,13 @@
   }
 
   std::string error_message =
-      std::string("CANNOT LINK EXECUTABLE ") + "\"" + GetTestlibRoot() +
+      std::string("CANNOT LINK EXECUTABLE ") + "\"" + GetTestLibRoot() +
       "/ld_config_test_helper\": " +
       "library \"ld_config_test_helper_lib1.so\" not found: needed by main executable\n";
-  std::string helper = GetTestlibRoot() + "/ld_config_test_helper";
+  std::string helper = GetTestLibRoot() + "/ld_config_test_helper";
   TemporaryFile config_file;
   create_ld_config_file(config_file.path);
   std::string env = std::string("LD_CONFIG_FILE=") + config_file.path;
-  chmod(helper.c_str(), 0755);
   ExecTestHelper eth;
   eth.SetArgs({ helper.c_str(), nullptr });
   eth.SetEnv({ env.c_str(), nullptr });
@@ -371,7 +363,7 @@
 static void RelocationsTest(const char* lib, const char* expectation) {
 #if defined(__BIONIC__)
   // Does readelf think the .so file looks right?
-  const std::string path = GetTestlibRoot() + "/" + lib;
+  const std::string path = GetTestLibRoot() + "/" + lib;
   ExecTestHelper eth;
   eth.SetArgs({ "readelf", "-SW", path.c_str(), nullptr });
   eth.Run([&]() { execvpe("readelf", eth.GetArgs(), eth.GetEnv()); }, 0, nullptr);
diff --git a/tests/dlext_test.cpp b/tests/dlext_test.cpp
index ea28822..8b26cb0 100644
--- a/tests/dlext_test.cpp
+++ b/tests/dlext_test.cpp
@@ -21,6 +21,7 @@
 #include <errno.h>
 #include <fcntl.h>
 #include <inttypes.h>
+#include <link.h>
 #include <stdio.h>
 #include <string.h>
 #include <unistd.h>
@@ -31,6 +32,7 @@
 #include <android-base/test_utils.h>
 
 #include <sys/mman.h>
+#include <sys/stat.h>
 #include <sys/types.h>
 #include <sys/vfs.h>
 #include <sys/wait.h>
@@ -39,11 +41,13 @@
 #include <procinfo/process_map.h>
 #include <ziparchive/zip_archive.h>
 
+#include "bionic/mte.h"
+#include "bionic/page.h"
 #include "core_shared_libs.h"
-#include "gtest_globals.h"
-#include "utils.h"
 #include "dlext_private.h"
 #include "dlfcn_symlink_support.h"
+#include "gtest_globals.h"
+#include "utils.h"
 
 #define ASSERT_DL_NOTNULL(ptr) \
     ASSERT_TRUE((ptr) != nullptr) << "dlerror: " << dlerror()
@@ -85,6 +89,7 @@
   }
 
   void* handle_;
+  const size_t kPageSize = getpagesize();
 };
 
 TEST_F(DlExtTest, ExtInfoNull) {
@@ -106,7 +111,7 @@
 }
 
 TEST_F(DlExtTest, ExtInfoUseFd) {
-  const std::string lib_path = GetTestlibRoot() + "/libdlext_test_fd/libdlext_test_fd.so";
+  const std::string lib_path = GetTestLibRoot() + "/libdlext_test_fd/libdlext_test_fd.so";
 
   android_dlextinfo extinfo;
   extinfo.flags = ANDROID_DLEXT_USE_LIBRARY_FD;
@@ -124,7 +129,7 @@
 }
 
 TEST_F(DlExtTest, ExtInfoUseFdWithOffset) {
-  const std::string lib_path = GetTestlibRoot() + "/libdlext_test_zip/libdlext_test_zip_zipaligned.zip";
+  const std::string lib_path = GetTestLibRoot() + "/libdlext_test_zip/libdlext_test_zip_zipaligned.zip";
 
   android_dlextinfo extinfo;
   extinfo.flags = ANDROID_DLEXT_USE_LIBRARY_FD | ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET;
@@ -147,7 +152,7 @@
 }
 
 TEST_F(DlExtTest, ExtInfoUseFdWithInvalidOffset) {
-  const std::string lib_path = GetTestlibRoot() + "/libdlext_test_zip/libdlext_test_zip_zipaligned.zip";
+  const std::string lib_path = GetTestLibRoot() + "/libdlext_test_zip/libdlext_test_zip_zipaligned.zip";
 
   android_dlextinfo extinfo;
   extinfo.flags = ANDROID_DLEXT_USE_LIBRARY_FD | ANDROID_DLEXT_USE_LIBRARY_FD_OFFSET;
@@ -159,12 +164,12 @@
   ASSERT_STREQ("dlopen failed: file offset for the library \"libname_placeholder\" is not page-aligned: 17", dlerror());
 
   // Test an address above 2^44, for http://b/18178121 .
-  extinfo.library_fd_offset = (5LL<<48) + PAGE_SIZE;
+  extinfo.library_fd_offset = (5LL << 48) + kPageSize;
   handle_ = android_dlopen_ext("libname_placeholder", RTLD_NOW, &extinfo);
   ASSERT_TRUE(handle_ == nullptr);
   ASSERT_SUBSTR("dlopen failed: file offset for the library \"libname_placeholder\" >= file size", dlerror());
 
-  extinfo.library_fd_offset = 0LL - PAGE_SIZE;
+  extinfo.library_fd_offset = 0LL - kPageSize;
   handle_ = android_dlopen_ext("libname_placeholder", RTLD_NOW, &extinfo);
   ASSERT_TRUE(handle_ == nullptr);
   ASSERT_SUBSTR("dlopen failed: file offset for the library \"libname_placeholder\" is negative", dlerror());
@@ -257,7 +262,7 @@
 
 TEST(dlfcn, dlopen_from_zip_absolute_path) {
   const std::string lib_zip_path = "/libdlext_test_zip/libdlext_test_zip_zipaligned.zip";
-  const std::string lib_path = GetTestlibRoot() + lib_zip_path;
+  const std::string lib_path = GetTestLibRoot() + lib_zip_path;
 
   void* handle = dlopen((lib_path + "!/libdir/libatest_simple_zip.so").c_str(), RTLD_NOW);
   ASSERT_TRUE(handle != nullptr) << dlerror();
@@ -271,7 +276,7 @@
 
 TEST(dlfcn, dlopen_from_zip_with_dt_runpath) {
   const std::string lib_zip_path = "/libdlext_test_runpath_zip/libdlext_test_runpath_zip_zipaligned.zip";
-  const std::string lib_path = GetTestlibRoot() + lib_zip_path;
+  const std::string lib_path = GetTestLibRoot() + lib_zip_path;
 
   void* handle = dlopen((lib_path + "!/libdir/libtest_dt_runpath_d_zip.so").c_str(), RTLD_NOW);
 
@@ -290,7 +295,7 @@
 
 TEST(dlfcn, dlopen_from_zip_ld_library_path) {
   const std::string lib_zip_path = "/libdlext_test_zip/libdlext_test_zip_zipaligned.zip";
-  const std::string lib_path = GetTestlibRoot() + lib_zip_path + "!/libdir";
+  const std::string lib_path = GetTestLibRoot() + lib_zip_path + "!/libdir";
 
   typedef void (*fn_t)(const char*);
   fn_t android_update_LD_LIBRARY_PATH =
@@ -340,17 +345,17 @@
   dlclose(handle_);
   handle_ = nullptr;
 
-  void* new_start = mmap(start, PAGE_SIZE, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+  void* new_start = mmap(start, kPageSize, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
   ASSERT_NE(start, new_start) << "dlclose unmapped reserved space";
 }
 
 TEST_F(DlExtTest, ReservedTooSmall) {
-  void* start = mmap(nullptr, PAGE_SIZE, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+  void* start = mmap(nullptr, kPageSize, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
   ASSERT_TRUE(start != MAP_FAILED);
   android_dlextinfo extinfo;
   extinfo.flags = ANDROID_DLEXT_RESERVED_ADDRESS;
   extinfo.reserved_addr = start;
-  extinfo.reserved_size = PAGE_SIZE;
+  extinfo.reserved_size = kPageSize;
   handle_ = android_dlopen_ext(kLibName, RTLD_NOW, &extinfo);
   EXPECT_EQ(nullptr, handle_);
 }
@@ -389,12 +394,12 @@
 }
 
 TEST_F(DlExtTest, ReservedRecursiveTooSmall) {
-  void* start = mmap(nullptr, PAGE_SIZE, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+  void* start = mmap(nullptr, kPageSize, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
   ASSERT_TRUE(start != MAP_FAILED);
   android_dlextinfo extinfo;
   extinfo.flags = ANDROID_DLEXT_RESERVED_ADDRESS | ANDROID_DLEXT_RESERVED_ADDRESS_RECURSIVE;
   extinfo.reserved_addr = start;
-  extinfo.reserved_size = PAGE_SIZE;
+  extinfo.reserved_size = kPageSize;
   handle_ = android_dlopen_ext(kLibNameRecursive, RTLD_NOW, &extinfo);
   EXPECT_EQ(nullptr, handle_);
 }
@@ -417,19 +422,18 @@
 }
 
 TEST_F(DlExtTest, ReservedHintTooSmall) {
-  void* start = mmap(nullptr, PAGE_SIZE, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+  void* start = mmap(nullptr, kPageSize, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
   ASSERT_TRUE(start != MAP_FAILED);
   android_dlextinfo extinfo;
   extinfo.flags = ANDROID_DLEXT_RESERVED_ADDRESS_HINT;
   extinfo.reserved_addr = start;
-  extinfo.reserved_size = PAGE_SIZE;
+  extinfo.reserved_size = kPageSize;
   handle_ = android_dlopen_ext(kLibName, RTLD_NOW, &extinfo);
   ASSERT_DL_NOTNULL(handle_);
   fn f = reinterpret_cast<fn>(dlsym(handle_, "getRandomNumber"));
   ASSERT_DL_NOTNULL(f);
   EXPECT_TRUE(reinterpret_cast<void*>(f) < start ||
-              (reinterpret_cast<void*>(f) >=
-               reinterpret_cast<char*>(start) + PAGE_SIZE));
+              (reinterpret_cast<void*>(f) >= reinterpret_cast<char*>(start) + kPageSize));
   EXPECT_EQ(4, f());
 }
 
@@ -742,7 +746,7 @@
                " \"(anonymous)\"->\"(default)\": the list of shared libraries is empty.",
                dlerror());
 
-  const std::string lib_public_path = GetTestlibRoot() + "/public_namespace_libs/" + g_public_lib;
+  const std::string lib_public_path = GetTestLibRoot() + "/public_namespace_libs/" + g_public_lib;
   void* handle_public = dlopen(lib_public_path.c_str(), RTLD_NOW);
   ASSERT_TRUE(handle_public != nullptr) << dlerror();
 
@@ -762,7 +766,7 @@
   android_namespace_t* ns1 =
           android_create_namespace("private",
                                    nullptr,
-                                   (GetTestlibRoot() + "/private_namespace_libs").c_str(),
+                                   (GetTestLibRoot() + "/private_namespace_libs").c_str(),
                                    ANDROID_NAMESPACE_TYPE_REGULAR,
                                    nullptr,
                                    nullptr);
@@ -772,7 +776,7 @@
   android_namespace_t* ns2 =
           android_create_namespace("private_isolated",
                                    nullptr,
-                                   (GetTestlibRoot() + "/private_namespace_libs").c_str(),
+                                   (GetTestLibRoot() + "/private_namespace_libs").c_str(),
                                    ANDROID_NAMESPACE_TYPE_ISOLATED,
                                    nullptr,
                                    nullptr);
@@ -916,10 +920,10 @@
 }
 
 TEST(dlext, dlopen_ext_use_o_tmpfile_fd) {
-  const std::string lib_path = GetTestlibRoot() + "/libtest_simple.so";
+  const std::string lib_path = GetTestLibRoot() + "/libtest_simple.so";
 
   int tmpfd = TEMP_FAILURE_RETRY(
-        open(GetTestlibRoot().c_str(), O_TMPFILE | O_CLOEXEC | O_RDWR | O_EXCL, 0));
+        open(GetTestLibRoot().c_str(), O_TMPFILE | O_CLOEXEC | O_RDWR | O_EXCL, 0));
 
   // Ignore kernels without O_TMPFILE flag support
   if (tmpfd == -1 && (errno == EISDIR || errno == EINVAL || errno == EOPNOTSUPP)) {
@@ -931,7 +935,7 @@
   android_namespace_t* ns =
           android_create_namespace("testing-o_tmpfile",
                                    nullptr,
-                                   GetTestlibRoot().c_str(),
+                                   GetTestLibRoot().c_str(),
                                    ANDROID_NAMESPACE_TYPE_ISOLATED,
                                    nullptr,
                                    nullptr);
@@ -960,14 +964,11 @@
 }
 
 TEST(dlext, dlopen_ext_use_memfd) {
-  const std::string lib_path = GetTestlibRoot() + "/libtest_simple.so";
+  const std::string lib_path = GetTestLibRoot() + "/libtest_simple.so";
 
   // create memfd
   int memfd = memfd_create("foobar", MFD_CLOEXEC);
-  if (memfd == -1 && errno == ENOSYS) {
-    return;
-  }
-
+  if (memfd == -1 && errno == ENOSYS) GTEST_SKIP() << "no memfd_create() in this kernel";
   ASSERT_TRUE(memfd != -1) << strerror(errno);
 
   // Check st.f_type is TMPFS_MAGIC for memfd
@@ -978,7 +979,7 @@
   android_namespace_t* ns =
           android_create_namespace("testing-memfd",
                                    nullptr,
-                                   GetTestlibRoot().c_str(),
+                                   GetTestLibRoot().c_str(),
                                    ANDROID_NAMESPACE_TYPE_ISOLATED,
                                    nullptr,
                                    nullptr);
@@ -1011,8 +1012,8 @@
   static const char* root_lib = "libnstest_root.so";
   ASSERT_TRUE(android_init_anonymous_namespace(g_core_shared_libs.c_str(), nullptr));
 
-  const std::string ns_search_path = GetTestlibRoot() + "/public_namespace_libs:" +
-                                     GetTestlibRoot() + "/private_namespace_libs";
+  const std::string ns_search_path = GetTestLibRoot() + "/public_namespace_libs:" +
+                                     GetTestLibRoot() + "/private_namespace_libs";
 
   android_namespace_t* ns =
           android_create_namespace("one",
@@ -1049,8 +1050,8 @@
   static const char* root_lib = "libnstest_root.so";
   ASSERT_TRUE(android_init_anonymous_namespace(g_core_shared_libs.c_str(), nullptr));
 
-  const std::string public_ns_search_path =  GetTestlibRoot() + "/public_namespace_libs";
-  const std::string private_ns_search_path = GetTestlibRoot() + "/private_namespace_libs";
+  const std::string public_ns_search_path =  GetTestLibRoot() + "/public_namespace_libs";
+  const std::string private_ns_search_path = GetTestLibRoot() + "/private_namespace_libs";
 
   android_namespace_t* ns_public =
           android_create_namespace("public",
@@ -1100,8 +1101,8 @@
   static const char* root_lib = "libnstest_root.so";
   ASSERT_TRUE(android_init_anonymous_namespace(g_core_shared_libs.c_str(), nullptr));
 
-  const std::string public_ns_search_path =  GetTestlibRoot() + "/public_namespace_libs";
-  const std::string private_ns_search_path = GetTestlibRoot() + "/private_namespace_libs";
+  const std::string public_ns_search_path =  GetTestLibRoot() + "/public_namespace_libs";
+  const std::string private_ns_search_path = GetTestLibRoot() + "/private_namespace_libs";
 
   android_namespace_t* ns_public =
           android_create_namespace("public",
@@ -1149,8 +1150,8 @@
 TEST(dlext, ns_unload_between_namespaces_missing_symbol_direct) {
   ASSERT_TRUE(android_init_anonymous_namespace(g_core_shared_libs.c_str(), nullptr));
 
-  const std::string public_ns_search_path =  GetTestlibRoot() + "/public_namespace_libs";
-  const std::string private_ns_search_path = GetTestlibRoot() + "/private_namespace_libs";
+  const std::string public_ns_search_path =  GetTestLibRoot() + "/public_namespace_libs";
+  const std::string private_ns_search_path = GetTestLibRoot() + "/private_namespace_libs";
 
   android_namespace_t* ns_public =
           android_create_namespace("public",
@@ -1189,8 +1190,8 @@
 TEST(dlext, ns_unload_between_namespaces_missing_symbol_indirect) {
   ASSERT_TRUE(android_init_anonymous_namespace(g_core_shared_libs.c_str(), nullptr));
 
-  const std::string public_ns_search_path =  GetTestlibRoot() + "/public_namespace_libs";
-  const std::string private_ns_search_path = GetTestlibRoot() + "/private_namespace_libs";
+  const std::string public_ns_search_path =  GetTestLibRoot() + "/public_namespace_libs";
+  const std::string private_ns_search_path = GetTestLibRoot() + "/private_namespace_libs";
 
   android_namespace_t* ns_public =
           android_create_namespace("public",
@@ -1230,7 +1231,7 @@
 TEST(dlext, ns_exempt_list_enabled) {
   ASSERT_TRUE(android_init_anonymous_namespace(g_core_shared_libs.c_str(), nullptr));
 
-  const std::string ns_search_path = GetTestlibRoot() + "/private_namespace_libs";
+  const std::string ns_search_path = GetTestLibRoot() + "/private_namespace_libs";
 
   android_namespace_t* ns =
           android_create_namespace("namespace",
@@ -1268,7 +1269,7 @@
 TEST(dlext, ns_exempt_list_disabled_by_default) {
   ASSERT_TRUE(android_init_anonymous_namespace(g_core_shared_libs.c_str(), nullptr));
 
-  const std::string ns_search_path = GetTestlibRoot() + "/private_namespace_libs";
+  const std::string ns_search_path = GetTestLibRoot() + "/private_namespace_libs";
 
   android_namespace_t* ns =
           android_create_namespace("namespace",
@@ -1295,7 +1296,7 @@
   ASSERT_TRUE(android_init_anonymous_namespace(g_core_shared_libs.c_str(), nullptr));
   std::string shared_libs = g_core_shared_libs + ":libthatdoesnotexist.so";
 
-  const std::string ns_search_path =  GetTestlibRoot() + "/public_namespace_libs";
+  const std::string ns_search_path =  GetTestLibRoot() + "/public_namespace_libs";
 
   android_namespace_t* ns1 =
           android_create_namespace("ns1",
@@ -1333,7 +1334,7 @@
   static const char* root_lib = "libnstest_root_not_isolated.so";
   std::string shared_libs = g_core_shared_libs + ":" + g_public_lib;
 
-  const std::string lib_public_path = GetTestlibRoot() + "/public_namespace_libs/" + g_public_lib;
+  const std::string lib_public_path = GetTestLibRoot() + "/public_namespace_libs/" + g_public_lib;
   void* handle_public = dlopen(lib_public_path.c_str(), RTLD_NOW);
   ASSERT_TRUE(handle_public != nullptr) << dlerror();
 
@@ -1344,7 +1345,7 @@
   android_namespace_t* ns_not_isolated =
           android_create_namespace("private",
                                    nullptr,
-                                   (GetTestlibRoot() + "/private_namespace_libs").c_str(),
+                                   (GetTestLibRoot() + "/private_namespace_libs").c_str(),
                                    ANDROID_NAMESPACE_TYPE_REGULAR,
                                    nullptr,
                                    nullptr);
@@ -1354,7 +1355,7 @@
   android_namespace_t* ns_isolated =
           android_create_namespace("private_isolated1",
                                    nullptr,
-                                   (GetTestlibRoot() + "/private_namespace_libs").c_str(),
+                                   (GetTestLibRoot() + "/private_namespace_libs").c_str(),
                                    ANDROID_NAMESPACE_TYPE_ISOLATED,
                                    nullptr,
                                    nullptr);
@@ -1363,10 +1364,10 @@
 
   android_namespace_t* ns_isolated2 =
           android_create_namespace("private_isolated2",
-                                   (GetTestlibRoot() + "/private_namespace_libs").c_str(),
+                                   (GetTestLibRoot() + "/private_namespace_libs").c_str(),
                                    nullptr,
                                    ANDROID_NAMESPACE_TYPE_ISOLATED,
-                                   GetTestlibRoot().c_str(),
+                                   GetTestLibRoot().c_str(),
                                    nullptr);
   ASSERT_TRUE(ns_isolated2 != nullptr) << dlerror();
   ASSERT_TRUE(android_link_namespaces(ns_isolated2, nullptr, shared_libs.c_str())) << dlerror();
@@ -1375,7 +1376,7 @@
   ASSERT_STREQ("dlopen failed: library \"libnstest_root_not_isolated.so\" not found", dlerror());
 
   std::string lib_private_external_path =
-      GetTestlibRoot() + "/private_namespace_libs_external/libnstest_private_external.so";
+      GetTestLibRoot() + "/private_namespace_libs_external/libnstest_private_external.so";
 
   // Load lib_private_external_path to default namespace
   // (it should remain invisible for the isolated namespaces after this)
@@ -1407,7 +1408,7 @@
 
   extinfo.library_namespace = ns_isolated2;
 
-  // this should work because isolation_path for private_isolated2 includes GetTestlibRoot()
+  // this should work because isolation_path for private_isolated2 includes GetTestLibRoot()
   handle2 = android_dlopen_ext(root_lib, RTLD_NOW, &extinfo);
   ASSERT_TRUE(handle2 != nullptr) << dlerror();
   dlclose(handle2);
@@ -1466,7 +1467,7 @@
   extinfo.flags = ANDROID_DLEXT_USE_NAMESPACE;
   extinfo.library_namespace = ns_parent;
 
-  const std::string lib_public_path = GetTestlibRoot() + "/public_namespace_libs/" + g_public_lib;
+  const std::string lib_public_path = GetTestLibRoot() + "/public_namespace_libs/" + g_public_lib;
   void* handle_public = android_dlopen_ext(lib_public_path.c_str(), RTLD_NOW, &extinfo);
   ASSERT_TRUE(handle_public != nullptr) << dlerror();
 
@@ -1477,7 +1478,7 @@
   // preload this library to the parent namespace to check if it
   // is shared later on.
   void* handle_dlopened =
-          android_dlopen_ext((GetTestlibRoot() + "/private_namespace_libs/libnstest_dlopened.so").c_str(), RTLD_NOW, &extinfo);
+          android_dlopen_ext((GetTestLibRoot() + "/private_namespace_libs/libnstest_dlopened.so").c_str(), RTLD_NOW, &extinfo);
   ASSERT_TRUE(handle_dlopened != nullptr) << dlerror();
 
   // create two child namespaces of 'ns_parent'. One with regular, the other
@@ -1485,7 +1486,7 @@
   android_namespace_t* ns_not_isolated =
           android_create_namespace("private",
                                    nullptr,
-                                   (GetTestlibRoot() + "/private_namespace_libs").c_str(),
+                                   (GetTestLibRoot() + "/private_namespace_libs").c_str(),
                                    ANDROID_NAMESPACE_TYPE_REGULAR,
                                    nullptr,
                                    ns_parent);
@@ -1496,7 +1497,7 @@
   android_namespace_t* ns_isolated_shared =
           android_create_namespace("private_isolated_shared",
                                    nullptr,
-                                   (GetTestlibRoot() + "/private_namespace_libs").c_str(),
+                                   (GetTestLibRoot() + "/private_namespace_libs").c_str(),
                                    ANDROID_NAMESPACE_TYPE_ISOLATED | ANDROID_NAMESPACE_TYPE_SHARED,
                                    nullptr,
                                    ns_parent);
@@ -1508,7 +1509,7 @@
   ASSERT_STREQ("dlopen failed: library \"libnstest_root_not_isolated.so\" not found", dlerror());
 
   std::string lib_private_external_path =
-      GetTestlibRoot() + "/private_namespace_libs_external/libnstest_private_external.so";
+      GetTestLibRoot() + "/private_namespace_libs_external/libnstest_private_external.so";
 
   // Load lib_private_external_path to the parent namespace
   // (it should remain invisible for the isolated namespaces after this)
@@ -1594,9 +1595,9 @@
   android_namespace_t* ns_isolated =
           android_create_namespace("private_isolated",
                                    nullptr,
-                                   (GetTestlibRoot() + "/private_namespace_libs").c_str(),
+                                   (GetTestLibRoot() + "/private_namespace_libs").c_str(),
                                    ANDROID_NAMESPACE_TYPE_ISOLATED,
-                                   (GetTestlibRoot() + "/public_namespace_libs").c_str(),
+                                   (GetTestLibRoot() + "/public_namespace_libs").c_str(),
                                    nullptr);
   ASSERT_TRUE(ns_isolated != nullptr) << dlerror();
   ASSERT_TRUE(android_link_namespaces(ns_isolated, nullptr, g_core_shared_libs.c_str())) << dlerror();
@@ -1630,7 +1631,7 @@
   // it has inherited permitted_when_isolated_path
   {
     void* handle = android_dlopen_ext(
-            (GetTestlibRoot() + "/public_namespace_libs/libnstest_public.so").c_str(),
+            (GetTestLibRoot() + "/public_namespace_libs/libnstest_public.so").c_str(),
             RTLD_NOW,
             &extinfo);
 
@@ -1645,7 +1646,7 @@
   // 3. Check that it is still isolated.
   {
     void* handle = android_dlopen_ext(
-            (GetTestlibRoot() + "/libtest_empty.so").c_str(),
+            (GetTestLibRoot() + "/libtest_empty.so").c_str(),
             RTLD_NOW,
             &extinfo);
 
@@ -1661,13 +1662,13 @@
   // preload this library to the default namespace to check if it
   // is shared later on.
   void* handle_dlopened =
-          dlopen((GetTestlibRoot() + "/private_namespace_libs/libnstest_dlopened.so").c_str(), RTLD_NOW);
+          dlopen((GetTestLibRoot() + "/private_namespace_libs/libnstest_dlopened.so").c_str(), RTLD_NOW);
   ASSERT_TRUE(handle_dlopened != nullptr) << dlerror();
 
   android_namespace_t* ns_isolated_shared =
           android_create_namespace("private_isolated_shared",
                                    nullptr,
-                                   (GetTestlibRoot() + "/private_namespace_libs").c_str(),
+                                   (GetTestLibRoot() + "/private_namespace_libs").c_str(),
                                    ANDROID_NAMESPACE_TYPE_ISOLATED | ANDROID_NAMESPACE_TYPE_SHARED,
                                    nullptr,
                                    nullptr);
@@ -1690,7 +1691,7 @@
   ASSERT_TRUE(handle == nullptr)
       << "Error: libnstest_dlopened.so is still accessible in shared namespace";
 
-  handle = android_dlopen_ext((GetTestlibRoot() + "/private_namespace_libs/libnstest_dlopened.so").c_str(),
+  handle = android_dlopen_ext((GetTestLibRoot() + "/private_namespace_libs/libnstest_dlopened.so").c_str(),
                               RTLD_NOW | RTLD_NOLOAD, &extinfo);
   ASSERT_TRUE(handle == nullptr)
       << "Error: libnstest_dlopened.so is still accessible in shared namespace";
@@ -1699,14 +1700,14 @@
   ASSERT_TRUE(handle == nullptr)
       << "Error: libnstest_dlopened.so is still accessible in default namespace";
 
-  handle = dlopen((GetTestlibRoot() + "/private_namespace_libs/libnstest_dlopened.so").c_str(),
+  handle = dlopen((GetTestLibRoot() + "/private_namespace_libs/libnstest_dlopened.so").c_str(),
                   RTLD_NOW | RTLD_NOLOAD);
   ASSERT_TRUE(handle == nullptr)
       << "Error: libnstest_dlopened.so is still accessible in default namespace";
 
   // Now lets see if the soinfo area gets reused in the wrong way:
   // load a library to default namespace.
-  const std::string lib_public_path = GetTestlibRoot() + "/public_namespace_libs/" + g_public_lib;
+  const std::string lib_public_path = GetTestLibRoot() + "/public_namespace_libs/" + g_public_lib;
   void* handle_public = dlopen(lib_public_path.c_str(), RTLD_NOW);
   ASSERT_TRUE(handle_public != nullptr) << dlerror();
 
@@ -1720,12 +1721,12 @@
   static const char* root_lib = "libnstest_root.so";
   ASSERT_TRUE(android_init_anonymous_namespace(g_core_shared_libs.c_str(), nullptr));
 
-  const std::string lib_public_path = GetTestlibRoot() + "/public_namespace_libs";
+  const std::string lib_public_path = GetTestLibRoot() + "/public_namespace_libs";
 
   android_namespace_t* ns1 =
           android_create_namespace("isolated1",
                                    nullptr,
-                                   (GetTestlibRoot() + "/private_namespace_libs").c_str(),
+                                   (GetTestLibRoot() + "/private_namespace_libs").c_str(),
                                    ANDROID_NAMESPACE_TYPE_ISOLATED,
                                    lib_public_path.c_str(),
                                    nullptr);
@@ -1735,7 +1736,7 @@
   android_namespace_t* ns2 =
           android_create_namespace("isolated2",
                                    nullptr,
-                                   (GetTestlibRoot() + "/private_namespace_libs").c_str(),
+                                   (GetTestLibRoot() + "/private_namespace_libs").c_str(),
                                    ANDROID_NAMESPACE_TYPE_ISOLATED,
                                    lib_public_path.c_str(),
                                    nullptr);
@@ -1755,7 +1756,7 @@
   android_namespace_t* ns1_child =
           android_create_namespace("isolated1_child",
                                    nullptr,
-                                   (GetTestlibRoot() + "/private_namespace_libs").c_str(),
+                                   (GetTestLibRoot() + "/private_namespace_libs").c_str(),
                                    ANDROID_NAMESPACE_TYPE_ISOLATED,
                                    nullptr,
                                    ns1);
@@ -1805,7 +1806,7 @@
   android_namespace_t* ns_a =
           android_create_namespace("ns_a",
                                    nullptr,
-                                   (GetTestlibRoot() + "/private_namespace_libs").c_str(),
+                                   (GetTestLibRoot() + "/private_namespace_libs").c_str(),
                                    ANDROID_NAMESPACE_TYPE_ISOLATED,
                                    nullptr,
                                    nullptr);
@@ -1815,7 +1816,7 @@
   android_namespace_t* ns_b =
           android_create_namespace("ns_b",
                                    nullptr,
-                                   GetTestlibRoot().c_str(),
+                                   GetTestLibRoot().c_str(),
                                    ANDROID_NAMESPACE_TYPE_ISOLATED,
                                    nullptr,
                                    nullptr);
@@ -1828,7 +1829,7 @@
   extinfo.flags = ANDROID_DLEXT_USE_NAMESPACE;
   extinfo.library_namespace = ns_a;
 
-  std::string library_path = GetTestlibRoot() + "/inaccessible_libs/libtestshared.so";
+  std::string library_path = GetTestLibRoot() + "/inaccessible_libs/libtestshared.so";
 
   void* handle = android_dlopen_ext(library_path.c_str(), RTLD_NOW, &extinfo);
   ASSERT_TRUE(handle == nullptr);
@@ -1849,7 +1850,7 @@
   android_namespace_t* ns =
           android_create_namespace("private",
                                    nullptr,
-                                   (GetTestlibRoot() + "/private_namespace_libs").c_str(),
+                                   (GetTestLibRoot() + "/private_namespace_libs").c_str(),
                                    ANDROID_NAMESPACE_TYPE_REGULAR,
                                    nullptr,
                                    nullptr);
@@ -1890,7 +1891,7 @@
   android_namespace_t* ns_a =
           android_create_namespace("ns_a",
                                    nullptr,
-                                   (GetTestlibRoot() + "/ns_a").c_str(),
+                                   (GetTestLibRoot() + "/ns_a").c_str(),
                                    ANDROID_NAMESPACE_TYPE_ISOLATED,
                                    nullptr,
                                    nullptr);
@@ -1900,7 +1901,7 @@
   android_namespace_t* ns_b =
           android_create_namespace("ns_b",
                                    nullptr,
-                                   (GetTestlibRoot() + "/ns_b").c_str(),
+                                   (GetTestLibRoot() + "/ns_b").c_str(),
                                    ANDROID_NAMESPACE_TYPE_ISOLATED,
                                    nullptr,
                                    nullptr);
@@ -1960,24 +1961,32 @@
   dlclose(ns_a_handle3);
 }
 
+static inline int MapPflagsToProtFlags(uint32_t flags) {
+  int prot_flags = 0;
+  if (PF_X & flags) prot_flags |= PROT_EXEC;
+  if (PF_W & flags) prot_flags |= PROT_WRITE;
+  if (PF_R & flags) prot_flags |= PROT_READ;
+  return prot_flags;
+}
+
 TEST(dlext, ns_anonymous) {
   static const char* root_lib = "libnstest_root.so";
   std::string shared_libs = g_core_shared_libs + ":" + g_public_lib;
 
-  const std::string lib_public_path = GetTestlibRoot() + "/public_namespace_libs/" + g_public_lib;
+  const std::string lib_public_path = GetTestLibRoot() + "/public_namespace_libs/" + g_public_lib;
   void* handle_public = dlopen(lib_public_path.c_str(), RTLD_NOW);
 
   ASSERT_TRUE(handle_public != nullptr) << dlerror();
 
   ASSERT_TRUE(
           android_init_anonymous_namespace(shared_libs.c_str(),
-                                           (GetTestlibRoot() + "/private_namespace_libs").c_str())
+                                           (GetTestLibRoot() + "/private_namespace_libs").c_str())
       ) << dlerror();
 
   android_namespace_t* ns =
           android_create_namespace("private",
                                    nullptr,
-                                   (GetTestlibRoot() + "/private_namespace_libs").c_str(),
+                                   (GetTestLibRoot() + "/private_namespace_libs").c_str(),
                                    ANDROID_NAMESPACE_TYPE_REGULAR,
                                    nullptr,
                                    nullptr);
@@ -1985,7 +1994,7 @@
   ASSERT_TRUE(ns != nullptr) << dlerror();
   ASSERT_TRUE(android_link_namespaces(ns, nullptr, shared_libs.c_str())) << dlerror();
 
-  std::string private_library_absolute_path = GetTestlibRoot() + "/private_namespace_libs/" + root_lib;
+  std::string private_library_absolute_path = GetTestLibRoot() + "/private_namespace_libs/" + root_lib;
 
   android_dlextinfo extinfo;
   extinfo.flags = ANDROID_DLEXT_USE_NAMESPACE;
@@ -2001,30 +2010,45 @@
   typedef const char* (*fn_t)();
   fn_t ns_get_dlopened_string_private = reinterpret_cast<fn_t>(ns_get_dlopened_string_addr);
 
-  std::vector<map_record> maps;
-  Maps::parse_maps(&maps);
-
+  Dl_info private_library_info;
+  ASSERT_NE(dladdr(reinterpret_cast<void*>(ns_get_dlopened_string_addr), &private_library_info), 0)
+      << dlerror();
+  std::vector<map_record> maps_to_copy;
+  bool has_executable_segment = false;
   uintptr_t addr_start = 0;
   uintptr_t addr_end = 0;
-  bool has_executable_segment = false;
-  std::vector<map_record> maps_to_copy;
+  std::tuple dl_iterate_arg = {&private_library_info, &maps_to_copy, &has_executable_segment,
+                               &addr_start, &addr_end};
+  ASSERT_EQ(
+      1, dl_iterate_phdr(
+             [](dl_phdr_info* info, size_t /*size*/, void* data) -> int {
+               auto [private_library_info, maps_to_copy, has_executable_segment, addr_start,
+                     addr_end] = *reinterpret_cast<decltype(dl_iterate_arg)*>(data);
+               if (info->dlpi_addr != reinterpret_cast<ElfW(Addr)>(private_library_info->dli_fbase))
+                 return 0;
 
-  for (const auto& rec : maps) {
-    if (rec.pathname == private_library_absolute_path) {
-      if (addr_start == 0) {
-        addr_start = rec.addr_start;
-      }
-      addr_end = rec.addr_end;
-      has_executable_segment = has_executable_segment || (rec.perms & PROT_EXEC) != 0;
-
-      maps_to_copy.push_back(rec);
-    }
-  }
+               for (size_t i = 0; i < info->dlpi_phnum; ++i) {
+                 const ElfW(Phdr)* phdr = info->dlpi_phdr + i;
+                 if (phdr->p_type != PT_LOAD) continue;
+                 *has_executable_segment |= phdr->p_flags & PF_X;
+                 uintptr_t mapping_start = page_start(info->dlpi_addr + phdr->p_vaddr);
+                 uintptr_t mapping_end = page_end(info->dlpi_addr + phdr->p_vaddr + phdr->p_memsz);
+                 if (*addr_start == 0 || mapping_start < *addr_start) *addr_start = mapping_start;
+                 if (*addr_end == 0 || mapping_end > *addr_end) *addr_end = mapping_end;
+                 maps_to_copy->push_back({
+                     .addr_start = mapping_start,
+                     .addr_end = mapping_end,
+                     .perms = MapPflagsToProtFlags(phdr->p_flags),
+                 });
+               }
+               return 1;
+             },
+             &dl_iterate_arg));
 
   // Some validity checks.
+  ASSERT_NE(maps_to_copy.size(), 0u);
   ASSERT_TRUE(addr_start > 0);
   ASSERT_TRUE(addr_end > 0);
-  ASSERT_TRUE(maps_to_copy.size() > 0);
   ASSERT_TRUE(ns_get_dlopened_string_addr > addr_start);
   ASSERT_TRUE(ns_get_dlopened_string_addr < addr_end);
 
@@ -2049,15 +2073,31 @@
                                                              -1, 0));
   ASSERT_TRUE(reinterpret_cast<void*>(reserved_addr) != MAP_FAILED);
 
-  for (const auto& rec : maps_to_copy) {
-    uintptr_t offset = rec.addr_start - addr_start;
-    size_t size = rec.addr_end - rec.addr_start;
-    void* addr = reinterpret_cast<void*>(reserved_addr + offset);
-    void* map = mmap(addr, size, PROT_READ | PROT_WRITE,
-                     MAP_ANON | MAP_PRIVATE | MAP_FIXED, -1, 0);
-    ASSERT_TRUE(map != MAP_FAILED);
-    memcpy(map, reinterpret_cast<void*>(rec.addr_start), size);
-    mprotect(map, size, rec.perms);
+  struct stat file_stat;
+  int ret = TEMP_FAILURE_RETRY(stat(private_library_absolute_path.c_str(), &file_stat));
+  ASSERT_EQ(ret, 0) << "Failed to stat library";
+  size_t file_size = file_stat.st_size;
+
+  {
+    // Disable MTE while copying the PROT_MTE-protected global variables from
+    // the existing mappings. We don't really care about turning on PROT_MTE for
+    // the new copy of the mappings, as this isn't the behaviour under test and
+    // tags will be ignored. This only applies for MTE-enabled devices.
+    ScopedDisableMTE disable_mte_for_copying_global_variables;
+    for (const auto& rec : maps_to_copy) {
+      uintptr_t offset = rec.addr_start - addr_start;
+      size_t size = rec.addr_end - rec.addr_start;
+      void* addr = reinterpret_cast<void*>(reserved_addr + offset);
+      void* map =
+          mmap(addr, size, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE | MAP_FIXED, -1, 0);
+      ASSERT_TRUE(map != MAP_FAILED);
+      // Attempting the below memcpy from a portion of the map that is off the end of
+      // the backing file will cause the kernel to throw a SIGBUS
+      size_t _size =
+          ::android::procinfo::MappedFileSize(rec.addr_start, rec.addr_end, rec.offset, file_size);
+      memcpy(map, reinterpret_cast<void*>(rec.addr_start), _size);
+      mprotect(map, size, rec.perms);
+    }
   }
 
   // call the function copy
@@ -2076,13 +2116,12 @@
 TEST(dlext, ns_hidden_child) {
   ExecTestHelper eth;
 
-  std::string helper = GetTestlibRoot() + "/ns_hidden_child_helper";
-  chmod(helper.c_str(), 0755); // TODO: "x" lost in CTS, b/34945607
-  std::string app_ns_dir = GetTestlibRoot() + "/ns_hidden_child_app";
+  std::string helper = GetTestLibRoot() + "/ns_hidden_child_helper";
+  std::string app_ns_dir = GetTestLibRoot() + "/ns_hidden_child_app";
   eth.SetArgs({ helper.c_str(), app_ns_dir.c_str(), nullptr });
 
   // Add the main libns_hidden_child_*.so libraries to the search path of the default namespace.
-  std::string env = "LD_LIBRARY_PATH=" + GetTestlibRoot();
+  std::string env = "LD_LIBRARY_PATH=" + GetTestLibRoot();
   eth.SetEnv({ env.c_str(), nullptr });
 
   eth.Run([&]() { execve(helper.c_str(), eth.GetArgs(), eth.GetEnv()); }, 0,
diff --git a/tests/dlfcn_test.cpp b/tests/dlfcn_test.cpp
index b68ee7b..c27adb6 100644
--- a/tests/dlfcn_test.cpp
+++ b/tests/dlfcn_test.cpp
@@ -824,6 +824,8 @@
 }
 
 TEST(dlfcn, dlclose_unload) {
+  const size_t kPageSize = getpagesize();
+
   void* handle = dlopen("libtest_simple.so", RTLD_NOW);
   ASSERT_TRUE(handle != nullptr) << dlerror();
   uint32_t* taxicab_number = static_cast<uint32_t*>(dlsym(handle, "dlopen_testlib_taxicab_number"));
@@ -833,9 +835,9 @@
   // Making sure that the library has been unmapped as part of library unload
   // process. Note that mprotect somewhat counter-intuitively returns ENOMEM in
   // this case.
-  uintptr_t page_start = reinterpret_cast<uintptr_t>(taxicab_number) & ~(PAGE_SIZE - 1);
-  ASSERT_TRUE(mprotect(reinterpret_cast<void*>(page_start), PAGE_SIZE, PROT_NONE) != 0);
-  ASSERT_EQ(ENOMEM, errno) << strerror(errno);
+  uintptr_t page_start = reinterpret_cast<uintptr_t>(taxicab_number) & ~(kPageSize - 1);
+  ASSERT_TRUE(mprotect(reinterpret_cast<void*>(page_start), kPageSize, PROT_NONE) != 0);
+  ASSERT_ERRNO(ENOMEM);
 }
 
 static void ConcurrentDlErrorFn(std::string& error) {
@@ -1299,7 +1301,7 @@
 }
 
 TEST(dlfcn, dt_runpath_absolute_path) {
-  std::string libpath = GetTestlibRoot() + "/libtest_dt_runpath_d.so";
+  std::string libpath = GetTestLibRoot() + "/libtest_dt_runpath_d.so";
   void* handle = dlopen(libpath.c_str(), RTLD_NOW);
   ASSERT_TRUE(handle != nullptr) << dlerror();
 
diff --git a/tests/elftls_dl_test.cpp b/tests/elftls_dl_test.cpp
index 56736e7..e409b72 100644
--- a/tests/elftls_dl_test.cpp
+++ b/tests/elftls_dl_test.cpp
@@ -29,10 +29,9 @@
 #include <dlfcn.h>
 #include <link.h>
 
-#include <android-base/file.h>
-#include <android-base/test_utils.h>
 #include <gtest/gtest.h>
 
+#include <string>
 #include <thread>
 
 #include "gtest_globals.h"
@@ -69,9 +68,9 @@
 }
 
 TEST(elftls_dl, dlopen_ie_error) {
-  std::string helper = GetTestlibRoot() + "/elftls_dlopen_ie_error_helper";
-  std::string src_path = GetTestlibRoot() + "/libtest_elftls_shared_var_ie.so";
-  std::string dst_path = GetTestlibRoot() + "/libtest_elftls_shared_var.so";
+  std::string helper = GetTestLibRoot() + "/elftls_dlopen_ie_error_helper";
+  std::string src_path = GetTestLibRoot() + "/libtest_elftls_shared_var_ie.so";
+  std::string dst_path = GetTestLibRoot() + "/libtest_elftls_shared_var.so";
 #if defined(__BIONIC__)
   std::string error =
       "dlerror: dlopen failed: TLS symbol \"elftls_shared_var\" in dlopened \"" + dst_path + "\" " +
@@ -81,7 +80,6 @@
   std::string error = "success\n";
 #endif
 
-  chmod(helper.c_str(), 0755); // TODO: "x" lost in CTS, b/34945607
   ExecTestHelper eth;
   eth.SetArgs({ helper.c_str(), nullptr });
   eth.Run([&]() { execve(helper.c_str(), eth.GetArgs(), eth.GetEnv()); }, 0, error.c_str());
@@ -109,6 +107,22 @@
   void* lib = dlopen("libtest_elftls_dynamic.so", RTLD_LOCAL | RTLD_NOW);
   ASSERT_NE(nullptr, lib);
 
+  auto get_local_var2 = reinterpret_cast<int(*)()>(dlsym(lib, "get_local_var2"));
+  ASSERT_NE(nullptr, get_local_var2);
+
+  auto get_local_var1 = reinterpret_cast<int(*)()>(dlsym(lib, "get_local_var1"));
+  ASSERT_NE(nullptr, get_local_var1);
+
+  auto get_local_var1_addr = reinterpret_cast<int*(*)()>(dlsym(lib, "get_local_var1_addr"));
+  ASSERT_NE(nullptr, get_local_var1_addr);
+
+  // Make sure subsequent accesses return the same pointer.
+  ASSERT_EQ(get_local_var1_addr(), get_local_var1_addr());
+
+  // Check the initial values are correct.
+  ASSERT_EQ(25, get_local_var2());
+  ASSERT_EQ(15, get_local_var1());
+
   auto bump_local_vars = reinterpret_cast<int(*)()>(dlsym(lib, "bump_local_vars"));
   ASSERT_NE(nullptr, bump_local_vars);
 
@@ -137,7 +151,7 @@
 // TLSDESC, the result is NULL. With __tls_get_addr, the result is the
 // generation count (or maybe undefined behavior)? This test only tests TLSDESC.
 TEST(elftls_dl, tlsdesc_missing_weak) {
-#if defined(__aarch64__)
+#if defined(__aarch64__) || defined(__riscv)
   void* lib = dlopen("libtest_elftls_dynamic.so", RTLD_LOCAL | RTLD_NOW);
   ASSERT_NE(nullptr, lib);
 
@@ -154,70 +168,11 @@
 }
 
 TEST(elftls_dl, dtv_resize) {
-  SKIP_WITH_HWASAN; // TODO(b/271243811): Fix for new toolchain
 #if defined(__BIONIC__)
-#define LOAD_LIB(soname) ({                           \
-    auto lib = dlopen(soname, RTLD_LOCAL | RTLD_NOW); \
-    ASSERT_NE(nullptr, lib);                          \
-    reinterpret_cast<int(*)()>(dlsym(lib, "bump"));   \
-  })
-
-  auto dtv = []() -> TlsDtv* { return __get_tcb_dtv(__get_bionic_tcb()); };
-
-  static_assert(sizeof(TlsDtv) == 3 * sizeof(void*),
-                "This test assumes that the Dtv has a 3-word header");
-
-  // Initially there are 4 modules:
-  //  - the main test executable
-  //  - libc
-  //  - libtest_elftls_shared_var
-  //  - libtest_elftls_tprel
-
-  // The initial DTV is an empty DTV with no generation and a size of 0.
-  TlsDtv* zero_dtv = dtv();
-  ASSERT_EQ(0u, zero_dtv->count);
-  ASSERT_EQ(nullptr, zero_dtv->next);
-  ASSERT_EQ(kTlsGenerationNone, zero_dtv->generation);
-
-  // Load the fifth module.
-  auto func1 = LOAD_LIB("libtest_elftls_dynamic_filler_1.so");
-  ASSERT_EQ(101, func1());
-
-  // After loading one module, the DTV should be initialized to the next
-  // power-of-2 size (including the header).
-  TlsDtv* initial_dtv = dtv();
-  ASSERT_EQ(5u, initial_dtv->count);
-  ASSERT_EQ(zero_dtv, initial_dtv->next);
-  ASSERT_LT(0u, initial_dtv->generation);
-
-  // Load module 6.
-  auto func2 = LOAD_LIB("libtest_elftls_dynamic_filler_2.so");
-  ASSERT_EQ(102, func1());
-
-#if defined(__aarch64__)
-  // The arm64 TLSDESC resolver doesn't update the DTV if it is new enough for
-  // the given access.
-  ASSERT_EQ(5u, dtv()->count);
-#else
-  // __tls_get_addr updates the DTV anytime the generation counter changes.
-  ASSERT_EQ(13u, dtv()->count);
-#endif
-
-  ASSERT_EQ(201, func2());
-  TlsDtv* new_dtv = dtv();
-  ASSERT_NE(initial_dtv, new_dtv);
-  ASSERT_EQ(initial_dtv, new_dtv->next);
-  ASSERT_EQ(13u, new_dtv->count);
-
-  // Load module 7.
-  auto func3 = LOAD_LIB("libtest_elftls_dynamic_filler_3.so");
-  ASSERT_EQ(103, func1());
-  ASSERT_EQ(202, func2());
-  ASSERT_EQ(301, func3());
-
-  ASSERT_EQ(new_dtv, dtv());
-
-#undef LOAD_LIB
+  std::string helper = GetTestLibRoot() + "/elftls_dtv_resize_helper";
+  ExecTestHelper eth;
+  eth.SetArgs({helper.c_str(), nullptr});
+  eth.Run([&]() { execve(helper.c_str(), eth.GetArgs(), eth.GetEnv()); }, 0, nullptr);
 #else
   GTEST_SKIP() << "test doesn't apply to glibc";
 #endif
@@ -332,7 +287,7 @@
   Dl_info info;
   ASSERT_NE(0, dladdr(local_addr, &info));
 
-  std::string libpath = GetTestlibRoot() + "/libtest_elftls_dynamic.so";
+  std::string libpath = GetTestLibRoot() + "/libtest_elftls_dynamic.so";
   char dli_realpath[PATH_MAX];
   ASSERT_TRUE(realpath(info.dli_fname, dli_realpath));
   ASSERT_STREQ(libpath.c_str(), dli_realpath);
diff --git a/tests/elftls_test.cpp b/tests/elftls_test.cpp
index 7c072b6..b3f511e 100644
--- a/tests/elftls_test.cpp
+++ b/tests/elftls_test.cpp
@@ -30,6 +30,9 @@
 
 #include <thread>
 
+#include "gtest_globals.h"
+#include "utils.h"
+
 // Specify the LE access model explicitly. This file is compiled into the
 // bionic-unit-tests executable, but the compiler sees an -fpic object file
 // output into a static library, so it defaults to dynamic TLS accesses.
@@ -87,3 +90,17 @@
     ASSERT_EQ(31, ++tlsvar_general);
   }).join();
 }
+
+TEST(elftls, align_test) {
+  std::string helper = GetTestLibRoot() + "/elftls_align_test_helper";
+  ExecTestHelper eth;
+  eth.SetArgs({helper.c_str(), nullptr});
+  eth.Run([&]() { execve(helper.c_str(), eth.GetArgs(), eth.GetEnv()); }, 0, nullptr);
+}
+
+TEST(elftls, skew_align_test) {
+  std::string helper = GetTestLibRoot() + "/elftls_skew_align_test_helper";
+  ExecTestHelper eth;
+  eth.SetArgs({helper.c_str(), nullptr});
+  eth.Run([&]() { execve(helper.c_str(), eth.GetArgs(), eth.GetEnv()); }, 0, nullptr);
+}
diff --git a/tests/eventfd_test.cpp b/tests/eventfd_test.cpp
index eb423c1..3107a46 100644
--- a/tests/eventfd_test.cpp
+++ b/tests/eventfd_test.cpp
@@ -34,7 +34,7 @@
 
   // Reading clears the counter.
   ASSERT_EQ(-1, eventfd_read(fd, &value));
-  ASSERT_EQ(EAGAIN, errno);
+  ASSERT_ERRNO(EAGAIN);
 
   // Values written are added until the next read.
   ASSERT_EQ(0, eventfd_write(fd, 1));
@@ -88,7 +88,7 @@
 
   // The counter is cleared after the initial value decrements to 0.
   ASSERT_EQ(-1, eventfd_read(fd, &value));
-  ASSERT_EQ(EAGAIN, errno);
+  ASSERT_ERRNO(EAGAIN);
 
   close(fd);
 }
diff --git a/tests/execinfo_test.cpp b/tests/execinfo_test.cpp
index b8e1325..1a0c51b 100644
--- a/tests/execinfo_test.cpp
+++ b/tests/execinfo_test.cpp
@@ -79,9 +79,13 @@
 }
 
 static size_t FindFunction(std::vector<void*>& frames, uintptr_t func_addr) {
+  Dl_info func_info;
+  if (!dladdr(reinterpret_cast<void*>(func_addr), &func_info)) {
+    return 0;
+  }
   for (size_t i = 0; i < frames.size(); i++) {
-    uintptr_t frame_addr = reinterpret_cast<uintptr_t>(frames[i]);
-    if (frame_addr >= func_addr && frame_addr <= func_addr + 0x100) {
+    Dl_info frame_info;
+    if (dladdr(frames[i], &frame_info) && func_info.dli_saddr == frame_info.dli_saddr) {
       return i + 1;
     }
   }
diff --git a/tests/fcntl_test.cpp b/tests/fcntl_test.cpp
index f9bfb30..57766ef 100644
--- a/tests/fcntl_test.cpp
+++ b/tests/fcntl_test.cpp
@@ -34,6 +34,8 @@
 #include <linux/magic.h>
 #endif
 
+#include "utils.h"
+
 using fcntl_DeathTest = SilentDeathTest;
 
 TEST(fcntl, fcntl_smoke) {
@@ -80,9 +82,9 @@
 
 TEST(fcntl, creat_creat64) {
   ASSERT_EQ(-1, creat("", 0666));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
   ASSERT_EQ(-1, creat64("", 0666));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 }
 
 TEST(fcntl, posix_fadvise) {
@@ -90,16 +92,16 @@
   errno = 0;
 
   EXPECT_EQ(EBADF, posix_fadvise(-1, 0, 0, POSIX_FADV_NORMAL));
-  EXPECT_EQ(0, errno);
+  EXPECT_ERRNO(0);
 
   EXPECT_EQ(EBADF, posix_fadvise64(-1, 0, 0, POSIX_FADV_NORMAL));
-  EXPECT_EQ(0, errno);
+  EXPECT_ERRNO(0);
 
   EXPECT_EQ(EINVAL, posix_fadvise(tf.fd, 0, 0, -1));
-  EXPECT_EQ(0, errno);
+  EXPECT_ERRNO(0);
 
   EXPECT_EQ(EINVAL, posix_fadvise64(tf.fd, 0, 0, -1));
-  EXPECT_EQ(0, errno);
+  EXPECT_ERRNO(0);
 
   EXPECT_EQ(0, posix_fadvise(tf.fd, 0, 0, POSIX_FADV_NORMAL));
   EXPECT_EQ(0, posix_fadvise64(tf.fd, 0, 0, POSIX_FADV_NORMAL));
@@ -113,19 +115,19 @@
 
   errno = 0;
   ASSERT_EQ(-1, fallocate(tf.fd, 0, 0, -1));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   errno = 0;
   ASSERT_EQ(-1, fallocate64(tf.fd, 0, 0, -1));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   errno = 0;
   ASSERT_EQ(EINVAL, posix_fallocate(tf.fd, 0, -1));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
 
   errno = 0;
   ASSERT_EQ(EINVAL, posix_fallocate64(tf.fd, 0, -1));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
 }
 
 TEST(fcntl, fallocate) {
@@ -269,14 +271,14 @@
   // Just check that the function is available.
   errno = 0;
   ASSERT_EQ(-1, readahead(-1, 0, 123));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 }
 
 TEST(fcntl, sync_file_range) {
   // Just check that the function is available.
   errno = 0;
   ASSERT_EQ(-1, sync_file_range(-1, 0, 0, 0));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 
   TemporaryFile tf;
   ASSERT_EQ(0, sync_file_range(tf.fd, 0, 0, 0));
@@ -285,7 +287,7 @@
   // Check that the `flags` argument gets passed to the kernel correctly.
   errno = 0;
   ASSERT_EQ(-1, sync_file_range(tf.fd, 0, 0, ~0));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 static bool parse_kernel_release(long* const major, long* const minor) {
@@ -312,13 +314,12 @@
     ASSERT_EQ(0, fstatfs(tf.fd, &sfs));
     if (sfs.f_type == EXT4_SUPER_MAGIC) {
       ASSERT_EQ(-1, fallocate(tf.fd, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 0, 1));
-      ASSERT_EQ(errno, EOPNOTSUPP);
+      ASSERT_ERRNO(EOPNOTSUPP);
     }
   }
 }
 
 TEST(fcntl, open_O_TMPFILE_mode) {
-#if __BIONIC__ // Our glibc is too old for O_TMPFILE.
   TemporaryDir dir;
   // Without O_EXCL, we're allowed to give this a name later.
   // (This is unrelated to the O_CREAT interaction with O_EXCL.)
@@ -355,11 +356,10 @@
   ASSERT_EQ(-1, linkat(AT_FDCWD, android::base::StringPrintf("/proc/self/fd/%d", fd).c_str(),
                        AT_FDCWD, android::base::StringPrintf("%s/no_chance", dir.path).c_str(),
                        AT_SYMLINK_FOLLOW));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
   ASSERT_EQ(0, close(fd));
-#endif
 }
 
-TEST(fcntl_DeathTest, fcntl_F_SETFD) {
-  EXPECT_DEATH(fcntl(0, F_SETFD, O_NONBLOCK), "FD_CLOEXEC");
+TEST_F(fcntl_DeathTest, fcntl_F_SETFD) {
+  EXPECT_DEATH(fcntl(0, F_SETFD, O_NONBLOCK), "only supports FD_CLOEXEC");
 }
diff --git a/tests/fdsan_test.cpp b/tests/fdsan_test.cpp
index 016970f..c1e926b 100644
--- a/tests/fdsan_test.cpp
+++ b/tests/fdsan_test.cpp
@@ -33,7 +33,6 @@
 #include <android-base/silent_death_test.h>
 #include <android-base/unique_fd.h>
 
-#define FDSAN_TEST(test_name) TEST_F(FdsanTest, test_name)
 #define EXPECT_FDSAN_DEATH(expression, regex)                                                \
   EXPECT_DEATH((android_fdsan_set_error_level(ANDROID_FDSAN_ERROR_LEVEL_FATAL), expression), \
                (regex))
diff --git a/tests/fdtrack_test.cpp b/tests/fdtrack_test.cpp
index 9fcb402..5988bc4 100644
--- a/tests/fdtrack_test.cpp
+++ b/tests/fdtrack_test.cpp
@@ -40,6 +40,8 @@
 #include <android-base/logging.h>
 #include <android-base/unique_fd.h>
 
+#include "utils.h"
+
 using android::base::ReceiveFileDescriptors;
 using android::base::SendFileDescriptors;
 using android::base::unique_fd;
@@ -233,27 +235,22 @@
 
 FDTRACK_TEST(pidfd_open, ({
   int rc = pidfd_open(getpid(), 0);
-  if (rc == -1) {
-    ASSERT_EQ(ENOSYS, errno);
-    GTEST_SKIP() << "pidfd_open not available";
-  }
+  if (rc == -1 && errno == ENOSYS) GTEST_SKIP() << "no pidfd_open() in this kernel";
+  ASSERT_NE(-1, rc) << strerror(errno);
   rc;
 }));
 
 FDTRACK_TEST(pidfd_getfd, ({
   android_fdtrack_set_enabled(false);
   int pidfd_self = pidfd_open(getpid(), 0);
-  if (pidfd_self == -1) {
-    ASSERT_EQ(ENOSYS, errno);
-    GTEST_SKIP() << "pidfd_open not available";
-  }
+  if (pidfd_self == -1 && errno == ENOSYS) GTEST_SKIP() << "no pidfd_open() in this kernel";
+  ASSERT_NE(-1, pidfd_self) << strerror(errno);
+
   android_fdtrack_set_enabled(true);
 
   int rc = pidfd_getfd(pidfd_self, STDIN_FILENO, 0);
-  if (rc == -1) {
-    ASSERT_EQ(ENOSYS, errno);
-    GTEST_SKIP() << "pidfd_getfd not available";
-  }
+  if (rc == -1 && errno == ENOSYS) GTEST_SKIP() << "no pidfd_getfd() in this kernel";
+  ASSERT_NE(-1, rc) << strerror(errno);
 
   android_fdtrack_set_enabled(false);
   close(pidfd_self);
diff --git a/tests/fenv_test.cpp b/tests/fenv_test.cpp
index 9cf9d98..bbf339f 100644
--- a/tests/fenv_test.cpp
+++ b/tests/fenv_test.cpp
@@ -16,6 +16,7 @@
 
 #include <gtest/gtest.h>
 
+#include "DoNotOptimize.h"
 #include "utils.h"
 
 #include <fenv.h>
diff --git a/tests/float_test.cpp b/tests/float_test.cpp
index 3ef4593..a2b7ecb 100644
--- a/tests/float_test.cpp
+++ b/tests/float_test.cpp
@@ -122,3 +122,7 @@
 #error LDBL_HAS_SUBNORM
 #endif
 }
+
+TEST(float_h, FLT_EVAL_METHOD_exact) {
+  ASSERT_EQ(0, FLT_EVAL_METHOD);
+}
diff --git a/tests/fortify_test.cpp b/tests/fortify_test.cpp
index 4abee67..cb96f9f 100644
--- a/tests/fortify_test.cpp
+++ b/tests/fortify_test.cpp
@@ -29,7 +29,7 @@
 
 #include <android-base/silent_death_test.h>
 
-#if __BIONIC__
+#if defined(__BIONIC__)
 #define ASSERT_FORTIFY(expr) ASSERT_EXIT(expr, testing::KilledBySignal(SIGABRT), "FORTIFY")
 #else
 #define ASSERT_FORTIFY(expr) ASSERT_EXIT(expr, testing::KilledBySignal(SIGABRT), "")
@@ -412,9 +412,6 @@
   ASSERT_FORTIFY(sprintf(buf, "%s", source_buf));
 }
 
-#if !__has_attribute(alloc_size)
-// TODO: remove this after Clang prebuilt rebase.
-#else
 TEST_F(DEATHTEST, sprintf_malloc_fortified) {
   char* buf = (char *) malloc(10);
   char source_buf[11];
@@ -422,7 +419,6 @@
   ASSERT_FORTIFY(sprintf(buf, "%s", source_buf));
   free(buf);
 }
-#endif
 
 TEST_F(DEATHTEST, sprintf2_fortified) {
   char buf[5];
@@ -670,6 +666,10 @@
   ASSERT_FORTIFY(readlinkat(AT_FDCWD, "/dev/null", buf, ct));
 }
 
+TEST(TEST_NAME, snprintf_nullptr_valid) {
+  ASSERT_EQ(10, snprintf(nullptr, 0, "0123456789"));
+}
+
 extern "C" char* __strncat_chk(char*, const char*, size_t, size_t);
 extern "C" char* __strcat_chk(char*, const char*, size_t);
 
@@ -1010,7 +1010,7 @@
 }
 
 TEST_F(DEATHTEST, ppoll64_fortified) {
-#if __BIONIC__ // glibc doesn't have ppoll64.
+#if defined(__BIONIC__)        // glibc doesn't have ppoll64.
   nfds_t fd_count = atoi("2"); // suppress compiler optimizations
   pollfd buf[1] = {{0, POLLIN, 0}};
   // Set timeout to zero to prevent waiting in ppoll when fortify test fails.
@@ -1026,8 +1026,6 @@
 }
 
 TEST_F(DEATHTEST, open_O_TMPFILE_without_mode_fortified) {
-#if __BIONIC__ // Our glibc is too old for O_TMPFILE.
   int flags = O_TMPFILE; // Fool the compiler.
   ASSERT_FORTIFY(open("", flags));
-#endif
 }
diff --git a/libm/fenv-access.h b/tests/fts_test.cpp
similarity index 71%
copy from libm/fenv-access.h
copy to tests/fts_test.cpp
index 7acb34d..39e570b 100644
--- a/libm/fenv-access.h
+++ b/tests/fts_test.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,8 +26,23 @@
  * SUCH DAMAGE.
  */
 
-#pragma once
+#include <gtest/gtest.h>
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
+#if !defined(__GLIBC__)
+#include <fts.h>
 #endif
+
+TEST(fts, smoke) {
+#if !defined(__GLIBC__)
+  char* const paths[] = { const_cast<char*>("."), NULL };
+  FTS* fts = fts_open(paths, FTS_PHYSICAL, NULL);
+  ASSERT_TRUE(fts != NULL);
+  FTSENT* e;
+  while ((e = fts_read(fts)) != NULL) {
+    ASSERT_EQ(0, fts_set(fts, e, FTS_SKIP));
+  }
+  ASSERT_EQ(0, fts_close(fts));
+#else
+  GTEST_SKIP() << "no _FILE_OFFSET_BITS=64 <fts.h> in our old glibc";
+#endif
+}
diff --git a/tests/ftw_test.cpp b/tests/ftw_test.cpp
index 6473f71..9d9c1d3 100644
--- a/tests/ftw_test.cpp
+++ b/tests/ftw_test.cpp
@@ -28,6 +28,8 @@
 #include <android-base/stringprintf.h>
 #include <gtest/gtest.h>
 
+#include "utils.h"
+
 static void MakeTree(const char* root) {
   char path[PATH_MAX];
 
@@ -167,35 +169,35 @@
 TEST(ftw, ftw_non_existent_ENOENT) {
   errno = 0;
   ASSERT_EQ(-1, ftw("/does/not/exist", null_ftw_callback<struct stat>, 128));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
   errno = 0;
   ASSERT_EQ(-1, ftw64("/does/not/exist", null_ftw_callback<struct stat64>, 128));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 }
 
 TEST(ftw, nftw_non_existent_ENOENT) {
   errno = 0;
   ASSERT_EQ(-1, nftw("/does/not/exist", null_nftw_callback<struct stat>, 128, FTW_PHYS));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
   errno = 0;
   ASSERT_EQ(-1, nftw64("/does/not/exist", null_nftw_callback<struct stat64>, 128, FTW_PHYS));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 }
 
 TEST(ftw, ftw_empty_ENOENT) {
   errno = 0;
   ASSERT_EQ(-1, ftw("", null_ftw_callback<struct stat>, 128));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
   errno = 0;
   ASSERT_EQ(-1, ftw64("", null_ftw_callback<struct stat64>, 128));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 }
 
 TEST(ftw, nftw_empty_ENOENT) {
   errno = 0;
   ASSERT_EQ(-1, nftw("", null_nftw_callback<struct stat>, 128, FTW_PHYS));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
   errno = 0;
   ASSERT_EQ(-1, nftw64("", null_nftw_callback<struct stat64>, 128, FTW_PHYS));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 }
diff --git a/tests/getauxval_test.cpp b/tests/getauxval_test.cpp
index f4ec7f5..3016432 100644
--- a/tests/getauxval_test.cpp
+++ b/tests/getauxval_test.cpp
@@ -21,6 +21,8 @@
 #include <sys/utsname.h>
 #include <gtest/gtest.h>
 
+#include "utils.h"
+
 TEST(getauxval, expected_values) {
   ASSERT_EQ(0UL, getauxval(AT_SECURE));
   ASSERT_EQ(getuid(), getauxval(AT_UID));
@@ -38,7 +40,7 @@
 TEST(getauxval, unexpected_values) {
   errno = 0;
   ASSERT_EQ(0UL, getauxval(0xdeadbeef));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 }
 
 TEST(getauxval, arm_has_AT_HWCAP2) {
@@ -57,7 +59,7 @@
     // to check errno to see whether we got a "true" 0 or a "not found" 0.
     errno = 0;
     getauxval(AT_HWCAP2);
-    ASSERT_EQ(0, errno) << "64-bit kernel not reporting AT_HWCAP2 to 32-bit ARM process";
+    ASSERT_ERRNO(0) << "64-bit kernel not reporting AT_HWCAP2 to 32-bit ARM process";
     return;
   }
 #endif
diff --git a/tests/getcwd_test.cpp b/tests/getcwd_test.cpp
index 4fec40b..26ea75f 100644
--- a/tests/getcwd_test.cpp
+++ b/tests/getcwd_test.cpp
@@ -29,7 +29,7 @@
   errno = 0;
   char* cwd = getcwd(nullptr, 0);
   ASSERT_TRUE(cwd != nullptr);
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   ASSERT_GE(strlen(cwd), 1U);
   free(cwd);
 }
@@ -39,7 +39,7 @@
   errno = 0;
   char* cwd = getcwd(nullptr, PATH_MAX);
   ASSERT_TRUE(cwd != nullptr);
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   ASSERT_GE(strlen(cwd), 1U);
   free(cwd);
 }
@@ -49,7 +49,7 @@
   errno = 0;
   char* cwd = getcwd(nullptr, 1);
   ASSERT_TRUE(cwd == nullptr);
-  ASSERT_EQ(ERANGE, errno);
+  ASSERT_ERRNO(ERANGE);
 }
 
 TEST(getcwd, auto_too_large) {
@@ -58,7 +58,7 @@
   errno = 0;
   char* cwd = getcwd(nullptr, static_cast<size_t>(-1));
   ASSERT_TRUE(cwd == nullptr);
-  ASSERT_EQ(ENOMEM, errno);
+  ASSERT_ERRNO(ENOMEM);
 }
 
 TEST(getcwd, manual_too_small) {
@@ -67,7 +67,7 @@
   errno = 0;
   char* cwd = getcwd(tiny_buf, sizeof(tiny_buf));
   ASSERT_TRUE(cwd == nullptr);
-  ASSERT_EQ(ERANGE, errno);
+  ASSERT_ERRNO(ERANGE);
 }
 
 TEST(getcwd, manual_zero) {
@@ -76,7 +76,7 @@
   errno = 0;
   char* cwd = getcwd(tiny_buf, 0);
   ASSERT_TRUE(cwd == nullptr);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(getcwd, manual_path_max) {
@@ -84,7 +84,7 @@
   errno = 0;
   char* cwd = getcwd(buf, PATH_MAX);
   ASSERT_TRUE(cwd == buf);
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   ASSERT_GE(strlen(cwd), 1U);
   delete[] cwd;
 }
diff --git a/tests/grp_pwd_test.cpp b/tests/grp_pwd_test.cpp
index 3d5a933..3f93c8a 100644
--- a/tests/grp_pwd_test.cpp
+++ b/tests/grp_pwd_test.cpp
@@ -41,6 +41,8 @@
 // Generated android_ids array
 #include "generated_android_ids.h"
 
+#include "utils.h"
+
 using android::base::Join;
 using android::base::ReadFileToString;
 using android::base::Split;
@@ -86,7 +88,7 @@
                            bool check_username) {
   errno = 0;
   passwd* pwd = getpwuid(uid);
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   SCOPED_TRACE("getpwuid");
   check_passwd(pwd, username, uid, uid_type, check_username);
 }
@@ -95,7 +97,7 @@
                            bool check_username) {
   errno = 0;
   passwd* pwd = getpwnam(username);
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   SCOPED_TRACE("getpwnam");
   check_passwd(pwd, username, uid, uid_type, check_username);
 }
@@ -110,7 +112,7 @@
   passwd* pwd = nullptr;
   result = getpwuid_r(uid, &pwd_storage, buf, sizeof(buf), &pwd);
   ASSERT_EQ(0, result);
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   SCOPED_TRACE("getpwuid_r");
   check_passwd(pwd, username, uid, uid_type, check_username);
 }
@@ -125,7 +127,7 @@
   passwd* pwd = nullptr;
   result = getpwnam_r(username, &pwd_storage, buf, sizeof(buf), &pwd);
   ASSERT_EQ(0, result);
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   SCOPED_TRACE("getpwnam_r");
   check_passwd(pwd, username, uid, uid_type, check_username);
 }
@@ -145,7 +147,7 @@
   passwd* passwd = nullptr;
   passwd = getpwuid(uid);
   EXPECT_EQ(nullptr, passwd) << "name = '" << passwd->pw_name << "'";
-  EXPECT_EQ(ENOENT, errno);
+  EXPECT_ERRNO(ENOENT);
 
   struct passwd passwd_storage;
   char buf[512];
@@ -159,7 +161,7 @@
   passwd* passwd = nullptr;
   passwd = getpwnam(username);
   EXPECT_EQ(nullptr, passwd) << "name = '" << passwd->pw_name << "'";
-  EXPECT_EQ(ENOENT, errno);
+  EXPECT_ERRNO(ENOENT);
 
   struct passwd passwd_storage;
   char buf[512];
@@ -442,10 +444,9 @@
     return result;
   };
 
-  // AID_UPROBESTATS (1093) was added in V, but "trunk stable" means
-  // that the 2024Q builds don't have branches like the QPR builds used
-  // to, and are tested with the _previous_ release's CTS.
-  if (android::base::GetIntProperty("ro.build.version.sdk", 0) == __ANDROID_API_U__) {
+  // AID_UPROBESTATS (1093) was added in API level 35, but "trunk stable" means
+  // that the 2024Q* builds are tested with the _previous_ release's CTS.
+  if (android::base::GetIntProperty("ro.build.version.sdk", 0) == 34) {
 #if !defined(AID_UPROBESTATS)
 #define AID_UPROBESTATS 1093
 #endif
@@ -455,10 +456,9 @@
       EXPECT_STREQ(getpwuid(AID_UPROBESTATS)->pw_name, "uprobestats");
     }
   }
-  // AID_VIRTUALMACHINE (3013) was added in V, but "trunk stable" means
-  // that the 2024Q builds don't have branches like the QPR builds used
-  // to, and are tested with the _previous_ release's CTS.
-  if (android::base::GetIntProperty("ro.build.version.sdk", 0) == __ANDROID_API_U__) {
+  // AID_VIRTUALMACHINE (3013) was added in API level 35, but "trunk stable" means
+  // that the 2024Q* builds are tested with the _previous_ release's CTS.
+  if (android::base::GetIntProperty("ro.build.version.sdk", 0) == 34) {
 #if !defined(AID_VIRTUALMACHINE)
 #define AID_VIRTUALMACHINE 3013
 #endif
@@ -468,6 +468,30 @@
       EXPECT_STREQ(getpwuid(AID_VIRTUALMACHINE)->pw_name, "virtualmachine");
     }
   }
+  // AID_CROS_EC (1094) was added in API level 36, but "trunk stable" means
+  // that the 2024Q* builds are tested with the _previous_ release's CTS.
+  if (android::base::GetIntProperty("ro.build.version.sdk", 0) == 35) {
+#if !defined(AID_CROS_EC)
+#define AID_CROS_EC 1094
+#endif
+    ids.erase(AID_CROS_EC);
+    expected_ids.erase(AID_CROS_EC);
+    if (getpwuid(AID_CROS_EC)) {
+      EXPECT_STREQ(getpwuid(AID_CROS_EC)->pw_name, "cros_ec");
+    }
+  }
+  // AID_MMD (1095) was added in API level 36, but "trunk stable" means
+  // that the 2024Q* builds are tested with the _previous_ release's CTS.
+  if (android::base::GetIntProperty("ro.build.version.sdk", 0) == 35) {
+#if !defined(AID_MMD)
+#define AID_MMD 1095
+#endif
+    ids.erase(AID_MMD);
+    expected_ids.erase(AID_MMD);
+    if (getpwuid(AID_MMD)) {
+      EXPECT_STREQ(getpwuid(AID_MMD)->pw_name, "mmd");
+    }
+  }
 
   EXPECT_EQ(expected_ids, ids) << return_differences();
 }
@@ -524,7 +548,7 @@
 static void check_getgrgid(const char* group_name, gid_t gid, bool check_groupname) {
   errno = 0;
   group* grp = getgrgid(gid);
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   SCOPED_TRACE("getgrgid");
   check_group(grp, group_name, gid, check_groupname);
 }
@@ -532,7 +556,7 @@
 static void check_getgrnam(const char* group_name, gid_t gid, bool check_groupname) {
   errno = 0;
   group* grp = getgrnam(group_name);
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   SCOPED_TRACE("getgrnam");
   check_group(grp, group_name, gid, check_groupname);
 }
@@ -545,7 +569,7 @@
   errno = 0;
   int result = getgrgid_r(gid, &grp_storage, buf, sizeof(buf), &grp);
   ASSERT_EQ(0, result);
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   SCOPED_TRACE("getgrgid_r");
   check_group(grp, group_name, gid, check_groupname);
 }
@@ -558,7 +582,7 @@
   errno = 0;
   int result = getgrnam_r(group_name, &grp_storage, buf, sizeof(buf), &grp);
   ASSERT_EQ(0, result);
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   SCOPED_TRACE("getgrnam_r");
   check_group(grp, group_name, gid, check_groupname);
 }
@@ -577,7 +601,7 @@
   group* group = nullptr;
   group = getgrgid(gid);
   EXPECT_EQ(nullptr, group) << "name = '" << group->gr_name << "'";
-  EXPECT_EQ(ENOENT, errno);
+  EXPECT_ERRNO(ENOENT);
 
   struct group group_storage;
   char buf[512];
@@ -591,7 +615,7 @@
   group* group = nullptr;
   group = getgrnam(groupname);
   EXPECT_EQ(nullptr, group) << "name = '" << group->gr_name << "'";
-  EXPECT_EQ(ENOENT, errno);
+  EXPECT_ERRNO(ENOENT);
 
   struct group group_storage;
   char buf[512];
@@ -866,6 +890,11 @@
 #endif
 }
 
+TEST(grp, initgroups) {
+  if (getuid() != 0) GTEST_SKIP() << "test requires root";
+  ASSERT_EQ(0, initgroups("root", 0));
+}
+
 #if defined(__BIONIC__)
 static void TestAidNamePrefix(const std::string& file_path) {
   std::string file_contents;
diff --git a/tests/gtest_globals.cpp b/tests/gtest_globals.cpp
index 11b2dff..f146c08 100644
--- a/tests/gtest_globals.cpp
+++ b/tests/gtest_globals.cpp
@@ -23,7 +23,7 @@
 
 #include <string>
 
-std::string GetTestlibRoot() {
+std::string GetTestLibRoot() {
   // Typically the executable is /data/nativetest[64]/bionic-unit-tests/bionic-unit-tests, and the
   // test libraries are in /data/nativetest[64]/bionic-unit-tests/bionic-loader-test-libs.
   std::string path = android::base::GetExecutableDirectory();
diff --git a/tests/gtest_globals.h b/tests/gtest_globals.h
index 1bebb70..3b780a4 100644
--- a/tests/gtest_globals.h
+++ b/tests/gtest_globals.h
@@ -19,10 +19,10 @@
 
 #include <string>
 
-std::string GetTestlibRoot();
+std::string GetTestLibRoot();
 
 inline std::string GetPrebuiltElfDir() {
-  return GetTestlibRoot() + "/prebuilt-elf-files";
+  return GetTestLibRoot() + "/prebuilt-elf-files";
 }
 
 #endif  // _BIONIC_TESTS_GTEST_GLOBALS_H
diff --git a/tests/gwp_asan_test.cpp b/tests/gwp_asan_test.cpp
index c31f48c..709a939 100644
--- a/tests/gwp_asan_test.cpp
+++ b/tests/gwp_asan_test.cpp
@@ -34,12 +34,15 @@
 #if defined(__BIONIC__)
 
 #include "android-base/file.h"
+#include "android-base/silent_death_test.h"
 #include "android-base/test_utils.h"
 #include "gwp_asan/options.h"
 #include "platform/bionic/malloc.h"
 #include "sys/system_properties.h"
 #include "utils.h"
 
+using gwp_asan_integration_DeathTest = SilentDeathTest;
+
 // basename is a mess, use gnu basename explicitly to avoid the need for string
 // mutation.
 extern "C" const char* __gnu_basename(const char* path);
@@ -133,7 +136,7 @@
   }
 };
 
-TEST(gwp_asan_integration, DISABLED_assert_gwp_asan_enabled) {
+TEST_F(gwp_asan_integration_DeathTest, DISABLED_assert_gwp_asan_enabled) {
   std::string maps;
   EXPECT_TRUE(android::base::ReadFileToString("/proc/self/maps", &maps));
   EXPECT_TRUE(maps.find("GWP-ASan") != std::string::npos) << maps;
@@ -173,7 +176,7 @@
   __system_property_set((std::string("libc.debug.gwp_asan.max_allocs.") + basename).c_str(),
                         "40000");
 
-  RunSubtestNoEnv("gwp_asan_integration.DISABLED_assert_gwp_asan_enabled");
+  RunSubtestNoEnv("gwp_asan_integration_DeathTest.DISABLED_assert_gwp_asan_enabled");
 }
 
 TEST(gwp_asan_integration, sysprops_persist_program_specific) {
@@ -191,7 +194,7 @@
   __system_property_set((std::string("persist.libc.debug.gwp_asan.max_allocs.") + basename).c_str(),
                         "40000");
 
-  RunSubtestNoEnv("gwp_asan_integration.DISABLED_assert_gwp_asan_enabled");
+  RunSubtestNoEnv("gwp_asan_integration_DeathTest.DISABLED_assert_gwp_asan_enabled");
 }
 
 TEST(gwp_asan_integration, sysprops_non_persist_overrides_persist) {
@@ -235,7 +238,7 @@
   __system_property_set("libc.debug.gwp_asan.process_sampling.system_default", "0");
   __system_property_set("libc.debug.gwp_asan.max_allocs.system_default", "0");
 
-  RunSubtestNoEnv("gwp_asan_integration.DISABLED_assert_gwp_asan_enabled");
+  RunSubtestNoEnv("gwp_asan_integration_DeathTest.DISABLED_assert_gwp_asan_enabled");
 }
 
 TEST(gwp_asan_integration, sysprops_can_disable) {
@@ -261,7 +264,7 @@
   __system_property_set("libc.debug.gwp_asan.process_sampling.system_default", "0");
   __system_property_set("libc.debug.gwp_asan.max_allocs.system_default", "0");
 
-  RunGwpAsanTest("gwp_asan_integration.DISABLED_assert_gwp_asan_enabled");
+  RunGwpAsanTest("gwp_asan_integration_DeathTest.DISABLED_assert_gwp_asan_enabled");
 }
 
 #endif  // defined(__BIONIC__)
diff --git a/tests/headers/posix/README.md b/tests/headers/posix/README.md
new file mode 100644
index 0000000..e7c171a
--- /dev/null
+++ b/tests/headers/posix/README.md
@@ -0,0 +1,8 @@
+# POSIX header tests
+
+These compile-time tests check that each POSIX header contains _at
+least_ what POSIX says. Every POSIX header file gets a corresponding
+`.c` file in this directory. Every constant, macro, type, struct field,
+and function in the header gets a corresponding assertion in the file.
+
+See `header_checks.h` for the implementation of the assertions.
diff --git a/tests/headers/posix/limits_h.c b/tests/headers/posix/limits_h.c
index 7e92d81..0ca80a5 100644
--- a/tests/headers/posix/limits_h.c
+++ b/tests/headers/posix/limits_h.c
@@ -130,10 +130,10 @@
   MACRO(CHARCLASS_NAME_MAX);
   MACRO(COLL_WEIGHTS_MAX);
   MACRO(EXPR_NEST_MAX);
-  MACRO(LINE_MAX);
   MACRO(NGROUPS_MAX);
   MACRO(RE_DUP_MAX);
 #endif
+  MACRO(LINE_MAX);
 
   MACRO_VALUE(_POSIX_CLOCKRES_MIN, 20000000);
 
diff --git a/tests/headers/posix/signal_h.c b/tests/headers/posix/signal_h.c
index c2e544e..82751f4 100644
--- a/tests/headers/posix/signal_h.c
+++ b/tests/headers/posix/signal_h.c
@@ -63,6 +63,10 @@
   MACRO(SIGEV_SIGNAL);
   MACRO(SIGEV_THREAD);
 
+#if !defined(__GLIBC__)  // Our glibc is too old.
+  MACRO(SIG2STR_MAX);
+#endif
+
   TYPE(union sigval);
   STRUCT_MEMBER(union sigval, int, sival_int);
   STRUCT_MEMBER(union sigval, void*, sival_ptr);
@@ -205,6 +209,9 @@
   FUNCTION(pthread_kill, int (*f)(pthread_t, int));
   FUNCTION(pthread_sigmask, int (*f)(int, const sigset_t*, sigset_t*));
   FUNCTION(raise, int (*f)(int));
+#if !defined(__GLIBC__)  // Our glibc is too old.
+  FUNCTION(sig2str, int (*f)(int, char*));
+#endif
   FUNCTION(sigaction, int (*f)(int, const struct sigaction*, struct sigaction*));
   FUNCTION(sigaddset, int (*f)(sigset_t*, int));
   FUNCTION(sigaltstack, int (*f)(const stack_t*, stack_t*));
@@ -226,4 +233,7 @@
   FUNCTION(sigtimedwait, int (*f)(const sigset_t*, siginfo_t*, const struct timespec*));
   FUNCTION(sigwait, int (*f)(const sigset_t*, int*));
   FUNCTION(sigwaitinfo, int (*f)(const sigset_t*, siginfo_t*));
+#if !defined(__GLIBC__)  // Our glibc is too old.
+  FUNCTION(str2sig, int (*f)(const char*, int*));
+#endif
 }
diff --git a/tests/headers/posix/stdatomic_h.c b/tests/headers/posix/stdatomic_h.c
new file mode 100644
index 0000000..05be859
--- /dev/null
+++ b/tests/headers/posix/stdatomic_h.c
@@ -0,0 +1,175 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <stdatomic.h>
+
+#include "header_checks.h"
+
+static void stdatomic_h() {
+  TYPE(atomic_flag);
+  TYPE(atomic_bool);
+  TYPE(atomic_char);
+  TYPE(atomic_schar);
+  TYPE(atomic_uchar);
+  TYPE(atomic_short);
+  TYPE(atomic_ushort);
+  TYPE(atomic_int);
+  TYPE(atomic_uint);
+  TYPE(atomic_long);
+  TYPE(atomic_ulong);
+  TYPE(atomic_llong);
+  TYPE(atomic_ullong);
+#if !defined(__GLIBC__)
+  TYPE(atomic_char16_t);
+  TYPE(atomic_char32_t);
+#endif
+  TYPE(atomic_wchar_t);
+  TYPE(atomic_int_least8_t);
+  TYPE(atomic_uint_least8_t);
+  TYPE(atomic_int_least16_t);
+  TYPE(atomic_uint_least16_t);
+  TYPE(atomic_int_least32_t);
+  TYPE(atomic_uint_least32_t);
+  TYPE(atomic_int_least64_t);
+  TYPE(atomic_uint_least64_t);
+  TYPE(atomic_int_fast8_t);
+  TYPE(atomic_uint_fast8_t);
+  TYPE(atomic_int_fast16_t);
+  TYPE(atomic_uint_fast16_t);
+  TYPE(atomic_int_fast32_t);
+  TYPE(atomic_uint_fast32_t);
+  TYPE(atomic_int_fast64_t);
+  TYPE(atomic_uint_fast64_t);
+  TYPE(atomic_intptr_t);
+  TYPE(atomic_uintptr_t);
+  TYPE(atomic_size_t);
+  TYPE(atomic_ptrdiff_t);
+  TYPE(atomic_intmax_t);
+  TYPE(atomic_uintmax_t);
+
+  memory_order m1 = memory_order_relaxed;
+  memory_order m2 = memory_order_consume;
+  memory_order m3 = memory_order_acquire;
+  memory_order m4 = memory_order_release;
+  memory_order m5 = memory_order_acq_rel;
+  memory_order m6 = memory_order_seq_cst;
+
+  MACRO(ATOMIC_BOOL_LOCK_FREE);
+  MACRO(ATOMIC_CHAR_LOCK_FREE);
+  MACRO(ATOMIC_CHAR16_T_LOCK_FREE);
+  MACRO(ATOMIC_CHAR32_T_LOCK_FREE);
+  MACRO(ATOMIC_WCHAR_T_LOCK_FREE);
+  MACRO(ATOMIC_SHORT_LOCK_FREE);
+  MACRO(ATOMIC_INT_LOCK_FREE);
+  MACRO(ATOMIC_LONG_LOCK_FREE);
+  MACRO(ATOMIC_LLONG_LOCK_FREE);
+  MACRO(ATOMIC_POINTER_LOCK_FREE);
+
+  atomic_flag f = ATOMIC_FLAG_INIT;
+  atomic_int i = ATOMIC_VAR_INIT(123);
+
+  // TODO: remove this #if after the next toolchain update (http://b/374104004).
+#if !defined(__GLIBC__)
+  i = kill_dependency(i);
+#endif
+
+#if !defined(atomic_compare_exchange_strong)
+#error atomic_compare_exchange_strong
+#endif
+#if !defined(atomic_compare_exchange_strong_explicit)
+#error atomic_compare_exchange_strong_explicit
+#endif
+#if !defined(atomic_compare_exchange_weak)
+#error atomic_compare_exchange_weak
+#endif
+#if !defined(atomic_compare_exchange_weak_explicit)
+#error atomic_compare_exchange_weak_explicit
+#endif
+#if !defined(atomic_exchange)
+#error atomic_exchange
+#endif
+#if !defined(atomic_exchange_explicit)
+#error atomic_exchange_explicit
+#endif
+#if !defined(atomic_fetch_add)
+#error atomic_fetch_add
+#endif
+#if !defined(atomic_fetch_add_explicit)
+#error atomic_fetch_add_explicit
+#endif
+#if !defined(atomic_fetch_and)
+#error atomic_fetch_and
+#endif
+#if !defined(atomic_fetch_and_explicit)
+#error atomic_fetch_and_explicit
+#endif
+#if !defined(atomic_fetch_or)
+#error atomic_fetch_or
+#endif
+#if !defined(atomic_fetch_or_explicit)
+#error atomic_fetch_or_explicit
+#endif
+#if !defined(atomic_fetch_sub)
+#error atomic_fetch_sub
+#endif
+#if !defined(atomic_fetch_sub_explicit)
+#error atomic_fetch_sub_explicit
+#endif
+#if !defined(atomic_fetch_xor)
+#error atomic_fetch_xor
+#endif
+#if !defined(atomic_fetch_xor_explicit)
+#error atomic_fetch_xor_explicit
+#endif
+#if !defined(atomic_init)
+#error atomic_init
+#endif
+#if !defined(atomic_is_lock_free)
+#error atomic_is_lock_free
+#endif
+#if !defined(atomic_load)
+#error atomic_load
+#endif
+#if !defined(atomic_load_explicit)
+#error atomic_load_explicit
+#endif
+#if !defined(atomic_store)
+#error atomic_store
+#endif
+#if !defined(atomic_store_explicit)
+#error atomic_store_explicit
+#endif
+
+  FUNCTION(atomic_flag_clear, void (*f)(volatile atomic_flag*));
+  FUNCTION(atomic_flag_clear_explicit, void (*f)(volatile atomic_flag*, memory_order));
+  FUNCTION(atomic_flag_test_and_set, bool (*f)(volatile atomic_flag*));
+  FUNCTION(atomic_flag_test_and_set_explicit, bool (*f)(volatile atomic_flag*, memory_order));
+
+  FUNCTION(atomic_signal_fence, void (*f)(memory_order));
+  FUNCTION(atomic_thread_fence, void (*f)(memory_order));
+}
diff --git a/tests/headers/posix/stdbool_h.c b/tests/headers/posix/stdbool_h.c
index f891a73..830c33c 100644
--- a/tests/headers/posix/stdbool_h.c
+++ b/tests/headers/posix/stdbool_h.c
@@ -31,10 +31,8 @@
 #include "header_checks.h"
 
 static void stdbool_h() {
-#if !defined(bool)
-#error bool
-#endif
-  MACRO_VALUE(true, 1);
-  MACRO_VALUE(false, 0);
+  TYPE(bool);
+  bool t = true;
+  bool f = false;
   MACRO_VALUE(__bool_true_false_are_defined, 1);
 }
diff --git a/tests/headers/posix/stdlib_h.c b/tests/headers/posix/stdlib_h.c
index 52580cf..95769b4 100644
--- a/tests/headers/posix/stdlib_h.c
+++ b/tests/headers/posix/stdlib_h.c
@@ -112,6 +112,9 @@
   FUNCTION(ptsname, char* (*f)(int));
   FUNCTION(putenv, int (*f)(char*));
   FUNCTION(qsort, void (*f)(void*, size_t, size_t, int (*)(const void*, const void*)));
+#if !defined(__GLIBC__) // Our glibc is too old.
+  FUNCTION(qsort_r, void (*f)(void*, size_t, size_t, int (*)(const void*, const void*, void*), void*));
+#endif
   FUNCTION(rand, int (*f)(void));
   FUNCTION(rand_r, int (*f)(unsigned*));
   FUNCTION(random, long (*f)(void));
diff --git a/tests/headers/posix/termios_h.c b/tests/headers/posix/termios_h.c
index 1255c16..0a67eaa 100644
--- a/tests/headers/posix/termios_h.c
+++ b/tests/headers/posix/termios_h.c
@@ -42,6 +42,12 @@
   STRUCT_MEMBER(struct termios, tcflag_t, c_lflag);
   STRUCT_MEMBER_ARRAY(struct termios, cc_t/*[]*/, c_cc);
 
+#if !defined(__GLIBC__)  // Our glibc is too old.
+  TYPE(struct winsize);
+  STRUCT_MEMBER(struct winsize, unsigned short, ws_row);
+  STRUCT_MEMBER(struct winsize, unsigned short, ws_col);
+#endif
+
   MACRO(NCCS);
 
   MACRO(VEOF);
@@ -162,6 +168,12 @@
   FUNCTION(tcflush, int (*f)(int, int));
   FUNCTION(tcgetattr, int (*f)(int, struct termios*));
   FUNCTION(tcgetsid, pid_t (*f)(int));
+#if !defined(__GLIBC__)  // Our glibc is too old.
+  FUNCTION(tcgetwinsize, int (*f)(int, struct winsize*));
+#endif
   FUNCTION(tcsendbreak, int (*f)(int, int));
   FUNCTION(tcsetattr, int (*f)(int, int, const struct termios*));
+#if !defined(__GLIBC__)  // Our glibc is too old.
+  FUNCTION(tcsetwinsize, int (*f)(int, const struct winsize*));
+#endif
 }
diff --git a/tests/headers/posix/unistd_h.c b/tests/headers/posix/unistd_h.c
index 0b2cee5..f66609d 100644
--- a/tests/headers/posix/unistd_h.c
+++ b/tests/headers/posix/unistd_h.c
@@ -331,6 +331,9 @@
   FUNCTION(fdatasync, int (*f)(int));
   FUNCTION(fexecve, int (*f)(int, char* const[], char* const[]));
   FUNCTION(fork, pid_t (*f)(void));
+#if !defined(__GLIBC__) // Our glibc is too old.
+  FUNCTION(_Fork, pid_t (*f)(void));
+#endif
   FUNCTION(fpathconf, long (*f)(int, int));
   FUNCTION(fsync, int (*f)(int));
   FUNCTION(ftruncate, int (*f)(int, off_t));
diff --git a/tests/heap_tagging_level_test.cpp b/tests/heap_tagging_level_test.cpp
index 917be37..c0aa176 100644
--- a/tests/heap_tagging_level_test.cpp
+++ b/tests/heap_tagging_level_test.cpp
@@ -19,6 +19,8 @@
 #include <malloc.h>
 #include <sys/prctl.h>
 
+#include <android-base/silent_death_test.h>
+
 #if defined(__BIONIC__)
 #include "gtest_globals.h"
 #include "platform/bionic/mte.h"
@@ -44,7 +46,9 @@
 }
 #endif
 
-TEST(heap_tagging_level, tagged_pointer_dies) {
+using heap_tagging_level_DeathTest = SilentDeathTest;
+
+TEST_F(heap_tagging_level_DeathTest, tagged_pointer_dies) {
 #if defined(__BIONIC__)
   if (!KernelSupportsTaggedPointers()) {
     GTEST_SKIP() << "Kernel doesn't support tagged pointers.";
@@ -221,6 +225,8 @@
 enum class MemtagNote { NONE, ASYNC, SYNC };
 class MemtagNoteTest : public testing::TestWithParam<std::tuple<MemtagNote, bool>> {};
 
+static const char* kNoteSuffix[] = {"disabled", "async", "sync"};
+
 TEST_P(MemtagNoteTest, SEGV) {
 #if defined(__BIONIC__) && defined(__aarch64__)
   SKIP_WITH_NATIVE_BRIDGE;  // http://b/242170715
@@ -229,29 +235,22 @@
   }
   // Note that we do not check running_with_hwasan() - what matters here is whether the test binary
   // itself is built with HWASan.
-  bool withHWASAN = __has_feature(hwaddress_sanitizer);
   bool withMTE = getauxval(AT_HWCAP2) & HWCAP2_MTE;
 
-  const char* kNoteSuffix[] = {"disabled", "async", "sync"};
-  const char* kExpectedOutputHWASAN[] = {".*tag-mismatch.*", ".*tag-mismatch.*",
-                                         ".*tag-mismatch.*"};
   // Note that we do not check the exact si_code of the "async" variant, as it may be auto-upgraded
   // to asymm or even sync.
   const char* kExpectedOutputMTE[] = {"normal exit\n", "SEGV_MTE[AS]ERR\n", "SEGV_MTESERR\n"};
   const char* kExpectedOutputNonMTE[] = {"normal exit\n", "normal exit\n", "normal exit\n"};
-  const char** kExpectedOutput =
-      withHWASAN ? kExpectedOutputHWASAN : (withMTE ? kExpectedOutputMTE : kExpectedOutputNonMTE);
-  const int kExpectedExitStatus = withHWASAN ? -SIGABRT : 0;
+  const char** kExpectedOutput = withMTE ? kExpectedOutputMTE : kExpectedOutputNonMTE;
 
   MemtagNote note = std::get<0>(GetParam());
   bool isStatic = std::get<1>(GetParam());
   std::string helper_base = std::string("heap_tagging_") + (isStatic ? "static_" : "") +
                             kNoteSuffix[static_cast<int>(note)] + "_helper";
-  std::string helper = GetTestlibRoot() + "/" + helper_base;
-  chmod(helper.c_str(), 0755);
+  std::string helper = GetTestLibRoot() + "/" + helper_base;
   ExecTestHelper eth;
   eth.SetArgs({helper.c_str(), nullptr});
-  eth.Run([&]() { execve(helper.c_str(), eth.GetArgs(), eth.GetEnv()); }, kExpectedExitStatus,
+  eth.Run([&]() { execve(helper.c_str(), eth.GetArgs(), eth.GetEnv()); }, 0,
           kExpectedOutput[static_cast<int>(note)]);
 #else
   GTEST_SKIP() << "bionic/arm64 only";
@@ -261,4 +260,10 @@
 INSTANTIATE_TEST_SUITE_P(, MemtagNoteTest,
                          testing::Combine(testing::Values(MemtagNote::NONE, MemtagNote::ASYNC,
                                                           MemtagNote::SYNC),
-                                          testing::Bool()));
+                                          testing::Bool()),
+                         [](const ::testing::TestParamInfo<MemtagNoteTest::ParamType>& info) {
+                           MemtagNote note = std::get<0>(info.param);
+                           std::string s = kNoteSuffix[static_cast<int>(note)];
+                           if (std::get<1>(info.param)) s += "_static";
+                           return s;
+                         });
diff --git a/tests/hwasan_test.cpp b/tests/hwasan_test.cpp
index 5c21495..ddf84cb 100644
--- a/tests/hwasan_test.cpp
+++ b/tests/hwasan_test.cpp
@@ -1,17 +1,29 @@
 /*
  * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
  *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
  */
 
 #include <dlfcn.h>
@@ -24,7 +36,18 @@
 
 using HwasanDeathTest = SilentDeathTest;
 
-TEST_F(HwasanDeathTest, UseAfterFree) {
+
+#ifdef HWASAN_TEST_STATIC
+#define MAYBE_DlopenAbsolutePath DISABLED_DlopenAbsolutePath
+// TODO(fmayer): figure out why uaf is misclassified as out of bounds for
+// static executables.
+#define MAYBE_UseAfterFree DISABLED_UseAfterFree
+#else
+#define MAYBE_DlopenAbsolutePath DlopenAbsolutePath
+#define MAYBE_UseAfterFree UseAfterFree
+#endif
+
+TEST_F(HwasanDeathTest, MAYBE_UseAfterFree) {
   EXPECT_DEATH(
       {
         void* m = malloc(1);
@@ -47,7 +70,7 @@
 }
 
 // Check whether dlopen of /foo/bar.so checks /foo/hwasan/bar.so first.
-TEST(HwasanTest, DlopenAbsolutePath) {
+TEST(HwasanTest, MAYBE_DlopenAbsolutePath) {
   std::string path = android::base::GetExecutableDirectory() + "/libtest_simple_hwasan.so";
   ASSERT_EQ(0, access(path.c_str(), F_OK));  // Verify test setup.
   std::string hwasan_path =
diff --git a/tests/iconv_test.cpp b/tests/iconv_test.cpp
index bd99000..9a2a46f 100644
--- a/tests/iconv_test.cpp
+++ b/tests/iconv_test.cpp
@@ -18,18 +18,20 @@
 
 #include <iconv.h>
 
+#include "utils.h"
+
 #define INVALID_ICONV_T reinterpret_cast<iconv_t>(-1)
 
 TEST(iconv, iconv_open_EINVAL) {
   errno = 0;
   ASSERT_EQ(INVALID_ICONV_T, iconv_open("silly", "silly"));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   ASSERT_EQ(INVALID_ICONV_T, iconv_open("silly", "UTF-8"));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   ASSERT_EQ(INVALID_ICONV_T, iconv_open("UTF-8", "silly"));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(iconv, iconv_open_comparator) {
@@ -44,10 +46,10 @@
   // "...but not "utf-80" or "ut8"."
   errno = 0;
   ASSERT_EQ(INVALID_ICONV_T, iconv_open("UTF-8", "utf-80"));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   ASSERT_EQ(INVALID_ICONV_T, iconv_open("UTF-8", "ut80"));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(iconv, iconv_smoke) {
@@ -122,7 +124,7 @@
   // With "//IGNORE", we just skip them (but return failure).
   errno = 0;
   EXPECT_EQ(static_cast<size_t>(-1), iconv(c, &in, &in_bytes, &out, &out_bytes));
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
 
   EXPECT_EQ('a', buf[0]);
   EXPECT_EQ('z', buf[1]);
@@ -149,7 +151,7 @@
   // The second input character isn't representable as ASCII, so we stop there.
   errno = 0;
   EXPECT_EQ(static_cast<size_t>(-1), iconv(c, &in, &in_bytes, &out, &out_bytes));
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
 
   EXPECT_EQ('a', buf[0]);
   EXPECT_EQ(0, buf[1]);
@@ -175,13 +177,13 @@
   // The second input byte is a malformed character, so we stop there.
   errno = 0;
   EXPECT_EQ(static_cast<size_t>(-1), iconv(c, &in, &in_bytes, &out, &out_bytes));
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
   EXPECT_EQ('\xd9', *in); // *in is left pointing to the start of the invalid sequence.
   ++in;
   --in_bytes;
   errno = 0;
   EXPECT_EQ(0U, iconv(c, &in, &in_bytes, &out, &out_bytes));
-  EXPECT_EQ(0, errno);
+  EXPECT_ERRNO(0);
 
   EXPECT_EQ('a', buf[0]);
   EXPECT_EQ('z', buf[1]);
@@ -208,7 +210,7 @@
   // The second input byte is just the start of a character, and we don't have any more bytes.
   errno = 0;
   EXPECT_EQ(static_cast<size_t>(-1), iconv(c, &in, &in_bytes, &out, &out_bytes));
-  EXPECT_EQ(EINVAL, errno);
+  EXPECT_ERRNO(EINVAL);
   EXPECT_EQ('\xd9', *in); // *in is left pointing to the start of the incomplete sequence.
 
   EXPECT_EQ('a', buf[0]);
@@ -236,7 +238,7 @@
   out_bytes = 1;
   errno = 0;
   EXPECT_EQ(static_cast<size_t>(-1), iconv(c, &in, &in_bytes, &out, &out_bytes));
-  EXPECT_EQ(E2BIG, errno);
+  EXPECT_ERRNO(E2BIG);
   EXPECT_EQ(2U, in_bytes);
   EXPECT_EQ(0U, out_bytes);
 
@@ -244,7 +246,7 @@
   out_bytes = 0;
   errno = 0;
   EXPECT_EQ(static_cast<size_t>(-1), iconv(c, &in, &in_bytes, &out, &out_bytes));
-  EXPECT_EQ(E2BIG, errno);
+  EXPECT_ERRNO(E2BIG);
   EXPECT_EQ(2U, in_bytes);
   EXPECT_EQ(0U, out_bytes);
 
@@ -252,7 +254,7 @@
   out_bytes = 1;
   errno = 0;
   EXPECT_EQ(static_cast<size_t>(-1), iconv(c, &in, &in_bytes, &out, &out_bytes));
-  EXPECT_EQ(E2BIG, errno);
+  EXPECT_ERRNO(E2BIG);
   EXPECT_EQ(1U, in_bytes);
   EXPECT_EQ(0U, out_bytes);
 
@@ -260,7 +262,7 @@
   out_bytes = 1;
   errno = 0;
   EXPECT_EQ(0U, iconv(c, &in, &in_bytes, &out, &out_bytes));
-  EXPECT_EQ(0, errno);
+  EXPECT_ERRNO(0);
   EXPECT_EQ(0U, in_bytes);
   EXPECT_EQ(0U, out_bytes);
 
@@ -279,13 +281,13 @@
   size_t out_bytes = 0;
   errno = 0;
   ASSERT_EQ(static_cast<size_t>(-1), iconv(INVALID_ICONV_T, &in, &in_bytes, &out, &out_bytes));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 }
 
 TEST(iconv, iconv_close_invalid_converter_EBADF) {
   errno = 0;
   ASSERT_EQ(-1, iconv_close(INVALID_ICONV_T));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 }
 
 static void RoundTrip(const char* dst_enc, const char* expected_bytes, size_t n) {
@@ -368,7 +370,7 @@
   char* out = reinterpret_cast<char*>(out_buf);
   errno = 0;
   ASSERT_EQ(static_cast<size_t>(-1), iconv(c, &in, &in_bytes, &out, &out_bytes));
-  EXPECT_EQ(expected_errno, errno);
+  EXPECT_ERRNO(expected_errno);
   EXPECT_EQ(0, iconv_close(c));
 }
 
@@ -442,13 +444,13 @@
   // Points to a null pointer...
   errno = 0;
   ASSERT_EQ(static_cast<size_t>(0), iconv(c, &in, &in_bytes, &out, &out_bytes));
-  EXPECT_EQ(0, errno);
+  EXPECT_ERRNO(0);
   EXPECT_EQ(sizeof(out_buf), out_bytes);
 
   // Is a null pointer...
   errno = 0;
   ASSERT_EQ(static_cast<size_t>(0), iconv(c, nullptr, &in_bytes, &out, &out_bytes));
-  EXPECT_EQ(0, errno);
+  EXPECT_ERRNO(0);
   EXPECT_EQ(sizeof(out_buf), out_bytes);
 
   // Is a null pointer and so is in_bytes. This isn't specified by POSIX, but
@@ -456,7 +458,7 @@
   // https://issuetracker.google.com/180598400
   errno = 0;
   ASSERT_EQ(static_cast<size_t>(0), iconv(c, nullptr, nullptr, &out, &out_bytes));
-  EXPECT_EQ(0, errno);
+  EXPECT_ERRNO(0);
   EXPECT_EQ(sizeof(out_buf), out_bytes);
 
   EXPECT_EQ(0, iconv_close(c));
diff --git a/tests/ifaddrs_test.cpp b/tests/ifaddrs_test.cpp
index 4b9d4d8..da64770 100644
--- a/tests/ifaddrs_test.cpp
+++ b/tests/ifaddrs_test.cpp
@@ -20,18 +20,23 @@
 
 #include <dirent.h>
 #include <fcntl.h>
-#include <linux/if_packet.h>
 #include <net/ethernet.h>
 #include <net/if.h>
 #include <netdb.h>
 #include <netinet/in.h>
 #include <sys/ioctl.h>
 
+// (glibc as of 2.37 has redefinitions if you include these before <net/if.h>.)
+#include <linux/if.h>
+#include <linux/if_packet.h>
+
 #include <algorithm>
 #include <map>
 #include <thread>
 #include <vector>
 
+#include "utils.h"
+
 TEST(ifaddrs, freeifaddrs_null) {
   freeifaddrs(nullptr);
 }
@@ -132,7 +137,7 @@
   sockaddr_in* sock = reinterpret_cast<sockaddr_in*>(&ifr.ifr_addr);
   in_addr_t addr = sock->sin_addr.s_addr;
 
-  EXPECT_TRUE(addrs.find(addr) != addrs.end()) << if_name << ' ' << std::hex << ntohl(addr);
+  EXPECT_TRUE(addrs.contains(addr)) << if_name << ' ' << std::hex << ntohl(addr);
 }
 
 TEST(ifaddrs, getifaddrs_INET) {
@@ -209,15 +214,9 @@
   if ((flags & IFF_PORTSEL) != 0) result += " PORTSEL";
   if ((flags & IFF_AUTOMEDIA) != 0) result += " AUTOMEDIA";
   if ((flags & IFF_DYNAMIC) != 0) result += " DYNAMIC";
-#if defined(IFF_LOWER_UP)
   if ((flags & IFF_LOWER_UP) != 0) result += " LOWER_UP";
-#endif
-#if defined(IFF_DORMANT)
   if ((flags & IFF_DORMANT) != 0) result += " DORMANT";
-#endif
-#if defined(IFF_ECHO)
   if ((flags & IFF_ECHO) != 0) result += " ECHO";
-#endif
   return result;
 }
 
@@ -294,7 +293,7 @@
   while (true) {
     int fd = open("/dev/null", O_RDONLY|O_CLOEXEC);
     if (fd == -1) {
-      ASSERT_EQ(EMFILE, errno);
+      ASSERT_ERRNO(EMFILE);
       break;
     }
     fds.push_back(fd);
@@ -302,7 +301,7 @@
 
   ifaddrs* addrs;
   EXPECT_EQ(-1, getifaddrs(&addrs));
-  EXPECT_EQ(EMFILE, errno);
+  EXPECT_ERRNO(EMFILE);
 
   for (int fd : fds) close(fd);
 }
diff --git a/tests/ifunc_test.cpp b/tests/ifunc_test.cpp
index e3c437e..09d987d 100644
--- a/tests/ifunc_test.cpp
+++ b/tests/ifunc_test.cpp
@@ -60,6 +60,26 @@
   return ret42;
 }
 
+#elif defined(__riscv)
+
+#include <sys/hwprobe.h>
+
+static uint64_t g_hwcap;
+static __riscv_hwprobe_t g_hwprobe_ptr;
+static void* g_null;
+
+static riscv_hwprobe g_hwprobes[] = {{.key = RISCV_HWPROBE_KEY_IMA_EXT_0}};
+
+extern "C" fn_ptr_t hwcap_resolver(uint64_t hwcap, __riscv_hwprobe_t hwprobe_ptr, void* null) {
+  g_hwcap = hwcap;
+  g_hwprobe_ptr = hwprobe_ptr;
+  g_null = null;
+
+  // Ensure that __riscv_hwprobe() can be called from an ifunc.
+  if ((*hwprobe_ptr)(g_hwprobes, 1, 0, nullptr, 0) != 0) return nullptr;
+  return ret42;
+}
+
 #else
 
 extern "C" fn_ptr_t hwcap_resolver() {
@@ -81,6 +101,16 @@
   EXPECT_EQ(getauxval(AT_HWCAP2), g_arg._hwcap2);
 #elif defined(__arm__)
   EXPECT_EQ(getauxval(AT_HWCAP), g_hwcap);
+#elif defined(__riscv)
+  printf("hwcap=%lx hwprobe_ptr=%p (__riscv_hwprobe=%p) null=%p\n", g_hwcap, g_hwprobe_ptr,
+         __riscv_hwprobe, g_null);
+
+  EXPECT_EQ(getauxval(AT_HWCAP), g_hwcap);
+  EXPECT_EQ(nullptr, g_null);
+
+  riscv_hwprobe probes[] = {{.key = RISCV_HWPROBE_KEY_IMA_EXT_0}};
+  ASSERT_EQ(0, __riscv_hwprobe(probes, 1, 0, nullptr, 0));
+  EXPECT_EQ(probes[0].value, g_hwprobes[0].value);
 #endif
 }
 
diff --git a/tests/inttypes_test.cpp b/tests/inttypes_test.cpp
index f7dfdb5..70163e6 100644
--- a/tests/inttypes_test.cpp
+++ b/tests/inttypes_test.cpp
@@ -20,6 +20,8 @@
 #include <gtest/gtest.h>
 #include <stdio.h>
 
+#include "utils.h"
+
 #define PRINTF_TYPED(FMT_SUFFIX, TYPE_SUFFIX) \
   do { \
     char buf[512]; \
@@ -124,13 +126,13 @@
 TEST(inttypes, strtoimax_EINVAL) {
   errno = 0;
   strtoimax("123", nullptr, -1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   strtoimax("123", nullptr, 1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   strtoimax("123", nullptr, 37);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(inttypes, strtoumax_dec) {
@@ -154,37 +156,37 @@
 TEST(inttypes, strtoumax_EINVAL) {
   errno = 0;
   strtoumax("123", nullptr, -1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   strtoumax("123", nullptr, 1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   strtoumax("123", nullptr, 37);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(inttypes, wcstoimax_EINVAL) {
   errno = 0;
   wcstoimax(L"123", nullptr, -1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   wcstoimax(L"123", nullptr, 1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   wcstoimax(L"123", nullptr, 37);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(inttypes, wcstoumax_EINVAL) {
   errno = 0;
   wcstoumax(L"123", nullptr, -1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   wcstoumax(L"123", nullptr, 1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   wcstoumax(L"123", nullptr, 37);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(inttypes, div) {
diff --git a/tests/leak_test.cpp b/tests/leak_test.cpp
index 0a881e1..bdb0ca9 100644
--- a/tests/leak_test.cpp
+++ b/tests/leak_test.cpp
@@ -48,7 +48,7 @@
         if (syscall(__NR_tgkill, getpid(), tids[i], 0) == 0) {
           alive = true;
         } else {
-          EXPECT_EQ(errno, ESRCH);
+          EXPECT_ERRNO(ESRCH);
           tids[i] = 0;  // Skip in next loop.
         }
       }
diff --git a/tests/libs/Android.bp b/tests/libs/Android.bp
index a2fbe55..5b86e78 100644
--- a/tests/libs/Android.bp
+++ b/tests/libs/Android.bp
@@ -15,6 +15,7 @@
 //
 
 package {
+    default_team: "trendy_team_native_tools_libraries",
     default_applicable_licenses: ["bionic_tests_license"],
 }
 
@@ -29,11 +30,11 @@
         "-Wl,--rpath,${ORIGIN}",
         "-Wl,--enable-new-dtags",
     ],
+    static_libs: ["libbase"],
     relative_install_path: "bionic-loader-test-libs",
     gtest: false,
     sanitize: {
         address: false,
-        fuzzer: false,
     },
     stl: "libc++_static",
     target: {
@@ -47,20 +48,28 @@
 }
 
 // -----------------------------------------------------------------------------
+// Test library ELFs for linker page size related tests
+// -----------------------------------------------------------------------------
+cc_test_library {
+    name: "libtest_elf_max_page_size_4kib",
+    defaults: ["bionic_testlib_defaults"],
+    srcs: ["elf_max_page_size.c"],
+    ldflags: ["-z max-page-size=0x1000"],
+}
+
+// -----------------------------------------------------------------------------
 // Libraries and helper binaries for ELF TLS
 // -----------------------------------------------------------------------------
 cc_test_library {
     name: "libtest_elftls_shared_var",
     defaults: ["bionic_testlib_defaults"],
     srcs: ["elftls_shared_var.cpp"],
-    cflags: ["-fno-emulated-tls"],
 }
 
 cc_test_library {
     name: "libtest_elftls_shared_var_ie",
     defaults: ["bionic_testlib_defaults"],
     srcs: ["elftls_shared_var_ie.cpp"],
-    cflags: ["-fno-emulated-tls"],
     shared_libs: ["libtest_elftls_shared_var"],
 }
 
@@ -68,7 +77,6 @@
     name: "libtest_elftls_tprel",
     defaults: ["bionic_testlib_defaults"],
     srcs: ["elftls_tprel.cpp"],
-    cflags: ["-fno-emulated-tls"],
 }
 
 cc_test {
@@ -82,32 +90,27 @@
     name: "libtest_elftls_dynamic",
     defaults: ["bionic_testlib_defaults"],
     srcs: ["elftls_dynamic.cpp"],
-    cflags: ["-fno-emulated-tls"],
     shared_libs: ["libtest_elftls_shared_var"],
 }
 
 cc_test {
-   name: "thread_exit_cb_helper",
-   defaults: ["bionic_testlib_defaults"],
-   srcs: ["thread_exit_cb_helper.cpp"],
-   cflags: ["-fno-emulated-tls"],
+    name: "thread_exit_cb_helper",
+    defaults: ["bionic_testlib_defaults"],
+    srcs: ["thread_exit_cb_helper.cpp"],
 }
 
 cc_test {
-   name: "tls_properties_helper",
-   defaults: ["bionic_testlib_defaults"],
-   srcs: ["tls_properties_helper.cpp"],
-   cflags: ["-fno-emulated-tls"],
-   shared_libs: ["libtest_elftls_shared_var"],
+    name: "tls_properties_helper",
+    defaults: ["bionic_testlib_defaults"],
+    srcs: ["tls_properties_helper.cpp"],
+    shared_libs: ["libtest_elftls_shared_var"],
 }
 
-
 cc_test_library {
     name: "libtest_elftls_dynamic_filler_1",
     defaults: ["bionic_testlib_defaults"],
     srcs: ["elftls_dynamic_filler.cpp"],
     cflags: [
-        "-fno-emulated-tls",
         "-DTLS_FILLER=100",
     ],
 }
@@ -117,7 +120,6 @@
     defaults: ["bionic_testlib_defaults"],
     srcs: ["elftls_dynamic_filler.cpp"],
     cflags: [
-        "-fno-emulated-tls",
         "-DTLS_FILLER=200",
     ],
 }
@@ -127,11 +129,57 @@
     defaults: ["bionic_testlib_defaults"],
     srcs: ["elftls_dynamic_filler.cpp"],
     cflags: [
-        "-fno-emulated-tls",
         "-DTLS_FILLER=300",
     ],
 }
 
+cc_test_library {
+    name: "libtest_elftls_dynamic_filler_4",
+    defaults: ["bionic_testlib_defaults"],
+    srcs: ["elftls_dynamic_filler.cpp"],
+    cflags: [
+        "-DTLS_FILLER=400",
+    ],
+}
+
+cc_test_library {
+    name: "libtest_elftls_dynamic_filler_5",
+    defaults: ["bionic_testlib_defaults"],
+    srcs: ["elftls_dynamic_filler.cpp"],
+    cflags: [
+        "-DTLS_FILLER=500",
+    ],
+}
+
+cc_test {
+    name: "elftls_dtv_resize_helper",
+    defaults: [
+        "bionic_testlib_defaults",
+        "bionic_targets_only",
+    ],
+    srcs: ["elftls_dtv_resize_helper.cpp"],
+    include_dirs: [
+        "bionic/libc",
+    ],
+    static_libs: [
+        "libbase",
+    ],
+}
+
+cc_test {
+    name: "elftls_align_test_helper",
+    defaults: ["bionic_testlib_defaults"],
+    srcs: ["elftls_align_test_helper.cpp"],
+    stl: "none", // avoid including extra TLS variables in the executable
+}
+
+cc_test {
+    name: "elftls_skew_align_test_helper",
+    defaults: ["bionic_testlib_defaults"],
+    srcs: ["elftls_skew_align_test_helper.cpp"],
+    stl: "none", // avoid including extra TLS variables in the executable
+}
+
 // -----------------------------------------------------------------------------
 // Library to test gnu-styled hash
 // -----------------------------------------------------------------------------
@@ -243,6 +291,61 @@
 }
 
 // -----------------------------------------------------------------------------
+// Libraries and binaries used by memtag_stack_dlopen_test tests
+// -----------------------------------------------------------------------------
+cc_test_library {
+    name: "libtest_simple_memtag_stack",
+    sanitize: {
+        memtag_stack: true,
+    },
+    srcs: ["dlopen_testlib_simple.cpp"],
+}
+
+cc_test_library {
+    name: "libtest_depends_on_simple_memtag_stack",
+    sanitize: {
+        memtag_stack: false,
+    },
+    shared_libs: [
+        "libtest_simple_memtag_stack",
+    ],
+    srcs: ["dlopen_testlib_depends_on_simple.cpp"],
+}
+
+cc_binary {
+    name: "testbinary_is_stack_mte_after_dlopen",
+    sanitize: {
+        memtag_stack: false,
+        memtag_heap: true,
+    },
+    srcs: ["testbinary_is_stack_mte_after_dlopen.cpp"],
+}
+
+cc_binary {
+    name: "testbinary_depends_on_simple_memtag_stack",
+    sanitize: {
+        memtag_stack: false,
+        memtag_heap: true,
+    },
+    shared_libs: [
+        "libtest_simple_memtag_stack",
+    ],
+    srcs: ["testbinary_is_stack_mte.cpp"],
+}
+
+cc_binary {
+    name: "testbinary_depends_on_depends_on_simple_memtag_stack",
+    sanitize: {
+        memtag_stack: false,
+        memtag_heap: true,
+    },
+    shared_libs: [
+        "libtest_depends_on_simple_memtag_stack",
+    ],
+    srcs: ["testbinary_is_stack_mte.cpp"],
+}
+
+// -----------------------------------------------------------------------------
 // Libraries used by hwasan_test
 // -----------------------------------------------------------------------------
 cc_test_library {
@@ -645,7 +748,6 @@
     ],
     sanitize: {
         address: false,
-        fuzzer: false,
     },
     stl: "libc++_static",
     target: {
@@ -1502,7 +1604,7 @@
     shared_libs: ["ld_config_test_helper_lib2"],
     relative_install_path: "bionic-loader-test-libs/ns2",
     // Mark the library DF_1_GLOBAL so it is added to every linker namespace.
-    ldflags: ["-Wl,-z,global"]
+    ldflags: ["-Wl,-z,global"],
 }
 
 cc_test_library {
@@ -1551,7 +1653,6 @@
     srcs: ["segment_gap_inner.cpp"],
 }
 
-
 // -----------------------------------------------------------------------------
 // Check that we support all kinds of relocations: regular, "relocation packer",
 // and both the old and new SHT_RELR constants.
@@ -1600,121 +1701,153 @@
 }
 
 cc_defaults {
-  name: "bionic_targets_only",
-  enabled: false,
-  target: {
-     android: {
-       enabled: true,
-     },
-     linux_bionic: {
-       enabled: true,
-     },
-   },
+    name: "bionic_targets_only",
+    enabled: false,
+    target: {
+        android: {
+            enabled: true,
+        },
+        linux_bionic: {
+            enabled: true,
+        },
+    },
 }
 
 cc_test {
-   name: "heap_tagging_sync_helper",
-   defaults: ["bionic_testlib_defaults", "bionic_targets_only"],
-   srcs: ["heap_tagging_helper.cpp"],
-   sanitize: {
-     memtag_heap: true,
-     diag: {
-       memtag_heap: true,
-     },
-   },
+    name: "heap_tagging_sync_helper",
+    defaults: [
+        "bionic_testlib_defaults",
+        "bionic_targets_only",
+    ],
+    srcs: ["heap_tagging_helper.cpp"],
+    sanitize: {
+        memtag_heap: true,
+        diag: {
+            memtag_heap: true,
+        },
+        hwaddress: false,
+    },
 }
 
 cc_test {
-   name: "heap_tagging_async_helper",
-   defaults: ["bionic_testlib_defaults", "bionic_targets_only"],
-   srcs: ["heap_tagging_helper.cpp"],
-   sanitize: {
-     memtag_heap: true,
-     diag: {
-       memtag_heap: false,
-     },
-   },
+    name: "heap_tagging_async_helper",
+    defaults: [
+        "bionic_testlib_defaults",
+        "bionic_targets_only",
+    ],
+    srcs: ["heap_tagging_helper.cpp"],
+    sanitize: {
+        memtag_heap: true,
+        diag: {
+            memtag_heap: false,
+        },
+        hwaddress: false,
+    },
 }
 
 cc_test {
-   name: "heap_tagging_disabled_helper",
-   defaults: ["bionic_testlib_defaults", "bionic_targets_only"],
-   srcs: ["heap_tagging_helper.cpp"],
-   sanitize: {
-     memtag_heap: false,
-   },
+    name: "heap_tagging_disabled_helper",
+    defaults: [
+        "bionic_testlib_defaults",
+        "bionic_targets_only",
+    ],
+    srcs: ["heap_tagging_helper.cpp"],
+    sanitize: {
+        memtag_heap: false,
+        hwaddress: false,
+    },
 }
 
 cc_test {
-   name: "heap_tagging_static_sync_helper",
-   defaults: ["bionic_testlib_defaults", "bionic_targets_only"],
-   srcs: ["heap_tagging_helper.cpp"],
-   static_executable: true,
-   sanitize: {
-     memtag_heap: true,
-     diag: {
-       memtag_heap: true,
-     },
-   },
+    name: "heap_tagging_static_sync_helper",
+    defaults: [
+        "bionic_testlib_defaults",
+        "bionic_targets_only",
+    ],
+    srcs: ["heap_tagging_helper.cpp"],
+    static_executable: true,
+    sanitize: {
+        memtag_heap: true,
+        diag: {
+            memtag_heap: true,
+        },
+        hwaddress: false,
+    },
 }
 
 cc_test {
-   name: "heap_tagging_static_async_helper",
-   defaults: ["bionic_testlib_defaults", "bionic_targets_only"],
-   srcs: ["heap_tagging_helper.cpp"],
-   static_executable: true,
-   sanitize: {
-     memtag_heap: true,
-     diag: {
-       memtag_heap: false,
-     },
-   },
+    name: "heap_tagging_static_async_helper",
+    defaults: [
+        "bionic_testlib_defaults",
+        "bionic_targets_only",
+    ],
+    srcs: ["heap_tagging_helper.cpp"],
+    static_executable: true,
+    sanitize: {
+        memtag_heap: true,
+        diag: {
+            memtag_heap: false,
+        },
+        hwaddress: false,
+    },
 }
 
 cc_test {
-   name: "heap_tagging_static_disabled_helper",
-   defaults: ["bionic_testlib_defaults", "bionic_targets_only"],
-   srcs: ["heap_tagging_helper.cpp"],
-   static_executable: true,
-   sanitize: {
-     memtag_heap: false,
-   },
+    name: "heap_tagging_static_disabled_helper",
+    defaults: [
+        "bionic_testlib_defaults",
+        "bionic_targets_only",
+    ],
+    srcs: ["heap_tagging_helper.cpp"],
+    static_executable: true,
+    sanitize: {
+        memtag_heap: false,
+        hwaddress: false,
+    },
 }
 
 cc_test {
-   name: "stack_tagging_helper",
-   defaults: ["bionic_testlib_defaults", "bionic_targets_only"],
-   srcs: ["stack_tagging_helper.cpp"],
-   sanitize: {
-     memtag_heap: true,
-     memtag_stack: true,
-     diag: {
-       memtag_heap: true,
-     },
-   },
-   header_libs: ["bionic_libc_platform_headers"],
-   cflags: ["-fexceptions"],
+    name: "stack_tagging_helper",
+    defaults: [
+        "bionic_testlib_defaults",
+        "bionic_targets_only",
+    ],
+    srcs: ["stack_tagging_helper.cpp"],
+    sanitize: {
+        memtag_heap: true,
+        memtag_stack: true,
+        diag: {
+            memtag_heap: true,
+        },
+        hwaddress: false,
+    },
+    header_libs: ["bionic_libc_platform_headers"],
+    cflags: ["-fexceptions"],
 }
 
 cc_test {
-   name: "stack_tagging_static_helper",
-   defaults: ["bionic_testlib_defaults", "bionic_targets_only"],
-   srcs: ["stack_tagging_helper.cpp"],
-   static_executable: true,
-   sanitize: {
-     memtag_heap: true,
-     memtag_stack: true,
-     diag: {
-       memtag_heap: true,
-     },
-   },
-   header_libs: ["bionic_libc_platform_headers"],
-   cflags: ["-fexceptions"],
+    name: "stack_tagging_static_helper",
+    defaults: [
+        "bionic_testlib_defaults",
+        "bionic_targets_only",
+    ],
+    srcs: ["stack_tagging_helper.cpp"],
+    static_executable: true,
+    sanitize: {
+        memtag_heap: true,
+        memtag_stack: true,
+        diag: {
+            memtag_heap: true,
+        },
+        hwaddress: false,
+    },
+    header_libs: ["bionic_libc_platform_headers"],
+    cflags: ["-fexceptions"],
 }
 
 cc_genrule {
     name: "libdlext_test_zip_zipaligned",
-     out: ["bionic-loader-test-libs/libdlext_test_zip/libdlext_test_zip_zipaligned.zip"],
+    out: ["bionic-loader-test-libs/libdlext_test_zip/libdlext_test_zip_zipaligned.zip"],
     tools: [
         "soong_zip",
         "bionic_tests_zipalign",
@@ -1729,12 +1862,8 @@
         " cp $(in) $(genDir)/zipdir/libdir/ &&" +
         " touch $(genDir)/zipdir/empty_file.txt &&" +
         " $(location soong_zip) -o $(out).unaligned -L 0 -C $(genDir)/zipdir -D $(genDir)/zipdir &&" +
-        " $(location bionic_tests_zipalign) 4096 $(out).unaligned $(out)",
+        " $(location bionic_tests_zipalign) 16384 $(out).unaligned $(out)",
 
-    bazel_module: {
-        // Depends on soong_zip, which is not available yet.
-        bp2build_available: false
-    },
 }
 
 cc_genrule {
@@ -1772,10 +1901,91 @@
         " cp $(location :libtest_dt_runpath_y) $(genDir)/zipdir/libdir/dt_runpath_y/$$PRIVATE_LIB_OR_LIB64 &&" +
         " touch $(genDir)/zipdir/empty_file.txt &&" +
         " $(location soong_zip) -o $(out).unaligned -L 0 -C $(genDir)/zipdir -D $(genDir)/zipdir &&" +
-        " $(location bionic_tests_zipalign) 4096 $(out).unaligned $(out)",
+        " $(location bionic_tests_zipalign) 16384 $(out).unaligned $(out)",
+}
 
-    bazel_module: {
-        // Depends on soong_zip, which is not available yet.
-        bp2build_available: false
+cc_defaults {
+    name: "memtag_globals_defaults",
+    defaults: [
+        "bionic_testlib_defaults",
+        "bionic_targets_only"
+    ],
+    cflags: [
+        "-Wno-array-bounds",
+        "-Wno-unused-variable",
+    ],
+    header_libs: ["bionic_libc_platform_headers"],
+    sanitize: {
+        hwaddress: false,
+        memtag_heap: true,
+        memtag_globals: true,
+        diag: {
+            memtag_heap: true,
+        }
+    },
+}
+
+cc_test_library {
+    name: "memtag_globals_dso",
+    defaults: [ "memtag_globals_defaults" ],
+    srcs: ["memtag_globals_dso.cpp"],
+}
+
+cc_test {
+    name: "memtag_globals_binary",
+    defaults: [ "memtag_globals_defaults" ],
+    srcs: ["memtag_globals_binary.cpp"],
+    shared_libs: [ "memtag_globals_dso" ],
+    // This binary is used in the bionic-unit-tests as a data dependency, and is
+    // in the same folder as memtag_globals_dso. But, the default cc_test rules
+    // make this binary (when just explicitly built and shoved in
+    // /data/nativetest64/) end up in a subfolder called
+    // 'memtag_globals_binary'. When this happens, the explicit build fails to
+    // find the DSO because the default rpath is just ${ORIGIN}, and because we
+    // want this to be usable both from bionic-unit-tests and explicit builds,
+    // let's just not put it in a subdirectory.
+    no_named_install_directory: true,
+}
+
+cc_test {
+    name: "memtag_globals_binary_static",
+    defaults: [ "memtag_globals_defaults" ],
+    srcs: ["memtag_globals_binary.cpp"],
+    static_libs: [ "memtag_globals_dso" ],
+    no_named_install_directory: true,
+    static_executable: true,
+}
+
+// This is a regression test for b/314038442, where binaries built *without* MTE
+// globals would have out-of-bounds RELR relocations, which where then `ldg`'d,
+// which resulted in linker crashes.
+cc_test {
+  name: "mte_globals_relr_regression_test_b_314038442",
+  defaults: [
+        "bionic_testlib_defaults",
+        "bionic_targets_only"
+    ],
+    cflags: [ "-Wno-array-bounds" ],
+    ldflags: [ "-Wl,--pack-dyn-relocs=relr" ],
+    srcs: ["mte_globals_relr_regression_test_b_314038442.cpp"],
+    no_named_install_directory: true,
+    sanitize: {
+        memtag_globals: false,
+    },
+}
+
+// Same test as above, but also for MTE globals, just for the sake of it.
+cc_test {
+  name: "mte_globals_relr_regression_test_b_314038442_mte",
+  defaults: [
+        "bionic_testlib_defaults",
+        "bionic_targets_only"
+    ],
+    cflags: [ "-Wno-array-bounds" ],
+    ldflags: [ "-Wl,--pack-dyn-relocs=relr" ],
+    srcs: ["mte_globals_relr_regression_test_b_314038442.cpp"],
+    no_named_install_directory: true,
+    sanitize: {
+      memtag_globals: true,
     },
 }
diff --git a/tests/libs/CHECK.h b/tests/libs/CHECK.h
new file mode 100644
index 0000000..a590233
--- /dev/null
+++ b/tests/libs/CHECK.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#pragma once
+
+// Tests proper can use libbase, but libraries for testing dlopen()
+// should probably avoid dependencies other than ones we're specifically
+// trying to test.
+
+#include <stdio.h>
+#include <stdlib.h>
+
+static inline void check_failure(const char* file, int line, const char* function,
+                                 const char* failed_expression) {
+  fprintf(stderr, "%s:%d: %s: assertion \"%s\" failed\n", file, line, function, failed_expression);
+  fflush(NULL);
+  abort();
+}
+
+#define CHECK(e) \
+  ((e) ? static_cast<void>(0) : check_failure(__FILE__, __LINE__, __PRETTY_FUNCTION__, #e))
diff --git a/tests/libs/cfi_test_helper.cpp b/tests/libs/cfi_test_helper.cpp
index c1a7b6d..71cdc89 100644
--- a/tests/libs/cfi_test_helper.cpp
+++ b/tests/libs/cfi_test_helper.cpp
@@ -14,11 +14,10 @@
  * limitations under the License.
  */
 
-#include <assert.h>
 #include <stdint.h>
 #include <stdlib.h>
 
-#include "libs_utils.h"
+#include "CHECK.h"
 
 // This library is built for all targets, including host tests, so __cfi_slowpath may not be
 // present. But it is only used in the bionic loader tests.
diff --git a/tests/libs/cfi_test_helper2.cpp b/tests/libs/cfi_test_helper2.cpp
index 11a6036..d7cd495 100644
--- a/tests/libs/cfi_test_helper2.cpp
+++ b/tests/libs/cfi_test_helper2.cpp
@@ -14,10 +14,9 @@
  * limitations under the License.
  */
 
-#include <assert.h>
 #include <dlfcn.h>
 
-#include "libs_utils.h"
+#include "CHECK.h"
 
 int main(void) {
   void* handle;
diff --git a/tests/libs/dlopen_b.cpp b/tests/libs/dlopen_b.cpp
index 092c96c..5b36242 100644
--- a/tests/libs/dlopen_b.cpp
+++ b/tests/libs/dlopen_b.cpp
@@ -1,8 +1,9 @@
 #include <dlfcn.h>
-extern "C" void *dlopen_b() {
-  // Work around for http://b/20049306, which isn't going to be fixed.
-  static int defeat_sibling_call_optimization = 0;
 
+// Work around for http://b/20049306, which isn't going to be fixed.
+int defeat_sibling_call_optimization = 0;
+
+extern "C" void* dlopen_b() {
   // This is supposed to succeed because this library has DT_RUNPATH
   // for libtest_dt_runpath_x.so which should be taken into account
   // by dlopen.
diff --git a/libm/fenv-access.h b/tests/libs/dlopen_testlib_depends_on_simple.cpp
similarity index 84%
copy from libm/fenv-access.h
copy to tests/libs/dlopen_testlib_depends_on_simple.cpp
index 7acb34d..3652be8 100644
--- a/libm/fenv-access.h
+++ b/tests/libs/dlopen_testlib_depends_on_simple.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,8 +26,11 @@
  * SUCH DAMAGE.
  */
 
-#pragma once
+#include <stdint.h>
+#include <stdlib.h>
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
-#endif
+extern "C" bool dlopen_testlib_simple_func();
+
+extern "C" bool dlopen_testlib_call_simple_func() {
+  return dlopen_testlib_simple_func();
+}
diff --git a/tests/libs/dlopen_testlib_simple_hwasan.cpp b/tests/libs/dlopen_testlib_simple_hwasan.cpp
index b92e05f..ddf8a31 100644
--- a/tests/libs/dlopen_testlib_simple_hwasan.cpp
+++ b/tests/libs/dlopen_testlib_simple_hwasan.cpp
@@ -1,17 +1,29 @@
 /*
  * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
  *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
  *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
  */
 
 #include <stdint.h>
diff --git a/libc/bionic/strnlen.c b/tests/libs/elf_max_page_size.c
similarity index 74%
copy from libc/bionic/strnlen.c
copy to tests/libs/elf_max_page_size.c
index 2c6f60a..24c7e89 100644
--- a/libc/bionic/strnlen.c
+++ b/tests/libs/elf_max_page_size.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,14 +25,26 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <string.h>
 
-size_t  strnlen(const char*  str, size_t  maxlen)
-{
-    char*  p = memchr(str, 0, maxlen);
+#include "elf_max_page_size.h"
 
-    if (p == NULL)
-        return maxlen;
-    else
-        return (p - str);
+const int ro0 = RO0;
+const int ro1 = RO1;
+int rw0 = RW0;
+
+/* Force some padding alignment */
+int rw1 __attribute__((aligned(0x10000))) = RW1;
+
+int bss0, bss1;
+
+int* const prw0 = &rw0;
+
+int loader_test_func(void) {
+  rw0 += RW0_INCREMENT;
+  rw1 += RW1_INCREMENT;
+
+  bss0 += BSS0_INCREMENT;
+  bss1 += BSS1_INCREMENT;
+
+  return ro0 + ro1 + rw0 + rw1 + bss0 + bss1 + *prw0;
 }
diff --git a/libm/fenv-access.h b/tests/libs/elf_max_page_size.h
similarity index 72%
copy from libm/fenv-access.h
copy to tests/libs/elf_max_page_size.h
index 7acb34d..846a8b6 100644
--- a/libm/fenv-access.h
+++ b/tests/libs/elf_max_page_size.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,8 +26,20 @@
  * SUCH DAMAGE.
  */
 
-#pragma once
+#define RO0 23
+#define RO1 234
+#define RW0 2345
+#define RW1 23456
+#define BSS0 0
+#define BSS1 0
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
-#endif
+#define RW0_INCREMENT 12
+#define RW1_INCREMENT 123
+#define BSS0_INCREMENT 1234
+#define BSS1_INCREMENT 12345
+
+#define TEST_RESULT_BASE (RO0 + RO1 + RW0 + RW1 + BSS0 + BSS1 + RW0)
+#define TEST_RESULT_INCREMENT \
+  (RW0_INCREMENT + RW1_INCREMENT + BSS0_INCREMENT + BSS1_INCREMENT + RW0_INCREMENT)
+
+typedef int (*loader_test_func_t)(void);
diff --git a/tests/libs/elftls_align_test_helper.cpp b/tests/libs/elftls_align_test_helper.cpp
new file mode 100644
index 0000000..72e81da
--- /dev/null
+++ b/tests/libs/elftls_align_test_helper.cpp
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <stdint.h>
+
+#include "CHECK.h"
+
+struct AlignedVar {
+  int field;
+  char buffer[0x1000 - sizeof(int)];
+} __attribute__((aligned(0x400)));
+
+struct SmallVar {
+  int field;
+  char buffer[0xeee - sizeof(int)];
+};
+
+// The single .tdata section should have a size that isn't a multiple of its
+// alignment.
+__thread struct AlignedVar var1 = {13};
+__thread struct AlignedVar var2 = {17};
+__thread struct SmallVar var3 = {19};
+
+static uintptr_t var_addr(void* value) {
+  // Maybe the optimizer would assume that the variable has the alignment it is
+  // declared with.
+  asm volatile("" : "+r,m"(value) : : "memory");
+  return reinterpret_cast<uintptr_t>(value);
+}
+
+int main() {
+  CHECK((var_addr(&var1) & 0x3ff) == 0);
+  CHECK((var_addr(&var2) & 0x3ff) == 0);
+  CHECK(var1.field == 13);
+  CHECK(var2.field == 17);
+  CHECK(var3.field == 19);
+  return 0;
+}
diff --git a/tests/libs/elftls_dtv_resize_helper.cpp b/tests/libs/elftls_dtv_resize_helper.cpp
new file mode 100644
index 0000000..7fb6fb5
--- /dev/null
+++ b/tests/libs/elftls_dtv_resize_helper.cpp
@@ -0,0 +1,222 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <dlfcn.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <functional>
+#include <iostream>
+
+#include "bionic/pthread_internal.h"
+
+constexpr bool kDumpModulesForDebugging = false;
+
+// The old external/libcxx doesn't have operator<< for nullptr.
+// TODO(b/175635923): Remove this hack after upgrading libc++.
+template <class T>
+T fix_nullptr(T&& arg) {
+  return arg;
+}
+void* fix_nullptr(nullptr_t arg) {
+  return static_cast<void*>(arg);
+}
+
+template <class Val1, class Val2, class Compare>
+void check(int line, const char* val1_expr, Val1&& val1, const char* val2_expr, Val2&& val2,
+           Compare compare) {
+  if (!compare(val1, val2)) {
+    std::cerr << __FILE__ << ":" << line << ": assertion failed: LHS(" << val1_expr << ") is "
+              << fix_nullptr(val1) << ", RHS(" << val2_expr << ") is " << fix_nullptr(val2) << "\n"
+              << std::flush;
+    abort();
+  }
+}
+
+#define ASSERT_EQ(val1, val2) check(__LINE__, #val1, val1, #val2, val2, std::equal_to())
+#define ASSERT_NE(val1, val2) check(__LINE__, #val1, val1, #val2, val2, std::not_equal_to())
+#define ASSERT_LT(val1, val2) check(__LINE__, #val1, val1, #val2, val2, std::less())
+#define ASSERT_LE(val1, val2) check(__LINE__, #val1, val1, #val2, val2, std::less_equal())
+
+static size_t highest_loaded_modid() {
+  size_t result = 0;
+  auto update_result = [](struct dl_phdr_info* info, size_t size __unused, void* data) {
+    size_t& result = *reinterpret_cast<size_t*>(data);
+    if (kDumpModulesForDebugging) {
+      fprintf(stderr, "module %s: TLS modid %zu\n", info->dlpi_name, info->dlpi_tls_modid);
+    }
+    result = std::max(result, info->dlpi_tls_modid);
+    return 0;
+  };
+  dl_iterate_phdr(update_result, &result);
+  return result;
+}
+
+static TlsDtv* dtv() {
+  return __get_tcb_dtv(__get_bionic_tcb());
+}
+
+static size_t highest_modid_in_dtv() {
+  TlsDtv* current_dtv = dtv();
+  size_t result = 0;
+  for (size_t i = 0; i < current_dtv->count; ++i) {
+    if (current_dtv->modules[i] != nullptr) {
+      result = __tls_module_idx_to_id(i);
+    }
+  }
+  return result;
+}
+
+// Unused, but ensures that the test executable has a TLS segment. With a
+// new-enough libc++_static.a, the test executable will tend to has a TLS
+// segment to hold the libc++ EH globals pointer.
+__thread int g_tls_var_placeholder = 42;
+
+int main() {
+  // Prevent this TLS variable from being optimized away.
+  ASSERT_EQ(42, g_tls_var_placeholder);
+
+  auto load_lib = [](const char* soname) {
+    void* lib = dlopen(soname, RTLD_LOCAL | RTLD_NOW);
+    ASSERT_NE(nullptr, lib);
+    auto func = reinterpret_cast<int (*)()>(dlsym(lib, "bump"));
+    ASSERT_NE(nullptr, func);
+    return func;
+  };
+
+  static_assert(sizeof(TlsDtv) == 3 * sizeof(void*),
+                "This test assumes that the Dtv has a 3-word header");
+
+  // Initially there are 2-4 modules:
+  //  - 1: test executable
+  //  - 2: libc
+  //  - 3: libc++ (when using a new-enough libc++)
+  //  - 4: libclang_rt.hwasan (when running with HWASan)
+  size_t first_filler_modid = highest_loaded_modid() + 1;
+  ASSERT_LE(2, highest_loaded_modid());
+  ASSERT_LE(highest_loaded_modid(), 4);
+
+  // The initial DTV is an empty DTV with no generation and a size of 0.
+  TlsDtv* zero_dtv = dtv();
+  ASSERT_EQ(0u, zero_dtv->count);
+  ASSERT_EQ(nullptr, zero_dtv->next);
+  ASSERT_EQ(kTlsGenerationNone, zero_dtv->generation);
+
+  // Load a module. The DTV is still empty unless the TLS variable is accessed.
+  auto func1 = load_lib("libtest_elftls_dynamic_filler_1.so");
+  ASSERT_EQ(zero_dtv, dtv());
+  ASSERT_EQ(first_filler_modid, highest_loaded_modid());
+
+  // After accessing a TLS variable, the DTV should be initialized. It should be
+  // 8 words in size, with a 5-entry capacity.
+  ASSERT_EQ(101, func1());
+  TlsDtv* initial_dtv = dtv();
+  ASSERT_EQ(5u, dtv()->count);
+  ASSERT_EQ(zero_dtv, initial_dtv->next);
+  ASSERT_LT(0u, initial_dtv->generation);
+  ASSERT_EQ(first_filler_modid, highest_modid_in_dtv());
+  ASSERT_NE(nullptr, initial_dtv->modules[__tls_module_id_to_idx(first_filler_modid)]);
+
+  size_t current_generation = initial_dtv->generation;
+
+  // Fill the rest of the DTV up. (i.e. Ensure that exactly 5 modules with TLS
+  // segments are loaded.)
+  auto fill_entry = [&](size_t modid, const char* soname, int tls_var_value) {
+    if (highest_modid_in_dtv() == modid - 1) {
+      auto func = load_lib(soname);
+
+      // Loading the module doesn't affect the DTV yet.
+      ASSERT_EQ(initial_dtv, dtv());
+      ASSERT_EQ(modid, highest_loaded_modid());
+      ASSERT_EQ(modid - 1, highest_modid_in_dtv());
+      ASSERT_EQ(current_generation, initial_dtv->generation);
+
+      // Access the TLS variable, which will allocate it in the DTV.
+      ASSERT_EQ(tls_var_value, func());
+
+      // Verify allocation and a bumped generation.
+      ASSERT_EQ(initial_dtv, dtv());
+      ASSERT_EQ(modid, highest_modid_in_dtv());
+      ASSERT_LT(current_generation, initial_dtv->generation);
+      current_generation = initial_dtv->generation;
+    }
+  };
+
+  fill_entry(4u, "libtest_elftls_dynamic_filler_2.so", 201);
+  fill_entry(5u, "libtest_elftls_dynamic_filler_3.so", 301);
+  ASSERT_EQ(5u, highest_modid_in_dtv());
+
+  // Load module 6, which will require doubling the size of the DTV.
+  auto func4 = load_lib("libtest_elftls_dynamic_filler_4.so");
+  ASSERT_EQ(6u, highest_loaded_modid());
+  ASSERT_EQ(5u, highest_modid_in_dtv());
+  ASSERT_EQ(initial_dtv, dtv());
+
+  // Access a TLS variable from the first filler module.
+  ASSERT_EQ(102, func1());
+  ASSERT_EQ(5u, highest_modid_in_dtv());
+#if defined(__aarch64__) || defined(__riscv)
+  // The arm64 and riscv64 TLSDESC resolver doesn't update the DTV if it is new enough for
+  // the given access.
+  ASSERT_EQ(initial_dtv, dtv());
+  ASSERT_EQ(5u, dtv()->count);
+  ASSERT_EQ(current_generation, dtv()->generation);
+#else
+  // __tls_get_addr updates the DTV anytime the generation counter changes, but
+  // the highest modid in the DTV is still 5, because module 6 hasn't been
+  // allocated yet.
+  ASSERT_NE(initial_dtv, dtv());
+  ASSERT_EQ(13u, dtv()->count);
+  ASSERT_LT(current_generation, dtv()->generation);
+#endif
+
+  // Accessing the TLS variable in the latest module will always expand the DTV.
+  ASSERT_EQ(401, func4());
+  TlsDtv* new_dtv = dtv();
+  ASSERT_NE(initial_dtv, new_dtv);
+  ASSERT_EQ(initial_dtv, new_dtv->next);
+  ASSERT_EQ(13u, new_dtv->count);
+  ASSERT_LT(current_generation, new_dtv->generation);
+  ASSERT_EQ(6u, highest_modid_in_dtv());
+  current_generation = new_dtv->generation;
+
+  // Load one more filler, module 7.
+  auto func5 = load_lib("libtest_elftls_dynamic_filler_5.so");
+  ASSERT_EQ(103, func1());
+  ASSERT_EQ(402, func4());
+  ASSERT_EQ(6u, highest_modid_in_dtv());
+  ASSERT_EQ(501, func5());
+  ASSERT_EQ(7u, highest_modid_in_dtv());
+
+  // Verify that no new DTV has been allocated.
+  ASSERT_EQ(new_dtv, dtv());
+  ASSERT_EQ(13u, new_dtv->count);
+  ASSERT_LT(current_generation, new_dtv->generation);
+
+  return 0;
+}
diff --git a/tests/libs/elftls_dynamic.cpp b/tests/libs/elftls_dynamic.cpp
index 2500484..df3ad75 100644
--- a/tests/libs/elftls_dynamic.cpp
+++ b/tests/libs/elftls_dynamic.cpp
@@ -66,6 +66,18 @@
   return ++local_var_1 + ++local_var_2;
 }
 
+extern "C" int get_local_var1() {
+  return local_var_1;
+}
+
+extern "C" int* get_local_var1_addr() {
+  return &local_var_1;
+}
+
+extern "C" int get_local_var2() {
+  return local_var_2;
+}
+
 __attribute__((weak)) extern "C" __thread int missing_weak_dyn_tls;
 
 extern "C" int* missing_weak_dyn_tls_addr() {
diff --git a/tests/libs/elftls_skew_align_test_helper.cpp b/tests/libs/elftls_skew_align_test_helper.cpp
new file mode 100644
index 0000000..f7f082d
--- /dev/null
+++ b/tests/libs/elftls_skew_align_test_helper.cpp
@@ -0,0 +1,74 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+// LLD tries not to generate a PT_TLS segment where (p_vaddr % p_align) is
+// non-zero. It can still do so if the p_align values are greater than a page.
+
+#include <stdint.h>
+#include <unistd.h>
+
+#include "CHECK.h"
+
+struct SmallVar {
+  int field;
+  char buffer[0x100 - sizeof(int)];
+};
+
+struct AlignedVar {
+  int field;
+  char buffer[0x20000 - sizeof(int)];
+} __attribute__((aligned(0x20000)));
+
+__thread struct SmallVar var1 = {13};
+__thread struct SmallVar var2 = {17};
+__thread struct AlignedVar var3;
+__thread struct AlignedVar var4;
+
+static uintptr_t var_addr(void* value) {
+  // Maybe the optimizer would assume that the variable has the alignment it is
+  // declared with.
+  asm volatile("" : "+r,m"(value) : : "memory");
+  return reinterpret_cast<uintptr_t>(value);
+}
+
+int main() {
+  // Bionic only allocates ELF TLS blocks with up to page alignment.
+  CHECK((var_addr(&var3) & (getpagesize() - 1)) == 0);
+  CHECK((var_addr(&var4) & (getpagesize() - 1)) == 0);
+
+  // TODO: These TLS accesses are broken with the current version of LLD. See
+  // https://github.com/llvm/llvm-project/issues/84743.
+#if !defined(__riscv)
+  CHECK(var1.field == 13);
+  CHECK(var2.field == 17);
+#endif
+
+  CHECK(var3.field == 0);
+  CHECK(var4.field == 0);
+  return 0;
+}
diff --git a/tests/libs/heap_tagging_helper.cpp b/tests/libs/heap_tagging_helper.cpp
index ed5601a..7aad392 100644
--- a/tests/libs/heap_tagging_helper.cpp
+++ b/tests/libs/heap_tagging_helper.cpp
@@ -16,12 +16,15 @@
 
 #include <signal.h>
 #include <stdio.h>
+#include <stdlib.h>
 #include <sys/auxv.h>
 #include <sys/cdefs.h>
 #include <sys/mman.h>
 #include <unistd.h>
 #include <memory>
 
+#include <android-base/stringprintf.h>
+
 void action(int signo, siginfo_t* info __unused, void*) {
 #ifdef __ANDROID__
   if (signo == 11 && info->si_code == SEGV_MTEAERR) {
@@ -89,6 +92,13 @@
   }
 #endif  // __aarch64__
 
+  // In fact, make sure that there are no tagged mappings at all.
+  auto cmd = android::base::StringPrintf("cat /proc/%d/smaps | grep -E 'VmFlags:.* mt'", getpid());
+  if (system(cmd.c_str()) == 0) {
+    fprintf(stderr, "unexpected PROT_MTE mappings found\n");
+    return 1;
+  }
+
   fprintf(stderr, "normal exit\n");
   return 0;
 }
diff --git a/tests/libs/libs_utils.h b/tests/libs/libs_utils.h
deleted file mode 100644
index 7dae241..0000000
--- a/tests/libs/libs_utils.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef LIBS_UTILS_H
-#define LIBS_UTILS_H
-
-#include <assert.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#define CHECK(e) \
-    ((e) ? static_cast<void>(0) : __assert2(__FILE__, __LINE__, __PRETTY_FUNCTION__, #e))
-
-#endif  // LIBS_UTILS_H
diff --git a/libm/fenv-access.h b/tests/libs/memtag_globals.h
similarity index 67%
copy from libm/fenv-access.h
copy to tests/libs/memtag_globals.h
index 7acb34d..a03abae 100644
--- a/libm/fenv-access.h
+++ b/tests/libs/memtag_globals.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,8 +26,18 @@
  * SUCH DAMAGE.
  */
 
-#pragma once
+#include <utility>
+#include <vector>
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
-#endif
+void check_tagged(const void* a);
+void check_untagged(const void* a);
+void check_matching_tags(const void* a, const void* b);
+void check_eq(const void* a, const void* b);
+
+void dso_check_assertions(bool enforce_tagged);
+void dso_print_variables();
+
+void print_variable_address(const char* name, const void* ptr);
+void print_variables(const char* header,
+                     const std::vector<std::pair<const char*, const void*>>& tagged_variables,
+                     const std::vector<std::pair<const char*, const void*>>& untagged_variables);
diff --git a/tests/libs/memtag_globals_binary.cpp b/tests/libs/memtag_globals_binary.cpp
new file mode 100644
index 0000000..9248728
--- /dev/null
+++ b/tests/libs/memtag_globals_binary.cpp
@@ -0,0 +1,195 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <string>
+#include <vector>
+
+#include "memtag_globals.h"
+
+// Adapted from the LLD test suite: lld/test/ELF/Inputs/aarch64-memtag-globals.s
+
+/// Global variables defined here, of various semantics.
+char global[30] = {};
+__attribute__((no_sanitize("memtag"))) int global_untagged = 0;
+const int const_global = 0;
+static const int hidden_const_global = 0;
+static char hidden_global[12] = {};
+__attribute__((visibility("hidden"))) int hidden_attr_global = 0;
+__attribute__((visibility("hidden"))) const int hidden_attr_const_global = 0;
+
+/// Should be untagged.
+__thread int tls_global;
+__thread static int hidden_tls_global;
+
+/// Tagged, from the other file.
+extern int global_extern;
+/// Untagged, from the other file.
+extern __attribute__((no_sanitize("memtag"))) int global_extern_untagged;
+/// Tagged here, but untagged in the definition found in the sister objfile
+/// (explicitly).
+extern int global_extern_untagged_definition_but_tagged_import;
+
+/// ABS64 relocations. Also, forces symtab entries for local and external
+/// globals.
+char* pointer_to_global = &global[0];
+char* pointer_inside_global = &global[17];
+char* pointer_to_global_end = &global[30];
+char* pointer_past_global_end = &global[48];
+int* pointer_to_global_untagged = &global_untagged;
+const int* pointer_to_const_global = &const_global;
+/// RELATIVE relocations.
+const int* pointer_to_hidden_const_global = &hidden_const_global;
+char* pointer_to_hidden_global = &hidden_global[0];
+int* pointer_to_hidden_attr_global = &hidden_attr_global;
+const int* pointer_to_hidden_attr_const_global = &hidden_attr_const_global;
+/// RELATIVE relocations with special AArch64 MemtagABI semantics, with the
+/// offset ('12' or '16') encoded in the place.
+char* pointer_to_hidden_global_end = &hidden_global[12];
+char* pointer_past_hidden_global_end = &hidden_global[16];
+/// ABS64 relocations.
+int* pointer_to_global_extern = &global_extern;
+int* pointer_to_global_extern_untagged = &global_extern_untagged;
+int* pointer_to_global_extern_untagged_definition_but_tagged_import =
+    &global_extern_untagged_definition_but_tagged_import;
+
+// Force materialization of these globals into the symtab.
+int* get_address_to_tls_global() {
+  return &tls_global;
+}
+int* get_address_to_hidden_tls_global() {
+  return &hidden_tls_global;
+}
+
+static const std::vector<std::pair<const char*, const void*>>& get_expected_tagged_vars() {
+  static std::vector<std::pair<const char*, const void*>> expected_tagged_vars = {
+      {"global", &global},
+      {"pointer_inside_global", pointer_inside_global},
+      {"pointer_to_global_end", pointer_to_global_end},
+      {"pointer_past_global_end", pointer_past_global_end},
+      {"hidden_global", &hidden_global},
+      {"hidden_attr_global", &hidden_attr_global},
+      {"global_extern", &global_extern},
+  };
+  return expected_tagged_vars;
+}
+
+static const std::vector<std::pair<const char*, const void*>>& get_expected_untagged_vars() {
+  static std::vector<std::pair<const char*, const void*>> expected_untagged_vars = {
+      {"global_extern_untagged", &global_extern_untagged},
+      {"global_extern_untagged_definition_but_tagged_import",
+       &global_extern_untagged_definition_but_tagged_import},
+      {"global_untagged", &global_untagged},
+      {"const_global", &const_global},
+      {"hidden_const_global", &hidden_const_global},
+      {"hidden_attr_const_global", &hidden_attr_const_global},
+      {"tls_global", &tls_global},
+      {"hidden_tls_global", &hidden_tls_global},
+  };
+  return expected_untagged_vars;
+}
+
+void exe_print_variables() {
+  print_variables("  Variables accessible from the binary:\n", get_expected_tagged_vars(),
+                  get_expected_untagged_vars());
+}
+
+// Dump the addresses of the global variables to stderr
+void dso_print();
+void dso_print_others();
+
+void exe_check_assertions(bool check_pointers_are_tagged) {
+  // Check that non-const variables are writeable.
+  *pointer_to_global = 0;
+  *pointer_inside_global = 0;
+  *(pointer_to_global_end - 1) = 0;
+  *pointer_to_global_untagged = 0;
+  *pointer_to_hidden_global = 0;
+  *pointer_to_hidden_attr_global = 0;
+  *(pointer_to_hidden_global_end - 1) = 0;
+  *pointer_to_global_extern = 0;
+  *pointer_to_global_extern_untagged = 0;
+  *pointer_to_global_extern_untagged_definition_but_tagged_import = 0;
+
+  if (check_pointers_are_tagged) {
+    for (const auto& [_, pointer] : get_expected_tagged_vars()) {
+      check_tagged(pointer);
+    }
+  }
+
+  for (const auto& [_, pointer] : get_expected_untagged_vars()) {
+    check_untagged(pointer);
+  }
+
+  check_matching_tags(pointer_to_global, pointer_inside_global);
+  check_matching_tags(pointer_to_global, pointer_to_global_end);
+  check_matching_tags(pointer_to_global, pointer_past_global_end);
+  check_eq(pointer_inside_global, pointer_to_global + 17);
+  check_eq(pointer_to_global_end, pointer_to_global + 30);
+  check_eq(pointer_past_global_end, pointer_to_global + 48);
+
+  check_matching_tags(pointer_to_hidden_global, pointer_to_hidden_global_end);
+  check_matching_tags(pointer_to_hidden_global, pointer_past_hidden_global_end);
+  check_eq(pointer_to_hidden_global_end, pointer_to_hidden_global + 12);
+  check_eq(pointer_past_hidden_global_end, pointer_to_hidden_global + 16);
+}
+
+void crash() {
+  *pointer_past_global_end = 0;
+}
+
+int main(int argc, char** argv) {
+  bool check_pointers_are_tagged = false;
+  // For an MTE-capable device, provide argv[1] == '1' to enable the assertions
+  // that pointers should be tagged.
+  if (argc >= 2 && argv[1][0] == '1') {
+    check_pointers_are_tagged = true;
+  }
+
+  char* heap_ptr = static_cast<char*>(malloc(1));
+  print_variable_address("heap address", heap_ptr);
+  *heap_ptr = 0;
+  if (check_pointers_are_tagged) check_tagged(heap_ptr);
+  free(heap_ptr);
+
+  exe_print_variables();
+  dso_print_variables();
+
+  exe_check_assertions(check_pointers_are_tagged);
+  dso_check_assertions(check_pointers_are_tagged);
+
+  printf("Assertions were passed. Now doing a global-buffer-overflow.\n");
+  fflush(stdout);
+  crash();
+  printf("global-buffer-overflow went uncaught.\n");
+  return 0;
+}
diff --git a/tests/libs/memtag_globals_dso.cpp b/tests/libs/memtag_globals_dso.cpp
new file mode 100644
index 0000000..9ed264e
--- /dev/null
+++ b/tests/libs/memtag_globals_dso.cpp
@@ -0,0 +1,165 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <vector>
+
+#include "memtag_globals.h"
+
+// Adapted from the LLD test suite: lld/test/ELF/Inputs/aarch64-memtag-globals.s
+
+int global_extern;
+static int global_extern_hidden;
+__attribute__((no_sanitize("memtag"))) int global_extern_untagged;
+__attribute__((no_sanitize("memtag"))) int global_extern_untagged_definition_but_tagged_import;
+
+void assertion_failure() {
+  exit(1);
+}
+
+void check_tagged(const void* a) {
+  uintptr_t a_uptr = reinterpret_cast<uintptr_t>(a);
+#if defined(__aarch64__)
+  if ((a_uptr >> 56) == 0) {
+    fprintf(stderr, "**********************************\n");
+    fprintf(stderr, "Failed assertion:\n");
+    fprintf(stderr, "  tag(0x%zx) != 0\n", a_uptr);
+    fprintf(stderr, "**********************************\n");
+
+    assertion_failure();
+  }
+#endif  // defined(__aarch64__)
+}
+
+void check_untagged(const void* a) {
+  uintptr_t a_uptr = reinterpret_cast<uintptr_t>(a);
+#if defined(__aarch64__)
+  if ((a_uptr >> 56) != 0) {
+    fprintf(stderr, "**********************************\n");
+    fprintf(stderr, "Failed assertion:\n");
+    fprintf(stderr, "  tag(0x%zx) == 0\n", a_uptr);
+    fprintf(stderr, "**********************************\n");
+
+    assertion_failure();
+  }
+#endif  // defined(__aarch64__)
+}
+
+void check_matching_tags(const void* a, const void* b) {
+  uintptr_t a_uptr = reinterpret_cast<uintptr_t>(a);
+  uintptr_t b_uptr = reinterpret_cast<uintptr_t>(b);
+#if defined(__aarch64__)
+  if (a_uptr >> 56 != b_uptr >> 56) {
+    fprintf(stderr, "**********************************\n");
+    fprintf(stderr, "Failed assertion:\n");
+    fprintf(stderr, "  tag(0x%zx) != tag(0x%zx)\n", a_uptr, b_uptr);
+    fprintf(stderr, "**********************************\n");
+
+    assertion_failure();
+  }
+#endif  // defined(__aarch64__)
+}
+
+void check_eq(const void* a, const void* b) {
+  if (a != b) {
+    fprintf(stderr, "**********************************\n");
+    fprintf(stderr, "Failed assertion:\n");
+    fprintf(stderr, "  %p != %p\n", a, b);
+    fprintf(stderr, "**********************************\n");
+
+    assertion_failure();
+  }
+}
+
+#define LONGEST_VARIABLE_NAME "51"
+void print_variable_address(const char* name, const void* ptr) {
+  printf("%" LONGEST_VARIABLE_NAME "s: %16p\n", name, ptr);
+}
+
+static const std::vector<std::pair<const char*, const void*>>& get_expected_tagged_vars() {
+  static std::vector<std::pair<const char*, const void*>> expected_tagged_vars = {
+      {"global_extern", &global_extern},
+      {"global_extern_hidden", &global_extern_hidden},
+  };
+  return expected_tagged_vars;
+}
+
+static const std::vector<std::pair<const char*, const void*>>& get_expected_untagged_vars() {
+  static std::vector<std::pair<const char*, const void*>> expected_untagged_vars = {
+      {"global_extern_untagged", &global_extern_untagged},
+      {"global_extern_untagged_definition_but_tagged_import",
+       &global_extern_untagged_definition_but_tagged_import},
+  };
+  return expected_untagged_vars;
+}
+
+void dso_print_variables() {
+  print_variables("  Variables declared in the DSO:\n", get_expected_tagged_vars(),
+                  get_expected_untagged_vars());
+}
+
+void print_variables(const char* header,
+                     const std::vector<std::pair<const char*, const void*>>& tagged_variables,
+                     const std::vector<std::pair<const char*, const void*>>& untagged_variables) {
+  printf("==========================================================\n");
+  printf("%s", header);
+  printf("==========================================================\n");
+  printf(" Variables expected to be tagged:\n");
+  printf("----------------------------------------------------------\n");
+  for (const auto& [name, pointer] : tagged_variables) {
+    print_variable_address(name, pointer);
+  }
+
+  printf("\n----------------------------------------------------------\n");
+  printf(" Variables expected to be untagged:\n");
+  printf("----------------------------------------------------------\n");
+  for (const auto& [name, pointer] : untagged_variables) {
+    print_variable_address(name, pointer);
+  }
+  printf("\n");
+}
+
+void dso_check_assertions(bool check_pointers_are_tagged) {
+  // Check that non-const variables are writeable.
+  global_extern = 0;
+  global_extern_hidden = 0;
+  global_extern_untagged = 0;
+  global_extern_untagged_definition_but_tagged_import = 0;
+
+  if (check_pointers_are_tagged) {
+    for (const auto& [_, pointer] : get_expected_tagged_vars()) {
+      check_tagged(pointer);
+    }
+  }
+
+  for (const auto& [_, pointer] : get_expected_untagged_vars()) {
+    check_untagged(pointer);
+  }
+}
diff --git a/libc/bionic/sched_cpucount.c b/tests/libs/mte_globals_relr_regression_test_b_314038442.cpp
similarity index 64%
copy from libc/bionic/sched_cpucount.c
copy to tests/libs/mte_globals_relr_regression_test_b_314038442.cpp
index 6f66589..20bbba9 100644
--- a/libc/bionic/sched_cpucount.c
+++ b/tests/libs/mte_globals_relr_regression_test_b_314038442.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,17 +25,31 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#define _GNU_SOURCE 1
-#include <sched.h>
 
-int __sched_cpucount(size_t setsize, const cpu_set_t* set) {
-  int nn = 0;
-  int nn_max = setsize / sizeof(__CPU_BITTYPE);
-  int count = 0;
+#include <stdint.h>
+#include <stdio.h>
 
-  for ( ; nn < nn_max; nn++ ) {
-    count += __builtin_popcountl(set->__bits[nn]);
+static volatile char array[0x10000];
+volatile char* volatile oob_ptr = &array[0x111111111];
+
+unsigned char get_tag(__attribute__((unused)) volatile void* ptr) {
+#if defined(__aarch64__)
+  return static_cast<unsigned char>(reinterpret_cast<uintptr_t>(ptr) >> 56) & 0xf;
+#else   // !defined(__aarch64__)
+  return 0;
+#endif  // defined(__aarch64__)
+}
+
+int main() {
+  printf("Program loaded successfully. %p %p. ", array, oob_ptr);
+  if (get_tag(array) != get_tag(oob_ptr)) {
+    printf("Tags are mismatched!\n");
+    return 1;
   }
-
-  return count;
+  if (get_tag(array) == 0) {
+    printf("Tags are zero!\n");
+  } else {
+    printf("Tags are non-zero\n");
+  }
+  return 0;
 }
diff --git a/tests/libs/preinit_getauxval_test_helper.cpp b/tests/libs/preinit_getauxval_test_helper.cpp
index 2a79b97..53d4cc9 100644
--- a/tests/libs/preinit_getauxval_test_helper.cpp
+++ b/tests/libs/preinit_getauxval_test_helper.cpp
@@ -19,7 +19,7 @@
 #include <unistd.h>
 #include <sys/auxv.h>
 
-#include "libs_utils.h"
+#include "CHECK.h"
 
 static unsigned long g_AT_RANDOM;
 static unsigned long g_AT_PAGESZ;
diff --git a/tests/libs/preinit_syscall_test_helper.cpp b/tests/libs/preinit_syscall_test_helper.cpp
index 9b6b6df..3ca8131 100644
--- a/tests/libs/preinit_syscall_test_helper.cpp
+++ b/tests/libs/preinit_syscall_test_helper.cpp
@@ -19,7 +19,7 @@
 #include <unistd.h>
 #include <sys/auxv.h>
 
-#include "libs_utils.h"
+#include "CHECK.h"
 
 static ssize_t g_result;
 static int g_errno;
diff --git a/tests/libs/segment_gap_outer.cpp b/tests/libs/segment_gap_outer.cpp
index 3ba90d0..0328a99 100644
--- a/tests/libs/segment_gap_outer.cpp
+++ b/tests/libs/segment_gap_outer.cpp
@@ -1,6 +1,7 @@
 #include <android/dlext.h>
 #include <dlfcn.h>
 #include <stdlib.h>
+#include <unistd.h>
 
 extern "C" void __attribute__((section(".custom_text"))) text_before_start_of_gap() {}
 char __attribute__((section(".custom_bss"))) end_of_gap[0x1000];
@@ -10,8 +11,9 @@
   info.flags = ANDROID_DLEXT_RESERVED_ADDRESS;
 
   char* start_of_gap =
-      reinterpret_cast<char*>(reinterpret_cast<uintptr_t>(text_before_start_of_gap) & ~0xfffull) +
-      0x1000;
+      reinterpret_cast<char*>(
+          (reinterpret_cast<uintptr_t>(text_before_start_of_gap) &
+           ~(sysconf(_SC_PAGESIZE) - 1)) + sysconf(_SC_PAGESIZE));
   info.reserved_addr = start_of_gap;
   info.reserved_size = end_of_gap - start_of_gap;
 
diff --git a/tests/libs/segment_gap_outer.lds b/tests/libs/segment_gap_outer.lds
index 527f29e..758b6bc 100644
--- a/tests/libs/segment_gap_outer.lds
+++ b/tests/libs/segment_gap_outer.lds
@@ -3,17 +3,17 @@
   # appropriate alignment between them.
   . = SIZEOF_HEADERS;
   .rodata : {*(.rodata .rodata.*)}
-  . = ALIGN(0x1000);
+  . = ALIGN(CONSTANT (MAXPAGESIZE));
   .text : {*(.text .text.*)}
-  . = ALIGN(0x1000);
+  . = ALIGN(CONSTANT (MAXPAGESIZE));
   .dynamic : {*(.dynamic)}
-  . = ALIGN(0x1000);
+  . = ALIGN(CONSTANT (MAXPAGESIZE));
   .data : {*(.data .data.*)}
   .bss : {*(.bss .bss.*)}
 
   # Now create the gap. We need a text segment first to prevent the linker from
   # merging .bss with .custom_bss.
-  . = ALIGN(0x1000);
+  . = ALIGN(CONSTANT (MAXPAGESIZE));
   .custom_text : {
     *(.custom_text);
   }
diff --git a/tests/libs/stack_tagging_helper.cpp b/tests/libs/stack_tagging_helper.cpp
index d29844d..e7e26af 100644
--- a/tests/libs/stack_tagging_helper.cpp
+++ b/tests/libs/stack_tagging_helper.cpp
@@ -28,7 +28,7 @@
 
 #include <bionic/malloc.h>
 
-#include "libs_utils.h"
+#include "CHECK.h"
 
 #if defined(__aarch64__)
 
@@ -240,14 +240,14 @@
 }
 
 void test_longjmp_sigaltstack() {
-  constexpr size_t kAltStackSize = kStackAllocationSize + PAGE_SIZE * 16;
+  const size_t kAltStackSize = kStackAllocationSize + getpagesize() * 16;
   SigAltStackScoped sigAltStackScoped(kAltStackSize);
   SigActionScoped sigActionScoped(
       SIGUSR1, [](int, siginfo_t*, void*) { check_longjmp_restores_tags(); });
   raise(SIGUSR1);
 
   // same for a secondary thread
-  std::thread t([]() {
+  std::thread t([&]() {
     SigAltStackScoped sigAltStackScoped(kAltStackSize);
     raise(SIGUSR1);
   });
diff --git a/libc/bionic/sched_cpualloc.c b/tests/libs/testbinary_is_stack_mte.cpp
similarity index 73%
rename from libc/bionic/sched_cpualloc.c
rename to tests/libs/testbinary_is_stack_mte.cpp
index 345de91..0cdc466 100644
--- a/libc/bionic/sched_cpualloc.c
+++ b/tests/libs/testbinary_is_stack_mte.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2010 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,19 +25,28 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#define _GNU_SOURCE 1
-#include <sched.h>
+
+#include <stdint.h>
+#include <stdio.h>
 #include <stdlib.h>
 
-cpu_set_t* __sched_cpualloc(size_t count)
-{
-    // The static analyzer complains that CPU_ALLOC_SIZE eventually expands to
-    // N * sizeof(unsigned long), which is incompatible with cpu_set_t. This is
-    // on purpose.
-    return (cpu_set_t*) malloc(CPU_ALLOC_SIZE(count)); // NOLINT
+#include "../mte_utils.h"
+#include "CHECK.h"
+
+#if defined(__BIONIC__) && defined(__aarch64__)
+
+extern "C" int main(int, char**) {
+  void* mte_tls_ptr = mte_tls();
+  *reinterpret_cast<uintptr_t*>(mte_tls_ptr) = 1;
+  int ret = is_stack_mte_on() && mte_tls_ptr != nullptr ? 0 : 1;
+  printf("RAN\n");
+  return ret;
 }
 
-void __sched_cpufree(cpu_set_t* set)
-{
-    free(set);
+#else
+
+extern "C" int main(int, char**) {
+  printf("RAN\n");
+  return 1;
 }
+#endif
diff --git a/tests/libs/testbinary_is_stack_mte_after_dlopen.cpp b/tests/libs/testbinary_is_stack_mte_after_dlopen.cpp
new file mode 100644
index 0000000..35af8f4
--- /dev/null
+++ b/tests/libs/testbinary_is_stack_mte_after_dlopen.cpp
@@ -0,0 +1,156 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <condition_variable>
+#include <thread>
+
+#include <dlfcn.h>
+#include <inttypes.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include "../mte_utils.h"
+#include "CHECK.h"
+
+#if defined(__BIONIC__) && defined(__aarch64__)
+
+enum State { kInit, kThreadStarted, kStackRemapped };
+
+// We can't use pthread_getattr_np because that uses the rlimit rather than the actual mapping
+// bounds.
+static void find_main_stack_limits(uintptr_t* low, uintptr_t* high) {
+  uintptr_t startstack = reinterpret_cast<uintptr_t>(__builtin_frame_address(0));
+
+  // Hunt for the region that contains that address.
+  FILE* fp = fopen("/proc/self/maps", "re");
+  if (fp == nullptr) {
+    abort();
+  }
+  char line[BUFSIZ];
+  while (fgets(line, sizeof(line), fp) != nullptr) {
+    uintptr_t lo, hi;
+    if (sscanf(line, "%" SCNxPTR "-%" SCNxPTR, &lo, &hi) == 2) {
+      if (lo <= startstack && startstack <= hi) {
+        *low = lo;
+        *high = hi;
+        fclose(fp);
+        return;
+      }
+    }
+  }
+  abort();
+}
+
+template <typename Fn>
+unsigned int fault_new_stack_page(uintptr_t low, Fn f) {
+  uintptr_t new_low;
+  uintptr_t new_high;
+  volatile char buf[4096];
+  buf[4095] = 1;
+  find_main_stack_limits(&new_low, &new_high);
+  if (new_low < low) {
+    f();
+    return new_high;
+  }
+  // Useless, but should defeat TCO.
+  return new_low + fault_new_stack_page(low, f);
+}
+extern "C" int main(int argc, char** argv) {
+  if (argc < 2) {
+    return 1;
+  }
+  const char* path = argv[1];
+  CHECK(access(path, F_OK) == 0);  // Verify test setup.
+  CHECK(!is_stack_mte_on());
+  std::mutex m;
+  std::condition_variable cv;
+  State state = kInit;
+
+  bool is_early_thread_mte_on = false;
+  void* early_thread_mte_tls = nullptr;
+  std::thread early_th([&] {
+    {
+      std::lock_guard lk(m);
+      state = kThreadStarted;
+    }
+    cv.notify_one();
+    {
+      std::unique_lock lk(m);
+      cv.wait(lk, [&] { return state == kStackRemapped; });
+    }
+    is_early_thread_mte_on = is_stack_mte_on();
+    early_thread_mte_tls = mte_tls();
+    *reinterpret_cast<uintptr_t*>(early_thread_mte_tls) = 1;
+  });
+  {
+    std::unique_lock lk(m);
+    cv.wait(lk, [&] { return state == kThreadStarted; });
+  }
+  void* handle = dlopen(path, RTLD_NOW);
+  {
+    std::lock_guard lk(m);
+    state = kStackRemapped;
+  }
+  cv.notify_one();
+  CHECK(handle != nullptr);
+  CHECK(is_stack_mte_on());
+  CHECK(mte_tls() != nullptr);
+
+  bool new_stack_page_mte_on = false;
+  uintptr_t low;
+  uintptr_t high;
+  find_main_stack_limits(&low, &high);
+  fault_new_stack_page(low, [&] { new_stack_page_mte_on = is_stack_mte_on(); });
+  CHECK(new_stack_page_mte_on);
+
+  bool is_late_thread_mte_on = false;
+  void* late_thread_mte_tls = nullptr;
+  std::thread late_th([&] {
+    is_late_thread_mte_on = is_stack_mte_on();
+    late_thread_mte_tls = mte_tls();
+    *reinterpret_cast<uintptr_t*>(late_thread_mte_tls) = 1;
+  });
+  late_th.join();
+  early_th.join();
+  CHECK(is_late_thread_mte_on);
+  CHECK(is_early_thread_mte_on);
+  CHECK(late_thread_mte_tls != nullptr);
+  CHECK(early_thread_mte_tls != nullptr);
+  printf("RAN\n");
+  return 0;
+}
+
+#else
+extern "C" int main(int, char**) {
+  return 1;
+}
+#endif
diff --git a/tests/limits_test.cpp b/tests/limits_test.cpp
index e5902ad..bc13a3f 100644
--- a/tests/limits_test.cpp
+++ b/tests/limits_test.cpp
@@ -21,6 +21,7 @@
 TEST(limits, macros) {
   ASSERT_EQ(8, CHAR_BIT);
   ASSERT_EQ(8 * static_cast<int>(sizeof(int)), WORD_BIT);
+  ASSERT_EQ(2048, LINE_MAX);
   ASSERT_EQ(20, NZERO);
 #if !defined(MB_LEN_MAX)
 #error MB_LEN_MAX
diff --git a/tests/link_test.cpp b/tests/link_test.cpp
index 127a3d9..ae3a1cd 100644
--- a/tests/link_test.cpp
+++ b/tests/link_test.cpp
@@ -195,7 +195,7 @@
     }
     void AddModule(dl_phdr_info* info, size_t s) {
       ASSERT_EQ(sizeof(dl_phdr_info), s);
-      ASSERT_TRUE(dl_iter_mods.find(info->dlpi_addr) == dl_iter_mods.end());
+      ASSERT_FALSE(dl_iter_mods.contains(info->dlpi_addr));
       ASSERT_TRUE(info->dlpi_name != nullptr);
       dl_iter_mods[info->dlpi_addr] = {
         .name = info->dlpi_name,
diff --git a/tests/locale_test.cpp b/tests/locale_test.cpp
index a220c83..a8ebca7 100644
--- a/tests/locale_test.cpp
+++ b/tests/locale_test.cpp
@@ -20,6 +20,8 @@
 #include <limits.h>
 #include <locale.h>
 
+#include "utils.h"
+
 TEST(locale, localeconv) {
   EXPECT_STREQ(".", localeconv()->decimal_point);
   EXPECT_STREQ("", localeconv()->thousands_sep);
@@ -53,10 +55,10 @@
 
   errno = 0;
   EXPECT_EQ(nullptr, setlocale(-1, nullptr));
-  EXPECT_EQ(EINVAL, errno);
+  EXPECT_ERRNO(EINVAL);
   errno = 0;
   EXPECT_EQ(nullptr, setlocale(13, nullptr));
-  EXPECT_EQ(EINVAL, errno);
+  EXPECT_ERRNO(EINVAL);
 
 #if defined(__BIONIC__)
   // The "" locale is implementation-defined. For bionic, it's the C.UTF-8 locale, which is
@@ -69,13 +71,13 @@
 
   errno = 0;
   EXPECT_EQ(nullptr, setlocale(LC_ALL, "this-is-not-a-locale"));
-  EXPECT_EQ(ENOENT, errno); // POSIX specified, not an implementation detail!
+  EXPECT_ERRNO(ENOENT);  // POSIX specified, not an implementation detail!
 }
 
 TEST(locale, newlocale_invalid_category_mask) {
   errno = 0;
   EXPECT_EQ(nullptr, newlocale(1 << 20, "C", nullptr));
-  EXPECT_EQ(EINVAL, errno);
+  EXPECT_ERRNO(EINVAL);
 }
 
 TEST(locale, newlocale_NULL_locale_name) {
@@ -83,14 +85,14 @@
 #pragma clang diagnostic ignored "-Wnonnull"
   errno = 0;
   EXPECT_EQ(nullptr, newlocale(LC_ALL, nullptr, nullptr));
-  EXPECT_EQ(EINVAL, errno);
+  EXPECT_ERRNO(EINVAL);
 #pragma clang diagnostic pop
 }
 
 TEST(locale, newlocale_bad_locale_name) {
   errno = 0;
   EXPECT_EQ(nullptr, newlocale(LC_ALL, "this-is-not-a-locale", nullptr));
-  EXPECT_EQ(ENOENT, errno); // POSIX specified, not an implementation detail!
+  EXPECT_ERRNO(ENOENT);  // POSIX specified, not an implementation detail!
 }
 
 TEST(locale, newlocale) {
diff --git a/tests/make_fortify_compile_test.mk b/tests/make_fortify_compile_test.mk
deleted file mode 100644
index ec0ba45..0000000
--- a/tests/make_fortify_compile_test.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-include $(CLEAR_VARS)
-
-LOCAL_ADDITIONAL_DEPENDENCIES := \
-    $(LOCAL_PATH)/Android.mk \
-    $(LOCAL_PATH)/touch-obj-on-success
-
-LOCAL_CXX := $(LOCAL_PATH)/touch-obj-on-success \
-    $(LLVM_PREBUILTS_PATH)/clang++ \
-
-LOCAL_CLANG := true
-LOCAL_MODULE := bionic-compile-time-tests$(FORTIFY_LEVEL)-clang++
-LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD
-LOCAL_LICENSE_CONDITIONS := notice
-LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
-LOCAL_TIDY := false
-LOCAL_CPPFLAGS := -Wall -Wno-error
-LOCAL_CPPFLAGS += -fno-color-diagnostics -ferror-limit=10000 -Xclang -verify
-LOCAL_CPPFLAGS += -DCOMPILATION_TESTS=1 -Wformat-nonliteral
-LOCAL_CPPFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=$(FORTIFY_LEVEL)
-LOCAL_SRC_FILES := clang_fortify_tests.cpp
-
-include $(BUILD_STATIC_LIBRARY)
-
-FORTIFY_LEVEL :=
diff --git a/tests/malloc_stress_test.cpp b/tests/malloc_stress_test.cpp
index b5b06ab..00f5919 100644
--- a/tests/malloc_stress_test.cpp
+++ b/tests/malloc_stress_test.cpp
@@ -27,10 +27,58 @@
 #include <thread>
 #include <vector>
 
-#include <android-base/strings.h>
 #if defined(__BIONIC__)
 #include <meminfo/procmeminfo.h>
 #include <procinfo/process_map.h>
+
+#include <log/log.h>
+#include <log/log_read.h>
+#endif
+
+#if defined(__BIONIC__)
+static void PrintLogStats(uint64_t& last_time) {
+  logger_list* logger =
+      android_logger_list_open(android_name_to_log_id("main"), ANDROID_LOG_NONBLOCK, 0, getpid());
+  if (logger == nullptr) {
+    printf("Failed to open log for main\n");
+    return;
+  }
+
+  uint64_t last_message_time = last_time;
+  while (true) {
+    log_msg entry;
+    ssize_t retval = android_logger_list_read(logger, &entry);
+    if (retval == 0) {
+      break;
+    }
+    if (retval < 0) {
+      if (retval == -EINTR) {
+        continue;
+      }
+      // EAGAIN means there is nothing left to read when ANDROID_LOG_NONBLOCK is set.
+      if (retval != -EAGAIN) {
+        printf("Failed to read log entry: %s\n", strerrordesc_np(retval));
+      }
+      break;
+    }
+    if (entry.msg() == nullptr) {
+      continue;
+    }
+    // Only print allocator tagged log entries.
+    std::string_view tag(entry.msg() + 1);
+    if (tag != "scudo" && tag != "jemalloc") {
+      continue;
+    }
+    if (entry.nsec() > last_time) {
+      printf("  %s\n", &tag.back() + 2);
+      // Only update the last time outside this loop just in case two or more
+      // messages have the same timestamp.
+      last_message_time = entry.nsec();
+    }
+  }
+  android_logger_list_close(logger);
+  last_time = last_message_time;
+}
 #endif
 
 TEST(malloc_stress, multiple_threads_forever) {
@@ -45,6 +93,8 @@
 #endif
   uint64_t mallinfo_min = UINT64_MAX;
   uint64_t mallinfo_max = 0;
+
+  uint64_t last_message_time = 0;
   for (size_t i = 0; ; i++) {
     printf("Pass %zu\n", i);
 
@@ -74,8 +124,8 @@
     uint64_t rss_bytes = 0;
     uint64_t vss_bytes = 0;
     for (auto& vma : maps) {
-      if (vma.name == "[anon:libc_malloc]" || android::base::StartsWith(vma.name, "[anon:scudo:") ||
-          android::base::StartsWith(vma.name, "[anon:GWP-ASan")) {
+      if (vma.name == "[anon:libc_malloc]" || vma.name.starts_with("[anon:scudo:") ||
+          vma.name.starts_with("[anon:GWP-ASan")) {
         android::meminfo::Vma update_vma(vma);
         ASSERT_TRUE(proc_mem.FillInVmaStats(update_vma));
         rss_bytes += update_vma.usage.rss;
@@ -112,5 +162,15 @@
     printf("Allocated memory %zu %0.2fMB\n", mallinfo_bytes, mallinfo_bytes / (1024.0 * 1024.0));
     printf("  Min %" PRIu64 " %0.2fMB\n", mallinfo_min, mallinfo_min / (1024.0 * 1024.0));
     printf("  Max %" PRIu64 " %0.2fMB\n", mallinfo_max, mallinfo_max / (1024.0 * 1024.0));
+
+#if defined(__BIONIC__)
+    if (((i + 1) % 100) == 0) {
+      // Send native allocator stats to the log
+      mallopt(M_LOG_STATS, 0);
+
+      printf("Log stats:\n");
+      PrintLogStats(last_message_time);
+    }
+#endif
   }
 }
diff --git a/tests/malloc_test.cpp b/tests/malloc_test.cpp
index 22905f4..3f1ba79 100644
--- a/tests/malloc_test.cpp
+++ b/tests/malloc_test.cpp
@@ -47,6 +47,7 @@
 #include <android-base/file.h>
 #include <android-base/test_utils.h>
 
+#include "DoNotOptimize.h"
 #include "utils.h"
 
 #if defined(__BIONIC__)
@@ -83,7 +84,7 @@
   SKIP_WITH_HWASAN;
   errno = 0;
   ASSERT_EQ(nullptr, malloc(SIZE_MAX));
-  ASSERT_EQ(ENOMEM, errno);
+  ASSERT_ERRNO(ENOMEM);
 }
 
 TEST(malloc, calloc_std) {
@@ -120,23 +121,23 @@
   SKIP_WITH_HWASAN;
   errno = 0;
   ASSERT_EQ(nullptr, calloc(-1, 100));
-  ASSERT_EQ(ENOMEM, errno);
+  ASSERT_ERRNO(ENOMEM);
 }
 
 TEST(malloc, calloc_overflow) {
   SKIP_WITH_HWASAN;
   errno = 0;
   ASSERT_EQ(nullptr, calloc(1, SIZE_MAX));
-  ASSERT_EQ(ENOMEM, errno);
+  ASSERT_ERRNO(ENOMEM);
   errno = 0;
   ASSERT_EQ(nullptr, calloc(SIZE_MAX, SIZE_MAX));
-  ASSERT_EQ(ENOMEM, errno);
+  ASSERT_ERRNO(ENOMEM);
   errno = 0;
   ASSERT_EQ(nullptr, calloc(2, SIZE_MAX));
-  ASSERT_EQ(ENOMEM, errno);
+  ASSERT_ERRNO(ENOMEM);
   errno = 0;
   ASSERT_EQ(nullptr, calloc(SIZE_MAX, 2));
-  ASSERT_EQ(ENOMEM, errno);
+  ASSERT_ERRNO(ENOMEM);
 }
 
 TEST(malloc, memalign_multiple) {
@@ -346,12 +347,12 @@
   SKIP_WITH_HWASAN;
   errno = 0;
   ASSERT_EQ(nullptr, realloc(nullptr, SIZE_MAX));
-  ASSERT_EQ(ENOMEM, errno);
+  ASSERT_ERRNO(ENOMEM);
   void* ptr = malloc(100);
   ASSERT_TRUE(ptr != nullptr);
   errno = 0;
   ASSERT_EQ(nullptr, realloc(ptr, SIZE_MAX));
-  ASSERT_EQ(ENOMEM, errno);
+  ASSERT_ERRNO(ENOMEM);
   free(ptr);
 }
 
@@ -669,7 +670,7 @@
   errno = 0;
   ASSERT_EQ(0, mallopt(-1000, 1));
   // mallopt doesn't set errno.
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
 #else
   GTEST_SKIP() << "bionic-only test";
 #endif
@@ -678,11 +679,12 @@
 TEST(malloc, mallopt_decay) {
 #if defined(__BIONIC__)
   SKIP_WITH_HWASAN << "hwasan does not implement mallopt";
-  errno = 0;
+  ASSERT_EQ(1, mallopt(M_DECAY_TIME, -1));
   ASSERT_EQ(1, mallopt(M_DECAY_TIME, 1));
   ASSERT_EQ(1, mallopt(M_DECAY_TIME, 0));
   ASSERT_EQ(1, mallopt(M_DECAY_TIME, 1));
   ASSERT_EQ(1, mallopt(M_DECAY_TIME, 0));
+  ASSERT_EQ(1, mallopt(M_DECAY_TIME, -1));
 #else
   GTEST_SKIP() << "bionic-only test";
 #endif
@@ -691,7 +693,6 @@
 TEST(malloc, mallopt_purge) {
 #if defined(__BIONIC__)
   SKIP_WITH_HWASAN << "hwasan does not implement mallopt";
-  errno = 0;
   ASSERT_EQ(1, mallopt(M_PURGE, 0));
 #else
   GTEST_SKIP() << "bionic-only test";
@@ -701,13 +702,21 @@
 TEST(malloc, mallopt_purge_all) {
 #if defined(__BIONIC__)
   SKIP_WITH_HWASAN << "hwasan does not implement mallopt";
-  errno = 0;
   ASSERT_EQ(1, mallopt(M_PURGE_ALL, 0));
 #else
   GTEST_SKIP() << "bionic-only test";
 #endif
 }
 
+TEST(malloc, mallopt_log_stats) {
+#if defined(__BIONIC__)
+  SKIP_WITH_HWASAN << "hwasan does not implement mallopt";
+  ASSERT_EQ(1, mallopt(M_LOG_STATS, 0));
+#else
+  GTEST_SKIP() << "bionic-only test";
+#endif
+}
+
 // Verify that all of the mallopt values are unique.
 TEST(malloc, mallopt_unique_params) {
 #if defined(__BIONIC__)
@@ -722,6 +731,7 @@
       std::make_pair(M_TSDS_COUNT_MAX, "M_TSDS_COUNT_MAX"),
       std::make_pair(M_BIONIC_ZERO_INIT, "M_BIONIC_ZERO_INIT"),
       std::make_pair(M_BIONIC_SET_HEAP_TAGGING_LEVEL, "M_BIONIC_SET_HEAP_TAGGING_LEVEL"),
+      std::make_pair(M_LOG_STATS, "M_LOG_STATS"),
   };
 
   std::unordered_map<int, std::string> all_params;
@@ -787,11 +797,11 @@
 
   errno = 0;
   ASSERT_TRUE(reallocarray(nullptr, a, b) == nullptr);
-  ASSERT_EQ(ENOMEM, errno);
+  ASSERT_ERRNO(ENOMEM);
 
   errno = 0;
   ASSERT_TRUE(reallocarray(nullptr, b, a) == nullptr);
-  ASSERT_EQ(ENOMEM, errno);
+  ASSERT_ERRNO(ENOMEM);
 #else
   GTEST_SKIP() << "reallocarray not available";
 #endif
@@ -814,7 +824,7 @@
     8, 32, 128, 4096, 32768, 131072, 1024000, 10240000, 20480000, 300000000
   };
 
-  constexpr static size_t kMaxAllocs = 50;
+  static constexpr size_t kMaxAllocs = 50;
 
   for (size_t size : sizes) {
     // If some of these allocations are stuck in a thread cache, then keep
@@ -857,7 +867,7 @@
   SKIP_WITH_HWASAN << "hwasan does not implement mallinfo2";
   static size_t sizes[] = {8, 32, 128, 4096, 32768, 131072, 1024000, 10240000, 20480000, 300000000};
 
-  constexpr static size_t kMaxAllocs = 50;
+  static constexpr size_t kMaxAllocs = 50;
 
   for (size_t size : sizes) {
     // If some of these allocations are stuck in a thread cache, then keep
@@ -928,7 +938,8 @@
   size_t expected_alignment = alignof(Type);
   if (expected_alignment != 0) {
     ASSERT_EQ(0U, (expected_alignment - 1) & reinterpret_cast<uintptr_t>(floating))
-        << "Expected alignment " << expected_alignment << " ptr value " << floating;
+        << "Expected alignment " << expected_alignment << " ptr value "
+        << static_cast<void*>(floating);
   }
 }
 
@@ -1110,7 +1121,7 @@
   const int unrecognized_option = -1;
   errno = 0;
   EXPECT_EQ(false, android_mallopt(unrecognized_option, nullptr, 0));
-  EXPECT_EQ(ENOTSUP, errno);
+  EXPECT_ERRNO(ENOTSUP);
 #else
   GTEST_SKIP() << "bionic-only test";
 #endif
@@ -1141,11 +1152,11 @@
   errno = 0;
   if (IsDynamic()) {
     EXPECT_EQ(true, android_mallopt(M_INIT_ZYGOTE_CHILD_PROFILING, nullptr, 0));
-    EXPECT_EQ(0, errno);
+    EXPECT_ERRNO(0);
   } else {
     // Not supported in static executables.
     EXPECT_EQ(false, android_mallopt(M_INIT_ZYGOTE_CHILD_PROFILING, nullptr, 0));
-    EXPECT_EQ(ENOTSUP, errno);
+    EXPECT_ERRNO(ENOTSUP);
   }
 
   // Unexpected arguments rejected.
@@ -1153,9 +1164,9 @@
   char unexpected = 0;
   EXPECT_EQ(false, android_mallopt(M_INIT_ZYGOTE_CHILD_PROFILING, &unexpected, 1));
   if (IsDynamic()) {
-    EXPECT_EQ(EINVAL, errno);
+    EXPECT_ERRNO(EINVAL);
   } else {
-    EXPECT_EQ(ENOTSUP, errno);
+    EXPECT_ERRNO(ENOTSUP);
   }
 #else
   GTEST_SKIP() << "bionic-only test";
@@ -1337,45 +1348,44 @@
 }
 
 #if defined(__BIONIC__)
-static void* SetAllocationLimit(void* data) {
-  std::atomic_bool* go = reinterpret_cast<std::atomic_bool*>(data);
-  while (!go->load()) {
-  }
-  size_t limit = 500 * 1024 * 1024;
-  if (android_mallopt(M_SET_ALLOCATION_LIMIT_BYTES, &limit, sizeof(limit))) {
-    return reinterpret_cast<void*>(-1);
-  }
-  return nullptr;
-}
-
 static void SetAllocationLimitMultipleThreads() {
-  std::atomic_bool go;
-  go = false;
-
   static constexpr size_t kNumThreads = 4;
-  pthread_t threads[kNumThreads];
+  std::atomic_bool start_running = false;
+  std::atomic<size_t> num_running;
+  std::atomic<size_t> num_successful;
+  std::unique_ptr<std::thread> threads[kNumThreads];
   for (size_t i = 0; i < kNumThreads; i++) {
-    ASSERT_EQ(0, pthread_create(&threads[i], nullptr, SetAllocationLimit, &go));
+    threads[i].reset(new std::thread([&num_running, &start_running, &num_successful] {
+      ++num_running;
+      while (!start_running) {
+      }
+      size_t limit = 500 * 1024 * 1024;
+      if (android_mallopt(M_SET_ALLOCATION_LIMIT_BYTES, &limit, sizeof(limit))) {
+        ++num_successful;
+      }
+    }));
   }
 
-  // Let them go all at once.
-  go = true;
+  // Wait until all of the threads have started.
+  while (num_running != kNumThreads)
+    ;
+
+  // Now start all of the threads setting the mallopt at once.
+  start_running = true;
+
   // Send hardcoded signal (BIONIC_SIGNAL_PROFILER with value 0) to trigger
-  // heapprofd handler.
-  union sigval signal_value;
-  signal_value.sival_int = 0;
+  // heapprofd handler. This will verify that changing the limit while
+  // the allocation handlers are being changed at the same time works,
+  // or that the limit handler is changed first and this also works properly.
+  union sigval signal_value {};
   ASSERT_EQ(0, sigqueue(getpid(), BIONIC_SIGNAL_PROFILER, signal_value));
 
-  size_t num_successful = 0;
+  // Wait for all of the threads to finish.
   for (size_t i = 0; i < kNumThreads; i++) {
-    void* result;
-    ASSERT_EQ(0, pthread_join(threads[i], &result));
-    if (result != nullptr) {
-      num_successful++;
-    }
+    threads[i]->join();
   }
-  ASSERT_EQ(1U, num_successful);
-  exit(0);
+  ASSERT_EQ(1U, num_successful) << "Only one thread should be able to set the limit.";
+  _exit(0);
 }
 #endif
 
@@ -1403,15 +1413,15 @@
 }
 
 #if defined(__BIONIC__)
-using Action = android_mallopt_gwp_asan_options_t::Action;
+using Mode = android_mallopt_gwp_asan_options_t::Mode;
 TEST(android_mallopt, DISABLED_multiple_enable_gwp_asan) {
   android_mallopt_gwp_asan_options_t options;
   options.program_name = "";  // Don't infer GWP-ASan options from sysprops.
-  options.desire = Action::DONT_TURN_ON_UNLESS_OVERRIDDEN;
+  options.mode = Mode::APP_MANIFEST_NEVER;
   // GWP-ASan should already be enabled. Trying to enable or disable it should
   // always pass.
   ASSERT_TRUE(android_mallopt(M_INITIALIZE_GWP_ASAN, &options, sizeof(options)));
-  options.desire = Action::TURN_ON_WITH_SAMPLING;
+  options.mode = Mode::APP_MANIFEST_DEFAULT;
   ASSERT_TRUE(android_mallopt(M_INITIALIZE_GWP_ASAN, &options, sizeof(options)));
 }
 #endif  // defined(__BIONIC__)
@@ -1483,7 +1493,7 @@
   // release secondary allocations back to the OS) was modified to 0ms/1ms by
   // mallopt_decay. Ensure that we delay for at least a second before releasing
   // pages to the OS in order to avoid implicit zeroing by the kernel.
-  mallopt(M_DECAY_TIME, 1000);
+  mallopt(M_DECAY_TIME, 1);
   TestHeapZeroing(/* num_iterations */ 32, [](int iteration) -> int {
     return 1 << (19 + iteration % 4);
   });
@@ -1618,6 +1628,7 @@
 #if !defined(__BIONIC__)
   GTEST_SKIP() << "Only valid on bionic";
 #endif
+  SKIP_WITH_HWASAN << "Only test system allocator, not hwasan allocator.";
 
   if (IsLowRamDevice()) {
     GTEST_SKIP() << "Skipped on low memory devices.";
@@ -1648,6 +1659,7 @@
 #if !defined(__BIONIC__)
   GTEST_SKIP() << "Only valid on bionic";
 #endif
+  SKIP_WITH_HWASAN << "Only test system allocator, not hwasan allocator.";
 
   if (IsLowRamDevice()) {
     GTEST_SKIP() << "Skipped on low memory devices.";
@@ -1678,6 +1690,7 @@
 #if !defined(__BIONIC__)
   GTEST_SKIP() << "Only valid on bionic";
 #endif
+  SKIP_WITH_HWASAN << "Only test system allocator, not hwasan allocator.";
 
   if (IsLowRamDevice()) {
     GTEST_SKIP() << "Skipped on low memory devices.";
@@ -1728,3 +1741,40 @@
     }
   }
 }
+
+TEST(android_mallopt, get_decay_time_enabled_errors) {
+#if defined(__BIONIC__)
+  errno = 0;
+  EXPECT_FALSE(android_mallopt(M_GET_DECAY_TIME_ENABLED, nullptr, sizeof(bool)));
+  EXPECT_ERRNO(EINVAL);
+
+  errno = 0;
+  int value;
+  EXPECT_FALSE(android_mallopt(M_GET_DECAY_TIME_ENABLED, &value, sizeof(value)));
+  EXPECT_ERRNO(EINVAL);
+#else
+  GTEST_SKIP() << "bionic-only test";
+#endif
+}
+
+TEST(android_mallopt, get_decay_time_enabled) {
+#if defined(__BIONIC__)
+  SKIP_WITH_HWASAN << "hwasan does not implement mallopt";
+
+  EXPECT_EQ(1, mallopt(M_DECAY_TIME, 0));
+
+  bool value;
+  EXPECT_TRUE(android_mallopt(M_GET_DECAY_TIME_ENABLED, &value, sizeof(value)));
+  EXPECT_FALSE(value);
+
+  EXPECT_EQ(1, mallopt(M_DECAY_TIME, 1));
+  EXPECT_TRUE(android_mallopt(M_GET_DECAY_TIME_ENABLED, &value, sizeof(value)));
+  EXPECT_TRUE(value);
+
+  EXPECT_EQ(1, mallopt(M_DECAY_TIME, -1));
+  EXPECT_TRUE(android_mallopt(M_GET_DECAY_TIME_ENABLED, &value, sizeof(value)));
+  EXPECT_FALSE(value);
+#else
+  GTEST_SKIP() << "bionic-only test";
+#endif
+}
diff --git a/tests/math_force_long_double_test.cpp b/tests/math_force_long_double_test.cpp
deleted file mode 100644
index 432182b..0000000
--- a/tests/math_force_long_double_test.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-#define __BIONIC_LP32_USE_LONG_DOUBLE
-#include "math_test.cpp"
diff --git a/tests/math_test.cpp b/tests/math_test.cpp
index 60872f3..273ef97 100644
--- a/tests/math_test.cpp
+++ b/tests/math_test.cpp
@@ -17,42 +17,37 @@
 #define _GNU_SOURCE 1
 #include <math.h>
 
-// This include (and the associated definition of __test_capture_signbit)
-// must be placed before any files that include <cmath> (gtest.h in this case).
+// <math.h> is required to define type-generic macros: fpclassify, signbit,
+// isfinite, isinf, isnan, isnormal, isgreater, isgreaterequal, isless,
+// islessequal, islessgreater, and isunordered.
 //
-// <math.h> is required to define generic macros signbit, isfinite and
-// several other such functions.
+// <cmath> is required to #undef these macros and make equivalent sets of
+// _overloaded_ functions available in namespace std. So the isnan() macro,
+// for example, is replaced by std::isnan(float), std::isnan(double),
+// and std::isnan(long double).
 //
-// <cmath> is required to undef declarations of these macros in the global
-// namespace and make equivalent functions available in namespace std. Our
-// stlport implementation does this only for signbit, isfinite, isinf and
-// isnan.
-//
-// NOTE: We don't write our test using std::signbit because we want to be
-// sure that we're testing the bionic version of signbit. The C++ libraries
-// are free to reimplement signbit or delegate to compiler builtins if they
-// please.
+// We're trying to test the bionic macros rather than whatever libc++'s
+// implementation happens to be, so we #include <math.h> and "capture" the
+// macros in our own _template_ functions in the global namespace before
+// we #include any files that include <cmath>, such as <gtest.h>.
 
-namespace {
-template<typename T> inline int test_capture_signbit(const T in) {
-  return signbit(in);
-}
-template<typename T> inline int test_capture_isfinite(const T in) {
-  return isfinite(in);
-}
-template<typename T> inline int test_capture_isnan(const T in) {
-  return isnan(in);
-}
-template<typename T> inline int test_capture_isinf(const T in) {
-  return isinf(in);
-}
-}
+#define capture_generic_macro(capture_function_name, generic_macro_name) \
+  template <typename T> inline int capture_function_name(const T in) { \
+    return generic_macro_name(in); \
+  }
 
-#if defined(__BIONIC_LP32_USE_LONG_DOUBLE)
-#define MATH_TEST math_h_force_long_double
-#else
-#define MATH_TEST math_h
-#endif
+capture_generic_macro(test_capture_fpclassify, fpclassify)
+capture_generic_macro(test_capture_signbit, signbit)
+capture_generic_macro(test_capture_isfinite, isfinite)
+capture_generic_macro(test_capture_isinf, isinf)
+capture_generic_macro(test_capture_isnan, isnan)
+capture_generic_macro(test_capture_isnormal, isnormal)
+capture_generic_macro(test_capture_isgreater, isgreater)
+capture_generic_macro(test_capture_isgreaterequal, isgreaterequal)
+capture_generic_macro(test_capture_isless, isless)
+capture_generic_macro(test_capture_islessequal, islessequal)
+capture_generic_macro(test_capture_islessgreater, islessgreater)
+capture_generic_macro(test_capture_isunordered, isunordered)
 
 #include "math_data_test.h"
 
@@ -66,6 +61,22 @@
 
 #include <android-base/scopeguard.h>
 
+// Now we've included all the headers we need, we can redefine the generic
+// function-like macros to point to the bionic <math.h> versions we captured
+// earlier.
+#define fpclassify test_capture_fpclassify
+#define signbit test_capture_signbit
+#define isfinite test_capture_isfinite
+#define isinf test_capture_isinf
+#define isnan test_capture_isnan
+#define isnormal test_capture_isnormal
+#define isgreater test_capture_isgreater
+#define isgreaterequal test_capture_isgreaterequal
+#define isless test_capture_isless
+#define islessequal test_capture_islessequal
+#define islessgreater test_capture_islessgreater
+#define isunordered test_capture_isunordered
+
 static float float_subnormal() {
   union {
     float f;
@@ -103,7 +114,7 @@
   return u.e;
 }
 
-TEST(MATH_TEST, fpclassify) {
+TEST(math_h, fpclassify) {
   ASSERT_EQ(FP_INFINITE, fpclassify(INFINITY));
   ASSERT_EQ(FP_INFINITE, fpclassify(HUGE_VALF));
   ASSERT_EQ(FP_INFINITE, fpclassify(-HUGE_VALF));
@@ -129,40 +140,40 @@
   ASSERT_EQ(FP_ZERO, fpclassify(0.0L));
 }
 
-TEST(MATH_TEST, isfinite) {
-  ASSERT_TRUE(test_capture_isfinite(123.0f));
-  ASSERT_TRUE(test_capture_isfinite(123.0));
-  ASSERT_TRUE(test_capture_isfinite(123.0L));
-  ASSERT_FALSE(test_capture_isfinite(HUGE_VALF));
-  ASSERT_FALSE(test_capture_isfinite(-HUGE_VALF));
-  ASSERT_FALSE(test_capture_isfinite(HUGE_VAL));
-  ASSERT_FALSE(test_capture_isfinite(-HUGE_VAL));
-  ASSERT_FALSE(test_capture_isfinite(HUGE_VALL));
-  ASSERT_FALSE(test_capture_isfinite(-HUGE_VALL));
+TEST(math_h, isfinite) {
+  ASSERT_TRUE(isfinite(123.0f));
+  ASSERT_TRUE(isfinite(123.0));
+  ASSERT_TRUE(isfinite(123.0L));
+  ASSERT_FALSE(isfinite(HUGE_VALF));
+  ASSERT_FALSE(isfinite(-HUGE_VALF));
+  ASSERT_FALSE(isfinite(HUGE_VAL));
+  ASSERT_FALSE(isfinite(-HUGE_VAL));
+  ASSERT_FALSE(isfinite(HUGE_VALL));
+  ASSERT_FALSE(isfinite(-HUGE_VALL));
 }
 
-TEST(MATH_TEST, isinf) {
-  ASSERT_FALSE(test_capture_isinf(123.0f));
-  ASSERT_FALSE(test_capture_isinf(123.0));
-  ASSERT_FALSE(test_capture_isinf(123.0L));
-  ASSERT_TRUE(test_capture_isinf(HUGE_VALF));
-  ASSERT_TRUE(test_capture_isinf(-HUGE_VALF));
-  ASSERT_TRUE(test_capture_isinf(HUGE_VAL));
-  ASSERT_TRUE(test_capture_isinf(-HUGE_VAL));
-  ASSERT_TRUE(test_capture_isinf(HUGE_VALL));
-  ASSERT_TRUE(test_capture_isinf(-HUGE_VALL));
+TEST(math_h, isinf) {
+  ASSERT_FALSE(isinf(123.0f));
+  ASSERT_FALSE(isinf(123.0));
+  ASSERT_FALSE(isinf(123.0L));
+  ASSERT_TRUE(isinf(HUGE_VALF));
+  ASSERT_TRUE(isinf(-HUGE_VALF));
+  ASSERT_TRUE(isinf(HUGE_VAL));
+  ASSERT_TRUE(isinf(-HUGE_VAL));
+  ASSERT_TRUE(isinf(HUGE_VALL));
+  ASSERT_TRUE(isinf(-HUGE_VALL));
 }
 
-TEST(MATH_TEST, isnan) {
-  ASSERT_FALSE(test_capture_isnan(123.0f));
-  ASSERT_FALSE(test_capture_isnan(123.0));
-  ASSERT_FALSE(test_capture_isnan(123.0L));
-  ASSERT_TRUE(test_capture_isnan(nanf("")));
-  ASSERT_TRUE(test_capture_isnan(nan("")));
-  ASSERT_TRUE(test_capture_isnan(nanl("")));
+TEST(math_h, isnan) {
+  ASSERT_FALSE(isnan(123.0f));
+  ASSERT_FALSE(isnan(123.0));
+  ASSERT_FALSE(isnan(123.0L));
+  ASSERT_TRUE(isnan(nanf("")));
+  ASSERT_TRUE(isnan(nan("")));
+  ASSERT_TRUE(isnan(nanl("")));
 }
 
-TEST(MATH_TEST, isnormal) {
+TEST(math_h, isnormal) {
   ASSERT_TRUE(isnormal(123.0f));
   ASSERT_TRUE(isnormal(123.0));
   ASSERT_TRUE(isnormal(123.0L));
@@ -172,18 +183,18 @@
 }
 
 // TODO: isgreater, isgreaterequals, isless, islessequal, islessgreater, isunordered
-TEST(MATH_TEST, signbit) {
-  ASSERT_EQ(0, test_capture_signbit(0.0f));
-  ASSERT_EQ(0, test_capture_signbit(0.0));
-  ASSERT_EQ(0, test_capture_signbit(0.0L));
+TEST(math_h, signbit) {
+  ASSERT_EQ(0, signbit(0.0f));
+  ASSERT_EQ(0, signbit(0.0));
+  ASSERT_EQ(0, signbit(0.0L));
 
-  ASSERT_EQ(0, test_capture_signbit(1.0f));
-  ASSERT_EQ(0, test_capture_signbit(1.0));
-  ASSERT_EQ(0, test_capture_signbit(1.0L));
+  ASSERT_EQ(0, signbit(1.0f));
+  ASSERT_EQ(0, signbit(1.0));
+  ASSERT_EQ(0, signbit(1.0L));
 
-  ASSERT_NE(0, test_capture_signbit(-1.0f));
-  ASSERT_NE(0, test_capture_signbit(-1.0));
-  ASSERT_NE(0, test_capture_signbit(-1.0L));
+  ASSERT_NE(0, signbit(-1.0f));
+  ASSERT_NE(0, signbit(-1.0));
+  ASSERT_NE(0, signbit(-1.0L));
 }
 
 // Historical BSD cruft that isn't exposed in <math.h> any more.
@@ -192,7 +203,7 @@
 extern "C" int __fpclassifyf(float);
 extern "C" int __fpclassifyl(long double);
 
-TEST(MATH_TEST, __fpclassify) {
+TEST(math_h, __fpclassify) {
   ASSERT_EQ(FP_INFINITE, __fpclassify(HUGE_VAL));
   ASSERT_EQ(FP_INFINITE, __fpclassify(-HUGE_VAL));
   ASSERT_EQ(FP_NAN, __fpclassify(nan("")));
@@ -201,7 +212,7 @@
   ASSERT_EQ(FP_ZERO, __fpclassify(0.0));
 }
 
-TEST(MATH_TEST, __fpclassifyd) {
+TEST(math_h, __fpclassifyd) {
 #if defined(__GLIBC__) || defined(ANDROID_HOST_MUSL)
 #define __fpclassifyd __fpclassify
 #endif
@@ -213,7 +224,7 @@
   ASSERT_EQ(FP_ZERO, __fpclassifyd(0.0));
 }
 
-TEST(MATH_TEST, __fpclassifyf) {
+TEST(math_h, __fpclassifyf) {
   ASSERT_EQ(FP_INFINITE, __fpclassifyf(HUGE_VALF));
   ASSERT_EQ(FP_INFINITE, __fpclassifyf(-HUGE_VALF));
   ASSERT_EQ(FP_NAN, __fpclassifyf(nanf("")));
@@ -222,7 +233,7 @@
   ASSERT_EQ(FP_ZERO, __fpclassifyf(0.0f));
 }
 
-TEST(MATH_TEST, __fpclassifyl) {
+TEST(math_h, __fpclassifyl) {
   EXPECT_EQ(FP_INFINITE, __fpclassifyl(HUGE_VALL));
   EXPECT_EQ(FP_INFINITE, __fpclassifyl(-HUGE_VALL));
   EXPECT_EQ(FP_NAN, __fpclassifyl(nanl("")));
@@ -231,7 +242,7 @@
   EXPECT_EQ(FP_ZERO, __fpclassifyl(0.0L));
 }
 
-TEST(MATH_TEST, finitef) {
+TEST(math_h, finitef) {
   ASSERT_TRUE(finitef(123.0f));
   ASSERT_FALSE(finitef(HUGE_VALF));
   ASSERT_FALSE(finitef(-HUGE_VALF));
@@ -244,7 +255,7 @@
 extern "C" int __isfinitel(long double);
 extern "C" int isfinitel(long double);
 
-TEST(MATH_TEST, __isfinite) {
+TEST(math_h, __isfinite) {
 #if defined(__GLIBC__)
 #define __isfinite __finite
 #elif defined(ANDROID_HOST_MUSL)
@@ -255,7 +266,7 @@
   ASSERT_FALSE(__isfinite(-HUGE_VAL));
 }
 
-TEST(MATH_TEST, __isfinitef) {
+TEST(math_h, __isfinitef) {
 #if defined(__GLIBC__)
 #define __isfinitef __finitef
 #elif defined(ANDROID_HOST_MUSL)
@@ -266,7 +277,7 @@
   ASSERT_FALSE(__isfinitef(-HUGE_VALF));
 }
 
-TEST(MATH_TEST, isfinitef) {
+TEST(math_h, isfinitef) {
 #if defined(__GLIBC__)
 #define isfinitef __finitef
 #elif defined(ANDROID_HOST_MUSL)
@@ -277,7 +288,7 @@
   ASSERT_FALSE(isfinitef(-HUGE_VALF));
 }
 
-TEST(MATH_TEST, __isfinitel) {
+TEST(math_h, __isfinitel) {
 #if defined(__GLIBC__)
 #define __isfinitel __finitel
 #elif defined(ANDROID_HOST_MUSL)
@@ -288,7 +299,7 @@
   ASSERT_FALSE(__isfinitel(-HUGE_VALL));
 }
 
-TEST(MATH_TEST, isfinitel) {
+TEST(math_h, isfinitel) {
 #if defined(__GLIBC__)
 #define isfinitel __finitel
 #elif defined(ANDROID_HOST_MUSL)
@@ -299,13 +310,13 @@
   ASSERT_FALSE(isfinitel(-HUGE_VALL));
 }
 
-TEST(MATH_TEST, finite) {
+TEST(math_h, finite) {
   ASSERT_TRUE(finite(123.0));
   ASSERT_FALSE(finite(HUGE_VAL));
   ASSERT_FALSE(finite(-HUGE_VAL));
 }
 
-TEST(MATH_TEST, isinf_function) {
+TEST(math_h, isinf_function) {
   // The isinf macro deals with all three types; the isinf function is for doubles.
   ASSERT_FALSE((isinf)(123.0));
   ASSERT_TRUE((isinf)(HUGE_VAL));
@@ -315,11 +326,9 @@
 // Historical BSD cruft that isn't exposed in <math.h> any more.
 extern "C" int __isinf(double);
 extern "C" int __isinff(float);
-extern "C" int isinff(float);
 extern "C" int __isinfl(long double);
-extern "C" int isinfl(long double);
 
-TEST(MATH_TEST, __isinf) {
+TEST(math_h, __isinf) {
 #if defined(ANDROID_HOST_MUSL)
 #define __isinf isinf
 #endif
@@ -328,7 +337,7 @@
   ASSERT_TRUE(__isinf(-HUGE_VAL));
 }
 
-TEST(MATH_TEST, __isinff) {
+TEST(math_h, __isinff) {
 #if defined(ANDROID_HOST_MUSL)
 #define __isinff isinf
 #endif
@@ -337,7 +346,7 @@
   ASSERT_TRUE(__isinff(-HUGE_VALF));
 }
 
-TEST(MATH_TEST, isinff) {
+TEST(math_h, isinff) {
 #if defined(ANDROID_HOST_MUSL)
 #define isinff isinf
 #endif
@@ -346,7 +355,7 @@
   ASSERT_TRUE(isinff(-HUGE_VALF));
 }
 
-TEST(MATH_TEST, __isinfl) {
+TEST(math_h, __isinfl) {
 #if defined(ANDROID_HOST_MUSL)
 #define __isinfl isinf
 #endif
@@ -355,7 +364,7 @@
   ASSERT_TRUE(__isinfl(-HUGE_VALL));
 }
 
-TEST(MATH_TEST, isinfl) {
+TEST(math_h, isinfl) {
 #if defined(ANDROID_HOST_MUSL)
 #define isinfl isinf
 #endif
@@ -364,7 +373,7 @@
   ASSERT_TRUE(isinfl(-HUGE_VALL));
 }
 
-TEST(MATH_TEST, isnan_function) {
+TEST(math_h, isnan_function) {
   // The isnan macro deals with all three types; the isnan function is for doubles.
   ASSERT_FALSE((isnan)(123.0));
   ASSERT_TRUE((isnan)(nan("")));
@@ -373,11 +382,9 @@
 // Historical BSD cruft that isn't exposed in <math.h> any more.
 extern "C" int __isnan(double);
 extern "C" int __isnanf(float);
-extern "C" int isnanf(float);
 extern "C" int __isnanl(long double);
-extern "C" int isnanl(long double);
 
-TEST(MATH_TEST, __isnan) {
+TEST(math_h, __isnan) {
 #if defined(ANDROID_HOST_MUSL)
 #define __isnan isnan
 #endif
@@ -385,7 +392,7 @@
   ASSERT_TRUE(__isnan(nan("")));
 }
 
-TEST(MATH_TEST, __isnanf) {
+TEST(math_h, __isnanf) {
 #if defined(ANDROID_HOST_MUSL)
 #define __isnanf isnan
 #endif
@@ -393,7 +400,7 @@
   ASSERT_TRUE(__isnanf(nanf("")));
 }
 
-TEST(MATH_TEST, isnanf) {
+TEST(math_h, isnanf) {
 #if defined(ANDROID_HOST_MUSL)
 #define isnanf isnan
 #endif
@@ -401,7 +408,7 @@
   ASSERT_TRUE(isnanf(nanf("")));
 }
 
-TEST(MATH_TEST, __isnanl) {
+TEST(math_h, __isnanl) {
 #if defined(ANDROID_HOST_MUSL)
 #define __isnanl isnan
 #endif
@@ -409,7 +416,7 @@
   ASSERT_TRUE(__isnanl(nanl("")));
 }
 
-TEST(MATH_TEST, isnanl) {
+TEST(math_h, isnanl) {
 #if defined(ANDROID_HOST_MUSL)
 #define isnanl isnan
 #endif
@@ -424,7 +431,7 @@
 extern "C" int __isnormall(long double);
 extern "C" int isnormall(long double);
 
-TEST(MATH_TEST, __isnormal) {
+TEST(math_h, __isnormal) {
 #if defined(__BIONIC__)
   ASSERT_TRUE(__isnormal(123.0));
   ASSERT_FALSE(__isnormal(double_subnormal()));
@@ -433,7 +440,7 @@
 #endif // __BIONIC__
 }
 
-TEST(MATH_TEST, __isnormalf) {
+TEST(math_h, __isnormalf) {
 #if defined(__BIONIC__)
   ASSERT_TRUE(__isnormalf(123.0f));
   ASSERT_FALSE(__isnormalf(float_subnormal()));
@@ -442,7 +449,7 @@
 #endif // __BIONIC__
 }
 
-TEST(MATH_TEST, isnormalf) {
+TEST(math_h, isnormalf) {
 #if defined(__BIONIC__)
   ASSERT_TRUE(isnormalf(123.0f));
   ASSERT_FALSE(isnormalf(float_subnormal()));
@@ -451,7 +458,7 @@
 #endif // __BIONIC__
 }
 
-TEST(MATH_TEST, __isnormall) {
+TEST(math_h, __isnormall) {
 #if defined(__BIONIC__)
   ASSERT_TRUE(__isnormall(123.0L));
   ASSERT_FALSE(__isnormall(ldouble_subnormal()));
@@ -460,7 +467,7 @@
 #endif // __BIONIC__
 }
 
-TEST(MATH_TEST, isnormall) {
+TEST(math_h, isnormall) {
 #if defined(__BIONIC__)
   ASSERT_TRUE(isnormall(123.0L));
   ASSERT_FALSE(isnormall(ldouble_subnormal()));
@@ -474,370 +481,370 @@
 extern "C" int __signbitf(float);
 extern "C" int __signbitl(long double);
 
-TEST(MATH_TEST, __signbit) {
+TEST(math_h, __signbit) {
   ASSERT_EQ(0, __signbit(0.0));
   ASSERT_EQ(0, __signbit(1.0));
   ASSERT_NE(0, __signbit(-1.0));
 }
 
-TEST(MATH_TEST, __signbitf) {
+TEST(math_h, __signbitf) {
   ASSERT_EQ(0, __signbitf(0.0f));
   ASSERT_EQ(0, __signbitf(1.0f));
   ASSERT_NE(0, __signbitf(-1.0f));
 }
 
-TEST(MATH_TEST, __signbitl) {
+TEST(math_h, __signbitl) {
   ASSERT_EQ(0L, __signbitl(0.0L));
   ASSERT_EQ(0L, __signbitl(1.0L));
   ASSERT_NE(0L, __signbitl(-1.0L));
 }
 
-TEST(MATH_TEST, acos) {
+TEST(math_h, acos) {
   ASSERT_DOUBLE_EQ(M_PI/2.0, acos(0.0));
 }
 
-TEST(MATH_TEST, acosf) {
+TEST(math_h, acosf) {
   ASSERT_FLOAT_EQ(static_cast<float>(M_PI)/2.0f, acosf(0.0f));
 }
 
-TEST(MATH_TEST, acosl) {
+TEST(math_h, acosl) {
   ASSERT_DOUBLE_EQ(M_PI/2.0L, acosl(0.0L));
 }
 
-TEST(MATH_TEST, asin) {
+TEST(math_h, asin) {
   ASSERT_DOUBLE_EQ(0.0, asin(0.0));
 }
 
-TEST(MATH_TEST, asinf) {
+TEST(math_h, asinf) {
   ASSERT_FLOAT_EQ(0.0f, asinf(0.0f));
 }
 
-TEST(MATH_TEST, asinl) {
+TEST(math_h, asinl) {
   ASSERT_DOUBLE_EQ(0.0L, asinl(0.0L));
 }
 
-TEST(MATH_TEST, atan) {
+TEST(math_h, atan) {
   ASSERT_DOUBLE_EQ(0.0, atan(0.0));
 }
 
-TEST(MATH_TEST, atanf) {
+TEST(math_h, atanf) {
   ASSERT_FLOAT_EQ(0.0f, atanf(0.0f));
 }
 
-TEST(MATH_TEST, atanl) {
+TEST(math_h, atanl) {
   ASSERT_DOUBLE_EQ(0.0L, atanl(0.0L));
 }
 
-TEST(MATH_TEST, atan2) {
+TEST(math_h, atan2) {
   ASSERT_DOUBLE_EQ(0.0, atan2(0.0, 0.0));
 }
 
-TEST(MATH_TEST, atan2f) {
+TEST(math_h, atan2f) {
   ASSERT_FLOAT_EQ(0.0f, atan2f(0.0f, 0.0f));
 }
 
-TEST(MATH_TEST, atan2l) {
+TEST(math_h, atan2l) {
   ASSERT_DOUBLE_EQ(0.0L, atan2l(0.0L, 0.0L));
 }
 
-TEST(MATH_TEST, cos) {
+TEST(math_h, cos) {
   ASSERT_DOUBLE_EQ(1.0, cos(0.0));
 }
 
-TEST(MATH_TEST, cosf) {
+TEST(math_h, cosf) {
   ASSERT_FLOAT_EQ(1.0f, cosf(0.0f));
 }
 
-TEST(MATH_TEST, cosl) {
+TEST(math_h, cosl) {
   ASSERT_DOUBLE_EQ(1.0L, cosl(0.0L));
 }
 
-TEST(MATH_TEST, sin) {
+TEST(math_h, sin) {
   ASSERT_DOUBLE_EQ(0.0, sin(0.0));
 }
 
-TEST(MATH_TEST, sinf) {
+TEST(math_h, sinf) {
   ASSERT_FLOAT_EQ(0.0f, sinf(0.0f));
 }
 
-TEST(MATH_TEST, sinl) {
+TEST(math_h, sinl) {
   ASSERT_DOUBLE_EQ(0.0L, sinl(0.0L));
 }
 
-TEST(MATH_TEST, sincos) {
+TEST(math_h, sincos) {
   double s, c;
   sincos(0.0, &s, &c);
   ASSERT_DOUBLE_EQ(0.0, s);
   ASSERT_DOUBLE_EQ(1.0, c);
 }
 
-TEST(MATH_TEST, sincosf) {
+TEST(math_h, sincosf) {
   float s, c;
   sincosf(0.0f, &s, &c);
   ASSERT_FLOAT_EQ(0.0f, s);
   ASSERT_FLOAT_EQ(1.0f, c);
 }
 
-TEST(MATH_TEST, sincosl) {
+TEST(math_h, sincosl) {
   long double s, c;
   sincosl(0.0L, &s, &c);
   ASSERT_DOUBLE_EQ(0.0L, s);
   ASSERT_DOUBLE_EQ(1.0L, c);
 }
 
-TEST(MATH_TEST, tan) {
+TEST(math_h, tan) {
   ASSERT_DOUBLE_EQ(0.0, tan(0.0));
 }
 
-TEST(MATH_TEST, tanf) {
+TEST(math_h, tanf) {
   ASSERT_FLOAT_EQ(0.0f, tanf(0.0f));
 }
 
-TEST(MATH_TEST, tanl) {
+TEST(math_h, tanl) {
   ASSERT_DOUBLE_EQ(0.0L, tanl(0.0L));
 }
 
-TEST(MATH_TEST, acosh) {
+TEST(math_h, acosh) {
   ASSERT_DOUBLE_EQ(0.0, acosh(1.0));
 }
 
-TEST(MATH_TEST, acoshf) {
+TEST(math_h, acoshf) {
   ASSERT_FLOAT_EQ(0.0f, acoshf(1.0f));
 }
 
-TEST(MATH_TEST, acoshl) {
+TEST(math_h, acoshl) {
   ASSERT_DOUBLE_EQ(0.0L, acoshl(1.0L));
 }
 
-TEST(MATH_TEST, asinh) {
+TEST(math_h, asinh) {
   ASSERT_DOUBLE_EQ(0.0, asinh(0.0));
 }
 
-TEST(MATH_TEST, asinhf) {
+TEST(math_h, asinhf) {
   ASSERT_FLOAT_EQ(0.0f, asinhf(0.0f));
 }
 
-TEST(MATH_TEST, asinhl) {
+TEST(math_h, asinhl) {
   ASSERT_DOUBLE_EQ(0.0L, asinhl(0.0L));
 }
 
-TEST(MATH_TEST, atanh) {
+TEST(math_h, atanh) {
   ASSERT_DOUBLE_EQ(0.0, atanh(0.0));
 }
 
-TEST(MATH_TEST, atanhf) {
+TEST(math_h, atanhf) {
   ASSERT_FLOAT_EQ(0.0f, atanhf(0.0f));
 }
 
-TEST(MATH_TEST, atanhl) {
+TEST(math_h, atanhl) {
   ASSERT_DOUBLE_EQ(0.0L, atanhl(0.0L));
 }
 
-TEST(MATH_TEST, cosh) {
+TEST(math_h, cosh) {
   ASSERT_DOUBLE_EQ(1.0, cosh(0.0));
 }
 
-TEST(MATH_TEST, coshf) {
+TEST(math_h, coshf) {
   ASSERT_FLOAT_EQ(1.0f, coshf(0.0f));
 }
 
-TEST(MATH_TEST, coshl) {
+TEST(math_h, coshl) {
   ASSERT_DOUBLE_EQ(1.0L, coshl(0.0L));
 }
 
-TEST(MATH_TEST, sinh) {
+TEST(math_h, sinh) {
   ASSERT_DOUBLE_EQ(0.0, sinh(0.0));
 }
 
-TEST(MATH_TEST, sinhf) {
+TEST(math_h, sinhf) {
   ASSERT_FLOAT_EQ(0.0f, sinhf(0.0f));
 }
 
-TEST(MATH_TEST, sinhl) {
+TEST(math_h, sinhl) {
   ASSERT_DOUBLE_EQ(0.0L, sinhl(0.0L));
 }
 
-TEST(MATH_TEST, tanh) {
+TEST(math_h, tanh) {
   ASSERT_DOUBLE_EQ(0.0, tanh(0.0));
 }
 
-TEST(MATH_TEST, tanhf) {
+TEST(math_h, tanhf) {
   ASSERT_FLOAT_EQ(0.0f, tanhf(0.0f));
 }
 
-TEST(MATH_TEST, tanhl) {
+TEST(math_h, tanhl) {
   ASSERT_DOUBLE_EQ(0.0L, tanhl(0.0L));
 }
 
-TEST(MATH_TEST, log) {
+TEST(math_h, log) {
   ASSERT_DOUBLE_EQ(1.0, log(M_E));
 }
 
-TEST(MATH_TEST, logf) {
+TEST(math_h, logf) {
   ASSERT_FLOAT_EQ(1.0f, logf(static_cast<float>(M_E)));
 }
 
-TEST(MATH_TEST, logl) {
+TEST(math_h, logl) {
   ASSERT_DOUBLE_EQ(1.0L, logl(M_E));
 }
 
-TEST(MATH_TEST, log2) {
+TEST(math_h, log2) {
   ASSERT_DOUBLE_EQ(12.0, log2(4096.0));
 }
 
-TEST(MATH_TEST, log2f) {
+TEST(math_h, log2f) {
   ASSERT_FLOAT_EQ(12.0f, log2f(4096.0f));
 }
 
-TEST(MATH_TEST, log2l) {
+TEST(math_h, log2l) {
   ASSERT_DOUBLE_EQ(12.0L, log2l(4096.0L));
 }
 
-TEST(MATH_TEST, log10) {
+TEST(math_h, log10) {
   ASSERT_DOUBLE_EQ(3.0, log10(1000.0));
 }
 
-TEST(MATH_TEST, log10f) {
+TEST(math_h, log10f) {
   ASSERT_FLOAT_EQ(3.0f, log10f(1000.0f));
 }
 
-TEST(MATH_TEST, log10l) {
+TEST(math_h, log10l) {
   ASSERT_DOUBLE_EQ(3.0L, log10l(1000.0L));
 }
 
-TEST(MATH_TEST, cbrt) {
+TEST(math_h, cbrt) {
   ASSERT_DOUBLE_EQ(3.0, cbrt(27.0));
 }
 
-TEST(MATH_TEST, cbrtf) {
+TEST(math_h, cbrtf) {
   ASSERT_FLOAT_EQ(3.0f, cbrtf(27.0f));
 }
 
-TEST(MATH_TEST, cbrtl) {
+TEST(math_h, cbrtl) {
   ASSERT_DOUBLE_EQ(3.0L, cbrtl(27.0L));
 }
 
-TEST(MATH_TEST, sqrt) {
+TEST(math_h, sqrt) {
   ASSERT_DOUBLE_EQ(2.0, sqrt(4.0));
 }
 
-TEST(MATH_TEST, sqrtf) {
+TEST(math_h, sqrtf) {
   ASSERT_FLOAT_EQ(2.0f, sqrtf(4.0f));
 }
 
-TEST(MATH_TEST, sqrtl) {
+TEST(math_h, sqrtl) {
   ASSERT_DOUBLE_EQ(2.0L, sqrtl(4.0L));
 }
 
-TEST(MATH_TEST, exp) {
+TEST(math_h, exp) {
   ASSERT_DOUBLE_EQ(1.0, exp(0.0));
   ASSERT_DOUBLE_EQ(M_E, exp(1.0));
 }
 
-TEST(MATH_TEST, expf) {
+TEST(math_h, expf) {
   ASSERT_FLOAT_EQ(1.0f, expf(0.0f));
   ASSERT_FLOAT_EQ(static_cast<float>(M_E), expf(1.0f));
 }
 
-TEST(MATH_TEST, expl) {
+TEST(math_h, expl) {
   ASSERT_DOUBLE_EQ(1.0L, expl(0.0L));
   ASSERT_DOUBLE_EQ(M_E, expl(1.0L));
 }
 
-TEST(MATH_TEST, exp2) {
+TEST(math_h, exp2) {
   ASSERT_DOUBLE_EQ(8.0, exp2(3.0));
 }
 
-TEST(MATH_TEST, exp2f) {
+TEST(math_h, exp2f) {
   ASSERT_FLOAT_EQ(8.0f, exp2f(3.0f));
 }
 
-TEST(MATH_TEST, exp2l) {
+TEST(math_h, exp2l) {
   ASSERT_DOUBLE_EQ(8.0L, exp2l(3.0L));
 }
 
-TEST(MATH_TEST, expm1) {
+TEST(math_h, expm1) {
   ASSERT_DOUBLE_EQ(M_E - 1.0, expm1(1.0));
 }
 
-TEST(MATH_TEST, expm1f) {
+TEST(math_h, expm1f) {
   ASSERT_FLOAT_EQ(static_cast<float>(M_E) - 1.0f, expm1f(1.0f));
 }
 
-TEST(MATH_TEST, expm1l) {
+TEST(math_h, expm1l) {
   ASSERT_DOUBLE_EQ(M_E - 1.0L, expm1l(1.0L));
 }
 
-TEST(MATH_TEST, pow) {
+TEST(math_h, pow) {
   ASSERT_TRUE(isnan(pow(nan(""), 3.0)));
   ASSERT_DOUBLE_EQ(1.0, (pow(1.0, nan(""))));
   ASSERT_TRUE(isnan(pow(2.0, nan(""))));
   ASSERT_DOUBLE_EQ(8.0, pow(2.0, 3.0));
 }
 
-TEST(MATH_TEST, powf) {
+TEST(math_h, powf) {
   ASSERT_TRUE(isnanf(powf(nanf(""), 3.0f)));
   ASSERT_FLOAT_EQ(1.0f, (powf(1.0f, nanf(""))));
   ASSERT_TRUE(isnanf(powf(2.0f, nanf(""))));
   ASSERT_FLOAT_EQ(8.0f, powf(2.0f, 3.0f));
 }
 
-TEST(MATH_TEST, powl) {
+TEST(math_h, powl) {
   ASSERT_TRUE(__isnanl(powl(nanl(""), 3.0L)));
   ASSERT_DOUBLE_EQ(1.0L, (powl(1.0L, nanl(""))));
   ASSERT_TRUE(__isnanl(powl(2.0L, nanl(""))));
   ASSERT_DOUBLE_EQ(8.0L, powl(2.0L, 3.0L));
 }
 
-TEST(MATH_TEST, ceil) {
+TEST(math_h, ceil) {
   ASSERT_DOUBLE_EQ(1.0, ceil(0.9));
 }
 
-TEST(MATH_TEST, ceilf) {
+TEST(math_h, ceilf) {
   ASSERT_FLOAT_EQ(1.0f, ceilf(0.9f));
 }
 
-TEST(MATH_TEST, ceill) {
+TEST(math_h, ceill) {
   ASSERT_DOUBLE_EQ(1.0L, ceill(0.9L));
 }
 
-TEST(MATH_TEST, floor) {
+TEST(math_h, floor) {
   ASSERT_DOUBLE_EQ(1.0, floor(1.1));
 }
 
-TEST(MATH_TEST, floorf) {
+TEST(math_h, floorf) {
   ASSERT_FLOAT_EQ(1.0f, floorf(1.1f));
 }
 
-TEST(MATH_TEST, floorl) {
+TEST(math_h, floorl) {
   ASSERT_DOUBLE_EQ(1.0L, floorl(1.1L));
 }
 
-TEST(MATH_TEST, fabs) {
+TEST(math_h, fabs) {
   ASSERT_DOUBLE_EQ(1.0, fabs(-1.0));
 }
 
-TEST(MATH_TEST, fabsf) {
+TEST(math_h, fabsf) {
   ASSERT_FLOAT_EQ(1.0f, fabsf(-1.0f));
 }
 
-TEST(MATH_TEST, fabsl) {
+TEST(math_h, fabsl) {
   ASSERT_DOUBLE_EQ(1.0L, fabsl(-1.0L));
 }
 
-TEST(MATH_TEST, ldexp) {
+TEST(math_h, ldexp) {
   ASSERT_DOUBLE_EQ(16.0, ldexp(2.0, 3.0));
 }
 
-TEST(MATH_TEST, ldexpf) {
+TEST(math_h, ldexpf) {
   ASSERT_FLOAT_EQ(16.0f, ldexpf(2.0f, 3.0f));
 }
 
-TEST(MATH_TEST, ldexpl) {
+TEST(math_h, ldexpl) {
   ASSERT_DOUBLE_EQ(16.0L, ldexpl(2.0L, 3.0));
 }
 
-TEST(MATH_TEST, fmod) {
+TEST(math_h, fmod) {
   ASSERT_DOUBLE_EQ(2.0, fmod(12.0, 10.0));
 
   // If x is an infinity, NaN is returned.
@@ -852,7 +859,7 @@
   ASSERT_TRUE(isnan(fmod(3.0, 0.0)));
 }
 
-TEST(MATH_TEST, fmodf) {
+TEST(math_h, fmodf) {
   ASSERT_FLOAT_EQ(2.0f, fmodf(12.0f, 10.0f));
 
   // If x is an infinity, NaN is returned.
@@ -867,7 +874,7 @@
   ASSERT_TRUE(isnanf(fmodf(3.0f, 0.0f)));
 }
 
-TEST(MATH_TEST, fmodl) {
+TEST(math_h, fmodl) {
   ASSERT_DOUBLE_EQ(2.0L, fmodl(12.0L, 10.0L));
 
   // If x is an infinity, NaN is returned.
@@ -882,7 +889,7 @@
   ASSERT_TRUE(isnanl(fmodl(3.0L, 0.0L)));
 }
 
-TEST(MATH_TEST, remainder) {
+TEST(math_h, remainder) {
   ASSERT_DOUBLE_EQ(2.0, remainder(12.0, 10.0));
 
   // If x or y is a NaN, NaN is returned.
@@ -897,7 +904,7 @@
   ASSERT_TRUE(isnan(remainder(12.0, 0.0)));
 }
 
-TEST(MATH_TEST, remainderf) {
+TEST(math_h, remainderf) {
   ASSERT_FLOAT_EQ(2.0f, remainderf(12.0f, 10.0f));
 
   // If x or y is a NaN, NaN is returned.
@@ -912,7 +919,7 @@
   ASSERT_TRUE(isnanf(remainderf(12.0f, 0.0f)));
 }
 
-TEST(MATH_TEST, remainderl) {
+TEST(math_h, remainderl) {
   ASSERT_DOUBLE_EQ(2.0L, remainderl(12.0L, 10.0L));
 
   // If x or y is a NaN, NaN is returned.
@@ -927,63 +934,63 @@
   ASSERT_TRUE(isnanl(remainderl(12.0L, 0.0L)));
 }
 
-TEST(MATH_TEST, drem) {
+TEST(math_h, drem) {
   ASSERT_DOUBLE_EQ(2.0, drem(12.0, 10.0));
 }
 
-TEST(MATH_TEST, dremf) {
+TEST(math_h, dremf) {
   ASSERT_FLOAT_EQ(2.0f, dremf(12.0f, 10.0f));
 }
 
-TEST(MATH_TEST, fmax) {
+TEST(math_h, fmax) {
   ASSERT_DOUBLE_EQ(12.0, fmax(12.0, 10.0));
   ASSERT_DOUBLE_EQ(12.0, fmax(12.0, nan("")));
   ASSERT_DOUBLE_EQ(12.0, fmax(nan(""), 12.0));
 }
 
-TEST(MATH_TEST, fmaxf) {
+TEST(math_h, fmaxf) {
   ASSERT_FLOAT_EQ(12.0f, fmaxf(12.0f, 10.0f));
   ASSERT_FLOAT_EQ(12.0f, fmaxf(12.0f, nanf("")));
   ASSERT_FLOAT_EQ(12.0f, fmaxf(nanf(""), 12.0f));
 }
 
-TEST(MATH_TEST, fmaxl) {
+TEST(math_h, fmaxl) {
   ASSERT_DOUBLE_EQ(12.0L, fmaxl(12.0L, 10.0L));
   ASSERT_DOUBLE_EQ(12.0L, fmaxl(12.0L, nanl("")));
   ASSERT_DOUBLE_EQ(12.0L, fmaxl(nanl(""), 12.0L));
 }
 
-TEST(MATH_TEST, fmin) {
+TEST(math_h, fmin) {
   ASSERT_DOUBLE_EQ(10.0, fmin(12.0, 10.0));
   ASSERT_DOUBLE_EQ(12.0, fmin(12.0, nan("")));
   ASSERT_DOUBLE_EQ(12.0, fmin(nan(""), 12.0));
 }
 
-TEST(MATH_TEST, fminf) {
+TEST(math_h, fminf) {
   ASSERT_FLOAT_EQ(10.0f, fminf(12.0f, 10.0f));
   ASSERT_FLOAT_EQ(12.0f, fminf(12.0f, nanf("")));
   ASSERT_FLOAT_EQ(12.0f, fminf(nanf(""), 12.0f));
 }
 
-TEST(MATH_TEST, fminl) {
+TEST(math_h, fminl) {
   ASSERT_DOUBLE_EQ(10.0L, fminl(12.0L, 10.0L));
   ASSERT_DOUBLE_EQ(12.0L, fminl(12.0L, nanl("")));
   ASSERT_DOUBLE_EQ(12.0L, fminl(nanl(""), 12.0L));
 }
 
-TEST(MATH_TEST, fma) {
+TEST(math_h, fma) {
   ASSERT_DOUBLE_EQ(10.0, fma(2.0, 3.0, 4.0));
 }
 
-TEST(MATH_TEST, fmaf) {
+TEST(math_h, fmaf) {
   ASSERT_FLOAT_EQ(10.0f, fmaf(2.0f, 3.0f, 4.0f));
 }
 
-TEST(MATH_TEST, fmal) {
+TEST(math_h, fmal) {
   ASSERT_DOUBLE_EQ(10.0L, fmal(2.0L, 3.0L, 4.0L));
 }
 
-TEST(MATH_TEST, hypot) {
+TEST(math_h, hypot) {
   ASSERT_DOUBLE_EQ(5.0, hypot(3.0, 4.0));
 
   // If x or y is an infinity, returns positive infinity.
@@ -997,7 +1004,7 @@
   ASSERT_TRUE(isnan(hypot(nan(""), 4.0)));
 }
 
-TEST(MATH_TEST, hypotf) {
+TEST(math_h, hypotf) {
   ASSERT_FLOAT_EQ(5.0f, hypotf(3.0f, 4.0f));
 
   // If x or y is an infinity, returns positive infinity.
@@ -1011,7 +1018,7 @@
   ASSERT_TRUE(isnanf(hypotf(nanf(""), 4.0f)));
 }
 
-TEST(MATH_TEST, hypotl) {
+TEST(math_h, hypotl) {
   ASSERT_DOUBLE_EQ(5.0L, hypotl(3.0L, 4.0L));
 
   // If x or y is an infinity, returns positive infinity.
@@ -1025,31 +1032,31 @@
   ASSERT_TRUE(isnanl(hypotl(nanl(""), 4.0L)));
 }
 
-TEST(MATH_TEST, erf) {
+TEST(math_h, erf) {
   ASSERT_DOUBLE_EQ(0.84270079294971489, erf(1.0));
 }
 
-TEST(MATH_TEST, erff) {
+TEST(math_h, erff) {
   ASSERT_FLOAT_EQ(0.84270078f, erff(1.0f));
 }
 
-TEST(MATH_TEST, erfl) {
+TEST(math_h, erfl) {
   ASSERT_DOUBLE_EQ(0.84270079294971489L, erfl(1.0L));
 }
 
-TEST(MATH_TEST, erfc) {
+TEST(math_h, erfc) {
   ASSERT_DOUBLE_EQ(0.15729920705028513, erfc(1.0));
 }
 
-TEST(MATH_TEST, erfcf) {
+TEST(math_h, erfcf) {
   ASSERT_FLOAT_EQ(0.15729921f, erfcf(1.0f));
 }
 
-TEST(MATH_TEST, erfcl) {
+TEST(math_h, erfcl) {
   ASSERT_DOUBLE_EQ(0.15729920705028513L, erfcl(1.0L));
 }
 
-TEST(MATH_TEST, lrint) {
+TEST(math_h, lrint) {
   auto guard = android::base::make_scope_guard([]() { fesetenv(FE_DFL_ENV); });
 
   fesetround(FE_UPWARD); // lrint/lrintf/lrintl obey the rounding mode.
@@ -1071,7 +1078,7 @@
   EXPECT_EQ(1234L, llrintl(1234.01L));
 }
 
-TEST(MATH_TEST, rint) {
+TEST(math_h, rint) {
   auto guard = android::base::make_scope_guard([]() { fesetenv(FE_DFL_ENV); });
 
   fesetround(FE_UPWARD); // rint/rintf/rintl obey the rounding mode.
@@ -1099,7 +1106,7 @@
   ASSERT_EQ(1234.0, rintl(1234.01L));
 }
 
-TEST(MATH_TEST, nearbyint) {
+TEST(math_h, nearbyint) {
   auto guard = android::base::make_scope_guard([]() { fesetenv(FE_DFL_ENV); });
   fesetround(FE_UPWARD); // nearbyint/nearbyintf/nearbyintl obey the rounding mode.
   feclearexcept(FE_ALL_EXCEPT); // nearbyint/nearbyintf/nearbyintl don't set the FE_INEXACT flag.
@@ -1126,7 +1133,7 @@
   ASSERT_EQ(1234.0, nearbyintl(1234.01L));
 }
 
-TEST(MATH_TEST, lround) {
+TEST(math_h, lround) {
   auto guard = android::base::make_scope_guard([]() { fesetenv(FE_DFL_ENV); });
   fesetround(FE_UPWARD); // lround ignores the rounding mode.
   ASSERT_EQ(1234, lround(1234.01));
@@ -1134,7 +1141,7 @@
   ASSERT_EQ(1234, lroundl(1234.01L));
 }
 
-TEST(MATH_TEST, llround) {
+TEST(math_h, llround) {
   auto guard = android::base::make_scope_guard([]() { fesetenv(FE_DFL_ENV); });
   fesetround(FE_UPWARD); // llround ignores the rounding mode.
   ASSERT_EQ(1234L, llround(1234.01));
@@ -1142,7 +1149,7 @@
   ASSERT_EQ(1234L, llroundl(1234.01L));
 }
 
-TEST(MATH_TEST, ilogb) {
+TEST(math_h, ilogb) {
   ASSERT_EQ(FP_ILOGB0, ilogb(0.0));
   ASSERT_EQ(FP_ILOGBNAN, ilogb(nan("")));
   ASSERT_EQ(INT_MAX, ilogb(HUGE_VAL));
@@ -1151,7 +1158,7 @@
   ASSERT_EQ(3, ilogb(10.0));
 }
 
-TEST(MATH_TEST, ilogbf) {
+TEST(math_h, ilogbf) {
   ASSERT_EQ(FP_ILOGB0, ilogbf(0.0f));
   ASSERT_EQ(FP_ILOGBNAN, ilogbf(nanf("")));
   ASSERT_EQ(INT_MAX, ilogbf(HUGE_VALF));
@@ -1160,7 +1167,7 @@
   ASSERT_EQ(3, ilogbf(10.0f));
 }
 
-TEST(MATH_TEST, ilogbl) {
+TEST(math_h, ilogbl) {
   ASSERT_EQ(FP_ILOGB0, ilogbl(0.0L));
   ASSERT_EQ(FP_ILOGBNAN, ilogbl(nanl("")));
   ASSERT_EQ(INT_MAX, ilogbl(HUGE_VALL));
@@ -1169,7 +1176,7 @@
   ASSERT_EQ(3L, ilogbl(10.0L));
 }
 
-TEST(MATH_TEST, logb) {
+TEST(math_h, logb) {
   ASSERT_EQ(-HUGE_VAL, logb(0.0));
   ASSERT_TRUE(isnan(logb(nan(""))));
   ASSERT_TRUE(isinf(logb(HUGE_VAL)));
@@ -1178,7 +1185,7 @@
   ASSERT_EQ(3.0, logb(10.0));
 }
 
-TEST(MATH_TEST, logbf) {
+TEST(math_h, logbf) {
   ASSERT_EQ(-HUGE_VALF, logbf(0.0f));
   ASSERT_TRUE(isnanf(logbf(nanf(""))));
   ASSERT_TRUE(isinff(logbf(HUGE_VALF)));
@@ -1187,7 +1194,7 @@
   ASSERT_EQ(3.0f, logbf(10.0f));
 }
 
-TEST(MATH_TEST, logbl) {
+TEST(math_h, logbl) {
   ASSERT_EQ(-HUGE_VAL, logbl(0.0L));
   ASSERT_TRUE(isnan(logbl(nanl(""))));
   ASSERT_TRUE(isinf(logbl(HUGE_VALL)));
@@ -1196,7 +1203,7 @@
   ASSERT_EQ(3.0L, logbl(10.0L));
 }
 
-TEST(MATH_TEST, log1p) {
+TEST(math_h, log1p) {
   ASSERT_EQ(-HUGE_VAL, log1p(-1.0));
   ASSERT_TRUE(isnan(log1p(nan(""))));
   ASSERT_TRUE(isinf(log1p(HUGE_VAL)));
@@ -1204,7 +1211,7 @@
   ASSERT_DOUBLE_EQ(1.0, log1p(M_E - 1.0));
 }
 
-TEST(MATH_TEST, log1pf) {
+TEST(math_h, log1pf) {
   ASSERT_EQ(-HUGE_VALF, log1pf(-1.0f));
   ASSERT_TRUE(isnanf(log1pf(nanf(""))));
   ASSERT_TRUE(isinff(log1pf(HUGE_VALF)));
@@ -1212,7 +1219,7 @@
   ASSERT_FLOAT_EQ(1.0f, log1pf(static_cast<float>(M_E) - 1.0f));
 }
 
-TEST(MATH_TEST, log1pl) {
+TEST(math_h, log1pl) {
   ASSERT_EQ(-HUGE_VALL, log1pl(-1.0L));
   ASSERT_TRUE(isnanl(log1pl(nanl(""))));
   ASSERT_TRUE(isinfl(log1pl(HUGE_VALL)));
@@ -1220,25 +1227,25 @@
   ASSERT_DOUBLE_EQ(1.0L, log1pl(M_E - 1.0L));
 }
 
-TEST(MATH_TEST, fdim) {
+TEST(math_h, fdim) {
   ASSERT_DOUBLE_EQ(0.0, fdim(1.0, 1.0));
   ASSERT_DOUBLE_EQ(1.0, fdim(2.0, 1.0));
   ASSERT_DOUBLE_EQ(0.0, fdim(1.0, 2.0));
 }
 
-TEST(MATH_TEST, fdimf) {
+TEST(math_h, fdimf) {
   ASSERT_FLOAT_EQ(0.0f, fdimf(1.0f, 1.0f));
   ASSERT_FLOAT_EQ(1.0f, fdimf(2.0f, 1.0f));
   ASSERT_FLOAT_EQ(0.0f, fdimf(1.0f, 2.0f));
 }
 
-TEST(MATH_TEST, fdiml) {
+TEST(math_h, fdiml) {
   ASSERT_DOUBLE_EQ(0.0L, fdiml(1.0L, 1.0L));
   ASSERT_DOUBLE_EQ(1.0L, fdiml(2.0L, 1.0L));
   ASSERT_DOUBLE_EQ(0.0L, fdiml(1.0L, 2.0L));
 }
 
-TEST(MATH_TEST, round) {
+TEST(math_h, round) {
   auto guard = android::base::make_scope_guard([]() { fesetenv(FE_DFL_ENV); });
   fesetround(FE_TOWARDZERO); // round ignores the rounding mode and always rounds away from zero.
   ASSERT_DOUBLE_EQ(1.0, round(0.5));
@@ -1250,7 +1257,7 @@
   ASSERT_DOUBLE_EQ(-HUGE_VAL, round(-HUGE_VAL));
 }
 
-TEST(MATH_TEST, roundf) {
+TEST(math_h, roundf) {
   auto guard = android::base::make_scope_guard([]() { fesetenv(FE_DFL_ENV); });
   fesetround(FE_TOWARDZERO); // roundf ignores the rounding mode and always rounds away from zero.
   ASSERT_FLOAT_EQ(1.0f, roundf(0.5f));
@@ -1262,7 +1269,7 @@
   ASSERT_FLOAT_EQ(-HUGE_VALF, roundf(-HUGE_VALF));
 }
 
-TEST(MATH_TEST, roundl) {
+TEST(math_h, roundl) {
   auto guard = android::base::make_scope_guard([]() { fesetenv(FE_DFL_ENV); });
   fesetround(FE_TOWARDZERO); // roundl ignores the rounding mode and always rounds away from zero.
   ASSERT_DOUBLE_EQ(1.0L, roundl(0.5L));
@@ -1274,7 +1281,7 @@
   ASSERT_DOUBLE_EQ(-HUGE_VALL, roundl(-HUGE_VALL));
 }
 
-TEST(MATH_TEST, trunc) {
+TEST(math_h, trunc) {
   auto guard = android::base::make_scope_guard([]() { fesetenv(FE_DFL_ENV); });
   fesetround(FE_UPWARD); // trunc ignores the rounding mode and always rounds toward zero.
   ASSERT_DOUBLE_EQ(1.0, trunc(1.5));
@@ -1286,7 +1293,7 @@
   ASSERT_DOUBLE_EQ(-HUGE_VAL, trunc(-HUGE_VAL));
 }
 
-TEST(MATH_TEST, truncf) {
+TEST(math_h, truncf) {
   auto guard = android::base::make_scope_guard([]() { fesetenv(FE_DFL_ENV); });
   fesetround(FE_UPWARD); // truncf ignores the rounding mode and always rounds toward zero.
   ASSERT_FLOAT_EQ(1.0f, truncf(1.5f));
@@ -1298,7 +1305,7 @@
   ASSERT_FLOAT_EQ(-HUGE_VALF, truncf(-HUGE_VALF));
 }
 
-TEST(MATH_TEST, truncl) {
+TEST(math_h, truncl) {
   auto guard = android::base::make_scope_guard([]() { fesetenv(FE_DFL_ENV); });
   fesetround(FE_UPWARD); // truncl ignores the rounding mode and always rounds toward zero.
   ASSERT_DOUBLE_EQ(1.0L, truncl(1.5L));
@@ -1310,19 +1317,19 @@
   ASSERT_DOUBLE_EQ(-HUGE_VALL, truncl(-HUGE_VALL));
 }
 
-TEST(MATH_TEST, nextafter) {
+TEST(math_h, nextafter) {
   ASSERT_DOUBLE_EQ(0.0, nextafter(0.0, 0.0));
   ASSERT_DOUBLE_EQ(4.9406564584124654e-324, nextafter(0.0, 1.0));
   ASSERT_DOUBLE_EQ(-4.9406564584124654e-324, nextafter(0.0, -1.0));
 }
 
-TEST(MATH_TEST, nextafterf) {
+TEST(math_h, nextafterf) {
   ASSERT_FLOAT_EQ(0.0f, nextafterf(0.0f, 0.0f));
   ASSERT_FLOAT_EQ(1.4012985e-45f, nextafterf(0.0f, 1.0f));
   ASSERT_FLOAT_EQ(-1.4012985e-45f, nextafterf(0.0f, -1.0f));
 }
 
-TEST(MATH_TEST, nextafterl) {
+TEST(math_h, nextafterl) {
   ASSERT_DOUBLE_EQ(0.0L, nextafterl(0.0L, 0.0L));
   // Use a runtime value to accomodate the case when
   // sizeof(double) == sizeof(long double)
@@ -1331,19 +1338,19 @@
   ASSERT_DOUBLE_EQ(-smallest_positive, nextafterl(0.0L, -1.0L));
 }
 
-TEST(MATH_TEST, nexttoward) {
+TEST(math_h, nexttoward) {
   ASSERT_DOUBLE_EQ(0.0, nexttoward(0.0, 0.0L));
   ASSERT_DOUBLE_EQ(4.9406564584124654e-324, nexttoward(0.0, 1.0L));
   ASSERT_DOUBLE_EQ(-4.9406564584124654e-324, nexttoward(0.0, -1.0L));
 }
 
-TEST(MATH_TEST, nexttowardf) {
+TEST(math_h, nexttowardf) {
   ASSERT_FLOAT_EQ(0.0f, nexttowardf(0.0f, 0.0L));
   ASSERT_FLOAT_EQ(1.4012985e-45f, nexttowardf(0.0f, 1.0L));
   ASSERT_FLOAT_EQ(-1.4012985e-45f, nexttowardf(0.0f, -1.0L));
 }
 
-TEST(MATH_TEST, nexttowardl) {
+TEST(math_h, nexttowardl) {
   ASSERT_DOUBLE_EQ(0.0L, nexttowardl(0.0L, 0.0L));
   // Use a runtime value to accomodate the case when
   // sizeof(double) == sizeof(long double)
@@ -1352,40 +1359,40 @@
   ASSERT_DOUBLE_EQ(-smallest_positive, nexttowardl(0.0L, -1.0L));
 }
 
-TEST(MATH_TEST, copysign) {
+TEST(math_h, copysign) {
   ASSERT_DOUBLE_EQ(0.0, copysign(0.0, 1.0));
   ASSERT_DOUBLE_EQ(-0.0, copysign(0.0, -1.0));
   ASSERT_DOUBLE_EQ(2.0, copysign(2.0, 1.0));
   ASSERT_DOUBLE_EQ(-2.0, copysign(2.0, -1.0));
 }
 
-TEST(MATH_TEST, copysignf) {
+TEST(math_h, copysignf) {
   ASSERT_FLOAT_EQ(0.0f, copysignf(0.0f, 1.0f));
   ASSERT_FLOAT_EQ(-0.0f, copysignf(0.0f, -1.0f));
   ASSERT_FLOAT_EQ(2.0f, copysignf(2.0f, 1.0f));
   ASSERT_FLOAT_EQ(-2.0f, copysignf(2.0f, -1.0f));
 }
 
-TEST(MATH_TEST, copysignl) {
+TEST(math_h, copysignl) {
   ASSERT_DOUBLE_EQ(0.0L, copysignl(0.0L, 1.0L));
   ASSERT_DOUBLE_EQ(-0.0L, copysignl(0.0L, -1.0L));
   ASSERT_DOUBLE_EQ(2.0L, copysignl(2.0L, 1.0L));
   ASSERT_DOUBLE_EQ(-2.0L, copysignl(2.0L, -1.0L));
 }
 
-TEST(MATH_TEST, significand) {
+TEST(math_h, significand) {
   ASSERT_DOUBLE_EQ(0.0, significand(0.0));
   ASSERT_DOUBLE_EQ(1.2, significand(1.2));
   ASSERT_DOUBLE_EQ(1.53125, significand(12.25));
 }
 
-TEST(MATH_TEST, significandf) {
+TEST(math_h, significandf) {
   ASSERT_FLOAT_EQ(0.0f, significandf(0.0f));
   ASSERT_FLOAT_EQ(1.2f, significandf(1.2f));
   ASSERT_FLOAT_EQ(1.53125f, significandf(12.25f));
 }
 
-TEST(MATH_TEST, significandl) {
+TEST(math_h, significandl) {
 #if !defined(ANDROID_HOST_MUSL)
   ASSERT_DOUBLE_EQ(0.0L, significandl(0.0L));
   ASSERT_DOUBLE_EQ(1.2L, significandl(1.2L));
@@ -1395,40 +1402,39 @@
 #endif
 }
 
-
-TEST(MATH_TEST, scalb) {
+TEST(math_h, scalb) {
   ASSERT_DOUBLE_EQ(12.0, scalb(3.0, 2.0));
 }
 
-TEST(MATH_TEST, scalbf) {
+TEST(math_h, scalbf) {
   ASSERT_FLOAT_EQ(12.0f, scalbf(3.0f, 2.0f));
 }
 
-TEST(MATH_TEST, scalbln) {
+TEST(math_h, scalbln) {
   ASSERT_DOUBLE_EQ(12.0, scalbln(3.0, 2L));
 }
 
-TEST(MATH_TEST, scalblnf) {
+TEST(math_h, scalblnf) {
   ASSERT_FLOAT_EQ(12.0f, scalblnf(3.0f, 2L));
 }
 
-TEST(MATH_TEST, scalblnl) {
+TEST(math_h, scalblnl) {
   ASSERT_DOUBLE_EQ(12.0L, scalblnl(3.0L, 2L));
 }
 
-TEST(MATH_TEST, scalbn) {
+TEST(math_h, scalbn) {
   ASSERT_DOUBLE_EQ(12.0, scalbn(3.0, 2));
 }
 
-TEST(MATH_TEST, scalbnf) {
+TEST(math_h, scalbnf) {
   ASSERT_FLOAT_EQ(12.0f, scalbnf(3.0f, 2));
 }
 
-TEST(MATH_TEST, scalbnl) {
+TEST(math_h, scalbnl) {
   ASSERT_DOUBLE_EQ(12.0L, scalbnl(3.0L, 2));
 }
 
-TEST(MATH_TEST, gamma) {
+TEST(math_h, gamma) {
 #if !defined(ANDROID_HOST_MUSL)
   ASSERT_DOUBLE_EQ(log(24.0), gamma(5.0));
 #else
@@ -1436,7 +1442,7 @@
 #endif
 }
 
-TEST(MATH_TEST, gammaf) {
+TEST(math_h, gammaf) {
 #if !defined(ANDROID_HOST_MUSL)
   ASSERT_FLOAT_EQ(logf(24.0f), gammaf(5.0f));
 #else
@@ -1444,7 +1450,7 @@
 #endif
 }
 
-TEST(MATH_TEST, gamma_r) {
+TEST(math_h, gamma_r) {
 #if defined(__BIONIC__)
   int sign;
   ASSERT_DOUBLE_EQ(log(24.0), gamma_r(5.0, &sign));
@@ -1454,7 +1460,7 @@
 #endif // __BIONIC__
 }
 
-TEST(MATH_TEST, gammaf_r) {
+TEST(math_h, gammaf_r) {
 #if defined(__BIONIC__)
   int sign;
   ASSERT_FLOAT_EQ(logf(24.0f), gammaf_r(5.0f, &sign));
@@ -1464,25 +1470,25 @@
 #endif // __BIONIC__
 }
 
-TEST(MATH_TEST, lgamma) {
+TEST(math_h, lgamma) {
   ASSERT_DOUBLE_EQ(log(24.0), lgamma(5.0));
 }
 
-TEST(MATH_TEST, lgammaf) {
+TEST(math_h, lgammaf) {
   ASSERT_FLOAT_EQ(logf(24.0f), lgammaf(5.0f));
 }
 
-TEST(MATH_TEST, lgammal) {
+TEST(math_h, lgammal) {
   ASSERT_DOUBLE_EQ(logl(24.0L), lgammal(5.0L));
 }
 
-TEST(MATH_TEST, lgamma_r) {
+TEST(math_h, lgamma_r) {
   int sign;
   ASSERT_DOUBLE_EQ(log(24.0), lgamma_r(5.0, &sign));
   ASSERT_EQ(1, sign);
 }
 
-TEST(MATH_TEST, lgamma_r_17471883) {
+TEST(math_h, lgamma_r_17471883) {
   int sign;
 
   sign = 0;
@@ -1493,13 +1499,13 @@
   ASSERT_EQ(-1, sign);
 }
 
-TEST(MATH_TEST, lgammaf_r) {
+TEST(math_h, lgammaf_r) {
   int sign;
   ASSERT_FLOAT_EQ(logf(24.0f), lgammaf_r(5.0f, &sign));
   ASSERT_EQ(1, sign);
 }
 
-TEST(MATH_TEST, lgammaf_r_17471883) {
+TEST(math_h, lgammaf_r_17471883) {
   int sign;
 
   sign = 0;
@@ -1510,13 +1516,13 @@
   ASSERT_EQ(-1, sign);
 }
 
-TEST(MATH_TEST, lgammal_r) {
+TEST(math_h, lgammal_r) {
   int sign;
   ASSERT_DOUBLE_EQ(log(24.0L), lgamma_r(5.0L, &sign));
   ASSERT_EQ(1, sign);
 }
 
-TEST(MATH_TEST, lgammal_r_17471883) {
+TEST(math_h, lgammal_r_17471883) {
   int sign;
 
   sign = 0;
@@ -1527,142 +1533,142 @@
   ASSERT_EQ(-1, sign);
 }
 
-TEST(MATH_TEST, tgamma_NaN) {
+TEST(math_h, tgamma_NaN) {
   ASSERT_TRUE(isnan(tgamma(nan(""))));
   ASSERT_TRUE(isnanf(tgammaf(nanf(""))));
   ASSERT_TRUE(isnanl(tgammal(nanl(""))));
 }
 
-TEST(MATH_TEST, tgamma_inf) {
+TEST(math_h, tgamma_inf) {
   ASSERT_TRUE(isinf(tgamma(HUGE_VAL)));
   ASSERT_TRUE(isinff(tgammaf(HUGE_VALF)));
   ASSERT_TRUE(isinfl(tgammal(HUGE_VALL)));
 }
 
-TEST(MATH_TEST, tgamma_negative) {
+TEST(math_h, tgamma_negative) {
   ASSERT_TRUE(isnan(tgamma(-1.0)));
   ASSERT_TRUE(isnanf(tgammaf(-1.0f)));
   ASSERT_TRUE(isnanl(tgammal(-1.0L)));
 }
 
-TEST(MATH_TEST, tgamma) {
+TEST(math_h, tgamma) {
   ASSERT_DOUBLE_EQ(24.0, tgamma(5.0));
   ASSERT_DOUBLE_EQ(120.0, tgamma(6.0));
   ASSERT_TRUE(isinf(tgamma(172.0)));
 }
 
-TEST(MATH_TEST, tgammaf) {
+TEST(math_h, tgammaf) {
   ASSERT_FLOAT_EQ(24.0f, tgammaf(5.0f));
   ASSERT_FLOAT_EQ(120.0f, tgammaf(6.0f));
   ASSERT_TRUE(isinff(tgammaf(172.0f)));
 }
 
-TEST(MATH_TEST, tgammal) {
+TEST(math_h, tgammal) {
   ASSERT_DOUBLE_EQ(24.0L, tgammal(5.0L));
   ASSERT_DOUBLE_EQ(120.0L, tgammal(6.0L));
   ASSERT_TRUE(isinf(tgammal(172.0L)));
 }
 
-TEST(MATH_TEST, j0) {
+TEST(math_h, j0) {
   ASSERT_DOUBLE_EQ(1.0, j0(0.0));
   ASSERT_DOUBLE_EQ(0.76519768655796661, j0(1.0));
 }
 
-TEST(MATH_TEST, j0f) {
+TEST(math_h, j0f) {
   ASSERT_FLOAT_EQ(1.0f, j0f(0.0f));
   ASSERT_FLOAT_EQ(0.76519769f, j0f(1.0f));
 }
 
-TEST(MATH_TEST, j1) {
+TEST(math_h, j1) {
   ASSERT_DOUBLE_EQ(0.0, j1(0.0));
   ASSERT_DOUBLE_EQ(0.44005058574493355, j1(1.0));
 }
 
-TEST(MATH_TEST, j1f) {
+TEST(math_h, j1f) {
   ASSERT_FLOAT_EQ(0.0f, j1f(0.0f));
   ASSERT_FLOAT_EQ(0.44005057f, j1f(1.0f));
 }
 
-TEST(MATH_TEST, jn) {
+TEST(math_h, jn) {
   ASSERT_DOUBLE_EQ(0.0, jn(4, 0.0));
   ASSERT_DOUBLE_EQ(0.0024766389641099553, jn(4, 1.0));
 }
 
-TEST(MATH_TEST, jnf) {
+TEST(math_h, jnf) {
   ASSERT_FLOAT_EQ(0.0f, jnf(4, 0.0f));
   ASSERT_FLOAT_EQ(0.0024766389f, jnf(4, 1.0f));
 }
 
-TEST(MATH_TEST, y0) {
+TEST(math_h, y0) {
   ASSERT_DOUBLE_EQ(-HUGE_VAL, y0(0.0));
   ASSERT_DOUBLE_EQ(0.08825696421567697, y0(1.0));
 }
 
-TEST(MATH_TEST, y0f) {
+TEST(math_h, y0f) {
   ASSERT_FLOAT_EQ(-HUGE_VALF, y0f(0.0f));
   ASSERT_FLOAT_EQ(0.088256963f, y0f(1.0f));
 }
 
-TEST(MATH_TEST, y1) {
+TEST(math_h, y1) {
   ASSERT_DOUBLE_EQ(-HUGE_VAL, y1(0.0));
   ASSERT_DOUBLE_EQ(-0.78121282130028868, y1(1.0));
 }
 
-TEST(MATH_TEST, y1f) {
+TEST(math_h, y1f) {
   ASSERT_FLOAT_EQ(-HUGE_VALF, y1f(0.0f));
   ASSERT_FLOAT_EQ(-0.78121281f, y1f(1.0f));
 }
 
-TEST(MATH_TEST, yn) {
+TEST(math_h, yn) {
   ASSERT_DOUBLE_EQ(-HUGE_VAL, yn(4, 0.0));
   ASSERT_DOUBLE_EQ(-33.278423028972114, yn(4, 1.0));
 }
 
-TEST(MATH_TEST, ynf) {
+TEST(math_h, ynf) {
   ASSERT_FLOAT_EQ(-HUGE_VALF, ynf(4, 0.0f));
   ASSERT_FLOAT_EQ(-33.278423f, ynf(4, 1.0f));
 }
 
-TEST(MATH_TEST, frexp) {
+TEST(math_h, frexp) {
   int exp;
   double dr = frexp(1024.0, &exp);
   ASSERT_DOUBLE_EQ(1024.0, scalbn(dr, exp));
 }
 
-TEST(MATH_TEST, frexpf) {
+TEST(math_h, frexpf) {
   int exp;
   float fr = frexpf(1024.0f, &exp);
   ASSERT_FLOAT_EQ(1024.0f, scalbnf(fr, exp));
 }
 
-TEST(MATH_TEST, frexpl) {
+TEST(math_h, frexpl) {
   int exp;
   long double ldr = frexpl(1024.0L, &exp);
   ASSERT_DOUBLE_EQ(1024.0L, scalbnl(ldr, exp));
 }
 
-TEST(MATH_TEST, modf) {
+TEST(math_h, modf) {
   double di;
   double df = modf(123.75, &di);
   ASSERT_DOUBLE_EQ(123.0, di);
   ASSERT_DOUBLE_EQ(0.75, df);
 }
 
-TEST(MATH_TEST, modff) {
+TEST(math_h, modff) {
   float fi;
   float ff = modff(123.75f, &fi);
   ASSERT_FLOAT_EQ(123.0f, fi);
   ASSERT_FLOAT_EQ(0.75f, ff);
 }
 
-TEST(MATH_TEST, modfl) {
+TEST(math_h, modfl) {
   long double ldi;
   long double ldf = modfl(123.75L, &ldi);
   ASSERT_DOUBLE_EQ(123.0L, ldi);
   ASSERT_DOUBLE_EQ(0.75L, ldf);
 }
 
-TEST(MATH_TEST, remquo) {
+TEST(math_h, remquo) {
   int q;
   double d = remquo(13.0, 4.0, &q);
   ASSERT_EQ(3, q);
@@ -1680,7 +1686,7 @@
   ASSERT_TRUE(isnan(remquo(12.0, 0.0, &q)));
 }
 
-TEST(MATH_TEST, remquof) {
+TEST(math_h, remquof) {
   int q;
   float f = remquof(13.0f, 4.0f, &q);
   ASSERT_EQ(3, q);
@@ -1698,7 +1704,7 @@
   ASSERT_TRUE(isnanf(remquof(12.0f, 0.0f, &q)));
 }
 
-TEST(MATH_TEST, remquol) {
+TEST(math_h, remquol) {
   int q;
   long double ld = remquol(13.0L, 4.0L, &q);
   ASSERT_DOUBLE_EQ(3L, q);
@@ -1717,13 +1723,13 @@
 }
 
 // https://code.google.com/p/android/issues/detail?id=6697
-TEST(MATH_TEST, frexpf_public_bug_6697) {
+TEST(math_h, frexpf_public_bug_6697) {
   int exp;
   float fr = frexpf(14.1f, &exp);
   ASSERT_FLOAT_EQ(14.1f, scalbnf(fr, exp));
 }
 
-TEST(MATH_TEST, exp2_STRICT_ALIGN_OpenBSD_bug) {
+TEST(math_h, exp2_STRICT_ALIGN_OpenBSD_bug) {
   // OpenBSD/x86's libm had a bug here, but it was already fixed in FreeBSD:
   // http://svnweb.FreeBSD.org/base/head/lib/msun/src/math_private.h?revision=240827&view=markup
   ASSERT_DOUBLE_EQ(5.0, exp2(log2(5)));
@@ -1731,7 +1737,7 @@
   ASSERT_DOUBLE_EQ(5.0L, exp2l(log2l(5)));
 }
 
-TEST(MATH_TEST, nextafterl_OpenBSD_bug) {
+TEST(math_h, nextafterl_OpenBSD_bug) {
   // OpenBSD/x86's libm had a bug here.
   ASSERT_TRUE(nextafter(1.0, 0.0) - 1.0 < 0.0);
   ASSERT_TRUE(nextafterf(1.0f, 0.0f) - 1.0f < 0.0f);
@@ -1739,511 +1745,511 @@
 }
 
 #include "math_data/acos_intel_data.h"
-TEST(MATH_TEST, acos_intel) {
+TEST(math_h, acos_intel) {
   DoMathDataTest<1>(g_acos_intel_data, acos);
 }
 
 #include "math_data/acosf_intel_data.h"
-TEST(MATH_TEST, acosf_intel) {
+TEST(math_h, acosf_intel) {
   DoMathDataTest<1>(g_acosf_intel_data, acosf);
 }
 
 #include "math_data/acosh_intel_data.h"
-TEST(MATH_TEST, acosh_intel) {
+TEST(math_h, acosh_intel) {
   DoMathDataTest<2>(g_acosh_intel_data, acosh);
 }
 
 #include "math_data/acoshf_intel_data.h"
-TEST(MATH_TEST, acoshf_intel) {
+TEST(math_h, acoshf_intel) {
   DoMathDataTest<2>(g_acoshf_intel_data, acoshf);
 }
 
 #include "math_data/asin_intel_data.h"
-TEST(MATH_TEST, asin_intel) {
+TEST(math_h, asin_intel) {
   DoMathDataTest<1>(g_asin_intel_data, asin);
 }
 
 #include "math_data/asinf_intel_data.h"
-TEST(MATH_TEST, asinf_intel) {
+TEST(math_h, asinf_intel) {
   DoMathDataTest<1>(g_asinf_intel_data, asinf);
 }
 
 #include "math_data/asinh_intel_data.h"
-TEST(MATH_TEST, asinh_intel) {
+TEST(math_h, asinh_intel) {
   DoMathDataTest<2>(g_asinh_intel_data, asinh);
 }
 
 #include "math_data/asinhf_intel_data.h"
-TEST(MATH_TEST, asinhf_intel) {
+TEST(math_h, asinhf_intel) {
   DoMathDataTest<2>(g_asinhf_intel_data, asinhf);
 }
 
 #include "math_data/atan2_intel_data.h"
-TEST(MATH_TEST, atan2_intel) {
+TEST(math_h, atan2_intel) {
   DoMathDataTest<2>(g_atan2_intel_data, atan2);
 }
 
 #include "math_data/atan2f_intel_data.h"
-TEST(MATH_TEST, atan2f_intel) {
+TEST(math_h, atan2f_intel) {
   DoMathDataTest<2>(g_atan2f_intel_data, atan2f);
 }
 
 #include "math_data/atan_intel_data.h"
-TEST(MATH_TEST, atan_intel) {
+TEST(math_h, atan_intel) {
   DoMathDataTest<1>(g_atan_intel_data, atan);
 }
 
 #include "math_data/atanf_intel_data.h"
-TEST(MATH_TEST, atanf_intel) {
+TEST(math_h, atanf_intel) {
   DoMathDataTest<1>(g_atanf_intel_data, atanf);
 }
 
 #include "math_data/atanh_intel_data.h"
-TEST(MATH_TEST, atanh_intel) {
+TEST(math_h, atanh_intel) {
   DoMathDataTest<2>(g_atanh_intel_data, atanh);
 }
 
 #include "math_data/atanhf_intel_data.h"
-TEST(MATH_TEST, atanhf_intel) {
+TEST(math_h, atanhf_intel) {
   DoMathDataTest<2>(g_atanhf_intel_data, atanhf);
 }
 
 #include "math_data/cbrt_intel_data.h"
-TEST(MATH_TEST, cbrt_intel) {
+TEST(math_h, cbrt_intel) {
   DoMathDataTest<1>(g_cbrt_intel_data, cbrt);
 }
 
 #include "math_data/cbrtf_intel_data.h"
-TEST(MATH_TEST, cbrtf_intel) {
+TEST(math_h, cbrtf_intel) {
   DoMathDataTest<1>(g_cbrtf_intel_data, cbrtf);
 }
 
 #include "math_data/ceil_intel_data.h"
-TEST(MATH_TEST, ceil_intel) {
+TEST(math_h, ceil_intel) {
   DoMathDataTest<1>(g_ceil_intel_data, ceil);
 }
 
 #include "math_data/ceilf_intel_data.h"
-TEST(MATH_TEST, ceilf_intel) {
+TEST(math_h, ceilf_intel) {
   DoMathDataTest<1>(g_ceilf_intel_data, ceilf);
 }
 
 #include "math_data/copysign_intel_data.h"
-TEST(MATH_TEST, copysign_intel) {
+TEST(math_h, copysign_intel) {
   DoMathDataTest<1>(g_copysign_intel_data, copysign);
 }
 
 #include "math_data/copysignf_intel_data.h"
-TEST(MATH_TEST, copysignf_intel) {
+TEST(math_h, copysignf_intel) {
   DoMathDataTest<1>(g_copysignf_intel_data, copysignf);
 }
 
 #include "math_data/cos_intel_data.h"
-TEST(MATH_TEST, cos_intel) {
+TEST(math_h, cos_intel) {
   DoMathDataTest<1>(g_cos_intel_data, cos);
 }
 
 #include "math_data/cosf_intel_data.h"
-TEST(MATH_TEST, cosf_intel) {
+TEST(math_h, cosf_intel) {
   DoMathDataTest<1>(g_cosf_intel_data, cosf);
 }
 
 #include "math_data/cosh_intel_data.h"
-TEST(MATH_TEST, cosh_intel) {
+TEST(math_h, cosh_intel) {
   DoMathDataTest<2>(g_cosh_intel_data, cosh);
 }
 
 #include "math_data/coshf_intel_data.h"
-TEST(MATH_TEST, coshf_intel) {
+TEST(math_h, coshf_intel) {
   DoMathDataTest<2>(g_coshf_intel_data, coshf);
 }
 
 #include "math_data/exp_intel_data.h"
-TEST(MATH_TEST, exp_intel) {
+TEST(math_h, exp_intel) {
   DoMathDataTest<1>(g_exp_intel_data, exp);
 }
 
 #include "math_data/expf_intel_data.h"
-TEST(MATH_TEST, expf_intel) {
+TEST(math_h, expf_intel) {
   DoMathDataTest<1>(g_expf_intel_data, expf);
 }
 
 #include "math_data/exp2_intel_data.h"
-TEST(MATH_TEST, exp2_intel) {
+TEST(math_h, exp2_intel) {
   DoMathDataTest<1>(g_exp2_intel_data, exp2);
 }
 
 #include "math_data/exp2f_intel_data.h"
-TEST(MATH_TEST, exp2f_intel) {
+TEST(math_h, exp2f_intel) {
   DoMathDataTest<1>(g_exp2f_intel_data, exp2f);
 }
 
 #include "math_data/expm1_intel_data.h"
-TEST(MATH_TEST, expm1_intel) {
+TEST(math_h, expm1_intel) {
   DoMathDataTest<1>(g_expm1_intel_data, expm1);
 }
 
 #include "math_data/expm1f_intel_data.h"
-TEST(MATH_TEST, expm1f_intel) {
+TEST(math_h, expm1f_intel) {
   DoMathDataTest<1>(g_expm1f_intel_data, expm1f);
 }
 
 #include "math_data/fabs_intel_data.h"
-TEST(MATH_TEST, fabs_intel) {
+TEST(math_h, fabs_intel) {
   DoMathDataTest<1>(g_fabs_intel_data, fabs);
 }
 
 #include "math_data/fabsf_intel_data.h"
-TEST(MATH_TEST, fabsf_intel) {
+TEST(math_h, fabsf_intel) {
   DoMathDataTest<1>(g_fabsf_intel_data, fabsf);
 }
 
 #include "math_data/fdim_intel_data.h"
-TEST(MATH_TEST, fdim_intel) {
+TEST(math_h, fdim_intel) {
   DoMathDataTest<1>(g_fdim_intel_data, fdim);
 }
 
 #include "math_data/fdimf_intel_data.h"
-TEST(MATH_TEST, fdimf_intel) {
+TEST(math_h, fdimf_intel) {
   DoMathDataTest<1>(g_fdimf_intel_data, fdimf);
 }
 
 #include "math_data/floor_intel_data.h"
-TEST(MATH_TEST, floor_intel) {
+TEST(math_h, floor_intel) {
   DoMathDataTest<1>(g_floor_intel_data, floor);
 }
 
 #include "math_data/floorf_intel_data.h"
-TEST(MATH_TEST, floorf_intel) {
+TEST(math_h, floorf_intel) {
   DoMathDataTest<1>(g_floorf_intel_data, floorf);
 }
 
 #include "math_data/fma_intel_data.h"
-TEST(MATH_TEST, fma_intel) {
+TEST(math_h, fma_intel) {
   DoMathDataTest<1>(g_fma_intel_data, fma);
 }
 
 #include "math_data/fmaf_intel_data.h"
-TEST(MATH_TEST, fmaf_intel) {
+TEST(math_h, fmaf_intel) {
   DoMathDataTest<1>(g_fmaf_intel_data, fmaf);
 }
 
 #include "math_data/fmax_intel_data.h"
-TEST(MATH_TEST, fmax_intel) {
+TEST(math_h, fmax_intel) {
   DoMathDataTest<1>(g_fmax_intel_data, fmax);
 }
 
 #include "math_data/fmaxf_intel_data.h"
-TEST(MATH_TEST, fmaxf_intel) {
+TEST(math_h, fmaxf_intel) {
   DoMathDataTest<1>(g_fmaxf_intel_data, fmaxf);
 }
 
 #include "math_data/fmin_intel_data.h"
-TEST(MATH_TEST, fmin_intel) {
+TEST(math_h, fmin_intel) {
   DoMathDataTest<1>(g_fmin_intel_data, fmin);
 }
 
 #include "math_data/fminf_intel_data.h"
-TEST(MATH_TEST, fminf_intel) {
+TEST(math_h, fminf_intel) {
   DoMathDataTest<1>(g_fminf_intel_data, fminf);
 }
 
 #include "math_data/fmod_intel_data.h"
-TEST(MATH_TEST, fmod_intel) {
+TEST(math_h, fmod_intel) {
   DoMathDataTest<1>(g_fmod_intel_data, fmod);
 }
 
 #include "math_data/fmodf_intel_data.h"
-TEST(MATH_TEST, fmodf_intel) {
+TEST(math_h, fmodf_intel) {
   DoMathDataTest<1>(g_fmodf_intel_data, fmodf);
 }
 
 #include "math_data/frexp_intel_data.h"
-TEST(MATH_TEST, frexp_intel) {
+TEST(math_h, frexp_intel) {
   DoMathDataTest<1>(g_frexp_intel_data, frexp);
 }
 
 #include "math_data/frexpf_intel_data.h"
-TEST(MATH_TEST, frexpf_intel) {
+TEST(math_h, frexpf_intel) {
   DoMathDataTest<1>(g_frexpf_intel_data, frexpf);
 }
 
 #include "math_data/hypot_intel_data.h"
-TEST(MATH_TEST, hypot_intel) {
+TEST(math_h, hypot_intel) {
   DoMathDataTest<1>(g_hypot_intel_data, hypot);
 }
 
 #include "math_data/hypotf_intel_data.h"
-TEST(MATH_TEST, hypotf_intel) {
+TEST(math_h, hypotf_intel) {
   DoMathDataTest<1>(g_hypotf_intel_data, hypotf);
 }
 
 #include "math_data/ilogb_intel_data.h"
-TEST(MATH_TEST, ilogb_intel) {
+TEST(math_h, ilogb_intel) {
   DoMathDataTest<1>(g_ilogb_intel_data, ilogb);
 }
 
 #include "math_data/ilogbf_intel_data.h"
-TEST(MATH_TEST, ilogbf_intel) {
+TEST(math_h, ilogbf_intel) {
   DoMathDataTest<1>(g_ilogbf_intel_data, ilogbf);
 }
 
 #include "math_data/ldexp_intel_data.h"
-TEST(MATH_TEST, ldexp_intel) {
+TEST(math_h, ldexp_intel) {
   DoMathDataTest<1>(g_ldexp_intel_data, ldexp);
 }
 
 #include "math_data/ldexpf_intel_data.h"
-TEST(MATH_TEST, ldexpf_intel) {
+TEST(math_h, ldexpf_intel) {
   DoMathDataTest<1>(g_ldexpf_intel_data, ldexpf);
 }
 
 #include "math_data/llrint_intel_data.h"
-TEST(MATH_TEST, llrint_intel) {
+TEST(math_h, llrint_intel) {
   DoMathDataTest<1>(g_llrint_intel_data, llrint);
 }
 
 #include "math_data/llrintf_intel_data.h"
-TEST(MATH_TEST, llrintf_intel) {
+TEST(math_h, llrintf_intel) {
   DoMathDataTest<1>(g_llrintf_intel_data, llrintf);
 }
 
 #include "math_data/log_intel_data.h"
-TEST(MATH_TEST, log_intel) {
+TEST(math_h, log_intel) {
   DoMathDataTest<1>(g_log_intel_data, log);
 }
 
 #include "math_data/logf_intel_data.h"
-TEST(MATH_TEST, logf_intel) {
+TEST(math_h, logf_intel) {
   DoMathDataTest<1>(g_logf_intel_data, logf);
 }
 
 #include "math_data/log10_intel_data.h"
-TEST(MATH_TEST, log10_intel) {
+TEST(math_h, log10_intel) {
   DoMathDataTest<1>(g_log10_intel_data, log10);
 }
 
 #include "math_data/log10f_intel_data.h"
-TEST(MATH_TEST, log10f_intel) {
+TEST(math_h, log10f_intel) {
   DoMathDataTest<1>(g_log10f_intel_data, log10f);
 }
 
 #include "math_data/log1p_intel_data.h"
-TEST(MATH_TEST, log1p_intel) {
+TEST(math_h, log1p_intel) {
   DoMathDataTest<1>(g_log1p_intel_data, log1p);
 }
 
 #include "math_data/log1pf_intel_data.h"
-TEST(MATH_TEST, log1pf_intel) {
+TEST(math_h, log1pf_intel) {
   DoMathDataTest<1>(g_log1pf_intel_data, log1pf);
 }
 
 #include "math_data/log2_intel_data.h"
-TEST(MATH_TEST, log2_intel) {
+TEST(math_h, log2_intel) {
   DoMathDataTest<1>(g_log2_intel_data, log2);
 }
 
 #include "math_data/log2f_intel_data.h"
-TEST(MATH_TEST, log2f_intel) {
+TEST(math_h, log2f_intel) {
   DoMathDataTest<1>(g_log2f_intel_data, log2f);
 }
 
 #include "math_data/logb_intel_data.h"
-TEST(MATH_TEST, logb_intel) {
+TEST(math_h, logb_intel) {
   DoMathDataTest<1>(g_logb_intel_data, logb);
 }
 
 #include "math_data/logbf_intel_data.h"
-TEST(MATH_TEST, logbf_intel) {
+TEST(math_h, logbf_intel) {
   DoMathDataTest<1>(g_logbf_intel_data, logbf);
 }
 
 #include "math_data/lrint_intel_data.h"
-TEST(MATH_TEST, lrint_intel) {
+TEST(math_h, lrint_intel) {
   DoMathDataTest<1>(g_lrint_intel_data, lrint);
 }
 
 #include "math_data/lrintf_intel_data.h"
-TEST(MATH_TEST, lrintf_intel) {
+TEST(math_h, lrintf_intel) {
   DoMathDataTest<1>(g_lrintf_intel_data, lrintf);
 }
 
 #include "math_data/modf_intel_data.h"
-TEST(MATH_TEST, modf_intel) {
+TEST(math_h, modf_intel) {
   DoMathDataTest<1>(g_modf_intel_data, modf);
 }
 
 #include "math_data/modff_intel_data.h"
-TEST(MATH_TEST, modff_intel) {
+TEST(math_h, modff_intel) {
   DoMathDataTest<1>(g_modff_intel_data, modff);
 }
 
 #include "math_data/nearbyint_intel_data.h"
-TEST(MATH_TEST, nearbyint_intel) {
+TEST(math_h, nearbyint_intel) {
   DoMathDataTest<1>(g_nearbyint_intel_data, nearbyint);
 }
 
 #include "math_data/nearbyintf_intel_data.h"
-TEST(MATH_TEST, nearbyintf_intel) {
+TEST(math_h, nearbyintf_intel) {
   DoMathDataTest<1>(g_nearbyintf_intel_data, nearbyintf);
 }
 
 #include "math_data/nextafter_intel_data.h"
-TEST(MATH_TEST, nextafter_intel) {
+TEST(math_h, nextafter_intel) {
   DoMathDataTest<1>(g_nextafter_intel_data, nextafter);
 }
 
 #include "math_data/nextafterf_intel_data.h"
-TEST(MATH_TEST, nextafterf_intel) {
+TEST(math_h, nextafterf_intel) {
   DoMathDataTest<1>(g_nextafterf_intel_data, nextafterf);
 }
 
 #include "math_data/pow_intel_data.h"
-TEST(MATH_TEST, pow_intel) {
+TEST(math_h, pow_intel) {
   DoMathDataTest<1>(g_pow_intel_data, pow);
 }
 
 #include "math_data/powf_intel_data.h"
-TEST(MATH_TEST, powf_intel) {
+TEST(math_h, powf_intel) {
   DoMathDataTest<1>(g_powf_intel_data, powf);
 }
 
 #include "math_data/remainder_intel_data.h"
-TEST(MATH_TEST, remainder_intel) {
+TEST(math_h, remainder_intel) {
   DoMathDataTest<1>(g_remainder_intel_data, remainder);
 }
 
 #include "math_data/remainderf_intel_data.h"
-TEST(MATH_TEST, remainderf_intel) {
+TEST(math_h, remainderf_intel) {
   DoMathDataTest<1>(g_remainderf_intel_data, remainderf);
 }
 
 #include "math_data/remquo_intel_data.h"
-TEST(MATH_TEST, remquo_intel) {
+TEST(math_h, remquo_intel) {
   DoMathDataTest<1>(g_remquo_intel_data, remquo);
 }
 
 #include "math_data/remquof_intel_data.h"
-TEST(MATH_TEST, remquof_intel) {
+TEST(math_h, remquof_intel) {
   DoMathDataTest<1>(g_remquof_intel_data, remquof);
 }
 
 #include "math_data/rint_intel_data.h"
-TEST(MATH_TEST, rint_intel) {
+TEST(math_h, rint_intel) {
   DoMathDataTest<1>(g_rint_intel_data, rint);
 }
 
 #include "math_data/rintf_intel_data.h"
-TEST(MATH_TEST, rintf_intel) {
+TEST(math_h, rintf_intel) {
   DoMathDataTest<1>(g_rintf_intel_data, rintf);
 }
 
 #include "math_data/round_intel_data.h"
-TEST(MATH_TEST, round_intel) {
+TEST(math_h, round_intel) {
   DoMathDataTest<1>(g_round_intel_data, round);
 }
 
 #include "math_data/roundf_intel_data.h"
-TEST(MATH_TEST, roundf_intel) {
+TEST(math_h, roundf_intel) {
   DoMathDataTest<1>(g_roundf_intel_data, roundf);
 }
 
 #include "math_data/scalb_intel_data.h"
-TEST(MATH_TEST, scalb_intel) {
+TEST(math_h, scalb_intel) {
   DoMathDataTest<1>(g_scalb_intel_data, scalb);
 }
 
 #include "math_data/scalbf_intel_data.h"
-TEST(MATH_TEST, scalbf_intel) {
+TEST(math_h, scalbf_intel) {
   DoMathDataTest<1>(g_scalbf_intel_data, scalbf);
 }
 
 #include "math_data/scalbn_intel_data.h"
-TEST(MATH_TEST, scalbn_intel) {
+TEST(math_h, scalbn_intel) {
   DoMathDataTest<1>(g_scalbn_intel_data, scalbn);
 }
 
 #include "math_data/scalbnf_intel_data.h"
-TEST(MATH_TEST, scalbnf_intel) {
+TEST(math_h, scalbnf_intel) {
   DoMathDataTest<1>(g_scalbnf_intel_data, scalbnf);
 }
 
 #include "math_data/significand_intel_data.h"
-TEST(MATH_TEST, significand_intel) {
+TEST(math_h, significand_intel) {
   DoMathDataTest<1>(g_significand_intel_data, significand);
 }
 
 #include "math_data/significandf_intel_data.h"
-TEST(MATH_TEST, significandf_intel) {
+TEST(math_h, significandf_intel) {
   DoMathDataTest<1>(g_significandf_intel_data, significandf);
 }
 
 #include "math_data/sin_intel_data.h"
-TEST(MATH_TEST, sin_intel) {
+TEST(math_h, sin_intel) {
   DoMathDataTest<1>(g_sin_intel_data, sin);
 }
 
 #include "math_data/sinf_intel_data.h"
-TEST(MATH_TEST, sinf_intel) {
+TEST(math_h, sinf_intel) {
   DoMathDataTest<1>(g_sinf_intel_data, sinf);
 }
 
 #include "math_data/sinh_intel_data.h"
-TEST(MATH_TEST, sinh_intel) {
+TEST(math_h, sinh_intel) {
   DoMathDataTest<2>(g_sinh_intel_data, sinh);
 }
 
 #include "math_data/sinhf_intel_data.h"
-TEST(MATH_TEST, sinhf_intel) {
+TEST(math_h, sinhf_intel) {
   DoMathDataTest<2>(g_sinhf_intel_data, sinhf);
 }
 
 #include "math_data/sincos_intel_data.h"
-TEST(MATH_TEST, sincos_intel) {
+TEST(math_h, sincos_intel) {
   DoMathDataTest<1>(g_sincos_intel_data, sincos);
 }
 
 #include "math_data/sincosf_intel_data.h"
-TEST(MATH_TEST, sincosf_intel) {
+TEST(math_h, sincosf_intel) {
   DoMathDataTest<1>(g_sincosf_intel_data, sincosf);
 }
 
 #include "math_data/sqrt_intel_data.h"
-TEST(MATH_TEST, sqrt_intel) {
+TEST(math_h, sqrt_intel) {
   DoMathDataTest<1>(g_sqrt_intel_data, sqrt);
 }
 
 #include "math_data/sqrtf_intel_data.h"
-TEST(MATH_TEST, sqrtf_intel) {
+TEST(math_h, sqrtf_intel) {
   DoMathDataTest<1>(g_sqrtf_intel_data, sqrtf);
 }
 
 #include "math_data/tan_intel_data.h"
-TEST(MATH_TEST, tan_intel) {
+TEST(math_h, tan_intel) {
   DoMathDataTest<1>(g_tan_intel_data, tan);
 }
 
 #include "math_data/tanf_intel_data.h"
-TEST(MATH_TEST, tanf_intel) {
+TEST(math_h, tanf_intel) {
   DoMathDataTest<1>(g_tanf_intel_data, tanf);
 }
 
 #include "math_data/tanh_intel_data.h"
-TEST(MATH_TEST, tanh_intel) {
+TEST(math_h, tanh_intel) {
   DoMathDataTest<2>(g_tanh_intel_data, tanh);
 }
 
 #include "math_data/tanhf_intel_data.h"
-TEST(MATH_TEST, tanhf_intel) {
+TEST(math_h, tanhf_intel) {
   DoMathDataTest<2>(g_tanhf_intel_data, tanhf);
 }
 
 #include "math_data/trunc_intel_data.h"
-TEST(MATH_TEST, trunc_intel) {
+TEST(math_h, trunc_intel) {
   DoMathDataTest<1>(g_trunc_intel_data, trunc);
 }
 
 #include "math_data/truncf_intel_data.h"
-TEST(MATH_TEST, truncf_intel) {
+TEST(math_h, truncf_intel) {
   DoMathDataTest<1>(g_truncf_intel_data, truncf);
 }
diff --git a/tests/membarrier_test.cpp b/tests/membarrier_test.cpp
index 6f650e7..0cb7df4 100644
--- a/tests/membarrier_test.cpp
+++ b/tests/membarrier_test.cpp
@@ -22,13 +22,15 @@
 #include <linux/membarrier.h>
 #include <sys/syscall.h>
 
+#include "utils.h"
+
 class ScopedErrnoCleaner {
  public:
   ScopedErrnoCleaner() { errno = 0; }
   ~ScopedErrnoCleaner() { errno = 0; }
 };
 
-bool HasMembarrier(int membarrier_cmd) {
+static bool HasMembarrier(int membarrier_cmd) {
   ScopedErrnoCleaner errno_cleaner;
   int supported_cmds = syscall(__NR_membarrier, MEMBARRIER_CMD_QUERY, 0);
   return (supported_cmds > 0) && ((supported_cmds & membarrier_cmd) != 0);
@@ -37,11 +39,8 @@
 TEST(membarrier, query) {
   ScopedErrnoCleaner errno_cleaner;
   int supported = syscall(__NR_membarrier, MEMBARRIER_CMD_QUERY, 0);
-  if (errno == 0) {
-    ASSERT_TRUE(supported >= 0);
-  } else {
-    ASSERT_TRUE(errno == ENOSYS && supported == -1);
-  }
+  if (supported == -1 && errno == ENOSYS) GTEST_SKIP() << "no membarrier() in this kernel";
+  ASSERT_GE(supported, 0);
 }
 
 TEST(membarrier, global_barrier) {
@@ -92,7 +91,7 @@
   } else {
     // Private barrier should fail.
     ASSERT_EQ(-1, syscall(__NR_membarrier, membarrier_cmd_barrier, 0));
-    ASSERT_EQ(EPERM, errno);
+    ASSERT_ERRNO(EPERM);
     errno = 0;
   }
 
diff --git a/tests/memtag_globals_test.cpp b/tests/memtag_globals_test.cpp
new file mode 100644
index 0000000..ff93e7b
--- /dev/null
+++ b/tests/memtag_globals_test.cpp
@@ -0,0 +1,113 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <gtest/gtest.h>
+
+#if defined(__BIONIC__)
+#include "gtest_globals.h"
+#include "utils.h"
+#endif  // defined(__BIONIC__)
+
+#include <android-base/test_utils.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <string>
+#include <tuple>
+
+#include "platform/bionic/mte.h"
+
+class MemtagGlobalsTest : public testing::TestWithParam<bool> {};
+
+TEST_P(MemtagGlobalsTest, test) {
+  SKIP_WITH_HWASAN << "MTE globals tests are incompatible with HWASan";
+#if defined(__BIONIC__) && defined(__aarch64__)
+  std::string binary = GetTestLibRoot() + "/memtag_globals_binary";
+  bool is_static = MemtagGlobalsTest::GetParam();
+  if (is_static) {
+    binary += "_static";
+  }
+
+  chmod(binary.c_str(), 0755);
+  ExecTestHelper eth;
+  eth.SetArgs({binary.c_str(), nullptr});
+  eth.Run(
+      [&]() {
+        execve(binary.c_str(), eth.GetArgs(), eth.GetEnv());
+        GTEST_FAIL() << "Failed to execve: " << strerror(errno) << " " << binary.c_str();
+      },
+      // We catch the global-buffer-overflow and crash only when MTE globals is
+      // supported. Note that MTE globals is unsupported for fully static
+      // executables, but we should still make sure the binary passes its
+      // assertions, just that global variables won't be tagged.
+      (mte_supported() && !is_static) ? -SIGSEGV : 0, "Assertions were passed");
+#else
+  GTEST_SKIP() << "bionic/arm64 only";
+#endif
+}
+
+INSTANTIATE_TEST_SUITE_P(MemtagGlobalsTest, MemtagGlobalsTest, testing::Bool(),
+                         [](const ::testing::TestParamInfo<MemtagGlobalsTest::ParamType>& info) {
+                           if (info.param) return "MemtagGlobalsTest_static";
+                           return "MemtagGlobalsTest";
+                         });
+
+TEST(MemtagGlobalsTest, RelrRegressionTestForb314038442) {
+  SKIP_WITH_HWASAN << "MTE globals tests are incompatible with HWASan";
+#if defined(__BIONIC__) && defined(__aarch64__)
+  std::string binary = GetTestLibRoot() + "/mte_globals_relr_regression_test_b_314038442";
+  chmod(binary.c_str(), 0755);
+  ExecTestHelper eth;
+  eth.SetArgs({binary.c_str(), nullptr});
+  eth.Run(
+      [&]() {
+        execve(binary.c_str(), eth.GetArgs(), eth.GetEnv());
+        GTEST_FAIL() << "Failed to execve: " << strerror(errno) << " " << binary.c_str();
+      },
+      /* exit code */ 0, "Program loaded successfully.*Tags are zero!");
+#else
+  GTEST_SKIP() << "bionic/arm64 only";
+#endif
+}
+
+TEST(MemtagGlobalsTest, RelrRegressionTestForb314038442WithMteGlobals) {
+  if (!mte_supported()) GTEST_SKIP() << "Must have MTE support.";
+#if defined(__BIONIC__) && defined(__aarch64__)
+  std::string binary = GetTestLibRoot() + "/mte_globals_relr_regression_test_b_314038442_mte";
+  chmod(binary.c_str(), 0755);
+  ExecTestHelper eth;
+  eth.SetArgs({binary.c_str(), nullptr});
+  eth.Run(
+      [&]() {
+        execve(binary.c_str(), eth.GetArgs(), eth.GetEnv());
+        GTEST_FAIL() << "Failed to execve: " << strerror(errno) << " " << binary.c_str();
+      },
+      /* exit code */ 0, "Program loaded successfully.*Tags are non-zero");
+#else
+  GTEST_SKIP() << "bionic/arm64 only";
+#endif
+}
diff --git a/tests/memtag_stack_abi_test.cpp b/tests/memtag_stack_abi_test.cpp
new file mode 100644
index 0000000..4725c8d
--- /dev/null
+++ b/tests/memtag_stack_abi_test.cpp
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <filesystem>
+#include <fstream>
+#include <iterator>
+#include <string>
+#include <thread>
+
+#include <dlfcn.h>
+#include <stdlib.h>
+
+#include <android-base/logging.h>
+#include <gtest/gtest.h>
+
+static size_t NumberBuffers() {
+  size_t bufs = 0;
+  std::ifstream file("/proc/self/maps");
+  CHECK(file.is_open());
+  std::string line;
+  while (std::getline(file, line)) {
+    if (line.find("stack_mte_ring") != std::string::npos) {
+      ++bufs;
+    }
+  }
+  return bufs;
+}
+
+static size_t NumberThreads() {
+  std::filesystem::directory_iterator di("/proc/self/task");
+  return std::distance(begin(di), end(di));
+}
+
+TEST(MemtagStackAbiTest, MainThread) {
+#if defined(__BIONIC__) && defined(__aarch64__)
+  ASSERT_EQ(NumberBuffers(), 1U);
+  ASSERT_EQ(NumberBuffers(), NumberThreads());
+#else
+  GTEST_SKIP() << "requires bionic arm64";
+#endif
+}
+
+TEST(MemtagStackAbiTest, JoinableThread) {
+#if defined(__BIONIC__) && defined(__aarch64__)
+  ASSERT_EQ(NumberBuffers(), 1U);
+  ASSERT_EQ(NumberBuffers(), NumberThreads());
+  std::thread th([] {
+    ASSERT_EQ(NumberBuffers(), 2U);
+    ASSERT_EQ(NumberBuffers(), NumberThreads());
+  });
+  th.join();
+  ASSERT_EQ(NumberBuffers(), 1U);
+  ASSERT_EQ(NumberBuffers(), NumberThreads());
+#else
+  GTEST_SKIP() << "requires bionic arm64";
+#endif
+}
+
+TEST(MemtagStackAbiTest, DetachedThread) {
+#if defined(__BIONIC__) && defined(__aarch64__)
+  ASSERT_EQ(NumberBuffers(), 1U);
+  ASSERT_EQ(NumberBuffers(), NumberThreads());
+  std::thread th([] {
+    ASSERT_EQ(NumberBuffers(), 2U);
+    ASSERT_EQ(NumberBuffers(), NumberThreads());
+  });
+  th.detach();
+  // Leave the thread some time to exit.
+  for (int i = 0; NumberBuffers() != 1 && i < 3; ++i) {
+    sleep(1);
+  }
+  ASSERT_EQ(NumberBuffers(), 1U);
+  ASSERT_EQ(NumberBuffers(), NumberThreads());
+#else
+  GTEST_SKIP() << "requires bionic arm64";
+#endif
+}
diff --git a/tests/memtag_stack_dlopen_test.cpp b/tests/memtag_stack_dlopen_test.cpp
new file mode 100644
index 0000000..68ddb81
--- /dev/null
+++ b/tests/memtag_stack_dlopen_test.cpp
@@ -0,0 +1,117 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <thread>
+
+#include <dlfcn.h>
+#include <stdlib.h>
+
+#include <gtest/gtest.h>
+
+#include <android-base/silent_death_test.h>
+#include <android-base/test_utils.h>
+#include "mte_utils.h"
+#include "utils.h"
+
+TEST(MemtagStackDlopenTest, DependentBinaryGetsMemtagStack) {
+#if defined(__BIONIC__) && defined(__aarch64__)
+  if (!running_with_mte()) GTEST_SKIP() << "Test requires MTE.";
+  if (is_stack_mte_on())
+    GTEST_SKIP() << "Stack MTE needs to be off for this test. Are you running fullmte?";
+
+  std::string path =
+      android::base::GetExecutableDirectory() + "/testbinary_depends_on_simple_memtag_stack";
+  ExecTestHelper eth;
+  std::string ld_library_path = "LD_LIBRARY_PATH=" + android::base::GetExecutableDirectory();
+  eth.SetArgs({path.c_str(), nullptr});
+  eth.SetEnv({ld_library_path.c_str(), nullptr});
+  eth.Run([&]() { execve(path.c_str(), eth.GetArgs(), eth.GetEnv()); }, 0, "RAN");
+#else
+  GTEST_SKIP() << "requires bionic arm64";
+#endif
+}
+
+TEST(MemtagStackDlopenTest, DependentBinaryGetsMemtagStack2) {
+#if defined(__BIONIC__) && defined(__aarch64__)
+  if (!running_with_mte()) GTEST_SKIP() << "Test requires MTE.";
+  if (is_stack_mte_on())
+    GTEST_SKIP() << "Stack MTE needs to be off for this test. Are you running fullmte?";
+
+  std::string path = android::base::GetExecutableDirectory() +
+                     "/testbinary_depends_on_depends_on_simple_memtag_stack";
+  ExecTestHelper eth;
+  std::string ld_library_path = "LD_LIBRARY_PATH=" + android::base::GetExecutableDirectory();
+  eth.SetArgs({path.c_str(), nullptr});
+  eth.SetEnv({ld_library_path.c_str(), nullptr});
+  eth.Run([&]() { execve(path.c_str(), eth.GetArgs(), eth.GetEnv()); }, 0, "RAN");
+#else
+  GTEST_SKIP() << "requires bionic arm64";
+#endif
+}
+
+TEST(MemtagStackDlopenTest, DlopenRemapsStack) {
+#if defined(__BIONIC__) && defined(__aarch64__)
+  // If this test is failing, look at crash logcat for why the test binary died.
+  if (!running_with_mte()) GTEST_SKIP() << "Test requires MTE.";
+  if (is_stack_mte_on())
+    GTEST_SKIP() << "Stack MTE needs to be off for this test. Are you running fullmte?";
+
+  std::string path =
+      android::base::GetExecutableDirectory() + "/testbinary_is_stack_mte_after_dlopen";
+  std::string lib_path =
+      android::base::GetExecutableDirectory() + "/libtest_simple_memtag_stack.so";
+  ExecTestHelper eth;
+  std::string ld_library_path = "LD_LIBRARY_PATH=" + android::base::GetExecutableDirectory();
+  eth.SetArgs({path.c_str(), lib_path.c_str(), nullptr});
+  eth.SetEnv({ld_library_path.c_str(), nullptr});
+  eth.Run([&]() { execve(path.c_str(), eth.GetArgs(), eth.GetEnv()); }, 0, "RAN");
+#else
+  GTEST_SKIP() << "requires bionic arm64";
+#endif
+}
+
+TEST(MemtagStackDlopenTest, DlopenRemapsStack2) {
+#if defined(__BIONIC__) && defined(__aarch64__)
+  // If this test is failing, look at crash logcat for why the test binary died.
+  if (!running_with_mte()) GTEST_SKIP() << "Test requires MTE.";
+  if (is_stack_mte_on())
+    GTEST_SKIP() << "Stack MTE needs to be off for this test. Are you running fullmte?";
+
+  std::string path =
+      android::base::GetExecutableDirectory() + "/testbinary_is_stack_mte_after_dlopen";
+  std::string lib_path =
+      android::base::GetExecutableDirectory() + "/libtest_depends_on_simple_memtag_stack.so";
+  ExecTestHelper eth;
+  std::string ld_library_path = "LD_LIBRARY_PATH=" + android::base::GetExecutableDirectory();
+  eth.SetArgs({path.c_str(), lib_path.c_str(), nullptr});
+  eth.SetEnv({ld_library_path.c_str(), nullptr});
+  eth.Run([&]() { execve(path.c_str(), eth.GetArgs(), eth.GetEnv()); }, 0, "RAN");
+#else
+  GTEST_SKIP() << "requires bionic arm64";
+#endif
+}
diff --git a/tests/memtag_stack_test.cpp b/tests/memtag_stack_test.cpp
index 97084ec..9d02830 100644
--- a/tests/memtag_stack_test.cpp
+++ b/tests/memtag_stack_test.cpp
@@ -33,9 +33,8 @@
   }
   bool is_static = std::get<1>(GetParam());
   std::string helper =
-      GetTestlibRoot() + (is_static ? "/stack_tagging_static_helper" : "/stack_tagging_helper");
+      GetTestLibRoot() + (is_static ? "/stack_tagging_static_helper" : "/stack_tagging_helper");
   const char* arg = std::get<0>(GetParam());
-  chmod(helper.c_str(), 0755);
   ExecTestHelper eth;
   eth.SetArgs({helper.c_str(), arg, nullptr});
   eth.Run([&]() { execve(helper.c_str(), eth.GetArgs(), eth.GetEnv()); }, 0, "");
diff --git a/tests/mntent_test.cpp b/tests/mntent_test.cpp
index 4b8fc9a..fd69ae1 100644
--- a/tests/mntent_test.cpp
+++ b/tests/mntent_test.cpp
@@ -59,9 +59,7 @@
   // indices                  1  1
   // of keys:      0    5   9 1  4
   char mnt_opts[]{"aa=b,a=b,b,bb,c=d"};
-  struct mntent ent;
-  memset(&ent, 0, sizeof(ent));
-  ent.mnt_opts = mnt_opts;
+  struct mntent ent = {.mnt_opts = mnt_opts};
 
   EXPECT_EQ(mnt_opts, hasmntopt(&ent, "aa"));
   EXPECT_EQ(mnt_opts + 5, hasmntopt(&ent, "a"));
@@ -71,3 +69,9 @@
   EXPECT_EQ(nullptr, hasmntopt(&ent, "d"));
   EXPECT_EQ(nullptr, hasmntopt(&ent, "e"));
 }
+
+TEST(mntent, hasmntopt_no_suffix_match) {
+  char mnt_opts[]{"noatime"};
+  struct mntent ent = {.mnt_opts = mnt_opts};
+  EXPECT_EQ(nullptr, hasmntopt(&ent, "atime"));
+}
diff --git a/libm/fenv-access.h b/tests/mte_utils.h
similarity index 72%
copy from libm/fenv-access.h
copy to tests/mte_utils.h
index 7acb34d..020faec 100644
--- a/libm/fenv-access.h
+++ b/tests/mte_utils.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -28,6 +28,22 @@
 
 #pragma once
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
+#if defined(__BIONIC__) && defined(__aarch64__)
+
+__attribute__((target("mte"))) static bool is_stack_mte_on() {
+  alignas(16) int x = 0;
+  void* p = reinterpret_cast<void*>(reinterpret_cast<uintptr_t>(&x) + (1UL << 57));
+  void* p_cpy = p;
+  __builtin_arm_stg(p);
+  p = __builtin_arm_ldg(p);
+  __builtin_arm_stg(&x);
+  return p == p_cpy;
+}
+
+static void* mte_tls() {
+  void** dst;
+  __asm__("mrs %0, TPIDR_EL0" : "=r"(dst) :);
+  return dst[-3];
+}
+
 #endif
diff --git a/tests/netinet_ether_test.cpp b/tests/netinet_ether_test.cpp
index af020ec..d7b81eb 100644
--- a/tests/netinet_ether_test.cpp
+++ b/tests/netinet_ether_test.cpp
@@ -56,4 +56,5 @@
   ASSERT_TRUE(ether_aton_r("12:34:56:78:9a:bc ", &addr) == nullptr);
   ASSERT_TRUE(ether_aton_r("g2:34:56:78:9a:bc ", &addr) == nullptr);
   ASSERT_TRUE(ether_aton_r("1G:34:56:78:9a:bc ", &addr) == nullptr);
+  ASSERT_TRUE(ether_aton_r("123:34:56:78:9a:bc ", &addr) == nullptr);
 }
diff --git a/libc/bionic/strnlen.c b/tests/netinet_igmp_test.cpp
similarity index 79%
copy from libc/bionic/strnlen.c
copy to tests/netinet_igmp_test.cpp
index 2c6f60a..4cf7876 100644
--- a/libc/bionic/strnlen.c
+++ b/tests/netinet_igmp_test.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -25,14 +25,16 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-#include <string.h>
 
-size_t  strnlen(const char*  str, size_t  maxlen)
-{
-    char*  p = memchr(str, 0, maxlen);
+#include <gtest/gtest.h>
 
-    if (p == NULL)
-        return maxlen;
-    else
-        return (p - str);
+#include <netinet/igmp.h>
+
+TEST(netinet_igmp, smoke) {
+  // Just check that the fields exist, so code is likely to compile.
+  struct igmp i;
+  i.igmp_type = IGMP_MEMBERSHIP_QUERY;
+  i.igmp_code = 0;
+  i.igmp_cksum = 0;
+  i.igmp_group.s_addr = htonl(INADDR_ANY);
 }
diff --git a/tests/netinet_in_test.cpp b/tests/netinet_in_test.cpp
index b7dd7c5..48f438c 100644
--- a/tests/netinet_in_test.cpp
+++ b/tests/netinet_in_test.cpp
@@ -23,6 +23,8 @@
 
 #include <android-base/macros.h>
 
+#include "utils.h"
+
 static constexpr uint16_t le16 = 0x1234;
 static constexpr uint32_t le32 = 0x12345678;
 static constexpr uint64_t le64 = 0x123456789abcdef0;
@@ -41,7 +43,7 @@
   sockaddr_in sin = {.sin_family = AF_INET6};
   errno = 0;
   ASSERT_EQ(-1, bindresvport(-1, &sin));
-  ASSERT_EQ(EPFNOSUPPORT, errno);
+  ASSERT_ERRNO(EPFNOSUPPORT);
 #else
   GTEST_SKIP() << "musl doesn't support bindresvport";
 #endif
diff --git a/tests/nl_types_test.cpp b/tests/nl_types_test.cpp
index 2e3995b..6104d16 100644
--- a/tests/nl_types_test.cpp
+++ b/tests/nl_types_test.cpp
@@ -19,6 +19,8 @@
 #include <errno.h>
 #include <gtest/gtest.h>
 
+#include "utils.h"
+
 TEST(nl_types, smoke) {
   nl_catd cat = catopen("/does/not/exist", NL_CAT_LOCALE);
   ASSERT_EQ(reinterpret_cast<nl_catd>(-1), cat);
@@ -27,5 +29,5 @@
 
   errno = 0;
   ASSERT_EQ(-1, catclose(cat));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 }
diff --git a/tests/page_size_16kib_compat_test.cpp b/tests/page_size_16kib_compat_test.cpp
new file mode 100644
index 0000000..a5d91b8
--- /dev/null
+++ b/tests/page_size_16kib_compat_test.cpp
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include "page_size_compat_helpers.h"
+
+#include <android-base/properties.h>
+
+extern "C" void android_set_16kb_appcompat_mode(bool enable_app_compat);
+
+TEST(PageSize16KiBCompatTest, ElfAlignment4KiB_LoadElf) {
+  if (getpagesize() != 0x4000) {
+    GTEST_SKIP() << "This test is only applicable to 16kB page-size devices";
+  }
+
+  bool app_compat_enabled =
+      android::base::GetBoolProperty("bionic.linker.16kb.app_compat.enabled", false);
+  std::string lib = GetTestLibRoot() + "/libtest_elf_max_page_size_4kib.so";
+  void* handle = nullptr;
+
+  OpenTestLibrary(lib, !app_compat_enabled, &handle);
+
+  if (app_compat_enabled) CallTestFunction(handle);
+}
+
+TEST(PageSize16KiBCompatTest, ElfAlignment4KiB_LoadElf_perAppOption) {
+  if (getpagesize() != 0x4000) {
+    GTEST_SKIP() << "This test is only applicable to 16kB page-size devices";
+  }
+
+  android_set_16kb_appcompat_mode(true);
+  std::string lib = GetTestLibRoot() + "/libtest_elf_max_page_size_4kib.so";
+  void* handle = nullptr;
+
+  OpenTestLibrary(lib, false /*should_fail*/, &handle);
+  CallTestFunction(handle);
+  android_set_16kb_appcompat_mode(false);
+}
diff --git a/tests/page_size_compat_helpers.h b/tests/page_size_compat_helpers.h
new file mode 100644
index 0000000..2f0f1d0
--- /dev/null
+++ b/tests/page_size_compat_helpers.h
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include "elf_max_page_size.h"
+#include "gtest_globals.h"
+
+#include <android-base/stringprintf.h>
+
+#include <string>
+
+#include <dlfcn.h>
+#include <gtest/gtest.h>
+#include <unistd.h>
+
+static inline void OpenTestLibrary(std::string lib, bool expect_fail, void** handle) {
+  void* _handle = dlopen(lib.c_str(), RTLD_NODELETE);
+  const char* dlopen_error = dlerror();
+
+  if (expect_fail) {
+    ASSERT_EQ(_handle, nullptr);
+
+    const std::string expected_error = android::base::StringPrintf(
+        "dlopen failed: \"%s\" program alignment (%d) cannot be smaller than system page size (%d)",
+        lib.c_str(), 4096, getpagesize());
+
+    ASSERT_EQ(expected_error, dlopen_error);
+  } else {
+    ASSERT_NE(_handle, nullptr) << "Failed to dlopen shared library \"" << lib
+                                << "\": " << dlopen_error;
+  }
+
+  *handle = _handle;
+}
+
+static inline void CallTestFunction(void* handle) {
+  loader_test_func_t loader_test_func = (loader_test_func_t)dlsym(handle, "loader_test_func");
+  const char* dlsym_error = dlerror();
+
+  ASSERT_EQ(dlsym_error, nullptr) << "Failed to locate symbol \"loader_test_func\": "
+                                  << dlsym_error;
+
+  int res = loader_test_func();
+  ASSERT_EQ(res, TEST_RESULT_BASE + TEST_RESULT_INCREMENT);
+
+  // Call loader_test_func() twice to ensure we can modify writeable data and bss data
+  res = loader_test_func();
+  ASSERT_EQ(res, TEST_RESULT_BASE + (2 * TEST_RESULT_INCREMENT));
+}
diff --git a/tests/pidfd_test.cpp b/tests/pidfd_test.cpp
index b9fadb4..c01b93f 100644
--- a/tests/pidfd_test.cpp
+++ b/tests/pidfd_test.cpp
@@ -29,6 +29,8 @@
 #include <android-base/silent_death_test.h>
 #include <android-base/unique_fd.h>
 
+#include "utils.h"
+
 using android::base::unique_fd;
 using namespace std::chrono_literals;
 
@@ -43,15 +45,13 @@
   }
 
   unique_fd pidfd(pidfd_open(child, 0));
-  if (pidfd.get() == -1) {
-    ASSERT_EQ(ENOSYS, errno);
-    GTEST_SKIP() << "pidfd_open not available";
-  }
+  if (pidfd.get() == -1 && errno == ENOSYS) GTEST_SKIP() << "no pidfd_open() in this kernel";
+  ASSERT_NE(-1, pidfd.get()) << strerror(errno);
 
   siginfo_t siginfo;
   int rc = waitid(P_PIDFD, pidfd.get(), &siginfo, WEXITED);
   if (rc == -1) {
-    ASSERT_EQ(EINVAL, errno) << strerror(errno);
+    ASSERT_ERRNO(EINVAL);
     GTEST_SKIP() << "P_PIDFD not available";
   }
 
@@ -64,16 +64,12 @@
   unique_fd r, w;
   ASSERT_TRUE(android::base::Pipe(&r, &w));
   unique_fd self(pidfd_open(getpid(), 0));
-  if (self.get() == -1) {
-    ASSERT_EQ(ENOSYS, errno);
-    GTEST_SKIP() << "pidfd_open not available";
-  }
+  if (self.get() == -1 && errno == ENOSYS) GTEST_SKIP() << "no pidfd_open() in this kernel";
+  ASSERT_NE(-1, self.get()) << strerror(errno);
 
   unique_fd dup(pidfd_getfd(self.get(), r.get(), 0));
-  if (dup.get() == -1) {
-    ASSERT_EQ(ENOSYS, errno) << strerror(errno);
-    GTEST_SKIP() << "pidfd_getfd not available";
-  }
+  if (dup.get() == -1 && errno == ENOSYS) GTEST_SKIP() << "no pidfd_getfd() in this kernel";
+  ASSERT_NE(-1, dup.get()) << strerror(errno);
 
   ASSERT_NE(r.get(), dup.get());
   ASSERT_EQ(3, write(w.get(), "foo", 3));
@@ -86,15 +82,12 @@
 TEST_F(pidfd_DeathTest, pidfd_send_signal) {
 #if defined(__BIONIC__)
   unique_fd self(pidfd_open(getpid(), 0));
-  if (self.get() == -1) {
-    ASSERT_EQ(ENOSYS, errno);
-    GTEST_SKIP() << "pidfd_open not available";
-  }
+  if (self.get() == -1 && errno == ENOSYS) GTEST_SKIP() << "no pidfd_open() in this kernel";
+  ASSERT_NE(-1, self.get()) << strerror(errno);
 
-  if (pidfd_send_signal(self.get(), 0, nullptr, 0) == -1) {
-    ASSERT_EQ(ENOSYS, errno);
-    GTEST_SKIP() << "pidfd_send_signal not available";
-  }
+  int rc = pidfd_send_signal(self.get(), 0, nullptr, 0);
+  if (rc == -1 && errno == ENOSYS) GTEST_SKIP() << "no pidfd_send_signal() in this kernel";
+  ASSERT_EQ(0, rc) << strerror(errno);
 
   ASSERT_EXIT(({
                 // gtest will fork a child off for ASSERT_EXIT: `self` refers to the parent.
diff --git a/tests/poll_test.cpp b/tests/poll_test.cpp
index 2a3e5e0..5799fea 100644
--- a/tests/poll_test.cpp
+++ b/tests/poll_test.cpp
@@ -31,11 +31,13 @@
 #include <errno.h>
 #include <poll.h>
 
+#include "utils.h"
+
 TEST(poll, poll_null_fds) {
   // Because nanosleep(2) is relatively new to POSIX, code sometimes abuses poll.
   errno = 0;
   ASSERT_EQ(0, poll(nullptr, 0, 1));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
 }
 
 TEST(poll, ppoll_null_fds) {
@@ -43,15 +45,15 @@
   errno = 0;
   timespec ts = { .tv_nsec = 100 };
   ASSERT_EQ(0, ppoll(nullptr, 0, &ts, nullptr));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
 }
 
 TEST(poll, ppoll64_null_fds) {
-#if __BIONIC__
+#if defined(__BIONIC__)
   // Because nanosleep(2) is relatively new to POSIX, code sometimes abuses poll.
   errno = 0;
   timespec ts = { .tv_nsec = 100 };
   ASSERT_EQ(0, ppoll64(nullptr, 0, &ts, nullptr));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
 #endif
 }
diff --git a/tests/prebuilt-elf-files/arm64/libtest_empty.so b/tests/prebuilt-elf-files/arm64/libtest_empty.so
index d8775b6..76c569b 100755
--- a/tests/prebuilt-elf-files/arm64/libtest_empty.so
+++ b/tests/prebuilt-elf-files/arm64/libtest_empty.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/arm64/libtest_invalid-empty_shdr_table.so b/tests/prebuilt-elf-files/arm64/libtest_invalid-empty_shdr_table.so
index c8b5430..21a8f26 100755
--- a/tests/prebuilt-elf-files/arm64/libtest_invalid-empty_shdr_table.so
+++ b/tests/prebuilt-elf-files/arm64/libtest_invalid-empty_shdr_table.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/arm64/libtest_invalid-local-tls.so b/tests/prebuilt-elf-files/arm64/libtest_invalid-local-tls.so
index 20c5765..c902bbe 100755
--- a/tests/prebuilt-elf-files/arm64/libtest_invalid-local-tls.so
+++ b/tests/prebuilt-elf-files/arm64/libtest_invalid-local-tls.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/arm64/libtest_invalid-rw_load_segment.so b/tests/prebuilt-elf-files/arm64/libtest_invalid-rw_load_segment.so
index 6463c6b..46af37f 100755
--- a/tests/prebuilt-elf-files/arm64/libtest_invalid-rw_load_segment.so
+++ b/tests/prebuilt-elf-files/arm64/libtest_invalid-rw_load_segment.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/arm64/libtest_invalid-textrels.so b/tests/prebuilt-elf-files/arm64/libtest_invalid-textrels.so
index f83bbe4..c60b0d6 100755
--- a/tests/prebuilt-elf-files/arm64/libtest_invalid-textrels.so
+++ b/tests/prebuilt-elf-files/arm64/libtest_invalid-textrels.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/arm64/libtest_invalid-textrels2.so b/tests/prebuilt-elf-files/arm64/libtest_invalid-textrels2.so
index fbf62c5..eb33692 100755
--- a/tests/prebuilt-elf-files/arm64/libtest_invalid-textrels2.so
+++ b/tests/prebuilt-elf-files/arm64/libtest_invalid-textrels2.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/arm64/libtest_invalid-unaligned_shdr_offset.so b/tests/prebuilt-elf-files/arm64/libtest_invalid-unaligned_shdr_offset.so
index 6e5a6e3..fb86bca 100755
--- a/tests/prebuilt-elf-files/arm64/libtest_invalid-unaligned_shdr_offset.so
+++ b/tests/prebuilt-elf-files/arm64/libtest_invalid-unaligned_shdr_offset.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/arm64/libtest_invalid-zero_shdr_table_content.so b/tests/prebuilt-elf-files/arm64/libtest_invalid-zero_shdr_table_content.so
index 14b80b5..0416db2 100755
--- a/tests/prebuilt-elf-files/arm64/libtest_invalid-zero_shdr_table_content.so
+++ b/tests/prebuilt-elf-files/arm64/libtest_invalid-zero_shdr_table_content.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/arm64/libtest_invalid-zero_shdr_table_offset.so b/tests/prebuilt-elf-files/arm64/libtest_invalid-zero_shdr_table_offset.so
index 0aaca72..90892a6 100755
--- a/tests/prebuilt-elf-files/arm64/libtest_invalid-zero_shdr_table_offset.so
+++ b/tests/prebuilt-elf-files/arm64/libtest_invalid-zero_shdr_table_offset.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/arm64/libtest_invalid-zero_shentsize.so b/tests/prebuilt-elf-files/arm64/libtest_invalid-zero_shentsize.so
index 4ffc7e8..c186b1d 100755
--- a/tests/prebuilt-elf-files/arm64/libtest_invalid-zero_shentsize.so
+++ b/tests/prebuilt-elf-files/arm64/libtest_invalid-zero_shentsize.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/arm64/libtest_invalid-zero_shstrndx.so b/tests/prebuilt-elf-files/arm64/libtest_invalid-zero_shstrndx.so
index 9098310..857f702 100755
--- a/tests/prebuilt-elf-files/arm64/libtest_invalid-zero_shstrndx.so
+++ b/tests/prebuilt-elf-files/arm64/libtest_invalid-zero_shstrndx.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/gen-libtest_invalid-local-tls.sh b/tests/prebuilt-elf-files/gen-libtest_invalid-local-tls.sh
index 0f3e736..98a2b00 100755
--- a/tests/prebuilt-elf-files/gen-libtest_invalid-local-tls.sh
+++ b/tests/prebuilt-elf-files/gen-libtest_invalid-local-tls.sh
@@ -19,12 +19,18 @@
 build() {
   arch=$1
   target=$2
+
+  if [[ "$arch" == "arm64" || "$arch" == "x86_64" ]]; then
+    alignment="-Wl,-z,max-page-size=16384"
+  fi
+
   $NDK21E/toolchains/llvm/prebuilt/linux-x86_64/bin/clang -O2 --target=$target \
       -fpic -shared -o $arch/libtest_invalid-local-tls.so -fno-emulated-tls \
-      -fuse-ld=gold test.c test2.c
+      $alignment -fuse-ld=gold test.c test2.c
 }
 
 build arm armv7a-linux-androideabi29
 build arm64 aarch64-linux-android29
 build x86 i686-linux-android29
 build x86_64 x86_64-linux-android29
+
diff --git a/tests/prebuilt-elf-files/x86_64/libtest_empty.so b/tests/prebuilt-elf-files/x86_64/libtest_empty.so
index c3f3638..ce519b2 100755
--- a/tests/prebuilt-elf-files/x86_64/libtest_empty.so
+++ b/tests/prebuilt-elf-files/x86_64/libtest_empty.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/x86_64/libtest_invalid-empty_shdr_table.so b/tests/prebuilt-elf-files/x86_64/libtest_invalid-empty_shdr_table.so
index af1538d..00fefd4 100755
--- a/tests/prebuilt-elf-files/x86_64/libtest_invalid-empty_shdr_table.so
+++ b/tests/prebuilt-elf-files/x86_64/libtest_invalid-empty_shdr_table.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/x86_64/libtest_invalid-local-tls.so b/tests/prebuilt-elf-files/x86_64/libtest_invalid-local-tls.so
index 5b689ba..31d2b37 100755
--- a/tests/prebuilt-elf-files/x86_64/libtest_invalid-local-tls.so
+++ b/tests/prebuilt-elf-files/x86_64/libtest_invalid-local-tls.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/x86_64/libtest_invalid-rw_load_segment.so b/tests/prebuilt-elf-files/x86_64/libtest_invalid-rw_load_segment.so
index 113e455..9d2c5f1 100755
--- a/tests/prebuilt-elf-files/x86_64/libtest_invalid-rw_load_segment.so
+++ b/tests/prebuilt-elf-files/x86_64/libtest_invalid-rw_load_segment.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/x86_64/libtest_invalid-textrels.so b/tests/prebuilt-elf-files/x86_64/libtest_invalid-textrels.so
index 719fb5a..f231d11 100755
--- a/tests/prebuilt-elf-files/x86_64/libtest_invalid-textrels.so
+++ b/tests/prebuilt-elf-files/x86_64/libtest_invalid-textrels.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/x86_64/libtest_invalid-textrels2.so b/tests/prebuilt-elf-files/x86_64/libtest_invalid-textrels2.so
index 9d0741e..97fb5c4 100755
--- a/tests/prebuilt-elf-files/x86_64/libtest_invalid-textrels2.so
+++ b/tests/prebuilt-elf-files/x86_64/libtest_invalid-textrels2.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/x86_64/libtest_invalid-unaligned_shdr_offset.so b/tests/prebuilt-elf-files/x86_64/libtest_invalid-unaligned_shdr_offset.so
index 87631af..f9c310f 100755
--- a/tests/prebuilt-elf-files/x86_64/libtest_invalid-unaligned_shdr_offset.so
+++ b/tests/prebuilt-elf-files/x86_64/libtest_invalid-unaligned_shdr_offset.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/x86_64/libtest_invalid-zero_shdr_table_content.so b/tests/prebuilt-elf-files/x86_64/libtest_invalid-zero_shdr_table_content.so
index 27d1138..3d1f5d3 100755
--- a/tests/prebuilt-elf-files/x86_64/libtest_invalid-zero_shdr_table_content.so
+++ b/tests/prebuilt-elf-files/x86_64/libtest_invalid-zero_shdr_table_content.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/x86_64/libtest_invalid-zero_shdr_table_offset.so b/tests/prebuilt-elf-files/x86_64/libtest_invalid-zero_shdr_table_offset.so
index 3e2c1d1..aeea1d2 100755
--- a/tests/prebuilt-elf-files/x86_64/libtest_invalid-zero_shdr_table_offset.so
+++ b/tests/prebuilt-elf-files/x86_64/libtest_invalid-zero_shdr_table_offset.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/x86_64/libtest_invalid-zero_shentsize.so b/tests/prebuilt-elf-files/x86_64/libtest_invalid-zero_shentsize.so
index 78fed79..8146676 100755
--- a/tests/prebuilt-elf-files/x86_64/libtest_invalid-zero_shentsize.so
+++ b/tests/prebuilt-elf-files/x86_64/libtest_invalid-zero_shentsize.so
Binary files differ
diff --git a/tests/prebuilt-elf-files/x86_64/libtest_invalid-zero_shstrndx.so b/tests/prebuilt-elf-files/x86_64/libtest_invalid-zero_shstrndx.so
index 0953633..4ac70f7 100755
--- a/tests/prebuilt-elf-files/x86_64/libtest_invalid-zero_shstrndx.so
+++ b/tests/prebuilt-elf-files/x86_64/libtest_invalid-zero_shstrndx.so
Binary files differ
diff --git a/tests/pthread_test.cpp b/tests/pthread_test.cpp
index aad2a4d..5ce7d4d 100644
--- a/tests/pthread_test.cpp
+++ b/tests/pthread_test.cpp
@@ -25,6 +25,7 @@
 #include <stdio.h>
 #include <sys/cdefs.h>
 #include <sys/mman.h>
+#include <sys/param.h>
 #include <sys/prctl.h>
 #include <sys/resource.h>
 #include <sys/syscall.h>
@@ -44,6 +45,7 @@
 #include <android-base/test_utils.h>
 
 #include "private/bionic_constants.h"
+#include "private/bionic_time_conversions.h"
 #include "SignalUtils.h"
 #include "utils.h"
 
@@ -585,7 +587,7 @@
   while (TEMP_FAILURE_RETRY(syscall(__NR_tgkill, getpid(), tid, 0)) != -1) {
     continue;
   }
-  ASSERT_EQ(ESRCH, errno);
+  ASSERT_ERRNO(ESRCH);
 
   ASSERT_EQ(ESRCH, pthread_kill(thread, 0));
 }
@@ -784,7 +786,7 @@
   size_t guard_size;
   ASSERT_EQ(0, pthread_attr_getguardsize(&attributes, &guard_size));
   ASSERT_EQ(128U, guard_size);
-  ASSERT_EQ(4096U, GetActualGuardSize(attributes));
+  ASSERT_EQ(static_cast<unsigned long>(getpagesize()), GetActualGuardSize(attributes));
 }
 
 TEST(pthread, pthread_attr_setguardsize_reasonable) {
@@ -808,7 +810,7 @@
   size_t guard_size;
   ASSERT_EQ(0, pthread_attr_getguardsize(&attributes, &guard_size));
   ASSERT_EQ(32*1024U + 1, guard_size);
-  ASSERT_EQ(36*1024U, GetActualGuardSize(attributes));
+  ASSERT_EQ(roundup(32 * 1024U + 1, getpagesize()), GetActualGuardSize(attributes));
 }
 
 TEST(pthread, pthread_attr_setguardsize_enormous) {
@@ -1422,10 +1424,11 @@
 static void AtForkChild1() { g_atfork_child_calls = (g_atfork_child_calls * 10) + 1; }
 static void AtForkChild2() { g_atfork_child_calls = (g_atfork_child_calls * 10) + 2; }
 
-TEST(pthread, pthread_atfork_smoke) {
+TEST(pthread, pthread_atfork_smoke_fork) {
   ASSERT_EQ(0, pthread_atfork(AtForkPrepare1, AtForkParent1, AtForkChild1));
   ASSERT_EQ(0, pthread_atfork(AtForkPrepare2, AtForkParent2, AtForkChild2));
 
+  g_atfork_prepare_calls = g_atfork_parent_calls = g_atfork_child_calls = 0;
   pid_t pid = fork();
   ASSERT_NE(-1, pid) << strerror(errno);
 
@@ -1441,6 +1444,44 @@
   AssertChildExited(pid, 0);
 }
 
+TEST(pthread, pthread_atfork_smoke_vfork) {
+  ASSERT_EQ(0, pthread_atfork(AtForkPrepare1, AtForkParent1, AtForkChild1));
+  ASSERT_EQ(0, pthread_atfork(AtForkPrepare2, AtForkParent2, AtForkChild2));
+
+  g_atfork_prepare_calls = g_atfork_parent_calls = g_atfork_child_calls = 0;
+  pid_t pid = vfork();
+  ASSERT_NE(-1, pid) << strerror(errno);
+
+  // atfork handlers are not called.
+  if (pid == 0) {
+    ASSERT_EQ(0, g_atfork_child_calls);
+    _exit(0);
+  }
+  ASSERT_EQ(0, g_atfork_parent_calls);
+  ASSERT_EQ(0, g_atfork_prepare_calls);
+  AssertChildExited(pid, 0);
+}
+
+TEST(pthread, pthread_atfork_smoke__Fork) {
+#if defined(__BIONIC__)
+  ASSERT_EQ(0, pthread_atfork(AtForkPrepare1, AtForkParent1, AtForkChild1));
+  ASSERT_EQ(0, pthread_atfork(AtForkPrepare2, AtForkParent2, AtForkChild2));
+
+  g_atfork_prepare_calls = g_atfork_parent_calls = g_atfork_child_calls = 0;
+  pid_t pid = _Fork();
+  ASSERT_NE(-1, pid) << strerror(errno);
+
+  // atfork handlers are not called.
+  if (pid == 0) {
+    ASSERT_EQ(0, g_atfork_child_calls);
+    _exit(0);
+  }
+  ASSERT_EQ(0, g_atfork_parent_calls);
+  ASSERT_EQ(0, g_atfork_prepare_calls);
+  AssertChildExited(pid, 0);
+#endif
+}
+
 TEST(pthread, pthread_attr_getscope) {
   pthread_attr_t attr;
   ASSERT_EQ(0, pthread_attr_init(&attr));
@@ -2397,9 +2438,25 @@
   ts.tv_sec = -1;
   ASSERT_EQ(ETIMEDOUT, lock_function(&m, &ts));
 
+  // Check we wait long enough for the lock before timing out...
+
+  // What time is it before we start?
+  ASSERT_EQ(0, clock_gettime(clock, &ts));
+  const int64_t start_ns = to_ns(ts);
+  // Add a second to get deadline, and wait until we time out.
+  ts.tv_sec += 1;
+  ASSERT_EQ(ETIMEDOUT, lock_function(&m, &ts));
+
+  // What time is it now we've timed out?
+  timespec ts2;
+  clock_gettime(clock, &ts2);
+  const int64_t end_ns = to_ns(ts2);
+
+  // The timedlock must have waited at least 1 second before returning.
+  ASSERT_GE(end_ns - start_ns, NS_PER_S);
+
   // If the mutex is unlocked, pthread_mutex_timedlock should succeed.
   ASSERT_EQ(0, pthread_mutex_unlock(&m));
-
   ASSERT_EQ(0, clock_gettime(clock, &ts));
   ts.tv_sec += 1;
   ASSERT_EQ(0, lock_function(&m, &ts));
@@ -2420,12 +2477,19 @@
 #endif  // __BIONIC__
 }
 
-TEST(pthread, pthread_mutex_clocklock) {
+TEST(pthread, pthread_mutex_clocklock_MONOTONIC) {
 #if defined(__BIONIC__)
   pthread_mutex_timedlock_helper(
       CLOCK_MONOTONIC, [](pthread_mutex_t* __mutex, const timespec* __timeout) {
         return pthread_mutex_clocklock(__mutex, CLOCK_MONOTONIC, __timeout);
       });
+#else   // __BIONIC__
+  GTEST_SKIP() << "pthread_mutex_clocklock not available";
+#endif  // __BIONIC__
+}
+
+TEST(pthread, pthread_mutex_clocklock_REALTIME) {
+#if defined(__BIONIC__)
   pthread_mutex_timedlock_helper(
       CLOCK_REALTIME, [](pthread_mutex_t* __mutex, const timespec* __timeout) {
         return pthread_mutex_clocklock(__mutex, CLOCK_REALTIME, __timeout);
@@ -2442,7 +2506,11 @@
 
   timespec ts;
   clock_gettime(clock, &ts);
+  const int64_t start_ns = ts.tv_sec * NS_PER_S + ts.tv_nsec;
+
+  // add a second to get deadline.
   ts.tv_sec += 1;
+
   ASSERT_EQ(0, lock_function(&m.lock, &ts));
 
   struct ThreadArgs {
@@ -2471,6 +2539,12 @@
   void* result;
   ASSERT_EQ(0, pthread_join(thread, &result));
   ASSERT_EQ(ETIMEDOUT, reinterpret_cast<intptr_t>(result));
+
+  // The timedlock must have waited at least 1 second before returning.
+  clock_gettime(clock, &ts);
+  const int64_t end_ns = ts.tv_sec * NS_PER_S + ts.tv_nsec;
+  ASSERT_GT(end_ns - start_ns, NS_PER_S);
+
   ASSERT_EQ(0, pthread_mutex_unlock(&m.lock));
 }
 
@@ -3063,3 +3137,39 @@
   GTEST_SKIP() << "bionic-only test";
 #endif
 }
+
+TEST(pthread, pthread_getaffinity_np_failure) {
+  // Trivial test of the errno-preserving/returning behavior.
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnonnull"
+  errno = 0;
+  ASSERT_EQ(EINVAL, pthread_getaffinity_np(pthread_self(), 0, nullptr));
+  ASSERT_ERRNO(0);
+#pragma clang diagnostic pop
+}
+
+TEST(pthread, pthread_getaffinity) {
+  cpu_set_t set;
+  CPU_ZERO(&set);
+  ASSERT_EQ(0, pthread_getaffinity_np(pthread_self(), sizeof(set), &set));
+  ASSERT_GT(CPU_COUNT(&set), 0);
+}
+
+TEST(pthread, pthread_setaffinity_np_failure) {
+  // Trivial test of the errno-preserving/returning behavior.
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnonnull"
+  errno = 0;
+  ASSERT_EQ(EINVAL, pthread_setaffinity_np(pthread_self(), 0, nullptr));
+  ASSERT_ERRNO(0);
+#pragma clang diagnostic pop
+}
+
+TEST(pthread, pthread_setaffinity) {
+  cpu_set_t set;
+  CPU_ZERO(&set);
+  ASSERT_EQ(0, pthread_getaffinity_np(pthread_self(), sizeof(set), &set));
+  // It's hard to make any more general claim than this,
+  // but it ought to be safe to ask for the same affinity you already have.
+  ASSERT_EQ(0, pthread_setaffinity_np(pthread_self(), sizeof(set), &set));
+}
diff --git a/tests/run-on-host.sh b/tests/run-on-host.sh
index fe2c25a..19bbacf 100755
--- a/tests/run-on-host.sh
+++ b/tests/run-on-host.sh
@@ -2,9 +2,14 @@
 
 . $(dirname $0)/../build/run-on-host.sh
 
-if [ "$1" = glibc ]; then
+if [ "$1" = glibc -o "$1" = musl ]; then
+  if [ "$1" = musl ]; then
+    BUILD_ARGS=USE_HOST_MUSL=true
+  else
+    BUILD_ARGS=
+  fi
   shift
-  m -j bionic-unit-tests-glibc
+  m -j $BUILD_ARGS bionic-unit-tests-glibc
   (
     cd ${ANDROID_BUILD_TOP}
     export ANDROID_DATA=${TARGET_OUT_DATA}
@@ -13,7 +18,7 @@
   )
   exit 0
 elif [ "$1" != 32 -a "$1" != 64 ]; then
-  echo "Usage: $0 [ 32 | 64 | glibc ] [gtest flags]"
+  echo "Usage: $0 [ 32 | 64 | glibc | musl ] [gtest flags]"
   exit 1
 fi
 
diff --git a/tests/sched_test.cpp b/tests/sched_test.cpp
index fa1a07f..448fae9 100644
--- a/tests/sched_test.cpp
+++ b/tests/sched_test.cpp
@@ -21,6 +21,8 @@
 #include <sys/types.h>
 #include <sys/wait.h>
 
+#include "utils.h"
+
 static int child_fn(void* i_ptr) {
   *reinterpret_cast<int*>(i_ptr) = 42;
   return 123;
@@ -57,14 +59,14 @@
   errno = 0;
   // If CLONE_THREAD is set, CLONE_SIGHAND must be set too.
   ASSERT_EQ(-1, clone(child_fn, &fake_child_stack[16], CLONE_THREAD, nullptr));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(sched, clone_null_child_stack) {
   int i = 0;
   errno = 0;
   ASSERT_EQ(-1, clone(child_fn, nullptr, CLONE_VM, &i));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(sched, cpu_set) {
@@ -289,7 +291,7 @@
   p.sched_priority = sched_get_priority_min(original_policy);
   errno = 0;
   ASSERT_EQ(-1, sched_setscheduler(getpid(), INT_MAX, &p));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   ASSERT_EQ(0, sched_getparam(getpid(), &p));
   ASSERT_EQ(original_policy, sched_setscheduler(getpid(), SCHED_BATCH, &p));
@@ -303,8 +305,35 @@
 }
 
 TEST(sched, sched_getaffinity_failure) {
+  // Trivial test of the errno-preserving/returning behavior.
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wnonnull"
   ASSERT_EQ(-1, sched_getaffinity(getpid(), 0, nullptr));
+  ASSERT_ERRNO(EINVAL);
 #pragma clang diagnostic pop
 }
+
+TEST(pthread, sched_getaffinity) {
+  cpu_set_t set;
+  CPU_ZERO(&set);
+  ASSERT_EQ(0, sched_getaffinity(getpid(), sizeof(set), &set));
+  ASSERT_GT(CPU_COUNT(&set), 0);
+}
+
+TEST(sched, sched_setaffinity_failure) {
+  // Trivial test of the errno-preserving/returning behavior.
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnonnull"
+  ASSERT_EQ(-1, sched_setaffinity(getpid(), 0, nullptr));
+  ASSERT_ERRNO(EINVAL);
+#pragma clang diagnostic pop
+}
+
+TEST(pthread, sched_setaffinity) {
+  cpu_set_t set;
+  CPU_ZERO(&set);
+  ASSERT_EQ(0, sched_getaffinity(getpid(), sizeof(set), &set));
+  // It's hard to make any more general claim than this,
+  // but it ought to be safe to ask for the same affinity you already have.
+  ASSERT_EQ(0, sched_setaffinity(getpid(), sizeof(set), &set));
+}
diff --git a/tests/scs_test.cpp b/tests/scs_test.cpp
index 0776a43..3d5ebc1 100644
--- a/tests/scs_test.cpp
+++ b/tests/scs_test.cpp
@@ -16,8 +16,12 @@
 
 #include <gtest/gtest.h>
 
+#include <android-base/silent_death_test.h>
+
 #include "private/bionic_constants.h"
 
+using scs_DeathTest = SilentDeathTest;
+
 int recurse2(int count);
 
 __attribute__((weak, noinline)) int recurse1(int count) {
@@ -30,7 +34,7 @@
   return 0;
 }
 
-TEST(scs_test, stack_overflow) {
+TEST_F(scs_DeathTest, stack_overflow) {
 #if defined(__aarch64__) || defined(__riscv)
   ASSERT_EXIT(recurse1(SCS_SIZE), testing::KilledBySignal(SIGSEGV), "");
 #else
diff --git a/tests/search_test.cpp b/tests/search_test.cpp
index 8b8359d..5066709 100644
--- a/tests/search_test.cpp
+++ b/tests/search_test.cpp
@@ -18,6 +18,8 @@
 
 #include <search.h>
 
+#include "utils.h"
+
 static int int_cmp(const void* lhs, const void* rhs) {
   return *reinterpret_cast<const int*>(rhs) - *reinterpret_cast<const int*>(lhs);
 }
@@ -276,7 +278,7 @@
   // Check missing.
   errno = 0;
   ASSERT_EQ(0, hsearch_r(ENTRY{.key = const_cast<char*>("b"), .data = nullptr}, FIND, &e, &h1));
-  ASSERT_EQ(ESRCH, errno);
+  ASSERT_ERRNO(ESRCH);
 
   // Check present.
   ASSERT_EQ(1, hsearch_r(ENTRY{.key = const_cast<char*>("a"), .data = nullptr}, FIND, &e, &h1));
diff --git a/tests/semaphore_test.cpp b/tests/semaphore_test.cpp
index 6f8797f..5558134 100644
--- a/tests/semaphore_test.cpp
+++ b/tests/semaphore_test.cpp
@@ -28,6 +28,8 @@
 #include "SignalUtils.h"
 #include "private/bionic_constants.h"
 
+#include "utils.h"
+
 using semaphore_DeathTest = SilentDeathTest;
 
 TEST(semaphore, sem_init) {
@@ -41,7 +43,7 @@
   // Too small an initial value.
   errno = 0;
   ASSERT_EQ(-1, sem_init(&s, 0, -1));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   ASSERT_EQ(SEM_VALUE_MAX, sysconf(_SC_SEM_VALUE_MAX));
 
@@ -50,8 +52,8 @@
 
   // Too large an initial value.
   errno = 0;
-  ASSERT_EQ(-1, sem_init(&s, 0, SEM_VALUE_MAX + 1));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_EQ(-1, sem_init(&s, 0, static_cast<unsigned>(SEM_VALUE_MAX) + 1));
+  ASSERT_ERRNO(EINVAL);
 
   ASSERT_EQ(0, sem_destroy(&s));
 }
@@ -64,7 +66,7 @@
   ASSERT_EQ(0, sem_trywait(&s));
   errno = 0;
   ASSERT_EQ(-1, sem_trywait(&s));
-  ASSERT_EQ(EAGAIN, errno);
+  ASSERT_ERRNO(EAGAIN);
   ASSERT_EQ(0, sem_destroy(&s));
 }
 
@@ -116,23 +118,23 @@
 
   errno = 0;
   ASSERT_EQ(-1, wait_function(&s, &ts));
-  ASSERT_EQ(ETIMEDOUT, errno);
+  ASSERT_ERRNO(ETIMEDOUT);
 
   // A negative timeout is an error.
   errno = 0;
   ts.tv_nsec = -1;
   ASSERT_EQ(-1, wait_function(&s, &ts));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   ts.tv_nsec = NS_PER_S;
   ASSERT_EQ(-1, wait_function(&s, &ts));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   errno = 0;
   ts.tv_nsec = NS_PER_S - 1;
   ts.tv_sec = -1;
   ASSERT_EQ(-1, wait_function(&s, &ts));
-  ASSERT_EQ(ETIMEDOUT, errno);
+  ASSERT_ERRNO(ETIMEDOUT);
 
   ASSERT_EQ(0, sem_destroy(&s));
 }
diff --git a/tests/setjmp_test.cpp b/tests/setjmp_test.cpp
index 6ae8bfd..9469285 100644
--- a/tests/setjmp_test.cpp
+++ b/tests/setjmp_test.cpp
@@ -174,38 +174,65 @@
   }
 }
 
-#if defined(__aarch64__)
+#if defined(__arm__) || defined(__aarch64__)
+// arm and arm64 have the same callee save fp registers (8-15),
+// but use different instructions for accessing them.
+#if defined(__arm__)
+#define SET_FREG(n, v) asm volatile("vmov.f64 d"#n ", #"#v : : : "d"#n)
+#define GET_FREG(n) ({ double _r; asm volatile("fcpyd %P0, d"#n : "=w"(_r) : :); _r;})
+#define CLEAR_FREG(n) asm volatile("vmov.i64 d"#n ", #0x0" : : : "d"#n)
+#elif defined(__aarch64__)
 #define SET_FREG(n, v) asm volatile("fmov d"#n ", "#v : : : "d"#n)
+#define GET_FREG(n) ({ double _r; asm volatile("fmov %0, d"#n : "=r"(_r) : :); _r; })
 #define CLEAR_FREG(n) asm volatile("fmov d"#n ", xzr" : : : "d"#n)
+#endif
 #define SET_FREGS \
   SET_FREG(8, 8.0); SET_FREG(9, 9.0); SET_FREG(10, 10.0); SET_FREG(11, 11.0); \
-  SET_FREG(12, 12.0); SET_FREG(13, 13.0); SET_FREG(14, 14.0); SET_FREG(15, 15.0);
+  SET_FREG(12, 12.0); SET_FREG(13, 13.0); SET_FREG(14, 14.0); SET_FREG(15, 15.0)
 #define CLEAR_FREGS \
   CLEAR_FREG(8); CLEAR_FREG(9); CLEAR_FREG(10); CLEAR_FREG(11); \
-  CLEAR_FREG(12); CLEAR_FREG(13); CLEAR_FREG(14); CLEAR_FREG(15);
-#define GET_FREG(n) ({ double _r; asm volatile("fmov %0, d"#n : "=r"(_r) : :); _r; })
+  CLEAR_FREG(12); CLEAR_FREG(13); CLEAR_FREG(14); CLEAR_FREG(15)
 #define CHECK_FREGS \
-    EXPECT_EQ(8.0, GET_FREG(8)); EXPECT_EQ(9.0, GET_FREG(9)); \
-    EXPECT_EQ(10.0, GET_FREG(10)); EXPECT_EQ(11.0, GET_FREG(11)); \
-    EXPECT_EQ(12.0, GET_FREG(12)); EXPECT_EQ(13.0, GET_FREG(13)); \
-    EXPECT_EQ(14.0, GET_FREG(14)); EXPECT_EQ(15.0, GET_FREG(15));
-#elif defined(__arm__)
-#define SET_FREG(n, v) \
-  ({ const double _v{v}; asm volatile("fcpyd d"#n ", %P0" : : "w"(_v) : "d"#n); })
+  EXPECT_EQ(8.0, GET_FREG(8)); EXPECT_EQ(9.0, GET_FREG(9)); \
+  EXPECT_EQ(10.0, GET_FREG(10)); EXPECT_EQ(11.0, GET_FREG(11)); \
+  EXPECT_EQ(12.0, GET_FREG(12)); EXPECT_EQ(13.0, GET_FREG(13)); \
+  EXPECT_EQ(14.0, GET_FREG(14)); EXPECT_EQ(15.0, GET_FREG(15))
+
+#elif defined(__riscv)
+// riscv64 has callee save registers fs0-fs11.
+// TODO: use Zfa to get 1.0 rather than the one_p trick.
 #define SET_FREGS \
-  SET_FREG(8, 8); SET_FREG(9, 9); SET_FREG(10, 10); SET_FREG(11, 11); \
-  SET_FREG(12, 12); SET_FREG(13, 13); SET_FREG(14, 14); SET_FREG(15, 15);
+  double one = 1, *one_p = &one; \
+  asm volatile("fmv.d.x fs0, zero ; fld fs1, (%0) ; \
+                fadd.d fs2, fs1, fs1 ; fadd.d fs3, fs2, fs1 ; \
+                fadd.d fs4, fs3, fs1 ; fadd.d fs5, fs4, fs1 ; \
+                fadd.d fs6, fs5, fs1 ; fadd.d fs7, fs6, fs1 ; \
+                fadd.d fs8, fs7, fs1 ; fadd.d fs9, fs8, fs1 ; \
+                fadd.d fs10, fs9, fs1 ; fadd.d fs11, fs10, fs1" \
+               : \
+               : "r"(one_p) \
+               : "fs0", "fs1", "fs2", "fs3", "fs4", "fs5", \
+                  "fs6", "fs7", "fs8", "fs9", "fs10", "fs11")
 #define CLEAR_FREGS \
-  SET_FREG(8, 0); SET_FREG(9, 0); SET_FREG(10, 0); SET_FREG(11, 0); \
-  SET_FREG(12, 0); SET_FREG(13, 0); SET_FREG(14, 0); SET_FREG(15, 0);
-#define GET_FREG(n) ({ double _r; asm volatile("fcpyd %P0, d"#n : "=w"(_r) : :); _r;})
+  asm volatile("fmv.d.x fs0, zero ; fmv.d.x fs1, zero ; \
+                fmv.d.x fs2, zero ; fmv.d.x fs3, zero ; \
+                fmv.d.x fs4, zero ; fmv.d.x fs5, zero ; \
+                fmv.d.x fs6, zero ; fmv.d.x fs7, zero ; \
+                fmv.d.x fs8, zero ; fmv.d.x fs9, zero ; \
+                fmv.d.x fs10, zero ; fmv.d.x fs11, zero" \
+               : : : "fs0", "fs1", "fs2", "fs3", "fs4", "fs5", \
+                     "fs6", "fs7", "fs8", "fs9", "fs10", "fs11")
+#define GET_FREG(n) ({ double _r; asm volatile("fmv.d %0, fs"#n : "=f"(_r) : :); _r; })
 #define CHECK_FREGS \
-    EXPECT_EQ(8.0, GET_FREG(8)); EXPECT_EQ(9.0, GET_FREG(9)); \
-    EXPECT_EQ(10.0, GET_FREG(10)); EXPECT_EQ(11.0, GET_FREG(11)); \
-    EXPECT_EQ(12.0, GET_FREG(12)); EXPECT_EQ(13.0, GET_FREG(13)); \
-    EXPECT_EQ(14.0, GET_FREG(14)); EXPECT_EQ(15.0, GET_FREG(15));
+  EXPECT_EQ(0.0, GET_FREG(0)); EXPECT_EQ(1.0, GET_FREG(1)); \
+  EXPECT_EQ(2.0, GET_FREG(2)); EXPECT_EQ(3.0, GET_FREG(3)); \
+  EXPECT_EQ(4.0, GET_FREG(4)); EXPECT_EQ(5.0, GET_FREG(5)); \
+  EXPECT_EQ(6.0, GET_FREG(6)); EXPECT_EQ(7.0, GET_FREG(7)); \
+  EXPECT_EQ(8.0, GET_FREG(8)); EXPECT_EQ(9.0, GET_FREG(9)); \
+  EXPECT_EQ(10.0, GET_FREG(10)); EXPECT_EQ(11.0, GET_FREG(11))
+
 #else
-/* The other architectures don't save/restore fp registers. */
+// x86 and x86-64 don't save/restore fp registers.
 #define SET_FREGS
 #define CLEAR_FREGS
 #define CHECK_FREGS
diff --git a/tests/signal_test.cpp b/tests/signal_test.cpp
index fa648d2..c1719dc 100644
--- a/tests/signal_test.cpp
+++ b/tests/signal_test.cpp
@@ -56,13 +56,13 @@
   SigSetT* set_ptr = nullptr;
   errno = 0;
   ASSERT_EQ(-1, fn(set_ptr));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   // Non-nullptr.
   SigSetT set = {};
   errno = 0;
   ASSERT_EQ(0, fn(&set));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
 }
 
 template <typename SigSetT>
@@ -71,26 +71,26 @@
   SigSetT* set_ptr = nullptr;
   errno = 0;
   ASSERT_EQ(-1, fn(set_ptr, SIGSEGV));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   SigSetT set = {};
 
   // Bad signal number: too small.
   errno = 0;
   ASSERT_EQ(-1, fn(&set, 0));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   // Bad signal number: too high.
   errno = 0;
   ASSERT_EQ(-1, fn(&set, SIGNAL_MAX(&set) + 1));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   // Good signal numbers, low and high ends of range.
   errno = 0;
   ASSERT_EQ(0, fn(&set, SIGNAL_MIN()));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   ASSERT_EQ(0, fn(&set, SIGNAL_MAX(&set)));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
 }
 
 TEST(signal, sigaddset_invalid) {
@@ -146,7 +146,7 @@
 TEST(signal, raise_invalid) {
   errno = 0;
   ASSERT_EQ(-1, raise(-1));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 static void raise_in_signal_handler_helper(int signal_number) {
@@ -199,7 +199,7 @@
   sigfillset(&not_SIGALRM);
   sigdelset(&not_SIGALRM, SIGALRM);
   ASSERT_EQ(-1, sigsuspend(&not_SIGALRM));
-  ASSERT_EQ(EINTR, errno);
+  ASSERT_ERRNO(EINTR);
   // ...and check that we now receive our pending SIGALRM.
   ASSERT_EQ(1, g_sigsuspend_signal_handler_call_count);
 }
@@ -241,7 +241,7 @@
   sigfillset64(&not_SIGRTMIN);
   sigdelset64(&not_SIGRTMIN, SIGRTMIN);
   ASSERT_EQ(-1, sigsuspend64(&not_SIGRTMIN));
-  ASSERT_EQ(EINTR, errno);
+  ASSERT_ERRNO(EINTR);
   // ...and check that we now receive our pending SIGRTMIN.
   ASSERT_EQ(1, g_sigsuspend64_signal_handler_call_count);
 }
@@ -530,14 +530,15 @@
 #endif
 }
 
-#if defined(__BIONIC__)
+#if defined(__BIONIC__) && !defined(__riscv)
 // Not exposed via headers, but the symbols are available if you declare them yourself.
 extern "C" int sigblock(int);
 extern "C" int sigsetmask(int);
+#define HAVE_SIGBLOCK_SIGSETMASK
 #endif
 
 TEST(signal, sigblock_filter) {
-#if defined(__BIONIC__)
+#if defined(HAVE_SIGBLOCK_SIGSETMASK)
   TestSignalMaskFunction([]() {
     sigblock(~0U);
   });
@@ -545,7 +546,7 @@
 }
 
 TEST(signal, sigsetmask_filter) {
-#if defined(__BIONIC__)
+#if defined(HAVE_SIGBLOCK_SIGSETMASK)
   TestSignalMaskFunction([]() {
     sigsetmask(~0U);
   });
@@ -597,7 +598,7 @@
   sigval sigval = {.sival_int = 1};
   errno = 0;
   ASSERT_EQ(0, sigqueue(getpid(), SIGALRM, sigval));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   ASSERT_EQ(1, g_sigqueue_signal_handler_call_count);
 }
 
@@ -607,7 +608,7 @@
   sigval sigval = {.sival_int = 1};
   errno = 0;
   ASSERT_EQ(0, pthread_sigqueue(pthread_self(), SIGALRM, sigval));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   ASSERT_EQ(1, g_sigqueue_signal_handler_call_count);
 #else
   GTEST_SKIP() << "musl doesn't have pthread_sigqueue";
@@ -635,7 +636,7 @@
 
   errno = 0;
   ASSERT_EQ(0, pthread_sigqueue(thread, SIGALRM, sigval));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   pthread_join(thread, nullptr);
   ASSERT_EQ(1, g_sigqueue_signal_handler_call_count);
 #else
@@ -698,7 +699,7 @@
   siginfo_t info;
   errno = 0;
   ASSERT_EQ(SIGALRM, sigwaitinfo(&just_SIGALRM, &info));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   ASSERT_EQ(SIGALRM, info.si_signo);
   ASSERT_EQ(1, info.si_value.sival_int);
 }
@@ -720,7 +721,7 @@
   siginfo_t info;
   errno = 0;
   ASSERT_EQ(SIGRTMIN, sigwaitinfo64(&just_SIGRTMIN, &info));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   ASSERT_EQ(SIGRTMIN, info.si_signo);
   ASSERT_EQ(1, info.si_value.sival_int);
 }
@@ -743,7 +744,7 @@
   timespec timeout = { .tv_sec = 2, .tv_nsec = 0 };
   errno = 0;
   ASSERT_EQ(SIGALRM, sigtimedwait(&just_SIGALRM, &info, &timeout));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
 }
 
 TEST(signal, sigtimedwait64_SIGRTMIN) {
@@ -764,7 +765,7 @@
   timespec timeout = { .tv_sec = 2, .tv_nsec = 0 };
   errno = 0;
   ASSERT_EQ(SIGRTMIN, sigtimedwait64(&just_SIGRTMIN, &info, &timeout));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
 }
 
 TEST(signal, sigtimedwait_timeout) {
@@ -781,7 +782,7 @@
   timespec timeout = { .tv_sec = 0, .tv_nsec = 1000000 };
   errno = 0;
   ASSERT_EQ(-1, sigtimedwait(&just_SIGALRM, &info, &timeout));
-  ASSERT_EQ(EAGAIN, errno);
+  ASSERT_ERRNO(EAGAIN);
   auto t1 = std::chrono::steady_clock::now();
   ASSERT_GE(t1-t0, 1000000ns);
 
@@ -835,17 +836,17 @@
 TEST(signal, sigignore_EINVAL) {
   errno = 0;
   ASSERT_EQ(-1, sigignore(99999));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(signal, sigignore) {
   errno = 0;
   EXPECT_EQ(-1, sigignore(SIGKILL));
-  EXPECT_EQ(errno, EINVAL);
+  EXPECT_ERRNO(EINVAL);
 
   errno = 0;
   EXPECT_EQ(-1, sigignore(SIGSTOP));
-  EXPECT_EQ(errno, EINVAL);
+  EXPECT_ERRNO(EINVAL);
 
   ScopedSignalHandler sigalrm{SIGALRM};
   ASSERT_EQ(0, sigignore(SIGALRM));
@@ -858,19 +859,19 @@
 TEST(signal, sighold_EINVAL) {
   errno = 0;
   ASSERT_EQ(-1, sighold(99999));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(signal, sigpause_EINVAL) {
   errno = 0;
   ASSERT_EQ(-1, sigpause(99999));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(signal, sigrelse_EINVAL) {
   errno = 0;
   ASSERT_EQ(-1, sigpause(99999));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 static void TestSigholdSigpauseSigrelse(int sig) {
@@ -889,7 +890,7 @@
   ASSERT_EQ(0, signal_handler_call_count);
   // ... until sigpause(SIGALRM/SIGRTMIN) temporarily unblocks it.
   ASSERT_EQ(-1, sigpause(sig));
-  ASSERT_EQ(EINTR, errno);
+  ASSERT_ERRNO(EINTR);
   ASSERT_EQ(1, signal_handler_call_count);
 
   if (sig >= SIGRTMIN && sizeof(void*) == 8) {
@@ -917,7 +918,7 @@
 TEST(signal, sigset_EINVAL) {
   errno = 0;
   ASSERT_EQ(SIG_ERR, sigset(99999, SIG_DFL));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(signal, sigset_RT) {
@@ -979,5 +980,96 @@
   // and passes 0 through to kill(2).
   errno = 0;
   ASSERT_EQ(-1, killpg(-1, SIGKILL));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
+}
+
+TEST(signal, sig2str) {
+#if defined(__BIONIC__)
+  char str[SIG2STR_MAX];
+
+  // A regular signal.
+  ASSERT_EQ(0, sig2str(SIGHUP, str));
+  ASSERT_STREQ("HUP", str);
+
+  // A real-time signal.
+  ASSERT_EQ(0, sig2str(SIGRTMIN + 4, str));
+  ASSERT_STREQ("RTMIN+4", str);
+  ASSERT_EQ(0, sig2str(SIGRTMAX - 4, str));
+  ASSERT_STREQ("RTMAX-4", str);
+  // Special cases.
+  ASSERT_EQ(0, sig2str(SIGRTMAX, str));
+  ASSERT_STREQ("RTMAX", str);
+  ASSERT_EQ(0, sig2str(SIGRTMIN, str));
+  ASSERT_STREQ("RTMIN", str);
+  // One of the signals the C library keeps to itself.
+  ASSERT_EQ(-1, sig2str(32, str));  // __SIGRTMIN
+
+  // Errors.
+  ASSERT_EQ(-1, sig2str(-1, str));    // Too small.
+  ASSERT_EQ(-1, sig2str(0, str));     // Still too small.
+  ASSERT_EQ(-1, sig2str(1234, str));  // Too large.
+#else
+  GTEST_SKIP() << "our old glibc doesn't have sig2str";
+#endif
+}
+
+TEST(signal, str2sig) {
+#if defined(__BIONIC__)
+  int sig;
+
+  // A regular signal, by number.
+  sig = -1;
+  ASSERT_EQ(0, str2sig("9", &sig));
+  ASSERT_EQ(SIGKILL, sig);
+
+  // A regular signal, by name.
+  sig = -1;
+  ASSERT_EQ(0, str2sig("HUP", &sig));
+  ASSERT_EQ(SIGHUP, sig);
+
+  // A real-time signal, by number.
+  sig = -1;
+  ASSERT_EQ(0, str2sig("64", &sig));
+  ASSERT_EQ(SIGRTMAX, sig);
+
+  // A real-time signal, by name and offset.
+  sig = -1;
+  ASSERT_EQ(0, str2sig("RTMAX-4", &sig));
+  ASSERT_EQ(SIGRTMAX - 4, sig);
+  sig = -1;
+  ASSERT_EQ(0, str2sig("RTMIN+4", &sig));
+  ASSERT_EQ(SIGRTMIN + 4, sig);
+  // Unspecified by POSIX, but we try to be reasonable.
+  sig = -1;
+  ASSERT_EQ(0, str2sig("RTMAX-0", &sig));
+  ASSERT_EQ(SIGRTMAX, sig);
+  sig = -1;
+  ASSERT_EQ(0, str2sig("RTMIN+0", &sig));
+  ASSERT_EQ(SIGRTMIN, sig);
+  // One of the signals the C library keeps to itself, numerically.
+  ASSERT_EQ(-1, str2sig("32", &sig));  // __SIGRTMIN
+
+  // Special cases.
+  sig = -1;
+  ASSERT_EQ(0, str2sig("RTMAX", &sig));
+  ASSERT_EQ(SIGRTMAX, sig);
+  sig = -1;
+  ASSERT_EQ(0, str2sig("RTMIN", &sig));
+  ASSERT_EQ(SIGRTMIN, sig);
+
+  // Errors.
+  ASSERT_EQ(-1, str2sig("SIGHUP", &sig));     // No "SIG" prefix allowed.
+  ASSERT_EQ(-1, str2sig("-1", &sig));         // Too small.
+  ASSERT_EQ(-1, str2sig("0", &sig));          // Still too small.
+  ASSERT_EQ(-1, str2sig("1234", &sig));       // Too large.
+  ASSERT_EQ(-1, str2sig("RTMAX-666", &sig));  // Offset too small.
+  ASSERT_EQ(-1, str2sig("RTMIN+666", &sig));  // Offset too large.
+  ASSERT_EQ(-1, str2sig("RTMAX-+1", &sig));   // Silly.
+  ASSERT_EQ(-1, str2sig("RTMIN+-1", &sig));   // Silly.
+  ASSERT_EQ(-1, str2sig("HUPs", &sig));       // Trailing junk.
+  ASSERT_EQ(-1, str2sig("2b", &sig));         // Trailing junk.
+  ASSERT_EQ(-1, str2sig("RTMIN+2b", &sig));   // Trailing junk.
+#else
+  GTEST_SKIP() << "our old glibc doesn't have str2sig";
+#endif
 }
diff --git a/tests/stack_protector_test.cpp b/tests/stack_protector_test.cpp
index a95e037..5817a27 100644
--- a/tests/stack_protector_test.cpp
+++ b/tests/stack_protector_test.cpp
@@ -28,6 +28,7 @@
 
 #include <android-base/silent_death_test.h>
 
+#include "platform/bionic/mte.h"
 #include "private/bionic_tls.h"
 
 extern "C" pid_t gettid(); // glibc defines this but doesn't declare it anywhere.
@@ -47,7 +48,7 @@
     printf("[thread %d] TLS stack guard = %p\n", tid, guard);
 
     // Duplicate tid. gettid(2) bug? Seeing this would be very upsetting.
-    ASSERT_TRUE(tids.find(tid) == tids.end());
+    ASSERT_FALSE(tids.contains(tid));
 
     // Uninitialized guard. Our bug. Note this is potentially flaky; we _could_
     // get four random zero bytes, but it should be vanishingly unlikely.
@@ -100,16 +101,44 @@
 #endif
 }
 
+// Make sure that a stack variable (`*p`) is tagged under MTE, by forcing the
+// stack safety analysis to fail.
+int z;
+__attribute__((noinline)) void escape_stack_safety_analysis(int* p) {
+  *p = z;
+}
+
+bool stack_mte_enabled() {
+  if (!mte_supported()) return false;
+  int stack_variable;
+  escape_stack_safety_analysis(&stack_variable);
+#if defined(__aarch64__)
+  return reinterpret_cast<uintptr_t>(&stack_variable) & (0xfull << 56);
+#else   // !defined(__aarch64__)
+  return false;
+#endif  // defined(__aarch64__)
+}
+
+bool hwasan_enabled() {
+#if __has_feature(hwaddress_sanitizer)
+  return true;
+#else
+  return false;
+#endif  // __has_feature(hwaddress_sanitizer)
+}
+
 using stack_protector_DeathTest = SilentDeathTest;
 
 TEST_F(stack_protector_DeathTest, modify_stack_protector) {
   // In another file to prevent inlining, which removes stack protection.
   extern void modify_stack_protector_test();
-#if __has_feature(hwaddress_sanitizer)
-  ASSERT_EXIT(modify_stack_protector_test(),
-              testing::KilledBySignal(SIGABRT), "tag-mismatch");
-#else
-  ASSERT_EXIT(modify_stack_protector_test(),
-              testing::KilledBySignal(SIGABRT), "stack corruption detected");
-#endif
+
+  if (stack_mte_enabled()) {
+    GTEST_SKIP() << "Stack MTE is enabled, stack protector is not available";
+  } else if (hwasan_enabled()) {
+    GTEST_SKIP() << "HWASan is enabled, stack protector is not testable";
+  } else {
+    ASSERT_EXIT(modify_stack_protector_test(), testing::KilledBySignal(SIGABRT),
+                "stack corruption detected");
+  }
 }
diff --git a/tests/static_tls_layout_test.cpp b/tests/static_tls_layout_test.cpp
new file mode 100644
index 0000000..ada29a5
--- /dev/null
+++ b/tests/static_tls_layout_test.cpp
@@ -0,0 +1,217 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#define STATIC_TLS_LAYOUT_TEST
+
+#include "private/bionic_elf_tls.h"
+
+#include <string>
+#include <tuple>
+
+#include <gtest/gtest.h>
+
+#include <android-base/silent_death_test.h>
+
+#include "private/bionic_tls.h"
+
+using namespace std::string_literals;
+
+struct AlignedSizeFlat {
+  size_t size = 0;
+  size_t align = 1;
+  size_t skew = 0;
+};
+
+static TlsAlignedSize unflatten_size(AlignedSizeFlat flat) {
+  return TlsAlignedSize{.size = flat.size,
+                        .align = TlsAlign{
+                            .value = flat.align,
+                            .skew = flat.skew,
+                        }};
+}
+
+TEST(static_tls_layout, reserve_tp_pair) {
+  auto reserve_tp = [](const AlignedSizeFlat& before, const AlignedSizeFlat& after,
+                       StaticTlsLayout layout = {}) {
+    auto allocs = layout.reserve_tp_pair(unflatten_size(before), unflatten_size(after));
+    return std::make_tuple(layout, allocs);
+  };
+
+  StaticTlsLayout layout;
+  StaticTlsLayout::TpAllocations allocs;
+
+  // Simple case.
+  std::tie(layout, allocs) = reserve_tp({.size = 8, .align = 2}, {.size = 16, .align = 2});
+  EXPECT_EQ(0u, allocs.before);
+  EXPECT_EQ(8u, allocs.tp);
+  EXPECT_EQ(8u, allocs.after);
+  EXPECT_EQ(24u, layout.size());
+  EXPECT_EQ(2u, layout.align_);
+
+  // Zero-sized `before`
+  std::tie(layout, allocs) = reserve_tp({.size = 0}, {.size = 64, .align = 8});
+  EXPECT_EQ(0u, allocs.before);
+  EXPECT_EQ(0u, allocs.tp);
+  EXPECT_EQ(0u, allocs.after);
+
+  // Zero-sized `after`
+  std::tie(layout, allocs) = reserve_tp({.size = 64, .align = 8}, {.size = 0});
+  EXPECT_EQ(0u, allocs.before);
+  EXPECT_EQ(64u, allocs.tp);
+  EXPECT_EQ(64u, allocs.after);
+
+  // The `before` allocation is shifted forward to the TP.
+  std::tie(layout, allocs) = reserve_tp({.size = 1}, {.size = 64, .align = 8});
+  EXPECT_EQ(7u, allocs.before);
+  EXPECT_EQ(8u, allocs.tp);
+  EXPECT_EQ(8u, allocs.after);
+
+  // Alignment gap between `before` and TP.
+  std::tie(layout, allocs) = reserve_tp({.size = 9, .align = 4}, {.size = 1});
+  EXPECT_EQ(0u, allocs.before);
+  EXPECT_EQ(12u, allocs.tp);
+  EXPECT_EQ(12u, allocs.after);
+  EXPECT_EQ(13u, layout.size());
+  EXPECT_EQ(4u, layout.align_);
+
+  // Alignment gap between `before` and TP.
+  std::tie(layout, allocs) = reserve_tp({.size = 9, .align = 4}, {.size = 128, .align = 64});
+  EXPECT_EQ(52u, allocs.before);
+  EXPECT_EQ(64u, allocs.tp);
+  EXPECT_EQ(64u, allocs.after);
+  EXPECT_EQ(192u, layout.size());
+  EXPECT_EQ(64u, layout.align_);
+
+  // Skew-aligned `before` with low alignment.
+  std::tie(layout, allocs) =
+      reserve_tp({.size = 1, .align = 4, .skew = 1}, {.size = 64, .align = 8});
+  EXPECT_EQ(5u, allocs.before);
+  EXPECT_EQ(8u, allocs.tp);
+
+  // Skew-aligned `before` with high alignment.
+  std::tie(layout, allocs) = reserve_tp({.size = 48, .align = 64, .skew = 17}, {.size = 1});
+  EXPECT_EQ(17u, allocs.before);
+  EXPECT_EQ(128u, allocs.tp);
+
+  // An unrelated byte precedes the pair in the layout. Make sure `before` is
+  // still aligned.
+  layout = {};
+  layout.reserve_type<char>();
+  std::tie(layout, allocs) = reserve_tp({.size = 12, .align = 16}, {.size = 1}, layout);
+  EXPECT_EQ(16u, allocs.before);
+  EXPECT_EQ(32u, allocs.tp);
+
+  // Skew-aligned `after`.
+  std::tie(layout, allocs) =
+      reserve_tp({.size = 32, .align = 8}, {.size = 16, .align = 4, .skew = 3});
+  EXPECT_EQ(0u, allocs.before);
+  EXPECT_EQ(32u, allocs.tp);
+  EXPECT_EQ(35u, allocs.after);
+  EXPECT_EQ(51u, layout.size());
+}
+
+// A "NUM_words" literal is the size in bytes of NUM words of memory.
+static size_t operator""_words(unsigned long long i) {
+  return i * sizeof(void*);
+}
+
+using static_tls_layout_DeathTest = SilentDeathTest;
+
+TEST_F(static_tls_layout_DeathTest, arm) {
+#if !defined(__arm__) && !defined(__aarch64__)
+  GTEST_SKIP() << "test only applies to arm32/arm64 targets";
+#endif
+
+  auto reserve_exe = [](const AlignedSizeFlat& config) {
+    StaticTlsLayout layout;
+    TlsSegment seg = {.aligned_size = unflatten_size(config)};
+    layout.reserve_exe_segment_and_tcb(&seg, "prog");
+    return layout;
+  };
+
+  auto underalign_error = [](size_t align, size_t offset) {
+    return R"(error: "prog": executable's TLS segment is underaligned: )"s
+           R"(alignment is )"s +
+           std::to_string(align) + R"( \(skew )" + std::to_string(offset) +
+           R"(\), needs to be at least (32 for ARM|64 for ARM64) Bionic)"s;
+  };
+
+  // Amount of memory needed for negative TLS slots, given a segment p_align of
+  // 8 or 16 words.
+  const size_t base8 = __BIONIC_ALIGN(-MIN_TLS_SLOT, 8) * sizeof(void*);
+  const size_t base16 = __BIONIC_ALIGN(-MIN_TLS_SLOT, 16) * sizeof(void*);
+
+  StaticTlsLayout layout;
+
+  // An executable with a single word.
+  layout = reserve_exe({.size = 1_words, .align = 8_words});
+  EXPECT_EQ(base8 + MIN_TLS_SLOT * sizeof(void*), layout.offset_bionic_tcb());
+  EXPECT_EQ(base8, layout.offset_thread_pointer());
+  EXPECT_EQ(base8 + 8_words, layout.offset_exe());
+  EXPECT_EQ(base8 + 9_words, layout.size());
+  EXPECT_EQ(8_words, layout.align_);
+
+  // Simple underalignment case.
+  EXPECT_DEATH(reserve_exe({.size = 1_words, .align = 1_words}), underalign_error(1_words, 0));
+
+  // Skewed by 1 word is OK.
+  layout = reserve_exe({.size = 1_words, .align = 8_words, .skew = 1_words});
+  EXPECT_EQ(base8, layout.offset_thread_pointer());
+  EXPECT_EQ(base8 + 9_words, layout.offset_exe());
+  EXPECT_EQ(base8 + 10_words, layout.size());
+  EXPECT_EQ(8_words, layout.align_);
+
+  // Skewed by 2 words would overlap Bionic slots, regardless of the p_align
+  // value.
+  EXPECT_DEATH(reserve_exe({.size = 1_words, .align = 8_words, .skew = 2_words}),
+               underalign_error(8_words, 2_words));
+  EXPECT_DEATH(reserve_exe({.size = 1_words, .align = 0x1000, .skew = 2_words}),
+               underalign_error(0x1000, 2_words));
+
+  // Skewed by 8 words is OK again.
+  layout = reserve_exe({.size = 1_words, .align = 16_words, .skew = 8_words});
+  EXPECT_EQ(base16, layout.offset_thread_pointer());
+  EXPECT_EQ(base16 + 8_words, layout.offset_exe());
+  EXPECT_EQ(base16 + 9_words, layout.size());
+  EXPECT_EQ(16_words, layout.align_);
+
+  // Skewed by 9 words is also OK. (The amount of skew doesn't need to be a
+  // multiple of anything.)
+  layout = reserve_exe({.size = 1_words, .align = 16_words, .skew = 9_words});
+  EXPECT_EQ(base16, layout.offset_thread_pointer());
+  EXPECT_EQ(base16 + 9_words, layout.offset_exe());
+  EXPECT_EQ(base16 + 10_words, layout.size());
+  EXPECT_EQ(16_words, layout.align_);
+
+  // Skew with large alignment.
+  layout = reserve_exe({.size = 1_words, .align = 256_words, .skew = 8_words});
+  EXPECT_EQ(256_words, layout.offset_thread_pointer());
+  EXPECT_EQ(264_words, layout.offset_exe());
+  EXPECT_EQ(265_words, layout.size());
+  EXPECT_EQ(256_words, layout.align_);
+}
diff --git a/tests/stdatomic_test.cpp b/tests/stdatomic_test.cpp
index 7b98df2..8a54080 100644
--- a/tests/stdatomic_test.cpp
+++ b/tests/stdatomic_test.cpp
@@ -37,10 +37,10 @@
 }
 
 TEST(stdatomic, init) {
-  atomic_int v = ATOMIC_VAR_INIT(123);
+  atomic_int v = 123;
   ASSERT_EQ(123, atomic_load(&v));
 
-  atomic_init(&v, 456);
+  atomic_store_explicit(&v, 456, memory_order_relaxed);
   ASSERT_EQ(456, atomic_load(&v));
 
   atomic_flag f = ATOMIC_FLAG_INIT;
@@ -145,35 +145,35 @@
 }
 
 TEST(stdatomic, atomic_fetch_add) {
-  atomic_int i = ATOMIC_VAR_INIT(123);
+  atomic_int i = 123;
   ASSERT_EQ(123, atomic_fetch_add(&i, 1));
   ASSERT_EQ(124, atomic_fetch_add_explicit(&i, 1, memory_order_relaxed));
   ASSERT_EQ(125, atomic_load(&i));
 }
 
 TEST(stdatomic, atomic_fetch_sub) {
-  atomic_int i = ATOMIC_VAR_INIT(123);
+  atomic_int i = 123;
   ASSERT_EQ(123, atomic_fetch_sub(&i, 1));
   ASSERT_EQ(122, atomic_fetch_sub_explicit(&i, 1, memory_order_relaxed));
   ASSERT_EQ(121, atomic_load(&i));
 }
 
 TEST(stdatomic, atomic_fetch_or) {
-  atomic_int i = ATOMIC_VAR_INIT(0x100);
+  atomic_int i = 0x100;
   ASSERT_EQ(0x100, atomic_fetch_or(&i, 0x020));
   ASSERT_EQ(0x120, atomic_fetch_or_explicit(&i, 0x003, memory_order_relaxed));
   ASSERT_EQ(0x123, atomic_load(&i));
 }
 
 TEST(stdatomic, atomic_fetch_xor) {
-  atomic_int i = ATOMIC_VAR_INIT(0x100);
+  atomic_int i = 0x100;
   ASSERT_EQ(0x100, atomic_fetch_xor(&i, 0x120));
   ASSERT_EQ(0x020, atomic_fetch_xor_explicit(&i, 0x103, memory_order_relaxed));
   ASSERT_EQ(0x123, atomic_load(&i));
 }
 
 TEST(stdatomic, atomic_fetch_and) {
-  atomic_int i = ATOMIC_VAR_INIT(0x123);
+  atomic_int i = 0x123;
   ASSERT_EQ(0x123, atomic_fetch_and(&i, 0x00f));
   ASSERT_EQ(0x003, atomic_fetch_and_explicit(&i, 0x2, memory_order_relaxed));
   ASSERT_EQ(0x002, atomic_load(&i));
@@ -181,7 +181,8 @@
 
 // And a rudimentary test of acquire-release memory ordering:
 
-constexpr static uint_least32_t BIG = 30'000'000ul; // Assumed even below.
+static constexpr uint_least32_t BIG = 30'000'000ul;
+static_assert((BIG % 2) == 0);  // Assumed below.
 
 struct three_atomics {
   atomic_uint_least32_t x;
@@ -192,6 +193,8 @@
   atomic_uint_least32_t z;
 };
 
+atomic_bool read_enough(false);
+
 // Very simple acquire/release memory ordering smoke test.
 static void* writer(void* arg) {
   three_atomics* a = reinterpret_cast<three_atomics*>(arg);
@@ -199,9 +202,18 @@
     atomic_store_explicit(&a->x, i, memory_order_relaxed);
     atomic_store_explicit(&a->z, i, memory_order_relaxed);
     atomic_store_explicit(&a->y, i, memory_order_release);
+
+    // Force stores to be visible in spite of being overwritten below.
+    asm volatile("" ::: "memory");
+
     atomic_store_explicit(&a->x, i+1, memory_order_relaxed);
     atomic_store_explicit(&a->z, i+1, memory_order_relaxed);
     atomic_store_explicit(&a->y, i+1, memory_order_release);
+    if (i >= BIG - 1000 && !atomic_load(&read_enough)) {
+      // Give reader a chance to catch up, at the expense of making the test
+      // less effective.
+      usleep(1000);
+    }
   }
   return nullptr;
 }
@@ -229,7 +241,11 @@
                     << xval << " < " << yval << ", " << zval <<  "\n";
       return nullptr; // Only report once.
     }
-    if (repeat < repeat_limit) ++repeat;
+    if (repeat < repeat_limit) {
+      ++repeat;
+    } else if (!atomic_load_explicit(&read_enough, memory_order_relaxed)) {
+      atomic_store_explicit(&read_enough, true, memory_order_relaxed);
+    }
   }
   // The following assertion is not technically guaranteed to hold.
   // But if it fails to hold, this test was useless, and we have a
@@ -242,9 +258,9 @@
   // Run a memory ordering smoke test.
   void* result;
   three_atomics a;
-  atomic_init(&a.x, 0ul);
-  atomic_init(&a.y, 0ul);
-  atomic_init(&a.z, 0ul);
+  atomic_store_explicit(&a.x, 0ul, memory_order_relaxed);
+  atomic_store_explicit(&a.y, 0ul, memory_order_relaxed);
+  atomic_store_explicit(&a.z, 0ul, memory_order_relaxed);
   pthread_t t1,t2;
   ASSERT_EQ(0, pthread_create(&t1, nullptr, reader, &a));
   ASSERT_EQ(0, pthread_create(&t2, nullptr, writer, &a));
diff --git a/tests/stdio_test.cpp b/tests/stdio_test.cpp
index 0e267c5..7cdfa42 100644
--- a/tests/stdio_test.cpp
+++ b/tests/stdio_test.cpp
@@ -99,10 +99,32 @@
   ASSERT_EQ(nullptr, fgets(line, sizeof(line), fp)) << "junk at end of file: " << line;
 }
 
+#define EXPECT_SNPRINTF_N(expected, n, fmt, ...)                        \
+  {                                                                     \
+    char buf[BUFSIZ];                                                   \
+    int w = snprintf(buf, sizeof(buf), fmt __VA_OPT__(, ) __VA_ARGS__); \
+    EXPECT_EQ(n, w);                                                    \
+    EXPECT_STREQ(expected, buf);                                        \
+  }
+
+#define EXPECT_SNPRINTF(expected, fmt, ...) \
+  EXPECT_SNPRINTF_N(expected, static_cast<int>(strlen(expected)), fmt __VA_OPT__(, ) __VA_ARGS__)
+
+#define EXPECT_SWPRINTF_N(expected, n, fmt, ...)                        \
+  {                                                                     \
+    wchar_t buf[BUFSIZ];                                                \
+    int w = swprintf(buf, sizeof(buf), fmt __VA_OPT__(, ) __VA_ARGS__); \
+    EXPECT_EQ(n, w);                                                    \
+    EXPECT_EQ(std::wstring(expected), std::wstring(buf, w));            \
+  }
+#define EXPECT_SWPRINTF(expected, fmt, ...) \
+  EXPECT_SWPRINTF_N(expected, static_cast<int>(wcslen(expected)), fmt __VA_OPT__(, ) __VA_ARGS__)
+
 TEST(STDIO_TEST, flockfile_18208568_stderr) {
-  // Check that we have a _recursive_ mutex for flockfile.
   flockfile(stderr);
-  feof(stderr); // We don't care about the result, but this needs to take the lock.
+  // Check that we're using a _recursive_ mutex for flockfile() by calling
+  // something that will take the lock.
+  ASSERT_EQ(0, feof(stderr));
   funlockfile(stderr);
 }
 
@@ -111,7 +133,9 @@
   FILE* fp = fopen("/dev/null", "w");
   ASSERT_TRUE(fp != nullptr);
   flockfile(fp);
-  feof(fp);
+  // Check that we're using a _recursive_ mutex for flockfile() by calling
+  // something that will take the lock.
+  ASSERT_EQ(0, feof(fp));
   funlockfile(fp);
   fclose(fp);
 }
@@ -199,7 +223,7 @@
   // It should set the end-of-file indicator for the stream, though.
   errno = 0;
   ASSERT_EQ(getdelim(&word_read, &allocated_length, ' ', fp), -1);
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   ASSERT_TRUE(feof(fp));
 
   free(word_read);
@@ -218,12 +242,12 @@
   // The first argument can't be NULL.
   errno = 0;
   ASSERT_EQ(getdelim(nullptr, &buffer_length, ' ', fp), -1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   // The second argument can't be NULL.
   errno = 0;
   ASSERT_EQ(getdelim(&buffer, nullptr, ' ', fp), -1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   fclose(fp);
 #pragma clang diagnostic pop
 }
@@ -272,7 +296,7 @@
   // It should set the end-of-file indicator for the stream, though.
   errno = 0;
   ASSERT_EQ(getline(&line_read, &allocated_length, fp), -1);
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   ASSERT_TRUE(feof(fp));
 
   free(line_read);
@@ -291,12 +315,12 @@
   // The first argument can't be NULL.
   errno = 0;
   ASSERT_EQ(getline(nullptr, &buffer_length, fp), -1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   // The second argument can't be NULL.
   errno = 0;
   ASSERT_EQ(getline(&buffer, nullptr, fp), -1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   fclose(fp);
 #pragma clang diagnostic pop
 }
@@ -309,21 +333,23 @@
   // error: format '%zd' expects argument of type 'signed size_t',
   //     but argument 4 has type 'ssize_t {aka long int}' [-Werror=format]
   ssize_t v = 1;
-  char buf[32];
-  snprintf(buf, sizeof(buf), "%zd", v);
+  EXPECT_SNPRINTF("1", "%zd", v);
+  EXPECT_SWPRINTF(L"1", L"%zd", v);
 }
 
 // https://code.google.com/p/android/issues/detail?id=64886
 TEST(STDIO_TEST, snprintf_a) {
-  char buf[BUFSIZ];
-  EXPECT_EQ(23, snprintf(buf, sizeof(buf), "<%a>", 9990.235));
-  EXPECT_STREQ("<0x1.3831e147ae148p+13>", buf);
+  EXPECT_SNPRINTF("<0x1.3831e147ae148p+13>", "<%a>", 9990.235);
+}
+
+// https://code.google.com/p/android/issues/detail?id=64886
+TEST(STDIO_TEST, swprintf_a) {
+  EXPECT_SWPRINTF(L"<0x1.3831e147ae148p+13>", L"<%a>", 9990.235);
 }
 
 // http://b/152588929
 TEST(STDIO_TEST, snprintf_La) {
 #if defined(__LP64__)
-  char buf[BUFSIZ];
   union {
     uint64_t a[2];
     long double v;
@@ -331,59 +357,98 @@
 
   u.a[0] = UINT64_C(0x9b9b9b9b9b9b9b9b);
   u.a[1] = UINT64_C(0xdfdfdfdfdfdfdfdf);
-  EXPECT_EQ(41, snprintf(buf, sizeof(buf), "<%La>", u.v));
-  EXPECT_STREQ("<-0x1.dfdfdfdfdfdf9b9b9b9b9b9b9b9bp+8160>", buf);
+  EXPECT_SNPRINTF("<-0x1.dfdfdfdfdfdf9b9b9b9b9b9b9b9bp+8160>", "<%La>", u.v);
 
   u.a[0] = UINT64_C(0xffffffffffffffff);
   u.a[1] = UINT64_C(0x7ffeffffffffffff);
-  EXPECT_EQ(41, snprintf(buf, sizeof(buf), "<%La>", u.v));
-  EXPECT_STREQ("<0x1.ffffffffffffffffffffffffffffp+16383>", buf);
+  EXPECT_SNPRINTF("<0x1.ffffffffffffffffffffffffffffp+16383>", "<%La>", u.v);
 
   u.a[0] = UINT64_C(0x0000000000000000);
   u.a[1] = UINT64_C(0x0000000000000000);
-  EXPECT_EQ(8, snprintf(buf, sizeof(buf), "<%La>", u.v));
-  EXPECT_STREQ("<0x0p+0>", buf);
+  EXPECT_SNPRINTF("<0x0p+0>", "<%La>", u.v);
+#else
+  GTEST_SKIP() << "no ld128";
+#endif
+}
+
+// http://b/152588929
+TEST(STDIO_TEST, swprintf_La) {
+#if defined(__LP64__)
+  union {
+    uint64_t a[2];
+    long double v;
+  } u;
+
+  u.a[0] = UINT64_C(0x9b9b9b9b9b9b9b9b);
+  u.a[1] = UINT64_C(0xdfdfdfdfdfdfdfdf);
+  EXPECT_SWPRINTF(L"<-0x1.dfdfdfdfdfdf9b9b9b9b9b9b9b9bp+8160>", L"<%La>", u.v);
+
+  u.a[0] = UINT64_C(0xffffffffffffffff);
+  u.a[1] = UINT64_C(0x7ffeffffffffffff);
+  EXPECT_SWPRINTF(L"<0x1.ffffffffffffffffffffffffffffp+16383>", L"<%La>", u.v);
+
+  u.a[0] = UINT64_C(0x0000000000000000);
+  u.a[1] = UINT64_C(0x0000000000000000);
+  EXPECT_SWPRINTF(L"<0x0p+0>", L"<%La>", u.v);
 #else
   GTEST_SKIP() << "no ld128";
 #endif
 }
 
 TEST(STDIO_TEST, snprintf_lc) {
-  char buf[BUFSIZ];
   wint_t wc = L'a';
-  EXPECT_EQ(3, snprintf(buf, sizeof(buf), "<%lc>", wc));
-  EXPECT_STREQ("<a>", buf);
+  EXPECT_SNPRINTF("<a>", "<%lc>", wc);
 }
 
-TEST(STDIO_TEST, snprintf_C) { // Synonym for %lc.
-  char buf[BUFSIZ];
+TEST(STDIO_TEST, swprintf_lc) {
+  wint_t wc = L'a';
+  EXPECT_SWPRINTF(L"<a>", L"<%lc>", wc);
+}
+
+TEST(STDIO_TEST, snprintf_C) {  // Synonym for %lc.
   wchar_t wc = L'a';
-  EXPECT_EQ(3, snprintf(buf, sizeof(buf), "<%C>", wc));
-  EXPECT_STREQ("<a>", buf);
+  EXPECT_SNPRINTF("<a>", "<%C>", wc);
+}
+
+TEST(STDIO_TEST, swprintf_C) {  // Synonym for %lc.
+  wchar_t wc = L'a';
+  EXPECT_SWPRINTF(L"<a>", L"<%C>", wc);
+}
+
+TEST(STDIO_TEST, snprintf_ls_null) {
+  EXPECT_SNPRINTF("<(null)>", "<%ls>", static_cast<wchar_t*>(nullptr));
+}
+
+TEST(STDIO_TEST, swprintf_ls_null) {
+  EXPECT_SWPRINTF(L"<(null)>", L"<%ls>", static_cast<wchar_t*>(nullptr));
 }
 
 TEST(STDIO_TEST, snprintf_ls) {
-  char buf[BUFSIZ];
-  wchar_t* ws = nullptr;
-  EXPECT_EQ(8, snprintf(buf, sizeof(buf), "<%ls>", ws));
-  EXPECT_STREQ("<(null)>", buf);
+  static const wchar_t chars[] = L"Hello\u0666 World";
+  EXPECT_SNPRINTF("<Hello\xd9\xa6 World>", "<%ls>", chars);
+}
 
-  wchar_t chars[] = { L'h', L'i', 0 };
-  ws = chars;
-  EXPECT_EQ(4, snprintf(buf, sizeof(buf), "<%ls>", ws));
-  EXPECT_STREQ("<hi>", buf);
+TEST(STDIO_TEST, swprintf_ls) {
+  static const wchar_t chars[] = L"Hello\u0666 World";
+  EXPECT_SWPRINTF(L"<Hello\u0666 World>", L"<%ls>", chars);
+}
+
+TEST(STDIO_TEST, snprintf_S_nullptr) {  // Synonym for %ls.
+  EXPECT_SNPRINTF("<(null)>", "<%S>", static_cast<wchar_t*>(nullptr));
+}
+
+TEST(STDIO_TEST, swprintf_S_nullptr) {  // Synonym for %ls.
+  EXPECT_SWPRINTF(L"<(null)>", L"<%S>", static_cast<wchar_t*>(nullptr));
 }
 
 TEST(STDIO_TEST, snprintf_S) { // Synonym for %ls.
-  char buf[BUFSIZ];
-  wchar_t* ws = nullptr;
-  EXPECT_EQ(8, snprintf(buf, sizeof(buf), "<%S>", ws));
-  EXPECT_STREQ("<(null)>", buf);
+  static const wchar_t chars[] = L"Hello\u0666 World";
+  EXPECT_SNPRINTF("<Hello\xd9\xa6 World>", "<%S>", chars);
+}
 
-  wchar_t chars[] = { L'h', L'i', 0 };
-  ws = chars;
-  EXPECT_EQ(4, snprintf(buf, sizeof(buf), "<%S>", ws));
-  EXPECT_STREQ("<hi>", buf);
+TEST(STDIO_TEST, swprintf_S) {  // Synonym for %ls.
+  static const wchar_t chars[] = L"Hello\u0666 World";
+  EXPECT_SWPRINTF(L"<Hello\u0666 World>", L"<%S>", chars);
 }
 
 TEST_F(STDIO_DEATHTEST, snprintf_n) {
@@ -400,106 +465,111 @@
 #endif
 }
 
+TEST_F(STDIO_DEATHTEST, swprintf_n) {
+#if defined(__BIONIC__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wformat"
+  // http://b/14492135 and http://b/31832608.
+  wchar_t buf[32];
+  int i = 1234;
+  EXPECT_DEATH(swprintf(buf, sizeof(buf), L"a %n b", &i), "%n not allowed on Android");
+#pragma clang diagnostic pop
+#else
+  GTEST_SKIP() << "glibc does allow %n";
+#endif
+}
+
 TEST(STDIO_TEST, snprintf_measure) {
-  char buf[16];
+  char buf[1] = {'x'};
   ASSERT_EQ(11, snprintf(buf, 0, "Hello %s", "world"));
+  ASSERT_EQ('x', buf[0]);
+}
+
+// Unlike snprintf(), you *can't* use swprintf() to measure.
+TEST(STDIO_TEST, swprintf_measure) {
+  wchar_t buf[1] = {L'x'};
+  ASSERT_EQ(-1, swprintf(buf, 0, L"Hello %S", L"world"));
+  ASSERT_EQ(L'x', buf[0]);
 }
 
 TEST(STDIO_TEST, snprintf_smoke) {
-  char buf[BUFSIZ];
+  EXPECT_SNPRINTF("a", "a");
+  EXPECT_SNPRINTF("%", "%%");
+  EXPECT_SNPRINTF("01234", "01234");
+  EXPECT_SNPRINTF("a01234b", "a%sb", "01234");
 
-  snprintf(buf, sizeof(buf), "a");
-  EXPECT_STREQ("a", buf);
+  EXPECT_SNPRINTF("a(null)b", "a%sb", static_cast<char*>(nullptr));
+  EXPECT_SNPRINTF("aabbcc", "aa%scc", "bb");
+  EXPECT_SNPRINTF("abc", "a%cc", 'b');
+  EXPECT_SNPRINTF("a1234b", "a%db", 1234);
+  EXPECT_SNPRINTF("a-8123b", "a%db", -8123);
+  EXPECT_SNPRINTF("a16b", "a%hdb", static_cast<short>(0x7fff0010));
+  EXPECT_SNPRINTF("a16b", "a%hhdb", static_cast<char>(0x7fffff10));
+  EXPECT_SNPRINTF("a68719476736b", "a%lldb", 0x1000000000LL);
+  EXPECT_SNPRINTF("a70000b", "a%ldb", 70000L);
+  EXPECT_SNPRINTF("a0xb0001234b", "a%pb", reinterpret_cast<void*>(0xb0001234));
+  EXPECT_SNPRINTF("a12abz", "a%xz", 0x12ab);
+  EXPECT_SNPRINTF("a12ABz", "a%Xz", 0x12ab);
+  EXPECT_SNPRINTF("a00123456z", "a%08xz", 0x123456);
+  EXPECT_SNPRINTF("a 1234z", "a%5dz", 1234);
+  EXPECT_SNPRINTF("a01234z", "a%05dz", 1234);
+  EXPECT_SNPRINTF("a    1234z", "a%8dz", 1234);
+  EXPECT_SNPRINTF("a1234    z", "a%-8dz", 1234);
+  EXPECT_SNPRINTF("Aabcdef     Z", "A%-11sZ", "abcdef");
+  EXPECT_SNPRINTF("Ahello:1234Z", "A%s:%dZ", "hello", 1234);
+  EXPECT_SNPRINTF("a005:5:05z", "a%03d:%d:%02dz", 5, 5, 5);
 
-  snprintf(buf, sizeof(buf), "%%");
-  EXPECT_STREQ("%", buf);
-
-  snprintf(buf, sizeof(buf), "01234");
-  EXPECT_STREQ("01234", buf);
-
-  snprintf(buf, sizeof(buf), "a%sb", "01234");
-  EXPECT_STREQ("a01234b", buf);
-
-  char* s = nullptr;
-  snprintf(buf, sizeof(buf), "a%sb", s);
-  EXPECT_STREQ("a(null)b", buf);
-
-  snprintf(buf, sizeof(buf), "aa%scc", "bb");
-  EXPECT_STREQ("aabbcc", buf);
-
-  snprintf(buf, sizeof(buf), "a%cc", 'b');
-  EXPECT_STREQ("abc", buf);
-
-  snprintf(buf, sizeof(buf), "a%db", 1234);
-  EXPECT_STREQ("a1234b", buf);
-
-  snprintf(buf, sizeof(buf), "a%db", -8123);
-  EXPECT_STREQ("a-8123b", buf);
-
-  snprintf(buf, sizeof(buf), "a%hdb", static_cast<short>(0x7fff0010));
-  EXPECT_STREQ("a16b", buf);
-
-  snprintf(buf, sizeof(buf), "a%hhdb", static_cast<char>(0x7fffff10));
-  EXPECT_STREQ("a16b", buf);
-
-  snprintf(buf, sizeof(buf), "a%lldb", 0x1000000000LL);
-  EXPECT_STREQ("a68719476736b", buf);
-
-  snprintf(buf, sizeof(buf), "a%ldb", 70000L);
-  EXPECT_STREQ("a70000b", buf);
-
-  snprintf(buf, sizeof(buf), "a%pb", reinterpret_cast<void*>(0xb0001234));
-  EXPECT_STREQ("a0xb0001234b", buf);
-
-  snprintf(buf, sizeof(buf), "a%xz", 0x12ab);
-  EXPECT_STREQ("a12abz", buf);
-
-  snprintf(buf, sizeof(buf), "a%Xz", 0x12ab);
-  EXPECT_STREQ("a12ABz", buf);
-
-  snprintf(buf, sizeof(buf), "a%08xz", 0x123456);
-  EXPECT_STREQ("a00123456z", buf);
-
-  snprintf(buf, sizeof(buf), "a%5dz", 1234);
-  EXPECT_STREQ("a 1234z", buf);
-
-  snprintf(buf, sizeof(buf), "a%05dz", 1234);
-  EXPECT_STREQ("a01234z", buf);
-
-  snprintf(buf, sizeof(buf), "a%8dz", 1234);
-  EXPECT_STREQ("a    1234z", buf);
-
-  snprintf(buf, sizeof(buf), "a%-8dz", 1234);
-  EXPECT_STREQ("a1234    z", buf);
-
-  snprintf(buf, sizeof(buf), "A%-11sZ", "abcdef");
-  EXPECT_STREQ("Aabcdef     Z", buf);
-
-  snprintf(buf, sizeof(buf), "A%s:%dZ", "hello", 1234);
-  EXPECT_STREQ("Ahello:1234Z", buf);
-
-  snprintf(buf, sizeof(buf), "a%03d:%d:%02dz", 5, 5, 5);
-  EXPECT_STREQ("a005:5:05z", buf);
-
-  void* p = nullptr;
-  snprintf(buf, sizeof(buf), "a%d,%pz", 5, p);
 #if defined(__BIONIC__)
-  EXPECT_STREQ("a5,0x0z", buf);
+  EXPECT_SNPRINTF("a5,0x0z", "a%d,%pz", 5, static_cast<void*>(nullptr));
 #else // __BIONIC__
-  EXPECT_STREQ("a5,(nil)z", buf);
+  EXPECT_SNPRINTF("a5,(nil)z", "a%d,%pz", 5, static_cast<void*>(nullptr));
 #endif // __BIONIC__
 
-  snprintf(buf, sizeof(buf), "a%lld,%d,%d,%dz", 0x1000000000LL, 6, 7, 8);
-  EXPECT_STREQ("a68719476736,6,7,8z", buf);
+  EXPECT_SNPRINTF("a68719476736,6,7,8z", "a%lld,%d,%d,%dz", 0x1000000000LL, 6, 7, 8);
 
-  snprintf(buf, sizeof(buf), "a_%f_b", 1.23f);
-  EXPECT_STREQ("a_1.230000_b", buf);
+  EXPECT_SNPRINTF("a_1.230000_b", "a_%f_b", 1.23f);
+  EXPECT_SNPRINTF("a_3.14_b", "a_%g_b", 3.14);
+  EXPECT_SNPRINTF("print_me_twice print_me_twice", "%1$s %1$s", "print_me_twice");
+}
 
-  snprintf(buf, sizeof(buf), "a_%g_b", 3.14);
-  EXPECT_STREQ("a_3.14_b", buf);
+TEST(STDIO_TEST, swprintf_smoke) {
+  EXPECT_SWPRINTF(L"a", L"a");
+  EXPECT_SWPRINTF(L"%", L"%%");
+  EXPECT_SWPRINTF(L"01234", L"01234");
+  EXPECT_SWPRINTF(L"a01234b", L"a%sb", "01234");
 
-  snprintf(buf, sizeof(buf), "%1$s %1$s", "print_me_twice");
-  EXPECT_STREQ("print_me_twice print_me_twice", buf);
+  EXPECT_SWPRINTF(L"a(null)b", L"a%sb", static_cast<char*>(nullptr));
+  EXPECT_SWPRINTF(L"aabbcc", L"aa%scc", "bb");
+  EXPECT_SWPRINTF(L"abc", L"a%cc", 'b');
+  EXPECT_SWPRINTF(L"a1234b", L"a%db", 1234);
+  EXPECT_SWPRINTF(L"a-8123b", L"a%db", -8123);
+  EXPECT_SWPRINTF(L"a16b", L"a%hdb", static_cast<short>(0x7fff0010));
+  EXPECT_SWPRINTF(L"a16b", L"a%hhdb", static_cast<char>(0x7fffff10));
+  EXPECT_SWPRINTF(L"a68719476736b", L"a%lldb", 0x1000000000LL);
+  EXPECT_SWPRINTF(L"a70000b", L"a%ldb", 70000L);
+  EXPECT_SWPRINTF(L"a0xb0001234b", L"a%pb", reinterpret_cast<void*>(0xb0001234));
+  EXPECT_SWPRINTF(L"a12abz", L"a%xz", 0x12ab);
+  EXPECT_SWPRINTF(L"a12ABz", L"a%Xz", 0x12ab);
+  EXPECT_SWPRINTF(L"a00123456z", L"a%08xz", 0x123456);
+  EXPECT_SWPRINTF(L"a 1234z", L"a%5dz", 1234);
+  EXPECT_SWPRINTF(L"a01234z", L"a%05dz", 1234);
+  EXPECT_SWPRINTF(L"a    1234z", L"a%8dz", 1234);
+  EXPECT_SWPRINTF(L"a1234    z", L"a%-8dz", 1234);
+  EXPECT_SWPRINTF(L"Aabcdef     Z", L"A%-11sZ", "abcdef");
+  EXPECT_SWPRINTF(L"Ahello:1234Z", L"A%s:%dZ", "hello", 1234);
+  EXPECT_SWPRINTF(L"a005:5:05z", L"a%03d:%d:%02dz", 5, 5, 5);
+
+#if defined(__BIONIC__)
+  EXPECT_SWPRINTF(L"a5,0x0z", L"a%d,%pz", 5, static_cast<void*>(nullptr));
+#else   // __BIONIC__
+  EXPECT_SWPRINTF(L"a5,(nil)z", L"a%d,%pz", 5, static_cast<void*>(nullptr));
+#endif  // __BIONIC__
+
+  EXPECT_SWPRINTF(L"a68719476736,6,7,8z", L"a%lld,%d,%d,%dz", 0x1000000000LL, 6, 7, 8);
+
+  EXPECT_SWPRINTF(L"a_1.230000_b", L"a_%f_b", 1.23f);
+  EXPECT_SWPRINTF(L"a_3.14_b", L"a_%g_b", 3.14);
+  EXPECT_SWPRINTF(L"print_me_twice print_me_twice", L"%1$s %1$s", "print_me_twice");
 }
 
 template <typename T>
@@ -634,227 +704,164 @@
               L"[-NAN]", L"[NAN]", L"[+NAN]");
 }
 
-TEST(STDIO_TEST, swprintf) {
-  constexpr size_t nchars = 32;
-  wchar_t buf[nchars];
-
-  ASSERT_EQ(2, swprintf(buf, nchars, L"ab")) << strerror(errno);
-  ASSERT_EQ(std::wstring(L"ab"), buf);
-  ASSERT_EQ(5, swprintf(buf, nchars, L"%s", "abcde"));
-  ASSERT_EQ(std::wstring(L"abcde"), buf);
-
-  // Unlike swprintf(), swprintf() returns -1 in case of truncation
-  // and doesn't necessarily zero-terminate the output!
-  ASSERT_EQ(-1, swprintf(buf, 4, L"%s", "abcde"));
-
-  const char kString[] = "Hello, World";
-  ASSERT_EQ(12, swprintf(buf, nchars, L"%s", kString));
-  ASSERT_EQ(std::wstring(L"Hello, World"), buf);
-  ASSERT_EQ(12, swprintf(buf, 13, L"%s", kString));
-  ASSERT_EQ(std::wstring(L"Hello, World"), buf);
-}
-
-TEST(STDIO_TEST, swprintf_a) {
-  constexpr size_t nchars = 32;
-  wchar_t buf[nchars];
-
-  ASSERT_EQ(20, swprintf(buf, nchars, L"%a", 3.1415926535));
-  ASSERT_EQ(std::wstring(L"0x1.921fb54411744p+1"), buf);
-}
-
-TEST(STDIO_TEST, swprintf_lc) {
-  constexpr size_t nchars = 32;
-  wchar_t buf[nchars];
-
-  wint_t wc = L'a';
-  EXPECT_EQ(3, swprintf(buf, nchars, L"<%lc>", wc));
-  EXPECT_EQ(std::wstring(L"<a>"), buf);
-}
-
-TEST(STDIO_TEST, swprintf_C) { // Synonym for %lc.
-  constexpr size_t nchars = 32;
-  wchar_t buf[nchars];
-
-  wint_t wc = L'a';
-  EXPECT_EQ(3, swprintf(buf, nchars, L"<%C>", wc));
-  EXPECT_EQ(std::wstring(L"<a>"), buf);
+TEST(STDIO_TEST, snprintf_jd_INTMAX_MAX) {
+  EXPECT_SNPRINTF("9223372036854775807", "%jd", INTMAX_MAX);
 }
 
 TEST(STDIO_TEST, swprintf_jd_INTMAX_MAX) {
-  constexpr size_t nchars = 32;
-  wchar_t buf[nchars];
-
-  swprintf(buf, nchars, L"%jd", INTMAX_MAX);
-  EXPECT_EQ(std::wstring(L"9223372036854775807"), buf);
-}
-
-TEST(STDIO_TEST, swprintf_jd_INTMAX_MIN) {
-  constexpr size_t nchars = 32;
-  wchar_t buf[nchars];
-
-  swprintf(buf, nchars, L"%jd", INTMAX_MIN);
-  EXPECT_EQ(std::wstring(L"-9223372036854775808"), buf);
-}
-
-TEST(STDIO_TEST, swprintf_ju_UINTMAX_MAX) {
-  constexpr size_t nchars = 32;
-  wchar_t buf[nchars];
-
-  swprintf(buf, nchars, L"%ju", UINTMAX_MAX);
-  EXPECT_EQ(std::wstring(L"18446744073709551615"), buf);
-}
-
-TEST(STDIO_TEST, swprintf_1$ju_UINTMAX_MAX) {
-  constexpr size_t nchars = 32;
-  wchar_t buf[nchars];
-
-  swprintf(buf, nchars, L"%1$ju", UINTMAX_MAX);
-  EXPECT_EQ(std::wstring(L"18446744073709551615"), buf);
-}
-
-TEST(STDIO_TEST, swprintf_ls) {
-  constexpr size_t nchars = 32;
-  wchar_t buf[nchars];
-
-  static const wchar_t kWideString[] = L"Hello\uff41 World";
-  ASSERT_EQ(12, swprintf(buf, nchars, L"%ls", kWideString));
-  ASSERT_EQ(std::wstring(kWideString), buf);
-  ASSERT_EQ(12, swprintf(buf, 13, L"%ls", kWideString));
-  ASSERT_EQ(std::wstring(kWideString), buf);
-}
-
-TEST(STDIO_TEST, swprintf_S) { // Synonym for %ls.
-  constexpr size_t nchars = 32;
-  wchar_t buf[nchars];
-
-  static const wchar_t kWideString[] = L"Hello\uff41 World";
-  ASSERT_EQ(12, swprintf(buf, nchars, L"%S", kWideString));
-  ASSERT_EQ(std::wstring(kWideString), buf);
-  ASSERT_EQ(12, swprintf(buf, 13, L"%S", kWideString));
-  ASSERT_EQ(std::wstring(kWideString), buf);
-}
-
-TEST(STDIO_TEST, snprintf_d_INT_MAX) {
-  char buf[BUFSIZ];
-  snprintf(buf, sizeof(buf), "%d", INT_MAX);
-  EXPECT_STREQ("2147483647", buf);
-}
-
-TEST(STDIO_TEST, snprintf_d_INT_MIN) {
-  char buf[BUFSIZ];
-  snprintf(buf, sizeof(buf), "%d", INT_MIN);
-  EXPECT_STREQ("-2147483648", buf);
-}
-
-TEST(STDIO_TEST, snprintf_jd_INTMAX_MAX) {
-  char buf[BUFSIZ];
-  snprintf(buf, sizeof(buf), "%jd", INTMAX_MAX);
-  EXPECT_STREQ("9223372036854775807", buf);
+  EXPECT_SWPRINTF(L"9223372036854775807", L"%jd", INTMAX_MAX);
 }
 
 TEST(STDIO_TEST, snprintf_jd_INTMAX_MIN) {
-  char buf[BUFSIZ];
-  snprintf(buf, sizeof(buf), "%jd", INTMAX_MIN);
-  EXPECT_STREQ("-9223372036854775808", buf);
+  EXPECT_SNPRINTF("-9223372036854775808", "%jd", INTMAX_MIN);
+}
+
+TEST(STDIO_TEST, swprintf_jd_INTMAX_MIN) {
+  EXPECT_SWPRINTF(L"-9223372036854775808", L"%jd", INTMAX_MIN);
 }
 
 TEST(STDIO_TEST, snprintf_ju_UINTMAX_MAX) {
-  char buf[BUFSIZ];
-  snprintf(buf, sizeof(buf), "%ju", UINTMAX_MAX);
-  EXPECT_STREQ("18446744073709551615", buf);
+  EXPECT_SNPRINTF("18446744073709551615", "%ju", UINTMAX_MAX);
+}
+
+TEST(STDIO_TEST, swprintf_ju_UINTMAX_MAX) {
+  EXPECT_SWPRINTF(L"18446744073709551615", L"%ju", UINTMAX_MAX);
 }
 
 TEST(STDIO_TEST, snprintf_1$ju_UINTMAX_MAX) {
-  char buf[BUFSIZ];
-  snprintf(buf, sizeof(buf), "%1$ju", UINTMAX_MAX);
-  EXPECT_STREQ("18446744073709551615", buf);
+  EXPECT_SNPRINTF("18446744073709551615", "%1$ju", UINTMAX_MAX);
+}
+
+TEST(STDIO_TEST, swprintf_1$ju_UINTMAX_MAX) {
+  EXPECT_SWPRINTF(L"18446744073709551615", L"%1$ju", UINTMAX_MAX);
+}
+
+TEST(STDIO_TEST, snprintf_d_INT_MAX) {
+  EXPECT_SNPRINTF("2147483647", "%d", INT_MAX);
+}
+
+TEST(STDIO_TEST, swprintf_d_INT_MAX) {
+  EXPECT_SWPRINTF(L"2147483647", L"%d", INT_MAX);
+}
+
+TEST(STDIO_TEST, snprintf_d_INT_MIN) {
+  EXPECT_SNPRINTF("-2147483648", "%d", INT_MIN);
+}
+
+TEST(STDIO_TEST, swprintf_d_INT_MIN) {
+  EXPECT_SWPRINTF(L"-2147483648", L"%d", INT_MIN);
 }
 
 TEST(STDIO_TEST, snprintf_ld_LONG_MAX) {
-  char buf[BUFSIZ];
-  snprintf(buf, sizeof(buf), "%ld", LONG_MAX);
 #if defined(__LP64__)
-  EXPECT_STREQ("9223372036854775807", buf);
+  EXPECT_SNPRINTF("9223372036854775807", "%ld", LONG_MAX);
 #else
-  EXPECT_STREQ("2147483647", buf);
+  EXPECT_SNPRINTF("2147483647", "%ld", LONG_MAX);
+#endif
+}
+
+TEST(STDIO_TEST, swprintf_ld_LONG_MAX) {
+#if defined(__LP64__)
+  EXPECT_SWPRINTF(L"9223372036854775807", L"%ld", LONG_MAX);
+#else
+  EXPECT_SWPRINTF(L"2147483647", L"%ld", LONG_MAX);
 #endif
 }
 
 TEST(STDIO_TEST, snprintf_ld_LONG_MIN) {
-  char buf[BUFSIZ];
-  snprintf(buf, sizeof(buf), "%ld", LONG_MIN);
 #if defined(__LP64__)
-  EXPECT_STREQ("-9223372036854775808", buf);
+  EXPECT_SNPRINTF("-9223372036854775808", "%ld", LONG_MIN);
 #else
-  EXPECT_STREQ("-2147483648", buf);
+  EXPECT_SNPRINTF("-2147483648", "%ld", LONG_MIN);
+#endif
+}
+
+TEST(STDIO_TEST, swprintf_ld_LONG_MIN) {
+#if defined(__LP64__)
+  EXPECT_SWPRINTF(L"-9223372036854775808", L"%ld", LONG_MIN);
+#else
+  EXPECT_SWPRINTF(L"-2147483648", L"%ld", LONG_MIN);
 #endif
 }
 
 TEST(STDIO_TEST, snprintf_lld_LLONG_MAX) {
-  char buf[BUFSIZ];
-  snprintf(buf, sizeof(buf), "%lld", LLONG_MAX);
-  EXPECT_STREQ("9223372036854775807", buf);
+  EXPECT_SNPRINTF("9223372036854775807", "%lld", LLONG_MAX);
+}
+
+TEST(STDIO_TEST, swprintf_lld_LLONG_MAX) {
+  EXPECT_SWPRINTF(L"9223372036854775807", L"%lld", LLONG_MAX);
 }
 
 TEST(STDIO_TEST, snprintf_lld_LLONG_MIN) {
-  char buf[BUFSIZ];
-  snprintf(buf, sizeof(buf), "%lld", LLONG_MIN);
-  EXPECT_STREQ("-9223372036854775808", buf);
+  EXPECT_SNPRINTF("-9223372036854775808", "%lld", LLONG_MIN);
+}
+
+TEST(STDIO_TEST, swprintf_lld_LLONG_MIN) {
+  EXPECT_SWPRINTF(L"-9223372036854775808", L"%lld", LLONG_MIN);
 }
 
 TEST(STDIO_TEST, snprintf_o_UINT_MAX) {
-  char buf[BUFSIZ];
-  snprintf(buf, sizeof(buf), "%o", UINT_MAX);
-  EXPECT_STREQ("37777777777", buf);
+  EXPECT_SNPRINTF("37777777777", "%o", UINT_MAX);
+}
+
+TEST(STDIO_TEST, swprintf_o_UINT_MAX) {
+  EXPECT_SWPRINTF(L"37777777777", L"%o", UINT_MAX);
 }
 
 TEST(STDIO_TEST, snprintf_u_UINT_MAX) {
-  char buf[BUFSIZ];
-  snprintf(buf, sizeof(buf), "%u", UINT_MAX);
-  EXPECT_STREQ("4294967295", buf);
+  EXPECT_SNPRINTF("4294967295", "%u", UINT_MAX);
+}
+
+TEST(STDIO_TEST, swprintf_u_UINT_MAX) {
+  EXPECT_SWPRINTF(L"4294967295", L"%u", UINT_MAX);
 }
 
 TEST(STDIO_TEST, snprintf_x_UINT_MAX) {
-  char buf[BUFSIZ];
-  snprintf(buf, sizeof(buf), "%x", UINT_MAX);
-  EXPECT_STREQ("ffffffff", buf);
+  EXPECT_SNPRINTF("ffffffff", "%x", UINT_MAX);
+}
+
+TEST(STDIO_TEST, swprintf_x_UINT_MAX) {
+  EXPECT_SWPRINTF(L"ffffffff", L"%x", UINT_MAX);
 }
 
 TEST(STDIO_TEST, snprintf_X_UINT_MAX) {
-  char buf[BUFSIZ];
-  snprintf(buf, sizeof(buf), "%X", UINT_MAX);
-  EXPECT_STREQ("FFFFFFFF", buf);
+  EXPECT_SNPRINTF("FFFFFFFF", "%X", UINT_MAX);
+}
+
+TEST(STDIO_TEST, swprintf_X_UINT_MAX) {
+  EXPECT_SWPRINTF(L"FFFFFFFF", L"%X", UINT_MAX);
 }
 
 TEST(STDIO_TEST, snprintf_e) {
-  char buf[BUFSIZ];
+  EXPECT_SNPRINTF("1.500000e+00", "%e", 1.5);
+  EXPECT_SNPRINTF("1.500000e+00", "%Le", 1.5L);
+}
 
-  snprintf(buf, sizeof(buf), "%e", 1.5);
-  EXPECT_STREQ("1.500000e+00", buf);
-
-  snprintf(buf, sizeof(buf), "%Le", 1.5L);
-  EXPECT_STREQ("1.500000e+00", buf);
+TEST(STDIO_TEST, swprintf_e) {
+  EXPECT_SWPRINTF(L"1.500000e+00", L"%e", 1.5);
+  EXPECT_SWPRINTF(L"1.500000e+00", L"%Le", 1.5L);
 }
 
 TEST(STDIO_TEST, snprintf_negative_zero_5084292) {
-  char buf[BUFSIZ];
+  EXPECT_SNPRINTF("-0.000000e+00", "%e", -0.0);
+  EXPECT_SNPRINTF("-0.000000E+00", "%E", -0.0);
+  EXPECT_SNPRINTF("-0.000000", "%f", -0.0);
+  EXPECT_SNPRINTF("-0.000000", "%F", -0.0);
+  EXPECT_SNPRINTF("-0", "%g", -0.0);
+  EXPECT_SNPRINTF("-0", "%G", -0.0);
+  EXPECT_SNPRINTF("-0x0p+0", "%a", -0.0);
+  EXPECT_SNPRINTF("-0X0P+0", "%A", -0.0);
+}
 
-  snprintf(buf, sizeof(buf), "%e", -0.0);
-  EXPECT_STREQ("-0.000000e+00", buf);
-  snprintf(buf, sizeof(buf), "%E", -0.0);
-  EXPECT_STREQ("-0.000000E+00", buf);
-  snprintf(buf, sizeof(buf), "%f", -0.0);
-  EXPECT_STREQ("-0.000000", buf);
-  snprintf(buf, sizeof(buf), "%F", -0.0);
-  EXPECT_STREQ("-0.000000", buf);
-  snprintf(buf, sizeof(buf), "%g", -0.0);
-  EXPECT_STREQ("-0", buf);
-  snprintf(buf, sizeof(buf), "%G", -0.0);
-  EXPECT_STREQ("-0", buf);
-  snprintf(buf, sizeof(buf), "%a", -0.0);
-  EXPECT_STREQ("-0x0p+0", buf);
-  snprintf(buf, sizeof(buf), "%A", -0.0);
-  EXPECT_STREQ("-0X0P+0", buf);
+TEST(STDIO_TEST, swprintf_negative_zero_5084292) {
+  EXPECT_SWPRINTF(L"-0.000000e+00", L"%e", -0.0);
+  EXPECT_SWPRINTF(L"-0.000000E+00", L"%E", -0.0);
+  EXPECT_SWPRINTF(L"-0.000000", L"%f", -0.0);
+  EXPECT_SWPRINTF(L"-0.000000", L"%F", -0.0);
+  EXPECT_SWPRINTF(L"-0", L"%g", -0.0);
+  EXPECT_SWPRINTF(L"-0", L"%G", -0.0);
+  EXPECT_SWPRINTF(L"-0x0p+0", L"%a", -0.0);
+  EXPECT_SWPRINTF(L"-0X0P+0", L"%A", -0.0);
 }
 
 TEST(STDIO_TEST, snprintf_utf8_15439554) {
@@ -912,21 +919,39 @@
   ASSERT_EQ(12, snprintf(buf, sizeof(buf), "%.2147483646s%c", "hello world", '!'));
   ASSERT_EQ(12, snprintf(buf, sizeof(buf), "%.2147483647s%c", "hello world", '!'));
   ASSERT_EQ(-1, snprintf(buf, sizeof(buf), "%.2147483648s%c", "hello world", '!'));
-  ASSERT_EQ(ENOMEM, errno);
+  ASSERT_ERRNO(ENOMEM);
+}
+
+TEST(STDIO_TEST, swprintf_asterisk_overflow) {
+  wchar_t buf[128];
+  ASSERT_EQ(5, swprintf(buf, sizeof(buf), L"%.*s%c", 4, "hello world", '!'));
+  ASSERT_EQ(12, swprintf(buf, sizeof(buf), L"%.*s%c", INT_MAX / 2, "hello world", '!'));
+  ASSERT_EQ(12, swprintf(buf, sizeof(buf), L"%.*s%c", INT_MAX - 1, "hello world", '!'));
+  ASSERT_EQ(12, swprintf(buf, sizeof(buf), L"%.*s%c", INT_MAX, "hello world", '!'));
+  ASSERT_EQ(12, swprintf(buf, sizeof(buf), L"%.*s%c", -1, "hello world", '!'));
+
+  // INT_MAX-1, INT_MAX, INT_MAX+1.
+  ASSERT_EQ(12, swprintf(buf, sizeof(buf), L"%.2147483646s%c", "hello world", '!'));
+  ASSERT_EQ(12, swprintf(buf, sizeof(buf), L"%.2147483647s%c", "hello world", '!'));
+  ASSERT_EQ(-1, swprintf(buf, sizeof(buf), L"%.2147483648s%c", "hello world", '!'));
+  ASSERT_ERRNO(ENOMEM);
 }
 
 // Inspired by https://github.com/landley/toybox/issues/163.
 TEST(STDIO_TEST, printf_NULL) {
-  char buf[128];
   char* null = nullptr;
-  EXPECT_EQ(4, snprintf(buf, sizeof(buf), "<%*.*s>", 2, 2, null));
-  EXPECT_STREQ("<(n>", buf);
-  EXPECT_EQ(8, snprintf(buf, sizeof(buf), "<%*.*s>", 2, 8, null));
-  EXPECT_STREQ("<(null)>", buf);
-  EXPECT_EQ(10, snprintf(buf, sizeof(buf), "<%*.*s>", 8, 2, null));
-  EXPECT_STREQ("<      (n>", buf);
-  EXPECT_EQ(10, snprintf(buf, sizeof(buf), "<%*.*s>", 8, 8, null));
-  EXPECT_STREQ("<  (null)>", buf);
+  EXPECT_SNPRINTF("<(n>", "<%*.*s>", 2, 2, null);
+  EXPECT_SNPRINTF("<(null)>", "<%*.*s>", 2, 8, null);
+  EXPECT_SNPRINTF("<      (n>", "<%*.*s>", 8, 2, null);
+  EXPECT_SNPRINTF("<  (null)>", "<%*.*s>", 8, 8, null);
+}
+
+TEST(STDIO_TEST, wprintf_NULL) {
+  char* null = nullptr;
+  EXPECT_SWPRINTF(L"<(n>", L"<%*.*s>", 2, 2, null);
+  EXPECT_SWPRINTF(L"<(null)>", L"<%*.*s>", 2, 8, null);
+  EXPECT_SWPRINTF(L"<      (n>", L"<%*.*s>", 8, 2, null);
+  EXPECT_SWPRINTF(L"<  (null)>", L"<%*.*s>", 8, 8, null);
 }
 
 TEST(STDIO_TEST, fprintf) {
@@ -1027,11 +1052,13 @@
 }
 
 TEST(STDIO_TEST, popen_return_value_signal) {
-  FILE* fp = popen("kill -7 $$", "r");
+  // Use a realtime signal to avoid creating a tombstone when running.
+  std::string cmd = android::base::StringPrintf("kill -%d $$", SIGRTMIN);
+  FILE* fp = popen(cmd.c_str(), "r");
   ASSERT_TRUE(fp != nullptr);
   int status = pclose(fp);
   EXPECT_TRUE(WIFSIGNALED(status));
-  EXPECT_EQ(7, WTERMSIG(status));
+  EXPECT_EQ(SIGRTMIN, WTERMSIG(status));
 }
 
 TEST(STDIO_TEST, getc) {
@@ -1378,30 +1405,30 @@
 
   errno = 0;
   EXPECT_EQ(EOF, putc('x', fp));
-  EXPECT_EQ(EBADF, errno);
+  EXPECT_ERRNO(EBADF);
 
   errno = 0;
   EXPECT_EQ(EOF, fprintf(fp, "hello"));
-  EXPECT_EQ(EBADF, errno);
+  EXPECT_ERRNO(EBADF);
 
   errno = 0;
   EXPECT_EQ(EOF, fwprintf(fp, L"hello"));
 #if defined(__BIONIC__)
-  EXPECT_EQ(EBADF, errno);
+  EXPECT_ERRNO(EBADF);
 #endif
 
   errno = 0;
   EXPECT_EQ(0U, fwrite("hello", 1, 2, fp));
-  EXPECT_EQ(EBADF, errno);
+  EXPECT_ERRNO(EBADF);
 
   errno = 0;
   EXPECT_EQ(EOF, fputs("hello", fp));
-  EXPECT_EQ(EBADF, errno);
+  EXPECT_ERRNO(EBADF);
 
   errno = 0;
   EXPECT_EQ(WEOF, fputwc(L'x', fp));
 #if defined(__BIONIC__)
-  EXPECT_EQ(EBADF, errno);
+  EXPECT_ERRNO(EBADF);
 #endif
 }
 
@@ -1516,7 +1543,7 @@
 
   // Reading from within a byte should produce an error.
   ASSERT_EQ(WEOF, fgetwc(fp));
-  ASSERT_EQ(EILSEQ, errno);
+  ASSERT_ERRNO(EILSEQ);
 
   // Reverting to a valid position should work.
   ASSERT_EQ(0, fsetpos(fp, &mb_two_bytes_pos));
@@ -1526,7 +1553,7 @@
   // produce an error.
   ASSERT_EQ(0, fsetpos(fp, &pos_inside_mb));
   ASSERT_EQ(WEOF, fgetwc(fp));
-  ASSERT_EQ(EILSEQ, errno);
+  ASSERT_ERRNO(EILSEQ);
 
   ASSERT_EQ(0, fclose(fp));
 }
@@ -1927,7 +1954,7 @@
   ASSERT_TRUE(fp != nullptr);
   errno = 0;
   ASSERT_EQ(-1, fileno(fp));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
   ASSERT_EQ(0, fclose(fp));
 }
 
@@ -1975,12 +2002,12 @@
   // Invalid buffer.
   errno = 0;
   ASSERT_EQ(nullptr, open_memstream(nullptr, &size));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   // Invalid size.
   errno = 0;
   ASSERT_EQ(nullptr, open_memstream(&p, nullptr));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 #pragma clang diagnostic pop
 #else
   GTEST_SKIP() << "glibc is broken";
@@ -2115,7 +2142,7 @@
   std::vector<char> buf(n, 0);
   errno = 0;
   ASSERT_EQ(0U, fread(&buf[0], n, 1, fp));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
   ASSERT_TRUE(ferror(fp));
   ASSERT_FALSE(feof(fp));
   fclose(fp);
@@ -2129,6 +2156,27 @@
   test_fread_from_write_only_stream(64*1024);
 }
 
+TEST(STDIO_TEST, fwrite_to_read_only_stream) {
+  FILE* fp = fopen("/proc/version", "re");
+  ASSERT_FALSE(ferror(fp));
+  ASSERT_EQ(0U, fwrite("hello", 1, 5, fp));
+  ASSERT_TRUE(ferror(fp));
+}
+
+TEST(STDIO_TEST, fputc_to_read_only_stream) {
+  FILE* fp = fopen("/proc/version", "re");
+  ASSERT_FALSE(ferror(fp));
+  ASSERT_EQ(EOF, fputc('x', fp));
+  ASSERT_TRUE(ferror(fp));
+}
+
+TEST(STDIO_TEST, fprintf_to_read_only_stream) {
+  FILE* fp = fopen("/proc/version", "re");
+  ASSERT_FALSE(ferror(fp));
+  ASSERT_EQ(-1, fprintf(fp, "%s%d", "hello", 123));
+  ASSERT_TRUE(ferror(fp));
+}
+
 static void test_fwrite_after_fread(size_t n) {
   TemporaryFile tf;
 
@@ -2247,7 +2295,7 @@
   // especially because they might actually correspond to a real stream.
   errno = 0;
   ASSERT_EQ(-1, fileno(stdin));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 }
 
 TEST(STDIO_TEST, fseek_ftell_unseekable) {
@@ -2259,17 +2307,17 @@
   // Check that ftell balks on an unseekable FILE*.
   errno = 0;
   ASSERT_EQ(-1, ftell(fp));
-  ASSERT_EQ(ESPIPE, errno);
+  ASSERT_ERRNO(ESPIPE);
 
   // SEEK_CUR is rewritten as SEEK_SET internally...
   errno = 0;
   ASSERT_EQ(-1, fseek(fp, 0, SEEK_CUR));
-  ASSERT_EQ(ESPIPE, errno);
+  ASSERT_ERRNO(ESPIPE);
 
   // ...so it's worth testing the direct seek path too.
   errno = 0;
   ASSERT_EQ(-1, fseek(fp, 0, SEEK_SET));
-  ASSERT_EQ(ESPIPE, errno);
+  ASSERT_ERRNO(ESPIPE);
 
   fclose(fp);
 #else
@@ -2281,7 +2329,7 @@
 #if defined(__BIONIC__)
   errno = 0;
   ASSERT_EQ(nullptr, funopen(nullptr, nullptr, nullptr, nullptr, nullptr));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 #else
   GTEST_SKIP() << "glibc uses fopencookie instead";
 #endif
@@ -2302,7 +2350,7 @@
   EXPECT_EQ(0xfedcba12LL, pos);
 #else
   EXPECT_EQ(-1, fgetpos(fp, &pos)) << strerror(errno);
-  EXPECT_EQ(EOVERFLOW, errno);
+  EXPECT_ERRNO(EOVERFLOW);
 #endif
 
   FILE* fp64 = funopen64(nullptr, read_fn, nullptr, seek64_fn, nullptr);
@@ -2404,24 +2452,24 @@
   // Bad whence.
   errno = 0;
   ASSERT_EQ(-1, fseek(fp, 0, 123));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   ASSERT_EQ(-1, fseeko(fp, 0, 123));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   ASSERT_EQ(-1, fseeko64(fp, 0, 123));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   // Bad offset.
   errno = 0;
   ASSERT_EQ(-1, fseek(fp, -1, SEEK_SET));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   ASSERT_EQ(-1, fseeko(fp, -1, SEEK_SET));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   ASSERT_EQ(-1, fseeko64(fp, -1, SEEK_SET));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   fclose(fp);
 }
@@ -2440,20 +2488,20 @@
   TemporaryFile tf;
   ASSERT_EQ(0, remove(tf.path));
   ASSERT_EQ(-1, lstat(tf.path, &sb));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 
   TemporaryDir td;
   ASSERT_EQ(0, remove(td.path));
   ASSERT_EQ(-1, lstat(td.path, &sb));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 
   errno = 0;
   ASSERT_EQ(-1, remove(tf.path));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 
   errno = 0;
   ASSERT_EQ(-1, remove(td.path));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 }
 
 TEST_F(STDIO_DEATHTEST, snprintf_30445072_known_buffer_size) {
@@ -2469,7 +2517,7 @@
 }
 
 TEST_F(STDIO_DEATHTEST, snprintf_30445072_unknown_buffer_size) {
-  std::string buf = "world";
+  std::string buf = "hello";  // So the compiler doesn't know the buffer size.
   ASSERT_EXIT(snprintf(&buf[0], atol("-1"), "hello"),
               testing::KilledBySignal(SIGABRT),
               "FORTIFY: vsnprintf: size .* > SSIZE_MAX");
@@ -2482,48 +2530,54 @@
 }
 
 TEST(STDIO_TEST, printf_m) {
-  char buf[BUFSIZ];
   errno = 0;
-  snprintf(buf, sizeof(buf), "<%m>");
-  ASSERT_STREQ("<Success>", buf);
+  EXPECT_SNPRINTF("<Success>", "<%m>");
   errno = -1;
-  snprintf(buf, sizeof(buf), "<%m>");
-  ASSERT_STREQ("<Unknown error -1>", buf);
+  EXPECT_SNPRINTF("<Unknown error -1>", "<%m>");
   errno = EINVAL;
-  snprintf(buf, sizeof(buf), "<%m>");
-  ASSERT_STREQ("<Invalid argument>", buf);
-}
-
-TEST(STDIO_TEST, printf_m_does_not_clobber_strerror) {
-  char buf[BUFSIZ];
-  const char* m = strerror(-1);
-  ASSERT_STREQ("Unknown error -1", m);
-  errno = -2;
-  snprintf(buf, sizeof(buf), "<%m>");
-  ASSERT_STREQ("<Unknown error -2>", buf);
-  ASSERT_STREQ("Unknown error -1", m);
+  EXPECT_SNPRINTF("<Invalid argument>", "<%m>");
 }
 
 TEST(STDIO_TEST, wprintf_m) {
-  wchar_t buf[BUFSIZ];
   errno = 0;
-  swprintf(buf, sizeof(buf), L"<%m>");
-  ASSERT_EQ(std::wstring(L"<Success>"), buf);
+  EXPECT_SWPRINTF(L"<Success>", L"<%m>");
   errno = -1;
-  swprintf(buf, sizeof(buf), L"<%m>");
-  ASSERT_EQ(std::wstring(L"<Unknown error -1>"), buf);
+  EXPECT_SWPRINTF(L"<Unknown error -1>", L"<%m>");
   errno = EINVAL;
-  swprintf(buf, sizeof(buf), L"<%m>");
-  ASSERT_EQ(std::wstring(L"<Invalid argument>"), buf);
+  EXPECT_SWPRINTF(L"<Invalid argument>", L"<%m>");
 }
 
-TEST(STDIO_TEST, wprintf_m_does_not_clobber_strerror) {
-  wchar_t buf[BUFSIZ];
+TEST(STDIO_TEST, printf_hash_m) {
+  errno = 0;
+  EXPECT_SNPRINTF("<0>", "<%#m>");
+  errno = -1;
+  EXPECT_SNPRINTF("<-1>", "<%#m>");
+  errno = EINVAL;
+  EXPECT_SNPRINTF("<EINVAL>", "<%#m>");
+}
+
+TEST(STDIO_TEST, wprintf_hash_m) {
+  errno = 0;
+  EXPECT_SWPRINTF(L"<0>", L"<%#m>");
+  errno = -1;
+  EXPECT_SWPRINTF(L"<-1>", L"<%#m>");
+  errno = EINVAL;
+  EXPECT_SWPRINTF(L"<EINVAL>", L"<%#m>");
+}
+
+TEST(STDIO_TEST, printf_m_does_not_clobber_strerror) {
   const char* m = strerror(-1);
   ASSERT_STREQ("Unknown error -1", m);
   errno = -2;
-  swprintf(buf, sizeof(buf), L"<%m>");
-  ASSERT_EQ(std::wstring(L"<Unknown error -2>"), buf);
+  EXPECT_SNPRINTF("<Unknown error -2>", "<%m>");
+  ASSERT_STREQ("Unknown error -1", m);
+}
+
+TEST(STDIO_TEST, wprintf_m_does_not_clobber_strerror) {
+  const char* m = strerror(-1);
+  ASSERT_STREQ("Unknown error -1", m);
+  errno = -2;
+  EXPECT_SWPRINTF(L"<Unknown error -2>", L"<%m>");
   ASSERT_STREQ("Unknown error -1", m);
 }
 
@@ -2676,7 +2730,7 @@
 #if defined(__BIONIC__) && !defined(__LP64__)
   ASSERT_EQ(0, fseek(fp, 0x7fff'ffff, SEEK_SET));
   ASSERT_EQ(-1, fseek(fp, 1, SEEK_CUR));
-  ASSERT_EQ(EOVERFLOW, errno);
+  ASSERT_ERRNO(EOVERFLOW);
 #endif
 
   // Neither Bionic nor glibc implement the overflow checking for SEEK_END.
@@ -2795,7 +2849,7 @@
 
   // Rename and check it moved.
   ASSERT_EQ(-1, renameat2(dirfd, "old", dirfd, "new", RENAME_NOREPLACE));
-  ASSERT_EQ(EEXIST, errno);
+  ASSERT_ERRNO(EEXIST);
 #endif
 }
 
@@ -2818,25 +2872,25 @@
   errno = 0;
   fp = fdopen(fd, "nonsense");
   ASSERT_TRUE(fp == nullptr);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   // Mode that isn't a subset of the fd's actual mode.
   errno = 0;
   fp = fdopen(fd, "w");
   ASSERT_TRUE(fp == nullptr);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   // Can't set append on the underlying fd.
   errno = 0;
   fp = fdopen(fd, "a");
   ASSERT_TRUE(fp == nullptr);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   // Bad fd.
   errno = 0;
   fp = fdopen(-1, "re");
   ASSERT_TRUE(fp == nullptr);
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 
   close(fd);
 }
@@ -2845,14 +2899,14 @@
   errno = 0;
   FILE* fp = fmemopen(nullptr, 16, "nonsense");
   ASSERT_TRUE(fp == nullptr);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(STDIO_TEST, fopen_invalid_mode) {
   errno = 0;
   FILE* fp = fopen("/proc/version", "nonsense");
   ASSERT_TRUE(fp == nullptr);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(STDIO_TEST, freopen_invalid_mode) {
@@ -2862,7 +2916,7 @@
   errno = 0;
   fp = freopen("/proc/version", "nonsense", fp);
   ASSERT_TRUE(fp == nullptr);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(STDIO_TEST, asprintf_smoke) {
@@ -2876,7 +2930,7 @@
   errno = 0;
   FILE* fp = fopen("/proc/does-not-exist", "re");
   ASSERT_TRUE(fp == nullptr);
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 }
 
 static void tempnam_test(bool has_TMPDIR, const char* dir, const char* prefix, const char* re) {
@@ -3000,156 +3054,86 @@
 #endif
 }
 
-TEST(STDIO_TEST, snprintf_b) {
+TEST(STDIO_TEST, snprintf_b_B) {
 #if defined(__BIONIC__)
-  char buf[BUFSIZ];
-
   uint8_t b = 5;
-  EXPECT_EQ(5, snprintf(buf, sizeof(buf), "<%" PRIb8 ">", b));
-  EXPECT_STREQ("<101>", buf);
-  EXPECT_EQ(10, snprintf(buf, sizeof(buf), "<%08" PRIb8 ">", b));
-  EXPECT_STREQ("<00000101>", buf);
+  EXPECT_SNPRINTF("<101>", "<%" PRIb8 ">", b);
+  EXPECT_SNPRINTF("<101>", "<%" PRIB8 ">", b);
+  EXPECT_SNPRINTF("<00000101>", "<%08" PRIb8 ">", b);
+  EXPECT_SNPRINTF("<00000101>", "<%08" PRIB8 ">", b);
 
   uint16_t s = 0xaaaa;
-  EXPECT_EQ(18, snprintf(buf, sizeof(buf), "<%" PRIb16 ">", s));
-  EXPECT_STREQ("<1010101010101010>", buf);
-  EXPECT_EQ(20, snprintf(buf, sizeof(buf), "<%#" PRIb16 ">", s));
-  EXPECT_STREQ("<0b1010101010101010>", buf);
+  EXPECT_SNPRINTF("<1010101010101010>", "<%" PRIb16 ">", s);
+  EXPECT_SNPRINTF("<1010101010101010>", "<%" PRIB16 ">", s);
+  EXPECT_SNPRINTF("<0b1010101010101010>", "<%#" PRIb16 ">", s);
+  EXPECT_SNPRINTF("<0B1010101010101010>", "<%#" PRIB16 ">", s);
 
-  EXPECT_EQ(34, snprintf(buf, sizeof(buf), "<%" PRIb32 ">", 0xaaaaaaaa));
-  EXPECT_STREQ("<10101010101010101010101010101010>", buf);
-  EXPECT_EQ(36, snprintf(buf, sizeof(buf), "<%#" PRIb32 ">", 0xaaaaaaaa));
-  EXPECT_STREQ("<0b10101010101010101010101010101010>", buf);
+  EXPECT_SNPRINTF("<10101010101010101010101010101010>", "<%" PRIb32 ">", 0xaaaaaaaa);
+  EXPECT_SNPRINTF("<10101010101010101010101010101010>", "<%" PRIB32 ">", 0xaaaaaaaa);
+  EXPECT_SNPRINTF("<0b10101010101010101010101010101010>", "<%#" PRIb32 ">", 0xaaaaaaaa);
+  EXPECT_SNPRINTF("<0B10101010101010101010101010101010>", "<%#" PRIB32 ">", 0xaaaaaaaa);
 
   // clang doesn't like "%lb" (https://github.com/llvm/llvm-project/issues/62247)
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wformat"
-  EXPECT_EQ(66, snprintf(buf, sizeof(buf), "<%" PRIb64 ">", 0xaaaaaaaa'aaaaaaaa));
-  EXPECT_STREQ("<1010101010101010101010101010101010101010101010101010101010101010>", buf);
-  EXPECT_EQ(68, snprintf(buf, sizeof(buf), "<%#" PRIb64 ">", 0xaaaaaaaa'aaaaaaaa));
-  EXPECT_STREQ("<0b1010101010101010101010101010101010101010101010101010101010101010>", buf);
+  EXPECT_SNPRINTF("<1010101010101010101010101010101010101010101010101010101010101010>",
+                  "<%" PRIb64 ">", 0xaaaaaaaa'aaaaaaaa);
+  EXPECT_SNPRINTF("<1010101010101010101010101010101010101010101010101010101010101010>",
+                  "<%" PRIB64 ">", 0xaaaaaaaa'aaaaaaaa);
+  EXPECT_SNPRINTF("<0b1010101010101010101010101010101010101010101010101010101010101010>",
+                  "<%#" PRIb64 ">", 0xaaaaaaaa'aaaaaaaa);
+  EXPECT_SNPRINTF("<0B1010101010101010101010101010101010101010101010101010101010101010>",
+                  "<%#" PRIB64 ">", 0xaaaaaaaa'aaaaaaaa);
 #pragma clang diagnostic pop
 
-  EXPECT_EQ(3, snprintf(buf, sizeof(buf), "<%#b>", 0));
-  EXPECT_STREQ("<0>", buf);
+  EXPECT_SNPRINTF("<0>", "<%#b>", 0);
+  EXPECT_SNPRINTF("<0>", "<%#B>", 0);
 #else
   GTEST_SKIP() << "no %b in glibc";
 #endif
 }
 
-TEST(STDIO_TEST, snprintf_B) {
+TEST(STDIO_TEST, swprintf_b_B) {
 #if defined(__BIONIC__)
-  char buf[BUFSIZ];
-
   uint8_t b = 5;
-  EXPECT_EQ(5, snprintf(buf, sizeof(buf), "<%" PRIB8 ">", b));
-  EXPECT_STREQ("<101>", buf);
-  EXPECT_EQ(10, snprintf(buf, sizeof(buf), "<%08" PRIB8 ">", b));
-  EXPECT_STREQ("<00000101>", buf);
+  EXPECT_SWPRINTF(L"<101>", L"<%" PRIb8 ">", b);
+  EXPECT_SWPRINTF(L"<101>", L"<%" PRIB8 ">", b);
+  EXPECT_SWPRINTF(L"<0b101>", L"<%#" PRIb8 ">", b);
+  EXPECT_SWPRINTF(L"<0B101>", L"<%#" PRIB8 ">", b);
+  EXPECT_SWPRINTF(L"<00000101>", L"<%08" PRIb8 ">", b);
+  EXPECT_SWPRINTF(L"<00000101>", L"<%08" PRIB8 ">", b);
 
   uint16_t s = 0xaaaa;
-  EXPECT_EQ(18, snprintf(buf, sizeof(buf), "<%" PRIB16 ">", s));
-  EXPECT_STREQ("<1010101010101010>", buf);
-  EXPECT_EQ(20, snprintf(buf, sizeof(buf), "<%#" PRIB16 ">", s));
-  EXPECT_STREQ("<0B1010101010101010>", buf);
+  EXPECT_SWPRINTF(L"<1010101010101010>", L"<%" PRIb16 ">", s);
+  EXPECT_SWPRINTF(L"<1010101010101010>", L"<%" PRIB16 ">", s);
+  EXPECT_SWPRINTF(L"<0b1010101010101010>", L"<%#" PRIb16 ">", s);
+  EXPECT_SWPRINTF(L"<0B1010101010101010>", L"<%#" PRIB16 ">", s);
 
-  EXPECT_EQ(34, snprintf(buf, sizeof(buf), "<%" PRIB32 ">", 0xaaaaaaaa));
-  EXPECT_STREQ("<10101010101010101010101010101010>", buf);
-  EXPECT_EQ(36, snprintf(buf, sizeof(buf), "<%#" PRIB32 ">", 0xaaaaaaaa));
-  EXPECT_STREQ("<0B10101010101010101010101010101010>", buf);
+  EXPECT_SWPRINTF(L"<10101010101010101010101010101010>", L"<%" PRIb32 ">", 0xaaaaaaaa);
+  EXPECT_SWPRINTF(L"<10101010101010101010101010101010>", L"<%" PRIB32 ">", 0xaaaaaaaa);
+  EXPECT_SWPRINTF(L"<0b10101010101010101010101010101010>", L"<%#" PRIb32 ">", 0xaaaaaaaa);
+  EXPECT_SWPRINTF(L"<0B10101010101010101010101010101010>", L"<%#" PRIB32 ">", 0xaaaaaaaa);
 
-  // clang doesn't like "%lB" (https://github.com/llvm/llvm-project/issues/62247)
+  // clang doesn't like "%lb" (https://github.com/llvm/llvm-project/issues/62247)
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wformat"
-  EXPECT_EQ(66, snprintf(buf, sizeof(buf), "<%" PRIB64 ">", 0xaaaaaaaa'aaaaaaaa));
-  EXPECT_STREQ("<1010101010101010101010101010101010101010101010101010101010101010>", buf);
-  EXPECT_EQ(68, snprintf(buf, sizeof(buf), "<%#" PRIB64 ">", 0xaaaaaaaa'aaaaaaaa));
-  EXPECT_STREQ("<0B1010101010101010101010101010101010101010101010101010101010101010>", buf);
+  EXPECT_SWPRINTF(L"<1010101010101010101010101010101010101010101010101010101010101010>",
+                  L"<%" PRIb64 ">", 0xaaaaaaaa'aaaaaaaa);
+  EXPECT_SWPRINTF(L"<1010101010101010101010101010101010101010101010101010101010101010>",
+                  L"<%" PRIB64 ">", 0xaaaaaaaa'aaaaaaaa);
+  EXPECT_SWPRINTF(L"<0b1010101010101010101010101010101010101010101010101010101010101010>",
+                  L"<%#" PRIb64 ">", 0xaaaaaaaa'aaaaaaaa);
+  EXPECT_SWPRINTF(L"<0B1010101010101010101010101010101010101010101010101010101010101010>",
+                  L"<%#" PRIB64 ">", 0xaaaaaaaa'aaaaaaaa);
 #pragma clang diagnostic pop
 
-  EXPECT_EQ(3, snprintf(buf, sizeof(buf), "<%#b>", 0));
-  EXPECT_STREQ("<0>", buf);
-#else
-  GTEST_SKIP() << "no %B in glibc";
-#endif
-}
-
-TEST(STDIO_TEST, swprintf_b) {
-#if defined(__BIONIC__)
-  wchar_t buf[BUFSIZ];
-
-  uint8_t b = 5;
-  EXPECT_EQ(5, swprintf(buf, sizeof(buf), L"<%" PRIb8 ">", b));
-  EXPECT_EQ(std::wstring(L"<101>"), buf);
-  EXPECT_EQ(10, swprintf(buf, sizeof(buf), L"<%08" PRIb8 ">", b));
-  EXPECT_EQ(std::wstring(L"<00000101>"), buf);
-
-  uint16_t s = 0xaaaa;
-  EXPECT_EQ(18, swprintf(buf, sizeof(buf), L"<%" PRIb16 ">", s));
-  EXPECT_EQ(std::wstring(L"<1010101010101010>"), buf);
-  EXPECT_EQ(20, swprintf(buf, sizeof(buf), L"<%#" PRIb16 ">", s));
-  EXPECT_EQ(std::wstring(L"<0b1010101010101010>"), buf);
-
-  EXPECT_EQ(34, swprintf(buf, sizeof(buf), L"<%" PRIb32 ">", 0xaaaaaaaa));
-  EXPECT_EQ(std::wstring(L"<10101010101010101010101010101010>"), buf);
-  EXPECT_EQ(36, swprintf(buf, sizeof(buf), L"<%#" PRIb32 ">", 0xaaaaaaaa));
-  EXPECT_EQ(std::wstring(L"<0b10101010101010101010101010101010>"), buf);
-
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wformat"  // clang doesn't like "%lb"
-  EXPECT_EQ(66, swprintf(buf, sizeof(buf), L"<%" PRIb64 ">", 0xaaaaaaaa'aaaaaaaa));
-  EXPECT_EQ(std::wstring(L"<1010101010101010101010101010101010101010101010101010101010101010>"),
-            buf);
-  EXPECT_EQ(68, swprintf(buf, sizeof(buf), L"<%#" PRIb64 ">", 0xaaaaaaaa'aaaaaaaa));
-  EXPECT_EQ(std::wstring(L"<0b1010101010101010101010101010101010101010101010101010101010101010>"),
-            buf);
-#pragma clang diagnostic pop
-
-  EXPECT_EQ(3, swprintf(buf, sizeof(buf), L"<%#b>", 0));
-  EXPECT_EQ(std::wstring(L"<0>"), buf);
+  EXPECT_SWPRINTF(L"<0>", L"<%#b>", 0);
+  EXPECT_SWPRINTF(L"<0>", L"<%#B>", 0);
 #else
   GTEST_SKIP() << "no %b in glibc";
 #endif
 }
 
-TEST(STDIO_TEST, swprintf_B) {
-#if defined(__BIONIC__)
-  wchar_t buf[BUFSIZ];
-
-  uint8_t b = 5;
-  EXPECT_EQ(5, swprintf(buf, sizeof(buf), L"<%" PRIB8 ">", b));
-  EXPECT_EQ(std::wstring(L"<101>"), buf);
-  EXPECT_EQ(10, swprintf(buf, sizeof(buf), L"<%08" PRIB8 ">", b));
-  EXPECT_EQ(std::wstring(L"<00000101>"), buf);
-
-  uint16_t s = 0xaaaa;
-  EXPECT_EQ(18, swprintf(buf, sizeof(buf), L"<%" PRIB16 ">", s));
-  EXPECT_EQ(std::wstring(L"<1010101010101010>"), buf);
-  EXPECT_EQ(20, swprintf(buf, sizeof(buf), L"<%#" PRIB16 ">", s));
-  EXPECT_EQ(std::wstring(L"<0B1010101010101010>"), buf);
-
-  EXPECT_EQ(34, swprintf(buf, sizeof(buf), L"<%" PRIB32 ">", 0xaaaaaaaa));
-  EXPECT_EQ(std::wstring(L"<10101010101010101010101010101010>"), buf);
-  EXPECT_EQ(36, swprintf(buf, sizeof(buf), L"<%#" PRIB32 ">", 0xaaaaaaaa));
-  EXPECT_EQ(std::wstring(L"<0B10101010101010101010101010101010>"), buf);
-
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wformat"  // clang doesn't like "%lb"
-  EXPECT_EQ(66, swprintf(buf, sizeof(buf), L"<%" PRIB64 ">", 0xaaaaaaaa'aaaaaaaa));
-  EXPECT_EQ(std::wstring(L"<1010101010101010101010101010101010101010101010101010101010101010>"),
-            buf);
-  EXPECT_EQ(68, swprintf(buf, sizeof(buf), L"<%#" PRIB64 ">", 0xaaaaaaaa'aaaaaaaa));
-  EXPECT_EQ(std::wstring(L"<0B1010101010101010101010101010101010101010101010101010101010101010>"),
-            buf);
-#pragma clang diagnostic pop
-
-  EXPECT_EQ(3, swprintf(buf, sizeof(buf), L"<%#B>", 0));
-  EXPECT_EQ(std::wstring(L"<0>"), buf);
-#else
-  GTEST_SKIP() << "no %B in glibc";
-#endif
-}
-
 TEST(STDIO_TEST, scanf_i_decimal) {
   int i;
   EXPECT_EQ(1, sscanf("<123789>", "<%i>", &i));
@@ -3281,30 +3265,47 @@
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wformat-invalid-specifier"
 #pragma clang diagnostic ignored "-Wconstant-conversion"
-  char buf[BUFSIZ];
   int8_t a = 0b101;
-  snprintf(buf, sizeof(buf), "<%w8b>", a);
-  EXPECT_STREQ("<101>", buf);
+  EXPECT_SNPRINTF("<101>", "<%w8b>", a);
   int8_t b1 = 0xFF;
-  snprintf(buf, sizeof(buf), "<%w8d>", b1);
-  EXPECT_STREQ("<-1>", buf);
+  EXPECT_SNPRINTF("<-1>", "<%w8d>", b1);
   int8_t b2 = 0x1FF;
-  snprintf(buf, sizeof(buf), "<%w8d>", b2);
-  EXPECT_STREQ("<-1>", buf);
+  EXPECT_SNPRINTF("<-1>", "<%w8d>", b2);
   int16_t c = 0xFFFF;
-  snprintf(buf, sizeof(buf), "<%w16i>", c);
-  EXPECT_STREQ("<-1>", buf);
+  EXPECT_SNPRINTF("<-1>", "<%w16i>", c);
   int32_t d = 021;
-  snprintf(buf, sizeof(buf), "<%w32o>", d);
-  EXPECT_STREQ("<21>", buf);
+  EXPECT_SNPRINTF("<21>", "<%w32o>", d);
   uint32_t e = -1;
-  snprintf(buf, sizeof(buf), "<%w32u>", e);
-  EXPECT_STREQ("<4294967295>", buf);
+  EXPECT_SNPRINTF("<4294967295>", "<%w32u>", e);
   int64_t f = 0x3b;
-  snprintf(buf, sizeof(buf), "<%w64x>", f);
-  EXPECT_STREQ("<3b>", buf);
-  snprintf(buf, sizeof(buf), "<%w64X>", f);
-  EXPECT_STREQ("<3B>", buf);
+  EXPECT_SNPRINTF("<3b>", "<%w64x>", f);
+  EXPECT_SNPRINTF("<3B>", "<%w64X>", f);
+#pragma clang diagnostic pop
+#else
+  GTEST_SKIP() << "no %w in glibc";
+#endif
+}
+
+TEST(STDIO_TEST, swprintf_w_base) {
+#if defined(__BIONIC__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wformat-invalid-specifier"
+#pragma clang diagnostic ignored "-Wconstant-conversion"
+  int8_t a = 0b101;
+  EXPECT_SWPRINTF(L"<101>", L"<%w8b>", a);
+  int8_t b1 = 0xFF;
+  EXPECT_SWPRINTF(L"<-1>", L"<%w8d>", b1);
+  int8_t b2 = 0x1FF;
+  EXPECT_SWPRINTF(L"<-1>", L"<%w8d>", b2);
+  int16_t c = 0xFFFF;
+  EXPECT_SWPRINTF(L"<-1>", L"<%w16i>", c);
+  int32_t d = 021;
+  EXPECT_SWPRINTF(L"<21>", L"<%w32o>", d);
+  uint32_t e = -1;
+  EXPECT_SWPRINTF(L"<4294967295>", L"<%w32u>", e);
+  int64_t f = 0x3b;
+  EXPECT_SWPRINTF(L"<3b>", L"<%w64x>", f);
+  EXPECT_SWPRINTF(L"<3B>", L"<%w64X>", f);
 #pragma clang diagnostic pop
 #else
   GTEST_SKIP() << "no %w in glibc";
@@ -3316,25 +3317,44 @@
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wformat-invalid-specifier"
 #pragma clang diagnostic ignored "-Wformat-extra-args"
-  char buf[BUFSIZ];
   int32_t a = 0xaaaaaaaa;
   int64_t b = 0x11111111'22222222;
   int64_t c = 0x33333333'44444444;
   int64_t d = 0xaaaaaaaa'aaaaaaaa;
-  snprintf(buf, sizeof(buf), "<%2$w32b --- %1$w64x>", c, a);
-  EXPECT_STREQ("<10101010101010101010101010101010 --- 3333333344444444>", buf);
-  snprintf(buf, sizeof(buf), "<%3$w64b --- %1$w64x --- %2$w64x>", b, c, d);
-  EXPECT_STREQ(
+  EXPECT_SNPRINTF("<10101010101010101010101010101010 --- 3333333344444444>",
+                  "<%2$w32b --- %1$w64x>", c, a);
+  EXPECT_SNPRINTF(
       "<1010101010101010101010101010101010101010101010101010101010101010 --- 1111111122222222 --- "
       "3333333344444444>",
-      buf);
+      "<%3$w64b --- %1$w64x --- %2$w64x>", b, c, d);
 #pragma clang diagnostic pop
 #else
   GTEST_SKIP() << "no %w in glibc";
 #endif
 }
 
-TEST(STDIO_TEST, snprintf_invalid_w_width) {
+TEST(STDIO_TEST, swprintf_w_arguments_reordering) {
+#if defined(__BIONIC__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wformat-invalid-specifier"
+#pragma clang diagnostic ignored "-Wformat-extra-args"
+  int32_t a = 0xaaaaaaaa;
+  int64_t b = 0x11111111'22222222;
+  int64_t c = 0x33333333'44444444;
+  int64_t d = 0xaaaaaaaa'aaaaaaaa;
+  EXPECT_SWPRINTF(L"<10101010101010101010101010101010 --- 3333333344444444>",
+                  L"<%2$w32b --- %1$w64x>", c, a);
+  EXPECT_SWPRINTF(
+      L"<1010101010101010101010101010101010101010101010101010101010101010 --- 1111111122222222 --- "
+      L"3333333344444444>",
+      L"<%3$w64b --- %1$w64x --- %2$w64x>", b, c, d);
+#pragma clang diagnostic pop
+#else
+  GTEST_SKIP() << "no %w in glibc";
+#endif
+}
+
+TEST_F(STDIO_DEATHTEST, snprintf_invalid_w_width) {
 #if defined(__BIONIC__)
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wformat-invalid-specifier"
@@ -3347,64 +3367,7 @@
 #endif
 }
 
-TEST(STDIO_TEST, swprintf_w_base) {
-#if defined(__BIONIC__)
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wformat-invalid-specifier"
-#pragma clang diagnostic ignored "-Wconstant-conversion"
-  wchar_t buf[BUFSIZ];
-  int8_t a = 0b101;
-  swprintf(buf, sizeof(buf), L"<%w8b>", a);
-  EXPECT_EQ(std::wstring(L"<101>"), buf);
-  int8_t b1 = 0xFF;
-  swprintf(buf, sizeof(buf), L"<%w8d>", b1);
-  EXPECT_EQ(std::wstring(L"<-1>"), buf);
-  int8_t b2 = 0x1FF;
-  swprintf(buf, sizeof(buf), L"<%w8d>", b2);
-  EXPECT_EQ(std::wstring(L"<-1>"), buf);
-  int16_t c = 0xFFFF;
-  swprintf(buf, sizeof(buf), L"<%w16i>", c);
-  EXPECT_EQ(std::wstring(L"<-1>"), buf);
-  int32_t d = 021;
-  swprintf(buf, sizeof(buf), L"<%w32o>", d);
-  EXPECT_EQ(std::wstring(L"<21>"), buf);
-  uint32_t e = -1;
-  swprintf(buf, sizeof(buf), L"<%w32u>", e);
-  EXPECT_EQ(std::wstring(L"<4294967295>"), buf);
-  int64_t f = 0x3b;
-  swprintf(buf, sizeof(buf), L"<%w64x>", f);
-  EXPECT_EQ(std::wstring(L"<3b>"), buf);
-  swprintf(buf, sizeof(buf), L"<%w64X>", f);
-  EXPECT_EQ(std::wstring(L"<3B>"), buf);
-#pragma clang diagnostic pop
-#else
-  GTEST_SKIP() << "no %w in glibc";
-#endif
-}
-
-TEST(STDIO_TEST, swprintf_w_arguments_reordering) {
-#if defined(__BIONIC__)
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wformat-invalid-specifier"
-#pragma clang diagnostic ignored "-Wformat-extra-args"
-  wchar_t buf[BUFSIZ];
-  int32_t a = 0xaaaaaaaa;
-  int64_t b = 0x11111111'22222222;
-  int64_t c = 0x33333333'44444444;
-  int64_t d = 0xaaaaaaaa'aaaaaaaa;
-  swprintf(buf, sizeof(buf), L"<%2$w32b --- %1$w64x>", c, a);
-  EXPECT_EQ(std::wstring(L"<10101010101010101010101010101010 --- 3333333344444444>"), buf);
-  swprintf(buf, sizeof(buf), L"<%3$w64b --- %1$w64x --- %2$w64x>", b, c, d);
-  EXPECT_EQ(std::wstring(L"<1010101010101010101010101010101010101010101010101010101010101010 --- "
-                         L"1111111122222222 --- 3333333344444444>"),
-            buf);
-#pragma clang diagnostic pop
-#else
-  GTEST_SKIP() << "no %w in glibc";
-#endif
-}
-
-TEST(STDIO_TEST, swprintf_invalid_w_width) {
+TEST_F(STDIO_DEATHTEST, swprintf_invalid_w_width) {
 #if defined(__BIONIC__)
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wformat-invalid-specifier"
@@ -3415,4 +3378,362 @@
 #else
   GTEST_SKIP() << "no %w in glibc";
 #endif
-}
\ No newline at end of file
+}
+
+TEST(STDIO_TEST, snprintf_wf_base) {
+#if defined(__BIONIC__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wconstant-conversion"
+#pragma clang diagnostic ignored "-Wformat"
+#pragma clang diagnostic ignored "-Wformat-invalid-specifier"
+  int_fast8_t a = 0b101;
+  EXPECT_SNPRINTF("<101>", "<%wf8b>", a);
+  int_fast8_t b = 0x12341234'12341234;
+  EXPECT_SNPRINTF("<34>", "<%wf8x>", b);
+  uint_fast16_t c = 0x11111111'22222222;
+#if defined(__LP64__)
+  EXPECT_SNPRINTF("<1111111122222222>", "<%wf16x>", c);
+#else
+  EXPECT_SNPRINTF("<22222222>", "<%wf16x>", c);
+#endif
+  int_fast32_t d = 0x33333333'44444444;
+#if defined(__LP64__)
+  EXPECT_SNPRINTF("<3333333344444444>", "<%wf32x>", d);
+#else
+  EXPECT_SNPRINTF("<44444444>", "<%wf32x>", d);
+#endif
+  int_fast64_t e = 0xaaaaaaaa'aaaaaaaa;
+  EXPECT_SNPRINTF("<aaaaaaaaaaaaaaaa>", "<%wf64x>", e);
+  EXPECT_SNPRINTF("<AAAAAAAAAAAAAAAA>", "<%wf64X>", e);
+#pragma clang diagnostic pop
+#else
+  GTEST_SKIP() << "no %wf in glibc";
+#endif
+}
+TEST(STDIO_TEST, swprintf_wf_base) {
+#if defined(__BIONIC__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wconstant-conversion"
+#pragma clang diagnostic ignored "-Wformat"
+#pragma clang diagnostic ignored "-Wformat-invalid-specifier"
+  int_fast8_t a = 0b101;
+  EXPECT_SWPRINTF(L"<101>", L"<%wf8b>", a);
+  int_fast8_t b = 0x12341234'12341234;
+  EXPECT_SWPRINTF(L"<34>", L"<%wf8x>", b);
+  uint_fast16_t c = 0x11111111'22222222;
+#if defined(__LP64__)
+  EXPECT_SWPRINTF(L"<1111111122222222>", L"<%wf16x>", c);
+#else
+  EXPECT_SWPRINTF(L"<22222222>", L"<%wf16x>", c);
+#endif
+  int_fast32_t d = 0x33333333'44444444;
+#if defined(__LP64__)
+  EXPECT_SWPRINTF(L"<3333333344444444>", L"<%wf32x>", d);
+#else
+  EXPECT_SWPRINTF(L"<44444444>", L"<%wf32x>", d);
+#endif
+  int_fast64_t e = 0xaaaaaaaa'aaaaaaaa;
+  EXPECT_SWPRINTF(L"<aaaaaaaaaaaaaaaa>", L"<%wf64x>", e);
+  EXPECT_SWPRINTF(L"<AAAAAAAAAAAAAAAA>", L"<%wf64X>", e);
+#pragma clang diagnostic pop
+#else
+  GTEST_SKIP() << "no %wf in glibc";
+#endif
+}
+
+TEST(STDIO_TEST, snprintf_wf_arguments_reordering) {
+#if defined(__BIONIC__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wconstant-conversion"
+#pragma clang diagnostic ignored "-Wformat"
+#pragma clang diagnostic ignored "-Wformat-extra-args"
+#pragma clang diagnostic ignored "-Wformat-invalid-specifier"
+  int_fast16_t a = 0x11111111'22222222;
+  int_fast32_t b = 0x33333333'44444444;
+  int_fast32_t c = 0xaaaaaaaa'aaaaaaaa;
+#if defined(__LP64__)
+  EXPECT_SNPRINTF(
+      "<3333333344444444 --- 1010101010101010101010101010101010101010101010101010101010101010>",
+      "<%2$wf32x --- %1$wf32b>", c, b);
+
+  EXPECT_SNPRINTF(
+      "<1010101010101010101010101010101010101010101010101010101010101010 --- 1111111122222222 --- "
+      "3333333344444444>",
+      "<%3$wf32b --- %1$wf16x --- %2$wf32x>", a, b, c);
+#else
+  EXPECT_SNPRINTF("<44444444 --- 10101010101010101010101010101010>", "<%2$wf32x --- %1$wf32b>", c,
+                  b);
+  EXPECT_SNPRINTF("<10101010101010101010101010101010 --- 22222222 --- 44444444>",
+                  "<%3$wf32b --- %1$wf16x --- %2$wf32x>", a, b, c);
+#endif
+#pragma clang diagnostic pop
+#else
+  GTEST_SKIP() << "no %w in glibc";
+#endif
+}
+
+TEST(STDIO_TEST, swprintf_wf_arguments_reordering) {
+#if defined(__BIONIC__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wconstant-conversion"
+#pragma clang diagnostic ignored "-Wformat"
+#pragma clang diagnostic ignored "-Wformat-extra-args"
+#pragma clang diagnostic ignored "-Wformat-invalid-specifier"
+  int_fast16_t a = 0x11111111'22222222;
+  int_fast32_t b = 0x33333333'44444444;
+  int_fast32_t c = 0xaaaaaaaa'aaaaaaaa;
+#if defined(__LP64__)
+  EXPECT_SWPRINTF(
+      L"<3333333344444444 --- 1010101010101010101010101010101010101010101010101010101010101010>",
+      L"<%2$wf32x --- %1$wf32b>", c, b);
+
+  EXPECT_SWPRINTF(
+      L"<1010101010101010101010101010101010101010101010101010101010101010 --- 1111111122222222 --- "
+      L"3333333344444444>",
+      L"<%3$wf32b --- %1$wf16x --- %2$wf32x>", a, b, c);
+#else
+  EXPECT_SWPRINTF(L"<44444444 --- 10101010101010101010101010101010>", L"<%2$wf32x --- %1$wf32b>", c,
+                  b);
+  EXPECT_SWPRINTF(L"<10101010101010101010101010101010 --- 22222222 --- 44444444>",
+                  L"<%3$wf32b --- %1$wf16x --- %2$wf32x>", a, b, c);
+#endif
+#pragma clang diagnostic pop
+#else
+  GTEST_SKIP() << "no %w in glibc";
+#endif
+}
+
+TEST_F(STDIO_DEATHTEST, snprintf_invalid_wf_width) {
+#if defined(__BIONIC__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wformat"
+#pragma clang diagnostic ignored "-Wformat-invalid-specifier"
+  char buf[BUFSIZ];
+  int_fast32_t a = 100;
+  EXPECT_DEATH(snprintf(buf, sizeof(buf), "%wf20d", &a), "%wf20 is unsupported");
+#pragma clang diagnostic pop
+#else
+  GTEST_SKIP() << "no %w in glibc";
+#endif
+}
+
+TEST_F(STDIO_DEATHTEST, swprintf_invalid_wf_width) {
+#if defined(__BIONIC__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wformat"
+#pragma clang diagnostic ignored "-Wformat-invalid-specifier"
+  wchar_t buf[BUFSIZ];
+  int_fast32_t a = 100;
+  EXPECT_DEATH(swprintf(buf, sizeof(buf), L"%wf20d", &a), "%wf20 is unsupported");
+#pragma clang diagnostic pop
+#else
+  GTEST_SKIP() << "no %w in glibc";
+#endif
+}
+
+TEST(STDIO_TEST, sscanf_w_or_wf_base) {
+#if defined(__BIONIC__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wformat"
+#pragma clang diagnostic ignored "-Wformat-invalid-specifier"
+  int8_t a;
+  EXPECT_EQ(1, sscanf("<0b101>", "<%w8b>", &a));
+  EXPECT_EQ(0b101, a);
+  int_fast8_t fast_a;
+  EXPECT_EQ(1, sscanf("<0b101>", "<%wf8b>", &fast_a));
+  EXPECT_EQ(0b101, fast_a);
+  int8_t b1;
+  EXPECT_EQ(1, sscanf("<0xFF>", "<%w8i>", &b1));
+  EXPECT_EQ(-1, b1);
+  int8_t b2;
+  EXPECT_EQ(1, sscanf("<0x1FF>", "<%w8i>", &b2));
+  EXPECT_EQ(-1, b2);
+  int_fast8_t fast_b;
+  EXPECT_EQ(1, sscanf("<0x1234123412341234>", "<%wf8x>", &fast_b));
+  EXPECT_EQ(0x34, fast_b);
+  int16_t c1;
+  EXPECT_EQ(1, sscanf("<0xFFFF>", "<%w16i>", &c1));
+  EXPECT_EQ(-1, c1);
+  uint16_t c2;
+  EXPECT_EQ(1, sscanf("<64>", "<%w16d>", &c2));
+  EXPECT_EQ(64, c2);
+  int_fast16_t fast_c;
+#if defined(__LP64__)
+  EXPECT_EQ(1, sscanf("<0x1111111122222222>", "<%wf16x>", &fast_c));
+  EXPECT_EQ(0x1111111122222222, fast_c);
+#else
+  EXPECT_EQ(1, sscanf("<0x1111111122222222>", "<%wf16x>", &fast_c));
+  EXPECT_EQ(0x22222222, fast_c);
+#endif
+  int32_t d;
+  EXPECT_EQ(1, sscanf("<021>", "<%w32o>", &d));
+  EXPECT_EQ(021, d);
+  int_fast32_t fast_d;
+#if defined(__LP64__)
+  EXPECT_EQ(1, sscanf("<0x3333333344444444>", "<%wf32x>", &fast_d));
+  EXPECT_EQ(0x3333333344444444, fast_d);
+#else
+  EXPECT_EQ(1, sscanf("<0x3333333344444444>", "<%wf32x>", &fast_d));
+  EXPECT_EQ(0x44444444, fast_d);
+#endif
+  uint32_t e;
+  EXPECT_EQ(1, sscanf("<-1>", "<%w32u>", &e));
+  EXPECT_EQ(4294967295, e);
+  int64_t f;
+  EXPECT_EQ(1, sscanf("<0x3b>", "<%w64x>", &f));
+  EXPECT_EQ(0x3b, f);
+  EXPECT_EQ(1, sscanf("<0x3b>", "<%w64X>", &f));
+  EXPECT_EQ(0x3B, f);
+  uint_fast64_t fast_f;
+  EXPECT_EQ(1, sscanf("<0xaaaaaaaa>", "<%wf64x>", &fast_f));
+  EXPECT_EQ(0xaaaaaaaa, fast_f);
+  EXPECT_EQ(1, sscanf("<0xaaaaaaaa>", "<%wf64X>", &fast_f));
+  EXPECT_EQ(0xAAAAAAAA, fast_f);
+#pragma clang diagnostic pop
+#else
+  GTEST_SKIP() << "no %w in glibc";
+#endif
+}
+
+TEST(STDIO_TEST, sscanf_w_combination) {
+#if defined(__BIONIC__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wformat"
+#pragma clang diagnostic ignored "-Wformat-invalid-specifier"
+#pragma clang diagnostic ignored "-Wformat-extra-args"
+  uint32_t a;
+  int64_t b;
+  char c;
+
+  EXPECT_EQ(3, sscanf("<0b10101010101010101010101010101010 0x3333333344444444 1>",
+                      "<%w32b %w64x %c>", &a, &b, &c));
+  EXPECT_EQ(0xaaaaaaaa, a);
+  EXPECT_EQ(0x3333333344444444, b);
+  EXPECT_EQ('1', c);
+#pragma clang diagnostic pop
+#else
+  GTEST_SKIP() << "no %w in glibc";
+#endif
+}
+
+TEST_F(STDIO_DEATHTEST, sscanf_invalid_w_or_wf_width) {
+#if defined(__BIONIC__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wformat"
+#pragma clang diagnostic ignored "-Wformat-invalid-specifier"
+  int32_t a;
+  EXPECT_DEATH(sscanf("<100>", "<%w20d>", &a), "%w20 is unsupported");
+  int_fast32_t fast_a;
+  EXPECT_DEATH(sscanf("<100>", "<%wf20d>", &fast_a), "%wf20 is unsupported");
+#pragma clang diagnostic pop
+#else
+  GTEST_SKIP() << "no %w in glibc";
+#endif
+}
+
+TEST(STDIO_TEST, swscanf_w_or_wf_base) {
+#if defined(__BIONIC__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wformat"
+#pragma clang diagnostic ignored "-Wformat-invalid-specifier"
+  int8_t a;
+  EXPECT_EQ(1, swscanf(L"<0b101>", L"<%w8b>", &a));
+  EXPECT_EQ(0b101, a);
+  int_fast8_t fast_a;
+  EXPECT_EQ(1, swscanf(L"<0b101>", L"<%wf8b>", &fast_a));
+  EXPECT_EQ(0b101, fast_a);
+  int8_t b1;
+  EXPECT_EQ(1, swscanf(L"<0xFF>", L"<%w8i>", &b1));
+  EXPECT_EQ(-1, b1);
+  int8_t b2;
+  EXPECT_EQ(1, swscanf(L"<0x1FF>", L"<%w8i>", &b2));
+  EXPECT_EQ(-1, b2);
+  int_fast8_t fast_b;
+  EXPECT_EQ(1, swscanf(L"<0x1234123412341234>", L"<%wf8i>", &fast_b));
+  EXPECT_EQ(0x34, fast_b);
+  int16_t c1;
+  EXPECT_EQ(1, swscanf(L"<0xFFFF>", L"<%w16i>", &c1));
+  EXPECT_EQ(-1, c1);
+  uint16_t c2;
+  EXPECT_EQ(1, swscanf(L"<64>", L"<%w16d>", &c2));
+  EXPECT_EQ(64, c2);
+  int_fast16_t fast_c;
+#if defined(__LP64__)
+  EXPECT_EQ(1, swscanf(L"<0x1111111122222222>", L"<%wf16x>", &fast_c));
+  EXPECT_EQ(0x1111111122222222, fast_c);
+#else
+  EXPECT_EQ(1, swscanf(L"<0x1111111122222222>", L"<%wf16x>", &fast_c));
+  EXPECT_EQ(0x22222222, fast_c);
+#endif
+  int32_t d;
+  EXPECT_EQ(1, swscanf(L"<021>", L"<%w32o>", &d));
+  EXPECT_EQ(021, d);
+  int_fast32_t fast_d;
+#if defined(__LP64__)
+  EXPECT_EQ(1, swscanf(L"<0x3333333344444444>", L"<%wf32x>", &fast_d));
+  EXPECT_EQ(0x3333333344444444, fast_d);
+#else
+  EXPECT_EQ(1, swscanf(L"<0x3333333344444444>", L"<%wf32x>", &fast_d));
+  EXPECT_EQ(0x44444444, fast_d);
+#endif
+  uint32_t e;
+  EXPECT_EQ(1, swscanf(L"<-1>", L"<%w32u>", &e));
+  EXPECT_EQ(4294967295, e);
+  int64_t f;
+  EXPECT_EQ(1, swscanf(L"<0x3b>", L"<%w64x>", &f));
+  EXPECT_EQ(0x3b, f);
+  EXPECT_EQ(1, swscanf(L"<0x3b>", L"<%w64X>", &f));
+  EXPECT_EQ(0x3B, f);
+  uint_fast64_t fast_f;
+  EXPECT_EQ(1, swscanf(L"<0xaaaaaaaa>", L"<%wf64x>", &fast_f));
+  EXPECT_EQ(0xaaaaaaaa, fast_f);
+  EXPECT_EQ(1, swscanf(L"<0xaaaaaaaa>", L"<%wf64X>", &fast_f));
+  EXPECT_EQ(0xAAAAAAAA, fast_f);
+#pragma clang diagnostic pop
+#else
+  GTEST_SKIP() << "no %w in glibc";
+#endif
+}
+
+TEST(STDIO_TEST, swscanf_w_combination) {
+#if defined(__BIONIC__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wformat"
+#pragma clang diagnostic ignored "-Wformat-invalid-specifier"
+#pragma clang diagnostic ignored "-Wformat-extra-args"
+  uint32_t a;
+  int64_t b;
+  char c;
+
+  EXPECT_EQ(3, swscanf(L"<0b10101010101010101010101010101010 0x3333333344444444 1>",
+                       L"<%w32b %w64x %c>", &a, &b, &c));
+  EXPECT_EQ(0xaaaaaaaa, a);
+  EXPECT_EQ(0x3333333344444444, b);
+  EXPECT_EQ('1', c);
+#pragma clang diagnostic pop
+#else
+  GTEST_SKIP() << "no %w in glibc";
+#endif
+}
+
+TEST_F(STDIO_DEATHTEST, swscanf_invalid_w_or_wf_width) {
+#if defined(__BIONIC__)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wformat"
+#pragma clang diagnostic ignored "-Wformat-invalid-specifier"
+  int32_t a;
+  EXPECT_DEATH(swscanf(L"<100>", L"<%w20d>", &a), "%w20 is unsupported");
+  int_fast32_t fast_a;
+  EXPECT_DEATH(swscanf(L"<100>", L"<%wf20d>", &fast_a), "%wf20 is unsupported");
+#pragma clang diagnostic pop
+#else
+  GTEST_SKIP() << "no %w in glibc";
+#endif
+}
+
+TEST(STDIO_TEST, printf_lc_0) {
+  // https://austingroupbugs.net/view.php?id=1647
+  char buf[BUFSIZ];
+  EXPECT_EQ(3, snprintf(buf, sizeof(buf), "<%lc>", L'\0'));
+  EXPECT_TRUE(!memcmp(buf, "<\0>", 3));
+}
diff --git a/tests/stdlib_test.cpp b/tests/stdlib_test.cpp
index 45169e3..fac9b9b 100644
--- a/tests/stdlib_test.cpp
+++ b/tests/stdlib_test.cpp
@@ -29,6 +29,7 @@
 
 #include <limits>
 #include <string>
+#include <thread>
 
 #include <android-base/file.h>
 #include <android-base/macros.h>
@@ -279,7 +280,7 @@
     for (size_t fail_align = last_align + 1; fail_align < align; fail_align++) {
       ASSERT_TRUE(aligned_alloc(fail_align, fail_align) == nullptr)
           << "Unexpected success at align " << fail_align;
-      ASSERT_EQ(EINVAL, errno) << "Unexpected errno at align " << fail_align;
+      ASSERT_ERRNO(EINVAL) << "Unexpected errno at align " << fail_align;
     }
     void* ptr = aligned_alloc(align, 2 * align);
     ASSERT_TRUE(ptr != nullptr) << "Unexpected failure at align " << align;
@@ -310,21 +311,21 @@
   const char* path = nullptr;
   char* p = realpath(path, nullptr);
   ASSERT_TRUE(p == nullptr);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(stdlib, realpath__empty_filename) {
   errno = 0;
   char* p = realpath("", nullptr);
   ASSERT_TRUE(p == nullptr);
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 }
 
 TEST(stdlib, realpath__ENOENT) {
   errno = 0;
   char* p = realpath("/this/directory/path/almost/certainly/does/not/exist", nullptr);
   ASSERT_TRUE(p == nullptr);
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 }
 
 TEST(stdlib, realpath__ELOOP) {
@@ -335,19 +336,19 @@
   errno = 0;
   char* p = realpath(link.c_str(), nullptr);
   ASSERT_TRUE(p == nullptr);
-  ASSERT_EQ(ELOOP, errno);
+  ASSERT_ERRNO(ELOOP);
 }
 
 TEST(stdlib, realpath__component_after_non_directory) {
   errno = 0;
   char* p = realpath("/dev/null/.", nullptr);
   ASSERT_TRUE(p == nullptr);
-  ASSERT_EQ(ENOTDIR, errno);
+  ASSERT_ERRNO(ENOTDIR);
 
   errno = 0;
   p = realpath("/dev/null/..", nullptr);
   ASSERT_TRUE(p == nullptr);
-  ASSERT_EQ(ENOTDIR, errno);
+  ASSERT_ERRNO(ENOTDIR);
 }
 
 TEST(stdlib, realpath) {
@@ -403,7 +404,7 @@
   errno = 0;
   char* result = realpath(path.c_str(), nullptr);
   ASSERT_EQ(nullptr, result) << result;
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
   free(result);
 }
 
@@ -430,6 +431,31 @@
   ASSERT_STREQ("charlie", entries[2].name);
 }
 
+TEST(stdlib, qsort_r) {
+  struct s {
+    char name[16];
+    static int comparator(const void* lhs, const void* rhs, void* context) {
+      int* count_p = reinterpret_cast<int*>(context);
+      *count_p += 1;
+      return strcmp(reinterpret_cast<const s*>(lhs)->name, reinterpret_cast<const s*>(rhs)->name);
+    }
+  };
+  s entries[3];
+  strcpy(entries[0].name, "charlie");
+  strcpy(entries[1].name, "bravo");
+  strcpy(entries[2].name, "alpha");
+
+  int count;
+  void* context = &count;
+
+  count = 0;
+  qsort_r(entries, 3, sizeof(s), s::comparator, context);
+  ASSERT_STREQ("alpha", entries[0].name);
+  ASSERT_STREQ("bravo", entries[1].name);
+  ASSERT_STREQ("charlie", entries[2].name);
+  ASSERT_EQ(count, 3);
+}
+
 static void* TestBug57421_child(void* arg) {
   pthread_t main_thread = reinterpret_cast<pthread_t>(arg);
   pthread_join(main_thread, nullptr);
@@ -493,7 +519,7 @@
 
 TEST(stdlib, system_NULL) {
   // "The system() function shall always return non-zero when command is NULL."
-  // http://pubs.opengroup.org/onlinepubs/9699919799/functions/system.html
+  // https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/functions/system.html
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wnonnull"
   ASSERT_NE(0, system(nullptr));
@@ -650,6 +676,58 @@
   AssertChildExited(pid, 99);
 }
 
+static void exit_from_atexit_func4() {
+  std::thread([] { exit(4); }).detach();
+  usleep(1000);
+  fprintf(stderr, "4");
+}
+
+static void exit_from_atexit_func3() {
+  std::thread([] { exit(3); }).detach();
+  fprintf(stderr, "3");
+  usleep(1000);
+  // This should cause us to exit with status 99,
+  // but not before printing "4",
+  // and without re-running the previous atexit handlers.
+  exit(99);
+}
+
+static void exit_from_atexit_func2() {
+  std::thread([] { exit(2); }).detach();
+  fprintf(stderr, "2");
+  usleep(1000);
+  // Register another atexit handler from within an atexit handler.
+  atexit(exit_from_atexit_func3);
+}
+
+static void exit_from_atexit_func1() {
+  // These atexit handlers all spawn another thread that tries to exit,
+  // and sleep to try to lose the race.
+  // The lock in exit() should ensure that only the first thread to call
+  // exit() can ever win (but see exit_from_atexit_func3() for a subtelty).
+  std::thread([] { exit(1); }).detach();
+  usleep(1000);
+  fprintf(stderr, "1");
+}
+
+static void exit_torturer() {
+  atexit(exit_from_atexit_func4);
+  // We deliberately don't register exit_from_atexit_func3() here;
+  // see exit_from_atexit_func2().
+  atexit(exit_from_atexit_func2);
+  atexit(exit_from_atexit_func1);
+  exit(0);
+}
+
+TEST(stdlib, exit_torture) {
+  // Test that the atexit() handlers are run in the defined order (reverse
+  // order of registration), even though one of them is registered by another
+  // when it runs, and that we get the exit code from the last call to exit()
+  // on the first thread to call exit() (rather than one of the other threads
+  // or a deadlock from the second call on the same thread).
+  ASSERT_EXIT(exit_torturer(), testing::ExitedWithCode(99), "1234");
+}
+
 TEST(unistd, _Exit) {
   pid_t pid = fork();
   ASSERT_NE(-1, pid) << strerror(errno);
@@ -695,7 +773,7 @@
   errno = 0;
   char buf[128];
   ASSERT_EQ(ENOTTY, ptsname_r(STDOUT_FILENO, buf, sizeof(buf)));
-  ASSERT_EQ(ENOTTY, errno);
+  ASSERT_ERRNO(ENOTTY);
 }
 
 TEST(stdlib, ptsname_r_EINVAL) {
@@ -704,7 +782,7 @@
   errno = 0;
   char* buf = nullptr;
   ASSERT_EQ(EINVAL, ptsname_r(fd, buf, 128));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   close(fd);
 }
 
@@ -714,7 +792,7 @@
   errno = 0;
   char buf[1];
   ASSERT_EQ(ERANGE, ptsname_r(fd, buf, sizeof(buf)));
-  ASSERT_EQ(ERANGE, errno);
+  ASSERT_ERRNO(ERANGE);
   close(fd);
 }
 
@@ -745,7 +823,7 @@
   errno = 0;
   char buf[128];
   ASSERT_EQ(ENOTTY, ttyname_r(fd, buf, sizeof(buf)));
-  ASSERT_EQ(ENOTTY, errno);
+  ASSERT_ERRNO(ENOTTY);
   close(fd);
 }
 
@@ -755,7 +833,7 @@
   errno = 0;
   char* buf = nullptr;
   ASSERT_EQ(EINVAL, ttyname_r(fd, buf, 128));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   close(fd);
 }
 
@@ -765,7 +843,7 @@
   errno = 0;
   char buf[1];
   ASSERT_EQ(ERANGE, ttyname_r(fd, buf, sizeof(buf)));
-  ASSERT_EQ(ERANGE, errno);
+  ASSERT_ERRNO(ERANGE);
   close(fd);
 }
 
@@ -773,7 +851,7 @@
   int fd = open("/dev/null", O_WRONLY);
   errno = 0;
   ASSERT_EQ(-1, unlockpt(fd));
-  ASSERT_EQ(ENOTTY, errno);
+  ASSERT_ERRNO(ENOTTY);
   close(fd);
 }
 
@@ -830,17 +908,17 @@
   // Negative base => invalid.
   errno = 0;
   ASSERT_EQ(T(0), fn("123", &end_p, -1));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   // Base 1 => invalid (base 0 means "please guess").
   errno = 0;
   ASSERT_EQ(T(0), fn("123", &end_p, 1));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   // Base > 36 => invalid.
   errno = 0;
   ASSERT_EQ(T(0), fn("123", &end_p, 37));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   // Both leading + or - are always allowed (even for the strtou* family).
   ASSERT_EQ(T(-123), fn("-123", &end_p, 10));
@@ -875,14 +953,14 @@
     end_p = nullptr;
     errno = 0;
     ASSERT_EQ(std::numeric_limits<T>::min(), fn(min.c_str(), &end_p, 0));
-    ASSERT_EQ(0, errno);
+    ASSERT_ERRNO(0);
     ASSERT_EQ('\0', *end_p);
     // Too negative (such as -129).
     min.back() = (min.back() + 1);
     end_p = nullptr;
     errno = 0;
     ASSERT_EQ(std::numeric_limits<T>::min(), fn(min.c_str(), &end_p, 0));
-    ASSERT_EQ(ERANGE, errno);
+    ASSERT_ERRNO(ERANGE);
     ASSERT_EQ('\0', *end_p);
   }
 
@@ -891,30 +969,36 @@
   end_p = nullptr;
   errno = 0;
   ASSERT_EQ(std::numeric_limits<T>::max(), fn(max.c_str(), &end_p, 0));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   ASSERT_EQ('\0', *end_p);
   // Too positive (such as 128).
   max.back() = (max.back() + 1);
   end_p = nullptr;
   errno = 0;
   ASSERT_EQ(std::numeric_limits<T>::max(), fn(max.c_str(), &end_p, 0));
-  ASSERT_EQ(ERANGE, errno);
+  ASSERT_ERRNO(ERANGE);
   ASSERT_EQ('\0', *end_p);
 
+  // Junk at the end of a valid conversion.
+  errno = 0;
+  ASSERT_EQ(static_cast<T>(123), fn("123abc", &end_p, 0));
+  ASSERT_ERRNO(0);
+  ASSERT_STREQ("abc", end_p);
+
   // In case of overflow, strto* leaves us pointing past the end of the number,
   // not at the digit that overflowed.
   end_p = nullptr;
   errno = 0;
   ASSERT_EQ(std::numeric_limits<T>::max(),
             fn("99999999999999999999999999999999999999999999999999999abc", &end_p, 0));
-  ASSERT_EQ(ERANGE, errno);
+  ASSERT_ERRNO(ERANGE);
   ASSERT_STREQ("abc", end_p);
   if (std::numeric_limits<T>::is_signed) {
       end_p = nullptr;
       errno = 0;
       ASSERT_EQ(std::numeric_limits<T>::min(),
                 fn("-99999999999999999999999999999999999999999999999999999abc", &end_p, 0));
-      ASSERT_EQ(ERANGE, errno);
+      ASSERT_ERRNO(ERANGE);
       ASSERT_STREQ("abc", end_p);
   }
 }
diff --git a/tests/string_test.cpp b/tests/string_test.cpp
index 38957e2..502405f 100644
--- a/tests/string_test.cpp
+++ b/tests/string_test.cpp
@@ -29,6 +29,7 @@
 #include <vector>
 
 #include "buffer_tests.h"
+#include "utils.h"
 
 #if defined(NOFORTIFY)
 #define STRING_TEST string_nofortify
@@ -123,7 +124,7 @@
   ASSERT_EQ(buf, strerror_r(4567, buf, 2));
   ASSERT_STREQ("U", buf);
   // The GNU strerror_r doesn't set errno (the POSIX one sets it to ERANGE).
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
 #else
   GTEST_SKIP() << "musl doesn't have GNU strerror_r";
 #endif
@@ -318,33 +319,34 @@
 // one byte target with "\0" source
 TEST(STRING_TEST, stpcpy2) {
   char buf[1];
+  memset(buf, 'A', sizeof(buf));
   char* orig = strdup("");
-  ASSERT_EQ(buf, stpcpy(buf, orig));
-  ASSERT_EQ('\0', buf[0]);
+  EXPECT_EQ(buf, stpcpy(buf, orig));
+  EXPECT_EQ('\0', buf[0]);
   free(orig);
 }
 
 // multibyte target where we under fill target
 TEST(STRING_TEST, stpcpy3) {
   char buf[10];
-  char* orig = strdup("12345");
   memset(buf, 'A', sizeof(buf));
-  ASSERT_EQ(buf+strlen(orig), stpcpy(buf, orig));
-  ASSERT_STREQ("12345", buf);
-  ASSERT_EQ('A',  buf[6]);
-  ASSERT_EQ('A',  buf[7]);
-  ASSERT_EQ('A',  buf[8]);
-  ASSERT_EQ('A',  buf[9]);
+  char* orig = strdup("12345");
+  EXPECT_EQ(buf+strlen(orig), stpcpy(buf, orig));
+  EXPECT_STREQ("12345", buf);
+  EXPECT_EQ('A',  buf[6]);
+  EXPECT_EQ('A',  buf[7]);
+  EXPECT_EQ('A',  buf[8]);
+  EXPECT_EQ('A',  buf[9]);
   free(orig);
 }
 
 // multibyte target where we fill target exactly
 TEST(STRING_TEST, stpcpy4) {
   char buf[10];
-  char* orig = strdup("123456789");
   memset(buf, 'A', sizeof(buf));
-  ASSERT_EQ(buf+strlen(orig), stpcpy(buf, orig));
-  ASSERT_STREQ("123456789", buf);
+  char* orig = strdup("123456789");
+  EXPECT_EQ(buf+strlen(orig), stpcpy(buf, orig));
+  EXPECT_STREQ("123456789", buf);
   free(orig);
 }
 
@@ -738,15 +740,11 @@
     // Set the second half of ptr to the expected pattern in ptr2.
     memset(state.ptr + state.MAX_LEN, '\1', state.MAX_LEN);
     memcpy(state.ptr + state.MAX_LEN, state.ptr1, copy_len);
-    size_t expected_end;
     if (copy_len > ptr1_len) {
       memset(state.ptr + state.MAX_LEN + ptr1_len, '\0', copy_len - ptr1_len);
-      expected_end = ptr1_len;
-    } else {
-      expected_end = copy_len;
     }
 
-    ASSERT_EQ(state.ptr2 + expected_end, stpncpy(state.ptr2, state.ptr1, copy_len));
+    ASSERT_EQ(state.ptr2, strncpy(state.ptr2, state.ptr1, copy_len));
 
     // Verify ptr1 was not modified.
     ASSERT_EQ(0, memcmp(state.ptr1, state.ptr, state.MAX_LEN));
@@ -1483,7 +1481,7 @@
   errno = 0;
   const char* out = basename(in);
   ASSERT_STREQ(expected_out, out) << in;
-  ASSERT_EQ(0, errno) << in;
+  ASSERT_ERRNO(0) << in;
 }
 #endif
 
@@ -1685,3 +1683,16 @@
   GTEST_SKIP() << "memset_explicit not available";
 #endif
 }
+
+TEST(STRING_TEST, strerrorname_np) {
+#if defined(__BIONIC__)
+  ASSERT_STREQ("0", strerrorname_np(0));
+  ASSERT_STREQ("EINVAL", strerrorname_np(EINVAL));
+  ASSERT_STREQ("ENOSYS", strerrorname_np(ENOSYS));
+
+  ASSERT_EQ(nullptr, strerrorname_np(-1));
+  ASSERT_EQ(nullptr, strerrorname_np(666));
+#else
+  GTEST_SKIP() << "strerrorname_np not available";
+#endif
+}
diff --git a/tests/struct_layout_test.cpp b/tests/struct_layout_test.cpp
index 10c100a..b9fd315 100644
--- a/tests/struct_layout_test.cpp
+++ b/tests/struct_layout_test.cpp
@@ -30,7 +30,7 @@
 #define CHECK_OFFSET(name, field, offset) \
     check_offset(#name, #field, offsetof(name, field), offset);
 #ifdef __LP64__
-  CHECK_SIZE(pthread_internal_t, 784);
+  CHECK_SIZE(pthread_internal_t, 824);
   CHECK_OFFSET(pthread_internal_t, next, 0);
   CHECK_OFFSET(pthread_internal_t, prev, 8);
   CHECK_OFFSET(pthread_internal_t, tid, 16);
@@ -55,7 +55,9 @@
   CHECK_OFFSET(pthread_internal_t, dlerror_buffer, 248);
   CHECK_OFFSET(pthread_internal_t, bionic_tls, 760);
   CHECK_OFFSET(pthread_internal_t, errno_value, 768);
-  CHECK_OFFSET(pthread_internal_t, vfork_child_stack_bottom, 776);
+  CHECK_OFFSET(pthread_internal_t, bionic_tcb, 776);
+  CHECK_OFFSET(pthread_internal_t, stack_mte_ringbuffer_vma_name_buffer, 784);
+  CHECK_OFFSET(pthread_internal_t, should_allocate_stack_mte_ringbuffer, 816);
   CHECK_SIZE(bionic_tls, 12200);
   CHECK_OFFSET(bionic_tls, key_data, 0);
   CHECK_OFFSET(bionic_tls, locale, 2080);
@@ -73,7 +75,7 @@
   CHECK_OFFSET(bionic_tls, bionic_systrace_disabled, 12193);
   CHECK_OFFSET(bionic_tls, padding, 12194);
 #else
-  CHECK_SIZE(pthread_internal_t, 672);
+  CHECK_SIZE(pthread_internal_t, 708);
   CHECK_OFFSET(pthread_internal_t, next, 0);
   CHECK_OFFSET(pthread_internal_t, prev, 4);
   CHECK_OFFSET(pthread_internal_t, tid, 8);
@@ -98,7 +100,9 @@
   CHECK_OFFSET(pthread_internal_t, dlerror_buffer, 148);
   CHECK_OFFSET(pthread_internal_t, bionic_tls, 660);
   CHECK_OFFSET(pthread_internal_t, errno_value, 664);
-  CHECK_OFFSET(pthread_internal_t, vfork_child_stack_bottom, 668);
+  CHECK_OFFSET(pthread_internal_t, bionic_tcb, 668);
+  CHECK_OFFSET(pthread_internal_t, stack_mte_ringbuffer_vma_name_buffer, 672);
+  CHECK_OFFSET(pthread_internal_t, should_allocate_stack_mte_ringbuffer, 704);
   CHECK_SIZE(bionic_tls, 11080);
   CHECK_OFFSET(bionic_tls, key_data, 0);
   CHECK_OFFSET(bionic_tls, locale, 1040);
diff --git a/libm/fenv-access.h b/tests/sys_cachectl_test.cpp
similarity index 68%
copy from libm/fenv-access.h
copy to tests/sys_cachectl_test.cpp
index 7acb34d..d9ece4f 100644
--- a/libm/fenv-access.h
+++ b/tests/sys_cachectl_test.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2023 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,8 +26,19 @@
  * SUCH DAMAGE.
  */
 
-#pragma once
+#include <gtest/gtest.h>
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
+#if __has_include(<sys/cachectl.h>)
+#include <sys/cachectl.h>
 #endif
+
+TEST(sys_cachectl, __riscv_flush_icache) {
+#if defined(__riscv) && __has_include(<sys/cachectl.h>)
+  // As of Linux 6.4, the address range is ignored (so nullptr is fine),
+  // and the flags you actually want are 0 ("all threads"),
+  // but we test the unusual flag just to make sure it works.
+  ASSERT_EQ(0, __riscv_flush_icache(nullptr, nullptr, SYS_RISCV_FLUSH_ICACHE_LOCAL));
+#else
+  GTEST_SKIP() << "__riscv_flush_icache requires riscv64";
+#endif
+}
diff --git a/tests/sys_epoll_test.cpp b/tests/sys_epoll_test.cpp
index fb2a48f..744f1c9 100644
--- a/tests/sys_epoll_test.cpp
+++ b/tests/sys_epoll_test.cpp
@@ -24,33 +24,105 @@
 
 #include "utils.h"
 
-TEST(sys_epoll, smoke) {
+TEST(sys_epoll, epoll_wait) {
   int epoll_fd = epoll_create(1);
-  ASSERT_NE(-1, epoll_fd) << strerror(errno);
-  epoll_event events[1];
+  ASSERT_NE(-1, epoll_fd);
 
   // Regular epoll_wait.
+  epoll_event events[1] = {};
   ASSERT_EQ(0, epoll_wait(epoll_fd, events, 1, 1));
+}
+
+TEST(sys_epoll, epoll_pwait_no_sigset) {
+  int epoll_fd = epoll_create(1);
+  ASSERT_NE(-1, epoll_fd);
 
   // epoll_pwait without a sigset (which is equivalent to epoll_wait).
+  epoll_event events[1] = {};
   ASSERT_EQ(0, epoll_pwait(epoll_fd, events, 1, 1, nullptr));
+}
 
+TEST(sys_epoll, epoll_pwait64_no_sigset) {
 #if defined(__BIONIC__)
+  int epoll_fd = epoll_create(1);
+  ASSERT_NE(-1, epoll_fd);
+
   // epoll_pwait64 without a sigset (which is equivalent to epoll_wait).
+  epoll_event events[1] = {};
   ASSERT_EQ(0, epoll_pwait64(epoll_fd, events, 1, 1, nullptr));
+#else
+  GTEST_SKIP() << "epoll_pwait64 is bionic-only";
 #endif
+}
+
+TEST(sys_epoll, epoll_pwait2_no_sigset) {
+#if defined(__BIONIC__)
+  int epoll_fd = epoll_create(1);
+  ASSERT_NE(-1, epoll_fd);
+
+  // epoll_pwait2 without a sigset (which is equivalent to epoll_wait).
+  epoll_event events[1] = {};
+  timespec ts = {.tv_nsec = 500};
+  int rc = epoll_pwait2(epoll_fd, events, 1, &ts, nullptr);
+  if (rc == -1 && errno == ENOSYS) GTEST_SKIP() << "no epoll_pwait2() in this kernel";
+  ASSERT_EQ(0, rc) << strerror(errno);
+#else
+  GTEST_SKIP() << "epoll_pwait2 is only in glibc 2.35+";
+#endif
+}
+
+TEST(sys_epoll, epoll_pwait_with_sigset) {
+  int epoll_fd = epoll_create(1);
+  ASSERT_NE(-1, epoll_fd);
 
   // epoll_pwait with a sigset.
+  epoll_event events[1] = {};
   sigset_t ss;
   sigemptyset(&ss);
   sigaddset(&ss, SIGPIPE);
   ASSERT_EQ(0, epoll_pwait(epoll_fd, events, 1, 1, &ss));
 }
 
+TEST(sys_epoll, epoll_pwait2_with_sigset) {
+  int epoll_fd = epoll_create(1);
+  ASSERT_NE(-1, epoll_fd);
+
+#if defined(__BIONIC__)
+  epoll_event events[1] = {};
+  timespec ts = {.tv_nsec = 500};
+  sigset_t ss2;
+  sigemptyset(&ss2);
+  sigaddset(&ss2, SIGPIPE);
+  int rc = epoll_pwait2(epoll_fd, events, 1, &ts, &ss2);
+  if (rc == -1 && errno == ENOSYS) GTEST_SKIP() << "no epoll_pwait2() in this kernel";
+  ASSERT_EQ(0, rc) << strerror(errno);
+#else
+  GTEST_SKIP() << "epoll_pwait2 is only in glibc 2.35+";
+#endif
+}
+
+TEST(sys_epoll, epoll_pwait2_64_with_sigset) {
+  int epoll_fd = epoll_create(1);
+  ASSERT_NE(-1, epoll_fd);
+
+#if defined(__BIONIC__)
+  epoll_event events[1] = {};
+  timespec ts = {.tv_nsec = 500};
+  sigset64_t ss2;
+  sigemptyset64(&ss2);
+  sigaddset64(&ss2, SIGPIPE);
+  int rc = epoll_pwait2_64(epoll_fd, events, 1, &ts, &ss2);
+  if (rc == -1 && errno == ENOSYS) GTEST_SKIP() << "no epoll_pwait2() in this kernel";
+  ASSERT_EQ(0, rc) << strerror(errno);
+#else
+  GTEST_SKIP() << "epoll_pwait2_64 is bionic-only";
+#endif
+}
+
 TEST(sys_epoll, epoll_create_invalid_size) {
   errno = 0;
   ASSERT_EQ(-1, epoll_create(0));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(sys_epoll, epoll_event_data) {
diff --git a/tests/sys_hwprobe_test.cpp b/tests/sys_hwprobe_test.cpp
new file mode 100644
index 0000000..fd59e1d
--- /dev/null
+++ b/tests/sys_hwprobe_test.cpp
@@ -0,0 +1,147 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <gtest/gtest.h>
+
+#if __has_include(<sys/hwprobe.h>)
+#include <sys/hwprobe.h>
+#include <sys/syscall.h>
+#endif
+
+
+#if defined(__riscv)
+#include <riscv_vector.h>
+
+__attribute__((noinline))
+uint64_t scalar_cast(uint8_t const* p) {
+  return *(uint64_t const*)p;
+}
+
+__attribute__((noinline))
+uint64_t scalar_memcpy(uint8_t const* p) {
+  uint64_t r;
+  __builtin_memcpy(&r, p, sizeof(r));
+  return r;
+}
+
+__attribute__((noinline))
+uint64_t vector_memcpy(uint8_t* d, uint8_t const* p) {
+  __builtin_memcpy(d, p, 16);
+  return *(uint64_t const*)d;
+}
+
+__attribute__((noinline))
+uint64_t vector_ldst(uint8_t* d, uint8_t const* p) {
+  __riscv_vse8(d, __riscv_vle8_v_u8m1(p, 16), 16);
+  return *(uint64_t const*)d;
+}
+
+__attribute__((noinline))
+uint64_t vector_ldst64(uint8_t* d, uint8_t const* p) {
+  __riscv_vse64((unsigned long *)d, __riscv_vle64_v_u64m1((const unsigned long *)p, 16), 16);
+  return *(uint64_t const*)d;
+}
+
+// For testing scalar and vector unaligned accesses.
+uint64_t tmp[3] = {1,1,1};
+uint64_t dst[3] = {1,1,1};
+#endif
+
+TEST(sys_hwprobe, __riscv_hwprobe_misaligned_scalar) {
+#if defined(__riscv)
+  uint8_t* p = (uint8_t*)tmp + 1;
+  ASSERT_NE(0U, scalar_cast(p));
+  ASSERT_NE(0U, scalar_memcpy(p));
+#else
+  GTEST_SKIP() << "__riscv_hwprobe requires riscv64";
+#endif
+}
+
+TEST(sys_hwprobe, __riscv_hwprobe_misaligned_vector) {
+#if defined(__riscv)
+  uint8_t* p = (uint8_t*)tmp + 1;
+  uint8_t* d = (uint8_t*)dst + 1;
+
+  ASSERT_NE(0U, vector_ldst(d, p));
+  ASSERT_NE(0U, vector_memcpy(d, p));
+  ASSERT_NE(0U, vector_ldst64(d, p));
+#else
+  GTEST_SKIP() << "__riscv_hwprobe requires riscv64";
+#endif
+}
+
+TEST(sys_hwprobe, __riscv_hwprobe) {
+#if defined(__riscv) && __has_include(<sys/hwprobe.h>)
+  riscv_hwprobe probes[] = {{.key = RISCV_HWPROBE_KEY_IMA_EXT_0},
+                            {.key = RISCV_HWPROBE_KEY_CPUPERF_0}};
+  ASSERT_EQ(0, __riscv_hwprobe(probes, 2, 0, nullptr, 0));
+  EXPECT_EQ(RISCV_HWPROBE_KEY_IMA_EXT_0, probes[0].key);
+  EXPECT_TRUE((probes[0].value & RISCV_HWPROBE_IMA_FD) != 0);
+  EXPECT_TRUE((probes[0].value & RISCV_HWPROBE_IMA_C) != 0);
+  EXPECT_TRUE((probes[0].value & RISCV_HWPROBE_IMA_V) != 0);
+  EXPECT_TRUE((probes[0].value & RISCV_HWPROBE_EXT_ZBA) != 0);
+  EXPECT_TRUE((probes[0].value & RISCV_HWPROBE_EXT_ZBB) != 0);
+  EXPECT_TRUE((probes[0].value & RISCV_HWPROBE_EXT_ZBS) != 0);
+
+  EXPECT_EQ(RISCV_HWPROBE_KEY_CPUPERF_0, probes[1].key);
+  EXPECT_TRUE((probes[1].value & RISCV_HWPROBE_MISALIGNED_MASK) == RISCV_HWPROBE_MISALIGNED_FAST);
+#else
+  GTEST_SKIP() << "__riscv_hwprobe requires riscv64";
+#endif
+}
+
+TEST(sys_hwprobe, __riscv_hwprobe_syscall_vdso) {
+#if defined(__riscv) && __has_include(<sys/hwprobe.h>)
+  riscv_hwprobe probes_vdso[] = {{.key = RISCV_HWPROBE_KEY_IMA_EXT_0},
+                                 {.key = RISCV_HWPROBE_KEY_CPUPERF_0}};
+  ASSERT_EQ(0, __riscv_hwprobe(probes_vdso, 2, 0, nullptr, 0));
+
+  riscv_hwprobe probes_syscall[] = {{.key = RISCV_HWPROBE_KEY_IMA_EXT_0},
+                                    {.key = RISCV_HWPROBE_KEY_CPUPERF_0}};
+  ASSERT_EQ(0, syscall(SYS_riscv_hwprobe, probes_syscall, 2, 0, nullptr, 0));
+
+  // Check we got the same answers from the vdso and the syscall.
+  EXPECT_EQ(RISCV_HWPROBE_KEY_IMA_EXT_0, probes_syscall[0].key);
+  EXPECT_EQ(probes_vdso[0].key, probes_syscall[0].key);
+  EXPECT_EQ(probes_vdso[0].value, probes_syscall[0].value);
+  EXPECT_EQ(RISCV_HWPROBE_KEY_CPUPERF_0, probes_syscall[1].key);
+  EXPECT_EQ(probes_vdso[1].key, probes_syscall[1].key);
+  EXPECT_EQ(probes_vdso[1].value, probes_syscall[1].value);
+#else
+  GTEST_SKIP() << "__riscv_hwprobe requires riscv64";
+#endif
+}
+
+TEST(sys_hwprobe, __riscv_hwprobe_fail) {
+#if defined(__riscv) && __has_include(<sys/hwprobe.h>)
+  riscv_hwprobe probes[] = {};
+  ASSERT_EQ(EINVAL, __riscv_hwprobe(probes, 0, 0, nullptr, ~0));
+#else
+  GTEST_SKIP() << "__riscv_hwprobe requires riscv64";
+#endif
+}
\ No newline at end of file
diff --git a/libm/fenv-access.h b/tests/sys_io_test.cpp
similarity index 71%
copy from libm/fenv-access.h
copy to tests/sys_io_test.cpp
index 7acb34d..293ceb2 100644
--- a/libm/fenv-access.h
+++ b/tests/sys_io_test.cpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2021 The Android Open Source Project
+ * Copyright (C) 2024 The Android Open Source Project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,8 +26,28 @@
  * SUCH DAMAGE.
  */
 
-#pragma once
+#include <gtest/gtest.h>
 
-#if defined(__x86_64__) || defined(__i386__)
-#pragma STDC FENV_ACCESS ON
+#include <sys/io.h>
+
+#include "utils.h"
+
+TEST(sys_io, iopl) {
+#if defined(__i386__) || defined(__x86_64__)
+  errno = 0;
+  ASSERT_EQ(-1, iopl(4));
+  ASSERT_ERRNO(EINVAL);
+#else
+  GTEST_SKIP() << "iopl requires x86/x86-64";
 #endif
+}
+
+TEST(sys_io, ioperm) {
+#if defined(__i386__) || defined(__x86_64__)
+  errno = 0;
+  ASSERT_EQ(-1, ioperm(65535, 4, 0));
+  ASSERT_ERRNO(EINVAL);
+#else
+  GTEST_SKIP() << "ioperm requires x86/x86-64";
+#endif
+}
diff --git a/tests/sys_mman_test.cpp b/tests/sys_mman_test.cpp
index e403ea5..54a0b64 100644
--- a/tests/sys_mman_test.cpp
+++ b/tests/sys_mman_test.cpp
@@ -23,6 +23,10 @@
 #include <android-base/file.h>
 #include <gtest/gtest.h>
 
+#include "utils.h"
+
+static const size_t kPageSize = getpagesize();
+
 TEST(sys_mman, mmap_std) {
   void* map = mmap(nullptr, 4096, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0);
   ASSERT_NE(MAP_FAILED, map);
@@ -218,7 +222,10 @@
 }
 
 TEST(sys_mman, mremap) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnonnull"
   ASSERT_EQ(MAP_FAILED, mremap(nullptr, 0, 0, 0));
+#pragma clang diagnostic pop
 }
 
 constexpr size_t kHuge = size_t(PTRDIFF_MAX) + 1;
@@ -228,42 +235,56 @@
 }
 
 TEST(sys_mman, mremap_PTRDIFF_MAX) {
-  void* map = mmap(nullptr, PAGE_SIZE, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+  void* map = mmap(nullptr, kPageSize, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
   ASSERT_NE(MAP_FAILED, map);
 
-  ASSERT_EQ(MAP_FAILED, mremap(map, PAGE_SIZE, kHuge, MREMAP_MAYMOVE));
+  ASSERT_EQ(MAP_FAILED, mremap(map, kPageSize, kHuge, MREMAP_MAYMOVE));
 
-  ASSERT_EQ(0, munmap(map, PAGE_SIZE));
+  ASSERT_EQ(0, munmap(map, kPageSize));
+}
+
+TEST(sys_mman, mremap_MREMAP_FIXED) {
+  // We're not trying to test the kernel here; that's external/ltp's job.
+  // We just want to check that optional argument (mremap() is varargs)
+  // gets passed through in an MREMAP_FIXED call.
+  void* vma1 = mmap(NULL, getpagesize(), PROT_READ, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+  ASSERT_NE(MAP_FAILED, vma1);
+
+  void* vma2 = mmap(NULL, getpagesize(), PROT_READ, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+  ASSERT_NE(MAP_FAILED, vma2);
+
+  void* vma3 = mremap(vma1, getpagesize(), getpagesize(), MREMAP_FIXED | MREMAP_MAYMOVE, vma2);
+  ASSERT_EQ(vma2, vma3);
 }
 
 TEST(sys_mman, mmap_bug_27265969) {
-  char* base = reinterpret_cast<char*>(mmap(nullptr, PAGE_SIZE * 2, PROT_EXEC | PROT_READ,
-                                            MAP_ANONYMOUS | MAP_PRIVATE, -1, 0));
+  char* base = reinterpret_cast<char*>(
+      mmap(nullptr, kPageSize * 2, PROT_EXEC | PROT_READ, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0));
   // Some kernels had bugs that would cause segfaults here...
-  __builtin___clear_cache(base, base + (PAGE_SIZE * 2));
+  __builtin___clear_cache(base, base + (kPageSize * 2));
 }
 
 TEST(sys_mman, mlock) {
-  void* map = mmap(nullptr, PAGE_SIZE, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+  void* map = mmap(nullptr, kPageSize, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
   ASSERT_NE(MAP_FAILED, map);
 
   // Not really anything we can assert about this.
-  mlock(map, PAGE_SIZE);
+  mlock(map, kPageSize);
 
-  ASSERT_EQ(0, munmap(map, PAGE_SIZE));
+  ASSERT_EQ(0, munmap(map, kPageSize));
 }
 
 TEST(sys_mman, mlock2) {
 #if defined(__GLIBC__)
   GTEST_SKIP() << "needs glibc 2.27";
 #else
-  void* map = mmap(nullptr, PAGE_SIZE, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+  void* map = mmap(nullptr, kPageSize, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
   ASSERT_NE(MAP_FAILED, map);
 
   // Not really anything we can assert about this.
-  mlock2(map, PAGE_SIZE, MLOCK_ONFAULT);
+  mlock2(map, kPageSize, MLOCK_ONFAULT);
 
-  ASSERT_EQ(0, munmap(map, PAGE_SIZE));
+  ASSERT_EQ(0, munmap(map, kPageSize));
 #endif
 }
 
@@ -274,10 +295,9 @@
   // Is the MFD_CLOEXEC flag obeyed?
   errno = 0;
   int fd = memfd_create("doesn't matter", 0);
-  if (fd == -1) {
-    ASSERT_EQ(ENOSYS, errno);
-    GTEST_SKIP() << "no memfd_create available";
-  }
+  if (fd == -1 && errno == ENOSYS) GTEST_SKIP() << "no memfd_create() in this kernel";
+  ASSERT_NE(-1, fd) << strerror(errno);
+
   int f = fcntl(fd, F_GETFD);
   ASSERT_NE(-1, f);
   ASSERT_FALSE(f & FD_CLOEXEC);
@@ -300,3 +320,30 @@
   close(fd);
 #endif
 }
+
+TEST(sys_mseal, mseal) {
+#if defined(__GLIBC__)
+  GTEST_SKIP() << "needs glibc 2.40";
+#else
+  void* map = mmap(nullptr, kPageSize, PROT_NONE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+  ASSERT_NE(MAP_FAILED, map);
+
+#if defined(__LP64__)
+  int rc = mseal(map, kPageSize, 0);
+  if (rc == -1) {
+    ASSERT_ERRNO(ENOSYS);
+    GTEST_SKIP() << "needs kernel with mseal(2)";
+  }
+  ASSERT_EQ(-1, mprotect(map, kPageSize, PROT_READ));
+  ASSERT_ERRNO(EPERM);
+#else
+  // No mseal() for ILP32.
+  errno = 0;
+  ASSERT_EQ(-1, mseal(map, kPageSize, 0));
+  ASSERT_ERRNO(ENOSYS);
+  GTEST_SKIP() << "mseal(2) is LP64-only";
+#endif
+
+  // We can't munmap() our test mapping if mseal() actually succeeded :-)
+#endif
+}
diff --git a/tests/sys_msg_test.cpp b/tests/sys_msg_test.cpp
index da45087..b2d855d 100644
--- a/tests/sys_msg_test.cpp
+++ b/tests/sys_msg_test.cpp
@@ -56,16 +56,17 @@
     long type;
     char data[32];
   } msg = { 1, "hello world" };
-  ASSERT_EQ(0, msgsnd(id, &msg, sizeof(msg), 0));
+  ASSERT_EQ(0, msgsnd(id, &msg, sizeof(msg.data), 0));
 
   // Queue should be non-empty.
   ASSERT_EQ(0, msgctl(id, IPC_STAT, &ds));
   ASSERT_EQ(1U, ds.msg_qnum);
-  ASSERT_EQ(sizeof(msg), ds.msg_cbytes);
+  ASSERT_EQ(sizeof(msg.data), ds.msg_cbytes);
 
   // Read the message.
   memset(&msg, 0, sizeof(msg));
-  ASSERT_EQ(static_cast<ssize_t>(sizeof(msg)), msgrcv(id, &msg, sizeof(msg), 0, 0));
+  ASSERT_EQ(static_cast<ssize_t>(sizeof(msg.data)),
+            msgrcv(id, &msg, sizeof(msg.data), 0, 0));
   ASSERT_EQ(1, msg.type);
   ASSERT_STREQ("hello world", msg.data);
 
@@ -98,7 +99,11 @@
 }
 
 TEST(sys_msg, msgsnd_failure) {
+  struct {
+    long type;
+    char data[1];
+  } msg = { 1, "" };
   errno = 0;
-  ASSERT_EQ(-1, msgsnd(-1, "", 0, 0));
+  ASSERT_EQ(-1, msgsnd(-1, &msg, sizeof(msg.data), 0));
   ASSERT_TRUE(errno == EINVAL || errno == ENOSYS);
 }
diff --git a/tests/sys_prctl_test.cpp b/tests/sys_prctl_test.cpp
index 6d1fa1d..ea36d8a 100644
--- a/tests/sys_prctl_test.cpp
+++ b/tests/sys_prctl_test.cpp
@@ -31,9 +31,10 @@
 #include "android-base/file.h"
 #include "android-base/strings.h"
 
+#include "utils.h"
+
 // http://b/20017123.
 TEST(sys_prctl, bug_20017123) {
-#if defined(PR_SET_VMA) // PR_SET_VMA is only available in Android kernels.
   size_t page_size = static_cast<size_t>(sysconf(_SC_PAGESIZE));
   void* p = mmap(NULL, page_size * 3, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
   ASSERT_NE(MAP_FAILED, p);
@@ -60,15 +61,9 @@
   }
 
   ASSERT_EQ(0, munmap(p, page_size * 3));
-#else
-  GTEST_SKIP() << "PR_SET_VMA not available";
-#endif
 }
 
 TEST(sys_prctl, pr_cap_ambient) {
-// PR_CAP_AMBIENT was introduced in v4.3.  Android devices should always
-// have a backport, but we can't guarantee it's available on the host.
-#if defined(__ANDROID__) || defined(PR_CAP_AMBIENT)
   const std::string caps_sha =
       "https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/"
       "?id=58319057b7847667f0c9585b9de0e8932b0fdb08";
@@ -91,7 +86,7 @@
   // but they can check or lower it
   err = prctl(PR_CAP_AMBIENT, PR_CAP_AMBIENT_RAISE, CAP_SYS_ADMIN, 0, 0);
   EXPECT_EQ(-1, err);
-  EXPECT_EQ(EPERM, errno);
+  EXPECT_ERRNO(EPERM);
 
   err = prctl(PR_CAP_AMBIENT, PR_CAP_AMBIENT_IS_SET, CAP_SYS_ADMIN, 0, 0);
   EXPECT_EQ(0, err);
@@ -102,16 +97,13 @@
   // ULONG_MAX isn't a legal cap
   err = prctl(PR_CAP_AMBIENT, PR_CAP_AMBIENT_RAISE, ULONG_MAX, 0, 0);
   EXPECT_EQ(-1, err);
-  EXPECT_EQ(EINVAL, errno);
+  EXPECT_ERRNO(EINVAL);
 
   err = prctl(PR_CAP_AMBIENT, PR_CAP_AMBIENT_IS_SET, ULONG_MAX, 0, 0);
   EXPECT_EQ(-1, err);
-  EXPECT_EQ(EINVAL, errno);
+  EXPECT_ERRNO(EINVAL);
 
   err = prctl(PR_CAP_AMBIENT, PR_CAP_AMBIENT_LOWER, ULONG_MAX, 0, 0);
   EXPECT_EQ(-1, err);
-  EXPECT_EQ(EINVAL, errno);
-#else
-  GTEST_SKIP() << "PR_CAP_AMBIENT not available";
-#endif
+  EXPECT_ERRNO(EINVAL);
 }
diff --git a/tests/sys_ptrace_test.cpp b/tests/sys_ptrace_test.cpp
index b8c1537..499adbb 100644
--- a/tests/sys_ptrace_test.cpp
+++ b/tests/sys_ptrace_test.cpp
@@ -41,11 +41,6 @@
 
 using android::base::unique_fd;
 
-// Host libc does not define this.
-#ifndef TRAP_HWBKPT
-#define TRAP_HWBKPT 4
-#endif
-
 class ChildGuard {
  public:
   explicit ChildGuard(pid_t pid) : pid(pid) {}
@@ -64,10 +59,11 @@
 
 static void check_hw_feature_supported(pid_t child, HwFeature feature) {
 #if defined(__arm__)
+  errno = 0;
   long capabilities;
   long result = ptrace(PTRACE_GETHBPREGS, child, 0, &capabilities);
   if (result == -1) {
-    EXPECT_EQ(EIO, errno);
+    EXPECT_ERRNO(EIO);
     GTEST_SKIP() << "Hardware debug support disabled at kernel configuration time";
   }
   uint8_t hb_count = capabilities & 0xff;
@@ -88,10 +84,11 @@
   iov.iov_base = &dreg_state;
   iov.iov_len = sizeof(dreg_state);
 
+  errno = 0;
   long result = ptrace(PTRACE_GETREGSET, child,
                        feature == HwFeature::Watchpoint ? NT_ARM_HW_WATCH : NT_ARM_HW_BREAK, &iov);
   if (result == -1) {
-    ASSERT_EQ(EINVAL, errno);
+    ASSERT_ERRNO(EINVAL);
     GTEST_SKIP() << "Hardware support missing";
   } else if ((dreg_state.dbg_info & 0xff) == 0) {
     if (feature == HwFeature::Watchpoint) {
@@ -134,7 +131,7 @@
   ASSERT_EQ(0, ptrace(PTRACE_POKEUSER, child, offsetof(user, u_debugreg[0]), address)) << strerror(errno);
   errno = 0;
   unsigned data = ptrace(PTRACE_PEEKUSER, child, offsetof(user, u_debugreg[7]), nullptr);
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
 
   const unsigned size_flag = (size == 8) ? 2 : size - 1;
   const unsigned enable = 1;
@@ -323,7 +320,7 @@
       << strerror(errno);
   errno = 0;
   unsigned data = ptrace(PTRACE_PEEKUSER, child, offsetof(user, u_debugreg[7]), nullptr);
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
 
   const unsigned size = 0;
   const unsigned enable = 1;
diff --git a/tests/sys_random_test.cpp b/tests/sys_random_test.cpp
index e0cbf78..4425dba 100644
--- a/tests/sys_random_test.cpp
+++ b/tests/sys_random_test.cpp
@@ -34,6 +34,8 @@
 #include <errno.h>
 #include <gtest/gtest.h>
 
+#include "utils.h"
+
 TEST(sys_random, getentropy) {
 #if defined(HAVE_SYS_RANDOM)
   char buf1[64];
@@ -53,7 +55,7 @@
 #if defined(HAVE_SYS_RANDOM)
   errno = 0;
   ASSERT_EQ(-1, getentropy(nullptr, 1));
-  ASSERT_EQ(EFAULT, errno);
+  ASSERT_ERRNO(EFAULT);
 #else
   GTEST_SKIP() << "<sys/random.h> not available";
 #endif
@@ -67,7 +69,7 @@
 
   errno = 0;
   ASSERT_EQ(-1, getentropy(buf, sizeof(buf)));
-  ASSERT_EQ(EIO, errno);
+  ASSERT_ERRNO(EIO);
 #else
   GTEST_SKIP() << "<sys/random.h> not available";
 #endif
@@ -92,7 +94,7 @@
 #if defined(HAVE_SYS_RANDOM)
   errno = 0;
   ASSERT_EQ(-1, getrandom(nullptr, 256, 0));
-  ASSERT_EQ(EFAULT, errno);
+  ASSERT_ERRNO(EFAULT);
 #else
   GTEST_SKIP() << "<sys/random.h> not available";
 #endif
@@ -104,7 +106,7 @@
   errno = 0;
   char buf[64];
   ASSERT_EQ(-1, getrandom(buf, sizeof(buf), ~0));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 #else
   GTEST_SKIP() << "<sys/random.h> not available";
 #endif
diff --git a/tests/sys_select_test.cpp b/tests/sys_select_test.cpp
index 5f019e2..076409d 100644
--- a/tests/sys_select_test.cpp
+++ b/tests/sys_select_test.cpp
@@ -90,7 +90,7 @@
 
   // Invalid max fd.
   ASSERT_EQ(-1, select(-1, &r, &w, &e, nullptr));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   int num_fds = select(max, &r, &w, &e, nullptr);
   // If there is data to be read on STDIN, then the number of
@@ -108,7 +108,7 @@
   tv.tv_sec = -1;
   tv.tv_usec = 0;
   ASSERT_EQ(-1, select(max, &r, &w, &e, &tv));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   // Valid timeout...
   tv.tv_sec = 1;
@@ -145,7 +145,7 @@
 
   // Invalid max fd.
   ASSERT_EQ(-1, pselect(-1, &r, &w, &e, nullptr, &ss));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   // If there is data to be read on STDIN, then the number of
   // fds ready will be 3 instead of 2. Allow this case, but verify
@@ -163,7 +163,7 @@
   tv.tv_sec = -1;
   tv.tv_nsec = 0;
   ASSERT_EQ(-1, pselect(max, &r, &w, &e, &tv, &ss));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   // Valid timeout...
   tv.tv_sec = 1;
diff --git a/tests/sys_sem_test.cpp b/tests/sys_sem_test.cpp
index b98926b..27943cf 100644
--- a/tests/sys_sem_test.cpp
+++ b/tests/sys_sem_test.cpp
@@ -33,6 +33,8 @@
 
 #include <android-base/file.h>
 
+#include "utils.h"
+
 TEST(sys_sem, smoke) {
   if (semctl(-1, 0, IPC_RMID) == -1 && errno == ENOSYS) {
     GTEST_SKIP() << "no <sys/sem.h> support in this kernel";
@@ -62,7 +64,7 @@
   ops[0] = { .sem_num = 0, .sem_op = 0, .sem_flg = 0 };
   errno = 0;
   ASSERT_EQ(-1, semtimedop(id, ops, 1, &ts));
-  ASSERT_EQ(EAGAIN, errno);
+  ASSERT_ERRNO(EAGAIN);
   ASSERT_EQ(1, semctl(id, 0, GETVAL));
 
   // Decrement.
@@ -87,15 +89,21 @@
 }
 
 TEST(sys_sem, semop_failure) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnonnull"
   errno = 0;
   ASSERT_EQ(-1, semop(-1, nullptr, 0));
   ASSERT_TRUE(errno == EINVAL || errno == ENOSYS);
+#pragma clang diagnostic pop
 }
 
 TEST(sys_sem, semtimedop_failure) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnonnull"
   errno = 0;
   ASSERT_EQ(-1, semtimedop(-1, nullptr, 0, nullptr));
   ASSERT_TRUE(errno == EINVAL || errno == ENOSYS);
+#pragma clang diagnostic pop
 }
 
 TEST(sys_sem, union_semun) {
diff --git a/tests/sys_shm_test.cpp b/tests/sys_shm_test.cpp
index fd5d424..65f9eba 100644
--- a/tests/sys_shm_test.cpp
+++ b/tests/sys_shm_test.cpp
@@ -73,9 +73,12 @@
 }
 
 TEST(sys_shm, shmdt_failure) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnonnull"
   errno = 0;
   ASSERT_EQ(-1, shmdt(nullptr));
   ASSERT_TRUE(errno == EINVAL || errno == ENOSYS);
+#pragma clang diagnostic pop
 }
 
 TEST(sys_shm, shmget_failure) {
diff --git a/tests/sys_socket_test.cpp b/tests/sys_socket_test.cpp
index 421a817..1cfbfb2 100644
--- a/tests/sys_socket_test.cpp
+++ b/tests/sys_socket_test.cpp
@@ -100,7 +100,7 @@
 
 TEST(sys_socket, accept4_error) {
   ASSERT_EQ(-1, accept4(-1, nullptr, nullptr, 0));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 }
 
 static void TestAccept4(struct sockaddr_un* addr, int fd) {
@@ -174,8 +174,11 @@
 }
 
 TEST(sys_socket, recvmmsg_error) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnonnull"
   ASSERT_EQ(-1, recvmmsg(-1, nullptr, 0, 0, nullptr));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
+#pragma clang diagnostic pop
 }
 
 const char* g_SendMsgs[] = {
@@ -232,6 +235,9 @@
 }
 
 TEST(sys_socket, sendmmsg_error) {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnonnull"
   ASSERT_EQ(-1, sendmmsg(-1, nullptr, 0, 0));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
+#pragma clang diagnostic pop
 }
diff --git a/tests/sys_stat_test.cpp b/tests/sys_stat_test.cpp
index f36007e..50c50df 100644
--- a/tests/sys_stat_test.cpp
+++ b/tests/sys_stat_test.cpp
@@ -22,6 +22,8 @@
 #include <android-base/file.h>
 #include <gtest/gtest.h>
 
+#include "utils.h"
+
 #if defined(__BIONIC__)
 #define HAVE_STATX
 #elif defined(__GLIBC_PREREQ)
@@ -59,19 +61,19 @@
   times[1].tv_sec = 456;
   times[1].tv_nsec = 0;
   ASSERT_EQ(-1, futimens(-1, times));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 }
 
 TEST(sys_stat, mkfifo_failure) {
   errno = 0;
   ASSERT_EQ(-1, mkfifo("/", 0666));
-  ASSERT_EQ(EEXIST, errno);
+  ASSERT_ERRNO(EEXIST);
 }
 
 TEST(sys_stat, mkfifoat_failure) {
   errno = 0;
   ASSERT_EQ(-1, mkfifoat(-2, "x", 0666));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 }
 
 TEST(sys_stat, mkfifo) {
@@ -107,9 +109,7 @@
 #if defined(HAVE_STATX)
   struct statx sx;
   int rc = statx(AT_FDCWD, "/proc/version", AT_STATX_SYNC_AS_STAT, STATX_ALL, &sx);
-  if (rc == -1 && errno == ENOSYS) {
-    GTEST_SKIP() << "statx returned ENOSYS";
-  }
+  if (rc == -1 && errno == ENOSYS) GTEST_SKIP() << "no statx() in this kernel";
   ASSERT_EQ(0, rc);
   struct stat64 sb;
   ASSERT_EQ(0, stat64("/proc/version", &sb));
@@ -122,48 +122,48 @@
 
 TEST(sys_stat, fchmod_EBADF) {
   ASSERT_EQ(-1, fchmod(-1, 0751));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 }
 
 TEST(sys_stat, fchmodat_EFAULT_file) {
   ASSERT_EQ(-1, fchmodat(AT_FDCWD, (char *) 0x1, 0751, 0));
-  ASSERT_EQ(EFAULT, errno);
+  ASSERT_ERRNO(EFAULT);
 }
 
 TEST(sys_stat, fchmodat_AT_SYMLINK_NOFOLLOW_EFAULT_file) {
   ASSERT_EQ(-1, fchmodat(AT_FDCWD, (char *) 0x1, 0751, AT_SYMLINK_NOFOLLOW));
 #if defined(__BIONIC__)
-  ASSERT_EQ(EFAULT, errno);
+  ASSERT_ERRNO(EFAULT);
 #else
   // glibc 2.19 does not implement AT_SYMLINK_NOFOLLOW and always
   // returns ENOTSUP
-  ASSERT_EQ(ENOTSUP, errno);
+  ASSERT_ERRNO(ENOTSUP);
 #endif
 }
 
 TEST(sys_stat, fchmodat_bad_flags) {
   ASSERT_EQ(-1, fchmodat(AT_FDCWD, "/blah", 0751, ~AT_SYMLINK_NOFOLLOW));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(sys_stat, fchmodat_bad_flags_ALL) {
   ASSERT_EQ(-1, fchmodat(AT_FDCWD, "/blah", 0751, ~0));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
-TEST(sys_stat, fchmodat_nonexistant_file) {
+TEST(sys_stat, fchmodat_nonexistent_file) {
   ASSERT_EQ(-1, fchmodat(AT_FDCWD, "/blah", 0751, 0));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 }
 
-TEST(sys_stat, fchmodat_AT_SYMLINK_NOFOLLOW_nonexistant_file) {
+TEST(sys_stat, fchmodat_AT_SYMLINK_NOFOLLOW_nonexistent_file) {
   ASSERT_EQ(-1, fchmodat(AT_FDCWD, "/blah", 0751, AT_SYMLINK_NOFOLLOW));
 #if defined(__BIONIC__)
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 #else
   // glibc 2.19 does not implement AT_SYMLINK_NOFOLLOW and always
   // returns ENOTSUP
-  ASSERT_EQ(ENOTSUP, errno);
+  ASSERT_ERRNO(ENOTSUP);
 #endif
 }
 
@@ -188,13 +188,13 @@
 
 #if defined(__BIONIC__)
   ASSERT_EQ(0, result);
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
   AssertFileModeEquals(0751, tf.path);
 #else
   // glibc 2.19 does not implement AT_SYMLINK_NOFOLLOW and always
   // returns ENOTSUP
   ASSERT_EQ(-1, result);
-  ASSERT_EQ(ENOTSUP, errno);
+  ASSERT_ERRNO(ENOTSUP);
 #endif
 }
 
@@ -220,7 +220,7 @@
 
   ASSERT_EQ(0, symlink(target, linkname));
   ASSERT_EQ(-1, fchmodat(AT_FDCWD, linkname, 0751, 0));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
   unlink(linkname);
 }
 
@@ -246,7 +246,7 @@
     AssertSymlinkModeEquals(0751, linkname);
   } else {
     ASSERT_EQ(-1, result);
-    ASSERT_EQ(ENOTSUP, errno);
+    ASSERT_ERRNO(ENOTSUP);
   }
 
   // Target file mode shouldn't be modified.
@@ -269,7 +269,7 @@
     AssertSymlinkModeEquals(0751, linkname);
   } else {
     ASSERT_EQ(-1, result);
-    ASSERT_EQ(ENOTSUP, errno);
+    ASSERT_ERRNO(ENOTSUP);
   }
 
   unlink(linkname);
@@ -277,14 +277,14 @@
 
 TEST(sys_stat, faccessat_EINVAL) {
   ASSERT_EQ(-1, faccessat(AT_FDCWD, "/dev/null", F_OK, ~AT_SYMLINK_NOFOLLOW));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 #if defined(__BIONIC__)
   ASSERT_EQ(-1, faccessat(AT_FDCWD, "/dev/null", ~(R_OK | W_OK | X_OK), 0));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 #else
   ASSERT_EQ(0, faccessat(AT_FDCWD, "/dev/null", ~(R_OK | W_OK | X_OK), AT_SYMLINK_NOFOLLOW));
   ASSERT_EQ(-1, faccessat(AT_FDCWD, "/dev/null", ~(R_OK | W_OK | X_OK), 0));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 #endif
 }
 
@@ -292,7 +292,7 @@
 #if defined(__BIONIC__)
   // Android doesn't support AT_SYMLINK_NOFOLLOW
   ASSERT_EQ(-1, faccessat(AT_FDCWD, "/dev/null", F_OK, AT_SYMLINK_NOFOLLOW));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 #else
   ASSERT_EQ(0, faccessat(AT_FDCWD, "/dev/null", F_OK, AT_SYMLINK_NOFOLLOW));
 #endif
@@ -305,12 +305,35 @@
   ASSERT_EQ(0, faccessat(AT_FDCWD, "/dev/null", R_OK|W_OK, 0));
 }
 
-TEST(sys_stat, faccessat_nonexistant) {
+TEST(sys_stat, faccessat_nonexistent) {
   ASSERT_EQ(-1, faccessat(AT_FDCWD, "/blah", F_OK, AT_SYMLINK_NOFOLLOW));
 #if defined(__BIONIC__)
   // Android doesn't support AT_SYMLINK_NOFOLLOW
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 #else
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 #endif
 }
+
+TEST(sys_stat, lchmod) {
+  TemporaryFile tf;
+  struct stat tf_sb;
+  ASSERT_EQ(0, stat(tf.path, &tf_sb));
+
+  char linkname[255];
+  snprintf(linkname, sizeof(linkname), "%s.link", tf.path);
+
+  ASSERT_EQ(0, symlink(tf.path, linkname));
+  int result = lchmod(linkname, 0751);
+  // Whether or not chmod is allowed on a symlink depends on the kernel.
+  if (result == 0) {
+    AssertSymlinkModeEquals(0751, linkname);
+  } else {
+    ASSERT_EQ(-1, result);
+    ASSERT_ERRNO(ENOTSUP);
+  }
+
+  // The target file mode shouldn't be modified.
+  AssertFileModeEquals(tf_sb.st_mode, tf.path);
+  unlink(linkname);
+}
diff --git a/tests/sys_statvfs_test.cpp b/tests/sys_statvfs_test.cpp
index 73b2a96..25256ff 100644
--- a/tests/sys_statvfs_test.cpp
+++ b/tests/sys_statvfs_test.cpp
@@ -25,7 +25,15 @@
 #include <string>
 
 template <typename StatVfsT> void Check(StatVfsT& sb) {
-  EXPECT_EQ(4096U, sb.f_bsize);
+#if defined(__x86_64__)
+  // On x86_64 based 16kb page size targets, the page size in userspace is simulated to 16kb but
+  // the underlying filesystem block size would remain unchanged, i.e., 4kb.
+  // For more info:
+  // https://source.android.com/docs/core/architecture/16kb-page-size/getting-started-cf-x86-64-pgagnostic
+  EXPECT_EQ(4096, static_cast<int>(sb.f_bsize));
+#else
+  EXPECT_EQ(getpagesize(), static_cast<int>(sb.f_bsize));
+#endif
   EXPECT_EQ(0U, sb.f_bfree);
   EXPECT_EQ(0U, sb.f_ffree);
   EXPECT_EQ(255U, sb.f_namemax);
diff --git a/tests/sys_thread_properties_test.cpp b/tests/sys_thread_properties_test.cpp
index cf1a6ba..816be41 100644
--- a/tests/sys_thread_properties_test.cpp
+++ b/tests/sys_thread_properties_test.cpp
@@ -24,8 +24,6 @@
   const char expected_out[] =
       "got test_static_tls_bounds\niterate_cb i = 0\ndone_iterate_dynamic_tls\n";
   std::string helper = GetTestLibRoot() + "tls_properties_helper/tls_properties_helper";
-  chmod(helper.c_str(), 0755);  // TODO: "x" lost in CTS, b/34945607
-
   ExecTestHelper eth;
   eth.SetArgs({helper.c_str(), nullptr});
   eth.Run([&]() { execve(helper.c_str(), eth.GetArgs(), eth.GetEnv()); }, 0, expected_out);
@@ -37,11 +35,8 @@
   // tests/libs/thread_exit_cb_helper.cpp
   const char expected_out[] = "exit_cb_1 called exit_cb_2 called exit_cb_3 called";
   std::string helper = GetTestLibRoot() + "thread_exit_cb_helper/thread_exit_cb_helper";
-  chmod(helper.c_str(), 0755);  // TODO: "x" lost in CTS, b/34945607
-
   ExecTestHelper eth;
   eth.SetArgs({helper.c_str(), nullptr});
   eth.Run([&]() { execve(helper.c_str(), eth.GetArgs(), eth.GetEnv()); }, 0, expected_out);
-
 #endif
 }
diff --git a/tests/sys_time_test.cpp b/tests/sys_time_test.cpp
index 07394d6..b0e52aa 100644
--- a/tests/sys_time_test.cpp
+++ b/tests/sys_time_test.cpp
@@ -23,6 +23,9 @@
 
 #include <android-base/file.h>
 
+#include "private/bionic_time_conversions.h"
+#include "utils.h"
+
 // http://b/11383777
 TEST(sys_time, utimes_nullptr) {
   TemporaryFile tf;
@@ -36,19 +39,19 @@
 
   tv[0].tv_usec = -123;
   ASSERT_EQ(-1, utimes(tf.path, tv));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   tv[0].tv_usec = 1234567;
   ASSERT_EQ(-1, utimes(tf.path, tv));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   tv[0].tv_usec = 0;
 
   tv[1].tv_usec = -123;
   ASSERT_EQ(-1, utimes(tf.path, tv));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   tv[1].tv_usec = 1234567;
   ASSERT_EQ(-1, utimes(tf.path, tv));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(sys_time, futimes_nullptr) {
@@ -63,19 +66,19 @@
 
   tv[0].tv_usec = -123;
   ASSERT_EQ(-1, futimes(tf.fd, tv));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   tv[0].tv_usec = 1234567;
   ASSERT_EQ(-1, futimes(tf.fd, tv));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   tv[0].tv_usec = 0;
 
   tv[1].tv_usec = -123;
   ASSERT_EQ(-1, futimes(tf.fd, tv));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   tv[1].tv_usec = 1234567;
   ASSERT_EQ(-1, futimes(tf.fd, tv));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(sys_time, futimesat_nullptr) {
@@ -90,19 +93,19 @@
 
   tv[0].tv_usec = -123;
   ASSERT_EQ(-1, futimesat(AT_FDCWD, tf.path, tv));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   tv[0].tv_usec = 1234567;
   ASSERT_EQ(-1, futimesat(AT_FDCWD, tf.path, tv));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   tv[0].tv_usec = 0;
 
   tv[1].tv_usec = -123;
   ASSERT_EQ(-1, futimesat(AT_FDCWD, tf.path, tv));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   tv[1].tv_usec = 1234567;
   ASSERT_EQ(-1, futimesat(AT_FDCWD, tf.path, tv));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(sys_time, lutimes_nullptr) {
@@ -117,19 +120,19 @@
 
   tv[0].tv_usec = -123;
   ASSERT_EQ(-1, lutimes(tf.path, tv));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   tv[0].tv_usec = 1234567;
   ASSERT_EQ(-1, lutimes(tf.path, tv));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   tv[0].tv_usec = 0;
 
   tv[1].tv_usec = -123;
   ASSERT_EQ(-1, lutimes(tf.path, tv));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   tv[1].tv_usec = 1234567;
   ASSERT_EQ(-1, lutimes(tf.path, tv));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 // Musl doesn't define __NR_gettimeofday on 32-bit architectures.
@@ -145,14 +148,6 @@
   ASSERT_EQ(0, syscall(__NR_gettimeofday, &tv2, nullptr));
 
   // What's the difference between the two?
-  tv2.tv_sec -= tv1.tv_sec;
-  tv2.tv_usec -= tv1.tv_usec;
-  if (tv2.tv_usec < 0) {
-    --tv2.tv_sec;
-    tv2.tv_usec += 1000000;
-  }
-
   // To try to avoid flakiness we'll accept answers within 10,000us (0.01s).
-  ASSERT_EQ(0, tv2.tv_sec);
-  ASSERT_LT(tv2.tv_usec, 10'000);
+  ASSERT_LT(to_us(tv2) - to_us(tv1), 10'000);
 }
diff --git a/tests/sys_timex_test.cpp b/tests/sys_timex_test.cpp
index 1340ea4..44b73c9 100644
--- a/tests/sys_timex_test.cpp
+++ b/tests/sys_timex_test.cpp
@@ -27,21 +27,9 @@
   ASSERT_NE(-1, adjtimex(&t));
 }
 
-TEST(sys_timex, adjtimex_EFAULT) {
-  errno = 0;
-  ASSERT_EQ(-1, adjtimex(nullptr));
-  ASSERT_EQ(EFAULT, errno);
-}
-
 TEST(sys_timex, clock_adjtime_smoke) {
   timex t;
   memset(&t, 0, sizeof(t));
   // adjtimex/clock_adjtime return the clock state on success, -1 on failure.
   ASSERT_NE(-1, clock_adjtime(CLOCK_REALTIME, &t));
 }
-
-TEST(sys_timex, clock_adjtime_EFAULT) {
-  errno = 0;
-  ASSERT_EQ(-1, clock_adjtime(CLOCK_REALTIME, nullptr));
-  ASSERT_EQ(EFAULT, errno);
-}
diff --git a/tests/sys_uio_test.cpp b/tests/sys_uio_test.cpp
index aac08e7..97ba5d4 100644
--- a/tests/sys_uio_test.cpp
+++ b/tests/sys_uio_test.cpp
@@ -24,6 +24,8 @@
 
 #include <android-base/file.h>
 
+#include "utils.h"
+
 TEST(sys_uio, readv_writev) {
   TemporaryFile tf;
 
@@ -123,8 +125,9 @@
 
   // Reading from non-allocated memory should return an error
   remote = { nullptr, sizeof dst };
+  errno = 0;
   ASSERT_EQ(-1, process_vm_readv(getpid(), &local, 1, &remote, 1, 0));
-  ASSERT_EQ(EFAULT, errno);
+  ASSERT_ERRNO(EFAULT);
 }
 
 TEST(sys_uio, process_vm_writev) {
@@ -142,6 +145,7 @@
 
   // Writing to non-allocated memory should return an error
   remote = { nullptr, sizeof dst };
+  errno = 0;
   ASSERT_EQ(-1, process_vm_writev(getpid(), &local, 1, &remote, 1, 0));
-  ASSERT_EQ(EFAULT, errno);
+  ASSERT_ERRNO(EFAULT);
 }
diff --git a/tests/sys_vfs_test.cpp b/tests/sys_vfs_test.cpp
index 363e49b..90b6da9 100644
--- a/tests/sys_vfs_test.cpp
+++ b/tests/sys_vfs_test.cpp
@@ -24,8 +24,18 @@
 
 #include <string>
 
+#include "utils.h"
+
 template <typename StatFsT> void Check(StatFsT& sb) {
+#if defined(__x86_64__)
+  // On x86_64 based 16kb page size targets, the page size in userspace is simulated to 16kb but
+  // the underlying filesystem block size would remain unchanged, i.e., 4kb.
+  // For more info:
+  // https://source.android.com/docs/core/architecture/16kb-page-size/getting-started-cf-x86-64-pgagnostic
   EXPECT_EQ(4096, static_cast<int>(sb.f_bsize));
+#else
+  EXPECT_EQ(getpagesize(), static_cast<int>(sb.f_bsize));
+#endif
   EXPECT_EQ(0U, sb.f_bfree);
   EXPECT_EQ(0U, sb.f_ffree);
   EXPECT_EQ(255, static_cast<int>(sb.f_namelen));
@@ -59,7 +69,7 @@
   struct statfs sb;
   errno = 0;
   ASSERT_EQ(-1, statfs("/does-not-exist", &sb));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 }
 
 TEST(sys_vfs, statfs64_smoke) {
@@ -72,7 +82,7 @@
   struct statfs64 sb;
   errno = 0;
   ASSERT_EQ(-1, statfs64("/does-not-exist", &sb));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 }
 
 TEST(sys_vfs, fstatfs) {
@@ -87,7 +97,7 @@
   struct statfs sb;
   errno = 0;
   ASSERT_EQ(-1, fstatfs(-1, &sb));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 }
 
 TEST(sys_vfs, fstatfs64_smoke) {
@@ -102,5 +112,5 @@
   struct statfs sb;
   errno = 0;
   ASSERT_EQ(-1, fstatfs(-1, &sb));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 }
diff --git a/tests/sys_wait_test.cpp b/tests/sys_wait_test.cpp
index c006972..200fabe 100644
--- a/tests/sys_wait_test.cpp
+++ b/tests/sys_wait_test.cpp
@@ -42,3 +42,22 @@
   ASSERT_EQ(66, si.si_status);
   ASSERT_EQ(CLD_EXITED, si.si_code);
 }
+
+// https://github.com/android/ndk/issues/1878
+TEST(sys_wait, macros) {
+#if defined(__GLIBC__)
+  // glibc before 2016 requires an lvalue.
+#else
+  ASSERT_FALSE(WIFEXITED(0x7f));
+  ASSERT_TRUE(WIFSTOPPED(0x7f));
+  ASSERT_FALSE(WIFCONTINUED(0x7f));
+
+  ASSERT_TRUE(WIFEXITED(0x80));
+  ASSERT_FALSE(WIFSTOPPED(0x80));
+  ASSERT_FALSE(WIFCONTINUED(0x80));
+
+  ASSERT_FALSE(WIFEXITED(0xffff));
+  ASSERT_FALSE(WIFSTOPPED(0xffff));
+  ASSERT_TRUE(WIFCONTINUED(0xffff));
+#endif
+}
diff --git a/tests/sys_xattr_test.cpp b/tests/sys_xattr_test.cpp
index 45cf379..fa2aee4 100644
--- a/tests/sys_xattr_test.cpp
+++ b/tests/sys_xattr_test.cpp
@@ -21,6 +21,8 @@
 #include <android-base/file.h>
 #include <gtest/gtest.h>
 
+#include "utils.h"
+
 TEST(sys_xattr, setxattr) {
   TemporaryFile tf;
   char buf[10];
@@ -52,17 +54,17 @@
   char buf[10];
   ASSERT_EQ(0, fsetxattr(tf.fd, "user.foo", "01234567890123456789", 21, 0));
   ASSERT_EQ(-1, fgetxattr(tf.fd, "user.foo", buf, sizeof(buf)));
-  ASSERT_EQ(ERANGE, errno);
+  ASSERT_ERRNO(ERANGE);
 }
 
 TEST(sys_xattr, fsetxattr_invalid_fd) {
   char buf[10];
   errno = 0;
   ASSERT_EQ(-1, fsetxattr(-1, "user.foo", "0123", 5, 0));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
   errno = 0;
   ASSERT_EQ(-1, fgetxattr(-1, "user.foo", buf, sizeof(buf)));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 }
 
 TEST(sys_xattr, fsetxattr_with_opath) {
@@ -78,7 +80,7 @@
   ASSERT_STREQ("bar", buf);
 #else
   ASSERT_EQ(-1, res);
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 #endif
   close(fd);
 }
@@ -93,10 +95,10 @@
   char buf[10];
   ASSERT_EQ(0, res);
   ASSERT_EQ(-1, fgetxattr(fd, "user.foo", buf, sizeof(buf)));
-  ASSERT_EQ(ERANGE, errno);
+  ASSERT_ERRNO(ERANGE);
 #else
   ASSERT_EQ(-1, res);
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 #endif
   close(fd);
 }
@@ -123,7 +125,7 @@
   ASSERT_TRUE(memmem(buf, res, "user.foo", 9) != nullptr);
 #else
   ASSERT_EQ(-1, res);
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 #endif
   close(fd);
 }
@@ -132,5 +134,5 @@
   char buf[65536];  // 64kB is max possible xattr list size. See "man 7 xattr".
   errno = 0;
   ASSERT_EQ(-1, flistxattr(-1, buf, sizeof(buf)));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 }
diff --git a/tests/syslog_test.cpp b/tests/syslog_test.cpp
new file mode 100644
index 0000000..623d8a3
--- /dev/null
+++ b/tests/syslog_test.cpp
@@ -0,0 +1,108 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <stddef.h>  // glibc's <syslog.h> breaks without this; musl seems fine.
+
+#define SYSLOG_NAMES
+#include <syslog.h>
+
+#include <errno.h>
+#include <gtest/gtest.h>
+
+#include "utils.h"
+
+TEST(syslog, syslog_percent_m) {
+  ExecTestHelper eth;
+  eth.Run(
+      [&]() {
+        openlog("foo", LOG_PERROR, LOG_AUTH);
+        errno = EINVAL;
+        syslog(LOG_ERR, "a b c: %m");
+        closelog();
+        exit(0);
+      },
+      0, "foo: a b c: Invalid argument\n");
+}
+
+TEST(syslog, syslog_empty) {
+  ExecTestHelper eth;
+  eth.Run(
+      [&]() {
+        openlog("foo", LOG_PERROR, LOG_AUTH);
+        errno = EINVAL;
+        syslog(LOG_ERR, "");
+        closelog();
+        exit(0);
+      },
+      0, "foo: \n");
+}
+
+TEST(syslog, syslog_truncation) {
+  ExecTestHelper eth;
+  eth.Run(
+      [&]() {
+        openlog("bar", LOG_PERROR, LOG_AUTH);
+        char too_long[2048] = {};
+        memset(too_long, 'x', sizeof(too_long) - 1);
+        syslog(LOG_ERR, "%s", too_long);
+        closelog();
+        exit(0);
+      },
+      0, "bar: x{1023}\n");
+}
+
+static int by_name(const CODE* array, const char* name) {
+  for (auto c = array; c->c_name != nullptr; c++) {
+    if (!strcmp(c->c_name, name)) return c->c_val;
+  }
+  return -1;
+}
+
+static const char* by_value(const CODE* array, int value) {
+  for (auto c = array; c->c_name != nullptr; c++) {
+    if (c->c_val == value) return c->c_name;
+  }
+  return nullptr;
+}
+
+TEST(syslog, facilitynames) {
+  ASSERT_STREQ("auth", by_value(facilitynames, LOG_AUTH));
+  ASSERT_STREQ("local7", by_value(facilitynames, LOG_LOCAL7));
+  ASSERT_EQ(LOG_AUTH, by_name(facilitynames, "auth"));
+  ASSERT_EQ(LOG_LOCAL7, by_name(facilitynames, "local7"));
+}
+
+TEST(syslog, prioritynames) {
+  ASSERT_STREQ("alert", by_value(prioritynames, LOG_ALERT));
+  ASSERT_STREQ("err", by_value(prioritynames, LOG_ERR));
+  ASSERT_STREQ("warn", by_value(prioritynames, LOG_WARNING));
+  ASSERT_EQ(LOG_ALERT, by_name(prioritynames, "alert"));
+  ASSERT_EQ(LOG_ERR, by_name(prioritynames, "err"));
+  ASSERT_EQ(LOG_WARNING, by_name(prioritynames, "warn"));
+  ASSERT_EQ(LOG_WARNING, by_name(prioritynames, "warning"));
+}
diff --git a/tests/system_properties_test.cpp b/tests/system_properties_test.cpp
index aa8fef4..5b5e009 100644
--- a/tests/system_properties_test.cpp
+++ b/tests/system_properties_test.cpp
@@ -25,31 +25,52 @@
 
 #include <android-base/file.h>
 #include <android-base/silent_death_test.h>
+#include <android-base/stringprintf.h>
+
+#include "utils.h"
 
 using namespace std::literals;
 
 #if defined(__BIONIC__)
 
-#define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
-#include <sys/_system_properties.h>
+#include <stdlib.h>
+#include <sys/mount.h>
+#include <sys/system_properties.h>
 
 #include <system_properties/system_properties.h>
 
 class SystemPropertiesTest : public SystemProperties {
  public:
   SystemPropertiesTest() : SystemProperties(false) {
-    valid_ = AreaInit(dir_.path, nullptr);
+    appcompat_path = android::base::StringPrintf("%s/appcompat_override", dir_.path);
+    mount_path = android::base::StringPrintf("%s/__properties__", dir_.path);
+    mkdir(appcompat_path.c_str(), S_IRWXU | S_IXGRP | S_IXOTH);
+    valid_ = AreaInit(dir_.path, nullptr, true);
   }
   ~SystemPropertiesTest() {
     if (valid_) {
       contexts_->FreeAndUnmap();
     }
+    umount2(dir_.path, MNT_DETACH);
+    umount2(real_sysprop_dir.c_str(), MNT_DETACH);
   }
 
   bool valid() const {
     return valid_;
   }
 
+  const char* get_path() const { return dir_.path; }
+
+  const char* get_appcompat_path() const { return appcompat_path.c_str(); }
+
+  const char* get_mount_path() const { return mount_path.c_str(); }
+
+  const char* get_real_sysprop_dir() const { return real_sysprop_dir.c_str(); }
+
+  std::string appcompat_path;
+  std::string mount_path;
+  std::string real_sysprop_dir = "/dev/__properties__";
+
  private:
   TemporaryDir dir_;
   bool valid_;
@@ -125,6 +146,58 @@
 #endif // __BIONIC__
 }
 
+TEST(properties, __system_property_add_appcompat) {
+#if defined(__BIONIC__)
+    if (getuid() != 0) GTEST_SKIP() << "test requires root";
+    SystemPropertiesTest system_properties;
+    ASSERT_TRUE(system_properties.valid());
+
+    char name[] = "ro.property";
+    char override_name[] = "ro.appcompat_override.ro.property";
+    char name_not_written[] = "ro.property_other";
+    char override_with_no_real[] = "ro.appcompat_override.ro.property_other";
+    ASSERT_EQ(0, system_properties.Add(name, strlen(name), "value1", 6));
+    ASSERT_EQ(0, system_properties.Add(override_name, strlen(override_name), "value2", 6));
+    ASSERT_EQ(0, system_properties.Add(override_with_no_real, strlen(override_with_no_real),
+                                       "value3", 6));
+
+    char propvalue[PROP_VALUE_MAX];
+    ASSERT_EQ(6, system_properties.Get(name, propvalue));
+    ASSERT_STREQ(propvalue, "value1");
+
+    ASSERT_EQ(6, system_properties.Get(override_name, propvalue));
+    ASSERT_STREQ(propvalue, "value2");
+
+    ASSERT_EQ(0, system_properties.Get(name_not_written, propvalue));
+    ASSERT_STREQ(propvalue, "");
+
+    ASSERT_EQ(6, system_properties.Get(override_with_no_real, propvalue));
+    ASSERT_STREQ(propvalue, "value3");
+
+    int ret = mount(system_properties.get_appcompat_path(), system_properties.get_path(), nullptr,
+                    MS_BIND | MS_REC, nullptr);
+    if (ret != 0) {
+      ASSERT_ERRNO(0);
+    }
+    system_properties.Reload(true);
+
+    ASSERT_EQ(6, system_properties.Get(name, propvalue));
+    ASSERT_STREQ(propvalue, "value2");
+
+    ASSERT_EQ(0, system_properties.Get(override_name, propvalue));
+    ASSERT_STREQ(propvalue, "");
+
+    ASSERT_EQ(6, system_properties.Get(name_not_written, propvalue));
+    ASSERT_STREQ(propvalue, "value3");
+
+    ASSERT_EQ(0, system_properties.Get(override_with_no_real, propvalue));
+    ASSERT_STREQ(propvalue, "");
+
+#else   // __BIONIC__
+    GTEST_SKIP() << "bionic-only test";
+#endif  // __BIONIC__
+}
+
 TEST(properties, __system_property_update) {
 #if defined(__BIONIC__)
     SystemPropertiesTest system_properties;
@@ -432,7 +505,7 @@
 
   // This test only makes sense if we're talking to the real system property service.
   struct stat sb;
-  ASSERT_FALSE(stat(PROP_FILENAME, &sb) == -1 && errno == ENOENT);
+  ASSERT_FALSE(stat(PROP_DIRNAME, &sb) == -1 && errno == ENOENT);
 
   ASSERT_EXIT(__system_property_add("property", 8, "value", 5), KilledByFault(), "");
 #else // __BIONIC__
@@ -498,7 +571,7 @@
     check_with_read_callback(name, value);
   }
 
-  constexpr static const char* kExtraLongLegacyError =
+  static constexpr const char* kExtraLongLegacyError =
       "Must use __system_property_read_callback() to read";
   for (const auto& property : long_properties) {
     const std::string& name = property.first;
@@ -519,10 +592,106 @@
   ASSERT_TRUE(system_properties.valid());
 
   auto name = "ro.super_long_property"s;
+
+#ifdef LARGE_SYSTEM_PROPERTY_NODE
+  auto value = std::string(1024 * 1024 + 1, 'x');
+#else
   auto value = std::string(128 * 1024 + 1, 'x');
+#endif
+
   ASSERT_NE(0, system_properties.Add(name.c_str(), name.size(), value.c_str(), value.size()));
 
 #else   // __BIONIC__
   GTEST_SKIP() << "bionic-only test";
 #endif  // __BIONIC__
 }
+
+// Note that this test affects global state of the system
+// this tests tries to mitigate this by using utime+pid
+// prefix for the property name. It is still results in
+// pollution of property service since properties cannot
+// be removed.
+//
+// Note that there is also possibility to run into "out-of-memory"
+// if this test if it is executed often enough without reboot.
+TEST(properties, __system_property_reload_no_op) {
+#if defined(__BIONIC__)
+  std::string property_name =
+      android::base::StringPrintf("debug.test.%d.%" PRId64 ".property", getpid(), NanoTime());
+  ASSERT_EQ(0, __system_property_find(property_name.c_str()));
+  ASSERT_EQ(0, __system_property_set(property_name.c_str(), "test value"));
+  ASSERT_EQ(0, __system_properties_zygote_reload());
+  const prop_info* readptr = __system_property_find(property_name.c_str());
+  std::string expected_name = property_name;
+  __system_property_read_callback(
+      readptr,
+      [](void*, const char*, const char* value, unsigned) { ASSERT_STREQ("test value", value); },
+      &expected_name);
+#else   // __BIONIC__
+  GTEST_SKIP() << "bionic-only test";
+#endif  // __BIONIC__
+}
+
+TEST(properties, __system_property_reload_invalid) {
+#if defined(__BIONIC__)
+  if (getuid() != 0) GTEST_SKIP() << "test requires root";
+  SystemPropertiesTest system_properties;
+
+  // Create an invalid property_info file, so the system will attempt to initialize a
+  // ContextSerialized
+  std::string property_info_file =
+      android::base::StringPrintf("%s/property_info", system_properties.get_path());
+  fclose(fopen(property_info_file.c_str(), "w"));
+  int ret = mount(system_properties.get_path(), system_properties.get_real_sysprop_dir(), nullptr,
+                  MS_BIND | MS_REC, nullptr);
+  if (ret != 0) {
+    ASSERT_ERRNO(0);
+  }
+
+  ASSERT_EQ(-1, __system_properties_zygote_reload());
+#else   // __BIONIC__
+  GTEST_SKIP() << "bionic-only test";
+#endif  // __BIONIC__
+}
+
+// Note that this test affects global state of the system
+// this tests tries to mitigate this by using utime+pid
+// prefix for the property name. It is still results in
+// pollution of property service since properties cannot
+// be removed.
+//
+// Note that there is also possibility to run into "out-of-memory"
+// if this test if it is executed often enough without reboot.
+TEST(properties, __system_property_reload_valid) {
+#if defined(__BIONIC__)
+  if (getuid() != 0) GTEST_SKIP() << "test requires root";
+  SystemPropertiesTest system_properties;
+
+  // Copy the system properties files into the temp directory
+  std::string shell_cmd = android::base::StringPrintf(
+      "cp -r %s %s", system_properties.get_real_sysprop_dir(), system_properties.get_path());
+  system(shell_cmd.c_str());
+
+  // Write a system property to the current set of system properties
+  std::string property_name =
+      android::base::StringPrintf("debug.test.%d.%" PRId64 ".property", getpid(), NanoTime());
+  ASSERT_EQ(0, __system_property_find(property_name.c_str()));
+  ASSERT_EQ(0, __system_property_set(property_name.c_str(), "test value"));
+
+  // Mount the temp directory (which doesn't have the property we just wrote) in place of the
+  // real one
+  int ret = mount(system_properties.get_mount_path(), system_properties.get_real_sysprop_dir(),
+                  nullptr, MS_BIND | MS_REC, nullptr);
+  if (ret != 0) {
+    ASSERT_ERRNO(0);
+  }
+
+  // reload system properties in the new dir, and verify the property we wrote after we copied the
+  // files isn't there
+  ASSERT_EQ(0, __system_properties_zygote_reload());
+  ASSERT_EQ(0, __system_property_find(property_name.c_str()));
+
+#else   // __BIONIC__
+  GTEST_SKIP() << "bionic-only test";
+#endif  // __BIONIC__
+}
diff --git a/tests/system_properties_test2.cpp b/tests/system_properties_test2.cpp
index 0953bde..0795ccd 100644
--- a/tests/system_properties_test2.cpp
+++ b/tests/system_properties_test2.cpp
@@ -28,10 +28,6 @@
 
 #if defined(__BIONIC__)
 #include <sys/system_properties.h>
-int64_t NanoTime() {
-  auto t = std::chrono::time_point_cast<std::chrono::nanoseconds>(std::chrono::steady_clock::now());
-  return t.time_since_epoch().count();
-}
 #endif
 
 // Note that this test affects global state of the system
diff --git a/tests/termios_test.cpp b/tests/termios_test.cpp
index 6290771..19e9bfe 100644
--- a/tests/termios_test.cpp
+++ b/tests/termios_test.cpp
@@ -29,9 +29,13 @@
 #include <termios.h>
 
 #include <errno.h>
+#include <fcntl.h>
+#include <pty.h>
 
 #include <gtest/gtest.h>
 
+#include "utils.h"
+
 // TODO:
 // tcdrain
 // tcflow
@@ -51,7 +55,7 @@
   termios t = {};
   errno = 0;
   ASSERT_EQ(-1, cfsetispeed(&t, 1200));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(termios, cfgetospeed_cfsetospeed) {
@@ -64,7 +68,7 @@
   termios t = {};
   errno = 0;
   ASSERT_EQ(-1, cfsetospeed(&t, 1200));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(termios, cfsetspeed) {
@@ -80,7 +84,7 @@
   // glibc seems to allow 1200 as well as B1200 here, presumably for
   // BSD compatibility (where Bxxx == xxx, unlike Linux).
   ASSERT_EQ(-1, cfsetspeed(&t, 123));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(termios, cfmakeraw) {
@@ -92,7 +96,53 @@
   EXPECT_EQ(0U, (t.c_oflag & OPOST));
   EXPECT_EQ(0U, (t.c_lflag & (ECHO|ECHONL|ICANON|ISIG|IEXTEN)));
   EXPECT_EQ(0U, (t.c_cflag & PARENB));
-  EXPECT_EQ(CS8, static_cast<int>(t.c_cflag & CSIZE));
+  EXPECT_EQ(static_cast<unsigned>(CS8), (t.c_cflag & CSIZE));
   EXPECT_EQ(1, t.c_cc[VMIN]);
   EXPECT_EQ(0, t.c_cc[VTIME]);
 }
+
+TEST(termios, tcgetwinsize_tcsetwinsize_invalid) {
+#if !defined(__GLIBC__)
+  winsize ws = {};
+
+  errno = 0;
+  ASSERT_EQ(-1, tcgetwinsize(-1, &ws));
+  ASSERT_ERRNO(EBADF);
+
+  errno = 0;
+  ASSERT_EQ(-1, tcsetwinsize(-1, &ws));
+  ASSERT_ERRNO(EBADF);
+#else
+  GTEST_SKIP() << "glibc too old";
+#endif
+}
+
+TEST(termios, tcgetwinsize_tcsetwinsize) {
+#if !defined(__GLIBC__)
+  int pty, tty;
+  winsize ws = {123, 456, 9999, 9999};
+  ASSERT_EQ(0, openpty(&pty, &tty, nullptr, nullptr, &ws));
+
+  winsize actual = {};
+  ASSERT_EQ(0, tcgetwinsize(tty, &actual));
+  EXPECT_EQ(ws.ws_xpixel, actual.ws_xpixel);
+  EXPECT_EQ(ws.ws_ypixel, actual.ws_ypixel);
+  EXPECT_EQ(ws.ws_row, actual.ws_row);
+  EXPECT_EQ(ws.ws_col, actual.ws_col);
+
+  ws = {1, 2, 3, 4};
+  ASSERT_EQ(0, tcsetwinsize(tty, &ws));
+
+  actual = {};
+  ASSERT_EQ(0, tcgetwinsize(tty, &actual));
+  EXPECT_EQ(ws.ws_xpixel, actual.ws_xpixel);
+  EXPECT_EQ(ws.ws_ypixel, actual.ws_ypixel);
+  EXPECT_EQ(ws.ws_row, actual.ws_row);
+  EXPECT_EQ(ws.ws_col, actual.ws_col);
+
+  close(pty);
+  close(tty);
+#else
+  GTEST_SKIP() << "glibc too old";
+#endif
+}
diff --git a/tests/time_test.cpp b/tests/time_test.cpp
index 0dcbcd2..baafbf6 100644
--- a/tests/time_test.cpp
+++ b/tests/time_test.cpp
@@ -28,8 +28,11 @@
 
 #include <atomic>
 #include <chrono>
+#include <thread>
 
 #include "SignalUtils.h"
+#include "android-base/file.h"
+#include "android-base/strings.h"
 #include "utils.h"
 
 using namespace std::chrono_literals;
@@ -96,7 +99,7 @@
 
 static void* gmtime_no_stack_overflow_14313703_fn(void*) {
   const char* original_tz = getenv("TZ");
-  // Ensure we'll actually have to enter tzload by using a time zone that doesn't exist.
+  // Ensure we'll actually have to enter tzload by using a timezone that doesn't exist.
   setenv("TZ", "gmtime_stack_overflow_14313703", 1);
   tzset();
   if (original_tz != nullptr) {
@@ -149,7 +152,7 @@
 #if !defined(__LP64__)
   // 32-bit bionic has a signed 32-bit time_t.
   ASSERT_EQ(-1, mktime(&tm));
-  ASSERT_EQ(EOVERFLOW, errno);
+  ASSERT_ERRNO(EOVERFLOW);
 #else
   // Everyone else should be using a signed 64-bit time_t.
   ASSERT_GE(sizeof(time_t) * 8, 64U);
@@ -163,11 +166,11 @@
   // mktime to interpret that time as local standard, hence offset
   // is 8 hours, not 7.
   ASSERT_EQ(static_cast<time_t>(4108348800U), mktime(&tm));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
 #endif
 }
 
-TEST(time, DISABLED_mktime_EOVERFLOW) {
+TEST(time, mktime_EOVERFLOW) {
   setenv("TZ", "UTC", 1);
 
   struct tm t;
@@ -181,14 +184,29 @@
 
   errno = 0;
   ASSERT_NE(static_cast<time_t>(-1), mktime(&t));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
 
-  // This will overflow for LP32 or LP64.
+  // This will overflow for LP32.
   t.tm_year = INT_MAX;
 
   errno = 0;
+#if !defined(__LP64__)
   ASSERT_EQ(static_cast<time_t>(-1), mktime(&t));
-  ASSERT_EQ(EOVERFLOW, errno);
+  ASSERT_ERRNO(EOVERFLOW);
+#else
+  ASSERT_EQ(static_cast<time_t>(67768036166016000U), mktime(&t));
+  ASSERT_ERRNO(0);
+#endif
+
+  // This will overflow for LP32 or LP64.
+  // tm_year is int, this t struct points to INT_MAX + 1 no matter what TZ is.
+  t.tm_year = INT_MAX;
+  t.tm_mon = 11;
+  t.tm_mday = 45;
+
+  errno = 0;
+  ASSERT_EQ(static_cast<time_t>(-1), mktime(&t));
+  ASSERT_ERRNO(EOVERFLOW);
 }
 
 TEST(time, mktime_invalid_tm_TZ_combination) {
@@ -206,7 +224,7 @@
 
   EXPECT_EQ(static_cast<time_t>(-1), mktime(&t));
   // mktime sets errno to EOVERFLOW if result is unrepresentable.
-  EXPECT_EQ(EOVERFLOW, errno);
+  EXPECT_ERRNO(EOVERFLOW);
 }
 
 // Transitions in the tzdata file are generated up to the year 2100. Testing
@@ -217,14 +235,13 @@
 #if !defined(__LP64__)
   // 32-bit bionic has a signed 32-bit time_t.
   ASSERT_EQ(-1, mktime(&tm));
-  ASSERT_EQ(EOVERFLOW, errno);
+  ASSERT_ERRNO(EOVERFLOW);
 #else
   setenv("TZ", "Europe/London", 1);
   tzset();
   errno = 0;
-
   ASSERT_EQ(static_cast<time_t>(5686156800U), mktime(&tm));
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
 #endif
 }
 
@@ -308,7 +325,7 @@
 
 // According to C language specification the only tm struct field needed to
 // find out replacement for %z and %Z in strftime is tm_isdst. Which is
-// wrong, as time zones change their standard offset and even DST savings.
+// wrong, as timezones change their standard offset and even DST savings.
 // tzcode deviates from C language specification and requires tm struct either
 // to be output of localtime-like functions or to be modified by mktime call
 // before passing to strftime. See tz mailing discussion for more details
@@ -544,7 +561,7 @@
   EXPECT_EQ(1, tm.tm_isdst);
   EXPECT_EQ(3600, tm.tm_gmtoff);
 
-  // And as long as we're in Europe/Berlin, those are the only time zone
+  // And as long as we're in Europe/Berlin, those are the only timezone
   // abbreviations that are recognized.
   tm = {};
   ASSERT_TRUE(strptime("PDT", "%Z", &tm) == nullptr);
@@ -633,7 +650,7 @@
   if (pid == 0) {
     // Timers are not inherited by the child.
     ASSERT_EQ(-1, timer_delete(timer_id));
-    ASSERT_EQ(EINVAL, errno);
+    ASSERT_ERRNO(EINVAL);
     _exit(0);
   }
 
@@ -782,21 +799,41 @@
   ASSERT_EQ(1, timer_create_NULL_signal_handler_invocation_count);
 }
 
+static int GetThreadCount() {
+  std::string status;
+  if (android::base::ReadFileToString("/proc/self/status", &status)) {
+    for (const auto& line : android::base::Split(status, "\n")) {
+      int thread_count;
+      if (sscanf(line.c_str(), "Threads: %d", &thread_count) == 1) {
+        return thread_count;
+      }
+    }
+  }
+  return -1;
+}
+
 TEST(time, timer_create_EINVAL) {
-  clockid_t invalid_clock = 16;
+  const clockid_t kInvalidClock = 16;
 
-  // A SIGEV_SIGNAL timer is easy; the kernel does all that.
+  // A SIGEV_SIGNAL timer failure is easy; that's the kernel's problem.
   timer_t timer_id;
-  ASSERT_EQ(-1, timer_create(invalid_clock, nullptr, &timer_id));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_EQ(-1, timer_create(kInvalidClock, nullptr, &timer_id));
+  ASSERT_ERRNO(EINVAL);
 
-  // A SIGEV_THREAD timer is more interesting because we have stuff to clean up.
-  sigevent se;
-  memset(&se, 0, sizeof(se));
+  // A SIGEV_THREAD timer failure is more interesting because we have a thread
+  // to clean up (https://issuetracker.google.com/340125671).
+  sigevent se = {};
   se.sigev_notify = SIGEV_THREAD;
   se.sigev_notify_function = NoOpNotifyFunction;
-  ASSERT_EQ(-1, timer_create(invalid_clock, &se, &timer_id));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_EQ(-1, timer_create(kInvalidClock, &se, &timer_id));
+  ASSERT_ERRNO(EINVAL);
+
+  // timer_create() doesn't guarantee that the thread will be dead _before_
+  // it returns because that would require extra synchronization that's
+  // unnecessary in the normal (successful) case. A timeout here means we
+  // leaked a thread.
+  while (GetThreadCount() > 1) {
+  }
 }
 
 TEST(time, timer_create_multiple) {
@@ -899,7 +936,7 @@
   cur_time = time(NULL);
   while ((kill(tdd.tid, 0) != -1 || errno != ESRCH) && (time(NULL) - cur_time) < 5);
   ASSERT_EQ(-1, kill(tdd.tid, 0));
-  ASSERT_EQ(ESRCH, errno);
+  ASSERT_ERRNO(ESRCH);
 #endif
 }
 
@@ -957,7 +994,7 @@
   errno = 0;
   timespec ts;
   ASSERT_EQ(-1, clock_gettime(-1, &ts));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(time, clock_getres_CLOCK_REALTIME) {
@@ -995,7 +1032,7 @@
   errno = 0;
   timespec ts = { -1, -1 };
   ASSERT_EQ(-1, clock_getres(-1, &ts));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   ASSERT_EQ(-1, ts.tv_nsec);
   ASSERT_EQ(-1, ts.tv_sec);
 }
@@ -1048,14 +1085,14 @@
     << "commit/?id=e1b6b6ce55a0a25c8aa8af019095253b2133a41a\n"
     << "* https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/"
     << "commit/?id=c80ed088a519da53f27b798a69748eaabc66aadf\n";
-  ASSERT_EQ(0, errno);
+  ASSERT_ERRNO(0);
 }
 
 TEST(time, clock_settime) {
   errno = 0;
   timespec ts;
   ASSERT_EQ(-1, clock_settime(-1, &ts));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(time, clock_nanosleep_EINVAL) {
@@ -1091,7 +1128,7 @@
   timespec ts = {.tv_sec = -1};
   errno = 0;
   ASSERT_EQ(-1, nanosleep(&ts, nullptr));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(time, bug_31938693) {
@@ -1102,7 +1139,7 @@
   // Actual underlying bug (the code change, not the tzdata upgrade that first exposed the bug):
   // http://b/31848040
 
-  // This isn't a great test, because very few time zones were actually affected, and there's
+  // This isn't a great test, because very few timezones were actually affected, and there's
   // no real logic to which ones were affected: it was just a coincidence of the data that came
   // after them in the tzdata file.
 
@@ -1143,10 +1180,10 @@
 TEST(time, bug_31339449) {
   // POSIX says localtime acts as if it calls tzset.
   // tzset does two things:
-  //  1. it sets the time zone ctime/localtime/mktime/strftime will use.
+  //  1. it sets the timezone ctime/localtime/mktime/strftime will use.
   //  2. it sets the global `tzname`.
   // POSIX says localtime_r need not set `tzname` (2).
-  // Q: should localtime_r set the time zone (1)?
+  // Q: should localtime_r set the timezone (1)?
   // Upstream tzcode (and glibc) answer "no", everyone else answers "yes".
 
   // Pick a time, any time...
@@ -1254,10 +1291,41 @@
 }
 
 TEST(time, timespec_get) {
-#if __BIONIC__
+#if defined(__BIONIC__)
+  timespec ts = {};
+  ASSERT_EQ(TIME_UTC, timespec_get(&ts, TIME_UTC));
+  ASSERT_EQ(TIME_MONOTONIC, timespec_get(&ts, TIME_MONOTONIC));
+  ASSERT_EQ(TIME_ACTIVE, timespec_get(&ts, TIME_ACTIVE));
+  ASSERT_EQ(TIME_THREAD_ACTIVE, timespec_get(&ts, TIME_THREAD_ACTIVE));
+#else
+  GTEST_SKIP() << "glibc doesn't have timespec_get until 2.21";
+#endif
+}
+
+TEST(time, timespec_get_invalid) {
+#if defined(__BIONIC__)
   timespec ts = {};
   ASSERT_EQ(0, timespec_get(&ts, 123));
-  ASSERT_EQ(TIME_UTC, timespec_get(&ts, TIME_UTC));
+#else
+  GTEST_SKIP() << "glibc doesn't have timespec_get until 2.21";
+#endif
+}
+
+TEST(time, timespec_getres) {
+#if defined(__BIONIC__)
+  timespec ts = {};
+  ASSERT_EQ(TIME_UTC, timespec_getres(&ts, TIME_UTC));
+  ASSERT_EQ(1, ts.tv_nsec);
+  ASSERT_EQ(0, ts.tv_sec);
+#else
+  GTEST_SKIP() << "glibc doesn't have timespec_get until 2.21";
+#endif
+}
+
+TEST(time, timespec_getres_invalid) {
+#if defined(__BIONIC__)
+  timespec ts = {};
+  ASSERT_EQ(0, timespec_getres(&ts, 123));
 #else
   GTEST_SKIP() << "glibc doesn't have timespec_get until 2.21";
 #endif
@@ -1267,3 +1335,150 @@
   ASSERT_EQ(1.0, difftime(1, 0));
   ASSERT_EQ(-1.0, difftime(0, 1));
 }
+
+TEST(time, tzfree_null) {
+#if defined(__BIONIC__)
+  tzfree(nullptr);
+#else
+  GTEST_SKIP() << "glibc doesn't have timezone_t";
+#endif
+}
+
+TEST(time, localtime_rz) {
+#if defined(__BIONIC__)
+  setenv("TZ", "America/Los_Angeles", 1);
+  tzset();
+
+  auto AssertTmEq = [](const struct tm& rhs, int hour) {
+    ASSERT_EQ(93, rhs.tm_year);
+    ASSERT_EQ(0, rhs.tm_mon);
+    ASSERT_EQ(1, rhs.tm_mday);
+    ASSERT_EQ(hour, rhs.tm_hour);
+    ASSERT_EQ(0, rhs.tm_min);
+    ASSERT_EQ(0, rhs.tm_sec);
+  };
+
+  const time_t t = 725875200;
+
+  // Spam localtime_r() while we use localtime_rz().
+  std::atomic<bool> done = false;
+  std::thread thread{[&] {
+    while (!done) {
+      struct tm tm {};
+      ASSERT_EQ(&tm, localtime_r(&t, &tm));
+      AssertTmEq(tm, 0);
+    }
+  }};
+
+  struct tm tm;
+
+  timezone_t london{tzalloc("Europe/London")};
+  tm = {};
+  ASSERT_EQ(&tm, localtime_rz(london, &t, &tm));
+  AssertTmEq(tm, 8);
+
+  timezone_t seoul{tzalloc("Asia/Seoul")};
+  tm = {};
+  ASSERT_EQ(&tm, localtime_rz(seoul, &t, &tm));
+  AssertTmEq(tm, 17);
+
+  // Just check that mktime()'s timezone didn't change.
+  tm = {};
+  ASSERT_EQ(&tm, localtime_r(&t, &tm));
+  ASSERT_EQ(0, tm.tm_hour);
+  AssertTmEq(tm, 0);
+
+  done = true;
+  thread.join();
+
+  tzfree(london);
+  tzfree(seoul);
+#else
+  GTEST_SKIP() << "glibc doesn't have timezone_t";
+#endif
+}
+
+TEST(time, mktime_z) {
+#if defined(__BIONIC__)
+  setenv("TZ", "America/Los_Angeles", 1);
+  tzset();
+
+  // Spam mktime() while we use mktime_z().
+  std::atomic<bool> done = false;
+  std::thread thread{[&done] {
+    while (!done) {
+      struct tm tm {
+        .tm_year = 93, .tm_mday = 1
+      };
+      ASSERT_EQ(725875200, mktime(&tm));
+    }
+  }};
+
+  struct tm tm;
+
+  timezone_t london{tzalloc("Europe/London")};
+  tm = {.tm_year = 93, .tm_mday = 1};
+  ASSERT_EQ(725846400, mktime_z(london, &tm));
+
+  timezone_t seoul{tzalloc("Asia/Seoul")};
+  tm = {.tm_year = 93, .tm_mday = 1};
+  ASSERT_EQ(725814000, mktime_z(seoul, &tm));
+
+  // Just check that mktime()'s timezone didn't change.
+  tm = {.tm_year = 93, .tm_mday = 1};
+  ASSERT_EQ(725875200, mktime(&tm));
+
+  done = true;
+  thread.join();
+
+  tzfree(london);
+  tzfree(seoul);
+#else
+  GTEST_SKIP() << "glibc doesn't have timezone_t";
+#endif
+}
+
+TEST(time, tzalloc_nullptr) {
+#if defined(__BIONIC__)
+  // tzalloc(nullptr) returns the system timezone.
+  timezone_t default_tz = tzalloc(nullptr);
+  ASSERT_NE(nullptr, default_tz);
+
+  // Check that mktime_z() with the default timezone matches mktime().
+  // This assumes that the system timezone doesn't change during the test,
+  // but that should be unlikely, and we don't have much choice if we
+  // want to write a test at all.
+  // We unset $TZ before calling mktime() because mktime() honors $TZ.
+  unsetenv("TZ");
+  struct tm tm = {.tm_year = 93, .tm_mday = 1};
+  time_t t = mktime(&tm);
+  ASSERT_EQ(t, mktime_z(default_tz, &tm));
+
+  // Check that changing $TZ doesn't affect the tzalloc() default in
+  // the same way it would the mktime() default.
+  setenv("TZ", "America/Los_Angeles", 1);
+  tzset();
+  ASSERT_EQ(t, mktime_z(default_tz, &tm));
+
+  setenv("TZ", "Europe/London", 1);
+  tzset();
+  ASSERT_EQ(t, mktime_z(default_tz, &tm));
+
+  setenv("TZ", "Asia/Seoul", 1);
+  tzset();
+  ASSERT_EQ(t, mktime_z(default_tz, &tm));
+
+  tzfree(default_tz);
+#else
+  GTEST_SKIP() << "glibc doesn't have timezone_t";
+#endif
+}
+
+TEST(time, tzalloc_unique_ptr) {
+#if defined(__BIONIC__)
+  std::unique_ptr<std::remove_pointer_t<timezone_t>, decltype(&tzfree)> tz{tzalloc("Asia/Seoul"),
+                                                                           tzfree};
+#else
+  GTEST_SKIP() << "glibc doesn't have timezone_t";
+#endif
+}
diff --git a/tests/uchar_test.cpp b/tests/uchar_test.cpp
index 703f558..fd3b332 100644
--- a/tests/uchar_test.cpp
+++ b/tests/uchar_test.cpp
@@ -24,21 +24,65 @@
 #include <locale.h>
 #include <stdint.h>
 
+#include "utils.h"
+
+// Modern versions of UTF-8 (https://datatracker.ietf.org/doc/html/rfc3629 and
+// newer) explicitly disallow code points beyond U+10FFFF, which exclude all 5-
+// and 6-byte sequences. Earlier versions of UTF-8 allowed the wider range:
+// https://datatracker.ietf.org/doc/html/rfc2279.
+//
+// Bionic's unicode implementation was written after the high values were
+// excluded, so it has never supported them. Other implementations (at least
+// as of glibc 2.36), do support those sequences.
+#if defined(__ANDROID__) || defined(ANDROID_HOST_MUSL)
+constexpr bool kLibcRejectsOverLongUtf8Sequences = true;
+#elif defined(__GLIBC__)
+constexpr bool kLibcRejectsOverLongUtf8Sequences = false;
+#else
+#error kLibcRejectsOverLongUtf8Sequences must be configured for this platform
+#endif
+
 TEST(uchar, sizeof_uchar_t) {
   EXPECT_EQ(2U, sizeof(char16_t));
   EXPECT_EQ(4U, sizeof(char32_t));
 }
 
 TEST(uchar, start_state) {
+  // C23 does not appear to specify the behavior of the conversion functions if
+  // a state is reused before the character is completed. In the wchar.h section
+  // (7.31.6.3) it says:
+  //
+  //     If an mbstate_t object has been altered by any of the functions
+  //     described in this subclause, and is then used with a different
+  //     multibyte character sequence, or in the other conversion direction, or
+  //     with a different LC_CTYPE category setting than on earlier function
+  //     calls, the behavior is undefined.
+  //
+  // But "described in this subclause" refers to the wchar.h functions, not the
+  // uchar.h ones.
+  //
+  // Since C has no opinion, we need to make a choice. While no caller should
+  // ever do this (what does it mean to begin decoding a UTF-32 character while
+  // still in the middle of a UTF-8 sequence?), considering that a decoding
+  // error seems the least surprising. Bionic and glibc both have that behavior.
+  // musl ignores the state (it also doesn't make much sense to read the state
+  // when the entire conversion completes in a single call) and decodes the
+  // UTF-32 character.
+#if !defined(ANDROID_HOST_MUSL)
+  ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
+  uselocale(LC_GLOBAL_LOCALE);
+
   char out[MB_LEN_MAX];
   mbstate_t ps;
 
-  // Any non-initial state is invalid when calling c32rtomb.
   memset(&ps, 0, sizeof(ps));
   EXPECT_EQ(static_cast<size_t>(-2), mbrtoc32(nullptr, "\xc2", 1, &ps));
   errno = 0;
   EXPECT_EQ(static_cast<size_t>(-1), c32rtomb(out, 0x00a2, &ps));
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
+
+  // Similarly (but not in compliance with the standard afaict), musl seems to
+  // ignore the state entirely for the UTF-32 functions rather than reset it.
 
   // If the first argument to c32rtomb is nullptr or the second is L'\0' the shift
   // state should be reset.
@@ -51,14 +95,21 @@
   EXPECT_EQ(static_cast<size_t>(-2), mbrtoc32(nullptr, "\xf0\xa4", 1, &ps));
   EXPECT_EQ(1U, c32rtomb(out, L'\0', &ps));
   EXPECT_TRUE(mbsinit(&ps));
+#endif
 }
 
 TEST(uchar, c16rtomb_null_out) {
+  ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
+  uselocale(LC_GLOBAL_LOCALE);
+
   EXPECT_EQ(1U, c16rtomb(nullptr, L'\0', nullptr));
   EXPECT_EQ(1U, c16rtomb(nullptr, L'h', nullptr));
 }
 
 TEST(uchar, c16rtomb_null_char) {
+  ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
+  uselocale(LC_GLOBAL_LOCALE);
+
   char bytes[MB_LEN_MAX];
   EXPECT_EQ(1U, c16rtomb(bytes, L'\0', nullptr));
 }
@@ -99,6 +150,9 @@
 }
 
 TEST(uchar, c16rtomb_invalid) {
+  ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
+  uselocale(LC_GLOBAL_LOCALE);
+
   char bytes[MB_LEN_MAX];
 
   memset(bytes, 0, sizeof(bytes));
@@ -109,23 +163,29 @@
 }
 
 TEST(uchar, mbrtoc16_null) {
+  ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
+  uselocale(LC_GLOBAL_LOCALE);
+
   ASSERT_EQ(0U, mbrtoc16(nullptr, nullptr, 0, nullptr));
 }
 
-TEST(uchar, DISABLED_mbrtoc16_zero_len) {
+TEST(uchar, mbrtoc16_zero_len) {
+  ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
+  uselocale(LC_GLOBAL_LOCALE);
+
   char16_t out;
 
   out = L'x';
-  ASSERT_EQ(0U, mbrtoc16(&out, "hello", 0, nullptr));
-  ASSERT_EQ(L'x', out);
+  EXPECT_EQ(static_cast<size_t>(-2), mbrtoc16(&out, "hello", 0, nullptr));
+  EXPECT_EQ(L'x', out);
 
-  ASSERT_EQ(0U, mbrtoc16(&out, "hello", 0, nullptr));
-  ASSERT_EQ(0U, mbrtoc16(&out, "", 0, nullptr));
-  ASSERT_EQ(1U, mbrtoc16(&out, "hello", 1, nullptr));
-  ASSERT_EQ(L'h', out);
+  EXPECT_EQ(static_cast<size_t>(-2), mbrtoc16(&out, "hello", 0, nullptr));
+  EXPECT_EQ(static_cast<size_t>(-2), mbrtoc16(&out, "", 0, nullptr));
+  EXPECT_EQ(1U, mbrtoc16(&out, "hello", 1, nullptr));
+  EXPECT_EQ(L'h', out);
 }
 
-TEST(uchar, DISABLED_mbrtoc16) {
+TEST(uchar, mbrtoc16) {
   char16_t out;
 
   ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
@@ -141,27 +201,60 @@
   ASSERT_EQ(3U, mbrtoc16(&out, "\xe2\x82\xac" "def", 6, nullptr));
   ASSERT_EQ(static_cast<char16_t>(0x20ac), out);
   // 4-byte UTF-8 will be returned as a surrogate pair...
-  ASSERT_EQ(static_cast<size_t>(-3),
-            mbrtoc16(&out, "\xf4\x8a\xaf\x8d", 6, nullptr));
+  ASSERT_EQ(4U, mbrtoc16(&out, "\xf4\x8a\xaf\x8d", 6, nullptr));
   ASSERT_EQ(static_cast<char16_t>(0xdbea), out);
-  ASSERT_EQ(4U, mbrtoc16(&out, "\xf4\x8a\xaf\x8d" "ef", 6, nullptr));
+  ASSERT_EQ(static_cast<size_t>(-3), mbrtoc16(&out,
+                                              "\xf4\x8a\xaf\x8d"
+                                              "ef",
+                                              6, nullptr));
   ASSERT_EQ(static_cast<char16_t>(0xdfcd), out);
-  // Illegal 5-byte UTF-8.
+}
+
+TEST(uchar, mbrtoc16_long_sequences) {
+  ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
+  uselocale(LC_GLOBAL_LOCALE);
+
+  char16_t out = u'\0';
   errno = 0;
-  ASSERT_EQ(static_cast<size_t>(-1), mbrtoc16(&out, "\xf8\xa1\xa2\xa3\xa4", 5, nullptr));
-  ASSERT_EQ(EILSEQ, errno);
+  auto result = mbrtoc16(&out, "\xf8\xa1\xa2\xa3\xa4", 5, nullptr);
+  if (kLibcRejectsOverLongUtf8Sequences) {
+    EXPECT_EQ(static_cast<size_t>(-1), result);
+    EXPECT_ERRNO(EILSEQ);
+    EXPECT_EQ(u'\0', out);
+  } else {
+    EXPECT_EQ(5U, result);
+    EXPECT_ERRNO(0);
+    EXPECT_EQ(u'\uf94a', out);
+  }
 }
 
 TEST(uchar, mbrtoc16_reserved_range) {
-  char16_t out;
-  ASSERT_EQ(static_cast<size_t>(-1),
-            mbrtoc16(&out, "\xf0\x80\xbf\xbf", 6, nullptr));
+  ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
+  uselocale(LC_GLOBAL_LOCALE);
+
+  errno = 0;
+  char16_t out = u'\0';
+  EXPECT_EQ(static_cast<size_t>(-1), mbrtoc16(&out, "\xf0\x80\xbf\xbf", 6, nullptr));
+  EXPECT_EQ(u'\0', out);
+  EXPECT_ERRNO(EILSEQ);
 }
 
 TEST(uchar, mbrtoc16_beyond_range) {
-  char16_t out;
-  ASSERT_EQ(static_cast<size_t>(-1),
-            mbrtoc16(&out, "\xf5\x80\x80\x80", 6, nullptr));
+  ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
+  uselocale(LC_GLOBAL_LOCALE);
+
+  errno = 0;
+  char16_t out = u'\0';
+  auto result = mbrtoc16(&out, "\xf5\x80\x80\x80", 6, nullptr);
+  if (kLibcRejectsOverLongUtf8Sequences) {
+    EXPECT_EQ(static_cast<size_t>(-1), result);
+    EXPECT_EQ(u'\0', out);
+    EXPECT_ERRNO(EILSEQ);
+  } else {
+    EXPECT_EQ(4U, result);
+    EXPECT_EQ(u'\xdcc0', out);
+    EXPECT_ERRNO(0);
+  }
 }
 
 void test_mbrtoc16_incomplete(mbstate_t* ps) {
@@ -183,9 +276,15 @@
   // 4-byte UTF-8.
   ASSERT_EQ(static_cast<size_t>(-2), mbrtoc16(&out, "\xf4", 1, ps));
   ASSERT_EQ(static_cast<size_t>(-2), mbrtoc16(&out, "\x8a\xaf", 2, ps));
-  ASSERT_EQ(static_cast<size_t>(-3), mbrtoc16(&out, "\x8d" "ef", 3, ps));
+  ASSERT_EQ(1U, mbrtoc16(&out,
+                         "\x8d"
+                         "ef",
+                         3, ps));
   ASSERT_EQ(static_cast<char16_t>(0xdbea), out);
-  ASSERT_EQ(1U, mbrtoc16(&out, "\x80" "ef", 3, ps));
+  ASSERT_EQ(static_cast<size_t>(-3), mbrtoc16(&out,
+                                              "\x80"
+                                              "ef",
+                                              3, ps));
   ASSERT_EQ(static_cast<char16_t>(0xdfcd), out);
   ASSERT_TRUE(mbsinit(ps));
 
@@ -193,10 +292,13 @@
   ASSERT_EQ(static_cast<size_t>(-2), mbrtoc16(&out, "\xc2", 1, ps));
   errno = 0;
   ASSERT_EQ(static_cast<size_t>(-1), mbrtoc16(&out, "\x20" "cdef", 5, ps));
-  ASSERT_EQ(EILSEQ, errno);
+  ASSERT_ERRNO(EILSEQ);
 }
 
-TEST(uchar, DISABLED_mbrtoc16_incomplete) {
+TEST(uchar, mbrtoc16_incomplete) {
+  ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
+  uselocale(LC_GLOBAL_LOCALE);
+
   mbstate_t ps;
   memset(&ps, 0, sizeof(ps));
 
@@ -247,7 +349,7 @@
   // Invalid code point.
   errno = 0;
   EXPECT_EQ(static_cast<size_t>(-1), c32rtomb(bytes, 0xffffffff, nullptr));
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
 }
 
 TEST(uchar, mbrtoc32_valid_non_characters) {
@@ -265,55 +367,78 @@
   ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
   uselocale(LC_GLOBAL_LOCALE);
 
-  char32_t out[8] = {};
+  char32_t out = U'\0';
   errno = 0;
-  ASSERT_EQ(static_cast<size_t>(-1), mbrtoc32(out, "\xf5\x80\x80\x80", 4, nullptr));
-  ASSERT_EQ(EILSEQ, errno);
+  auto result = mbrtoc32(&out, "\xf5\x80\x80\x80", 4, nullptr);
+  if (kLibcRejectsOverLongUtf8Sequences) {
+    EXPECT_EQ(static_cast<size_t>(-1), result);
+    EXPECT_ERRNO(EILSEQ);
+    EXPECT_EQ(U'\0', out);
+  } else {
+    EXPECT_EQ(4U, result);
+    EXPECT_ERRNO(0);
+    EXPECT_EQ(U'\x140000', out);
+  }
 }
 
-TEST(uchar, DISABLED_mbrtoc32) {
+TEST(uchar, mbrtoc32) {
   char32_t out[8];
 
   out[0] = L'x';
-  ASSERT_EQ(0U, mbrtoc32(out, "hello", 0, nullptr));
-  ASSERT_EQ(static_cast<char32_t>(L'x'), out[0]);
+  EXPECT_EQ(static_cast<size_t>(-2), mbrtoc32(out, "hello", 0, nullptr));
+  EXPECT_EQ(static_cast<char32_t>(L'x'), out[0]);
 
-  ASSERT_EQ(0U, mbrtoc32(out, "hello", 0, nullptr));
-  ASSERT_EQ(0U, mbrtoc32(out, "", 0, nullptr));
-  ASSERT_EQ(1U, mbrtoc32(out, "hello", 1, nullptr));
-  ASSERT_EQ(static_cast<char32_t>(L'h'), out[0]);
+  EXPECT_EQ(static_cast<size_t>(-2), mbrtoc32(out, "hello", 0, nullptr));
+  EXPECT_EQ(static_cast<size_t>(-2), mbrtoc32(out, "", 0, nullptr));
+  EXPECT_EQ(1U, mbrtoc32(out, "hello", 1, nullptr));
+  EXPECT_EQ(static_cast<char32_t>(L'h'), out[0]);
 
-  ASSERT_EQ(0U, mbrtoc32(nullptr, "hello", 0, nullptr));
-  ASSERT_EQ(0U, mbrtoc32(nullptr, "", 0, nullptr));
-  ASSERT_EQ(1U, mbrtoc32(nullptr, "hello", 1, nullptr));
+  EXPECT_EQ(static_cast<size_t>(-2), mbrtoc32(nullptr, "hello", 0, nullptr));
+  EXPECT_EQ(static_cast<size_t>(-2), mbrtoc32(nullptr, "", 0, nullptr));
+  EXPECT_EQ(1U, mbrtoc32(nullptr, "hello", 1, nullptr));
 
-  ASSERT_EQ(0U, mbrtoc32(nullptr, nullptr, 0, nullptr));
+  EXPECT_EQ(0U, mbrtoc32(nullptr, nullptr, 0, nullptr));
 
   ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
   uselocale(LC_GLOBAL_LOCALE);
 
   // 1-byte UTF-8.
-  ASSERT_EQ(1U, mbrtoc32(out, "abcdef", 6, nullptr));
-  ASSERT_EQ(static_cast<char32_t>(L'a'), out[0]);
+  EXPECT_EQ(1U, mbrtoc32(out, "abcdef", 6, nullptr));
+  EXPECT_EQ(static_cast<char32_t>(L'a'), out[0]);
   // 2-byte UTF-8.
-  ASSERT_EQ(2U, mbrtoc32(out, "\xc2\xa2" "cdef", 6, nullptr));
-  ASSERT_EQ(static_cast<char32_t>(0x00a2), out[0]);
+  EXPECT_EQ(2U, mbrtoc32(out,
+                         "\xc2\xa2"
+                         "cdef",
+                         6, nullptr));
+  EXPECT_EQ(static_cast<char32_t>(0x00a2), out[0]);
   // 3-byte UTF-8.
-  ASSERT_EQ(3U, mbrtoc32(out, "\xe2\x82\xac" "def", 6, nullptr));
-  ASSERT_EQ(static_cast<char32_t>(0x20ac), out[0]);
+  EXPECT_EQ(3U, mbrtoc32(out,
+                         "\xe2\x82\xac"
+                         "def",
+                         6, nullptr));
+  EXPECT_EQ(static_cast<char32_t>(0x20ac), out[0]);
   // 4-byte UTF-8.
-  ASSERT_EQ(4U, mbrtoc32(out, "\xf0\xa4\xad\xa2" "ef", 6, nullptr));
-  ASSERT_EQ(static_cast<char32_t>(0x24b62), out[0]);
+  EXPECT_EQ(4U, mbrtoc32(out,
+                         "\xf0\xa4\xad\xa2"
+                         "ef",
+                         6, nullptr));
+  EXPECT_EQ(static_cast<char32_t>(0x24b62), out[0]);
 #if defined(__BIONIC__) // glibc allows this.
   // Illegal 5-byte UTF-8.
   errno = 0;
-  ASSERT_EQ(static_cast<size_t>(-1), mbrtoc32(out, "\xf8\xa1\xa2\xa3\xa4" "f", 6, nullptr));
-  ASSERT_EQ(EILSEQ, errno);
+  EXPECT_EQ(static_cast<size_t>(-1), mbrtoc32(out,
+                                              "\xf8\xa1\xa2\xa3\xa4"
+                                              "f",
+                                              6, nullptr));
+  EXPECT_ERRNO(EILSEQ);
 #endif
   // Illegal over-long sequence.
   errno = 0;
-  ASSERT_EQ(static_cast<size_t>(-1), mbrtoc32(out, "\xf0\x82\x82\xac" "ef", 6, nullptr));
-  ASSERT_EQ(EILSEQ, errno);
+  EXPECT_EQ(static_cast<size_t>(-1), mbrtoc32(out,
+                                              "\xf0\x82\x82\xac"
+                                              "ef",
+                                              6, nullptr));
+  EXPECT_ERRNO(EILSEQ);
 }
 
 void test_mbrtoc32_incomplete(mbstate_t* ps) {
@@ -343,10 +468,13 @@
   ASSERT_EQ(static_cast<size_t>(-2), mbrtoc32(&out, "\xc2", 1, ps));
   errno = 0;
   ASSERT_EQ(static_cast<size_t>(-1), mbrtoc32(&out, "\x20" "cdef", 5, ps));
-  ASSERT_EQ(EILSEQ, errno);
+  ASSERT_ERRNO(EILSEQ);
 }
 
 TEST(uchar, mbrtoc32_incomplete) {
+  ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
+  uselocale(LC_GLOBAL_LOCALE);
+
   mbstate_t ps;
   memset(&ps, 0, sizeof(ps));
 
diff --git a/tests/unistd_test.cpp b/tests/unistd_test.cpp
index 4c21627..9ad3b6d 100644
--- a/tests/unistd_test.cpp
+++ b/tests/unistd_test.cpp
@@ -16,6 +16,7 @@
 
 #include <gtest/gtest.h>
 
+#include "DoNotOptimize.h"
 #include "SignalUtils.h"
 #include "utils.h"
 
@@ -72,7 +73,7 @@
   void* new_break = reinterpret_cast<void*>(reinterpret_cast<uintptr_t>(initial_break) + 1);
   int ret = brk(new_break);
   if (ret == -1) {
-    ASSERT_EQ(errno, ENOMEM);
+    ASSERT_ERRNO(ENOMEM);
   } else {
     ASSERT_EQ(0, ret);
     ASSERT_GE(get_brk(), new_break);
@@ -82,7 +83,7 @@
   new_break = page_align(reinterpret_cast<uintptr_t>(initial_break) + sysconf(_SC_PAGE_SIZE));
   ret = brk(new_break);
   if (ret == -1) {
-    ASSERT_EQ(errno, ENOMEM);
+    ASSERT_ERRNO(ENOMEM);
   } else {
     ASSERT_EQ(0, ret);
     ASSERT_EQ(get_brk(), new_break);
@@ -91,7 +92,7 @@
 
 TEST(UNISTD_TEST, brk_ENOMEM) {
   ASSERT_EQ(-1, brk(reinterpret_cast<void*>(-1)));
-  ASSERT_EQ(ENOMEM, errno);
+  ASSERT_ERRNO(ENOMEM);
 }
 
 #if defined(__GLIBC__)
@@ -124,18 +125,18 @@
 
   // Can't increase by so much that we'd overflow.
   ASSERT_EQ(reinterpret_cast<void*>(-1), sbrk(PTRDIFF_MAX));
-  ASSERT_EQ(ENOMEM, errno);
+  ASSERT_ERRNO(ENOMEM);
 
   // Set the current break to a point that will cause an overflow.
   __bionic_brk = reinterpret_cast<void*>(static_cast<uintptr_t>(PTRDIFF_MAX));
 
   ASSERT_EQ(reinterpret_cast<void*>(-1), sbrk(PTRDIFF_MIN));
-  ASSERT_EQ(ENOMEM, errno);
+  ASSERT_ERRNO(ENOMEM);
 
   __bionic_brk = reinterpret_cast<void*>(static_cast<uintptr_t>(PTRDIFF_MAX) - 1);
 
   ASSERT_EQ(reinterpret_cast<void*>(-1), sbrk(PTRDIFF_MIN + 1));
-  ASSERT_EQ(ENOMEM, errno);
+  ASSERT_ERRNO(ENOMEM);
 #else
   class ScopedBrk {
   public:
@@ -154,7 +155,7 @@
     ASSERT_EQ(reinterpret_cast<void*>(-1), sbrk(SBRK_MIN));
 #if defined(__BIONIC__)
     // GLIBC does not set errno in overflow case.
-    ASSERT_EQ(ENOMEM, errno);
+    ASSERT_ERRNO(ENOMEM);
 #endif
   }
 
@@ -167,7 +168,7 @@
     ASSERT_EQ(reinterpret_cast<void*>(-1), sbrk(SBRK_MAX));
 #if defined(__BIONIC__)
     // GLIBC does not set errno in overflow case.
-    ASSERT_EQ(ENOMEM, errno);
+    ASSERT_ERRNO(ENOMEM);
 #endif
   }
 #endif
@@ -217,7 +218,7 @@
   TemporaryFile tf;
   errno = 0;
   ASSERT_EQ(-1, ftruncate(tf.fd, -123));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 static bool g_pause_test_flag = false;
@@ -253,7 +254,7 @@
   // our syscall stubs correctly return a 64-bit -1.
   char buf[1];
   ASSERT_EQ(-1, read(-1, buf, sizeof(buf)));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 }
 
 TEST(UNISTD_TEST, syscall_long) {
@@ -288,27 +289,27 @@
 
 TEST(UNISTD_TEST, unsetenv_EINVAL) {
   EXPECT_EQ(-1, unsetenv(""));
-  EXPECT_EQ(EINVAL, errno);
+  EXPECT_ERRNO(EINVAL);
   EXPECT_EQ(-1, unsetenv("a=b"));
-  EXPECT_EQ(EINVAL, errno);
+  EXPECT_ERRNO(EINVAL);
 }
 
 TEST(UNISTD_TEST, setenv_EINVAL) {
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wnonnull"
   EXPECT_EQ(-1, setenv(nullptr, "value", 0));
-  EXPECT_EQ(EINVAL, errno);
+  EXPECT_ERRNO(EINVAL);
   EXPECT_EQ(-1, setenv(nullptr, "value", 1));
-  EXPECT_EQ(EINVAL, errno);
+  EXPECT_ERRNO(EINVAL);
 #pragma clang diagnostic pop
   EXPECT_EQ(-1, setenv("", "value", 0));
-  EXPECT_EQ(EINVAL, errno);
+  EXPECT_ERRNO(EINVAL);
   EXPECT_EQ(-1, setenv("", "value", 1));
-  EXPECT_EQ(EINVAL, errno);
+  EXPECT_ERRNO(EINVAL);
   EXPECT_EQ(-1, setenv("a=b", "value", 0));
-  EXPECT_EQ(EINVAL, errno);
+  EXPECT_ERRNO(EINVAL);
   EXPECT_EQ(-1, setenv("a=b", "value", 1));
-  EXPECT_EQ(EINVAL, errno);
+  EXPECT_ERRNO(EINVAL);
 }
 
 TEST(UNISTD_TEST, setenv) {
@@ -394,7 +395,7 @@
   // Can't sync an invalid fd.
   errno = 0;
   EXPECT_EQ(-1, fn(-1));
-  EXPECT_EQ(EBADF, errno);
+  EXPECT_ERRNO(EBADF);
 
   // It doesn't matter whether you've opened a file for write or not.
   TemporaryFile tf;
@@ -424,7 +425,7 @@
   int fd = open("/proc/version", O_RDONLY);
   ASSERT_NE(-1, fd);
   EXPECT_EQ(-1, fn(fd));
-  EXPECT_EQ(EINVAL, errno);
+  EXPECT_ERRNO(EINVAL);
   close(fd);
 }
 
@@ -440,6 +441,22 @@
   TestSyncFunction(syncfs);
 }
 
+TEST(UNISTD_TEST, _Fork) {
+#if defined(__BIONIC__)
+  pid_t rc = _Fork();
+  ASSERT_NE(-1, rc);
+  if (rc == 0) {
+    _exit(66);
+  }
+
+  int status;
+  pid_t wait_result = waitpid(rc, &status, 0);
+  ASSERT_EQ(wait_result, rc);
+  ASSERT_TRUE(WIFEXITED(status));
+  ASSERT_EQ(66, WEXITSTATUS(status));
+#endif
+}
+
 TEST(UNISTD_TEST, vfork) {
 #if defined(__BIONIC__)
   pthread_internal_t* self = __get_thread();
@@ -737,7 +754,6 @@
   ASSERT_EQ(0, gethostname(hostname, HOST_NAME_MAX));
 
   // Can we get the hostname with a right-sized buffer?
-  errno = 0;
   ASSERT_EQ(0, gethostname(hostname, strlen(hostname) + 1));
 
   // Does uname(2) agree?
@@ -749,27 +765,41 @@
   // Do we correctly detect truncation?
   errno = 0;
   ASSERT_EQ(-1, gethostname(hostname, strlen(hostname)));
-  ASSERT_EQ(ENAMETOOLONG, errno);
+  ASSERT_ERRNO(ENAMETOOLONG);
 }
 
 TEST(UNISTD_TEST, pathconf_fpathconf) {
   TemporaryFile tf;
-  long rc = 0L;
+  long l;
+
   // As a file system's block size is always power of 2, the configure values
   // for ALLOC and XFER should be power of 2 as well.
-  rc = pathconf(tf.path, _PC_ALLOC_SIZE_MIN);
-  ASSERT_TRUE(rc > 0 && powerof2(rc));
-  rc = pathconf(tf.path, _PC_REC_MIN_XFER_SIZE);
-  ASSERT_TRUE(rc > 0 && powerof2(rc));
-  rc = pathconf(tf.path, _PC_REC_XFER_ALIGN);
-  ASSERT_TRUE(rc > 0 && powerof2(rc));
+  l = pathconf(tf.path, _PC_ALLOC_SIZE_MIN);
+  ASSERT_TRUE(l > 0 && powerof2(l));
+  l = pathconf(tf.path, _PC_REC_MIN_XFER_SIZE);
+  ASSERT_TRUE(l > 0 && powerof2(l));
+  l = pathconf(tf.path, _PC_REC_XFER_ALIGN);
+  ASSERT_TRUE(l > 0 && powerof2(l));
 
-  rc = fpathconf(tf.fd, _PC_ALLOC_SIZE_MIN);
-  ASSERT_TRUE(rc > 0 && powerof2(rc));
-  rc = fpathconf(tf.fd, _PC_REC_MIN_XFER_SIZE);
-  ASSERT_TRUE(rc > 0 && powerof2(rc));
-  rc = fpathconf(tf.fd, _PC_REC_XFER_ALIGN);
-  ASSERT_TRUE(rc > 0 && powerof2(rc));
+  l = fpathconf(tf.fd, _PC_ALLOC_SIZE_MIN);
+  ASSERT_TRUE(l > 0 && powerof2(l));
+  l = fpathconf(tf.fd, _PC_REC_MIN_XFER_SIZE);
+  ASSERT_TRUE(l > 0 && powerof2(l));
+  l = fpathconf(tf.fd, _PC_REC_XFER_ALIGN);
+  ASSERT_TRUE(l > 0 && powerof2(l));
+
+  // Check that the "I can't answer that, you'll have to try it and see"
+  // cases don't set errno.
+  int names[] = {
+      _PC_ASYNC_IO, _PC_PRIO_IO, _PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE, _PC_SYMLINK_MAX,
+      _PC_SYNC_IO,  -1};
+  for (size_t i = 0; names[i] != -1; i++) {
+    errno = 0;
+    ASSERT_EQ(-1, pathconf(tf.path, names[i])) << names[i];
+    ASSERT_ERRNO(0) << names[i];
+    ASSERT_EQ(-1, fpathconf(tf.fd, names[i])) << names[i];
+    ASSERT_ERRNO(0) << names[i];
+  }
 }
 
 TEST(UNISTD_TEST, _POSIX_constants) {
@@ -969,7 +999,7 @@
   VERIFY_SYSCONF_POSIX_VERSION(_SC_CPUTIME);
   VERIFY_SYSCONF_POSITIVE(_SC_EXPR_NEST_MAX);
   VERIFY_SYSCONF_POSITIVE(_SC_LINE_MAX);
-  VERIFY_SYSCONF_POSITIVE(_SC_NGROUPS_MAX);
+  VerifySysconf(_SC_NGROUPS_MAX, "_SC_NGROUPS_MAX", [](long v){return v >= 0 && v <= NGROUPS_MAX;});
   VERIFY_SYSCONF_POSITIVE(_SC_OPEN_MAX);
   VERIFY_SYSCONF_POSITIVE(_SC_PASS_MAX);
   VERIFY_SYSCONF_POSIX_VERSION(_SC_2_C_BIND);
@@ -1128,8 +1158,8 @@
 
 TEST(UNISTD_TEST, sysconf_SC_ARG_MAX) {
   // Since Linux 2.6.23, ARG_MAX isn't a constant and depends on RLIMIT_STACK.
-  // See prepare_arg_pages() in the kernel for the gory details:
-  // https://elixir.bootlin.com/linux/v5.3.11/source/fs/exec.c#L451
+  // See setup_arg_pages() in the kernel for the gory details:
+  // https://elixir.bootlin.com/linux/v6.6.4/source/fs/exec.c#L749
 
   // Get our current limit, and set things up so we restore the limit.
   rlimit rl;
@@ -1146,19 +1176,24 @@
   // _SC_ARG_MAX should be 1/4 the stack size.
   EXPECT_EQ(static_cast<long>(rl.rlim_cur / 4), sysconf(_SC_ARG_MAX));
 
-  // If you have a really small stack, the kernel still guarantees "32 pages" (see fs/exec.c).
+  // If you have a really small stack, the kernel still guarantees a stack
+  // expansion of 128KiB (see setup_arg_pages() in fs/exec.c).
   rl.rlim_cur = 1024;
   rl.rlim_max = RLIM_INFINITY;
   ASSERT_EQ(0, setrlimit(RLIMIT_STACK, &rl));
 
-  EXPECT_EQ(static_cast<long>(32 * sysconf(_SC_PAGE_SIZE)), sysconf(_SC_ARG_MAX));
+  // The stack expansion number is defined in fs/exec.c.
+  // https://elixir.bootlin.com/linux/v6.6.4/source/fs/exec.c#L845
+  constexpr long kernel_stack_expansion = 131072;
+  EXPECT_EQ(kernel_stack_expansion, sysconf(_SC_ARG_MAX));
 
-  // With a 128-page stack limit, we know exactly what _SC_ARG_MAX should be...
-  rl.rlim_cur = 128 * sysconf(_SC_PAGE_SIZE);
+  // If you have a large stack, the kernel will keep the stack
+  // expansion to 128KiB (see setup_arg_pages() in fs/exec.c).
+  rl.rlim_cur = 524288;
   rl.rlim_max = RLIM_INFINITY;
   ASSERT_EQ(0, setrlimit(RLIMIT_STACK, &rl));
 
-  EXPECT_EQ(static_cast<long>((128 * sysconf(_SC_PAGE_SIZE)) / 4), sysconf(_SC_ARG_MAX));
+  EXPECT_EQ(kernel_stack_expansion, sysconf(_SC_ARG_MAX));
 }
 
 TEST(UNISTD_TEST, sysconf_unknown) {
@@ -1166,6 +1201,30 @@
   VERIFY_SYSCONF_UNKNOWN(666);
 }
 
+[[maybe_unused]] static void show_cache(const char* name, long size, long assoc, long line_size) {
+  printf("%s cache size: %ld bytes, line size %ld bytes, ", name, size, line_size);
+  if (assoc == 0) {
+    printf("fully");
+  } else {
+    printf("%ld-way", assoc);
+  }
+  printf(" associative\n");
+}
+
+TEST(UNISTD_TEST, sysconf_cache) {
+#if defined(ANDROID_HOST_MUSL)
+  GTEST_SKIP() << "musl does not have _SC_LEVEL?_?CACHE_SIZE";
+#else
+  // It's not obvious we can _test_ any of these, but we can at least
+  // show the output for humans to inspect.
+  show_cache("L1D", sysconf(_SC_LEVEL1_DCACHE_SIZE), sysconf(_SC_LEVEL1_DCACHE_ASSOC), sysconf(_SC_LEVEL1_DCACHE_LINESIZE));
+  show_cache("L1I", sysconf(_SC_LEVEL1_ICACHE_SIZE), sysconf(_SC_LEVEL1_ICACHE_ASSOC), sysconf(_SC_LEVEL1_ICACHE_LINESIZE));
+  show_cache("L2", sysconf(_SC_LEVEL2_CACHE_SIZE), sysconf(_SC_LEVEL2_CACHE_ASSOC), sysconf(_SC_LEVEL2_CACHE_LINESIZE));
+  show_cache("L3", sysconf(_SC_LEVEL3_CACHE_SIZE), sysconf(_SC_LEVEL3_CACHE_ASSOC), sysconf(_SC_LEVEL3_CACHE_LINESIZE));
+  show_cache("L4", sysconf(_SC_LEVEL4_CACHE_SIZE), sysconf(_SC_LEVEL4_CACHE_ASSOC), sysconf(_SC_LEVEL4_CACHE_LINESIZE));
+#endif
+}
+
 TEST(UNISTD_TEST, dup2_same) {
   // POSIX says of dup2:
   // If fildes2 is already a valid open file descriptor ...
@@ -1182,7 +1241,7 @@
   // Equal, but invalid.
   errno = 0;
   ASSERT_EQ(-1, dup2(fd, fd));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 }
 
 TEST(UNISTD_TEST, dup3) {
@@ -1273,11 +1332,11 @@
     // Check that the child cannot lock the file.
     ASSERT_EQ(0, lseek64(tf.fd, 0, SEEK_SET));
     ASSERT_EQ(-1, lockf64(tf.fd, F_TLOCK, file_size));
-    ASSERT_EQ(EAGAIN, errno);
+    ASSERT_ERRNO(EAGAIN);
     // Check also that it reports itself as locked.
     ASSERT_EQ(0, lseek64(tf.fd, 0, SEEK_SET));
     ASSERT_EQ(-1, lockf64(tf.fd, F_TEST, file_size));
-    ASSERT_EQ(EACCES, errno);
+    ASSERT_ERRNO(EACCES);
     _exit(0);
   }
   AssertChildExited(pid, 0);
@@ -1303,11 +1362,11 @@
     // Check that the child cannot lock the first half.
     ASSERT_EQ(0, lseek64(tf.fd, 0, SEEK_SET));
     ASSERT_EQ(-1, lockf64(tf.fd, F_TEST, file_size/2));
-    ASSERT_EQ(EACCES, errno);
+    ASSERT_ERRNO(EACCES);
     // Check also that it reports itself as locked.
     ASSERT_EQ(0, lseek64(tf.fd, 0, SEEK_SET));
     ASSERT_EQ(-1, lockf64(tf.fd, F_TEST, file_size/2));
-    ASSERT_EQ(EACCES, errno);
+    ASSERT_ERRNO(EACCES);
     _exit(0);
   }
   AssertChildExited(pid, 0);
@@ -1329,7 +1388,7 @@
 #if defined(__BIONIC__)
   // bionic and glibc have different behaviors when len is too small
   ASSERT_EQ(-1, getdomainname(buf, strlen(u.domainname)));
-  EXPECT_EQ(EINVAL, errno);
+  EXPECT_ERRNO(EINVAL);
 #endif
 }
 
@@ -1354,7 +1413,7 @@
 
   const char* name = "newdomainname";
   ASSERT_EQ(-1, setdomainname(name, strlen(name)));
-  ASSERT_EQ(EPERM, errno);
+  ASSERT_ERRNO(EPERM);
 
   if (has_admin) {
     ASSERT_EQ(0, capset(&header, &old_caps[0])) << "failed to restore admin privileges";
@@ -1365,7 +1424,7 @@
   ExecTestHelper eth;
   errno = 0;
   ASSERT_EQ(-1, execve("/", eth.GetArgs(), eth.GetEnv()));
-  ASSERT_EQ(EACCES, errno);
+  ASSERT_ERRNO(EACCES);
 }
 
 static void append_llvm_cov_env_var(std::string& env_str) {
@@ -1395,7 +1454,7 @@
 TEST(UNISTD_TEST, execl_failure) {
   errno = 0;
   ASSERT_EQ(-1, execl("/", "/", nullptr));
-  ASSERT_EQ(EACCES, errno);
+  ASSERT_ERRNO(EACCES);
 }
 
 TEST(UNISTD_TEST, execl) {
@@ -1408,7 +1467,7 @@
   ExecTestHelper eth;
   errno = 0;
   ASSERT_EQ(-1, execle("/", "/", nullptr, eth.GetEnv()));
-  ASSERT_EQ(EACCES, errno);
+  ASSERT_ERRNO(EACCES);
 }
 
 TEST(UNISTD_TEST, execle) {
@@ -1427,7 +1486,7 @@
   ExecTestHelper eth;
   errno = 0;
   ASSERT_EQ(-1, execv("/", eth.GetArgs()));
-  ASSERT_EQ(EACCES, errno);
+  ASSERT_ERRNO(EACCES);
 }
 
 TEST(UNISTD_TEST, execv) {
@@ -1440,7 +1499,7 @@
 TEST(UNISTD_TEST, execlp_failure) {
   errno = 0;
   ASSERT_EQ(-1, execlp("/", "/", nullptr));
-  ASSERT_EQ(EACCES, errno);
+  ASSERT_ERRNO(EACCES);
 }
 
 TEST(UNISTD_TEST, execlp) {
@@ -1454,7 +1513,7 @@
   eth.SetArgs({nullptr});
   errno = 0;
   ASSERT_EQ(-1, execvp("/", eth.GetArgs()));
-  ASSERT_EQ(EACCES, errno);
+  ASSERT_ERRNO(EACCES);
 }
 
 TEST(UNISTD_TEST, execvp) {
@@ -1469,7 +1528,7 @@
   errno = 0;
   ASSERT_EQ(-1, execvpe("this-does-not-exist", eth.GetArgs(), eth.GetEnv()));
   // Running in CTS we might not even be able to search all directories in $PATH.
-  ASSERT_TRUE(errno == ENOENT || errno == EACCES);
+  ASSERT_TRUE(errno == ENOENT || errno == EACCES) << strerror(errno);
 }
 
 TEST(UNISTD_TEST, execvpe) {
@@ -1504,7 +1563,7 @@
   // It's not inherently executable.
   errno = 0;
   ASSERT_EQ(-1, execvpe(basename(tf.path), eth.GetArgs(), eth.GetEnv()));
-  ASSERT_EQ(EACCES, errno);
+  ASSERT_ERRNO(EACCES);
 
   // Make it executable (and keep it writable because we're going to rewrite it below).
   ASSERT_EQ(0, chmod(tf.path, 0777));
@@ -1512,7 +1571,7 @@
   // TemporaryFile will have a writable fd, so we can test ETXTBSY while we're here...
   errno = 0;
   ASSERT_EQ(-1, execvpe(basename(tf.path), eth.GetArgs(), eth.GetEnv()));
-  ASSERT_EQ(ETXTBSY, errno);
+  ASSERT_ERRNO(ETXTBSY);
 
   // 1. The simplest test: the kernel should handle this.
   ASSERT_EQ(0, close(tf.fd));
@@ -1533,7 +1592,7 @@
 
   errno = 0;
   ASSERT_EQ(-1, execvp("/system/bin/does-not-exist", eth.GetArgs()));
-  ASSERT_EQ(ENOENT, errno);
+  ASSERT_ERRNO(ENOENT);
 }
 
 TEST(UNISTD_TEST, exec_argv0_null) {
@@ -1560,7 +1619,7 @@
   int fd = open("/", O_RDONLY);
   ASSERT_NE(-1, fd);
   ASSERT_EQ(-1, fexecve(fd, eth.GetArgs(), eth.GetEnv()));
-  ASSERT_EQ(EACCES, errno);
+  ASSERT_ERRNO(EACCES);
   close(fd);
 }
 
@@ -1568,7 +1627,7 @@
   ExecTestHelper eth;
   errno = 0;
   ASSERT_EQ(-1, fexecve(-1, eth.GetArgs(), eth.GetEnv()));
-  ASSERT_EQ(EBADF, errno);
+  ASSERT_ERRNO(EBADF);
 }
 
 TEST(UNISTD_TEST, fexecve_args) {
@@ -1666,16 +1725,13 @@
   int fd = open("/proc/version", O_RDONLY);
   ASSERT_GE(fd, 0);
 
-  // Try to close the file descriptor (this requires a 5.9+ kernel)
-  if (close_range(fd, fd, 0) == 0) {
-    // we can't close it *again*
-    ASSERT_EQ(close(fd), -1);
-    ASSERT_EQ(errno, EBADF);
-  } else {
-    ASSERT_EQ(errno, ENOSYS);
-    // since close_range() failed, we can close it normally
-    ASSERT_EQ(close(fd), 0);
-  }
+  int rc = close_range(fd, fd, 0);
+  if (rc == -1 && errno == ENOSYS) GTEST_SKIP() << "no close_range() in this kernel";
+  ASSERT_EQ(0, rc) << strerror(errno);
+
+  // Check the fd is actually closed.
+  ASSERT_EQ(close(fd), -1);
+  ASSERT_ERRNO(EBADF);
 #endif  // __GLIBC__
 }
 
diff --git a/tests/utils.cpp b/tests/utils.cpp
index 92ab145..e123b42 100644
--- a/tests/utils.cpp
+++ b/tests/utils.cpp
@@ -28,6 +28,9 @@
 
 #include "utils.h"
 
+#include <string.h>
+#include <syscall.h>
+
 #include <string>
 
 #include <android-base/properties.h>
@@ -63,3 +66,34 @@
          (android::base::GetBoolProperty("ro.debuggable", false) &&
           android::base::GetBoolProperty("debug.force_low_ram", false));
 }
+
+#if defined(__GLIBC__) && __GLIBC_MINOR__ < 30
+pid_t gettid() {
+  return syscall(__NR_gettid);
+}
+#endif
+
+void PrintTo(const Errno& e, std::ostream* os) {
+  // Prefer EINVAL or whatever, but fall back to strerror() to print
+  // "Unknown error 666" for bogus values. Not that I've ever seen one,
+  // but we shouldn't be looking at an assertion failure unless something
+  // weird has happened!
+#if defined(__BIONIC__)
+  const char* errno_name = strerrorname_np(e.errno_);
+  if (errno_name != nullptr) {
+    *os << errno_name;
+  } else
+#endif
+  {
+    *os << strerror(e.errno_);
+  }
+}
+
+int64_t NanoTime() {
+  auto t = std::chrono::time_point_cast<std::chrono::nanoseconds>(std::chrono::steady_clock::now());
+  return t.time_since_epoch().count();
+}
+
+bool operator==(const Errno& lhs, const Errno& rhs) {
+  return lhs.errno_ == rhs.errno_;
+}
diff --git a/tests/utils.h b/tests/utils.h
index 2e00cc1..4740e59 100644
--- a/tests/utils.h
+++ b/tests/utils.h
@@ -38,6 +38,7 @@
 #endif
 
 #include <atomic>
+#include <iomanip>
 #include <string>
 #include <regex>
 
@@ -253,7 +254,7 @@
     AssertChildExited(pid, expected_exit_status, &error_msg);
     if (expected_output_regex != nullptr) {
       if (!std::regex_search(output_, std::regex(expected_output_regex))) {
-        FAIL() << "regex " << expected_output_regex << " didn't match " << output_;
+        FAIL() << "regex " << std::quoted(expected_output_regex) << " didn't match " << std::quoted(output_);
       }
     }
   }
@@ -294,16 +295,6 @@
   size_t start_count_ = CountOpenFds();
 };
 
-// From <benchmark/benchmark.h>.
-template <class Tp>
-static inline void DoNotOptimize(Tp const& value) {
-  asm volatile("" : : "r,m"(value) : "memory");
-}
-template <class Tp>
-static inline void DoNotOptimize(Tp& value) {
-  asm volatile("" : "+r,m"(value) : : "memory");
-}
-
 static inline bool running_with_mte() {
 #ifdef __aarch64__
   int level = prctl(PR_GET_TAGGED_ADDR_CTRL, 0, 0, 0, 0);
@@ -315,3 +306,15 @@
 }
 
 bool IsLowRamDevice();
+
+int64_t NanoTime();
+
+class Errno {
+ public:
+  Errno(int e) : errno_(e) {}
+  int errno_;
+};
+void PrintTo(const Errno& e, std::ostream* os);
+bool operator==(const Errno& lhs, const Errno& rhs);
+#define ASSERT_ERRNO(expected_errno) ASSERT_EQ(Errno(expected_errno), Errno(errno))
+#define EXPECT_ERRNO(expected_errno) EXPECT_EQ(Errno(expected_errno), Errno(errno))
diff --git a/tests/wchar_test.cpp b/tests/wchar_test.cpp
index 07eef1b..a811fd8 100644
--- a/tests/wchar_test.cpp
+++ b/tests/wchar_test.cpp
@@ -29,14 +29,45 @@
 
 #define NUM_WCHARS(num_bytes) ((num_bytes)/sizeof(wchar_t))
 
+#ifdef __GLIBC__
+// glibc immediately dereferences the locale passed to all wcsto*_l functions,
+// even if it won't be used, and even if it's LC_GLOBAL_LOCALE, which isn't a
+// pointer to valid memory.
+static locale_t SAFE_LC_GLOBAL_LOCALE = duplocale(LC_GLOBAL_LOCALE);
+#else
+static locale_t SAFE_LC_GLOBAL_LOCALE = LC_GLOBAL_LOCALE;
+#endif
+
+// Modern versions of UTF-8 (https://datatracker.ietf.org/doc/html/rfc3629 and
+// newer) explicitly disallow code points beyond U+10FFFF, which exclude all 5-
+// and 6-byte sequences. Earlier versions of UTF-8 allowed the wider range:
+// https://datatracker.ietf.org/doc/html/rfc2279.
+//
+// Bionic's unicode implementation was written after the high values were
+// excluded, so it has never supported them. Other implementations (at least
+// as of glibc 2.36), do support those sequences.
+#if defined(__ANDROID__) || defined(ANDROID_HOST_MUSL)
+constexpr bool kLibcRejectsOverLongUtf8Sequences = true;
+#elif defined(__GLIBC__)
+constexpr bool kLibcRejectsOverLongUtf8Sequences = false;
+#else
+#error kLibcRejectsOverLongUtf8Sequences must be configured for this platform
+#endif
+
+#if defined(__GLIBC__)
+constexpr bool kLibcSupportsParsingBinaryLiterals = __GLIBC_PREREQ(2, 38);
+#else
+constexpr bool kLibcSupportsParsingBinaryLiterals = true;
+#endif
+
 TEST(wchar, sizeof_wchar_t) {
   EXPECT_EQ(4U, sizeof(wchar_t));
   EXPECT_EQ(4U, sizeof(wint_t));
 }
 
-TEST(wchar, DISABLED_mbrlen) {
+TEST(wchar, mbrlen) {
   char bytes[] = { 'h', 'e', 'l', 'l', 'o', '\0' };
-  EXPECT_EQ(0U, mbrlen(&bytes[0], 0, nullptr));
+  EXPECT_EQ(static_cast<size_t>(-2), mbrlen(&bytes[0], 0, nullptr));
   EXPECT_EQ(1U, mbrlen(&bytes[0], 1, nullptr));
 
   EXPECT_EQ(1U, mbrlen(&bytes[4], 1, nullptr));
@@ -91,10 +122,13 @@
   EXPECT_EQ('\xa2', bytes[3]);
   // Invalid code point.
   EXPECT_EQ(static_cast<size_t>(-1), wcrtomb(bytes, 0xffffffff, nullptr));
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
 }
 
 TEST(wchar, wcrtomb_start_state) {
+  ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
+  uselocale(LC_GLOBAL_LOCALE);
+
   char out[MB_LEN_MAX];
   mbstate_t ps;
 
@@ -102,7 +136,7 @@
   memset(&ps, 0, sizeof(ps));
   EXPECT_EQ(static_cast<size_t>(-2), mbrtowc(nullptr, "\xc2", 1, &ps));
   EXPECT_EQ(static_cast<size_t>(-1), wcrtomb(out, 0x00a2, &ps));
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
 
   // If the first argument to wcrtomb is NULL or the second is L'\0' the shift
   // state should be reset.
@@ -118,6 +152,9 @@
 }
 
 TEST(wchar, wcstombs_wcrtombs) {
+  ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
+  uselocale(LC_GLOBAL_LOCALE);
+
   const wchar_t chars[] = { L'h', L'e', L'l', L'l', L'o', 0 };
   const wchar_t bad_chars[] = { L'h', L'i', static_cast<wchar_t>(0xffffffff), 0 };
   const wchar_t* src;
@@ -140,10 +177,10 @@
   // An unrepresentable char just returns an error from wcstombs...
   errno = 0;
   EXPECT_EQ(static_cast<size_t>(-1), wcstombs(nullptr, bad_chars, 0));
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
   errno = 0;
   EXPECT_EQ(static_cast<size_t>(-1), wcstombs(nullptr, bad_chars, 256));
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
 
   // And wcsrtombs doesn't tell us where it got stuck because we didn't ask it
   // to actually convert anything...
@@ -151,12 +188,12 @@
   src = bad_chars;
   EXPECT_EQ(static_cast<size_t>(-1), wcsrtombs(nullptr, &src, 0, nullptr));
   EXPECT_EQ(&bad_chars[0], src);
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
   errno = 0;
   src = bad_chars;
   EXPECT_EQ(static_cast<size_t>(-1), wcsrtombs(nullptr, &src, 256, nullptr));
   EXPECT_EQ(&bad_chars[0], src);
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
 
   // Okay, now let's test actually converting something...
   memset(bytes, 'x', sizeof(bytes));
@@ -174,7 +211,7 @@
   errno = 0;
   memset(bytes, 'x', sizeof(bytes));
   EXPECT_EQ(static_cast<size_t>(-1), wcstombs(bytes, bad_chars, 256));
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
   bytes[3] = 0;
   EXPECT_STREQ("hix", bytes);
 
@@ -183,13 +220,13 @@
   src = chars;
   EXPECT_EQ(0U, wcsrtombs(bytes, &src, 0, nullptr));
   EXPECT_EQ(&chars[0], src); // No input consumed.
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
 
   memset(bytes, 'x', sizeof(bytes));
   src = chars;
   EXPECT_EQ(4U, wcsrtombs(bytes, &src, 4, nullptr));
   EXPECT_EQ(&chars[4], src); // Some input consumed.
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
   bytes[5] = 0;
   EXPECT_STREQ("hellx", bytes);
 
@@ -197,21 +234,21 @@
   src = chars;
   EXPECT_EQ(5U, wcsrtombs(bytes, &src, 256, nullptr));
   EXPECT_EQ(nullptr, src); // All input consumed!
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
   EXPECT_STREQ("hello", bytes);
 
   memset(bytes, 'x', sizeof(bytes));
   src = chars;
   EXPECT_EQ(5U, wcsrtombs(bytes, &src, 6, nullptr));
   EXPECT_EQ(nullptr, src); // All input consumed.
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
   EXPECT_STREQ("hello", bytes);
 
   memset(bytes, 'x', sizeof(bytes));
   src = bad_chars;
   EXPECT_EQ(static_cast<size_t>(-1), wcsrtombs(bytes, &src, 256, nullptr));
   EXPECT_EQ(&bad_chars[2], src);
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
   bytes[3] = 0;
   EXPECT_STREQ("hix", bytes);
 
@@ -221,7 +258,7 @@
   memset(&ps, 0, sizeof(ps));
   ASSERT_EQ(static_cast<size_t>(-2), mbrtowc(nullptr, "\xc2", 1, &ps));
   EXPECT_EQ(static_cast<size_t>(-1), wcsrtombs(nullptr, &src, 0, &ps));
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
 }
 
 TEST(wchar, limits) {
@@ -252,66 +289,106 @@
   ASSERT_TRUE(wcsstr(L"romrom", L"rom") != nullptr);
 }
 
-TEST(wchar, DISABLED_mbtowc) {
+TEST(wchar, mbtowc) {
   wchar_t out[8];
 
+  // mbtowc and all the mbrto* APIs behave slightly differently when n is 0:
+  //
+  // mbrtowc returns 0 "if the next n or fewer bytes complete the multibyte
+  // character that corresponds to the null wide character"
+  //
+  // mbrtoc (C23 7.24.7.2.4) says:
+  //
+  //     If s is not a null pointer, the mbtowc function either returns 0 (if s
+  //     points to the null character), or returns the number of bytes that are
+  //     contained in the converted multibyte character (if the next n or fewer
+  //     bytes form a valid multibyte character), or returns -1 (if they do not
+  //     form a valid multibyte character).
+  //
+  // glibc's interpretation differs from all the BSDs (including macOS) and
+  // bionic (by way of openbsd). glibc returns 0 since s does point to the null
+  // character, whereas the BSDs return -1 because the next 0 bytes do not form
+  // a valid multibyte chatacter. glibc's interpretation is probably more
+  // correct from a strict interpretation of the spec, but considering the other
+  // APIs behave more like the BSD interpretation that may be a bug in the spec.
+#ifdef __GLIBC__
+  int expected_result_for_zero_length_empty_string = 0;
+#else
+  int expected_result_for_zero_length_empty_string = -1;
+#endif
+
   out[0] = 'x';
-  ASSERT_EQ(0, mbtowc(out, "hello", 0));
-  ASSERT_EQ('x', out[0]);
+  EXPECT_EQ(-1, mbtowc(out, "hello", 0));
+  EXPECT_EQ('x', out[0]);
 
-  ASSERT_EQ(0, mbtowc(out, "hello", 0));
-  ASSERT_EQ(0, mbtowc(out, "", 0));
-  ASSERT_EQ(1, mbtowc(out, "hello", 1));
-  ASSERT_EQ(L'h', out[0]);
+  EXPECT_EQ(-1, mbtowc(out, "hello", 0));
+  EXPECT_EQ(expected_result_for_zero_length_empty_string, mbtowc(out, "", 0));
+  EXPECT_EQ(1, mbtowc(out, "hello", 1));
+  EXPECT_EQ(L'h', out[0]);
 
-  ASSERT_EQ(0, mbtowc(nullptr, "hello", 0));
-  ASSERT_EQ(0, mbtowc(nullptr, "", 0));
-  ASSERT_EQ(1, mbtowc(nullptr, "hello", 1));
+  EXPECT_EQ(-1, mbtowc(nullptr, "hello", 0));
+  EXPECT_EQ(expected_result_for_zero_length_empty_string, mbtowc(nullptr, "", 0));
+  EXPECT_EQ(1, mbtowc(nullptr, "hello", 1));
 
-  ASSERT_EQ(0, mbtowc(nullptr, nullptr, 0));
+  EXPECT_EQ(0, mbtowc(nullptr, nullptr, 0));
 }
 
-TEST(wchar, DISABLED_mbrtowc) {
+TEST(wchar, mbrtowc) {
   wchar_t out[8];
 
   out[0] = 'x';
-  ASSERT_EQ(0U, mbrtowc(out, "hello", 0, nullptr));
-  ASSERT_EQ('x', out[0]);
+  EXPECT_EQ(static_cast<size_t>(-2), mbrtowc(out, "hello", 0, nullptr));
+  EXPECT_EQ('x', out[0]);
 
-  ASSERT_EQ(0U, mbrtowc(out, "hello", 0, nullptr));
-  ASSERT_EQ(0U, mbrtowc(out, "", 0, nullptr));
-  ASSERT_EQ(1U, mbrtowc(out, "hello", 1, nullptr));
-  ASSERT_EQ(L'h', out[0]);
+  EXPECT_EQ(static_cast<size_t>(-2), mbrtowc(out, "hello", 0, nullptr));
+  EXPECT_EQ(static_cast<size_t>(-2), mbrtowc(out, "", 0, nullptr));
+  EXPECT_EQ(1U, mbrtowc(out, "hello", 1, nullptr));
+  EXPECT_EQ(L'h', out[0]);
 
-  ASSERT_EQ(0U, mbrtowc(nullptr, "hello", 0, nullptr));
-  ASSERT_EQ(0U, mbrtowc(nullptr, "", 0, nullptr));
-  ASSERT_EQ(1U, mbrtowc(nullptr, "hello", 1, nullptr));
+  EXPECT_EQ(static_cast<size_t>(-2), mbrtowc(nullptr, "hello", 0, nullptr));
+  EXPECT_EQ(static_cast<size_t>(-2), mbrtowc(nullptr, "", 0, nullptr));
+  EXPECT_EQ(1U, mbrtowc(nullptr, "hello", 1, nullptr));
 
-  ASSERT_EQ(0U, mbrtowc(nullptr, nullptr, 0, nullptr));
+  EXPECT_EQ(0U, mbrtowc(nullptr, nullptr, 0, nullptr));
 
-  ASSERT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
+  EXPECT_STREQ("C.UTF-8", setlocale(LC_CTYPE, "C.UTF-8"));
   uselocale(LC_GLOBAL_LOCALE);
 
   // 1-byte UTF-8.
-  ASSERT_EQ(1U, mbrtowc(out, "abcdef", 6, nullptr));
-  ASSERT_EQ(L'a', out[0]);
+  EXPECT_EQ(1U, mbrtowc(out, "abcdef", 6, nullptr));
+  EXPECT_EQ(L'a', out[0]);
   // 2-byte UTF-8.
-  ASSERT_EQ(2U, mbrtowc(out, "\xc2\xa2" "cdef", 6, nullptr));
-  ASSERT_EQ(static_cast<wchar_t>(0x00a2), out[0]);
+  EXPECT_EQ(2U, mbrtowc(out,
+                        "\xc2\xa2"
+                        "cdef",
+                        6, nullptr));
+  EXPECT_EQ(static_cast<wchar_t>(0x00a2), out[0]);
   // 3-byte UTF-8.
-  ASSERT_EQ(3U, mbrtowc(out, "\xe2\x82\xac" "def", 6, nullptr));
-  ASSERT_EQ(static_cast<wchar_t>(0x20ac), out[0]);
+  EXPECT_EQ(3U, mbrtowc(out,
+                        "\xe2\x82\xac"
+                        "def",
+                        6, nullptr));
+  EXPECT_EQ(static_cast<wchar_t>(0x20ac), out[0]);
   // 4-byte UTF-8.
-  ASSERT_EQ(4U, mbrtowc(out, "\xf0\xa4\xad\xa2" "ef", 6, nullptr));
-  ASSERT_EQ(static_cast<wchar_t>(0x24b62), out[0]);
+  EXPECT_EQ(4U, mbrtowc(out,
+                        "\xf0\xa4\xad\xa2"
+                        "ef",
+                        6, nullptr));
+  EXPECT_EQ(static_cast<wchar_t>(0x24b62), out[0]);
 #if defined(__BIONIC__) // glibc allows this.
   // Illegal 5-byte UTF-8.
-  ASSERT_EQ(static_cast<size_t>(-1), mbrtowc(out, "\xf8\xa1\xa2\xa3\xa4" "f", 6, nullptr));
-  ASSERT_EQ(EILSEQ, errno);
+  EXPECT_EQ(static_cast<size_t>(-1), mbrtowc(out,
+                                             "\xf8\xa1\xa2\xa3\xa4"
+                                             "f",
+                                             6, nullptr));
+  EXPECT_ERRNO(EILSEQ);
 #endif
   // Illegal over-long sequence.
-  ASSERT_EQ(static_cast<size_t>(-1), mbrtowc(out, "\xf0\x82\x82\xac" "ef", 6, nullptr));
-  ASSERT_EQ(EILSEQ, errno);
+  EXPECT_EQ(static_cast<size_t>(-1), mbrtowc(out,
+                                             "\xf0\x82\x82\xac"
+                                             "ef",
+                                             6, nullptr));
+  EXPECT_ERRNO(EILSEQ);
 }
 
 TEST(wchar, mbrtowc_valid_non_characters) {
@@ -332,8 +409,14 @@
 
   wchar_t out[8] = {};
   errno = 0;
-  ASSERT_EQ(static_cast<size_t>(-1), mbrtowc(out, "\xf5\x80\x80\x80", 4, nullptr));
-  ASSERT_EQ(EILSEQ, errno);
+  auto result = mbrtowc(out, "\xf5\x80\x80\x80", 4, nullptr);
+  if (kLibcRejectsOverLongUtf8Sequences) {
+    ASSERT_EQ(static_cast<size_t>(-1), result);
+    ASSERT_ERRNO(EILSEQ);
+  } else {
+    ASSERT_EQ(4U, result);
+    ASSERT_ERRNO(0);
+  }
 }
 
 static void test_mbrtowc_incomplete(mbstate_t* ps) {
@@ -362,7 +445,7 @@
   // Invalid 2-byte
   ASSERT_EQ(static_cast<size_t>(-2), mbrtowc(&out, "\xc2", 1, ps));
   ASSERT_EQ(static_cast<size_t>(-1), mbrtowc(&out, "\x20" "cdef", 5, ps));
-  ASSERT_EQ(EILSEQ, errno);
+  ASSERT_ERRNO(EILSEQ);
 }
 
 TEST(wchar, mbrtowc_incomplete) {
@@ -400,12 +483,12 @@
 
   const char* invalid = INVALID;
   ASSERT_EQ(static_cast<size_t>(-1), mbsrtowcs(out, &invalid, 4, ps));
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
   ASSERT_EQ('\xc2', *invalid);
 
   const char* incomplete = INCOMPLETE;
   ASSERT_EQ(static_cast<size_t>(-1), mbsrtowcs(out, &incomplete, 2, ps));
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
   ASSERT_EQ('\xc2', *incomplete);
 
   // If dst is null, *src shouldn't be updated.
@@ -435,7 +518,7 @@
   wchar_t out;
   ASSERT_EQ(static_cast<size_t>(-2), mbrtowc(&out, "\xc2", 1, &ps));
   ASSERT_EQ(static_cast<size_t>(-1), mbsrtowcs(&out, &invalid, 1, &ps));
-  EXPECT_EQ(EILSEQ, errno);
+  EXPECT_ERRNO(EILSEQ);
   ASSERT_EQ('\x20', *invalid);
 }
 
@@ -446,8 +529,8 @@
 void TestSingleWcsToInt(WcsToIntFn<T> fn, const wchar_t* str, int base,
                         T expected_value, ptrdiff_t expected_len) {
   wchar_t* p;
-  ASSERT_EQ(expected_value, fn(str, &p, base));
-  ASSERT_EQ(expected_len, p - str) << str;
+  EXPECT_EQ(expected_value, fn(str, &p, base)) << str << " " << base;
+  EXPECT_EQ(expected_len, p - str) << str << " " << base;
 }
 
 template <typename T>
@@ -460,7 +543,9 @@
   TestSingleWcsToInt(fn, L"   123 45", 0, static_cast<T>(123), 6);
   TestSingleWcsToInt(fn, L"  -123", 0, static_cast<T>(-123), 6);
   TestSingleWcsToInt(fn, L"0x10000", 0, static_cast<T>(65536), 7);
-  TestSingleWcsToInt(fn, L"0b1011", 0, static_cast<T>(0b1011), 6);
+  if (kLibcSupportsParsingBinaryLiterals) {
+    TestSingleWcsToInt(fn, L"0b1011", 0, static_cast<T>(0b1011), 6);
+  }
 }
 
 template <typename T>
@@ -471,7 +556,7 @@
   } else {
     // If the subject sequence begins with a <hyphen-minus>, the value resulting
     // from the conversion shall be negated.
-    // http://pubs.opengroup.org/onlinepubs/9699919799/functions/strtoul.html
+    // https://pubs.opengroup.org/onlinepubs/9799919799.2024edition/functions/strtoul.html
     ASSERT_EQ(std::numeric_limits<T>::max(), fn(min_str, nullptr, 0)) << min_str;
   }
   ASSERT_EQ(std::numeric_limits<T>::max(), fn(max_str, nullptr, 0)) << max_str;
@@ -563,12 +648,12 @@
   src = incomplete;
   errno = 0;
   ASSERT_EQ(static_cast<size_t>(-1), mbsnrtowcs(dst, &src, SIZE_MAX, 3, nullptr));
-  ASSERT_EQ(EILSEQ, errno);
+  ASSERT_ERRNO(EILSEQ);
 
   src = incomplete;
   errno = 0;
   ASSERT_EQ(static_cast<size_t>(-1), mbsnrtowcs(nullptr, &src, SIZE_MAX, 3, nullptr));
-  ASSERT_EQ(EILSEQ, errno);
+  ASSERT_ERRNO(EILSEQ);
 }
 
 TEST(wchar, wcsftime__wcsftime_l) {
@@ -584,7 +669,7 @@
 
   EXPECT_EQ(24U, wcsftime(buf, sizeof(buf), L"%c", &t));
   EXPECT_STREQ(L"Sun Mar 10 00:00:00 2100", buf);
-  EXPECT_EQ(24U, wcsftime_l(buf, sizeof(buf), L"%c", &t, LC_GLOBAL_LOCALE));
+  EXPECT_EQ(24U, wcsftime_l(buf, sizeof(buf), L"%c", &t, SAFE_LC_GLOBAL_LOCALE));
   EXPECT_STREQ(L"Sun Mar 10 00:00:00 2100", buf);
 }
 
@@ -719,12 +804,12 @@
   // Invalid buffer.
   errno = 0;
   ASSERT_EQ(nullptr, open_wmemstream(nullptr, &size));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 
   // Invalid size.
   errno = 0;
   ASSERT_EQ(nullptr, open_wmemstream(&p, nullptr));
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 #pragma clang diagnostic pop
 #else
   GTEST_SKIP() << "This test is bionic-specific";
@@ -734,73 +819,73 @@
 TEST(wchar, wcstol_EINVAL) {
   errno = 0;
   wcstol(L"123", nullptr, -1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   wcstol(L"123", nullptr, 1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   wcstol(L"123", nullptr, 37);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(wchar, wcstoll_EINVAL) {
   errno = 0;
   wcstoll(L"123", nullptr, -1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   wcstoll(L"123", nullptr, 1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   wcstoll(L"123", nullptr, 37);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(wchar, wcstoul_EINVAL) {
   errno = 0;
   wcstoul(L"123", nullptr, -1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   wcstoul(L"123", nullptr, 1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   wcstoul(L"123", nullptr, 37);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(wchar, wcstoull_EINVAL) {
   errno = 0;
   wcstoull(L"123", nullptr, -1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   wcstoull(L"123", nullptr, 1);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
   wcstoull(L"123", nullptr, 37);
-  ASSERT_EQ(EINVAL, errno);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(wchar, wcstoll_l_EINVAL) {
   errno = 0;
-  wcstoll_l(L"123", nullptr, -1, LC_GLOBAL_LOCALE);
-  ASSERT_EQ(EINVAL, errno);
+  wcstoll_l(L"123", nullptr, -1, SAFE_LC_GLOBAL_LOCALE);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
-  wcstoll_l(L"123", nullptr, 1, LC_GLOBAL_LOCALE);
-  ASSERT_EQ(EINVAL, errno);
+  wcstoll_l(L"123", nullptr, 1, SAFE_LC_GLOBAL_LOCALE);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
-  wcstoll_l(L"123", nullptr, 37, LC_GLOBAL_LOCALE);
-  ASSERT_EQ(EINVAL, errno);
+  wcstoll_l(L"123", nullptr, 37, SAFE_LC_GLOBAL_LOCALE);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(wchar, wcstoull_l_EINVAL) {
   errno = 0;
-  wcstoull_l(L"123", nullptr, -1, LC_GLOBAL_LOCALE);
-  ASSERT_EQ(EINVAL, errno);
+  wcstoull_l(L"123", nullptr, -1, SAFE_LC_GLOBAL_LOCALE);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
-  wcstoull_l(L"123", nullptr, 1, LC_GLOBAL_LOCALE);
-  ASSERT_EQ(EINVAL, errno);
+  wcstoull_l(L"123", nullptr, 1, SAFE_LC_GLOBAL_LOCALE);
+  ASSERT_ERRNO(EINVAL);
   errno = 0;
-  wcstoull_l(L"123", nullptr, 37, LC_GLOBAL_LOCALE);
-  ASSERT_EQ(EINVAL, errno);
+  wcstoull_l(L"123", nullptr, 37, SAFE_LC_GLOBAL_LOCALE);
+  ASSERT_ERRNO(EINVAL);
 }
 
 TEST(wchar, wmempcpy) {
@@ -922,7 +1007,7 @@
 
 TEST(wchar, wcstod_l) {
 #if !defined(ANDROID_HOST_MUSL)
-  EXPECT_EQ(1.23, wcstod_l(L"1.23", nullptr, LC_GLOBAL_LOCALE));
+  EXPECT_EQ(1.23, wcstod_l(L"1.23", nullptr, SAFE_LC_GLOBAL_LOCALE));
 #else
   GTEST_SKIP() << "musl doesn't have wcstod_l";
 #endif
@@ -930,7 +1015,7 @@
 
 TEST(wchar, wcstof_l) {
 #if !defined(ANDROID_HOST_MUSL)
-  EXPECT_EQ(1.23f, wcstof_l(L"1.23", nullptr, LC_GLOBAL_LOCALE));
+  EXPECT_EQ(1.23f, wcstof_l(L"1.23", nullptr, SAFE_LC_GLOBAL_LOCALE));
 #else
   GTEST_SKIP() << "musl doesn't have wcstof_l";
 #endif
@@ -938,30 +1023,30 @@
 
 TEST(wchar, wcstol_l) {
 #if !defined(ANDROID_HOST_MUSL)
-  EXPECT_EQ(123L, wcstol_l(L"123", nullptr, 10, LC_GLOBAL_LOCALE));
+  EXPECT_EQ(123L, wcstol_l(L"123", nullptr, 10, SAFE_LC_GLOBAL_LOCALE));
 #else
   GTEST_SKIP() << "musl doesn't have wcstol_l";
 #endif
 }
 
 TEST(wchar, wcstold_l) {
-  EXPECT_EQ(1.23L, wcstold_l(L"1.23", nullptr, LC_GLOBAL_LOCALE));
+  EXPECT_EQ(1.23L, wcstold_l(L"1.23", nullptr, SAFE_LC_GLOBAL_LOCALE));
 }
 
 TEST(wchar, wcstoll_l) {
-  EXPECT_EQ(123LL, wcstoll_l(L"123", nullptr, 10, LC_GLOBAL_LOCALE));
+  EXPECT_EQ(123LL, wcstoll_l(L"123", nullptr, 10, SAFE_LC_GLOBAL_LOCALE));
 }
 
 TEST(wchar, wcstoul_l) {
 #if !defined(ANDROID_HOST_MUSL)
-  EXPECT_EQ(123UL, wcstoul_l(L"123", nullptr, 10, LC_GLOBAL_LOCALE));
+  EXPECT_EQ(123UL, wcstoul_l(L"123", nullptr, 10, SAFE_LC_GLOBAL_LOCALE));
 #else
   GTEST_SKIP() << "musl doesn't have wcstoul_l";
 #endif
 }
 
 TEST(wchar, wcstoull_l) {
-  EXPECT_EQ(123ULL, wcstoull_l(L"123", nullptr, 10, LC_GLOBAL_LOCALE));
+  EXPECT_EQ(123ULL, wcstoull_l(L"123", nullptr, 10, SAFE_LC_GLOBAL_LOCALE));
 }
 
 static void AssertWcwidthRange(wchar_t begin, wchar_t end, int expected) {
@@ -990,10 +1075,39 @@
 
   EXPECT_EQ(0, wcwidth(0x0300)); // Combining grave.
   EXPECT_EQ(0, wcwidth(0x20dd)); // Combining enclosing circle.
-  EXPECT_EQ(0, wcwidth(0x00ad)); // Soft hyphen (SHY).
   EXPECT_EQ(0, wcwidth(0x200b)); // Zero width space.
 }
 
+TEST(wchar, wcwidth_non_spacing_special_cases) {
+  if (!have_dl()) return;
+
+  // U+00AD is a soft hyphen, which normally shouldn't be rendered at all.
+  // I think the assumption here is that you elide the soft hyphen character
+  // completely in that case, and never call wcwidth() if you don't want to
+  // render it as an actual hyphen. Whereas if you do want to render it,
+  // you call wcwidth(), and 1 is the right answer. This is what Markus Kuhn's
+  // original https://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c did,
+  // and glibc and iOS do the same.
+  // See also: https://en.wikipedia.org/wiki/Soft_hyphen#Text_to_be_formatted_by_the_recipient
+  EXPECT_EQ(1, wcwidth(0x00ad)); // Soft hyphen (SHY).
+
+  // U+115F is the Hangeul choseong filler (for a degenerate composed
+  // character missing an initial consonant (as opposed to one with a
+  // leading ieung). Since the code points for combining jungseong (medial
+  // vowels) and jongseong (trailing consonants) have width 0, the choseong
+  // (initial consonant) has width 2 to cover the entire syllable. So unless
+  // U+115f has width 2, a degenerate composed "syllable" without an initial
+  // consonant or ieung would have a total width of 0, which is silly.
+  // The following sequence is effectively "약" without the leading ieung...
+  EXPECT_EQ(2, wcwidth(0x115f)); // Hangeul choseong filler.
+  EXPECT_EQ(0, wcwidth(0x1163)); // Hangeul jungseong "ya".
+  EXPECT_EQ(0, wcwidth(0x11a8)); // Hangeul jongseong "kiyeok".
+
+  // U+1160, the jungseong filler, has width 0 because it must have been
+  // preceded by either a choseong or choseong filler.
+  EXPECT_EQ(0, wcwidth(0x1160));
+}
+
 TEST(wchar, wcwidth_cjk) {
   if (!have_dl()) return;
 
@@ -1017,8 +1131,10 @@
   if (!have_dl()) return;
 
   EXPECT_EQ(2, wcwidth(0xac00)); // Start of block.
-  EXPECT_EQ(2, wcwidth(0xd7a3)); // End of defined code points in Unicode 7.
-  // Undefined characters at the end of the block have width 1.
+  EXPECT_EQ(2, wcwidth(0xd7a3)); // End of defined code points as of Unicode 15.
+
+  // Undefined characters at the end of the block currently have width 1,
+  // but since they're undefined, we don't test that.
 }
 
 TEST(wchar, wcwidth_kana) {
@@ -1052,11 +1168,21 @@
   EXPECT_EQ(0, wcwidth(0xe0000)); // ...through 0xe0fff.
 }
 
-TEST(wchar, wcwidth_korean_common_non_syllables) {
+TEST(wchar, wcwidth_hangeul_compatibility_jamo) {
   if (!have_dl()) return;
 
-  EXPECT_EQ(2, wcwidth(L'ㅜ')); // Korean "crying" emoticon.
-  EXPECT_EQ(2, wcwidth(L'ㅋ')); // Korean "laughing" emoticon.
+  // These are actually the *compatibility* jamo code points, *not* the regular
+  // jamo code points (U+1100-U+11FF) using a jungseong filler. If you use the
+  // Android IME to type any of these, you get these code points.
+
+  // (Half of) the Korean "crying" emoticon "ㅠㅠ".
+  // Actually U+3160 "Hangeul Letter Yu" from Hangeul Compatibility Jamo.
+  EXPECT_EQ(2, wcwidth(L'ㅠ'));
+  // The two halves of the Korean internet shorthand "ㄱㅅ" (short for 감사).
+  // Actually U+3131 "Hangeul Letter Kiyeok" and U+3145 "Hangeul Letter Sios"
+  // from Hangeul Compatibility Jamo.
+  EXPECT_EQ(2, wcwidth(L'ㄱ'));
+  EXPECT_EQ(2, wcwidth(L'ㅅ'));
 }
 
 TEST(wchar, wcswidth) {
diff --git a/tests/wctype_test.cpp b/tests/wctype_test.cpp
index 85a46aa..f4b7a8f 100644
--- a/tests/wctype_test.cpp
+++ b/tests/wctype_test.cpp
@@ -35,20 +35,24 @@
                          const wchar_t* falses) {
   UtfLocale l;
   for (const wchar_t* p = trues; *p; ++p) {
-    if (!have_dl() && *p > 0x7f) {
-      GTEST_LOG_(INFO) << "skipping unicode test " << *p;
+    const wchar_t val_ch = *p;
+    const int val_int = static_cast<int>(val_ch);
+    if (!have_dl() && val_ch > 0x7f) {
+      GTEST_LOG_(INFO) << "skipping unicode test " << val_int;
       continue;
     }
-    EXPECT_TRUE(fn(*p)) << *p;
-    EXPECT_TRUE(fn_l(*p, l.l)) << *p;
+    EXPECT_TRUE(fn(val_ch)) << val_int;
+    EXPECT_TRUE(fn_l(val_ch, l.l)) << val_int;
   }
   for (const wchar_t* p = falses; *p; ++p) {
-    if (!have_dl() && *p > 0x7f) {
-      GTEST_LOG_(INFO) << "skipping unicode test " << *p;
+    const wchar_t val_ch = *p;
+    const int val_int = static_cast<int>(val_ch);
+    if (!have_dl() && val_ch > 0x7f) {
+      GTEST_LOG_(INFO) << "skipping unicode test " << val_int;
       continue;
     }
-    EXPECT_FALSE(fn(*p)) << *p;
-    EXPECT_FALSE(fn_l(*p, l.l)) << *p;
+    EXPECT_FALSE(fn(val_ch)) << val_int;
+    EXPECT_FALSE(fn_l(val_ch, l.l)) << val_int;
   }
 }
 
@@ -105,6 +109,8 @@
   EXPECT_EQ(wint_t('!'), towlower(L'!'));
   EXPECT_EQ(wint_t('a'), towlower(L'a'));
   EXPECT_EQ(wint_t('a'), towlower(L'A'));
+  EXPECT_EQ(wint_t('z'), towlower(L'z'));
+  EXPECT_EQ(wint_t('z'), towlower(L'Z'));
   if (have_dl()) {
     EXPECT_EQ(wint_t(L'ç'), towlower(L'ç'));
     EXPECT_EQ(wint_t(L'ç'), towlower(L'Ç'));
@@ -121,6 +127,8 @@
   EXPECT_EQ(wint_t('!'), towlower_l(L'!', l.l));
   EXPECT_EQ(wint_t('a'), towlower_l(L'a', l.l));
   EXPECT_EQ(wint_t('a'), towlower_l(L'A', l.l));
+  EXPECT_EQ(wint_t('z'), towlower_l(L'z', l.l));
+  EXPECT_EQ(wint_t('z'), towlower_l(L'Z', l.l));
   if (have_dl()) {
     EXPECT_EQ(wint_t(L'ç'), towlower_l(L'ç', l.l));
     EXPECT_EQ(wint_t(L'ç'), towlower_l(L'Ç', l.l));
@@ -136,6 +144,8 @@
   EXPECT_EQ(wint_t('!'), towupper(L'!'));
   EXPECT_EQ(wint_t('A'), towupper(L'a'));
   EXPECT_EQ(wint_t('A'), towupper(L'A'));
+  EXPECT_EQ(wint_t('Z'), towupper(L'z'));
+  EXPECT_EQ(wint_t('Z'), towupper(L'Z'));
   if (have_dl()) {
     EXPECT_EQ(wint_t(L'Ç'), towupper(L'ç'));
     EXPECT_EQ(wint_t(L'Ç'), towupper(L'Ç'));
@@ -152,6 +162,8 @@
   EXPECT_EQ(wint_t('!'), towupper_l(L'!', l.l));
   EXPECT_EQ(wint_t('A'), towupper_l(L'a', l.l));
   EXPECT_EQ(wint_t('A'), towupper_l(L'A', l.l));
+  EXPECT_EQ(wint_t('Z'), towupper_l(L'z', l.l));
+  EXPECT_EQ(wint_t('Z'), towupper_l(L'Z', l.l));
   if (have_dl()) {
     EXPECT_EQ(wint_t(L'Ç'), towupper_l(L'ç', l.l));
     EXPECT_EQ(wint_t(L'Ç'), towupper_l(L'Ç', l.l));
@@ -214,34 +226,64 @@
   EXPECT_EQ(0, iswctype_l(WEOF, wctype_l("alnum", l.l), l.l));
 }
 
-TEST(wctype, towctrans) {
+TEST(wctype, wctrans) {
   EXPECT_TRUE(wctrans("tolower") != nullptr);
   EXPECT_TRUE(wctrans("toupper") != nullptr);
 
+  errno = 0;
   EXPECT_TRUE(wctrans("monkeys") == nullptr);
-}
-
-TEST(wctype, towctrans_l) {
-  UtfLocale l;
-  EXPECT_TRUE(wctrans_l("tolower", l.l) != nullptr);
-  EXPECT_TRUE(wctrans_l("toupper", l.l) != nullptr);
-
-  EXPECT_TRUE(wctrans_l("monkeys", l.l) == nullptr);
-}
-
-TEST(wctype, wctrans) {
-  EXPECT_EQ(wint_t('a'), towctrans(L'A', wctrans("tolower")));
-  EXPECT_EQ(WEOF, towctrans(WEOF, wctrans("tolower")));
-
-  EXPECT_EQ(wint_t('A'), towctrans(L'a', wctrans("toupper")));
-  EXPECT_EQ(WEOF, towctrans(WEOF, wctrans("toupper")));
+  #if defined(__BIONIC__)
+  // Android/FreeBSD/iOS set errno, but musl/glibc don't.
+  EXPECT_ERRNO(EINVAL);
+  #endif
 }
 
 TEST(wctype, wctrans_l) {
   UtfLocale l;
-  EXPECT_EQ(wint_t('a'), towctrans_l(L'A', wctrans_l("tolower", l.l), l.l));
-  EXPECT_EQ(WEOF, towctrans_l(WEOF, wctrans_l("tolower", l.l), l.l));
+  EXPECT_TRUE(wctrans_l("tolower", l.l) != nullptr);
+  EXPECT_TRUE(wctrans_l("toupper", l.l) != nullptr);
 
-  EXPECT_EQ(wint_t('A'), towctrans_l(L'a', wctrans_l("toupper", l.l), l.l));
-  EXPECT_EQ(WEOF, towctrans_l(WEOF, wctrans_l("toupper", l.l), l.l));
+  errno = 0;
+  EXPECT_TRUE(wctrans_l("monkeys", l.l) == nullptr);
+  #if defined(__BIONIC__)
+  // Android/FreeBSD/iOS set errno, but musl/glibc don't.
+  EXPECT_ERRNO(EINVAL);
+  #endif
+}
+
+TEST(wctype, towctrans) {
+  wctrans_t lower = wctrans("tolower");
+  EXPECT_EQ(wint_t('a'), towctrans(L'A', lower));
+  EXPECT_EQ(WEOF, towctrans(WEOF, lower));
+
+  wctrans_t upper = wctrans("toupper");
+  EXPECT_EQ(wint_t('A'), towctrans(L'a', upper));
+  EXPECT_EQ(WEOF, towctrans(WEOF, upper));
+
+  wctrans_t invalid = wctrans("monkeys");
+  errno = 0;
+  EXPECT_EQ(wint_t('a'), towctrans(L'a', invalid));
+  #if defined(__BIONIC__)
+  // Android/FreeBSD/iOS set errno, but musl/glibc don't.
+  EXPECT_ERRNO(EINVAL);
+  #endif
+}
+
+TEST(wctype, towctrans_l) {
+  UtfLocale l;
+  wctrans_t lower = wctrans_l("tolower", l.l);
+  EXPECT_EQ(wint_t('a'), towctrans_l(L'A', lower, l.l));
+  EXPECT_EQ(WEOF, towctrans_l(WEOF, lower, l.l));
+
+  wctrans_t upper = wctrans_l("toupper", l.l);
+  EXPECT_EQ(wint_t('A'), towctrans_l(L'a', upper, l.l));
+  EXPECT_EQ(WEOF, towctrans_l(WEOF, upper, l.l));
+
+  wctrans_t invalid = wctrans_l("monkeys", l.l);
+  errno = 0;
+  EXPECT_EQ(wint_t('a'), towctrans_l(L'a', invalid, l.l));
+  #if defined(__BIONIC__)
+  // Android/FreeBSD/iOS set errno, but musl/glibc don't.
+  EXPECT_ERRNO(EINVAL);
+  #endif
 }
diff --git a/tools/NOTICE b/tools/NOTICE
index a4ec954..e69de29 100644
--- a/tools/NOTICE
+++ b/tools/NOTICE
@@ -1,32 +0,0 @@
-Copyright (C) 2016 The Android Open Source Project
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
--------------------------------------------------------------------
-
-Copyright (C) 2018 The Android Open Source Project
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
--------------------------------------------------------------------
-
diff --git a/tools/update_notice.sh b/tools/update_notice.sh
index c45311a..69e090c 100755
--- a/tools/update_notice.sh
+++ b/tools/update_notice.sh
@@ -11,4 +11,4 @@
 python3 ./libc/tools/generate_notice.py linker > linker/NOTICE
 python3 ./libc/tools/generate_notice.py tests > tests/NOTICE
 python3 ./libc/tools/generate_notice.py tools > tools/NOTICE
-git diff --exit-code HEAD libc/NOTICE
+git diff --exit-code HEAD */NOTICE
diff --git a/tools/versioner/Android.bp b/tools/versioner/Android.bp
deleted file mode 100644
index cc4dbfa..0000000
--- a/tools/versioner/Android.bp
+++ /dev/null
@@ -1,7 +0,0 @@
-package {
-    default_applicable_licenses: ["bionic_tools_license"],
-}
-
-subdirs = [
-    "src",
-]
diff --git a/tools/versioner/README.md b/tools/versioner/README.md
deleted file mode 100644
index edb32be..0000000
--- a/tools/versioner/README.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## versioner
-Use clang to verify the correctness of bionic's availability attributes against the NDK platform definitions.
-
-#### Build
-Build with `LLVM_BUILD_HOST_TOOLS=true mma -j48`
-
-#### Use
-`versioner -p platforms current dependencies`
diff --git a/tools/versioner/current b/tools/versioner/current
deleted file mode 120000
index 234dfe7..0000000
--- a/tools/versioner/current
+++ /dev/null
@@ -1 +0,0 @@
-../../libc/include
\ No newline at end of file
diff --git a/tools/versioner/dependencies b/tools/versioner/dependencies
deleted file mode 120000
index 4ec3391..0000000
--- a/tools/versioner/dependencies
+++ /dev/null
@@ -1 +0,0 @@
-../../libc/versioner-dependencies
\ No newline at end of file
diff --git a/tools/versioner/platforms/crtbegin.map.txt b/tools/versioner/platforms/crtbegin.map.txt
deleted file mode 100644
index b844c1e..0000000
--- a/tools/versioner/platforms/crtbegin.map.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file lists the libc functions are included in `crtbegin.o` and not
-# exported by `libc.so`.
-
-CRTBEGIN {
-  global:
-    atexit;  # arm64 x86 x86_64
-};
diff --git a/tools/versioner/platforms/libc.map.txt b/tools/versioner/platforms/libc.map.txt
deleted file mode 120000
index 8527b2e..0000000
--- a/tools/versioner/platforms/libc.map.txt
+++ /dev/null
@@ -1 +0,0 @@
-../../../libc/libc.map.txt
\ No newline at end of file
diff --git a/tools/versioner/run_tests.py b/tools/versioner/run_tests.py
deleted file mode 100755
index 396f895..0000000
--- a/tools/versioner/run_tests.py
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/usr/bin/env python3
-
-import os
-import subprocess
-import sys
-
-red = '\033[91m'
-green = '\033[92m'
-bold = '\033[1m'
-reset = '\033[0m'
-prefix_pass = bold + "[" + green + "PASS" + reset + bold + "]" + reset
-prefix_fail = bold + "[" + red + "FAIL" + reset + bold + "]" + reset
-
-
-def indent(text, spaces=4):
-    text = text.decode("utf-8")
-    prefix = "    "
-    return "\n".join([prefix + line for line in text.split("\n")])
-
-
-def run_test(test_name, path):
-    os.chdir(path)
-    process = subprocess.Popen(
-        ["/bin/sh", "run.sh"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
-    (output, _) = process.communicate()
-
-    if os.path.exists("expected_fail"):
-        with open("expected_fail", "rb") as f:
-            expected_output = f.read()
-            if process.returncode == 0:
-                print("{} {}: unexpected success:".format(prefix_fail, test_name))
-                print("")
-                print("  Expected:")
-                print(indent(expected_output))
-                print("  Actual:")
-                print(indent(output))
-                return False
-            elif not output.endswith(expected_output):
-                print("{} {}: expected output mismatch".format(
-                    prefix_fail, test_name))
-                print("")
-                print("  Expected:")
-                print(indent(expected_output))
-                print("  Actual:")
-                print(indent(output))
-                return False
-    elif process.returncode != 0:
-        print("{} {}: unexpected failure:".format(prefix_fail, test_name))
-        print("")
-        print(indent(output))
-        return False
-
-    print("{} {}".format(prefix_pass, test_name))
-    return True
-
-
-def usage():
-    print("Usage: run_tests.py [-f]")
-    print("    -f\t\tdon't run slow tests")
-    sys.exit(0)
-
-
-root_dir = os.path.dirname(os.path.realpath(__file__))
-test_dir = os.path.join(root_dir, "tests")
-tests = os.listdir(test_dir)
-run_slow = True
-
-if len(sys.argv) > 2:
-    usage()
-elif len(sys.argv) == 2:
-    if sys.argv[1] != "-f":
-        usage()
-    run_slow = False
-
-success = True
-for test in sorted(tests):
-    if test.startswith("slow") and not run_slow:
-        continue
-    path = os.path.join(test_dir, test)
-    if not os.path.isdir(path):
-        continue
-    if not run_test(test, path):
-        success = False
-
-sys.exit(0 if success else 1)
diff --git a/tools/versioner/src/Android.bp b/tools/versioner/src/Android.bp
deleted file mode 100644
index abcaaa3..0000000
--- a/tools/versioner/src/Android.bp
+++ /dev/null
@@ -1,51 +0,0 @@
-package {
-    default_applicable_licenses: ["bionic_tools_license"],
-}
-
-cc_binary_host {
-    name: "versioner",
-
-    defaults: ["llvm-build-host-tools-defaults"],
-
-    srcs: [
-        "versioner.cpp",
-        "Arch.cpp",
-        "CompilationType.cpp",
-        "DeclarationDatabase.cpp",
-        "Driver.cpp",
-        "Preprocessor.cpp",
-        "SymbolDatabase.cpp",
-        "SymbolFileParser.cpp",
-        "Utils.cpp",
-        "VFS.cpp",
-    ],
-
-    shared_libs: [
-        "libclang-cpp_host",
-        "libbase",
-    ],
-
-    cflags: [
-        "-Wall",
-        "-Wextra",
-        "-Werror",
-        "-Wno-unused-parameter",
-        "-fno-omit-frame-pointer",
-
-        "-D__STDC_CONSTANT_MACROS",
-        "-D__STDC_LIMIT_MACROS",
-
-        "-D_LIBCPP_ENABLE_CXX17_REMOVED_BINDERS",
-    ],
-
-    target: {
-        host: {
-            cppflags: [
-                "-fno-rtti",
-            ],
-        },
-        windows: {
-            enabled: false,
-        },
-    },
-}
diff --git a/tools/versioner/src/Arch.cpp b/tools/versioner/src/Arch.cpp
deleted file mode 100644
index d4d0208..0000000
--- a/tools/versioner/src/Arch.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Arch.h"
-
-#include <err.h>
-
-#include <string>
-
-std::string to_string(const Arch& arch) {
-  switch (arch) {
-    case Arch::arm:
-      return "arm";
-
-    case Arch::arm64:
-      return "arm64";
-
-    case Arch::riscv64:
-      return "riscv64";
-
-    case Arch::x86:
-      return "x86";
-
-    case Arch::x86_64:
-      return "x86_64";
-  }
-
-  errx(1, "unknown arch '%zu'", size_t(arch));
-}
-
-static const std::unordered_map<std::string, Arch> arch_name_map{
-  {"arm", Arch::arm},
-  {"arm64", Arch::arm64},
-  {"riscv64", Arch::riscv64},
-  {"x86", Arch::x86},
-  {"x86_64", Arch::x86_64},
-};
-
-std::optional<Arch> arch_from_string(const std::string& name) {
-  auto it = arch_name_map.find(name);
-  if (it == arch_name_map.end()) {
-    return std::nullopt;
-  }
-  return std::make_optional(it->second);
-}
diff --git a/tools/versioner/src/Arch.h b/tools/versioner/src/Arch.h
deleted file mode 100644
index fd98abc..0000000
--- a/tools/versioner/src/Arch.h
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <stdlib.h>
-
-#include <array>
-#include <initializer_list>
-#include <optional>
-#include <set>
-#include <string>
-#include <unordered_map>
-
-enum class Arch : size_t {
-  arm = 0,
-  arm64,
-  riscv64,
-  x86,
-  x86_64,
-};
-
-std::string to_string(const Arch& arch);
-std::optional<Arch> arch_from_string(const std::string& name);
-
-template <typename T>
-class ArchMapIterator;
-
-template <typename T>
-class ArchMap {
- public:
-  ArchMap() {
-  }
-
-  ArchMap(std::initializer_list<std::pair<Arch, T>> initializer) {
-    for (auto& pair : initializer) {
-      this->operator[](pair.first) = pair.second;
-    }
-  }
-
-  T& operator[](Arch arch) {
-    return data_[size_t(arch)];
-  }
-
-  const T& operator[](Arch arch) const {
-    return data_[size_t(arch)];
-  }
-
-  bool operator==(const ArchMap& other) const {
-    for (size_t i = 0; i < data_.size(); ++i) {
-      if (data_[i] != other.data_[i]) {
-        return false;
-      }
-    }
-    return true;
-  }
-
-  ArchMapIterator<T> begin() const {
-    return ArchMapIterator<T>(*this, Arch::arm);
-  }
-
-  ArchMapIterator<T> end() const {
-    return ArchMapIterator<T>(*this, Arch(size_t(Arch::x86_64) + 1));
-  }
-
- private:
-  std::array<T, size_t(Arch::x86_64) + 1> data_ = {};
-};
-
-template <typename T>
-class ArchMapIterator {
-  const ArchMap<T>& map_;
-  Arch arch_ = Arch::arm;
-
- public:
-  ArchMapIterator() = delete;
-
-  ArchMapIterator(const ArchMap<T>& map, Arch arch) : map_(map), arch_(arch) {
-  }
-
-  bool operator==(const ArchMapIterator<T>& rhs) const {
-    return map_ == rhs.map_ && arch_ == rhs.arch_;
-  }
-
-  bool operator!=(const ArchMapIterator<T>& rhs) const {
-    return !(*this == rhs);
-  }
-
-  ArchMapIterator& operator++() {
-    arch_ = Arch(size_t(arch_) + 1);
-    return *this;
-  }
-
-  ArchMapIterator operator++(int) {
-    ArchMapIterator result = *this;
-    ++*this;
-    return result;
-  }
-
-  std::pair<const Arch&, const T&> operator*() const {
-    return std::tie(arch_, map_[arch_]);
-  }
-
-  std::pair<const Arch&, const T&> operator->() const {
-    return std::tie(arch_, map_[arch_]);
-  }
-};
-
-static const std::set<Arch> supported_archs = {
-  Arch::arm,
-  Arch::arm64,
-  Arch::riscv64,
-  Arch::x86,
-  Arch::x86_64,
-};
-
-static ArchMap<std::string> arch_targets = {
-  { Arch::arm, "arm-linux-androideabi" },
-  { Arch::arm64, "aarch64-linux-android" },
-  { Arch::riscv64, "riscv64-linux-android" },
-  { Arch::x86, "i686-linux-android" },
-  { Arch::x86_64, "x86_64-linux-android" },
-};
-
-static const std::set<int> default_levels = {
-  14, 15, 16, 17, 18, 19, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34,
-};
-
-static const ArchMap<int> arch_min_api = {
-  { Arch::arm, 9 },
-  { Arch::arm64, 21 },
-  { Arch::riscv64, 10000 },
-  { Arch::x86, 9 },
-  { Arch::x86_64, 21 },
-};
-
-static const std::unordered_map<std::string, int> api_codename_map{
-  {"G", 9},
-  {"I", 14},
-  {"J", 16},
-  {"J-MR1", 17},
-  {"J-MR2", 18},
-  {"K", 19},
-  {"L", 21},
-  {"L-MR1", 22},
-  {"M", 23},
-  {"N", 24},
-  {"N-MR1", 25},
-  {"O", 26},
-  {"O-MR1", 27},
-  {"P", 28},
-  {"Q", 29},
-  {"R", 30},
-  {"S", 31},
-  {"T", 33},
-  {"U", 34},
-};
diff --git a/tools/versioner/src/CompilationType.cpp b/tools/versioner/src/CompilationType.cpp
deleted file mode 100644
index 7e7bb5d..0000000
--- a/tools/versioner/src/CompilationType.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "CompilationType.h"
-
-#include <sstream>
-#include <string>
-
-std::string to_string(const CompilationType& type) {
-  std::stringstream ss;
-  ss << to_string(type.arch) << "-" << type.api_level << " [" << (type.cpp ? "c++" : "c")
-     << ", fob = " << type.file_offset_bits << "]";
-  return ss.str();
-}
diff --git a/tools/versioner/src/CompilationType.h b/tools/versioner/src/CompilationType.h
deleted file mode 100644
index 2f4cf5c..0000000
--- a/tools/versioner/src/CompilationType.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <stdint.h>
-
-#include <functional>
-#include <utility>
-
-#include "Arch.h"
-
-struct CompilationType {
-  Arch arch;
-  bool cpp;
-  int api_level;
-  int file_offset_bits;
-
- private:
-  auto tie() const {
-    return std::tie(arch, cpp, api_level, file_offset_bits);
-  }
-
- public:
-  bool operator<(const CompilationType& other) const {
-    return tie() < other.tie();
-  }
-
-  bool operator==(const CompilationType& other) const {
-    return tie() == other.tie();
-  }
-};
-
-namespace std {
-template <>
-struct hash<CompilationType> {
-  size_t operator()(CompilationType type) const {
-    struct {
-      int32_t arch : 3;
-      int32_t cpp : 1;
-      int32_t api_level : 6;
-      int32_t file_offset_bits : 1;
-      int32_t padding : 21;
-    } packed;
-    packed.arch = static_cast<int32_t>(type.arch);
-    packed.cpp = type.cpp;
-    packed.api_level = type.api_level;
-    packed.file_offset_bits = (type.file_offset_bits == 64);
-    packed.padding = 0;
-    int32_t value;
-    memcpy(&value, &packed, sizeof(value));
-    return std::hash<int32_t>()(value);
-  }
-};
-}
-
-std::string to_string(const CompilationType& type);
diff --git a/tools/versioner/src/DeclarationDatabase.cpp b/tools/versioner/src/DeclarationDatabase.cpp
deleted file mode 100644
index a029c3b..0000000
--- a/tools/versioner/src/DeclarationDatabase.cpp
+++ /dev/null
@@ -1,403 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "DeclarationDatabase.h"
-
-#include <err.h>
-
-#include <iostream>
-#include <map>
-#include <mutex>
-#include <set>
-#include <sstream>
-#include <string>
-#include <utility>
-
-#include <clang/AST/AST.h>
-#include <clang/AST/Attr.h>
-#include <clang/AST/Mangle.h>
-#include <clang/AST/RecursiveASTVisitor.h>
-#include <clang/Frontend/ASTUnit.h>
-#include <llvm/Support/raw_ostream.h>
-
-using namespace clang;
-
-static bool shouldMangle(MangleContext* mangler, NamedDecl* decl) {
-  // Passing a decl with static linkage to the mangler gives incorrect results.
-  // Check some things ourselves before handing it off to the mangler.
-  if (auto FD = dyn_cast<FunctionDecl>(decl)) {
-    if (FD->isExternC()) {
-      return false;
-    }
-
-    if (FD->isInExternCContext()) {
-      return false;
-    }
-  }
-
-  return mangler->shouldMangleDeclName(decl);
-}
-
-class Visitor : public RecursiveASTVisitor<Visitor> {
-  HeaderDatabase& database;
-  CompilationType type;
-  SourceManager& src_manager;
-  std::unique_ptr<MangleContext> mangler;
-
- public:
-  Visitor(HeaderDatabase& database, CompilationType type, ASTContext& ctx)
-      : database(database), type(type), src_manager(ctx.getSourceManager()) {
-    mangler.reset(ItaniumMangleContext::create(ctx, ctx.getDiagnostics()));
-  }
-
-  std::string getDeclName(NamedDecl* decl) {
-    if (auto var_decl = dyn_cast<VarDecl>(decl)) {
-      if (!var_decl->isFileVarDecl()) {
-        return "<local var>";
-      }
-    }
-
-    // <math.h> maps fool onto foo on 32-bit, since long double is the same as double.
-    if (auto asm_attr = decl->getAttr<AsmLabelAttr>()) {
-      return asm_attr->getLabel().str();
-    }
-
-    // The decl might not have a name (e.g. bitfields).
-    if (auto identifier = decl->getIdentifier()) {
-      if (shouldMangle(mangler.get(), decl)) {
-        std::string mangled;
-        llvm::raw_string_ostream ss(mangled);
-        mangler->mangleName(decl, ss);
-        return mangled;
-      }
-
-      return identifier->getName().str();
-    }
-
-    return "<unnamed>";
-  }
-
-  bool VisitDeclaratorDecl(DeclaratorDecl* decl, SourceRange range) {
-    // Skip declarations inside of functions (function arguments, variable declarations inside of
-    // inline functions, etc).
-    if (decl->getParentFunctionOrMethod()) {
-      return true;
-    }
-
-    auto named_decl = dyn_cast<NamedDecl>(decl);
-    if (!named_decl) {
-      return true;
-    }
-
-    std::string declaration_name = getDeclName(named_decl);
-    bool is_extern = named_decl->getFormalLinkage() == ExternalLinkage;
-    bool is_definition = false;
-    bool no_guard = false;
-    bool fortify_inline = false;
-
-    if (auto function_decl = dyn_cast<FunctionDecl>(decl)) {
-      is_definition = function_decl->isThisDeclarationADefinition();
-    } else if (auto var_decl = dyn_cast<VarDecl>(decl)) {
-      if (!var_decl->isFileVarDecl()) {
-        return true;
-      }
-
-      switch (var_decl->isThisDeclarationADefinition()) {
-        case VarDecl::DeclarationOnly:
-          is_definition = false;
-          break;
-
-        case VarDecl::Definition:
-          is_definition = true;
-          break;
-
-        case VarDecl::TentativeDefinition:
-          // Forbid tentative definitions in headers.
-          fprintf(stderr, "ERROR: declaration '%s' is a tentative definition\n",
-                  declaration_name.c_str());
-          decl->dump();
-          abort();
-      }
-    } else {
-      // We only care about function and variable declarations.
-      return true;
-    }
-
-    if (decl->hasAttr<UnavailableAttr>()) {
-      // Skip declarations that exist only for compile-time diagnostics.
-      return true;
-    }
-
-    DeclarationAvailability availability;
-
-    // Find and parse __ANDROID_AVAILABILITY_DUMP__ annotations.
-    for (const AnnotateAttr* attr : decl->specific_attrs<AnnotateAttr>()) {
-      llvm::StringRef annotation = attr->getAnnotation();
-      if (annotation == "versioner_no_guard") {
-        no_guard = true;
-      } else if (annotation == "versioner_fortify_inline") {
-        fortify_inline = true;
-      } else {
-        llvm::SmallVector<llvm::StringRef, 2> fragments;
-        annotation.split(fragments, "=");
-        if (fragments.size() != 2) {
-          continue;
-        }
-
-        auto& global_availability = availability.global_availability;
-        auto& arch_availability = availability.arch_availability;
-        std::map<std::string, std::vector<int*>> prefix_map = {
-          { "introduced_in", { &global_availability.introduced } },
-          { "deprecated_in", { &global_availability.deprecated } },
-          { "obsoleted_in", { &global_availability.obsoleted } },
-          { "introduced_in_arm", { &arch_availability[Arch::arm].introduced } },
-          { "introduced_in_x86", { &arch_availability[Arch::x86].introduced } },
-          { "introduced_in_32",
-            { &arch_availability[Arch::arm].introduced,
-              &arch_availability[Arch::x86].introduced } },
-          { "introduced_in_64",
-            { &arch_availability[Arch::arm64].introduced,
-              &arch_availability[Arch::riscv64].introduced,
-              &arch_availability[Arch::x86_64].introduced } },
-        };
-
-        if (auto it = prefix_map.find(fragments[0].str()); it != prefix_map.end()) {
-          int value;
-          if (fragments[1].getAsInteger(10, value)) {
-            errx(1, "invalid __ANDROID_AVAILABILITY_DUMP__ annotation: '%s'",
-                 annotation.str().c_str());
-          }
-
-          for (int* ptr : it->second) {
-            *ptr = value;
-          }
-        }
-      }
-    }
-
-    auto symbol_it = database.symbols.find(declaration_name);
-    if (symbol_it == database.symbols.end()) {
-      Symbol symbol = {.name = declaration_name };
-      bool unused;
-      std::tie(symbol_it, unused) = database.symbols.insert({declaration_name, symbol});
-    }
-
-    auto expansion_range = src_manager.getExpansionRange(range);
-    auto filename = src_manager.getFilename(expansion_range.getBegin());
-    if (filename != src_manager.getFilename(expansion_range.getEnd())) {
-      errx(1, "expansion range filenames don't match");
-    }
-
-    Location location = {
-      .filename = filename.str(),
-      .start = {
-        .line = src_manager.getExpansionLineNumber(expansion_range.getBegin()),
-        .column = src_manager.getExpansionColumnNumber(expansion_range.getBegin()),
-      },
-      .end = {
-        .line = src_manager.getExpansionLineNumber(expansion_range.getEnd()),
-        .column = src_manager.getExpansionColumnNumber(expansion_range.getEnd()),
-      }
-    };
-
-    // Find or insert an entry for the declaration.
-    if (auto declaration_it = symbol_it->second.declarations.find(location);
-        declaration_it != symbol_it->second.declarations.end()) {
-      if (declaration_it->second.is_extern != is_extern ||
-          declaration_it->second.is_definition != is_definition ||
-          declaration_it->second.no_guard != no_guard ||
-          declaration_it->second.fortify_inline != fortify_inline) {
-        errx(1, "varying declaration of '%s' at %s:%u:%u", declaration_name.c_str(),
-             location.filename.c_str(), location.start.line, location.start.column);
-      }
-      declaration_it->second.availability.insert(std::make_pair(type, availability));
-    } else {
-      Declaration declaration;
-      declaration.name = declaration_name;
-      declaration.location = location;
-      declaration.is_extern = is_extern;
-      declaration.is_definition = is_definition;
-      declaration.no_guard = no_guard;
-      declaration.fortify_inline = fortify_inline;
-      declaration.availability.insert(std::make_pair(type, availability));
-      symbol_it->second.declarations.insert(std::make_pair(location, declaration));
-    }
-
-    return true;
-  }
-
-  bool VisitDeclaratorDecl(DeclaratorDecl* decl) {
-    return VisitDeclaratorDecl(decl, decl->getSourceRange());
-  }
-
-  bool TraverseLinkageSpecDecl(LinkageSpecDecl* decl) {
-    // Make sure that we correctly calculate the SourceRange of a declaration that has a non-braced
-    // extern "C"/"C++".
-    if (!decl->hasBraces()) {
-      DeclaratorDecl* child = nullptr;
-      for (auto child_decl : decl->decls()) {
-        if (child != nullptr) {
-          errx(1, "LinkageSpecDecl has multiple children");
-        }
-
-        if (DeclaratorDecl* declarator_decl = dyn_cast<DeclaratorDecl>(child_decl)) {
-          child = declarator_decl;
-        } else {
-          errx(1, "child of LinkageSpecDecl is not a DeclaratorDecl");
-        }
-      }
-
-      return VisitDeclaratorDecl(child, decl->getSourceRange());
-    }
-
-    for (auto child : decl->decls()) {
-      if (!TraverseDecl(child)) {
-        return false;
-      }
-    }
-    return true;
-  }
-};
-
-bool DeclarationAvailability::merge(const DeclarationAvailability& other) {
-#define check_avail(expr) error |= (!this->expr.empty() && this->expr != other.expr);
-  bool error = false;
-
-  if (!other.global_availability.empty()) {
-    check_avail(global_availability);
-    this->global_availability = other.global_availability;
-  }
-
-  for (Arch arch : supported_archs) {
-    if (!other.arch_availability[arch].empty()) {
-      check_avail(arch_availability[arch]);
-      this->arch_availability[arch] = other.arch_availability[arch];
-    }
-  }
-#undef check_avail
-
-  return !error;
-}
-
-bool Declaration::calculateAvailability(DeclarationAvailability* output) const {
-  DeclarationAvailability avail;
-  for (const auto& it : this->availability) {
-    if (!avail.merge(it.second)) {
-      return false;
-    }
-  }
-  *output = avail;
-  return true;
-}
-
-bool Symbol::calculateAvailability(DeclarationAvailability* output) const {
-  DeclarationAvailability avail;
-  for (const auto& it : this->declarations) {
-    // Don't merge availability for inline functions (because they shouldn't have any).
-    if (it.second.is_definition) {
-      continue;
-    }
-
-    DeclarationAvailability decl_availability;
-    if (!it.second.calculateAvailability(&decl_availability)) {
-      return false;
-      abort();
-    }
-
-    if (!avail.merge(decl_availability)) {
-      return false;
-    }
-  }
-  *output = avail;
-  return true;
-}
-
-bool Symbol::hasDeclaration(const CompilationType& type) const {
-  for (const auto& decl_it : this->declarations) {
-    for (const auto& compilation_it : decl_it.second.availability) {
-      if (compilation_it.first == type) {
-        return true;
-      }
-    }
-  }
-  return false;
-}
-
-void HeaderDatabase::parseAST(CompilationType type, ASTContext& ctx) {
-  std::unique_lock<std::mutex> lock(this->mutex);
-  Visitor visitor(*this, type, ctx);
-  visitor.TraverseDecl(ctx.getTranslationUnitDecl());
-}
-
-std::string to_string(const AvailabilityValues& av) {
-  std::stringstream ss;
-
-  if (av.introduced != 0) {
-    ss << "introduced = " << av.introduced << ", ";
-  }
-
-  if (av.deprecated != 0) {
-    ss << "deprecated = " << av.deprecated << ", ";
-  }
-
-  if (av.obsoleted != 0) {
-    ss << "obsoleted = " << av.obsoleted << ", ";
-  }
-
-  std::string result = ss.str();
-  if (!result.empty()) {
-    result = result.substr(0, result.length() - 2);
-  }
-  return result;
-}
-
-std::string to_string(const DeclarationType& type) {
-  switch (type) {
-    case DeclarationType::function:
-      return "function";
-    case DeclarationType::variable:
-      return "variable";
-    case DeclarationType::inconsistent:
-      return "inconsistent";
-  }
-  abort();
-}
-
-std::string to_string(const DeclarationAvailability& decl_av) {
-  std::stringstream ss;
-  if (!decl_av.global_availability.empty()) {
-    ss << to_string(decl_av.global_availability) << ", ";
-  }
-
-  for (const auto& it : decl_av.arch_availability) {
-    if (!it.second.empty()) {
-      ss << to_string(it.first) << ": " << to_string(it.second) << ", ";
-    }
-  }
-
-  std::string result = ss.str();
-  if (result.size() == 0) {
-    return "no availability";
-  }
-
-  return result.substr(0, result.length() - 2);
-}
-
-std::string to_string(const Location& loc) {
-  std::stringstream ss;
-  ss << loc.filename << ":" << loc.start.line << ":" << loc.start.column;
-  return ss.str();
-}
diff --git a/tools/versioner/src/DeclarationDatabase.h b/tools/versioner/src/DeclarationDatabase.h
deleted file mode 100644
index 9a45227..0000000
--- a/tools/versioner/src/DeclarationDatabase.h
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <stdio.h>
-
-#include <map>
-#include <mutex>
-#include <set>
-#include <string>
-#include <vector>
-
-#include <llvm/ADT/StringRef.h>
-
-#include "Arch.h"
-#include "CompilationType.h"
-#include "Utils.h"
-
-namespace clang {
-class ASTContext;
-class Decl;
-}
-
-enum class DeclarationType {
-  function,
-  variable,
-  inconsistent,
-};
-
-struct AvailabilityValues {
-  int introduced = 0;
-  int deprecated = 0;
-  int obsoleted = 0;
-
-  bool empty() const {
-    return !(introduced || deprecated || obsoleted);
-  }
-
-  bool operator==(const AvailabilityValues& rhs) const {
-    return std::tie(introduced, deprecated, obsoleted) ==
-           std::tie(rhs.introduced, rhs.deprecated, rhs.obsoleted);
-  }
-
-  bool operator!=(const AvailabilityValues& rhs) const {
-    return !(*this == rhs);
-  }
-};
-
-std::string to_string(const AvailabilityValues& av);
-
-struct DeclarationAvailability {
-  AvailabilityValues global_availability;
-  ArchMap<AvailabilityValues> arch_availability;
-
-  bool empty() const {
-    if (!global_availability.empty()) {
-      return false;
-    }
-
-    for (const auto& it : arch_availability) {
-      if (!it.second.empty()) {
-        return false;
-      }
-    }
-
-    return true;
-  }
-
-  bool operator==(const DeclarationAvailability& rhs) const {
-    return std::tie(global_availability, arch_availability) ==
-           std::tie(rhs.global_availability, rhs.arch_availability);
-  }
-
-  bool operator!=(const DeclarationAvailability& rhs) const {
-    return !(*this == rhs);
-  }
-
-  // Returns false if the availability declarations conflict.
-  bool merge(const DeclarationAvailability& other);
-};
-
-std::string to_string(const DeclarationAvailability& decl_av);
-
-struct FileLocation {
-  unsigned line;
-  unsigned column;
-
-  bool operator<(const FileLocation& rhs) const {
-    return std::tie(line, column) < std::tie(rhs.line, rhs.column);
-  }
-
-  bool operator==(const FileLocation& rhs) const {
-    return std::tie(line, column) == std::tie(rhs.line, rhs.column);
-  }
-};
-
-struct Location {
-  std::string filename;
-  FileLocation start;
-  FileLocation end;
-
-  bool operator<(const Location& rhs) const {
-    return std::tie(filename, start, end) < std::tie(rhs.filename, rhs.start, rhs.end);
-  }
-};
-
-std::string to_string(const Location& loc);
-
-struct Declaration {
-  std::string name;
-  Location location;
-
-  bool is_extern;
-  bool is_definition;
-  bool no_guard;
-  bool fortify_inline;
-  std::map<CompilationType, DeclarationAvailability> availability;
-
-  bool calculateAvailability(DeclarationAvailability* output) const;
-  bool operator<(const Declaration& rhs) const {
-    return location < rhs.location;
-  }
-
-  void dump(const std::string& base_path = "", FILE* out = stdout, unsigned indent = 0) const {
-    std::string indent_str(indent, ' ');
-    fprintf(out, "%s", indent_str.c_str());
-
-    fprintf(out, "%s ", is_extern ? "extern" : "static");
-    fprintf(out, "%s ", is_definition ? "definition" : "declaration");
-    if (no_guard) {
-      fprintf(out, "no_guard ");
-    }
-    if (fortify_inline) {
-      fprintf(out, "fortify_inline ");
-    }
-    fprintf(out, "@ %s:%u:%u", StripPrefix(location.filename, base_path).str().c_str(),
-            location.start.line, location.start.column);
-
-    if (!availability.empty()) {
-      DeclarationAvailability avail;
-
-      fprintf(out, "\n%s  ", indent_str.c_str());
-      if (!calculateAvailability(&avail)) {
-        fprintf(out, "invalid availability\n");
-      } else {
-        fprintf(out, "%s\n", to_string(avail).c_str());
-      }
-    }
-  }
-};
-
-struct Symbol {
-  std::string name;
-  std::map<Location, Declaration> declarations;
-
-  bool calculateAvailability(DeclarationAvailability* output) const;
-  bool hasDeclaration(const CompilationType& type) const;
-
-  bool operator<(const Symbol& rhs) const {
-    return name < rhs.name;
-  }
-
-  bool operator==(const Symbol& rhs) const {
-    return name == rhs.name;
-  }
-
-  void dump(const std::string& base_path = "", FILE* out = stdout) const {
-    DeclarationAvailability availability;
-    bool valid_availability = calculateAvailability(&availability);
-    fprintf(out, "  %s: ", name.c_str());
-
-    if (valid_availability) {
-      fprintf(out, "%s\n", to_string(availability).c_str());
-    } else {
-      fprintf(out, "invalid\n");
-    }
-
-    for (auto& it : declarations) {
-      it.second.dump(base_path, out, 4);
-    }
-  }
-};
-
-class HeaderDatabase {
-  std::mutex mutex;
-
- public:
-  std::map<std::string, Symbol> symbols;
-
-  void parseAST(CompilationType type, clang::ASTContext& ast);
-
-  void dump(const std::string& base_path = "", FILE* out = stdout) const {
-    fprintf(out, "HeaderDatabase contains %zu symbols:\n", symbols.size());
-    for (const auto& pair : symbols) {
-      pair.second.dump(base_path, out);
-    }
-  }
-};
diff --git a/tools/versioner/src/Driver.cpp b/tools/versioner/src/Driver.cpp
deleted file mode 100644
index 24dc5ec..0000000
--- a/tools/versioner/src/Driver.cpp
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Driver.h"
-
-#include <err.h>
-#include <string.h>
-
-#include <chrono>
-#include <mutex>
-#include <string>
-#include <thread>
-#include <unordered_map>
-#include <vector>
-
-#include <clang/AST/ASTConsumer.h>
-#include <clang/Basic/Diagnostic.h>
-#include <clang/Basic/TargetInfo.h>
-#include <clang/Driver/Compilation.h>
-#include <clang/Driver/Driver.h>
-#include <clang/Frontend/CompilerInstance.h>
-#include <clang/Frontend/CompilerInvocation.h>
-#include <clang/Frontend/FrontendAction.h>
-#include <clang/Frontend/FrontendActions.h>
-#include <clang/Frontend/TextDiagnosticPrinter.h>
-#include <clang/Frontend/Utils.h>
-#include <clang/FrontendTool/Utils.h>
-#include <llvm/ADT/IntrusiveRefCntPtr.h>
-#include <llvm/ADT/SmallVector.h>
-#include <llvm/ADT/StringRef.h>
-#include <llvm/Option/Option.h>
-#include <llvm/Support/Host.h>
-#include <llvm/Support/VirtualFileSystem.h>
-
-#include "Arch.h"
-#include "DeclarationDatabase.h"
-#include "versioner.h"
-
-using namespace std::chrono_literals;
-using namespace std::string_literals;
-
-using namespace clang;
-
-class VersionerASTConsumer : public clang::ASTConsumer {
- public:
-  HeaderDatabase* header_database;
-  CompilationType type;
-
-  VersionerASTConsumer(HeaderDatabase* header_database, CompilationType type)
-      : header_database(header_database), type(type) {
-  }
-
-  void HandleTranslationUnit(ASTContext& ctx) override {
-    header_database->parseAST(type, ctx);
-  }
-};
-
-class VersionerASTAction : public clang::ASTFrontendAction {
- public:
-  HeaderDatabase* header_database;
-  CompilationType type;
-
-  VersionerASTAction(HeaderDatabase* header_database, CompilationType type)
-      : header_database(header_database), type(type) {
-  }
-
-  std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance&, llvm::StringRef) override {
-    return std::make_unique<VersionerASTConsumer>(header_database, type);
-  }
-};
-
-static IntrusiveRefCntPtr<DiagnosticsEngine> constructDiags() {
-  IntrusiveRefCntPtr<DiagnosticOptions> diag_opts(new DiagnosticOptions());
-  auto diag_printer = std::make_unique<TextDiagnosticPrinter>(llvm::errs(), diag_opts.get());
-  IntrusiveRefCntPtr<DiagnosticIDs> diag_ids(new DiagnosticIDs());
-  IntrusiveRefCntPtr<DiagnosticsEngine> diags(
-      new DiagnosticsEngine(diag_ids.get(), diag_opts.get(), diag_printer.release()));
-  return diags;
-}
-
-// clang's driver is slow compared to the work it performs to compile our headers.
-// Run it once to generate flags for each target, and memoize the results.
-static std::unordered_map<CompilationType, std::vector<std::string>> cc1_flags;
-static const char* filename_placeholder = "__VERSIONER_PLACEHOLDER__";
-static void generateTargetCC1Flags(llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> vfs,
-                                   CompilationType type,
-                                   const std::vector<std::string>& include_dirs) {
-  std::vector<std::string> cmd = { "versioner" };
-  if (type.cpp) {
-    cmd.push_back("-std=gnu++11");
-    cmd.push_back("-x");
-    cmd.push_back("c++");
-  } else {
-    cmd.push_back("-std=gnu11");
-    cmd.push_back("-x");
-    cmd.push_back("c");
-  }
-
-  cmd.push_back("-fsyntax-only");
-
-  cmd.push_back("-Wall");
-  cmd.push_back("-Wextra");
-  cmd.push_back("-Weverything");
-  cmd.push_back("-Werror");
-  cmd.push_back("-Wundef");
-  cmd.push_back("-Wno-unused-macros");
-  cmd.push_back("-Wno-unused-function");
-  cmd.push_back("-Wno-unused-variable");
-  cmd.push_back("-Wno-unknown-attributes");
-  cmd.push_back("-Wno-pragma-once-outside-header");
-
-  cmd.push_back("-target");
-  cmd.push_back(arch_targets[type.arch]);
-
-  cmd.push_back("-DANDROID");
-  cmd.push_back("-D__BIONIC_VERSIONER=1");
-  cmd.push_back("-D__ANDROID_API__="s + std::to_string(type.api_level));
-  cmd.push_back("-D_FORTIFY_SOURCE=2");
-  cmd.push_back("-D_GNU_SOURCE");
-  cmd.push_back("-D_FILE_OFFSET_BITS="s + std::to_string(type.file_offset_bits));
-
-  cmd.push_back("-nostdinc");
-
-  if (add_include) {
-    cmd.push_back("-include");
-    cmd.push_back("android/versioning.h");
-  }
-
-  for (const auto& dir : include_dirs) {
-    cmd.push_back("-isystem");
-    cmd.push_back(dir);
-  }
-
-  cmd.push_back("-include");
-  cmd.push_back(filename_placeholder);
-  cmd.push_back("-");
-
-  auto diags = constructDiags();
-  driver::Driver driver("versioner", llvm::sys::getDefaultTargetTriple(), *diags, "versioner", vfs);
-  driver.setCheckInputsExist(false);
-
-  llvm::SmallVector<const char*, 32> driver_args;
-  for (const std::string& str : cmd) {
-    driver_args.push_back(str.c_str());
-  }
-
-  std::unique_ptr<driver::Compilation> Compilation(driver.BuildCompilation(driver_args));
-  const driver::JobList& jobs = Compilation->getJobs();
-  if (jobs.size() != 1) {
-    errx(1, "driver returned %zu jobs for %s", jobs.size(), to_string(type).c_str());
-  }
-
-  const driver::Command& driver_cmd = llvm::cast<driver::Command>(*jobs.begin());
-  const llvm::opt::ArgStringList& cc_args = driver_cmd.getArguments();
-
-  if (cc_args.size() == 0) {
-    errx(1, "driver returned empty command for %s", to_string(type).c_str());
-  }
-
-  std::vector<std::string> result(cc_args.begin(), cc_args.end());
-
-  {
-    static std::mutex cc1_init_mutex;
-    std::unique_lock<std::mutex> lock(cc1_init_mutex);
-    if (cc1_flags.count(type) > 0) {
-      errx(1, "attemped to generate cc1 flags for existing CompilationType %s",
-           to_string(type).c_str());
-    }
-
-    cc1_flags.emplace(std::make_pair(type, std::move(result)));
-  }
-}
-
-static std::vector<const char*> getCC1Command(CompilationType type, const std::string& filename) {
-  const auto& target_flag_it = cc1_flags.find(type);
-  if (target_flag_it == cc1_flags.end()) {
-    errx(1, "failed to find target flags for CompilationType %s", to_string(type).c_str());
-  }
-
-  std::vector<const char*> result;
-  for (const std::string& flag : target_flag_it->second) {
-    if (flag == "-disable-free") {
-      continue;
-    } else if (flag == filename_placeholder) {
-      result.push_back(filename.c_str());
-    } else {
-      result.push_back(flag.c_str());
-    }
-  }
-  return result;
-}
-
-void initializeTargetCC1FlagCache(llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> vfs,
-                                  const std::set<CompilationType>& types,
-                                  const std::unordered_map<Arch, CompilationRequirements>& reqs) {
-  if (!cc1_flags.empty()) {
-    errx(1, "reinitializing target CC1 flag cache?");
-  }
-
-  auto start = std::chrono::high_resolution_clock::now();
-  std::vector<std::thread> threads;
-  for (const CompilationType type : types) {
-    threads.emplace_back([type, &vfs, &reqs]() {
-      const auto& arch_req_it = reqs.find(type.arch);
-      if (arch_req_it == reqs.end()) {
-        errx(1, "CompilationRequirement map missing entry for CompilationType %s",
-             to_string(type).c_str());
-      }
-
-      generateTargetCC1Flags(vfs, type, arch_req_it->second.dependencies);
-    });
-  }
-  for (auto& thread : threads) {
-    thread.join();
-  }
-  auto end = std::chrono::high_resolution_clock::now();
-
-  if (verbose) {
-    auto diff = (end - start) / 1.0ms;
-    printf("Generated compiler flags for %zu targets in %0.2Lfms\n", types.size(), diff);
-  }
-
-  if (cc1_flags.empty()) {
-    errx(1, "failed to initialize target CC1 flag cache");
-  }
-}
-
-void compileHeader(llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> vfs,
-                   HeaderDatabase* header_database, CompilationType type,
-                   const std::string& filename) {
-  auto diags = constructDiags();
-  std::vector<const char*> cc1_flags = getCC1Command(type, filename);
-  auto invocation = std::make_unique<CompilerInvocation>();
-  if (!CompilerInvocation::CreateFromArgs(*invocation.get(), cc1_flags, *diags)) {
-    errx(1, "failed to create CompilerInvocation");
-  }
-
-  clang::CompilerInstance Compiler;
-
-  Compiler.setInvocation(std::move(invocation));
-  Compiler.setDiagnostics(diags.get());
-  Compiler.createFileManager(vfs);
-
-  VersionerASTAction versioner_action(header_database, type);
-  if (!Compiler.ExecuteAction(versioner_action)) {
-    errx(1, "compilation generated warnings or errors");
-  }
-
-  if (diags->getNumWarnings() || diags->hasErrorOccurred()) {
-    errx(1, "compilation generated warnings or errors");
-  }
-}
diff --git a/tools/versioner/src/Driver.h b/tools/versioner/src/Driver.h
deleted file mode 100644
index 99e57ae..0000000
--- a/tools/versioner/src/Driver.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <set>
-#include <string>
-#include <unordered_map>
-
-#include <llvm/ADT/IntrusiveRefCntPtr.h>
-
-#include "Arch.h"
-#include "DeclarationDatabase.h"
-#include "VFS.h"
-
-struct CompilationRequirements {
-  std::vector<std::string> headers;
-  std::vector<std::string> dependencies;
-};
-
-void initializeTargetCC1FlagCache(llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> vfs,
-                                  const std::set<CompilationType>& types,
-                                  const std::unordered_map<Arch, CompilationRequirements>& reqs);
-
-void compileHeader(llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> vfs,
-                   HeaderDatabase* header_database, CompilationType type,
-                   const std::string& filename);
diff --git a/tools/versioner/src/Preprocessor.cpp b/tools/versioner/src/Preprocessor.cpp
deleted file mode 100644
index 14f80d8..0000000
--- a/tools/versioner/src/Preprocessor.cpp
+++ /dev/null
@@ -1,495 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Preprocessor.h"
-
-#include <err.h>
-#include <fcntl.h>
-#include <fts.h>
-#include <libgen.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-#include <deque>
-#include <fstream>
-#include <string>
-#include <unordered_map>
-
-#include <llvm/ADT/StringRef.h>
-#include <llvm/ADT/Twine.h>
-#include <llvm/Support/FileSystem.h>
-#include <llvm/Support/Path.h>
-
-#include "Arch.h"
-#include "DeclarationDatabase.h"
-#include "versioner.h"
-
-using namespace std::string_literals;
-
-static DeclarationAvailability calculateRequiredGuard(const Declaration& declaration) {
-  // To avoid redundant macro guards, the availability calculated by this function is the set
-  // difference of 'targets marked-available' from 'targets the declaration is visible in'.
-  // For example, a declaration that is visible always and introduced in 9 would return introduced
-  // in 9, but the same declaration, except only visible in 9+ would return an empty
-  // DeclarationAvailability.
-
-  // This currently only handles __INTRODUCED_IN.
-  // TODO: Do the same for __REMOVED_IN.
-  int global_min_api_visible = 0;
-  ArchMap<int> arch_visibility;
-
-  for (const auto& it : declaration.availability) {
-    const CompilationType& type = it.first;
-
-    if (global_min_api_visible == 0 || global_min_api_visible > type.api_level) {
-      global_min_api_visible = type.api_level;
-    }
-
-    if (arch_visibility[type.arch] == 0 || arch_visibility[type.arch] > type.api_level) {
-      arch_visibility[type.arch] = type.api_level;
-    }
-  }
-
-  DeclarationAvailability decl_av;
-  if (!declaration.calculateAvailability(&decl_av)) {
-    fprintf(stderr, "versioner: failed to calculate availability while preprocessing:\n");
-    declaration.dump("", stderr, 2);
-    exit(1);
-  }
-
-  D("Calculating required guard for %s:\n", declaration.name.c_str());
-  D("  Declaration availability: %s\n", to_string(decl_av).c_str());
-
-  if (verbose) {
-    std::string arch_visibility_str;
-    for (Arch arch : supported_archs) {
-      if (arch_visibility[arch] != 0) {
-        arch_visibility_str += to_string(arch);
-        arch_visibility_str += ": ";
-        arch_visibility_str += std::to_string(arch_visibility[arch]);
-        arch_visibility_str += ", ";
-      }
-    }
-    if (!arch_visibility_str.empty()) {
-      arch_visibility_str.resize(arch_visibility_str.size() - 2);
-    }
-    D("  Declaration visibility: global = %d, arch = %s\n", global_min_api_visible,
-      arch_visibility_str.c_str());
-  }
-
-  DeclarationAvailability result = decl_av;
-  if (result.global_availability.introduced <= global_min_api_visible) {
-    result.global_availability.introduced = 0;
-  }
-
-  for (Arch arch : supported_archs) {
-    if (result.arch_availability[arch].introduced <= arch_visibility[arch]) {
-      result.arch_availability[arch].introduced = 0;
-    }
-  }
-
-  D("  Calculated result: %s\n", to_string(result).c_str());
-  D("\n");
-
-  return result;
-}
-
-static std::deque<std::string> readFileLines(const std::string& path) {
-  std::ifstream is(path.c_str());
-  std::deque<std::string> result;
-  std::string line;
-
-  while (std::getline(is, line)) {
-    result.push_back(std::move(line));
-  }
-
-  return result;
-}
-
-static void writeFileLines(const std::string& path, const std::deque<std::string>& lines) {
-  if (!mkdirs(dirname(path))) {
-    err(1, "failed to create directory '%s'", dirname(path).c_str());
-  }
-
-  std::ofstream os(path.c_str(), std::ios_base::out | std::ios_base::trunc);
-
-  for (const std::string& line : lines) {
-    os << line << "\n";
-  }
-}
-
-using GuardMap = std::map<Location, DeclarationAvailability>;
-
-static std::string generateGuardCondition(const DeclarationAvailability& avail) {
-  // Logically orred expressions that constitute the macro guard.
-  std::vector<std::string> expressions;
-  static const std::vector<std::pair<std::string, std::set<Arch>>> arch_sets = {
-    { "", supported_archs },
-    { "!defined(__LP64__)", { Arch::arm, Arch::x86 } },
-    { "defined(__LP64__)", { Arch::arm64, Arch::riscv64, Arch::x86_64 } },
-  };
-  std::map<Arch, std::string> individual_archs = {
-    { Arch::arm, "defined(__arm__)" },
-    { Arch::arm64, "defined(__aarch64__)" },
-    { Arch::riscv64, "defined(__riscv)" },
-    { Arch::x86, "defined(__i386__)" },
-    { Arch::x86_64, "defined(__x86_64__)" },
-  };
-
-  auto generate_guard = [](const std::string& arch_expr, int min_version) {
-    if (min_version == 0) {
-      return arch_expr;
-    }
-    return arch_expr + " && __ANDROID_API__ >= " + std::to_string(min_version);
-  };
-
-  D("Generating guard for availability: %s\n", to_string(avail).c_str());
-  if (!avail.global_availability.empty()) {
-    for (Arch arch : supported_archs) {
-      if (!avail.arch_availability[arch].empty()) {
-        errx(1, "attempted to generate guard with global and per-arch values: %s",
-             to_string(avail).c_str());
-      }
-    }
-
-    if (avail.global_availability.introduced == 0) {
-      fprintf(stderr, "warning: attempted to generate guard with empty availability: %s\n",
-              to_string(avail).c_str());
-      return "";
-    }
-
-    if (avail.global_availability.introduced <= 9) {
-      return "";
-    }
-
-    return "__ANDROID_API__ >= "s + std::to_string(avail.global_availability.introduced);
-  }
-
-  for (const auto& it : arch_sets) {
-    const std::string& arch_expr = it.first;
-    const std::set<Arch>& archs = it.second;
-
-    D("  Checking arch set '%s'\n", arch_expr.c_str());
-
-    int version = avail.arch_availability[*it.second.begin()].introduced;
-
-    // The maximum min_version of the set.
-    int max_min_version = 0;
-    for (Arch arch : archs) {
-      if (arch_min_api[arch] > max_min_version) {
-        max_min_version = arch_min_api[arch];
-      }
-
-      if (avail.arch_availability[arch].introduced != version) {
-        D("    Skipping arch set, availability for %s doesn't match %s\n",
-          to_string(*it.second.begin()).c_str(), to_string(arch).c_str());
-        goto skip;
-      }
-    }
-
-    // If all of the archs in the set have a min_api that satifies version, elide the check.
-    if (max_min_version >= version) {
-      version = 0;
-    }
-
-    expressions.emplace_back(generate_guard(arch_expr, version));
-
-    D("    Generated expression '%s'\n", expressions.rbegin()->c_str());
-
-    for (Arch arch : archs) {
-      individual_archs.erase(arch);
-    }
-
-  skip:
-    continue;
-  }
-
-  for (const auto& it : individual_archs) {
-    const std::string& arch_expr = it.second;
-    int introduced = avail.arch_availability[it.first].introduced;
-    if (introduced == 0) {
-      expressions.emplace_back(arch_expr);
-    } else {
-      expressions.emplace_back(generate_guard(arch_expr, introduced));
-    }
-  }
-
-  if (expressions.size() == 0) {
-    errx(1, "generated empty guard for availability %s", to_string(avail).c_str());
-  } else if (expressions.size() == 1) {
-    return expressions[0];
-  }
-
-  return "("s + Join(expressions, ") || (") + ")";
-}
-
-// Assumes that nothing weird is happening (e.g. having the semicolon be in a macro).
-static FileLocation findNextSemicolon(const std::deque<std::string>& lines, FileLocation start) {
-  unsigned current_line = start.line;
-  unsigned current_column = start.column;
-  while (current_line <= lines.size()) {
-    size_t result = lines[current_line - 1].find_first_of(';', current_column - 1);
-
-    if (result != std::string::npos) {
-      FileLocation loc = {
-        .line = current_line,
-        .column = unsigned(result) + 1,
-      };
-
-      return loc;
-    }
-
-    ++current_line;
-    current_column = 0;
-  }
-
-  errx(1, "failed to find semicolon starting from %u:%u", start.line, start.column);
-}
-
-// Merge adjacent blocks with identical guards.
-static void mergeGuards(std::deque<std::string>& file_lines, GuardMap& guard_map) {
-  if (guard_map.size() < 2) {
-    return;
-  }
-
-  auto current = guard_map.begin();
-  auto next = current;
-  ++next;
-
-  while (next != guard_map.end()) {
-    if (current->second != next->second) {
-      ++current;
-      ++next;
-      continue;
-    }
-
-    // Scan from the end of current to the beginning of next.
-    bool in_block_comment = false;
-    bool valid = true;
-
-    FileLocation current_location = current->first.end;
-    FileLocation end_location = next->first.start;
-
-    auto nextLine = [&current_location]() {
-      ++current_location.line;
-      current_location.column = 1;
-    };
-
-    auto nextCol = [&file_lines, &current_location, &nextLine]() {
-      if (current_location.column == file_lines[current_location.line - 1].length()) {
-        nextLine();
-      } else {
-        ++current_location.column;
-      }
-    };
-
-    // The end location will point to the semicolon, which we don't want to read, so skip it.
-    nextCol();
-
-    while (current_location < end_location) {
-      const std::string& line = file_lines[current_location.line - 1];
-      size_t line_index = current_location.column - 1;
-
-      if (in_block_comment) {
-        size_t pos = line.find("*/", line_index);
-        if (pos == std::string::npos) {
-          D("Didn't find block comment terminator, skipping line\n");
-          nextLine();
-          continue;
-        } else {
-          D("Found block comment terminator\n");
-          in_block_comment = false;
-          current_location.column = pos + 2;
-          nextCol();
-          continue;
-        }
-      } else {
-        size_t pos = line.find_first_not_of(" \t", line_index);
-        if (pos == std::string::npos) {
-          nextLine();
-          continue;
-        }
-
-        current_location.column = pos + 1;
-        if (line[pos] != '/') {
-          valid = false;
-          break;
-        }
-
-        nextCol();
-        if (line.length() <= pos + 1) {
-          // Trailing slash at the end of a line?
-          D("Trailing slash at end of line\n");
-          valid = false;
-          break;
-        }
-
-        if (line[pos + 1] == '/') {
-          // C++ style comment
-          nextLine();
-        } else if (line[pos + 1] == '*') {
-          // Block comment
-          nextCol();
-          in_block_comment = true;
-          D("In a block comment\n");
-        } else {
-          // Garbage?
-          D("Unexpected output after /: %s\n", line.substr(pos).c_str());
-          valid = false;
-          break;
-        }
-      }
-    }
-
-    if (!valid) {
-      D("Not merging blocks %s and %s\n", to_string(current->first).c_str(),
-        to_string(next->first).c_str());
-      ++current;
-      ++next;
-      continue;
-    }
-
-    D("Merging blocks %s and %s\n", to_string(current->first).c_str(),
-      to_string(next->first).c_str());
-
-    Location merged = current->first;
-    merged.end = next->first.end;
-
-    DeclarationAvailability avail = current->second;
-
-    guard_map.erase(current);
-    guard_map.erase(next);
-    bool unused;
-    std::tie(current, unused) = guard_map.insert(std::make_pair(merged, avail));
-    next = current;
-    ++next;
-  }
-}
-
-static void rewriteFile(const std::string& output_path, std::deque<std::string>& file_lines,
-                        const GuardMap& guard_map) {
-  for (auto it = guard_map.rbegin(); it != guard_map.rend(); ++it) {
-    const Location& loc = it->first;
-    const DeclarationAvailability& avail = it->second;
-
-    std::string condition = generateGuardCondition(avail);
-    if (condition.empty()) {
-      continue;
-    }
-
-    std::string prologue = "\n#if "s + condition + "\n";
-    std::string epilogue = "\n#endif /* " + condition + " */\n";
-
-    file_lines[loc.end.line - 1].insert(loc.end.column, epilogue);
-    file_lines[loc.start.line - 1].insert(loc.start.column - 1, prologue);
-  }
-
-  if (verbose) {
-    printf("Preprocessing %s...\n", output_path.c_str());
-  }
-  writeFileLines(output_path, file_lines);
-}
-
-bool preprocessHeaders(const std::string& dst_dir, const std::string& src_dir,
-                       HeaderDatabase* database) {
-  std::unordered_map<std::string, GuardMap> guards;
-  std::unordered_map<std::string, std::deque<std::string>> file_lines;
-
-  for (const auto& symbol_it : database->symbols) {
-    const Symbol& symbol = symbol_it.second;
-
-    for (const auto& decl_it : symbol.declarations) {
-      const Location& location = decl_it.first;
-      const Declaration& decl = decl_it.second;
-
-      if (decl.no_guard) {
-        // No guard required.
-        continue;
-      }
-
-      DeclarationAvailability macro_guard = calculateRequiredGuard(decl);
-      if (!macro_guard.empty()) {
-        guards[location.filename][location] = macro_guard;
-      }
-    }
-  }
-
-  // Copy over the original headers before preprocessing.
-  char* fts_paths[2] = { const_cast<char*>(src_dir.c_str()), nullptr };
-  std::unique_ptr<FTS, decltype(&fts_close)> fts(fts_open(fts_paths, FTS_LOGICAL, nullptr),
-                                                 fts_close);
-  if (!fts) {
-    err(1, "failed to open directory %s", src_dir.c_str());
-  }
-
-  while (FTSENT* ent = fts_read(fts.get())) {
-    llvm::StringRef path = ent->fts_path;
-    if (!path.startswith(src_dir)) {
-      err(1, "path '%s' doesn't start with source dir '%s'", ent->fts_path, src_dir.c_str());
-    }
-
-    if (ent->fts_info != FTS_F) {
-      continue;
-    }
-
-    std::string rel_path = path.substr(src_dir.length() + 1).str();
-    std::string dst_path = dst_dir + "/" + rel_path;
-    llvm::StringRef parent_path = llvm::sys::path::parent_path(dst_path);
-    if (llvm::sys::fs::create_directories(parent_path)) {
-      errx(1, "failed to ensure existence of directory '%s'", parent_path.str().c_str());
-    }
-    if (llvm::sys::fs::copy_file(path, dst_path)) {
-      errx(1, "failed to copy '%s/%s' to '%s'", src_dir.c_str(), path.str().c_str(),
-           dst_path.c_str());
-    }
-  }
-
-  for (const auto& file_it : guards) {
-    file_lines[file_it.first] = readFileLines(file_it.first);
-  }
-
-  for (auto& file_it : guards) {
-    llvm::StringRef file_path = file_it.first;
-    GuardMap& orig_guard_map = file_it.second;
-
-    // The end positions given to us are the end of the declaration, which is some point before the
-    // semicolon. Fix up the end positions by scanning for the next semicolon.
-    GuardMap guard_map;
-    for (const auto& it : orig_guard_map) {
-      Location loc = it.first;
-      loc.end = findNextSemicolon(file_lines[file_path.str()], loc.end);
-      guard_map[loc] = it.second;
-    }
-
-    // TODO: Make sure that the Locations don't overlap.
-    // TODO: Merge adjacent non-identical guards.
-    mergeGuards(file_lines[file_path.str()], guard_map);
-
-    if (!file_path.startswith(src_dir)) {
-      errx(1, "input file %s is not in %s\n", file_path.str().c_str(), src_dir.c_str());
-    }
-
-    // rel_path has a leading slash.
-    llvm::StringRef rel_path = file_path.substr(src_dir.size(), file_path.size() - src_dir.size());
-    std::string output_path = (llvm::Twine(dst_dir) + rel_path).str();
-
-    rewriteFile(output_path, file_lines[file_path.str()], guard_map);
-  }
-
-  return true;
-}
diff --git a/tools/versioner/src/SymbolDatabase.cpp b/tools/versioner/src/SymbolDatabase.cpp
deleted file mode 100644
index c483c0f..0000000
--- a/tools/versioner/src/SymbolDatabase.cpp
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "SymbolDatabase.h"
-
-#include "SymbolFileParser.h"
-
-#include <err.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <fstream>
-#include <streambuf>
-#include <string>
-#include <unordered_set>
-
-#include <llvm/ADT/SmallVector.h>
-#include <llvm/ADT/StringRef.h>
-#include <llvm/Object/Binary.h>
-#include <llvm/Object/ELFObjectFile.h>
-
-#include "versioner.h"
-
-using namespace llvm;
-using namespace llvm::object;
-
-std::unordered_set<std::string> getSymbols(const std::string& filename) {
-  std::unordered_set<std::string> result;
-  auto binaryOrError = createBinary(filename);
-  if (!binaryOrError) {
-    errx(1, "failed to open library at %s: %s\n", filename.c_str(),
-         llvm::toString(binaryOrError.takeError()).c_str());
-  }
-
-  ELFObjectFileBase* elf = dyn_cast_or_null<ELFObjectFileBase>(binaryOrError.get().getBinary());
-  if (!elf) {
-    errx(1, "failed to parse %s as ELF", filename.c_str());
-  }
-
-  for (const ELFSymbolRef symbol : elf->getDynamicSymbolIterators()) {
-    Expected<StringRef> symbolNameOrError = symbol.getName();
-
-    if (!symbolNameOrError) {
-      errx(1, "failed to get symbol name for symbol in %s: %s", filename.c_str(),
-           llvm::toString(symbolNameOrError.takeError()).c_str());
-    }
-
-    result.insert(symbolNameOrError.get().str());
-  }
-
-  return result;
-}
-
-static std::map<std::string, NdkSymbolType> parsePlatform(const CompilationType& type,
-                                                          const std::string& platform_dir) {
-  static const std::pair<const char*, bool> wanted_files[] = {
-    {"crtbegin.map.txt", false},
-    {"libc.map.txt", true},
-  };
-
-  std::map<std::string, NdkSymbolType> result;
-
-  for (auto&& [filename, required] : wanted_files) {
-    std::string path = platform_dir + "/" + filename;
-
-    std::optional<SymbolMap> symbols = parseSymbolFile(path, type);
-    if (!symbols) {
-      if (required) {
-        errx(1, "error: failed to load: %s", path.c_str());
-      }
-      continue;
-    }
-
-    for (auto&& [symbol_name, symbol_type] : *symbols) {
-      if (symbol_name.empty()) {
-        continue;
-      }
-
-      if (result.count(symbol_name) != 0) {
-        if (strict) {
-          printf("duplicated symbol '%s' in '%s'\n", symbol_name.c_str(), path.c_str());
-        }
-      }
-
-      result[symbol_name] = symbol_type;
-    }
-  }
-
-  return result;
-}
-
-std::optional<NdkSymbolDatabase> parsePlatforms(const std::set<CompilationType>& types,
-                                                const std::string& platform_dir) {
-  NdkSymbolDatabase result;
-  for (const CompilationType& type : types) {
-    std::map<std::string, NdkSymbolType> symbols = parsePlatform(type, platform_dir);
-    for (const auto& it : symbols) {
-      result[it.first][type] = it.second;
-    }
-  }
-  return std::make_optional(std::move(result));
-}
diff --git a/tools/versioner/src/SymbolDatabase.h b/tools/versioner/src/SymbolDatabase.h
deleted file mode 100644
index dbbba4f..0000000
--- a/tools/versioner/src/SymbolDatabase.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <map>
-#include <optional>
-#include <set>
-#include <string>
-#include <unordered_set>
-
-#include "DeclarationDatabase.h"
-
-using LibrarySymbolDatabase = std::unordered_set<std::string>;
-std::unordered_set<std::string> getSymbols(const std::string& filename);
-
-enum class NdkSymbolType {
-  function,
-  variable,
-};
-
-using NdkSymbolDatabase = std::map<std::string, std::map<CompilationType, NdkSymbolType>>;
-std::optional<NdkSymbolDatabase> parsePlatforms(const std::set<CompilationType>& types,
-                                                const std::string& platform_dir);
diff --git a/tools/versioner/src/SymbolFileParser.cpp b/tools/versioner/src/SymbolFileParser.cpp
deleted file mode 100644
index 1b4adae..0000000
--- a/tools/versioner/src/SymbolFileParser.cpp
+++ /dev/null
@@ -1,308 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "SymbolFileParser.h"
-
-#include "Arch.h"
-#include "CompilationType.h"
-
-#include <android-base/strings.h>
-
-#include <fstream>
-#include <ios>
-#include <optional>
-#include <string>
-#include <unordered_map>
-#include <vector>
-
-#include <err.h>
-
-namespace {
-
-using TagList = std::vector<std::string>;
-
-struct SymbolEnt {
-  std::string name;
-  TagList tags;
-};
-
-using SymbolList = std::vector<SymbolEnt>;
-
-struct Version {
-  std::string name;
-  std::string base;
-  SymbolList symbols;
-  TagList tags;
-};
-
-class SymbolFileParser {
- public:
-  SymbolFileParser(const std::string& path, const CompilationType& type)
-    : file_path(path),
-      compilation_type(type),
-      api_level_arch_prefix("api-level-" + to_string(type.arch) + "="),
-      intro_arch_perfix("introduced-" + to_string(type.arch) + "="),
-      file(path, std::ios_base::in),
-      curr_line_num(0) {
-  }
-
-  // Parse the version script and build a symbol map.
-  std::optional<SymbolMap> parse() {
-    if (!file) {
-      return std::nullopt;
-    }
-
-    SymbolMap symbol_map;
-    while (hasNextLine()) {
-      auto&& version = parseVersion();
-      if (!version) {
-        return std::nullopt;
-      }
-
-      if (isInArch(version->tags) && isInApi(version->tags)) {
-        for (auto&& [name, tags] : version->symbols) {
-          if (isInArch(tags) && isInApi(tags)) {
-            symbol_map[name] = getSymbolType(tags);
-          }
-        }
-      }
-    }
-    return std::make_optional(std::move(symbol_map));
-  }
-
- private:
-  // Read a non-empty line from the input and split at the first '#' character.
-  bool hasNextLine() {
-    std::string line;
-    while (std::getline(file, line)) {
-      ++curr_line_num;
-
-      size_t hash_pos = line.find('#');
-      curr_line = android::base::Trim(line.substr(0, hash_pos));
-      if (!curr_line.empty()) {
-        if (hash_pos != std::string::npos) {
-          curr_tags = parseTags(line.substr(hash_pos + 1));
-        } else {
-          curr_tags.clear();
-        }
-        return true;
-      }
-    }
-    return false;
-  }
-
-  // Tokenize the tags after the '#' character.
-  static std::vector<std::string> parseTags(const std::string& tags_line) {
-    std::vector<std::string> tags = android::base::Split(tags_line, " \t");
-    tags.erase(std::remove(tags.begin(), tags.end(), ""), tags.end());
-    return tags;
-  }
-
-  // Parse a version scope.
-  std::optional<Version> parseVersion() {
-    size_t start_line_num = curr_line_num;
-
-    std::string::size_type lparen_pos = curr_line.find('{');
-    if (lparen_pos == std::string::npos) {
-      errx(1, "%s:%zu: error: expected '{' cannot be found in this line",
-           file_path.c_str(), curr_line_num);
-    }
-
-    // Record the version name and version tags (before hasNextLine()).
-    std::string name = android::base::Trim(curr_line.substr(0, lparen_pos));
-    TagList tags = std::move(curr_tags);
-
-    // Read symbol lines.
-    SymbolList symbols;
-    bool global_scope = true;
-    bool cpp_scope = false;
-    while (hasNextLine()) {
-      size_t rparen_pos = curr_line.find('}');
-      if (rparen_pos != std::string::npos) {
-        size_t semicolon_pos = curr_line.find(';', rparen_pos + 1);
-        if (semicolon_pos == std::string::npos) {
-          errx(1, "%s:%zu: error: the line that ends a scope must end with ';'",
-               file_path.c_str(), curr_line_num);
-        }
-
-        if (cpp_scope) {
-          cpp_scope = false;
-          continue;
-        }
-
-        std::string base = android::base::Trim(
-          curr_line.substr(rparen_pos + 1, semicolon_pos - 1));
-
-        return std::make_optional(Version{std::move(name), std::move(base),
-                                          std::move(symbols), std::move(tags)});
-      }
-
-      if (android::base::StartsWith(curr_line, R"(extern "C++" {)")) {
-        cpp_scope = true;
-        continue;
-      }
-
-      if (cpp_scope) {
-        continue;
-      }
-
-      size_t colon_pos = curr_line.find(':');
-      if (colon_pos != std::string::npos) {
-        std::string visibility =
-          android::base::Trim(curr_line.substr(0, colon_pos));
-
-        if (visibility == "global") {
-          global_scope = true;
-        } else if (visibility == "local") {
-          global_scope = false;
-        } else {
-          errx(1, "%s:%zu: error: unknown version visibility: %s",
-               file_path.c_str(), curr_line_num, visibility.c_str());
-        }
-        continue;
-      }
-
-      if (global_scope) {
-        size_t semicolon_pos = curr_line.find(';');
-        if (semicolon_pos == std::string::npos) {
-          errx(1, "%s:%zu: error: symbol name line must end with ';'",
-               file_path.c_str(), curr_line_num);
-        }
-
-        std::string symbol_name =
-          android::base::Trim(curr_line.substr(0, semicolon_pos));
-
-        size_t asterisk_pos = symbol_name.find('*');
-        if (asterisk_pos != std::string::npos) {
-          errx(1, "%s:%zu: error: global symbol name must not have wildcards",
-               file_path.c_str(), curr_line_num);
-        }
-
-        symbols.push_back(SymbolEnt{std::move(symbol_name),
-                                    std::move(curr_tags)});
-      }
-    }
-
-    errx(1, "%s:%zu: error: scope started from %zu must be closed before EOF",
-         file_path.c_str(), curr_line_num, start_line_num);
-  }
-
-  static NdkSymbolType getSymbolType(const TagList& tags) {
-    for (auto&& tag : tags) {
-      if (tag == "var") {
-        return NdkSymbolType::variable;
-      }
-    }
-    return NdkSymbolType::function;
-  }
-
-  // isInArch() returns true if there is a matching arch-specific tag or there
-  // are no arch-specific tags.
-  bool isInArch(const TagList& tags) const {
-    bool has_arch_tags = false;
-    for (auto&& tag : tags) {
-      std::optional<Arch> arch = arch_from_string(tag);
-      if (!arch) {
-        continue;
-      }
-      if (*arch == compilation_type.arch) {
-        return true;
-      }
-      has_arch_tags = true;
-    }
-    return !has_arch_tags;
-  }
-
-  // isInApi() returns true if the specified API level is equal to the
-  // api-level tag, or the specified API level is greater than or equal to the
-  // introduced tag, or there are no api-level or introduced tags.
-  bool isInApi(const TagList& tags) const {
-    bool api_level_arch = false;
-    bool intro_arch = false;
-    std::string api_level;
-    std::string intro;
-
-    for (const std::string& tag : tags) {
-      // Check api-level tags.
-      if (android::base::StartsWith(tag, "api-level=") && !api_level_arch) {
-        api_level = tag;
-        continue;
-      }
-      if (android::base::StartsWith(tag, api_level_arch_prefix)) {
-        api_level = tag;
-        api_level_arch = true;
-        continue;
-      }
-
-      // Check introduced tags.
-      if (android::base::StartsWith(tag, "introduced=") && !intro_arch) {
-        intro = tag;
-        continue;
-      }
-      if (android::base::StartsWith(tag, intro_arch_perfix)) {
-        intro = tag;
-        intro_arch = true;
-        continue;
-      }
-    }
-
-    if (intro.empty() && api_level.empty()) {
-      return true;
-    }
-
-    if (!api_level.empty()) {
-      // If an api-level tag is specified, it must be an exact match (mainly
-      // for versioner unit tests).
-      return compilation_type.api_level == parseApiLevelValue(api_level);
-    }
-
-    return compilation_type.api_level >= parseApiLevelValue(intro);
-  }
-
-  // Parse the integer API level from api-level or introduced tags.
-  int parseApiLevelValue(const std::string& tag) const {
-    std::string api_level = tag.substr(tag.find('=') + 1);
-    auto it = api_codename_map.find(api_level);
-    if (it != api_codename_map.end()) {
-      return it->second;
-    }
-    if (api_level.find_first_not_of("0123456789") != std::string::npos) {
-      errx(1, "%s:%zu: error: unknown API level codename specified: \"%s\"",
-           file_path.c_str(), curr_line_num, tag.c_str());
-    }
-    return std::stoi(api_level);
-  }
-
- private:
-  const std::string& file_path;
-  const CompilationType& compilation_type;
-  const std::string api_level_arch_prefix;
-  const std::string intro_arch_perfix;
-
-  std::ifstream file;
-  std::string curr_line;
-  std::vector<std::string> curr_tags;
-  size_t curr_line_num;
-};
-
-}  // anonymous namespace
-
-
-std::optional<SymbolMap> parseSymbolFile(const std::string& file_path,
-                                         const CompilationType& type) {
-  SymbolFileParser parser(file_path, type);
-  return parser.parse();
-}
diff --git a/tools/versioner/src/SymbolFileParser.h b/tools/versioner/src/SymbolFileParser.h
deleted file mode 100644
index 5cdbf2f..0000000
--- a/tools/versioner/src/SymbolFileParser.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <map>
-#include <string>
-#include <optional>
-
-#include "DeclarationDatabase.h"
-#include "SymbolDatabase.h"
-
-using SymbolMap = std::map<std::string, NdkSymbolType>;
-
-std::optional<SymbolMap> parseSymbolFile(const std::string &file,
-                                         const CompilationType& type);
diff --git a/tools/versioner/src/Utils.cpp b/tools/versioner/src/Utils.cpp
deleted file mode 100644
index dc6b5dd..0000000
--- a/tools/versioner/src/Utils.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "Utils.h"
-
-#include <err.h>
-#include <fts.h>
-#include <string.h>
-#include <unistd.h>
-
-#include <sstream>
-#include <string>
-#include <vector>
-
-#include <android-base/strings.h>
-
-#include "DeclarationDatabase.h"
-
-std::string getWorkingDir() {
-  char buf[PATH_MAX];
-  if (!getcwd(buf, sizeof(buf))) {
-    err(1, "getcwd failed");
-  }
-  return buf;
-}
-
-std::vector<std::string> collectHeaders(const std::string& directory,
-                                        const std::unordered_set<std::string>& ignored_directories) {
-  std::vector<std::string> headers;
-
-  char* dir_argv[2] = { const_cast<char*>(directory.c_str()), nullptr };
-  std::unique_ptr<FTS, decltype(&fts_close)> fts(
-      fts_open(dir_argv, FTS_LOGICAL | FTS_NOCHDIR, nullptr), fts_close);
-
-  if (!fts) {
-    err(1, "failed to open directory '%s'", directory.c_str());
-  }
-
-  FTSENT* skipping = nullptr;
-  while (FTSENT* ent = fts_read(fts.get())) {
-    if (ent->fts_info & FTS_DP) {
-      if (ent == skipping) {
-        skipping = nullptr;
-      }
-      continue;
-    }
-
-    if (skipping != nullptr) {
-      continue;
-    }
-
-    if (ent->fts_info & FTS_D) {
-      if (ignored_directories.count(ent->fts_path) != 0) {
-        // fts_read guarantees that `ent` is valid and okay to hold on to until
-        // after it's returned with FTS_DP set.
-        skipping = ent;
-      }
-      continue;
-    }
-
-    std::string path = ent->fts_path;
-    if (!android::base::EndsWith(path, ".h")) {
-      continue;
-    }
-
-    headers.push_back(std::move(path));
-  }
-
-  return headers;
-}
-
-llvm::StringRef StripPrefix(llvm::StringRef string, llvm::StringRef prefix) {
-  if (string.startswith(prefix)) {
-    return string.drop_front(prefix.size());
-  }
-  return string;
-}
diff --git a/tools/versioner/src/Utils.h b/tools/versioner/src/Utils.h
deleted file mode 100644
index 9b45dcd..0000000
--- a/tools/versioner/src/Utils.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <errno.h>
-#include <libgen.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-#include <string>
-#include <unordered_set>
-#include <vector>
-
-#include <llvm/ADT/StringRef.h>
-
-std::string getWorkingDir();
-std::vector<std::string> collectHeaders(const std::string& directory,
-                                        const std::unordered_set<std::string>& ignored_directories);
-
-static inline std::string dirname(const std::string& path) {
-  std::unique_ptr<char, decltype(&free)> path_copy(strdup(path.c_str()), free);
-  return dirname(path_copy.get());
-}
-
-static inline bool is_directory(const std::string& path) {
-  struct stat st;
-  if (stat(path.c_str(), &st) == 0 && S_ISDIR(st.st_mode)) {
-    return true;
-  }
-  return false;
-}
-
-static inline bool mkdirs(const std::string& path) {
-  if (is_directory(path)) {
-    return true;
-  }
-
-  std::string parent = dirname(path);
-  if (parent == path) {
-    return false;
-  }
-
-  if (!mkdirs(parent)) {
-    return false;
-  }
-
-  if (mkdir(path.c_str(), 0700) != 0) {
-    if (errno != EEXIST) {
-      return false;
-    }
-    return is_directory(path);
-  }
-
-  return true;
-}
-
-static inline std::string to_string(const char* c) {
-  return c;
-}
-
-static inline const std::string& to_string(const std::string& str) {
-  return str;
-}
-
-template <typename Collection>
-static inline std::string Join(Collection c, const std::string& delimiter = ", ") {
-  std::string result;
-  for (const auto& item : c) {
-    using namespace std;
-    result.append(to_string(item));
-    result.append(delimiter);
-  }
-  if (!result.empty()) {
-    result.resize(result.length() - delimiter.length());
-  }
-  return result;
-}
-
-llvm::StringRef StripPrefix(llvm::StringRef string, llvm::StringRef prefix);
diff --git a/tools/versioner/src/VFS.cpp b/tools/versioner/src/VFS.cpp
deleted file mode 100644
index d797f82..0000000
--- a/tools/versioner/src/VFS.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <err.h>
-#include <fcntl.h>
-#include <fts.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-#include <memory>
-#include <string>
-
-#include <android-base/unique_fd.h>
-#include <llvm/ADT/IntrusiveRefCntPtr.h>
-#include <llvm/Support/MemoryBuffer.h>
-#include <llvm/Support/VirtualFileSystem.h>
-
-#include "Utils.h"
-
-using android::base::unique_fd;
-using namespace llvm::vfs;
-
-static void addDirectoryToVFS(InMemoryFileSystem* vfs, const std::string& path) {
-  char* paths[] = { const_cast<char*>(path.c_str()), nullptr };
-  std::unique_ptr<FTS, decltype(&fts_close)> fts(
-      fts_open(paths, FTS_COMFOLLOW | FTS_LOGICAL | FTS_NOCHDIR, nullptr), fts_close);
-
-  if (!fts) {
-    err(1, "failed to open directory %s", path.c_str());
-  }
-
-  while (FTSENT* ent = fts_read(fts.get())) {
-    if ((ent->fts_info & FTS_F) == 0) {
-      continue;
-    }
-
-    const char* file_path = ent->fts_accpath;
-    unique_fd fd(open(file_path, O_RDONLY | O_CLOEXEC));
-    if (fd == -1) {
-      err(1, "failed to open header '%s'", file_path);
-    }
-
-    auto buffer_opt = llvm::MemoryBuffer::getOpenFile(fd, file_path, -1, false, false);
-    if (!buffer_opt) {
-      errx(1, "failed to map header '%s'", file_path);
-    }
-
-    if (!vfs->addFile(file_path, ent->fts_statp->st_mtime, std::move(buffer_opt.get()))) {
-      errx(1, "failed to add file '%s'", file_path);
-    }
-  }
-}
-
-llvm::IntrusiveRefCntPtr<FileSystem> createCommonVFS(const std::string& header_dir,
-                                                     const std::string& dependency_dir,
-                                                     bool add_versioning_header) {
-  auto vfs = std::make_unique<InMemoryFileSystem>();
-  addDirectoryToVFS(vfs.get(), header_dir);
-  if (!dependency_dir.empty()) {
-    addDirectoryToVFS(vfs.get(), dependency_dir);
-  }
-
-  if (add_versioning_header) {
-    const char* top = getenv("ANDROID_BUILD_TOP");
-    if (!top) {
-      errx(1, "-i passed, but ANDROID_BUILD_TOP is unset");
-    }
-
-    std::string header_path = std::string(top) + "/bionic/libc/include/android/versioning.h";
-    auto buffer_opt = llvm::MemoryBuffer::getFile(header_path);
-    if (!buffer_opt) {
-      err(1, "failed to open %s", header_path.c_str());
-    }
-    vfs->addFile("android/versioning.h", 0, std::move(buffer_opt.get()));
-  }
-
-  return llvm::IntrusiveRefCntPtr<FileSystem>(vfs.release());
-}
diff --git a/tools/versioner/src/VFS.h b/tools/versioner/src/VFS.h
deleted file mode 100644
index e4aac75..0000000
--- a/tools/versioner/src/VFS.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <memory>
-#include <string>
-
-#include <llvm/ADT/IntrusiveRefCntPtr.h>
-#include <llvm/Support/VirtualFileSystem.h>
-
-llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> createCommonVFS(const std::string& header_dir,
-                                                                const std::string& dependency_dir,
-                                                                bool add_versioning_header);
diff --git a/tools/versioner/src/versioner.cpp b/tools/versioner/src/versioner.cpp
deleted file mode 100644
index c818197..0000000
--- a/tools/versioner/src/versioner.cpp
+++ /dev/null
@@ -1,697 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <dirent.h>
-#include <err.h>
-#include <limits.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-#if defined(__linux__)
-#include <sched.h>
-#endif
-
-#include <atomic>
-#include <chrono>
-#include <functional>
-#include <iostream>
-#include <map>
-#include <memory>
-#include <set>
-#include <sstream>
-#include <string>
-#include <string_view>
-#include <thread>
-#include <unordered_map>
-#include <vector>
-
-#include <llvm/ADT/StringRef.h>
-
-#include <android-base/file.h>
-#include <android-base/macros.h>
-#include <android-base/parseint.h>
-#include <android-base/strings.h>
-
-#include "Arch.h"
-#include "DeclarationDatabase.h"
-#include "Driver.h"
-#include "Preprocessor.h"
-#include "SymbolDatabase.h"
-#include "Utils.h"
-#include "VFS.h"
-
-#include "versioner.h"
-
-using namespace std::chrono_literals;
-using namespace std::string_literals;
-
-bool strict;
-bool verbose;
-bool add_include;
-
-static int getCpuCount();
-static int max_thread_count = getCpuCount();
-
-static int getCpuCount() {
-#if defined(__linux__)
-  cpu_set_t cpu_set;
-  int rc = sched_getaffinity(getpid(), sizeof(cpu_set), &cpu_set);
-  if (rc != 0) {
-    err(1, "sched_getaffinity failed");
-  }
-  return CPU_COUNT(&cpu_set);
-#else
-  return 1;
-#endif
-}
-
-namespace {
-struct HeaderLocationInformation {
-  std::string header_path;
-  std::string dependency_dir;
-  // Absolute paths to ignore all children -- including subdirectories -- of.
-  std::unordered_set<std::string> ignored_directories;
-};
-}
-
-static bool is_dir(const std::string& path) {
-  struct stat st;
-  return stat(path.c_str(), &st) == 0 && S_ISDIR(st.st_mode);
-}
-
-static CompilationRequirements collectRequirements(const Arch& arch,
-                                                   const HeaderLocationInformation& location) {
-  std::vector<std::string> headers =
-      collectHeaders(location.header_path, location.ignored_directories);
-  std::vector<std::string> dependencies;
-
-  if (is_dir(location.header_path)) {
-    dependencies.emplace_back(location.header_path);
-  }
-
-  if (!location.dependency_dir.empty()) {
-    auto collect_children = [&dependencies](const std::string& dir_path) {
-      DIR* dir = opendir(dir_path.c_str());
-      if (!dir) {
-        err(1, "failed to open dependency directory '%s'", dir_path.c_str());
-      }
-
-      struct dirent* dent;
-      while ((dent = readdir(dir))) {
-        if (dent->d_name[0] == '.') {
-          continue;
-        }
-
-        // TODO: Resolve symlinks.
-        std::string dependency = dir_path + "/" + dent->d_name;
-
-        struct stat st;
-        if (stat(dependency.c_str(), &st) != 0) {
-          err(1, "failed to stat dependency '%s'", dependency.c_str());
-        }
-
-        if (!S_ISDIR(st.st_mode)) {
-          errx(1, "'%s' is not a directory", dependency.c_str());
-        }
-
-        dependencies.push_back(dependency);
-      }
-
-      closedir(dir);
-    };
-
-    collect_children(location.dependency_dir + "/common");
-    collect_children(location.dependency_dir + "/" + to_string(arch));
-  }
-
-  auto new_end = std::remove_if(headers.begin(), headers.end(), [&arch](llvm::StringRef header) {
-    for (const auto& it : ignored_headers) {
-      if (it.second.find(arch) == it.second.end()) {
-        continue;
-      }
-
-      if (header.endswith("/" + it.first)) {
-        return true;
-      }
-    }
-    return false;
-  });
-
-  headers.erase(new_end, headers.end());
-
-  CompilationRequirements result = { .headers = headers, .dependencies = dependencies };
-  return result;
-}
-
-static std::set<CompilationType> generateCompilationTypes(const std::set<Arch> selected_architectures,
-                                                          const std::set<int>& selected_levels) {
-  std::set<CompilationType> result;
-  for (const auto& arch : selected_architectures) {
-    int min_api = arch_min_api[arch];
-    for (int api_level : selected_levels) {
-      if (api_level < min_api) {
-        continue;
-      }
-
-      for (int file_offset_bits : { 32, 64 }) {
-        for (bool cpp : { true, false }) {
-          CompilationType type = {
-            .arch = arch, .cpp = cpp, .api_level = api_level, .file_offset_bits = file_offset_bits
-          };
-          result.insert(type);
-        }
-      }
-    }
-  }
-  return result;
-}
-
-static std::unique_ptr<HeaderDatabase> compileHeaders(const std::set<CompilationType>& types,
-                                                      const HeaderLocationInformation& location) {
-  if (types.empty()) {
-    errx(1, "compileHeaders received no CompilationTypes");
-  }
-
-  auto vfs = createCommonVFS(location.header_path, location.dependency_dir, add_include);
-
-  size_t thread_count = max_thread_count;
-  std::vector<std::thread> threads;
-
-  std::map<CompilationType, HeaderDatabase> header_databases;
-  std::unordered_map<Arch, CompilationRequirements> requirements;
-
-  auto result = std::make_unique<HeaderDatabase>();
-  for (const auto& type : types) {
-    if (requirements.count(type.arch) == 0) {
-      requirements[type.arch] = collectRequirements(type.arch, location);
-    }
-  }
-
-  initializeTargetCC1FlagCache(vfs, types, requirements);
-
-  std::vector<std::pair<CompilationType, const std::string&>> jobs;
-  std::atomic<size_t> job_index(0);
-  for (CompilationType type : types) {
-    CompilationRequirements& req = requirements[type.arch];
-    for (const std::string& header : req.headers) {
-      jobs.emplace_back(type, header);
-    }
-  }
-
-  // Dup an empty file to stdin, so that we can use `clang -include a.h -` instead of `clang a.h`,
-  // since some warnings don't get generated in files that are compiled directly.
-  FILE* empty_file = tmpfile();
-  if (!empty_file) {
-    err(1, "failed to create temporary file");
-  }
-
-  int empty_file_fd = fileno(empty_file);
-  if (empty_file_fd == -1) {
-    errx(1, "fileno failed on tmpfile");
-  }
-
-  dup2(empty_file_fd, STDIN_FILENO);
-  fclose(empty_file);
-
-  thread_count = std::min(thread_count, jobs.size());
-
-  if (thread_count == 1) {
-    for (const auto& job : jobs) {
-      compileHeader(vfs, result.get(), job.first, job.second);
-    }
-  } else {
-    // Spawn threads.
-    for (size_t i = 0; i < thread_count; ++i) {
-      threads.emplace_back([&jobs, &job_index, &result, vfs]() {
-        while (true) {
-          size_t idx = job_index++;
-          if (idx >= jobs.size()) {
-            return;
-          }
-
-          const auto& job = jobs[idx];
-          compileHeader(vfs, result.get(), job.first, job.second);
-        }
-      });
-    }
-
-    // Reap them.
-    for (auto& thread : threads) {
-      thread.join();
-    }
-    threads.clear();
-  }
-
-  return result;
-}
-
-static std::set<CompilationType> getCompilationTypes(const Declaration* decl) {
-  std::set<CompilationType> result;
-  for (const auto& it : decl->availability) {
-    result.insert(it.first);
-  }
-  return result;
-}
-
-template<typename T>
-static std::vector<T> Intersection(const std::set<T>& a, const std::set<T>& b) {
-  std::vector<T> intersection;
-  std::set_intersection(a.begin(), a.end(), b.begin(), b.end(), std::back_inserter(intersection));
-  return intersection;
-}
-
-// Perform a validity check on a symbol's declarations, enforcing the following invariants:
-//   1. At most one inline definition of the function exists (overloaded inline functions for
-//      _FORTIFY_SOURCE do not count because they are usually introduced to intercept the original
-//      functions or usually have enable_if attributes).
-//   2. All of the availability declarations for a symbol are compatible.
-//      If a function is declared as an inline before a certain version, the inline definition
-//      should have no version tag.
-//   3. Each availability type must only be present globally or on a per-arch basis.
-//      (e.g. __INTRODUCED_IN_ARM(9) __INTRODUCED_IN_X86(10) __DEPRECATED_IN(11) is fine,
-//      but not __INTRODUCED_IN(9) __INTRODUCED_IN_X86(10))
-static bool checkSymbol(const Symbol& symbol) {
-  std::string cwd = getWorkingDir() + "/";
-
-  std::unordered_map<const Declaration*, std::set<CompilationType>> inline_definitions;
-  for (const auto& decl_it : symbol.declarations) {
-    const Declaration* decl = &decl_it.second;
-    if (decl->is_definition && !decl->fortify_inline) {
-      std::set<CompilationType> compilation_types = getCompilationTypes(decl);
-      for (const auto& inline_def_it : inline_definitions) {
-        auto intersection = Intersection(compilation_types, inline_def_it.second);
-        if (!intersection.empty()) {
-          fprintf(stderr, "versioner: conflicting inline definitions for symbol %s:\n",
-                  symbol.name.c_str());
-          fprintf(stderr, "  declarations visible in: %s\n", Join(intersection, ", ").c_str());
-          decl->dump(cwd, stderr, 4);
-          inline_def_it.first->dump(cwd, stderr, 4);
-          return false;
-        }
-      }
-
-      inline_definitions[decl] = std::move(compilation_types);
-    }
-
-    DeclarationAvailability availability;
-    if (!decl->calculateAvailability(&availability)) {
-      fprintf(stderr, "versioner: failed to calculate availability for declaration:\n");
-      decl->dump(cwd, stderr, 2);
-      return false;
-    }
-
-    if (decl->is_definition && !availability.empty()) {
-      fprintf(stderr, "versioner: inline definition has non-empty versioning information:\n");
-      decl->dump(cwd, stderr, 2);
-      return false;
-    }
-  }
-
-  DeclarationAvailability availability;
-  if (!symbol.calculateAvailability(&availability)) {
-    fprintf(stderr, "versioner: inconsistent availability for symbol '%s'\n", symbol.name.c_str());
-    symbol.dump(cwd);
-    return false;
-  }
-
-  // TODO: Check invariant #3.
-  return true;
-}
-
-static bool validityCheck(const HeaderDatabase* database) {
-  bool error = false;
-  std::string cwd = getWorkingDir() + "/";
-
-  for (const auto& symbol_it : database->symbols) {
-    if (!checkSymbol(symbol_it.second)) {
-      error = true;
-    }
-  }
-  return !error;
-}
-
-// Check that our symbol availability declarations match the actual NDK
-// platform symbol availability.
-static bool checkVersions(const std::set<CompilationType>& types,
-                          const HeaderDatabase* header_database,
-                          const NdkSymbolDatabase& symbol_database) {
-  std::string cwd = getWorkingDir() + "/";
-  bool failed = false;
-
-  std::map<Arch, std::set<CompilationType>> arch_types;
-  for (const CompilationType& type : types) {
-    arch_types[type.arch].insert(type);
-  }
-
-  std::set<std::string> completely_unavailable;
-  std::map<std::string, std::set<CompilationType>> missing_availability;
-  std::map<std::string, std::set<CompilationType>> extra_availability;
-
-  for (const auto& symbol_it : header_database->symbols) {
-    const auto& symbol_name = symbol_it.first;
-    DeclarationAvailability symbol_availability;
-
-    if (!symbol_it.second.calculateAvailability(&symbol_availability)) {
-      errx(1, "failed to calculate symbol availability");
-    }
-
-    const auto platform_availability_it = symbol_database.find(symbol_name);
-    if (platform_availability_it == symbol_database.end()) {
-      completely_unavailable.insert(symbol_name);
-      continue;
-    }
-
-    const auto& platform_availability = platform_availability_it->second;
-
-    for (const CompilationType& type : types) {
-      bool should_be_available = true;
-      const auto& global_availability = symbol_availability.global_availability;
-      const auto& arch_availability = symbol_availability.arch_availability[type.arch];
-      if (global_availability.introduced != 0 && global_availability.introduced > type.api_level) {
-        should_be_available = false;
-      }
-
-      if (arch_availability.introduced != 0 && arch_availability.introduced > type.api_level) {
-        should_be_available = false;
-      }
-
-      if (global_availability.obsoleted != 0 && global_availability.obsoleted <= type.api_level) {
-        should_be_available = false;
-      }
-
-      if (arch_availability.obsoleted != 0 && arch_availability.obsoleted <= type.api_level) {
-        should_be_available = false;
-      }
-
-      // The function declaration might be (validly) missing for the given CompilationType.
-      if (!symbol_it.second.hasDeclaration(type)) {
-        should_be_available = false;
-      }
-
-      bool is_available = platform_availability.count(type);
-
-      if (should_be_available != is_available) {
-        if (is_available) {
-          extra_availability[symbol_name].insert(type);
-        } else {
-          missing_availability[symbol_name].insert(type);
-        }
-      }
-    }
-  }
-
-  for (const auto& it : symbol_database) {
-    const std::string& symbol_name = it.first;
-
-    bool symbol_error = false;
-    if (auto missing_it = missing_availability.find(symbol_name);
-        missing_it != missing_availability.end()) {
-      printf("%s: declaration marked available but symbol missing in [%s]\n", symbol_name.c_str(),
-             Join(missing_it->second, ", ").c_str());
-      symbol_error = true;
-      failed = true;
-    }
-
-    if (strict) {
-      if (auto extra_it = extra_availability.find(symbol_name);
-          extra_it != extra_availability.end()) {
-        printf("%s: declaration marked unavailable but symbol available in [%s]\n",
-               symbol_name.c_str(), Join(extra_it->second, ", ").c_str());
-        symbol_error = true;
-        failed = true;
-      }
-    }
-
-    if (symbol_error) {
-      if (auto symbol_it = header_database->symbols.find(symbol_name);
-          symbol_it != header_database->symbols.end()) {
-        symbol_it->second.dump(cwd);
-      } else {
-        errx(1, "failed to find symbol in header database");
-      }
-    }
-  }
-
-  // TODO: Verify that function/variable declarations are actually function/variable symbols.
-  return !failed;
-}
-
-static void usage(bool help = false) {
-  fprintf(stderr, "Usage: versioner [OPTION]... [HEADER_PATH] [DEPS_PATH]\n");
-  if (!help) {
-    printf("Try 'versioner -h' for more information.\n");
-    exit(1);
-  } else {
-    fprintf(stderr, "Version headers at HEADER_PATH, with DEPS_PATH/ARCH/* on the include path\n");
-    fprintf(stderr, "Autodetects paths if HEADER_PATH and DEPS_PATH are not specified\n");
-    fprintf(stderr, "\n");
-    fprintf(stderr, "Target specification (defaults to all):\n");
-    fprintf(stderr, "  -a API_LEVEL\tbuild with specified API level (can be repeated)\n");
-    fprintf(stderr, "    \t\tdefaults to %s\n", Join(default_levels).c_str());
-    fprintf(stderr, "  -r ARCH\tbuild with specified architecture (can be repeated)\n");
-    fprintf(stderr, "    \t\tvalid architectures are %s\n", Join(supported_archs).c_str());
-    fprintf(stderr, "\n");
-    fprintf(stderr, "Validation:\n");
-    fprintf(stderr, "  -p PATH\tcompare against NDK platform at PATH\n");
-    fprintf(stderr, "  -s\t\tenable strict warnings\n");
-    fprintf(stderr, "\n");
-    fprintf(stderr, "Preprocessing:\n");
-    fprintf(stderr, "  -o PATH\tpreprocess header files and emit them at PATH\n");
-    fprintf(stderr, "  -f\t\tpreprocess header files even if validation fails\n");
-    fprintf(stderr, "\n");
-    fprintf(stderr, "Miscellaneous:\n");
-    fprintf(stderr, "  -F\t\tdo not ignore FORTIFY headers by default\n");
-    fprintf(stderr, "  -d\t\tdump function availability\n");
-    fprintf(stderr, "  -j THREADS\tmaximum number of threads to use\n");
-    fprintf(stderr, "  -v\t\tenable verbose logging\n");
-    fprintf(stderr, "  -h\t\tdisplay this message\n");
-    exit(0);
-  }
-}
-
-// versioner uses a prebuilt version of clang, which is not up-to-date wrt/
-// container annotations. So disable container overflow checking. b/37775238
-extern "C" const char* __asan_default_options() {
-  return "detect_container_overflow=0";
-}
-
-int main(int argc, char** argv) {
-  std::string cwd = getWorkingDir() + "/";
-  std::string platform_dir;
-  std::set<Arch> selected_architectures;
-  std::set<int> selected_levels;
-  std::string preprocessor_output_path;
-  bool force = false;
-  bool dump = false;
-  bool ignore_fortify_headers = true;
-
-  int c;
-  while ((c = getopt(argc, argv, "a:r:p:so:fdj:vhFi")) != -1) {
-    switch (c) {
-      case 'a': {
-        char* end;
-        int api_level = strtol(optarg, &end, 10);
-        if (end == optarg || strlen(end) > 0) {
-          usage();
-        }
-
-        selected_levels.insert(api_level);
-        break;
-      }
-
-      case 'r': {
-        std::optional<Arch> arch = arch_from_string(optarg);
-        if (!arch) {
-          errx(1, "unknown architecture '%s'", optarg);
-        }
-        selected_architectures.insert(*arch);
-        break;
-      }
-
-      case 'p': {
-        if (!platform_dir.empty()) {
-          usage();
-        }
-
-        platform_dir = optarg;
-
-        if (platform_dir.empty()) {
-          usage();
-        }
-
-        struct stat st;
-        if (stat(platform_dir.c_str(), &st) != 0) {
-          err(1, "failed to stat platform directory '%s'", platform_dir.c_str());
-        }
-        if (!S_ISDIR(st.st_mode) && !S_ISREG(st.st_mode)) {
-          errx(1, "'%s' is not a file or directory", optarg);
-        }
-        break;
-      }
-
-      case 's':
-        strict = true;
-        break;
-
-      case 'o':
-        if (!preprocessor_output_path.empty()) {
-          usage();
-        }
-        preprocessor_output_path = optarg;
-        if (preprocessor_output_path.empty()) {
-          usage();
-        }
-        break;
-
-      case 'f':
-        force = true;
-        break;
-
-      case 'd':
-        dump = true;
-        break;
-
-      case 'j':
-        if (!android::base::ParseInt<int>(optarg, &max_thread_count, 1)) {
-          usage();
-        }
-        break;
-
-      case 'v':
-        verbose = true;
-        break;
-
-      case 'h':
-        usage(true);
-        break;
-
-      case 'i':
-        // Secret option for tests to -include <android/versioning.h>.
-        add_include = true;
-        break;
-
-      case 'F':
-        ignore_fortify_headers = false;
-        break;
-
-      default:
-        usage();
-        break;
-    }
-  }
-
-  if (argc - optind > 2 || optind > argc) {
-    usage();
-  }
-
-  HeaderLocationInformation location;
-
-  const char* top = getenv("ANDROID_BUILD_TOP");
-  if (!top && (optind == argc || add_include)) {
-    fprintf(stderr, "versioner: failed to autodetect bionic paths. Is ANDROID_BUILD_TOP set?\n");
-    usage();
-  }
-
-  if (optind == argc) {
-    // Neither HEADER_PATH nor DEPS_PATH were specified, so try to figure them out.
-    std::string versioner_dir = to_string(top) + "/bionic/tools/versioner";
-    location.header_path = versioner_dir + "/current";
-    location.dependency_dir = versioner_dir + "/dependencies";
-    if (platform_dir.empty()) {
-      platform_dir = versioner_dir + "/platforms";
-    }
-  } else {
-    if (!android::base::Realpath(argv[optind], &location.header_path)) {
-      err(1, "failed to get realpath for path '%s'", argv[optind]);
-    }
-
-    if (argc - optind == 2) {
-      location.dependency_dir = argv[optind + 1];
-    }
-  }
-
-  // Every file that lives in bits/fortify is logically a part of a header outside of bits/fortify.
-  // This makes the files there impossible to build on their own.
-  if (ignore_fortify_headers) {
-    std::string fortify_path = location.header_path;
-    if (!android::base::EndsWith(location.header_path, "/")) {
-      fortify_path += '/';
-    }
-    fortify_path += "bits/fortify";
-    location.ignored_directories.insert(std::move(fortify_path));
-  }
-
-  if (selected_levels.empty()) {
-    selected_levels = default_levels;
-  }
-
-  if (selected_architectures.empty()) {
-    selected_architectures = supported_archs;
-  }
-
-
-  struct stat st;
-  if (const char *path = location.header_path.c_str(); stat(path, &st) != 0) {
-    err(1, "failed to stat '%s'", path);
-  }
-
-  std::set<CompilationType> compilation_types;
-  std::optional<NdkSymbolDatabase> symbol_database;
-
-  compilation_types = generateCompilationTypes(selected_architectures, selected_levels);
-
-  // Do this before compiling so that we can early exit if the platforms don't match what we
-  // expect.
-  if (!platform_dir.empty()) {
-    symbol_database = parsePlatforms(compilation_types, platform_dir);
-  }
-
-  auto start = std::chrono::high_resolution_clock::now();
-  std::unique_ptr<HeaderDatabase> declaration_database =
-      compileHeaders(compilation_types, location);
-  auto end = std::chrono::high_resolution_clock::now();
-
-  if (verbose) {
-    auto diff = (end - start) / 1.0ms;
-    printf("Compiled headers for %zu targets in %0.2LFms\n", compilation_types.size(), diff);
-  }
-
-  bool failed = false;
-  if (dump) {
-    declaration_database->dump(location.header_path + "/");
-  } else {
-    if (!validityCheck(declaration_database.get())) {
-      printf("versioner: validity check failed\n");
-      failed = true;
-    }
-
-    if (symbol_database) {
-      if (!checkVersions(compilation_types, declaration_database.get(), *symbol_database)) {
-        printf("versioner: version check failed\n");
-        failed = true;
-      }
-    }
-  }
-
-  if (!preprocessor_output_path.empty() && (force || !failed)) {
-    failed = !preprocessHeaders(preprocessor_output_path, location.header_path,
-                                declaration_database.get());
-  }
-  return failed;
-}
diff --git a/tools/versioner/src/versioner.h b/tools/versioner/src/versioner.h
deleted file mode 100644
index 225e14b..0000000
--- a/tools/versioner/src/versioner.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#pragma once
-
-#include <map>
-#include <set>
-#include <string>
-#include <unordered_map>
-#include <unordered_set>
-
-extern bool strict;
-extern bool verbose;
-extern bool add_include;
-
-#define D(...)             \
-  do {                     \
-    if (verbose) {         \
-      printf(__VA_ARGS__); \
-    }                      \
-  } while (0)
-
-static const std::unordered_map<std::string, std::set<Arch>> ignored_headers = {
-  // Internal header.
-  // TODO: we should probably just admit we're never getting rid of this.
-  { "sys/_system_properties.h", supported_archs },
-
-  // time64.h #errors when included on LP64 archs.
-  { "time64.h", { Arch::arm64, Arch::riscv64, Arch::x86_64 } },
-};
diff --git a/tools/versioner/tests/.gitignore b/tools/versioner/tests/.gitignore
deleted file mode 100644
index 89f9ac0..0000000
--- a/tools/versioner/tests/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-out/
diff --git a/tools/versioner/tests/arch_specific/headers/foo.h b/tools/versioner/tests/arch_specific/headers/foo.h
deleted file mode 100644
index 4830a68..0000000
--- a/tools/versioner/tests/arch_specific/headers/foo.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-int foo();
-
-#if defined(__i386__)
-int bar();
-#endif
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/arch_specific/platforms/libc.map.txt b/tools/versioner/tests/arch_specific/platforms/libc.map.txt
deleted file mode 100644
index 5aa11ed..0000000
--- a/tools/versioner/tests/arch_specific/platforms/libc.map.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-LIBC {
-  global:
-    foo;  # arm x86
-    bar;  # x86
-};
diff --git a/tools/versioner/tests/arch_specific/run.sh b/tools/versioner/tests/arch_specific/run.sh
deleted file mode 100644
index f0d95ae..0000000
--- a/tools/versioner/tests/arch_specific/run.sh
+++ /dev/null
@@ -1 +0,0 @@
-versioner headers -p platforms -r arm -r x86 -a 9 -i
\ No newline at end of file
diff --git a/tools/versioner/tests/compilation_error/expected_fail b/tools/versioner/tests/compilation_error/expected_fail
deleted file mode 100644
index f18b625..0000000
--- a/tools/versioner/tests/compilation_error/expected_fail
+++ /dev/null
@@ -1 +0,0 @@
-versioner: compilation generated warnings or errors
diff --git a/tools/versioner/tests/compilation_error/headers/foo.h b/tools/versioner/tests/compilation_error/headers/foo.h
deleted file mode 100644
index 51c087a..0000000
--- a/tools/versioner/tests/compilation_error/headers/foo.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-#error foo
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/compilation_error/platforms/libc.map.txt b/tools/versioner/tests/compilation_error/platforms/libc.map.txt
deleted file mode 100644
index 6cc4a2e..0000000
--- a/tools/versioner/tests/compilation_error/platforms/libc.map.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBC {
-  global:
-    foo;
-};
diff --git a/tools/versioner/tests/compilation_error/run.sh b/tools/versioner/tests/compilation_error/run.sh
deleted file mode 100644
index 7e8d489..0000000
--- a/tools/versioner/tests/compilation_error/run.sh
+++ /dev/null
@@ -1 +0,0 @@
-versioner headers -p platforms -r arm -a 9 -i -j1
diff --git a/tools/versioner/tests/dependencies/dependencies/arm/archdep/archdep.h b/tools/versioner/tests/dependencies/dependencies/arm/archdep/archdep.h
deleted file mode 100644
index b2d357a..0000000
--- a/tools/versioner/tests/dependencies/dependencies/arm/archdep/archdep.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-typedef int arm_t;
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/dependencies/dependencies/common/foo/foodep.h b/tools/versioner/tests/dependencies/dependencies/common/foo/foodep.h
deleted file mode 100644
index baa5857..0000000
--- a/tools/versioner/tests/dependencies/dependencies/common/foo/foodep.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-typedef int foo_t;
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/dependencies/dependencies/x86/archdep/archdep.h b/tools/versioner/tests/dependencies/dependencies/x86/archdep/archdep.h
deleted file mode 100644
index b73f7cc..0000000
--- a/tools/versioner/tests/dependencies/dependencies/x86/archdep/archdep.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-typedef int x86_t;
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/dependencies/headers/foo.h b/tools/versioner/tests/dependencies/headers/foo.h
deleted file mode 100644
index 875de1b..0000000
--- a/tools/versioner/tests/dependencies/headers/foo.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-#include <archdep.h>
-#include <foodep.h>
-
-#if defined(__i386__)
-x86_t foo(foo_t);
-#elif defined(__arm__)
-arm_t foo(foo_t);
-#endif
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/dependencies/platforms/libc.map.txt b/tools/versioner/tests/dependencies/platforms/libc.map.txt
deleted file mode 100644
index 6cc4a2e..0000000
--- a/tools/versioner/tests/dependencies/platforms/libc.map.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBC {
-  global:
-    foo;
-};
diff --git a/tools/versioner/tests/dependencies/run.sh b/tools/versioner/tests/dependencies/run.sh
deleted file mode 100644
index 0c17907..0000000
--- a/tools/versioner/tests/dependencies/run.sh
+++ /dev/null
@@ -1 +0,0 @@
-versioner headers dependencies -p platforms -r arm -r x86 -a 9
\ No newline at end of file
diff --git a/tools/versioner/tests/extern_cpp/headers/string.h b/tools/versioner/tests/extern_cpp/headers/string.h
deleted file mode 100644
index 5ac43ac..0000000
--- a/tools/versioner/tests/extern_cpp/headers/string.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-#define __RENAME(x) __asm__(#x)
-
-#if defined(__cplusplus)
-extern "C++" char* basename(char*) __RENAME(__gnu_basename) __INTRODUCED_IN(23);
-extern "C++" const char* basename(const char*) __RENAME(__gnu_basename) __INTRODUCED_IN(23);
-#else
-char* basename(const char*) __RENAME(__gnu_basename) __INTRODUCED_IN(23);
-#endif
-
-char* foo() __INTRODUCED_IN(8);
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/extern_cpp/platforms/libc.map.txt b/tools/versioner/tests/extern_cpp/platforms/libc.map.txt
deleted file mode 100644
index 297d1fb..0000000
--- a/tools/versioner/tests/extern_cpp/platforms/libc.map.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBC {
-  global:
-    __gnu_basename;  # introduced=23
-};
diff --git a/tools/versioner/tests/extern_cpp/run.sh b/tools/versioner/tests/extern_cpp/run.sh
deleted file mode 100644
index e320c95..0000000
--- a/tools/versioner/tests/extern_cpp/run.sh
+++ /dev/null
@@ -1 +0,0 @@
-versioner headers -p platforms -r arm -a 21 -a 23 -i
diff --git a/tools/versioner/tests/extern_cpp_mismatch/headers/string.h b/tools/versioner/tests/extern_cpp_mismatch/headers/string.h
deleted file mode 100644
index 66133d8..0000000
--- a/tools/versioner/tests/extern_cpp_mismatch/headers/string.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-#define __RENAME(x) __asm__(#x)
-
-#if defined(__cplusplus)
-extern "C++" char* basename(char*) __RENAME(__gnu_basename) __INTRODUCED_IN(23);
-extern "C++" const char* basename(const char*) __RENAME(__gnu_basename) __INTRODUCED_IN(23);
-#else
-char* basename(const char*) __RENAME(__gnu_basename) __INTRODUCED_IN(23);
-#endif
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/extern_cpp_mismatch/platforms/libc.map.txt b/tools/versioner/tests/extern_cpp_mismatch/platforms/libc.map.txt
deleted file mode 100644
index 6cc4a2e..0000000
--- a/tools/versioner/tests/extern_cpp_mismatch/platforms/libc.map.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBC {
-  global:
-    foo;
-};
diff --git a/tools/versioner/tests/extern_cpp_mismatch/run.sh b/tools/versioner/tests/extern_cpp_mismatch/run.sh
deleted file mode 100644
index a34fda8..0000000
--- a/tools/versioner/tests/extern_cpp_mismatch/run.sh
+++ /dev/null
@@ -1 +0,0 @@
-versioner headers -p platforms -r arm -a 9 -i
\ No newline at end of file
diff --git a/tools/versioner/tests/fortify_inline/headers/fcntl.h b/tools/versioner/tests/fortify_inline/headers/fcntl.h
deleted file mode 100644
index dc81ef8..0000000
--- a/tools/versioner/tests/fortify_inline/headers/fcntl.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-extern int open_real(const char* name, int flags, ...) __asm__("open");
-
-#define O_CREAT 00000100
-
-typedef unsigned int mode_t;
-
-static inline __attribute__((always_inline))
-int open(const char* name, int flags)
-    __attribute__((annotate("versioner_fortify_inline")))
-    __attribute__((overloadable))
-    __attribute__((enable_if(!(flags & O_CREAT), ""))) {
-  return open_real(name, flags);
-}
-
-static inline __attribute__((always_inline))
-int open(const char* name, int flags, mode_t mode)
-    __attribute__((annotate("versioner_fortify_inline")))
-    __attribute__((overloadable))
-    __attribute__((enable_if(flags & O_CREAT, ""))) {
-  return open_real(name, flags, mode);
-}
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/fortify_inline/platforms/libc.map.txt b/tools/versioner/tests/fortify_inline/platforms/libc.map.txt
deleted file mode 100644
index 2f09034..0000000
--- a/tools/versioner/tests/fortify_inline/platforms/libc.map.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBC {
-  global:
-    open;
-};
diff --git a/tools/versioner/tests/fortify_inline/run.sh b/tools/versioner/tests/fortify_inline/run.sh
deleted file mode 100644
index 9bfbe6d..0000000
--- a/tools/versioner/tests/fortify_inline/run.sh
+++ /dev/null
@@ -1 +0,0 @@
-versioner headers -p platforms -r arm -a 9 -a 12 -i
\ No newline at end of file
diff --git a/tools/versioner/tests/inline/headers/foo.h b/tools/versioner/tests/inline/headers/foo.h
deleted file mode 100644
index a337f9c..0000000
--- a/tools/versioner/tests/inline/headers/foo.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-#if __ANDROID_API__ < 12
-static int foo() {
-  return 0;
-}
-#else
-int foo() __INTRODUCED_IN(12);
-#endif
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/inline/platforms/libc.map.txt b/tools/versioner/tests/inline/platforms/libc.map.txt
deleted file mode 100644
index 4dced92..0000000
--- a/tools/versioner/tests/inline/platforms/libc.map.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBC {
-  global:
-    foo;  # introduced=12
-};
diff --git a/tools/versioner/tests/inline/run.sh b/tools/versioner/tests/inline/run.sh
deleted file mode 100644
index 9bfbe6d..0000000
--- a/tools/versioner/tests/inline/run.sh
+++ /dev/null
@@ -1 +0,0 @@
-versioner headers -p platforms -r arm -a 9 -a 12 -i
\ No newline at end of file
diff --git a/tools/versioner/tests/missing_api/expected_fail b/tools/versioner/tests/missing_api/expected_fail
deleted file mode 100644
index 9f097f7..0000000
--- a/tools/versioner/tests/missing_api/expected_fail
+++ /dev/null
@@ -1,4 +0,0 @@
-  foo: introduced = 9
-    extern declaration @ headers/foo.h:5:1
-      introduced = 9
-versioner: version check failed
diff --git a/tools/versioner/tests/missing_api/headers/foo.h b/tools/versioner/tests/missing_api/headers/foo.h
deleted file mode 100644
index c201dbb..0000000
--- a/tools/versioner/tests/missing_api/headers/foo.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-int foo() __INTRODUCED_IN(9);
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/missing_api/platforms/libc.map.txt b/tools/versioner/tests/missing_api/platforms/libc.map.txt
deleted file mode 100644
index 3701a9d..0000000
--- a/tools/versioner/tests/missing_api/platforms/libc.map.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBC {
-  global:
-    foo;  # api-level=9
-};
diff --git a/tools/versioner/tests/missing_api/run.sh b/tools/versioner/tests/missing_api/run.sh
deleted file mode 100644
index 9bfbe6d..0000000
--- a/tools/versioner/tests/missing_api/run.sh
+++ /dev/null
@@ -1 +0,0 @@
-versioner headers -p platforms -r arm -a 9 -a 12 -i
\ No newline at end of file
diff --git a/tools/versioner/tests/missing_arch/expected_fail b/tools/versioner/tests/missing_arch/expected_fail
deleted file mode 100644
index 7b33e19..0000000
--- a/tools/versioner/tests/missing_arch/expected_fail
+++ /dev/null
@@ -1,4 +0,0 @@
-  foo: no availability
-    extern declaration @ headers/foo.h:5:1
-      no availability
-versioner: version check failed
diff --git a/tools/versioner/tests/missing_arch/headers/foo.h b/tools/versioner/tests/missing_arch/headers/foo.h
deleted file mode 100644
index 5ba4794..0000000
--- a/tools/versioner/tests/missing_arch/headers/foo.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-int foo();
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/missing_arch/platforms/libc.map.txt b/tools/versioner/tests/missing_arch/platforms/libc.map.txt
deleted file mode 100644
index f56190e..0000000
--- a/tools/versioner/tests/missing_arch/platforms/libc.map.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBC {
-  global:
-    foo;  # arm
-};
diff --git a/tools/versioner/tests/missing_arch/run.sh b/tools/versioner/tests/missing_arch/run.sh
deleted file mode 100644
index f0d95ae..0000000
--- a/tools/versioner/tests/missing_arch/run.sh
+++ /dev/null
@@ -1 +0,0 @@
-versioner headers -p platforms -r arm -r x86 -a 9 -i
\ No newline at end of file
diff --git a/tools/versioner/tests/multiple_decl/headers/bar.h b/tools/versioner/tests/multiple_decl/headers/bar.h
deleted file mode 100644
index b16617b..0000000
--- a/tools/versioner/tests/multiple_decl/headers/bar.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-int foo() __REMOVED_IN(12);
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/multiple_decl/headers/foo.h b/tools/versioner/tests/multiple_decl/headers/foo.h
deleted file mode 100644
index b16617b..0000000
--- a/tools/versioner/tests/multiple_decl/headers/foo.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-int foo() __REMOVED_IN(12);
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/multiple_decl/platforms/libc.map.txt b/tools/versioner/tests/multiple_decl/platforms/libc.map.txt
deleted file mode 100644
index 6cc4a2e..0000000
--- a/tools/versioner/tests/multiple_decl/platforms/libc.map.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBC {
-  global:
-    foo;
-};
diff --git a/tools/versioner/tests/multiple_decl/run.sh b/tools/versioner/tests/multiple_decl/run.sh
deleted file mode 100644
index a34fda8..0000000
--- a/tools/versioner/tests/multiple_decl/run.sh
+++ /dev/null
@@ -1 +0,0 @@
-versioner headers -p platforms -r arm -a 9 -i
\ No newline at end of file
diff --git a/tools/versioner/tests/multiple_decl_mismatch/expected_fail b/tools/versioner/tests/multiple_decl_mismatch/expected_fail
deleted file mode 100644
index 30e7233..0000000
--- a/tools/versioner/tests/multiple_decl_mismatch/expected_fail
+++ /dev/null
@@ -1,8 +0,0 @@
-versioner: inconsistent availability for symbol 'foo'
-versioner: failed to calculate symbol availability
-  foo: invalid
-    extern declaration @ headers/bar.h:5:1
-      obsoleted = 12
-    extern declaration @ headers/foo.h:5:1
-      obsoleted = 9
-versioner: validity check failed
diff --git a/tools/versioner/tests/multiple_decl_mismatch/headers/bar.h b/tools/versioner/tests/multiple_decl_mismatch/headers/bar.h
deleted file mode 100644
index b16617b..0000000
--- a/tools/versioner/tests/multiple_decl_mismatch/headers/bar.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-int foo() __REMOVED_IN(12);
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/multiple_decl_mismatch/headers/foo.h b/tools/versioner/tests/multiple_decl_mismatch/headers/foo.h
deleted file mode 100644
index 8e8f98c..0000000
--- a/tools/versioner/tests/multiple_decl_mismatch/headers/foo.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-int foo() __REMOVED_IN(9);
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/multiple_decl_mismatch/platforms/libc.map.txt b/tools/versioner/tests/multiple_decl_mismatch/platforms/libc.map.txt
deleted file mode 100644
index 6cc4a2e..0000000
--- a/tools/versioner/tests/multiple_decl_mismatch/platforms/libc.map.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBC {
-  global:
-    foo;
-};
diff --git a/tools/versioner/tests/multiple_decl_mismatch/run.sh b/tools/versioner/tests/multiple_decl_mismatch/run.sh
deleted file mode 100644
index a34fda8..0000000
--- a/tools/versioner/tests/multiple_decl_mismatch/run.sh
+++ /dev/null
@@ -1 +0,0 @@
-versioner headers -p platforms -r arm -a 9 -i
\ No newline at end of file
diff --git a/tools/versioner/tests/multiple_definition/expected_fail b/tools/versioner/tests/multiple_definition/expected_fail
deleted file mode 100644
index 5abb833..0000000
--- a/tools/versioner/tests/multiple_definition/expected_fail
+++ /dev/null
@@ -1,7 +0,0 @@
-versioner: conflicting inline definitions for symbol foo:
-  declarations visible in: arm-9 [c, fob = 32], arm-9 [c, fob = 64], arm-12 [c, fob = 32], arm-12 [c, fob = 64], arm-9 [c++, fob = 32], arm-9 [c++, fob = 64], arm-12 [c++, fob = 32], arm-12 [c++, fob = 64]
-    static definition @ headers/foo.h:5:1
-      no availability
-    static definition @ headers/bar.h:5:1
-      no availability
-versioner: validity check failed
diff --git a/tools/versioner/tests/multiple_definition/headers/bar.h b/tools/versioner/tests/multiple_definition/headers/bar.h
deleted file mode 100644
index 29592c6..0000000
--- a/tools/versioner/tests/multiple_definition/headers/bar.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-static int foo() {
-  return 0;
-}
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/multiple_definition/headers/foo.h b/tools/versioner/tests/multiple_definition/headers/foo.h
deleted file mode 100644
index 29592c6..0000000
--- a/tools/versioner/tests/multiple_definition/headers/foo.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-static int foo() {
-  return 0;
-}
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/multiple_definition/platforms/libc.map.txt b/tools/versioner/tests/multiple_definition/platforms/libc.map.txt
deleted file mode 100644
index 6cc4a2e..0000000
--- a/tools/versioner/tests/multiple_definition/platforms/libc.map.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBC {
-  global:
-    foo;
-};
diff --git a/tools/versioner/tests/multiple_definition/run.sh b/tools/versioner/tests/multiple_definition/run.sh
deleted file mode 100644
index e4abbe7..0000000
--- a/tools/versioner/tests/multiple_definition/run.sh
+++ /dev/null
@@ -1 +0,0 @@
-versioner headers -p platforms -r arm -a 9 -a 12 -i
diff --git a/tools/versioner/tests/multiple_definition_ok/headers/bar.h b/tools/versioner/tests/multiple_definition_ok/headers/bar.h
deleted file mode 100644
index 6eced51..0000000
--- a/tools/versioner/tests/multiple_definition_ok/headers/bar.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-#if __ANDROID_API__ == 12
-static int foo() {
-  return 0;
-}
-#endif
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/multiple_definition_ok/headers/foo.h b/tools/versioner/tests/multiple_definition_ok/headers/foo.h
deleted file mode 100644
index 773d274..0000000
--- a/tools/versioner/tests/multiple_definition_ok/headers/foo.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-#if __ANDROID_API__ == 9
-static int foo() {
-  return 0;
-}
-#endif
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/multiple_definition_ok/platforms/libc.map.txt b/tools/versioner/tests/multiple_definition_ok/platforms/libc.map.txt
deleted file mode 100644
index 6cc4a2e..0000000
--- a/tools/versioner/tests/multiple_definition_ok/platforms/libc.map.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBC {
-  global:
-    foo;
-};
diff --git a/tools/versioner/tests/multiple_definition_ok/run.sh b/tools/versioner/tests/multiple_definition_ok/run.sh
deleted file mode 100644
index e4abbe7..0000000
--- a/tools/versioner/tests/multiple_definition_ok/run.sh
+++ /dev/null
@@ -1 +0,0 @@
-versioner headers -p platforms -r arm -a 9 -a 12 -i
diff --git a/tools/versioner/tests/obsoleted/headers/foo.h b/tools/versioner/tests/obsoleted/headers/foo.h
deleted file mode 100644
index e9630e5..0000000
--- a/tools/versioner/tests/obsoleted/headers/foo.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-int foo() __INTRODUCED_IN(9) __REMOVED_IN(11);
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/obsoleted/platforms/libc.map.txt b/tools/versioner/tests/obsoleted/platforms/libc.map.txt
deleted file mode 100644
index 3701a9d..0000000
--- a/tools/versioner/tests/obsoleted/platforms/libc.map.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBC {
-  global:
-    foo;  # api-level=9
-};
diff --git a/tools/versioner/tests/obsoleted/run.sh b/tools/versioner/tests/obsoleted/run.sh
deleted file mode 100644
index 9bfbe6d..0000000
--- a/tools/versioner/tests/obsoleted/run.sh
+++ /dev/null
@@ -1 +0,0 @@
-versioner headers -p platforms -r arm -a 9 -a 12 -i
\ No newline at end of file
diff --git a/tools/versioner/tests/preprocessor/expected/foo.h b/tools/versioner/tests/preprocessor/expected/foo.h
deleted file mode 100644
index 769c37e..0000000
--- a/tools/versioner/tests/preprocessor/expected/foo.h
+++ /dev/null
@@ -1,76 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-int always_available();
-
-int also_always_available() __INTRODUCED_IN(9);
-
-
-#if __ANDROID_API__ >= 13
-int needs_guard() __INTRODUCED_IN(13);
-#endif /* __ANDROID_API__ >= 13 */
-
-
-#if __ANDROID_API__ >= 12
-
-#if __ANDROID_API__ >= 13
-int needs_guard_2() __INTRODUCED_IN(13);
-#endif /* __ANDROID_API__ >= 13 */
-
-#endif
-
-#if __ANDROID_API__ >= 13
-int already_guarded() __INTRODUCED_IN(13);
-#endif
-
-#if __ANDROID_API__ > 13
-int already_guarded_2() __INTRODUCED_IN(13);
-#endif
-
-#if defined(__arm__)
-
-#if __ANDROID_API__ >= 14
-int specific_arch() __INTRODUCED_IN(14);
-#endif /* __ANDROID_API__ >= 14 */
-
-
-#if __ANDROID_API__ >= 14
-int specific_arch_already_guarded() __INTRODUCED_IN(14);
-#endif
-
-#if __ANDROID_API__ > 14
-int specific_arch_already_guarded_2() __INTRODUCED_IN(14);
-#endif
-#endif
-
-#if defined(__arm__) || defined(__i386__)
-
-#if __ANDROID_API__ >= 14
-int multiple_archs() __INTRODUCED_IN(14);
-#endif /* __ANDROID_API__ >= 14 */
-
-#endif
-
-// __INTRODUCED_IN_64(21) should be ignored.
-
-#if (!defined(__LP64__) && __ANDROID_API__ >= 13) || (defined(__LP64__))
-int multiple_introduced_1() __INTRODUCED_IN_ARM(13) __INTRODUCED_IN_X86(13) __INTRODUCED_IN_64(21);
-#endif /* (!defined(__LP64__) && __ANDROID_API__ >= 13) || (defined(__LP64__)) */
-
-
-
-#if (!defined(__LP64__) && __ANDROID_API__ >= 13) || (defined(__LP64__) && __ANDROID_API__ >= 22)
-int multiple_introduced_2() __INTRODUCED_IN_ARM(13) __INTRODUCED_IN_X86(13) __INTRODUCED_IN_64(22);
-#endif /* (!defined(__LP64__) && __ANDROID_API__ >= 13) || (defined(__LP64__) && __ANDROID_API__ >= 22) */
-
-
-
-#if (!defined(__LP64__) && __ANDROID_API__ >= 12) || (defined(__LP64__))
-int group_lp32() __INTRODUCED_IN_ARM(12) __INTRODUCED_IN_X86(12);
-#endif /* (!defined(__LP64__) && __ANDROID_API__ >= 12) || (defined(__LP64__)) */
-
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/preprocessor/headers/foo.h b/tools/versioner/tests/preprocessor/headers/foo.h
deleted file mode 100644
index 782b44a..0000000
--- a/tools/versioner/tests/preprocessor/headers/foo.h
+++ /dev/null
@@ -1,48 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-int always_available();
-
-int also_always_available() __INTRODUCED_IN(9);
-
-int needs_guard() __INTRODUCED_IN(13);
-
-#if __ANDROID_API__ >= 12
-int needs_guard_2() __INTRODUCED_IN(13);
-#endif
-
-#if __ANDROID_API__ >= 13
-int already_guarded() __INTRODUCED_IN(13);
-#endif
-
-#if __ANDROID_API__ > 13
-int already_guarded_2() __INTRODUCED_IN(13);
-#endif
-
-#if defined(__arm__)
-int specific_arch() __INTRODUCED_IN(14);
-
-#if __ANDROID_API__ >= 14
-int specific_arch_already_guarded() __INTRODUCED_IN(14);
-#endif
-
-#if __ANDROID_API__ > 14
-int specific_arch_already_guarded_2() __INTRODUCED_IN(14);
-#endif
-#endif
-
-#if defined(__arm__) || defined(__i386__)
-int multiple_archs() __INTRODUCED_IN(14);
-#endif
-
-// __INTRODUCED_IN_64(21) should be ignored.
-int multiple_introduced_1() __INTRODUCED_IN_ARM(13) __INTRODUCED_IN_X86(13) __INTRODUCED_IN_64(21);
-
-int multiple_introduced_2() __INTRODUCED_IN_ARM(13) __INTRODUCED_IN_X86(13) __INTRODUCED_IN_64(22);
-
-int group_lp32() __INTRODUCED_IN_ARM(12) __INTRODUCED_IN_X86(12);
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/preprocessor/run.sh b/tools/versioner/tests/preprocessor/run.sh
deleted file mode 100644
index 50d9b5c..0000000
--- a/tools/versioner/tests/preprocessor/run.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-set -e
-
-function run_test {
-  SRC=$1
-  DST=$2
-  rm -rf $2
-  versioner -a 9 -a 12 -a 13 -a 14 -a 15 $1 -i -o $2
-  diff -q -w -B $2 expected
-}
-
-run_test headers out
-run_test headers/ out
-run_test headers out/
-run_test headers/ out/
-
-run_test `pwd`/headers out
-run_test `pwd`/headers/ out
-run_test `pwd`/headers out/
-run_test `pwd`/headers/ out/
-
-run_test headers `pwd`/out
-run_test headers/ `pwd`/out
-run_test headers `pwd`/out/
-run_test headers/ `pwd`/out/
-
-run_test `pwd`/headers `pwd`/out
-run_test `pwd`/headers/ `pwd`/out
-run_test `pwd`/headers `pwd`/out/
-run_test `pwd`/headers/ `pwd`/out/
diff --git a/tools/versioner/tests/preprocessor_extern_cpp/expected/foo.h b/tools/versioner/tests/preprocessor_extern_cpp/expected/foo.h
deleted file mode 100644
index 9b2d122..0000000
--- a/tools/versioner/tests/preprocessor_extern_cpp/expected/foo.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#define __RENAME(x) asm(#x)
-
-#if defined(__cplusplus)
-
-#if __ANDROID_API__ >= 24
-extern "C++" const char* strchrnul(const char*, int) __RENAME(strchrnul) __INTRODUCED_IN(24);
-#endif /* __ANDROID_API__ >= 24 */
-
-#endif
-
-#if defined(__cplusplus)
-extern "C" int foo();
-#endif
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-
-#if __ANDROID_API__ >= 24
-char* strchrnul(char*, int) __INTRODUCED_IN(24);
-#endif /* __ANDROID_API__ >= 24 */
-
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/preprocessor_extern_cpp/headers/foo.h b/tools/versioner/tests/preprocessor_extern_cpp/headers/foo.h
deleted file mode 100644
index de26d21..0000000
--- a/tools/versioner/tests/preprocessor_extern_cpp/headers/foo.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#define __RENAME(x) asm(#x)
-
-#if defined(__cplusplus)
-extern "C++" const char* strchrnul(const char*, int) __RENAME(strchrnul) __INTRODUCED_IN(24);
-#endif
-
-#if defined(__cplusplus)
-extern "C" int foo();
-#endif
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-char* strchrnul(char*, int) __INTRODUCED_IN(24);
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/preprocessor_extern_cpp/run.sh b/tools/versioner/tests/preprocessor_extern_cpp/run.sh
deleted file mode 100644
index 50d9b5c..0000000
--- a/tools/versioner/tests/preprocessor_extern_cpp/run.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-set -e
-
-function run_test {
-  SRC=$1
-  DST=$2
-  rm -rf $2
-  versioner -a 9 -a 12 -a 13 -a 14 -a 15 $1 -i -o $2
-  diff -q -w -B $2 expected
-}
-
-run_test headers out
-run_test headers/ out
-run_test headers out/
-run_test headers/ out/
-
-run_test `pwd`/headers out
-run_test `pwd`/headers/ out
-run_test `pwd`/headers out/
-run_test `pwd`/headers/ out/
-
-run_test headers `pwd`/out
-run_test headers/ `pwd`/out
-run_test headers `pwd`/out/
-run_test headers/ `pwd`/out/
-
-run_test `pwd`/headers `pwd`/out
-run_test `pwd`/headers/ `pwd`/out
-run_test `pwd`/headers `pwd`/out/
-run_test `pwd`/headers/ `pwd`/out/
diff --git a/tools/versioner/tests/preprocessor_file_offset_bits/expected/foo.h b/tools/versioner/tests/preprocessor_file_offset_bits/expected/foo.h
deleted file mode 100644
index dcfaaee..0000000
--- a/tools/versioner/tests/preprocessor_file_offset_bits/expected/foo.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-typedef int off_t;
-typedef int ssize_t;
-typedef unsigned size_t;
-
-#if !defined(__LP64__) && defined(_FILE_OFFSET_BITS)
-#if _FILE_OFFSET_BITS == 64
-#define __USE_FILE_OFFSET64 1
-#endif
-#endif
-
-#define __RENAME(x) __asm__(#x)
-
-#if defined(__USE_FILE_OFFSET64) && __ANDROID_API__ >= 21
-int truncate(const char* __path, off_t __length) __RENAME(truncate64) __INTRODUCED_IN(21);
-#else
-int truncate(const char* __path, off_t __length);
-#endif
-
-#if defined(__USE_FILE_OFFSET64)
-
-#if __ANDROID_API__ >= 12
-ssize_t pread(int __fd, void* __buf, size_t __count, off_t __offset) __RENAME(pread64)
-    __INTRODUCED_IN(12);
-#endif /* __ANDROID_API__ >= 12 */
-
-#else
-ssize_t pread(int __fd, void* __buf, size_t __count, off_t __offset);
-#endif
-
-#if defined(__USE_FILE_OFFSET64)
-off_t lseek(int __fd, off_t __offset, int __whence) __RENAME(lseek64);
-#else
-off_t lseek(int __fd, off_t __offset, int __whence);
-#endif
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/preprocessor_file_offset_bits/headers/foo.h b/tools/versioner/tests/preprocessor_file_offset_bits/headers/foo.h
deleted file mode 100644
index 5ffffa8..0000000
--- a/tools/versioner/tests/preprocessor_file_offset_bits/headers/foo.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-typedef int off_t;
-typedef int ssize_t;
-typedef unsigned size_t;
-
-#if !defined(__LP64__) && defined(_FILE_OFFSET_BITS)
-#if _FILE_OFFSET_BITS == 64
-#define __USE_FILE_OFFSET64 1
-#endif
-#endif
-
-#define __RENAME(x) __asm__(#x)
-
-#if defined(__USE_FILE_OFFSET64) && __ANDROID_API__ >= 21
-int truncate(const char* __path, off_t __length) __RENAME(truncate64) __INTRODUCED_IN(21);
-#else
-int truncate(const char* __path, off_t __length);
-#endif
-
-#if defined(__USE_FILE_OFFSET64)
-ssize_t pread(int __fd, void* __buf, size_t __count, off_t __offset) __RENAME(pread64)
-    __INTRODUCED_IN(12);
-#else
-ssize_t pread(int __fd, void* __buf, size_t __count, off_t __offset);
-#endif
-
-#if defined(__USE_FILE_OFFSET64)
-off_t lseek(int __fd, off_t __offset, int __whence) __RENAME(lseek64);
-#else
-off_t lseek(int __fd, off_t __offset, int __whence);
-#endif
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/preprocessor_file_offset_bits/run.sh b/tools/versioner/tests/preprocessor_file_offset_bits/run.sh
deleted file mode 100644
index d974cba..0000000
--- a/tools/versioner/tests/preprocessor_file_offset_bits/run.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-set -e
-
-rm -rf out
-versioner headers -a 9 -a 12 -a 13 -i -o out
-diff -q -w -B out expected
diff --git a/tools/versioner/tests/preprocessor_idempotence/expected/foo.h b/tools/versioner/tests/preprocessor_idempotence/expected/foo.h
deleted file mode 100644
index bc442e5..0000000
--- a/tools/versioner/tests/preprocessor_idempotence/expected/foo.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-#if __ANDROID_API__ >= 10
-int foo() __INTRODUCED_IN(10);
-#endif
-
-#if __ANDROID_API__ >= 21
-int bar(int) __INTRODUCED_IN(21);
-#endif
-
-#if __ANDROID_API__ >= 10
-int multiple_1() __INTRODUCED_IN(10);
-int multiple_2() __INTRODUCED_IN(10);
-#endif
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/preprocessor_idempotence/headers/foo.h b/tools/versioner/tests/preprocessor_idempotence/headers/foo.h
deleted file mode 100644
index bc442e5..0000000
--- a/tools/versioner/tests/preprocessor_idempotence/headers/foo.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-#if __ANDROID_API__ >= 10
-int foo() __INTRODUCED_IN(10);
-#endif
-
-#if __ANDROID_API__ >= 21
-int bar(int) __INTRODUCED_IN(21);
-#endif
-
-#if __ANDROID_API__ >= 10
-int multiple_1() __INTRODUCED_IN(10);
-int multiple_2() __INTRODUCED_IN(10);
-#endif
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/preprocessor_idempotence/run.sh b/tools/versioner/tests/preprocessor_idempotence/run.sh
deleted file mode 100644
index 1b0aae2..0000000
--- a/tools/versioner/tests/preprocessor_idempotence/run.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-rm -rf out
-set -e
-versioner headers -i -o out
-diff -q -w -B out expected
diff --git a/tools/versioner/tests/preprocessor_merging/expected/foo.h b/tools/versioner/tests/preprocessor_merging/expected/foo.h
deleted file mode 100644
index ecd7f71..0000000
--- a/tools/versioner/tests/preprocessor_merging/expected/foo.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-
-#if __ANDROID_API__ >= 10
-int block_merging_1() __INTRODUCED_IN(10); // foo
-int block_merging_2() __INTRODUCED_IN(10); /* bar */
-int block_merging_3() __INTRODUCED_IN(10); /* baz
-//*/
-int block_merging_4() __INTRODUCED_IN(10);
-#endif /* __ANDROID_API__ >= 10 */
-
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/preprocessor_merging/headers/foo.h b/tools/versioner/tests/preprocessor_merging/headers/foo.h
deleted file mode 100644
index 7aaa471..0000000
--- a/tools/versioner/tests/preprocessor_merging/headers/foo.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-int block_merging_1() __INTRODUCED_IN(10); // foo
-int block_merging_2() __INTRODUCED_IN(10); /* bar */
-int block_merging_3() __INTRODUCED_IN(10); /* baz
-//*/
-int block_merging_4() __INTRODUCED_IN(10);
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/preprocessor_merging/run.sh b/tools/versioner/tests/preprocessor_merging/run.sh
deleted file mode 100644
index 1929757..0000000
--- a/tools/versioner/tests/preprocessor_merging/run.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-rm -rf out
-set -e
-versioner headers -a 9 -a 10 -a 11 -i -o out
-diff -q -w -B out expected
diff --git a/tools/versioner/tests/preprocessor_no_guard/expected/foo.h b/tools/versioner/tests/preprocessor_no_guard/expected/foo.h
deleted file mode 100644
index 3ef0c30..0000000
--- a/tools/versioner/tests/preprocessor_no_guard/expected/foo.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-int foo() __VERSIONER_NO_GUARD __INTRODUCED_IN(14);
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/preprocessor_no_guard/headers/foo.h b/tools/versioner/tests/preprocessor_no_guard/headers/foo.h
deleted file mode 100644
index 3ef0c30..0000000
--- a/tools/versioner/tests/preprocessor_no_guard/headers/foo.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-int foo() __VERSIONER_NO_GUARD __INTRODUCED_IN(14);
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/preprocessor_no_guard/run.sh b/tools/versioner/tests/preprocessor_no_guard/run.sh
deleted file mode 100644
index 1b0aae2..0000000
--- a/tools/versioner/tests/preprocessor_no_guard/run.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-rm -rf out
-set -e
-versioner headers -i -o out
-diff -q -w -B out expected
diff --git a/tools/versioner/tests/slow_preprocessor_idempotence/run.sh b/tools/versioner/tests/slow_preprocessor_idempotence/run.sh
deleted file mode 100644
index 6426156..0000000
--- a/tools/versioner/tests/slow_preprocessor_idempotence/run.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-rm -rf out
-set -e
-mkdir out
-versioner -o out/initial
-versioner out/initial ../../dependencies -o out/second
-diff -qrwB out/initial out/second
diff --git a/tools/versioner/tests/smoke/headers/foo.h b/tools/versioner/tests/smoke/headers/foo.h
deleted file mode 100644
index c201dbb..0000000
--- a/tools/versioner/tests/smoke/headers/foo.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-int foo() __INTRODUCED_IN(9);
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/smoke/platforms/libc.map.txt b/tools/versioner/tests/smoke/platforms/libc.map.txt
deleted file mode 100644
index 6cc4a2e..0000000
--- a/tools/versioner/tests/smoke/platforms/libc.map.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBC {
-  global:
-    foo;
-};
diff --git a/tools/versioner/tests/smoke/run.sh b/tools/versioner/tests/smoke/run.sh
deleted file mode 100644
index a34fda8..0000000
--- a/tools/versioner/tests/smoke/run.sh
+++ /dev/null
@@ -1 +0,0 @@
-versioner headers -p platforms -r arm -a 9 -i
\ No newline at end of file
diff --git a/tools/versioner/tests/unnamed_bitfield/headers/foo.h b/tools/versioner/tests/unnamed_bitfield/headers/foo.h
deleted file mode 100644
index 58686c3..0000000
--- a/tools/versioner/tests/unnamed_bitfield/headers/foo.h
+++ /dev/null
@@ -1,8 +0,0 @@
-// <sys/timex.h> was causing a segfault when compiled in C++ mode because
-// versioner was trying to mangle the name of an unnamed bitfield.
-struct foo {
-  int : 32;
-  int : 32;
-  int : 32;
-  int : 32;
-};
diff --git a/tools/versioner/tests/unnamed_bitfield/platforms/libc.map.txt b/tools/versioner/tests/unnamed_bitfield/platforms/libc.map.txt
deleted file mode 100644
index 6cc4a2e..0000000
--- a/tools/versioner/tests/unnamed_bitfield/platforms/libc.map.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBC {
-  global:
-    foo;
-};
diff --git a/tools/versioner/tests/unnamed_bitfield/run.sh b/tools/versioner/tests/unnamed_bitfield/run.sh
deleted file mode 100644
index a34fda8..0000000
--- a/tools/versioner/tests/unnamed_bitfield/run.sh
+++ /dev/null
@@ -1 +0,0 @@
-versioner headers -p platforms -r arm -a 9 -i
\ No newline at end of file
diff --git a/tools/versioner/tests/version_mismatch/expected_fail b/tools/versioner/tests/version_mismatch/expected_fail
deleted file mode 100644
index 95d284b..0000000
--- a/tools/versioner/tests/version_mismatch/expected_fail
+++ /dev/null
@@ -1,8 +0,0 @@
-versioner: inconsistent availability for symbol 'foo'
-versioner: failed to calculate symbol availability
-  foo: invalid
-    extern declaration @ headers/foo.h:6:1
-      introduced = 9
-    extern declaration @ headers/foo.h:8:1
-      introduced = 10
-versioner: validity check failed
diff --git a/tools/versioner/tests/version_mismatch/headers/foo.h b/tools/versioner/tests/version_mismatch/headers/foo.h
deleted file mode 100644
index ea35f36..0000000
--- a/tools/versioner/tests/version_mismatch/headers/foo.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-#if __ANDROID_API__ <= 9
-int foo() __INTRODUCED_IN(9);
-#else
-int foo() __INTRODUCED_IN(10);
-#endif
-
-#if defined(__cplusplus)
-}
-#endif
diff --git a/tools/versioner/tests/version_mismatch/platforms/libc.map.txt b/tools/versioner/tests/version_mismatch/platforms/libc.map.txt
deleted file mode 100644
index 6cc4a2e..0000000
--- a/tools/versioner/tests/version_mismatch/platforms/libc.map.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBC {
-  global:
-    foo;
-};
diff --git a/tools/versioner/tests/version_mismatch/run.sh b/tools/versioner/tests/version_mismatch/run.sh
deleted file mode 100644
index 9bfbe6d..0000000
--- a/tools/versioner/tests/version_mismatch/run.sh
+++ /dev/null
@@ -1 +0,0 @@
-versioner headers -p platforms -r arm -a 9 -a 12 -i
\ No newline at end of file
